Class: BetterUi::TooltipComponent
- Inherits:
-
ApplicationComponent
- Object
- ViewComponent::Base
- ApplicationComponent
- BetterUi::TooltipComponent
- Defined in:
- app/components/better_ui/tooltip_component.rb
Overview
A tooltip component that shows a tooltip on hover/focus.
Uses a Stimulus controller with fixed positioning to escape overflow:hidden/auto clipping contexts.
Constant Summary collapse
- POSITIONS =
%i[top right bottom left].freeze
- TOOLTIP_VARIANTS =
%i[dark light].freeze
- SIZES =
%i[sm md].freeze
Constants inherited from ApplicationComponent
ApplicationComponent::SHADOWS, ApplicationComponent::VARIANTS, ApplicationComponent::VARIANT_BODY_DIVIDE, ApplicationComponent::VARIANT_DIVIDE, ApplicationComponent::VARIANT_HEADER_BG, ApplicationComponent::VARIANT_HEADER_TEXT, ApplicationComponent::VARIANT_HIGHLIGHTED, ApplicationComponent::VARIANT_HOVERABLE, ApplicationComponent::VARIANT_RING, ApplicationComponent::VARIANT_SORT_ICON, ApplicationComponent::VARIANT_STRIPED
Instance Method Summary collapse
-
#initialize(text:, position: :top, variant: :dark, size: :sm, container_classes: nil, **options) ⇒ TooltipComponent
constructor
Initializes a new tooltip component.
Constructor Details
#initialize(text:, position: :top, variant: :dark, size: :sm, container_classes: nil, **options) ⇒ TooltipComponent
Initializes a new tooltip component.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/components/better_ui/tooltip_component.rb', line 42 def initialize( text:, position: :top, variant: :dark, size: :sm, container_classes: nil, ** ) @text = text @position = validate_position(position) @variant = validate_tooltip_variant(variant) @size = validate_size(size) @container_classes = container_classes @options = end |