Mixins / foldkit-mixins-ui

Tooltip

namespace · packages/mixins-ui/src/tooltip.ts:1

export * as Tooltip from './tooltip.js'

Members

Tooltip.resolve

function · packages/mixins-ui/src/tooltip.ts:24

function resolve<Input, Message>(
  render: RenderInfo,
  mixins: MixinList<Message>,
  context: ResolveContext<Input, Message>,
): ResolvedTooltip<Message>

Resolves the tooltip's render groups; isVisible passes through unchanged.

Tooltip.ResolvedTooltip

type · packages/mixins-ui/src/tooltip.ts:21

type ResolvedTooltip<Message> = Resolved<
  RenderInfo,
  typeof TooltipSlots,
  Message
>

The tooltip's bundles with the attached Mixins applied.

Tooltip.TooltipSlots

const · packages/mixins-ui/src/tooltip.ts:11

const TooltipSlots: Slots.Contract<{
  readonly trigger: Slot.UnnamedSlot<
    Capability.Capability<
      'Interactive',
      readonly [Capability.Capability<'Base', readonly []>]
    >,
    readonly [
      Event.EventToken<'focus'>,
      Event.EventToken<'blur'>,
      Event.EventToken<'pointerdown'>,
    ],
    readonly [
      Attr.AttrToken<'role'>,
      Attr.AttrToken<'aria-disabled'>,
      Attr.AttrToken<'disabled'>,
    ],
    readonly Slot.RequirementName[],
    boolean
  >
  readonly panel: Slot.UnnamedSlot<
    Capability.Capability<
      'Container',
      readonly [
        Capability.Capability<
          'Interactive',
          readonly [Capability.Capability<'Base', readonly []>]
        >,
      ]
    >,
    readonly Slot.EventName[],
    readonly [Attr.AttrToken<'role'>],
    readonly Slot.RequirementName[],
    boolean
  >
}>

Tooltip is a Submodel; both bundles are ChildAttribute groups. trigger owns focus, blur and pointerdown (the hover/keyboard entry points); panel carries the anchor Mount. resolve preserves each group by identity.

Tooltip.toView

function · packages/mixins-ui/src/tooltip.ts:31

function toView<Message>(
  mixins: MixinList<Message>,
  context: ResolveContext<unknown, Message>,
  draw: (resolved: ResolvedTooltip<Message>) => Html,
): (render: RenderInfo) => Html

The tooltip's toView: draw receives its bundles with mixins applied.