{"version":3,"names":["createEffect","createMemo","createSignal","onCleanup","untrack","useContext","createChangeEventDetails","REASONS","useDismiss","useFloatingRootContext","useInteractions","useRole","useOpenChangeComplete","useOpenInteractionType","useScrollLock","useTransitionStatus","DialogRootContext","IsDrawerContext","useDialogRootContext","DialogStore","useDialogRootInternal","props","options","parentDialogContext","isDrawer","nested","modal","api","disablePointerDismissal","store","handle","preventUnmountingOnClose","setPreventUnmountingOnClose","ownedWrite","open","setOpenInternal","next","details","onOpenChange","isCanceled","setUncontrolledOpen","mounted","transitionStatus","setMounted","popupRef","current","backdropRef","internalBackdropRef","outsidePressEnabledRef","ref","onComplete","onOpenChangeComplete","titleId","setTitleId","undefined","descriptionId","setDescriptionId","activeTriggerIdInternal","setActiveTriggerIdInternal","activeTriggerId","controlled","triggerId","setActiveTriggerId","id","triggerElement","setTriggerElementInternal","setTriggerElement","el","context","triggerElements","getById","popupElement","setPopupElement","viewportElement","setViewportElement","payload","setPayload","attachSetPayload","p","openMethod","ownNestedOpenDialogs","setOwnNestedOpenDialogs","ownNestedOpenDrawers","setOwnNestedOpenDrawers","isTopmost","floatingRootContext","nextOpen","o","trigger","popup","status","update","referenceElement","domReferenceElement","floatingElement","dismiss","outsidePressEvent","mouse","touch","outsidePress","event","button","touches","length","escapeKey","role","interactions","enabled","setOpen","preventUnmountOnClose","original","attachSetOpen","setOpenMirror","size","entry","entries","done","value","dialogs","drawers","onNestedDialogOpen","onNestedDialogClose","makeImperativeDetails","imperativeAction","actions","close","unmount","actionsRef","openMethodAccessor","dialogCount","drawerCount","contextValue","nestedOpenDialogCount","nestedOpenDrawerCount","resolveChildren","ch","children"],"sources":["use-dialog-root-internal.tsx"],"sourcesContent":["import type { JSX } from \"@solidjs/web\";\n/**\n * `useDialogRootInternal` — shared root-body helper consumed by\n * `<Dialog.Root>` and `<AlertDialog.Root>`. Mirrors Base UI React's\n * `useDialogRoot` hook (`packages/react/src/dialog/root/useDialogRoot.ts`)\n * in spirit: collects the open-state + floating-context + dismiss + role\n * wiring into one place so the two roots differ only in three knobs.\n *\n * Composition:\n *\n *  - The wrapper builds a headless primitive (`createDialog` /\n *    `createAlertDialog`) and threads its `DialogApi`-shaped surface in\n *    via `options.api`. `useDialogRootInternal` delegates `open`,\n *    `modal`, and `disablePointerDismissal` reads to the primitive\n *    instead of declaring its own. AlertDialog's primitive pins\n *    `modal: true` and `disablePointerDismissal: true` as fixed\n *    invariants, so the previous `modalOverride` / `disablePointerDismissalOverride`\n *    knobs are no longer needed.\n *\n * Knobs:\n *\n *  - `role`: `\"dialog\"` or `\"alertdialog\"`. Threaded into `useRole` +\n *    surfaced on the context so `<Dialog.Popup>` sets the correct DOM\n *    `role` attribute.\n *  - `api`: the primitive's reactive accessors for `open`, `modal`, and\n *    `disablePointerDismissal`.\n */\n\nimport {\n\ttype Accessor,\n\tcreateEffect,\n\tcreateMemo,\n\tcreateSignal,\n\tonCleanup,\n\tuntrack,\n\tuseContext,\n} from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport type { InteractionType } from \"../../internals/floating-ui/components/floating-focus-manager\";\nimport type { FloatingRootStore } from \"../../internals/floating-ui/components/floating-root-store\";\nimport { useDismiss } from \"../../internals/floating-ui/hooks/use-dismiss\";\nimport { useFloatingRootContext } from \"../../internals/floating-ui/hooks/use-floating-root-context\";\nimport {\n\ttype UseInteractionsReturn,\n\tuseInteractions,\n} 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 { useOpenChangeComplete } from \"../../internals/popups/use-open-change-complete\";\nimport { useOpenInteractionType } from \"../../internals/popups/use-open-interaction-type\";\nimport { useScrollLock } from \"../../internals/popups/use-scroll-lock\";\nimport { useTransitionStatus } from \"../../internals/use-transition-status/use-transition-status\";\nimport {\n\ttype DialogModalKind,\n\ttype DialogRootChangeEventDetails,\n\ttype DialogRootChangeEventReason,\n\tDialogRootContext,\n\ttype DialogRootContextValue,\n\tIsDrawerContext,\n\tuseDialogRootContext,\n} from \"../dialog-root-context\";\nimport { type DialogHandle, DialogStore } from \"../store/dialog-store\";\n\nexport interface DialogRootInternalActions {\n\tclose: () => void;\n\tunmount: () => void;\n}\n\nexport type DialogPayloadChildRenderFunction<Payload> = (ctx: {\n\tpayload: Payload | undefined;\n}) => JSX.Element;\n\nexport interface DialogRootInternalProps<Payload = unknown> {\n\tonOpenChange?:\n\t\t| ((open: boolean, eventDetails: DialogRootChangeEventDetails) => void)\n\t\t| undefined;\n\tonOpenChangeComplete?: ((open: boolean) => void) | undefined;\n\tactionsRef?:\n\t\t| ((actions: DialogRootInternalActions | null) => void)\n\t\t| { current: DialogRootInternalActions | null }\n\t\t| undefined;\n\thandle?: DialogHandle<Payload> | undefined;\n\ttriggerId?: string | null | undefined;\n\tchildren?: JSX.Element | DialogPayloadChildRenderFunction<Payload>;\n}\n\n/**\n * Subset of the headless primitive surface that `useDialogRootInternal`\n * consumes. Both `DialogApi` and `AlertDialogApi` are structurally\n * assignable.\n */\nexport interface DialogRootInternalApi {\n\topen: Accessor<boolean>;\n\tmodal: Accessor<DialogModalKind>;\n\tdisablePointerDismissal: Accessor<boolean>;\n}\n\nexport interface UseDialogRootInternalOptions {\n\t/** `\"dialog\"` or `\"alertdialog\"`. */\n\trole: \"dialog\" | \"alertdialog\";\n\t/**\n\t * Headless primitive instance — owns `open`, `modal`, and\n\t * `disablePointerDismissal`. The wrapper builds it from props (and any\n\t * compound-specific invariants — e.g. AlertDialog pins `modal: true`,\n\t * `disablePointerDismissal: true`).\n\t */\n\tapi: DialogRootInternalApi;\n\t/**\n\t * Writer for the uncontrolled half of the wrapper's\n\t * `createControlledState` pair. Called by `setOpen` after the\n\t * `onOpenChange` cancel gate — a no-op for reads while the `open` prop\n\t * is controlled (the controlled value wins).\n\t */\n\tsetUncontrolledOpen?: (next: boolean) => void;\n}\n\n/**\n * Shared `<Dialog.Root>` / `<AlertDialog.Root>` body. Returns the JSX\n * element (a `<IsDrawerContext>` + `<DialogRootContext>` provider pair\n * wrapping the resolved children).\n */\nexport function useDialogRootInternal<Payload>(\n\tprops: DialogRootInternalProps<Payload>,\n\toptions: UseDialogRootInternalOptions,\n): JSX.Element {\n\tconst parentDialogContext = useDialogRootContext(true);\n\tconst isDrawer = useContext(IsDrawerContext);\n\tconst nested = parentDialogContext != null;\n\n\t// Delegate `modal` + `disablePointerDismissal` to the headless\n\t// primitive. AlertDialog's primitive pins both as fixed invariants;\n\t// Dialog's primitive resolves them from its props.\n\tconst modal = options.api.modal;\n\tconst disablePointerDismissal = options.api.disablePointerDismissal;\n\n\t// Adopt the handle's store if supplied; otherwise own one.\n\tconst store = (props.handle?.store ?? new DialogStore<Payload>()) as\n\t\t| DialogStore<Payload>\n\t\t| DialogStore<unknown>;\n\n\tconst [preventUnmountingOnClose, setPreventUnmountingOnClose] = createSignal(\n\t\tfalse,\n\t\t{ ownedWrite: true },\n\t);\n\n\t// `open` is owned by the headless primitive (which threads the\n\t// wrapper's controlled/uncontrolled resolution in). `setOpenInternal`\n\t// mirrors Base UI's `DialogStore.setOpen`: fire `onOpenChange`, honor\n\t// `details.cancel()`, then write the uncontrolled state (ignored for\n\t// reads while the `open` prop is controlled).\n\tconst open = options.api.open;\n\n\tconst setOpenInternal = (\n\t\tnext: boolean,\n\t\tdetails: DialogRootChangeEventDetails,\n\t): void => {\n\t\tprops.onOpenChange?.(next, details);\n\t\tif (details.isCanceled) return;\n\t\toptions.setUncontrolledOpen?.(next);\n\t};\n\n\tconst { mounted, transitionStatus, setMounted } = useTransitionStatus(\n\t\topen,\n\t\t() => true,\n\t\t() => false,\n\t);\n\n\tconst popupRef: MutableRef<HTMLElement | null> = { current: null };\n\tconst backdropRef: MutableRef<HTMLElement | null> = { current: null };\n\tconst internalBackdropRef: MutableRef<HTMLElement | null> = { current: null };\n\tconst outsidePressEnabledRef: MutableRef<boolean> = { current: true };\n\n\tuseOpenChangeComplete({\n\t\topen,\n\t\tref: popupRef,\n\t\tonComplete: () => {\n\t\t\tif (!open() && !preventUnmountingOnClose()) {\n\t\t\t\tsetMounted(false);\n\t\t\t}\n\t\t\tprops.onOpenChangeComplete?.(open());\n\t\t},\n\t});\n\n\tconst [titleId, setTitleId] = createSignal<string | undefined>(undefined, {\n\t\townedWrite: true,\n\t});\n\tconst [descriptionId, setDescriptionId] = createSignal<string | undefined>(\n\t\tundefined,\n\t\t{ ownedWrite: true },\n\t);\n\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\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 [popupElement, setPopupElement] = createSignal<HTMLElement | null>(\n\t\tnull,\n\t\t{ ownedWrite: true },\n\t);\n\tconst [viewportElement, setViewportElement] =\n\t\tcreateSignal<HTMLElement | null>(null, { ownedWrite: true });\n\n\tconst [payload, setPayload] = createSignal<Payload | undefined>(undefined, {\n\t\townedWrite: true,\n\t});\n\n\tstore.attachSetPayload((p) => {\n\t\tsetPayload(() => p as Payload | undefined);\n\t});\n\tonCleanup(() => store.attachSetPayload(null));\n\n\tconst { openMethod } = useOpenInteractionType(open);\n\n\tconst [ownNestedOpenDialogs, setOwnNestedOpenDialogs] = createSignal(0, {\n\t\townedWrite: true,\n\t});\n\tconst [ownNestedOpenDrawers, setOwnNestedOpenDrawers] = createSignal(0, {\n\t\townedWrite: true,\n\t});\n\tconst isTopmost = createMemo<boolean>(() => ownNestedOpenDialogs() === 0);\n\n\tconst floatingRootContext: FloatingRootStore = useFloatingRootContext({\n\t\topen: untrack(open),\n\t\tonOpenChange: (nextOpen, details) => {\n\t\t\tsetOpenInternal(nextOpen, details as DialogRootChangeEventDetails);\n\t\t},\n\t});\n\n\tcreateEffect(\n\t\t() => ({\n\t\t\to: open(),\n\t\t\ttrigger: triggerElement(),\n\t\t\tpopup: popupElement(),\n\t\t\t// Capture transitionStatus in compute (snapshot pattern) — apply\n\t\t\t// runs unowned so a direct read would trip\n\t\t\t// `[STRICT_READ_UNTRACKED]`.\n\t\t\tstatus: transitionStatus(),\n\t\t}),\n\t\t({ o, trigger, popup, status }) =>\n\t\t\tuntrack(() => {\n\t\t\t\tfloatingRootContext.update({\n\t\t\t\t\topen: o,\n\t\t\t\t\treferenceElement: trigger,\n\t\t\t\t\tdomReferenceElement: trigger,\n\t\t\t\t\tfloatingElement: popup,\n\t\t\t\t\ttransitionStatus: status,\n\t\t\t\t});\n\t\t\t}),\n\t);\n\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// Dismiss — Escape, outside press, focus-out. For dialogs:\n\t// - Mouse outside-press: `intentional` (requires unbroken mouse\n\t//   sequence on the same target) for modal, `sloppy` for trap-focus.\n\t// - Touch: `sloppy`.\n\t// - Escape: only when topmost.\n\tconst dismiss = useDismiss(floatingRootContext, {\n\t\toutsidePressEvent: {\n\t\t\tget mouse() {\n\t\t\t\treturn untrack(() =>\n\t\t\t\t\tmodal() === \"trap-focus\" ? \"sloppy\" : \"intentional\",\n\t\t\t\t);\n\t\t\t},\n\t\t\ttouch: \"sloppy\",\n\t\t},\n\t\t// `outsidePress` may be invoked from useDismiss's effect-apply scope\n\t\t// during synthetic events. Wrap reads in `untrack`.\n\t\toutsidePress(event) {\n\t\t\treturn untrack(() => {\n\t\t\t\tif (!outsidePressEnabledRef.current) return false;\n\t\t\t\tif (disablePointerDismissal()) return false;\n\t\t\t\tif (\"button\" in event && event.button !== 0) return false;\n\t\t\t\tif (\"touches\" in event && event.touches.length !== 1) return false;\n\t\t\t\tif (!isTopmost()) return false;\n\t\t\t\treturn true;\n\t\t\t});\n\t\t},\n\t\tescapeKey: isTopmost,\n\t});\n\n\tconst role = useRole(floatingRootContext, { role: options.role });\n\n\tconst interactions: UseInteractionsReturn = useInteractions([dismiss, role]);\n\n\tuseScrollLock({\n\t\tenabled: () => open() && modal() === true,\n\t\treferenceElement: () => popupElement(),\n\t});\n\n\tconst setOpen = (\n\t\tnext: boolean,\n\t\tdetails: DialogRootChangeEventDetails,\n\t): void => {\n\t\tif (typeof details.preventUnmountOnClose !== \"function\") {\n\t\t\tdetails.preventUnmountOnClose = () => {\n\t\t\t\tsetPreventUnmountingOnClose(true);\n\t\t\t};\n\t\t} else {\n\t\t\tconst original = details.preventUnmountOnClose;\n\t\t\tdetails.preventUnmountOnClose = () => {\n\t\t\t\tsetPreventUnmountingOnClose(true);\n\t\t\t\toriginal();\n\t\t\t};\n\t\t}\n\n\t\tif (next) setPreventUnmountingOnClose(false);\n\n\t\tsetOpenInternal(next, details);\n\n\t\t// Base UI returns before trigger-state mirroring when the change\n\t\t// was canceled via `details.cancel()`.\n\t\tif (details.isCanceled) return;\n\n\t\tif (details.trigger && (details.trigger as HTMLElement).id) {\n\t\t\tsetActiveTriggerIdInternal((details.trigger as HTMLElement).id);\n\t\t\tsetTriggerElementInternal(details.trigger as HTMLElement);\n\t\t}\n\t};\n\n\tstore.attachSetOpen((next, details) => {\n\t\tsetOpen(next, details);\n\t});\n\tonCleanup(() => store.attachSetOpen(null));\n\n\tcreateEffect(\n\t\t() => open(),\n\t\t(o) => {\n\t\t\tstore.setOpenMirror(o);\n\t\t},\n\t);\n\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\tcreateEffect(\n\t\t() => ({\n\t\t\to: open(),\n\t\t\tdialogs: ownNestedOpenDialogs(),\n\t\t\tdrawers: ownNestedOpenDrawers(),\n\t\t}),\n\t\t({ o, dialogs, drawers }) => {\n\t\t\tif (!parentDialogContext) return undefined;\n\t\t\tif (o) {\n\t\t\t\tparentDialogContext.onNestedDialogOpen(\n\t\t\t\t\tdialogs + 1,\n\t\t\t\t\tdrawers + (isDrawer ? 1 : 0),\n\t\t\t\t);\n\t\t\t\treturn () => {\n\t\t\t\t\tparentDialogContext.onNestedDialogClose();\n\t\t\t\t};\n\t\t\t}\n\t\t\tparentDialogContext.onNestedDialogClose();\n\t\t\treturn undefined;\n\t\t},\n\t);\n\n\tconst makeImperativeDetails = (): DialogRootChangeEventDetails =>\n\t\tcreateChangeEventDetails<\n\t\t\tDialogRootChangeEventReason,\n\t\t\t{ preventUnmountOnClose: () => void }\n\t\t>(\n\t\t\tREASONS.imperativeAction as DialogRootChangeEventReason,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\t{ preventUnmountOnClose: () => {} },\n\t\t) as DialogRootChangeEventDetails;\n\n\tconst actions: DialogRootInternalActions = {\n\t\tclose: () => setOpen(false, makeImperativeDetails()),\n\t\tunmount: () => {\n\t\t\tsetPreventUnmountingOnClose(false);\n\t\t\tsetOpen(false, makeImperativeDetails());\n\t\t\tsetMounted(false);\n\t\t},\n\t};\n\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 openMethodAccessor = (): InteractionType | null => openMethod();\n\n\tconst onNestedDialogOpen = (\n\t\tdialogCount: number,\n\t\tdrawerCount: number,\n\t): void => {\n\t\tsetOwnNestedOpenDialogs(dialogCount);\n\t\tsetOwnNestedOpenDrawers(drawerCount);\n\t};\n\tconst onNestedDialogClose = (): void => {\n\t\tsetOwnNestedOpenDialogs(0);\n\t\tsetOwnNestedOpenDrawers(0);\n\t};\n\n\tconst contextValue: DialogRootContextValue<Payload> = {\n\t\topen,\n\t\tmounted,\n\t\ttransitionStatus,\n\t\tmodal,\n\t\tdisablePointerDismissal,\n\t\trole: () => options.role,\n\t\tnested: () => nested,\n\t\tnestedOpenDialogCount: ownNestedOpenDialogs,\n\t\tnestedOpenDrawerCount: ownNestedOpenDrawers,\n\t\topenMethod: openMethodAccessor,\n\t\ttitleId,\n\t\tsetTitleId,\n\t\tdescriptionId,\n\t\tsetDescriptionId,\n\t\tfloatingRootContext,\n\t\tinteractions,\n\t\tsetOpen,\n\t\tpopupRef,\n\t\tbackdropRef,\n\t\tinternalBackdropRef,\n\t\toutsidePressEnabledRef,\n\t\tpopupElement,\n\t\tsetPopupElement,\n\t\tviewportElement,\n\t\tsetViewportElement,\n\t\ttriggerElement,\n\t\tsetTriggerElement,\n\t\tactiveTriggerId,\n\t\tsetActiveTriggerId,\n\t\tstore: store as DialogStore<Payload>,\n\t\tpayload,\n\t\tsetPayload: (p) => setPayload(() => p),\n\t\tonNestedDialogOpen,\n\t\tonNestedDialogClose,\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 DialogPayloadChildRenderFunction<Payload>)({\n\t\t\t\tpayload: payload(),\n\t\t\t});\n\t\t}\n\t\treturn ch as JSX.Element;\n\t};\n\n\treturn (\n\t\t<IsDrawerContext value={false}>\n\t\t\t<DialogRootContext\n\t\t\t\tvalue={contextValue as DialogRootContextValue<unknown>}\n\t\t\t>\n\t\t\t\t{resolveChildren()}\n\t\t\t</DialogRootContext>\n\t\t</IsDrawerContext>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}