{"version":3,"names":["dynamic","createMemo","omit","Show","composeRefs","userRef","mergeRootProps","useOpenChangeComplete","resolveClassStyle","useTransitionStatus","useMenuCheckboxItemContext","MenuCheckboxItemIndicator","props","item","indicatorRef","current","setRef","el","mounted","transitionStatus","setMounted","checked","open","ref","onComplete","keepMounted","shouldRender","state","disabled","highlighted","internal","data-highlighted","undefined","data-disabled","data-checked","data-unchecked","data-starting-style","data-ending-style","userClassStyle","userProps","merged","Tag","as"],"sources":["menu-checkbox-item-indicator.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\n/**\n * `<Menu.CheckboxItemIndicator>` — visual indicator shown inside a checked\n * `<Menu.CheckboxItem>`. Mirrors React.\n */\n\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit, Show } from \"solid-js\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport type { MutableRef } from \"../../internals/floating-ui/types\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { useOpenChangeComplete } from \"../../internals/popups/use-open-change-complete\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport {\n\ttype TransitionStatus,\n\tuseTransitionStatus,\n} from \"../../internals/use-transition-status/use-transition-status\";\nimport { useMenuCheckboxItemContext } from \"../checkbox-item/menu-checkbox-item-context\";\n\nexport interface MenuCheckboxItemIndicatorState {\n\tchecked: boolean;\n\tdisabled: boolean;\n\thighlighted: boolean;\n\ttransitionStatus: TransitionStatus;\n}\n\nexport interface MenuCheckboxItemIndicatorProps\n\textends BaseUIComponentProps<\"span\", MenuCheckboxItemIndicatorState> {\n\t/**\n\t * Tag/component to render. Defaults to `\"span\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n\t/** @default false */\n\tkeepMounted?: boolean | undefined;\n}\n\nexport function MenuCheckboxItemIndicator(\n\tprops: MenuCheckboxItemIndicatorProps,\n): JSX.Element {\n\tconst item = useMenuCheckboxItemContext();\n\tconst indicatorRef: MutableRef<HTMLElement | null> = { current: null };\n\tconst setRef = (el: HTMLElement | null): void => {\n\t\tindicatorRef.current = el;\n\t};\n\n\tconst { mounted, transitionStatus, setMounted } = useTransitionStatus(\n\t\titem.checked,\n\t);\n\n\tuseOpenChangeComplete({\n\t\topen: item.checked,\n\t\tref: indicatorRef,\n\t\tonComplete: () => {\n\t\t\tif (!item.checked()) setMounted(false);\n\t\t},\n\t});\n\n\tconst keepMounted = (): boolean => props.keepMounted ?? false;\n\tconst shouldRender = (): boolean => keepMounted() || mounted();\n\n\tconst state = createMemo<MenuCheckboxItemIndicatorState>(() => ({\n\t\tchecked: item.checked(),\n\t\tdisabled: item.disabled(),\n\t\thighlighted: item.highlighted(),\n\t\ttransitionStatus: transitionStatus(),\n\t}));\n\n\tconst internal = {\n\t\t\"aria-hidden\": true,\n\t\tget \"data-highlighted\"() {\n\t\t\treturn state().highlighted ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"() {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-checked\"() {\n\t\t\treturn state().checked ? \"\" : undefined;\n\t\t},\n\t\tget \"data-unchecked\"() {\n\t\t\treturn state().checked ? undefined : \"\";\n\t\t},\n\t\tget \"data-starting-style\"() {\n\t\t\treturn state().transitionStatus === \"starting\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-ending-style\"() {\n\t\t\treturn state().transitionStatus === \"ending\" ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => state());\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\n\t\t\"keepMounted\",\n\t);\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 ?? \"span\");\n\treturn (\n\t\t<Show when={shouldRender()}>\n\t\t\t<Tag {...merged} ref={composeRefs(setRef, userRef(props))} />\n\t\t</Show>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}