{"version":3,"names":["createEffect","createMemo","createSignal","flush","onCleanup","untrack","createChangeEventDetails","REASONS","createControlledState","FloatingTree","useFloatingParentNodeId","useDismiss","useFloatingRootContext","useInteractions","readOption","useOpenChangeComplete","useIsoLayoutEffect","useTransitionStatus","CLOSE_DELAY","createPreviewCard","PreviewCardRootContext","usePreviewCardRootContext","PreviewCardStore","PreviewCardRootComponent","props","store","handle","resolvedOpen","setUncontrolledOpen","controlled","open","undefined","Boolean","default","defaultOpen","fallback","name","state","previewCardPrimitive","mounted","transitionStatus","setMounted","popupRef","current","popupElement","setPopupElementInternal","ownedWrite","setPopupElement","el","ref","onComplete","status","o","onOpenChangeComplete","instantType","setInstantType","activeTriggerIdInternal","setActiveTriggerIdInternal","activeTriggerId","triggerId","setActiveTriggerId","id","triggerElement","setTriggerElementInternal","setTriggerElement","context","triggerElements","getById","payload","setPayload","closeDelayRef","floatingRootContext","onOpenChange","nextOpen","details","setOpen","next","sync","update","reason","isFocusOpen","triggerFocus","isDismissClose","triggerPress","escapeKey","outsidePress","triggerHover","isCanceled","trigger","attachSetOpen","setOpenMirror","size","entry","entries","done","value","dismiss","interactions","makeImperativeDetails","imperativeAction","actions","close","unmount","actionsRef","contextValue","resolveChildren","ch","children","PreviewCardRoot"],"sources":["preview-card-root.tsx"],"sourcesContent":["import type { JSX } from \"@solidjs/web\";\nimport {\n\ttype Accessor,\n\tcreateEffect,\n\tcreateMemo,\n\tcreateSignal,\n\tflush,\n\tonCleanup,\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 {\n\tFloatingTree,\n\tuseFloatingParentNodeId,\n} from \"../../internals/floating-ui/components/floating-tree\";\nimport { useDismiss } from \"../../internals/floating-ui/hooks/use-dismiss\";\nimport { useFloatingRootContext } from \"../../internals/floating-ui/hooks/use-floating-root-context\";\nimport { useInteractions } from \"../../internals/floating-ui/hooks/use-interactions\";\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 { useIsoLayoutEffect } from \"../../internals/use-iso-layout-effect\";\nimport { useTransitionStatus } from \"../../internals/use-transition-status/use-transition-status\";\nimport { CLOSE_DELAY } from \"../constants\";\nimport { createPreviewCard } from \"../create-preview-card\";\nimport {\n\ttype PreviewCardInstantType,\n\ttype PreviewCardRootChangeEventDetails,\n\ttype PreviewCardRootChangeEventReason,\n\tPreviewCardRootContext,\n\ttype PreviewCardRootContextValue,\n\ttype PreviewCardRootState,\n\tusePreviewCardRootContext,\n} from \"../preview-card-root-context\";\nimport {\n\ttype PreviewCardHandle,\n\tPreviewCardStore,\n} from \"../store/preview-card-store\";\n\nexport type {\n\tPreviewCardRootChangeEventDetails,\n\tPreviewCardRootChangeEventReason,\n\tPreviewCardRootState,\n};\n\n/**\n * Imperative actions surface written into `actionsRef` on `<PreviewCard.Root>`.\n * Mirrors React's `PreviewCardRoot.Actions`.\n */\nexport interface PreviewCardRootActions {\n\tclose: () => void;\n\tunmount: () => void;\n}\n\n/**\n * Render-function child variant — mirrors React's `PayloadChildRenderFunction`.\n * Called with the active trigger's `payload`.\n */\nexport type PreviewCardPayloadChildRenderFunction<Payload> = (ctx: {\n\tpayload: Payload | undefined;\n}) => JSX.Element;\n\nexport interface PreviewCardRootProps<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 preview card manages its own\n\t * open 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, outside\n\t * press, etc.). Calling `eventDetails.cancel()` keeps the preview\n\t * card's own (uncontrolled) state unchanged, mirroring React Base UI;\n\t * controlled consumers simply don't update their signal.\n\t */\n\tonOpenChange?:\n\t\t| ((open: boolean, eventDetails: PreviewCardRootChangeEventDetails) => void)\n\t\t| undefined;\n\tonOpenChangeComplete?: ((open: boolean) => void) | undefined;\n\t/**\n\t * Callback-ref (or `{ current }`) variant of React's `actionsRef`. Solid\n\t * deviation: React exposes this as `RefObject<Actions>`; the Solid port\n\t * accepts either form.\n\t */\n\tactionsRef?:\n\t\t| ((actions: PreviewCardRootActions | null) => void)\n\t\t| { current: PreviewCardRootActions | null }\n\t\t| undefined;\n\t/** Handle for detached triggers / imperative control. */\n\thandle?: PreviewCardHandle<Payload> | undefined;\n\t/** Active trigger id (controlled). */\n\ttriggerId?: string | null | undefined;\n\tchildren?: JSX.Element | PreviewCardPayloadChildRenderFunction<Payload>;\n}\n\n/**\n * Inner implementation — split so we can wrap the tree in `<FloatingTree>`\n * only when we're the top-most root (matches React's\n * `PreviewCardRoot` → `PreviewCardRootComponent` shape).\n */\nfunction PreviewCardRootComponent<Payload>(\n\tprops: PreviewCardRootProps<Payload>,\n): JSX.Element {\n\t// Adopt the handle's store if supplied; otherwise own one.\n\tconst store = (props.handle?.store ?? new PreviewCardStore<Payload>()) as\n\t\t| PreviewCardStore<Payload>\n\t\t| PreviewCardStore<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: \"<PreviewCard.Root>\",\n\t\tstate: \"open\",\n\t});\n\n\t// Compose the headless PreviewCard primitive — owns open (pass-through) and\n\t// disabled. The wrapper layers floating-UI, transitions, dismiss, portal,\n\t// and per-trigger hover delays on top.\n\t//\n\t// onOpenChange is NOT wired here — the wrapper's own setOpen (below) is\n\t// the sole writer so it can thread the full change-event details through\n\t// the floating-UI pipeline. The primitive's setOpen is unused in the\n\t// wrapper path.\n\tconst previewCardPrimitive = createPreviewCard({\n\t\topen: resolvedOpen,\n\t});\n\n\tconst open = previewCardPrimitive.open;\n\n\tconst { mounted, transitionStatus, setMounted } = useTransitionStatus(\n\t\topen,\n\t\t() => true,\n\t\t() => false,\n\t);\n\n\t// Popup element tracking — the ref mirror is consumed by\n\t// `useOpenChangeComplete` so a pending CSS exit animation can hold the\n\t// popup in the DOM until it settles.\n\tconst popupRef: MutableRef<HTMLElement | null> = { current: null };\n\tconst [popupElement, setPopupElementInternal] =\n\t\tcreateSignal<HTMLElement | null>(null, { ownedWrite: true });\n\tconst setPopupElement = (el: HTMLElement | null): void => {\n\t\tpopupRef.current = el;\n\t\tsetPopupElementInternal(el);\n\t};\n\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 after the transition settles (or immediately\n\t// in happy-dom where `Animation.finished` resolves on the next microtask).\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\t// instantType — emitted as `data-instant` on popup/arrow when focus or\n\t// dismiss drives the open/close transition.\n\tconst [instantType, setInstantType] = createSignal<PreviewCardInstantType>(\n\t\tundefined,\n\t\t{ ownedWrite: true },\n\t);\n\n\t// Active trigger id / element. `triggerId` is a controlled override.\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\tconst [triggerElement, setTriggerElementInternal] =\n\t\tcreateSignal<HTMLElement | null>(null, { ownedWrite: true });\n\tconst setTriggerElement = (el: HTMLElement | null): void => {\n\t\tsetTriggerElementInternal(el);\n\t};\n\n\t// Sync element lookup when the controlled `triggerId` changes.\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) setTriggerElementInternal(el);\n\t\t},\n\t);\n\n\tconst [payload, setPayload] = createSignal<unknown>(undefined, {\n\t\townedWrite: true,\n\t});\n\n\t// Clear payload when the card is open but no active trigger is set (React\n\t// source mirrors this: if `activeTriggerId == null && open`, payload is\n\t// reset so the render-function child doesn't leak stale data).\n\tcreateEffect(\n\t\t() => ({ open: open(), id: activeTriggerId() }),\n\t\t({ open: o, id }) => {\n\t\t\tif (o && id == null) {\n\t\t\t\tsetPayload(undefined);\n\t\t\t}\n\t\t},\n\t);\n\n\t// Written by the active trigger; reserved for floating-hover close timing.\n\tconst closeDelayRef: MutableRef<number> = { current: CLOSE_DELAY };\n\n\t// Floating-UI shared store.\n\tconst floatingRootContext = useFloatingRootContext({\n\t\topen: untrack(() => open()),\n\t\tonOpenChange: (nextOpen, details) => {\n\t\t\tsetOpen(nextOpen, details as PreviewCardRootChangeEventDetails);\n\t\t},\n\t});\n\n\t// `floatingRootContext.sync` / `.update` may read internal store state\n\t// for prev-value equality. Wrap each apply in `untrack` to keep\n\t// `[STRICT_READ_UNTRACKED]` quiet.\n\tcreateEffect(\n\t\t() => open(),\n\t\t(next) =>\n\t\t\tuntrack(() => {\n\t\t\t\tfloatingRootContext.sync(\"open\", next);\n\t\t\t}),\n\t);\n\t// Sync reference / floating nodes into the floating store on the same\n\t// turn as the ref callback (layout effect) so `useHover` can arm\n\t// listeners before `mouseenter` is lost to microtask batching.\n\tuseIsoLayoutEffect(\n\t\t() => triggerElement(),\n\t\t(el) =>\n\t\t\tuntrack(() => {\n\t\t\t\tfloatingRootContext.sync(\"domReferenceElement\", el);\n\t\t\t\tfloatingRootContext.sync(\"referenceElement\", el);\n\t\t\t}),\n\t);\n\tuseIsoLayoutEffect(\n\t\t() => popupElement(),\n\t\t(el) =>\n\t\t\tuntrack(() => {\n\t\t\t\tfloatingRootContext.sync(\"floatingElement\", el);\n\t\t\t}),\n\t);\n\tcreateEffect(\n\t\t() => transitionStatus(),\n\t\t(status) =>\n\t\t\tuntrack(() => {\n\t\t\t\tfloatingRootContext.update({ transitionStatus: status });\n\t\t\t}),\n\t);\n\n\t// setOpen — threads instantType + active-trigger bookkeeping off the\n\t// change-event reason, the same way the React store does.\n\tconst setOpen = (\n\t\tnext: boolean,\n\t\tdetails: PreviewCardRootChangeEventDetails,\n\t): void => {\n\t\tconst reason = details.reason;\n\t\tconst isFocusOpen = next && reason === REASONS.triggerFocus;\n\t\tconst isDismissClose =\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\n\t\tif (isFocusOpen) {\n\t\t\tsetInstantType(\"focus\");\n\t\t} else if (isDismissClose) {\n\t\t\tsetInstantType(\"dismiss\");\n\t\t} else if (reason === REASONS.triggerHover) {\n\t\t\tsetInstantType(undefined);\n\t\t}\n\n\t\t// Base UI change flow (`PreviewCardStore.setOpen`): fire\n\t\t// `onOpenChange`, honor `details.cancel()`, then write the\n\t\t// uncontrolled state (ignored for reads while the `open` prop is\n\t\t// controlled — the consumer's signal write is the source of truth).\n\t\tprops.onOpenChange?.(next, details);\n\t\tif (details.isCanceled) return;\n\t\tsetUncontrolledOpen(next);\n\n\t\t// Keep the floating store's `open` slot in sync immediately so hover\n\t\t// handlers reading `store.state.open` and the positioner see the new\n\t\t// value in the same turn (Solid 2 batches signal writes by default).\n\t\tuntrack(() => {\n\t\t\tfloatingRootContext.sync(\"open\", next);\n\t\t});\n\t\tflush();\n\n\t\tif (details.trigger && (details.trigger as HTMLElement).id) {\n\t\t\tconst id = (details.trigger as HTMLElement).id;\n\t\t\tsetActiveTriggerIdInternal(id);\n\t\t\tsetTriggerElementInternal(details.trigger as HTMLElement);\n\t\t}\n\t};\n\n\t// Wire the store imperative bridge.\n\tstore.attachSetOpen((next, details) => {\n\t\tsetOpen(next, details);\n\t});\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 selection: when the card opens and no explicit\n\t// trigger id has been set, pick the sole registered trigger.\n\tcreateEffect(\n\t\t() => open(),\n\t\t(o) =>\n\t\t\tuntrack(() => {\n\t\t\t\tif (!o) return;\n\t\t\t\tif (activeTriggerId() !== null) return;\n\t\t\t\tif (store.context.triggerElements.size !== 1) return;\n\t\t\t\tconst entry = store.context.triggerElements.entries().next();\n\t\t\t\tif (!entry.done) {\n\t\t\t\t\tconst [id, el] = entry.value;\n\t\t\t\t\tsetActiveTriggerIdInternal(id);\n\t\t\t\t\tsetTriggerElementInternal(el as HTMLElement);\n\t\t\t\t}\n\t\t\t}),\n\t);\n\n\t// Interaction hooks — dismiss only at the root level. Hover (reference +\n\t// floating) lives on the trigger and popup, respectively, since\n\t// preview-card tracks per-trigger open/close delays.\n\tconst dismiss = useDismiss(floatingRootContext);\n\tconst interactions = useInteractions([dismiss]);\n\n\tconst state: Accessor<PreviewCardRootState> = createMemo(() => ({\n\t\topen: open(),\n\t}));\n\n\t// actionsRef wiring.\n\tconst makeImperativeDetails = (): PreviewCardRootChangeEventDetails =>\n\t\tcreateChangeEventDetails<PreviewCardRootChangeEventReason>(\n\t\t\tREASONS.imperativeAction as PreviewCardRootChangeEventReason,\n\t\t) as PreviewCardRootChangeEventDetails;\n\tconst actions: PreviewCardRootActions = {\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: PreviewCardRootContextValue = {\n\t\topen,\n\t\tmounted,\n\t\ttransitionStatus,\n\t\tinstantType,\n\t\tsetInstantType,\n\t\tstate,\n\t\tsetOpen,\n\t\tfloatingRootContext,\n\t\tinteractions,\n\t\tsetTriggerElement,\n\t\ttriggerElement,\n\t\tsetPopupElement,\n\t\tpopupElement,\n\t\tpopupRef,\n\t\tstore: store as PreviewCardStore<unknown>,\n\t\tactiveTriggerId,\n\t\tsetActiveTriggerId,\n\t\tpayload,\n\t\tsetPayload,\n\t\tcloseDelayRef,\n\t};\n\n\tconst resolveChildren = (): JSX.Element => {\n\t\tconst ch = props.children;\n\t\tif (typeof ch === \"function\") {\n\t\t\treturn (ch as PreviewCardPayloadChildRenderFunction<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\treturn (\n\t\t<PreviewCardRootContext value={contextValue}>\n\t\t\t{resolveChildren()}\n\t\t</PreviewCardRootContext>\n\t);\n}\n\n/**\n * Groups all parts of the preview card. Doesn't render its own HTML element —\n * the root is a pure context provider.\n *\n * Wraps the component tree in `<FloatingTree>` unless we're already nested\n * inside one (matches Base UI React's behavior so cross-tree events — like\n * dismiss-on-outside-press — propagate correctly for preview cards rendered\n * inside other popups).\n */\nexport function PreviewCardRoot<Payload = unknown>(\n\tprops: PreviewCardRootProps<Payload>,\n): JSX.Element {\n\tif (\n\t\tusePreviewCardRootContext(true) != null ||\n\t\tuseFloatingParentNodeId() != null\n\t) {\n\t\treturn <PreviewCardRootComponent {...props} />;\n\t}\n\treturn (\n\t\t<FloatingTree>\n\t\t\t<PreviewCardRootComponent {...props} />\n\t\t</FloatingTree>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}