class DS::Tooltip < ApplicationComponent AS_OPTIONS = %i[button span].freeze attr_reader :placement, :offset, :cross_axis, :icon_name, :size, :color, :tooltip_id, :as # NOTE: tooltip content must be non-interactive — no buttons, links, # or form controls inside. Tooltips are exposed via `aria-describedby`, # which announces the content as a description but does not expose # interactive descendants to AT. Use a popover/menu primitive when # the surface needs to host actions. # # `as:` controls the trigger element. # :button (default) — renders `