{"version":3,"names":["dynamic","omit","Show","mergeRootProps","resolveClassStyle","useRadioRootContext","RadioIndicator","props","context","state","shouldRender","keepMounted","checked","stateAttrs","data-checked","undefined","data-unchecked","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":["radio-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 RadioRootState,\n\tuseRadioRootContext,\n} from \"../radio-root-context.ts\";\n\nexport interface RadioIndicatorState extends RadioRootState {}\n\nexport interface RadioIndicatorProps\n\textends BaseUIComponentProps<\"span\", RadioIndicatorState> {\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 mounted in the DOM when the radio is not\n\t * checked.\n\t * @default false\n\t */\n\tkeepMounted?: boolean | undefined;\n}\n\n/**\n * Indicates whether the radio button is selected. Renders a `<span>` (or\n * `as` override) inside `<Radio.Root>`.\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` plus the field-state\n * attrs) inline as getters reading from the root context's state\n * accessor. The `<Show>` gate is preserved.\n */\nexport function RadioIndicator(props: RadioIndicatorProps): JSX.Element {\n\tconst context = useRadioRootContext();\n\tconst state = context.state;\n\n\tconst shouldRender = (): boolean => {\n\t\tif (props.keepMounted === true) return true;\n\t\treturn context.checked();\n\t};\n\n\tconst stateAttrs = {\n\t\tget \"data-checked\"(): \"\" | undefined {\n\t\t\treturn state().checked ? \"\" : undefined;\n\t\t},\n\t\tget \"data-unchecked\"(): \"\" | undefined {\n\t\t\treturn state().checked ? 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":[]}