{"version":3,"names":["dynamic","createMemo","omit","onCleanup","composeRefs","userRef","mergeRootProps","resolveClassStyle","useIsoLayoutEffect","DrawerBackdropCssVars","DrawerPopupCssVars","useDrawerProviderContext","DrawerIndent","props","providerContext","state","active","indentEl","setIndentRef","el","visualStateStore","undefined","syncVisualState","swipeProgress","frontmostHeight","getSnapshot","style","setProperty","removeProperty","height","unsubscribe","subscribe","internal","data-active","data-inactive","userClassStyle","userProps","merged","Tag","as"],"sources":["drawer-indent.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\n/**\n * `<Drawer.Indent>` — wrapper for the app's main UI that applies\n * `data-active` when any drawer within the nearest `<Drawer.Provider>` is\n * open.\n */\n\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit, onCleanup } from \"solid-js\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { useIsoLayoutEffect } from \"../../internals/use-iso-layout-effect\";\nimport { DrawerBackdropCssVars } from \"../backdrop/drawer-backdrop-css-vars\";\nimport { DrawerPopupCssVars } from \"../popup/drawer-popup-css-vars\";\nimport { useDrawerProviderContext } from \"../provider/drawer-provider-context\";\n\nexport interface DrawerIndentState {\n\tactive: boolean;\n}\n\nexport interface DrawerIndentProps\n\textends BaseUIComponentProps<\"div\", DrawerIndentState> {\n\t/**\n\t * Tag/component to render. Defaults to `\"div\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n}\n\n/**\n * App-shell wrapper that keys off drawer activity. Renders a `<div>`.\n */\nexport function DrawerIndent(props: DrawerIndentProps): JSX.Element {\n\tconst providerContext = useDrawerProviderContext(true);\n\n\tconst state = createMemo<DrawerIndentState>(() => ({\n\t\tactive: providerContext?.active() ?? false,\n\t}));\n\n\tlet indentEl: HTMLDivElement | null = null;\n\tconst setIndentRef = (el: HTMLDivElement | null): void => {\n\t\tindentEl = el;\n\t};\n\n\tuseIsoLayoutEffect(\n\t\t() => providerContext?.visualStateStore,\n\t\t(visualStateStore) => {\n\t\t\tconst el = indentEl;\n\t\t\tif (!el || !visualStateStore) return undefined;\n\n\t\t\tconst syncVisualState = (): void => {\n\t\t\t\tconst { swipeProgress, frontmostHeight } =\n\t\t\t\t\tvisualStateStore.getSnapshot();\n\t\t\t\tif (swipeProgress <= 0) {\n\t\t\t\t\tel.style.setProperty(DrawerBackdropCssVars.swipeProgress, \"0\");\n\t\t\t\t} else {\n\t\t\t\t\tel.style.setProperty(\n\t\t\t\t\t\tDrawerBackdropCssVars.swipeProgress,\n\t\t\t\t\t\t`${swipeProgress}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (frontmostHeight <= 0) {\n\t\t\t\t\tel.style.removeProperty(DrawerPopupCssVars.height);\n\t\t\t\t} else {\n\t\t\t\t\tel.style.setProperty(\n\t\t\t\t\t\tDrawerPopupCssVars.height,\n\t\t\t\t\t\t`${frontmostHeight}px`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tsyncVisualState();\n\t\t\tconst unsubscribe = visualStateStore.subscribe(syncVisualState);\n\t\t\treturn () => {\n\t\t\t\tunsubscribe();\n\t\t\t\tel.style.setProperty(DrawerBackdropCssVars.swipeProgress, \"0\");\n\t\t\t\tel.style.removeProperty(DrawerPopupCssVars.height);\n\t\t\t};\n\t\t},\n\t);\n\n\tonCleanup(() => {\n\t\tindentEl = null;\n\t});\n\n\tconst internal = {\n\t\tget style(): JSX.CSSProperties {\n\t\t\treturn {\n\t\t\t\t[DrawerBackdropCssVars.swipeProgress]: \"0\",\n\t\t\t} as JSX.CSSProperties;\n\t\t},\n\t\tget \"data-active\"() {\n\t\t\treturn state().active ? \"\" : undefined;\n\t\t},\n\t\tget \"data-inactive\"() {\n\t\t\treturn state().active ? undefined : \"\";\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => state());\n\n\tconst userProps = omit(props, \"as\", \"class\", \"style\", \"attrs\");\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tinternal,\n\t\tuserClassStyle,\n\t);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn <Tag {...merged} ref={composeRefs(setIndentRef, userRef(props))} />;\n}\n"],"mappings":"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","ignoreList":[]}