Class: Ariadne::TooltipComponent
- Defined in:
- app/components/ariadne/tooltip_component.rb
Overview
Tooltip only appears on mouse hover or keyboard focus and contain a label or description text. Use tooltips sparingly and as a last resort.
When using a tooltip, follow the provided guidelines to avoid accessibility issues.
-
Tooltip text should be brief and to the point. The tooltip content must be a string.
-
Tooltips should contain only **non-essential text**. Tooltips can easily be missed and are not accessible on touch devices so never
use tooltips to convey critical information.
Constant Summary collapse
- DEFAULT_TAG =
:tooltip- DEFAULT_PLACEMENT =
:top- VALID_PLACEMENTS =
[DEFAULT_PLACEMENT, :right, :bottom, :left].freeze
- DEFAULT_CLASSES =
"ariadne-invisible ariadne-absolute ariadne-bg-slate-900 ariadne-text-white ariadne-font-semibold ariadne-max-w-xs ariadne-py-1 ariadne-px-2 ariadne-rounded z-max"- DATA_CONTROLLER =
"tooltip-component"- DATA_ACTION =
"mouseover->tooltip-component#show mouseout->tooltip-component#hide"- TYPE_DEFAULT =
:description- TYPE_OPTIONS =
[:label, TYPE_DEFAULT].freeze
Constants inherited from Component
Component::BASE_BODY_CLASSES, Component::BASE_HTML_CLASSES, Component::BASE_MAIN_CLASSES, Component::BASE_WRAPPER_CLASSES, Component::INVALID_ARIA_LABEL_TAGS
Constants included from ActionViewExtensions::FormHelper
ActionViewExtensions::FormHelper::DEFAULT_FORM_CLASSES
Constants included from Status::Dsl
Constants included from ViewHelper
Constants included from FetchOrFallbackHelper
FetchOrFallbackHelper::INTEGER_TYPES, FetchOrFallbackHelper::InvalidValueError, FetchOrFallbackHelper::TRUE_OR_FALSE
Instance Method Summary collapse
-
#initialize(tag: DEFAULT_TAG, for_id:, text:, type: TYPE_DEFAULT, direction: DEFAULT_PLACEMENT, classes: "", attributes: {}) ⇒ TooltipComponent
constructor
A new instance of TooltipComponent.
Methods included from ActionViewExtensions::FormHelper
Methods included from ClassNameHelper
Methods included from LoggerHelper
#logger, #silence_deprecations?, #silence_warnings?
Methods included from FetchOrFallbackHelper
#check_incoming_attribute, #check_incoming_tag, #check_incoming_value, #fetch_or_raise, #fetch_or_raise_boolean, #fetch_or_raise_integer
Constructor Details
#initialize(tag: DEFAULT_TAG, for_id:, text:, type: TYPE_DEFAULT, direction: DEFAULT_PLACEMENT, classes: "", attributes: {}) ⇒ TooltipComponent
Returns a new instance of TooltipComponent.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'app/components/ariadne/tooltip_component.rb', line 92 def initialize(tag: DEFAULT_TAG, for_id:, text:, type: TYPE_DEFAULT, direction: DEFAULT_PLACEMENT, classes: "", attributes: {}) raise TypeError, "tooltip text must be a string" unless text.is_a?(String) @tag = check_incoming_tag(DEFAULT_TAG, tag) @text = text @classes = class_names(DEFAULT_CLASSES, classes) @attributes = attributes @attributes[:for] = for_id @attributes[:"data-tooltip-component-placement"] = fetch_or_raise(VALID_PLACEMENTS, direction) @attributes[:"data-type"] = fetch_or_raise(TYPE_OPTIONS, type) @attributes[:"data-tooltip-component-target"] = "tooltip" end |