{"version":3,"names":["dynamic","createMemo","createSignal","omit","untrack","activeElement","contains","ownerDocument","mergeRootProps","useOpenChangeComplete","resolveClassStyle","createStableCallback","useIsoLayoutEffect","useSwipeDismiss","useToastProviderContext","ToastRootContext","TOAST_INDEX","TOAST_OFFSET_Y","TOAST_HEIGHT","SWIPE_MOVEMENT_X","SWIPE_MOVEMENT_Y","getToastStackIndices","toasts","id","visibleIndex","offsetY","domIndex","visibleIdx","offset","i","length","item","isEnding","transitionStatus","height","ToastRoot","props","store","toast","find","t","equals","stackIndices","titleId","setTitleId","undefined","ownedWrite","descriptionId","setDescriptionId","rootEl","rootRef","current","value","open","ref","onComplete","removeToast","recalculateHeight","el","previousHeight","style","offsetHeight","updateToastInternal","toastId","isHighPriority","priority","handleKeyDown","event","key","closeToast","initialSwipeDirection","swipeDirection","swipeDirections","Array","isArray","swipeEnabled","swipe","enabled","directions","elementRef","movementCssVars","x","y","onDismiss","_event","_details","contextValue","expanded","userClassStyle","limited","Boolean","type","swiping","userHtmlProps","forwardMouseEventToViewport","vp","viewport","dispatchEvent","Event","internalProps","onMouseEnter","onMouseLeave","tabIndex","role","aria-labelledby","aria-describedby","aria-hidden","focused","onKeyDown","onPointerDown","getPointerProps","onPointerMove","onPointerUp","onPointerCancel","dragStyles","getDragStyles","index","data-starting-style","data-ending-style","data-swipe-direction","data-expanded","data-limited","data-swiping","data-type","inert","merged","Tag","as","children"],"sources":["toast-root.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, createSignal, omit, untrack } from \"solid-js\";\nimport { activeElement } from \"../../internals/dom/active-element\";\nimport { contains } from \"../../internals/dom/contains\";\nimport { ownerDocument } from \"../../internals/dom/owner-document\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { useOpenChangeComplete } from \"../../internals/popups/use-open-change-complete\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport { createStableCallback } from \"../../internals/stable-callback\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { useIsoLayoutEffect } from \"../../internals/use-iso-layout-effect\";\nimport {\n\ttype SwipeDirection,\n\tuseSwipeDismiss,\n} from \"../../internals/use-swipe-dismiss\";\nimport { useToastProviderContext } from \"../provider/toast-provider-context\";\nimport type { ToastObject } from \"../use-toast-manager\";\nimport {\n\tToastRootContext,\n\ttype ToastRootContextValue,\n\ttype ToastRootState,\n} from \"./toast-root-context\";\n\nexport type { ToastRootState };\n\nconst TOAST_INDEX = \"--toast-index\";\nconst TOAST_OFFSET_Y = \"--toast-offset-y\";\nconst TOAST_HEIGHT = \"--toast-height\";\nconst SWIPE_MOVEMENT_X = \"--toast-swipe-movement-x\";\nconst SWIPE_MOVEMENT_Y = \"--toast-swipe-movement-y\";\n\nfunction getToastStackIndices(\n\ttoasts: ToastObject<object>[],\n\tid: string,\n): { domIndex: number; visibleIndex: number; offsetY: number } {\n\tlet visibleIndex = 0;\n\tlet offsetY = 0;\n\tlet domIndex = -1;\n\tlet visibleIdx = -1;\n\tlet offset = 0;\n\n\tfor (let i = 0; i < toasts.length; i++) {\n\t\tconst item = toasts[i];\n\t\tif (!item) continue;\n\t\tconst isEnding = item.transitionStatus === \"ending\";\n\t\tif (item.id === id) {\n\t\t\tdomIndex = i;\n\t\t\tvisibleIdx = isEnding ? -1 : visibleIndex;\n\t\t\toffset = offsetY;\n\t\t}\n\t\toffsetY += item.height ?? 0;\n\t\tif (!isEnding) {\n\t\t\tvisibleIndex += 1;\n\t\t}\n\t}\n\n\treturn { domIndex, visibleIndex: visibleIdx, offsetY: offset };\n}\n\nexport interface ToastRootProps\n\textends BaseUIComponentProps<\"div\", ToastRootState> {\n\tas?: ValidComponent;\n\ttoast: ToastObject<object>;\n\tswipeDirection?:\n\t\t| \"up\"\n\t\t| \"down\"\n\t\t| \"left\"\n\t\t| \"right\"\n\t\t| Array<\"up\" | \"down\" | \"left\" | \"right\">\n\t\t| undefined;\n}\n\nexport function ToastRoot(props: ToastRootProps): JSX.Element {\n\tconst store = useToastProviderContext();\n\n\t// `equals: false` because the store mutates a toast's `height` /\n\t// `transitionStatus` IN PLACE (to keep the keyed `<For>` row mounted — see\n\t// `updateToastInternal`). `find` would otherwise return the same object\n\t// reference and the memo, with default identity equality, would not\n\t// re-notify style/`data-*` readers when those fields change. Forcing\n\t// notification on every queue write keeps the CSS height var and transition\n\t// attributes live without resurrecting the row-rebuild feedback loop.\n\tconst toast = createMemo(\n\t\t(): ToastObject<object> => {\n\t\t\tconst id = props.toast.id;\n\t\t\treturn store.toasts().find((t) => t.id === id) ?? props.toast;\n\t\t},\n\t\t{ equals: false },\n\t);\n\n\tconst stackIndices = createMemo(() =>\n\t\tgetToastStackIndices(store.toasts(), toast().id),\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\tlet rootEl: HTMLDivElement | null = null;\n\tconst rootRef = {\n\t\tget current(): HTMLElement | null {\n\t\t\treturn rootEl;\n\t\t},\n\t\tset current(value: HTMLElement | null) {\n\t\t\trootEl = value as HTMLDivElement | null;\n\t\t},\n\t};\n\n\tuseOpenChangeComplete({\n\t\topen: () => toast().transitionStatus !== \"ending\",\n\t\tref: rootRef,\n\t\tonComplete() {\n\t\t\tif (toast().transitionStatus === \"ending\") {\n\t\t\t\tstore.removeToast(toast().id);\n\t\t\t}\n\t\t},\n\t});\n\n\t// Matches React `ToastRoot.recalculateHeight` / Solid v1 `setHeights`.\n\tconst recalculateHeight = createStableCallback(() => () => {\n\t\tconst el = rootEl;\n\t\tif (!el) return;\n\n\t\tconst previousHeight = el.style.height;\n\t\tel.style.height = \"auto\";\n\t\tconst height = el.offsetHeight;\n\t\tel.style.height = previousHeight;\n\n\t\tconst current = untrack(toast);\n\t\t// Use the resolved (untracked) toast id rather than reading the reactive\n\t\t// `props.toast` getter directly — `recalculateHeight` runs from effect\n\t\t// and ref scopes, where a tracked read trips `[STRICT_READ_UNTRACKED]`.\n\t\t// `current.id` equals `props.toast.id` (the memo matches by id).\n\t\tstore.updateToastInternal(current.id, {\n\t\t\theight,\n\t\t\t...(current.transitionStatus === \"starting\"\n\t\t\t\t? { transitionStatus: undefined }\n\t\t\t\t: {}),\n\t\t});\n\t});\n\n\t// `rootEl` is a plain let — track mount via ref + layout effect keyed on\n\t// the toast's id. Split-effect applies re-run on every compute\n\t// RE-EXECUTION (not when the compute's return value changes), so the\n\t// compute must read a value that only notifies on a genuine id change.\n\t// Reading `toast().id` directly would subscribe to the `toast` memo, which\n\t// returns a fresh object on every queue write and thus notifies on each\n\t// one — and because the apply calls `recalculateHeight` (which WRITES the\n\t// queue), that is a self-feeding loop. In happy-dom the height is constant\n\t// so `updateToastInternal`'s no-op guard halts it, but in a real browser\n\t// sub-pixel measurement oscillation defeats the guard and the effect spins\n\t// at 100% CPU. Gate through a memo so the apply only fires when the id\n\t// actually changes (i.e. once, at mount).\n\tconst toastId = createMemo(() => toast().id);\n\tuseIsoLayoutEffect(\n\t\t() => toastId(),\n\t\t() => {\n\t\t\tif (rootEl) recalculateHeight();\n\t\t},\n\t);\n\n\tconst isHighPriority = (): boolean => toast().priority === \"high\";\n\n\tfunction handleKeyDown(event: KeyboardEvent): void {\n\t\tif (event.key !== \"Escape\") return;\n\t\tconst el = rootEl;\n\t\tif (!el) return;\n\t\tif (!contains(el, activeElement(ownerDocument(el)) as Element | null))\n\t\t\treturn;\n\t\tstore.closeToast(toast().id);\n\t}\n\n\tconst initialSwipeDirection = props.swipeDirection ?? [\"down\", \"right\"];\n\tconst swipeDirections: SwipeDirection[] = Array.isArray(initialSwipeDirection)\n\t\t? initialSwipeDirection\n\t\t: [initialSwipeDirection];\n\tconst swipeEnabled = swipeDirections.length > 0;\n\n\tconst swipe = useSwipeDismiss({\n\t\tenabled: () => swipeEnabled,\n\t\tdirections: swipeDirections,\n\t\telementRef: () => rootEl,\n\t\tmovementCssVars: { x: SWIPE_MOVEMENT_X, y: SWIPE_MOVEMENT_Y },\n\t\tonDismiss(_event, _details) {\n\t\t\tstore.closeToast(toast().id);\n\t\t},\n\t});\n\n\tconst visibleIndex = createMemo(() => stackIndices().visibleIndex);\n\n\tconst contextValue: ToastRootContextValue = {\n\t\ttoast,\n\t\ttitleId,\n\t\tsetTitleId,\n\t\tdescriptionId,\n\t\tsetDescriptionId,\n\t\texpanded: store.expanded,\n\t\tvisibleIndex,\n\t\trecalculateHeight,\n\t};\n\tconst userClassStyle = resolveClassStyle(props, () => ({\n\t\ttransitionStatus: toast().transitionStatus,\n\t\texpanded: store.expanded(),\n\t\tlimited: Boolean(toast().limited),\n\t\ttype: toast().type,\n\t\tswiping: swipe.swiping(),\n\t\tswipeDirection: swipe.swipeDirection(),\n\t}));\n\n\tconst userHtmlProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"toast\",\n\t\t\"swipeDirection\",\n\t\t\"children\",\n\t) as Record<string, unknown>;\n\n\tfunction forwardMouseEventToViewport(\n\t\ttype: \"mouseenter\" | \"mouseleave\",\n\t): void {\n\t\tconst vp = store.viewport();\n\t\tif (vp) vp.dispatchEvent(new Event(type));\n\t}\n\n\tconst internalProps = {\n\t\tref: (el: HTMLDivElement | null) => {\n\t\t\trootEl = el;\n\t\t\tif (el) recalculateHeight();\n\t\t},\n\t\tonMouseEnter: () => forwardMouseEventToViewport(\"mouseenter\"),\n\t\tonMouseLeave: () => forwardMouseEventToViewport(\"mouseleave\"),\n\t\ttabIndex: 0,\n\t\t\"aria-modal\": false,\n\t\tget role() {\n\t\t\treturn isHighPriority() ? \"alertdialog\" : \"dialog\";\n\t\t},\n\t\tget \"aria-labelledby\"() {\n\t\t\treturn titleId() ?? \"\";\n\t\t},\n\t\tget \"aria-describedby\"() {\n\t\t\treturn descriptionId() ?? \"\";\n\t\t},\n\t\tget \"aria-hidden\"() {\n\t\t\treturn isHighPriority() && !store.focused() ? \"true\" : undefined;\n\t\t},\n\t\tonKeyDown: handleKeyDown,\n\t\tget onPointerDown() {\n\t\t\treturn swipe.getPointerProps().onPointerDown;\n\t\t},\n\t\tget onPointerMove() {\n\t\t\treturn swipe.getPointerProps().onPointerMove;\n\t\t},\n\t\tget onPointerUp() {\n\t\t\treturn swipe.getPointerProps().onPointerUp;\n\t\t},\n\t\tget onPointerCancel() {\n\t\t\treturn swipe.getPointerProps().onPointerCancel;\n\t\t},\n\t\tget style(): JSX.CSSProperties {\n\t\t\tconst dragStyles = swipe.getDragStyles();\n\t\t\tconst current = toast();\n\t\t\tconst { domIndex, visibleIndex, offsetY } = stackIndices();\n\t\t\tconst index =\n\t\t\t\tcurrent.transitionStatus === \"ending\" ? domIndex : visibleIndex;\n\t\t\treturn {\n\t\t\t\t...dragStyles,\n\t\t\t\t[TOAST_INDEX]: index,\n\t\t\t\t[TOAST_OFFSET_Y]: `${offsetY}px`,\n\t\t\t\t...(current.height != null && current.height > 0\n\t\t\t\t\t? { [TOAST_HEIGHT]: `${current.height}px` }\n\t\t\t\t\t: {}),\n\t\t\t};\n\t\t},\n\t\tget \"data-starting-style\"(): \"\" | undefined {\n\t\t\treturn toast().transitionStatus === \"starting\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-ending-style\"(): \"\" | undefined {\n\t\t\treturn toast().transitionStatus === \"ending\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-swipe-direction\"() {\n\t\t\treturn swipe.swipeDirection();\n\t\t},\n\t\tget \"data-expanded\"(): \"\" | undefined {\n\t\t\treturn store.expanded() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-limited\"(): \"\" | undefined {\n\t\t\treturn toast().limited ? \"\" : undefined;\n\t\t},\n\t\tget \"data-swiping\"(): \"\" | undefined {\n\t\t\treturn swipe.swiping() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-type\"() {\n\t\t\treturn toast().type;\n\t\t},\n\t\tget inert(): boolean | undefined {\n\t\t\treturn toast().limited ? true : undefined;\n\t\t},\n\t};\n\n\tconst merged = mergeRootProps(\n\t\tmergeRootProps(internalProps, userClassStyle),\n\t\tuserHtmlProps,\n\t);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<Tag {...merged}>\n\t\t\t<ToastRootContext value={contextValue}>{props.children}</ToastRootContext>\n\t\t</Tag>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}