{"version":3,"names":["createEffect","createMemo","createSignal","onCleanup","runWithOwner","untrack","createChangeEventDetails","REASONS","createControlledState","useClientPoint","useDismiss","useFloatingRootContext","useFocus","useInteractions","useRole","readOption","useOpenChangeComplete","useTransitionStatus","createTooltip","TooltipStore","TooltipRootContext","TooltipRoot","props","store","handle","resolvedOpen","setUncontrolledOpen","controlled","open","undefined","Boolean","default","defaultOpen","fallback","name","state","tooltipPrimitive","disabled","trackCursorAxis","disableHoverablePopup","rawOpen","mounted","transitionStatus","setMounted","popupRef","current","ref","onComplete","status","o","onOpenChangeComplete","instantType","setInstantType","ownedWrite","isInstantPhase","setIsInstantPhase","triggerElement","setTriggerElement","popupElement","setPopupElementInternal","setPopupElement","el","activeTriggerIdInternal","setActiveTriggerIdInternal","activeTriggerId","triggerId","setActiveTriggerId","id","context","triggerElements","getById","payload","setPayload","setOpen","next","details","reason","triggerFocus","triggerPress","escapeKey","outsidePress","triggerHover","onOpenChange","isCanceled","trigger","attachSetOpen","setOpenMirror","openValue","currentTriggerId","size","entry","entries","done","value","floatingRootContext","nextOpen","sync","closeOnClick","closeOnClickSignal","setCloseOnClickSignal","dismiss","enabled","referencePress","focus","role","clientPoint","axis","a","interactions","clientPointReferenceProps","reference","clientPointFloatingProps","floating","resolveChildren","ch","children","makeImperativeDetails","imperativeAction","actions","close","unmount","actionsRef","contextValue","setCloseOnClick"],"sources":["tooltip-root.tsx"],"sourcesContent":["import type { JSX } from \"@solidjs/web\";\nimport {\n\ttype Accessor,\n\tcreateEffect,\n\tcreateMemo,\n\tcreateSignal,\n\tonCleanup,\n\trunWithOwner,\n\tuntrack,\n} from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { createControlledState } from \"../../internals/create-controlled-state\";\nimport { useClientPoint } from \"../../internals/floating-ui/hooks/use-client-point\";\nimport { useDismiss } from \"../../internals/floating-ui/hooks/use-dismiss\";\nimport { useFloatingRootContext } from \"../../internals/floating-ui/hooks/use-floating-root-context\";\nimport { useFocus } from \"../../internals/floating-ui/hooks/use-focus\";\nimport { useInteractions } from \"../../internals/floating-ui/hooks/use-interactions\";\nimport { useRole } from \"../../internals/floating-ui/hooks/use-role\";\nimport type { MutableRef } from \"../../internals/floating-ui/types\";\nimport { type MaybeAccessor, readOption } from \"../../internals/maybe-accessor\";\nimport { useOpenChangeComplete } from \"../../internals/popups/use-open-change-complete\";\nimport { useTransitionStatus } from \"../../internals/use-transition-status/use-transition-status\";\nimport { createTooltip } from \"../create-tooltip\";\nimport { type TooltipHandle, TooltipStore } from \"../store/tooltip-store\";\nimport {\n\ttype TooltipInstantType,\n\ttype TooltipRootChangeEventDetails,\n\ttype TooltipRootChangeEventReason,\n\tTooltipRootContext,\n\ttype TooltipRootContextValue,\n\ttype TooltipRootState,\n} from \"../tooltip-root-context\";\n\nexport type {\n\tTooltipRootChangeEventDetails,\n\tTooltipRootChangeEventReason,\n\tTooltipRootState,\n};\n\nexport interface TooltipRootActions {\n\tclose: () => void;\n\tunmount: () => void;\n}\n\nexport type TooltipPayloadChildRenderFunction<Payload> = (ctx: {\n\tpayload: Payload | undefined;\n}) => JSX.Element;\n\nexport interface TooltipRootProps<Payload = unknown> {\n\t/**\n\t * Controlled open state. When provided (resolved value not\n\t * `undefined`), the consumer owns the state — pair with\n\t * {@link onOpenChange}. When omitted, the tooltip manages its own open\n\t * state (seeded from {@link defaultOpen}), matching React Base UI.\n\t */\n\topen?: MaybeAccessor<boolean | undefined>;\n\t/**\n\t * Initial open state when uncontrolled. Read once at mount.\n\t * @default false\n\t */\n\tdefaultOpen?: MaybeAccessor<boolean | undefined>;\n\t/**\n\t * Fires on every open/close request (hover, focus, Escape, etc.).\n\t * Calling `eventDetails.cancel()` keeps the tooltip's own\n\t * (uncontrolled) state unchanged, mirroring React Base UI; controlled\n\t * consumers simply don't update their signal.\n\t */\n\tonOpenChange?:\n\t\t| ((open: boolean, eventDetails: TooltipRootChangeEventDetails) => void)\n\t\t| undefined;\n\tonOpenChangeComplete?: ((open: boolean) => void) | undefined;\n\t/** @default false */\n\tdisabled?: MaybeAccessor<boolean | undefined>;\n\t/**\n\t * Axis on which to track the cursor position. When set (!= `\"none\"`),\n\t * the tooltip positioner anchors to the cursor rather than to the\n\t * trigger's bounding box. Matches React's `trackCursorAxis`.\n\t * @default \"none\"\n\t */\n\ttrackCursorAxis?: MaybeAccessor<\"none\" | \"x\" | \"y\" | \"both\" | undefined>;\n\t/**\n\t * When true, the hover-intent `safePolygon` handler is NOT installed,\n\t * so the popup is not considered hoverable — any cursor movement off\n\t * the trigger closes the tooltip. Matches React's `disableHoverablePopup`.\n\t * @default false\n\t */\n\tdisableHoverablePopup?: MaybeAccessor<boolean | undefined>;\n\t/**\n\t * Handle to associate the root with detached `<Tooltip.Trigger>`s.\n\t */\n\thandle?: TooltipHandle<Payload> | undefined;\n\t/** @default null */\n\ttriggerId?: string | null | undefined;\n\t/** Callback-ref variant of React's actionsRef. */\n\tactionsRef?:\n\t\t| ((actions: TooltipRootActions | null) => void)\n\t\t| { current: TooltipRootActions | null }\n\t\t| undefined;\n\tchildren?: JSX.Element | TooltipPayloadChildRenderFunction<Payload>;\n}\n\n/**\n * Groups all parts of the tooltip. Does not render its own HTML element.\n */\nexport function TooltipRoot<Payload = unknown>(\n\tprops: TooltipRootProps<Payload>,\n): JSX.Element {\n\t// Adopt the handle's store if supplied.\n\tconst store = (props.handle?.store ?? new TooltipStore<Payload>()) as\n\t\t| TooltipStore<Payload>\n\t\t| TooltipStore<unknown>;\n\n\t// Controlled / uncontrolled open state (Base UI `open` / `defaultOpen`\n\t// contract): the `open` prop wins while its resolved value is defined;\n\t// otherwise an internal signal (seeded once from `defaultOpen`) backs\n\t// the state and the root's `setOpen` (below) writes it.\n\tconst [resolvedOpen, setUncontrolledOpen] = createControlledState<boolean>({\n\t\tcontrolled: () => {\n\t\t\tconst controlled = readOption(props.open);\n\t\t\treturn controlled === undefined ? undefined : Boolean(controlled);\n\t\t},\n\t\tdefault: () => readOption(props.defaultOpen),\n\t\tfallback: false,\n\t\tname: \"<Tooltip.Root>\",\n\t\tstate: \"open\",\n\t});\n\n\t// Compose the headless Tooltip primitive — owns open (pass-through),\n\t// disabled, trackCursorAxis, and disableHoverablePopup. The wrapper\n\t// layers floating-UI, transitions, hover/focus interactions, portal,\n\t// and trigger/handle plumbing on top.\n\tconst tooltipPrimitive = createTooltip({\n\t\topen: resolvedOpen,\n\t\tdisabled: () => Boolean(readOption(props.disabled)),\n\t\ttrackCursorAxis: () => readOption(props.trackCursorAxis) ?? \"none\",\n\t\tdisableHoverablePopup: () =>\n\t\t\treadOption(props.disableHoverablePopup) ?? false,\n\t\t// onOpenChange is NOT wired here — the wrapper's own setOpen (below)\n\t\t// is the sole writer so it can thread reason/event details through\n\t\t// the full floating-UI pipeline. The primitive's setOpen is unused\n\t\t// in the wrapper path.\n\t});\n\n\tconst disabled = tooltipPrimitive.disabled;\n\tconst trackCursorAxis = tooltipPrimitive.trackCursorAxis;\n\tconst disableHoverablePopup = tooltipPrimitive.disableHoverablePopup;\n\tconst rawOpen = tooltipPrimitive.open;\n\tconst open = createMemo<boolean>(() => !disabled() && rawOpen());\n\n\tconst { mounted, transitionStatus, setMounted } = useTransitionStatus(\n\t\topen,\n\t\t() => true,\n\t\t() => false,\n\t);\n\n\t// Defer unmount until any CSS exit animation on the popup has finished.\n\t// Mirrors the tabs-panel `useOpenChangeComplete` pattern: the React source\n\t// keeps `mounted` true through the exit by\n\t// waiting on `Animation.finished` before dropping it. The ref is filled\n\t// by `<Tooltip.Popup>`'s `setPopupElement` callback below; the hook is a\n\t// no-op when `getAnimations()` returns an empty list, so the happy-dom\n\t// path still unmounts on the next microtask.\n\tconst popupRef: MutableRef<HTMLElement | null> = { current: null };\n\tuseOpenChangeComplete({\n\t\topen,\n\t\tref: popupRef,\n\t\tonComplete: () => {\n\t\t\tif (!open()) {\n\t\t\t\tsetMounted(false);\n\t\t\t}\n\t\t},\n\t});\n\n\t// Fire onOpenChangeComplete when transition settles.\n\tcreateEffect(\n\t\t() => ({ open: open(), status: transitionStatus() }),\n\t\t({ open: o, status }) => {\n\t\t\tif (status === undefined) {\n\t\t\t\tprops.onOpenChangeComplete?.(o);\n\t\t\t}\n\t\t},\n\t);\n\n\tconst [instantType, setInstantType] = createSignal<TooltipInstantType>(\n\t\tundefined,\n\t\t{ ownedWrite: true },\n\t);\n\tconst [isInstantPhase, setIsInstantPhase] = createSignal(false, {\n\t\townedWrite: true,\n\t});\n\n\tconst [triggerElement, setTriggerElement] = createSignal<HTMLElement | null>(\n\t\tnull,\n\t\t{ ownedWrite: true },\n\t);\n\tconst [popupElement, setPopupElementInternal] =\n\t\tcreateSignal<HTMLElement | null>(null, { ownedWrite: true });\n\t// Keep the plain-ref mirror in sync with the popup-element signal. The\n\t// `useOpenChangeComplete` hook reads `.current` lazily inside a closure\n\t// (see `useAnimationsFinished`); keeping a live mutable mirror means the\n\t// hook picks up the popup element once `<Tooltip.Popup>` mounts without\n\t// an extra reactive effect.\n\tconst setPopupElement = (el: HTMLElement | null): void => {\n\t\tpopupRef.current = el;\n\t\tsetPopupElementInternal(el);\n\t};\n\n\t// triggerId controlled override (consumer-supplied) layered over internal state.\n\tconst [activeTriggerIdInternal, setActiveTriggerIdInternal] = createSignal<\n\t\tstring | null\n\t>(null, { ownedWrite: true });\n\tconst activeTriggerId = createMemo<string | null>(() => {\n\t\tconst controlled = props.triggerId;\n\t\tif (controlled !== undefined) return controlled;\n\t\treturn activeTriggerIdInternal();\n\t});\n\tconst setActiveTriggerId = (id: string | null): void => {\n\t\tsetActiveTriggerIdInternal(id);\n\t};\n\n\tcreateEffect(\n\t\t() => activeTriggerId(),\n\t\t(id) => {\n\t\t\tif (id === null) return;\n\t\t\tconst el = store.context.triggerElements.getById(id) as\n\t\t\t\t| HTMLElement\n\t\t\t\t| null\n\t\t\t\t| undefined;\n\t\t\tif (el) setTriggerElement(el);\n\t\t},\n\t);\n\n\tconst [payload, setPayload] = createSignal<unknown>(undefined, {\n\t\townedWrite: true,\n\t});\n\n\tconst setOpen = (\n\t\tnext: boolean,\n\t\tdetails: TooltipRootChangeEventDetails,\n\t): void => {\n\t\tconst reason = details.reason;\n\t\tif (next && reason === REASONS.triggerFocus) {\n\t\t\tsetInstantType(\"focus\");\n\t\t} else if (\n\t\t\t!next &&\n\t\t\t(reason === REASONS.triggerPress ||\n\t\t\t\treason === REASONS.escapeKey ||\n\t\t\t\treason === REASONS.outsidePress)\n\t\t) {\n\t\t\tsetInstantType(\"dismiss\");\n\t\t} else if (reason === REASONS.triggerHover) {\n\t\t\tsetInstantType(undefined);\n\t\t}\n\t\t// Use runWithOwner(null, ...) to escape the current reactive owner so\n\t\t// that consumer signal writes inside onOpenChange (and the internal\n\t\t// uncontrolled write) don't trigger SIGNAL_WRITE_IN_OWNED_SCOPE when\n\t\t// this setOpen is called from inside a reactive scope (e.g. the\n\t\t// delay-group useIsoLayoutEffect apply phase, or any\n\t\t// createRenderEffect body). untrack() alone doesn't clear owner.\n\t\t//\n\t\t// Base UI change flow (`TooltipStore.setOpen`): fire `onOpenChange`,\n\t\t// honor `details.cancel()`, then write the uncontrolled state\n\t\t// (ignored for reads while the `open` prop is controlled — the\n\t\t// consumer's signal write is the source of truth).\n\t\trunWithOwner(null, () => {\n\t\t\tprops.onOpenChange?.(next, details);\n\t\t\tif (details.isCanceled) return;\n\t\t\tsetUncontrolledOpen(next);\n\t\t});\n\t\t// Base UI returns before trigger-state mirroring when the change was\n\t\t// canceled via `details.cancel()`.\n\t\tif (details.isCanceled) return;\n\t\t// Forward active trigger selection from the details.\n\t\tif (details.trigger?.id) {\n\t\t\tsetActiveTriggerIdInternal(details.trigger.id);\n\t\t\tsetTriggerElement(details.trigger as HTMLElement);\n\t\t}\n\t};\n\n\tstore.attachSetOpen((next, details) => setOpen(next, details));\n\tcreateEffect(\n\t\t() => open(),\n\t\t(o) => store.setOpenMirror(o),\n\t);\n\tonCleanup(() => store.attachSetOpen(null));\n\n\t// Implicit active trigger. Capture `activeTriggerId()` in compute\n\t// alongside `open()` — apply runs unowned (`[STRICT_READ_UNTRACKED]`\n\t// would fire on a direct read).\n\tcreateEffect(\n\t\t() => ({ openValue: open(), currentTriggerId: activeTriggerId() }),\n\t\t({ openValue, currentTriggerId }) => {\n\t\t\tif (!openValue) return;\n\t\t\tif (currentTriggerId !== null) return;\n\t\t\tif (store.context.triggerElements.size !== 1) return;\n\t\t\tconst entry = store.context.triggerElements.entries().next();\n\t\t\tif (!entry.done) {\n\t\t\t\tconst [id, el] = entry.value;\n\t\t\t\tsetActiveTriggerIdInternal(id);\n\t\t\t\tsetTriggerElement(el as HTMLElement);\n\t\t\t}\n\t\t},\n\t);\n\n\tconst floatingRootContext = useFloatingRootContext({\n\t\topen: untrack(() => open()),\n\t\tonOpenChange: (nextOpen, details) => {\n\t\t\tsetOpen(nextOpen, details as TooltipRootChangeEventDetails);\n\t\t},\n\t});\n\n\tcreateEffect(\n\t\t() => open(),\n\t\t(next) => {\n\t\t\tfloatingRootContext.sync(\"open\", next);\n\t\t},\n\t);\n\n\tcreateEffect(\n\t\t() => triggerElement(),\n\t\t(el) => {\n\t\t\tfloatingRootContext.sync(\"domReferenceElement\", el);\n\t\t\tfloatingRootContext.sync(\"referenceElement\", el);\n\t\t},\n\t);\n\tcreateEffect(\n\t\t() => popupElement(),\n\t\t(el) => {\n\t\t\tfloatingRootContext.sync(\"floatingElement\", el);\n\t\t},\n\t);\n\n\t// Interaction hooks — with closeOnClick-aware dismiss.\n\tconst closeOnClick = (): boolean => {\n\t\t// Track-cursor tooltips commonly want click-to-close, but the\n\t\t// default is still false (React's default). We respect the store's\n\t\t// `closeOnClick` flag below when the trigger writes to it — the\n\t\t// default on the trigger is `false`.\n\t\treturn closeOnClickSignal();\n\t};\n\tconst [closeOnClickSignal, setCloseOnClickSignal] = createSignal(false, {\n\t\townedWrite: true,\n\t});\n\n\tconst dismiss = useDismiss(floatingRootContext, {\n\t\tget enabled() {\n\t\t\treturn !disabled();\n\t\t},\n\t\treferencePress: closeOnClick,\n\t});\n\tconst focus = useFocus(floatingRootContext, {\n\t\tget enabled() {\n\t\t\treturn !disabled();\n\t\t},\n\t});\n\tconst role = useRole(floatingRootContext, { role: \"tooltip\" });\n\n\t// useClientPoint — always install, gated via `enabled`.\n\tconst clientPoint = useClientPoint(floatingRootContext, {\n\t\tget enabled() {\n\t\t\treturn !disabled() && trackCursorAxis() !== \"none\";\n\t\t},\n\t\tget axis() {\n\t\t\tconst a = trackCursorAxis();\n\t\t\treturn a === \"none\" ? \"both\" : a;\n\t\t},\n\t});\n\n\tconst interactions = useInteractions([dismiss, focus, role, clientPoint]);\n\n\t// Expose client-point prop bags separately so trigger / popup can\n\t// merge them on their own schedule (legacy callers already merge\n\t// `interactions.getReferenceProps()` etc., which now also carries\n\t// client-point; duplicating into these separate accessors is a\n\t// safety net for future callers).\n\tconst clientPointReferenceProps: Accessor<Record<string, unknown>> = () =>\n\t\t(clientPoint.reference ?? {}) as Record<string, unknown>;\n\tconst clientPointFloatingProps: Accessor<Record<string, unknown>> = () =>\n\t\t(clientPoint.floating ?? {}) as Record<string, unknown>;\n\n\tconst state: Accessor<TooltipRootState> = createMemo(() => ({\n\t\topen: open(),\n\t}));\n\n\t// Resolve children — render-function form.\n\tconst resolveChildren = (): JSX.Element => {\n\t\tconst ch = props.children;\n\t\tif (typeof ch === \"function\") {\n\t\t\treturn (ch as TooltipPayloadChildRenderFunction<Payload>)({\n\t\t\t\tpayload: payload() as Payload | undefined,\n\t\t\t});\n\t\t}\n\t\treturn ch as JSX.Element;\n\t};\n\n\t// actionsRef.\n\tconst makeImperativeDetails = (): TooltipRootChangeEventDetails =>\n\t\tcreateChangeEventDetails<TooltipRootChangeEventReason>(\n\t\t\tREASONS.imperativeAction as TooltipRootChangeEventReason,\n\t\t) as TooltipRootChangeEventDetails;\n\tconst actions: TooltipRootActions = {\n\t\tclose: () => setOpen(false, makeImperativeDetails()),\n\t\tunmount: () => setOpen(false, makeImperativeDetails()),\n\t};\n\tconst ref = props.actionsRef;\n\tif (typeof ref === \"function\") {\n\t\tref(actions);\n\t\tonCleanup(() => ref(null));\n\t} else if (ref && typeof ref === \"object\") {\n\t\tref.current = actions;\n\t\tonCleanup(() => {\n\t\t\tref.current = null;\n\t\t});\n\t}\n\n\tconst contextValue: TooltipRootContextValue = {\n\t\topen,\n\t\tdisabled,\n\t\tmounted,\n\t\ttransitionStatus,\n\t\tinstantType,\n\t\tisInstantPhase,\n\t\tstate,\n\t\tsetInstantType,\n\t\tsetIsInstantPhase,\n\t\tsetOpen,\n\t\tfloatingRootContext,\n\t\tinteractions,\n\t\tsetTriggerElement,\n\t\ttriggerElement,\n\t\tsetPopupElement,\n\t\tpopupElement,\n\t\tstore: store as TooltipStore<unknown>,\n\t\tactiveTriggerId,\n\t\tsetActiveTriggerId,\n\t\tpayload,\n\t\tsetPayload,\n\t\tdisableHoverablePopup,\n\t\ttrackCursorAxis,\n\t\tcloseOnClick: closeOnClickSignal,\n\t\tsetCloseOnClick: setCloseOnClickSignal,\n\t\tclientPointReferenceProps,\n\t\tclientPointFloatingProps,\n\t};\n\n\treturn (\n\t\t<TooltipRootContext value={contextValue}>\n\t\t\t{resolveChildren()}\n\t\t</TooltipRootContext>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}