定制 marshmallow/nova-tooltip-field 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

marshmallow/nova-tooltip-field

最新稳定版本:1.2.0

Composer 安装命令:

composer require marshmallow/nova-tooltip-field

包简介

This Laravel Nova field enables you to make use of the default Nova Tooltip component.

README 文档

README

Version Issues Licence

Laravel Nova Totals footer

This Laravel Nova field enables you to make use of the default Nova Tooltip component.

Screenshot

Requirements

  • php: ^8.1
  • laravel/nova: ^5.0

Installation

Install via composer:

composer require marshmallow/nova-tooltip-field

Usage

The usage is extreamly simple. You just call the field as you whould any other Nova Field. The example below is the same as we have used to create the screenshot on top of this page.

NovaTooltipField::make('Tooltip Demo')
    ->resolveUsing(function ($value) {
        return '<strong>Demo</strong><br/>How awesome is this?';
    })
    ->tooltip('Hover me!')
    ->tooltipIcon('information-circle')
    ->tooltipIconType('outline');

Options

All the options that are available on the Nova Tooltip component can be set via the methods listed below.

Method Description
distance(0) Sets the distance between the tooltip and the target element.
skidding(20) Adjusts the offset of the tooltip along the target element.
boundary('window') Defines the boundary within which the tooltip should be constrained.
placement('left') Specifies the position of the tooltip relative to the target element. E.g. auto, auto-start, auto-end, top, top-start, top-end, right, right-start, right-end, bottom, bottom-start, bottom-end, left, left-start or left-end
triggers(['hover']) Sets the events that trigger the tooltip. E.g. click, hover, focus or touch
autoHide(true) Determines whether the tooltip should automatically hide after showing.
tooltip('Hover me!') Sets the text content of the tooltip.
tooltipIcon('information-circle') Specifies the icon to be displayed in the tooltip. This can be a string or a callble.
tooltipIconType('outline') Defines the style of the tooltip icon. E.g. solid, outline, mini or micro
preventOverflow(false) Prevents the tooltip from overflowing its boundary.
theme('plain') Sets the theme of the tooltip. E.g. nova, tooltip, dropdown, menu or plain
maxWith(400) Defines the maximum width of the tooltip.
tooltipTriggerStyling('text-green-500 dark:text-green-400') Set the color classes that need to be used for the tooltip trigger text and for the tooltip trigger icon.
tooltipTriggerTextStyling('text-green-500 dark:text-green-400') Set the color classes that need to be used for the tooltip trigger text.
tooltipTriggerIconStyling('text-green-500 dark:text-green-400') Set the color classes that need to be used for the tooltip trigger icon.

Options with a little bit more context

tooltipIcon

The tooltipIcon method will accept a string, being an icon name, or it will accept a callable where you can "calculate" the icon you want to use. E.g.

->tooltipIcon(function () {
    return $this->field_01 > 0 ? 'arrow-up' : 'arrow-down';
})

tooltipTriggerTextStyling and tooltipTriggerIconStyling

The tooltipTriggerTextStyling and tooltipTriggerIconStyling methods will accept a string, being a class name, or it will accept a callable where you can "calculate" the class you want to use. The second parameter of this method tells the tooltip if we need to use this value as a class or as an inline styling. By default this method will use your value as classes, set the as_inline_style to true and it will use inline styling.

/** Set the text color for the tooltip trigger text */
->tooltipTriggerTextStyling(function () {
    return 'color:#ff133b;';
}, asInlineStyle: true)

/** Set the text color for the tooltip trigger icon */
->tooltipTriggerIconStyling(function () {
    return 'text-red-500';
}, asInlineStyle: false)

Licence

The MIT License (MIT). Please see License File for more information.

💖 Sponsorships

If you are reliant on this package in your production applications, consider sponsoring us! It is the best way to help us keep doing what we love to do: making great open source software.

Contributing

Feel free to suggest changes, ask for new features or fix bugs yourself. We're sure there are still a lot of improvements that could be made, and we would be very happy to merge useful pull requests.

Special thanks to

Made with ❤️ for open source

At Marshmallow we use a lot of open source software as part of our daily work. So when we have an opportunity to give something back, we're super excited!

We hope you will enjoy this small contribution from us and would love to hear from you if you find it useful in your projects. Follow us on Twitter for more updates!

统计信息

  • 总下载量: 9k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • 开发语言: Vue

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-31