{"version":3,"names":["dynamic","omit","Show","mergeRootProps","resolveClassStyle","useCheckboxRootContext","CheckboxIndicator","props","context","state","keepMounted","shouldRender","checked","indeterminate","stateAttrs","data-checked","undefined","data-unchecked","data-indeterminate","data-disabled","disabled","data-readonly","readOnly","data-required","required","data-valid","valid","data-invalid","data-touched","touched","data-dirty","dirty","data-filled","filled","data-focused","focused","userStyling","userProps","styledUserProps","merged","Tag","as"],"sources":["checkbox-indicator.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit, Show } from \"solid-js\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport {\n\ttype CheckboxRootState,\n\tuseCheckboxRootContext,\n} from \"../checkbox-root-context.ts\";\n\nexport interface CheckboxIndicatorState extends CheckboxRootState {}\n\nexport interface CheckboxIndicatorProps\n\textends BaseUIComponentProps<\"span\", CheckboxIndicatorState> {\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/**\n\t * Whether to keep the element in the DOM when the checkbox is not\n\t * checked.\n\t * @default false\n\t */\n\tkeepMounted?: boolean | undefined;\n}\n\n/**\n * Indicates whether the checkbox is ticked. Renders a `<span>` (or `as`\n * override) by default.\n *\n * Solid 2.0-native rewire (§1 wave 1): replaces `renderElement` with\n * `dynamic(() => props.as ?? \"span\")` and emits the same `data-*`\n * projection (`data-checked`/`data-unchecked`/`data-indeterminate` plus\n * the field-state attrs) inline as getters reading from the root\n * context's state accessor. The conditional mount via `<Show>` is\n * preserved.\n */\nexport function CheckboxIndicator(props: CheckboxIndicatorProps): JSX.Element {\n\tconst context = useCheckboxRootContext();\n\tconst state = context.state;\n\n\tconst keepMounted = (): boolean => props.keepMounted ?? false;\n\tconst shouldRender = (): boolean =>\n\t\tkeepMounted() || context.checked() || context.indeterminate();\n\n\tconst stateAttrs = {\n\t\t// `data-checked` / `data-unchecked` are suppressed when indeterminate\n\t\t// (matches the root projection — `data-indeterminate` owns that state).\n\t\tget \"data-checked\"(): \"\" | undefined {\n\t\t\tif (state().indeterminate) return undefined;\n\t\t\treturn state().checked ? \"\" : undefined;\n\t\t},\n\t\tget \"data-unchecked\"(): \"\" | undefined {\n\t\t\tif (state().indeterminate) return undefined;\n\t\t\treturn state().checked ? undefined : \"\";\n\t\t},\n\t\tget \"data-indeterminate\"(): \"\" | undefined {\n\t\t\treturn state().indeterminate ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-readonly\"(): \"\" | undefined {\n\t\t\treturn state().readOnly ? \"\" : undefined;\n\t\t},\n\t\tget \"data-required\"(): \"\" | undefined {\n\t\t\treturn state().required ? \"\" : undefined;\n\t\t},\n\t\tget \"data-valid\"(): \"\" | undefined {\n\t\t\treturn state().valid === true ? \"\" : undefined;\n\t\t},\n\t\tget \"data-invalid\"(): \"\" | undefined {\n\t\t\treturn state().valid === false ? \"\" : undefined;\n\t\t},\n\t\tget \"data-touched\"(): \"\" | undefined {\n\t\t\treturn state().touched ? \"\" : undefined;\n\t\t},\n\t\tget \"data-dirty\"(): \"\" | undefined {\n\t\t\treturn state().dirty ? \"\" : undefined;\n\t\t},\n\t\tget \"data-filled\"(): \"\" | undefined {\n\t\t\treturn state().filled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-focused\"(): \"\" | undefined {\n\t\t\treturn state().focused ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst userStyling = resolveClassStyle(props, () => state());\n\n\tconst userProps = omit(props, \"class\", \"style\", \"attrs\", \"as\", \"keepMounted\");\n\n\tconst styledUserProps = mergeRootProps(userStyling, userProps);\n\n\tconst merged = mergeRootProps(stateAttrs, styledUserProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"span\");\n\treturn (\n\t\t<Show when={shouldRender()}>\n\t\t\t<Tag {...merged} />\n\t\t</Show>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}