{"version":3,"names":["dynamic","createMemo","omit","untrack","useBaseUiId","createChangeEventDetails","REASONS","composeRefs","userRef","ACTIVE_COMPOSITE_ITEM","useCompositeListItem","useFieldRootContext","fieldStateAttrs","HiddenInput","useAriaLabelledBy","readOption","mergeRootProps","resolveClassStyle","ariaLabelledBy","seedAriaLabelledBy","serializeValue","useButton","useFieldControlValidation","useValueChanged","useRadioGroupContext","createRadio","RadioRootContext","RadioRoot","props","field","group","disabled","readOnly","required","nativeButton","inGroup","present","controlledChecked","checkedValue","value","Boolean","checked","c","onCheckedChange","next","event","details","none","setCheckedValue","isCanceled","preventDefault","buttonProps","ref","buttonRef","native","compositeItemRef","id","controlRef","current","validation","getValue","inputRef","enabled","getAriaInvalidProps","fieldInputRef","setFilled","setDirty","validityData","initialValue","shouldValidateOnChange","commit","serializedValue","state","contextValue","v","undefined","radioExtraAttrs","radioStateAttrs","focusHandler","onFocus","defaultPrevented","touched","setTouched","userStyling","userProps","styledUserProps","merged","trigger","Tag","as","buttonElement","el","setAttribute","children","hiddenInput","name"],"sources":["radio-root.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit, untrack } from \"solid-js\";\nimport { useBaseUiId } from \"../../internals/base-ui-id\";\nimport {\n\ttype BaseUIChangeEventDetails,\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { ACTIVE_COMPOSITE_ITEM } from \"../../internals/composite/composite-constants.ts\";\nimport { useCompositeListItem } from \"../../internals/composite/composite-list.tsx\";\nimport {\n\ttype FieldRootState,\n\tuseFieldRootContext,\n} from \"../../internals/field-context.ts\";\nimport { fieldStateAttrs } from \"../../internals/field-state-attrs\";\nimport { HiddenInput } from \"../../internals/hidden-input/hidden-input.tsx\";\nimport { useAriaLabelledBy } from \"../../internals/labelable-provider/use-aria-labelled-by.ts\";\nimport { type MaybeAccessor, readOption } from \"../../internals/maybe-accessor\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport { ariaLabelledBy as seedAriaLabelledBy } from \"../../internals/seed-aria-attr\";\nimport { serializeValue } from \"../../internals/serialize-value.ts\";\nimport type {\n\tBaseUIComponentProps,\n\tNativeButtonProps,\n} from \"../../internals/types\";\nimport { useButton } from \"../../internals/use-button/use-button\";\nimport { useFieldControlValidation } from \"../../internals/use-field-control-validation/use-field-control-validation.ts\";\nimport { useValueChanged } from \"../../internals/use-value-changed.ts\";\nimport { useRadioGroupContext } from \"../../radio-group/radio-group-context.ts\";\nimport { createRadio } from \"../create-radio.tsx\";\nimport {\n\tRadioRootContext,\n\ttype RadioRootContextValue,\n\ttype RadioRootState,\n} from \"../radio-root-context.ts\";\n\nexport type RadioChangeEventReason = typeof REASONS.none;\nexport type RadioChangeEventDetails =\n\tBaseUIChangeEventDetails<RadioChangeEventReason>;\n\nexport type { RadioRootState };\n\nexport interface RadioRootProps<Value = unknown>\n\textends NativeButtonProps,\n\t\tOmit<BaseUIComponentProps<\"button\", RadioRootState>, \"value\"> {\n\t/**\n\t * Tag/component to render. Defaults to `\"button\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n\tvalue: Value;\n\tchecked?: MaybeAccessor<boolean | undefined>;\n\tdisabled?: boolean | undefined;\n\treadOnly?: MaybeAccessor<boolean | undefined>;\n\trequired?: MaybeAccessor<boolean | undefined>;\n\tonCheckedChange?:\n\t\t| ((checked: boolean, eventDetails: RadioChangeEventDetails) => void)\n\t\t| undefined;\n\tinputRef?: ((element: HTMLInputElement | null) => void) | undefined;\n\tname?: string | undefined;\n}\n\n/**\n * A selectable input in a group of options. Renders a non-native\n * `<button role=\"radio\">` (default tag) or `as` override, plus a hidden\n * `<input type=\"radio\">` beside it for native form submission.\n *\n * Solid 2.0-native rewire (§1 wave 1): replaces `renderElement` with\n * `dynamic(() => props.as ?? \"button\")` and threads\n * `createRadio().trigger()` (carrying role=radio, aria-checked/readonly/\n * required, data-checked/unchecked/disabled/readonly/required, onClick)\n * through `mergeRootProps` together with useButton + field-validation +\n * field-state attrs + the group-aware onFocus handler.\n */\nexport function RadioRoot<Value = unknown>(\n\tprops: RadioRootProps<Value>,\n): JSX.Element {\n\tconst field = useFieldRootContext();\n\tconst group = useRadioGroupContext();\n\n\tconst disabled = (): boolean =>\n\t\tfield.disabled() || group.disabled() || props.disabled === true;\n\tconst readOnly = (): boolean =>\n\t\tgroup.readOnly() || readOption(props.readOnly) === true;\n\tconst required = (): boolean =>\n\t\tgroup.required() || readOption(props.required) === true;\n\tconst nativeButton = (): boolean => props.nativeButton ?? true;\n\n\tconst inGroup = (): boolean => group.present;\n\n\tconst controlledChecked = (): boolean => {\n\t\tif (inGroup()) {\n\t\t\treturn group.checkedValue() === props.value;\n\t\t}\n\t\treturn Boolean(readOption(props.checked));\n\t};\n\n\tconst c = createRadio({\n\t\tchecked: controlledChecked,\n\t\tdisabled,\n\t\treadOnly,\n\t\trequired,\n\t\tonCheckedChange: (next, event) => {\n\t\t\tconst details = createChangeEventDetails(\n\t\t\t\tREASONS.none,\n\t\t\t\tevent,\n\t\t\t) as RadioChangeEventDetails;\n\n\t\t\tif (inGroup()) {\n\t\t\t\tgroup.setCheckedValue(props.value, details);\n\t\t\t\tprops.onCheckedChange?.(next, details);\n\t\t\t\tif (details.isCanceled) event.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tprops.onCheckedChange?.(next, details);\n\t\t\tif (details.isCanceled) event.preventDefault();\n\t\t},\n\t});\n\n\tconst checked = c.checked;\n\n\tconst { props: buttonProps, ref: buttonRef } = useButton({\n\t\tdisabled,\n\t\tnative: nativeButton,\n\t});\n\n\tconst { ref: compositeItemRef } = useCompositeListItem<unknown>({});\n\n\tconst id = useBaseUiId();\n\n\tconst controlRef: { current: HTMLElement | null } = { current: null };\n\n\tconst validation = useFieldControlValidation({\n\t\tvalue: checked,\n\t\tid: () => id,\n\t\tcontrolRef,\n\t\tgetValue: () => validation.inputRef.current?.checked ?? checked(),\n\t\tenabled: () => !group.present,\n\t});\n\tconst { getAriaInvalidProps, inputRef: fieldInputRef } = validation;\n\n\tuseValueChanged(checked, () => {\n\t\tconst value = checked();\n\t\tfield.setFilled(value);\n\t\tfield.setDirty(value !== field.validityData().initialValue);\n\t\tif (field.shouldValidateOnChange()) {\n\t\t\tvoid validation.commit(value);\n\t\t} else {\n\t\t\tvoid validation.commit(value, true);\n\t\t}\n\t});\n\n\tconst serializedValue = createMemo(() => serializeValue(props.value));\n\n\tconst state = (): RadioRootState => ({\n\t\t...field.state(),\n\t\tchecked: checked(),\n\t\tdisabled: disabled(),\n\t\treadOnly: readOnly(),\n\t\trequired: required(),\n\t});\n\n\tconst contextValue: RadioRootContextValue = {\n\t\tstate,\n\t\tchecked,\n\t};\n\n\tconst ariaLabelledBy = useAriaLabelledBy(() => {\n\t\tconst v = props[\"aria-labelledby\"];\n\t\treturn typeof v === \"string\" ? v : undefined;\n\t});\n\n\t// Field-state attrs (data-valid/invalid/touched/dirty/filled/focused)\n\t// not carried by c.trigger(). Spreading `fieldStateAttrs(...)` directly\n\t// would invoke its getters at body time and trip\n\t// `[STRICT_READ_UNTRACKED]`; combine via `mergeRootProps` so each\n\t// getter stays lazy.\n\tconst radioExtraAttrs = {\n\t\tget id() {\n\t\t\treturn id;\n\t\t},\n\t};\n\tconst radioStateAttrs = mergeRootProps(\n\t\tradioExtraAttrs,\n\t\tfieldStateAttrs(state),\n\t);\n\n\t// Group-aware onFocus: arrow-key navigation that lands on a radio when\n\t// `group.touched()` is set should auto-select. The primitive's onClick\n\t// handles click selection; we just add onFocus here.\n\tconst focusHandler = {\n\t\tonFocus: (event: FocusEvent) => {\n\t\t\tif (event.defaultPrevented) return;\n\t\t\tif (disabled() || readOnly()) return;\n\t\t\tif (!group.present || !group.touched()) return;\n\t\t\tgroup.setTouched(false);\n\t\t\tif (checked()) return;\n\t\t\tconst details = createChangeEventDetails(REASONS.none, event);\n\t\t\tgroup.setCheckedValue(props.value, details);\n\t\t},\n\t};\n\n\tconst userStyling = resolveClassStyle(props, () => state());\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"as\",\n\t\t\"aria-labelledby\",\n\t\t\"checked\",\n\t\t\"children\",\n\t\t\"disabled\",\n\t\t\"inputRef\",\n\t\t\"name\",\n\t\t\"nativeButton\",\n\t\t\"onCheckedChange\",\n\t\t\"readOnly\",\n\t\t\"required\",\n\t\t\"value\",\n\t);\n\n\t// Compose: useButton ∘ aria-labelledby ∘ field-validation aria-invalid ∘\n\t// c.trigger() ∘ fieldStateAttrs ∘ focusHandler ∘ userProps. Event\n\t// handlers chain in declaration order, gated by defaultPrevented.\n\tconst styledUserProps = mergeRootProps(userStyling, userProps);\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tbuttonProps,\n\t\tseedAriaLabelledBy(ariaLabelledBy),\n\t);\n\tmerged = mergeRootProps(merged, getAriaInvalidProps());\n\tmerged = mergeRootProps(merged, c.trigger());\n\tmerged = mergeRootProps(merged, radioStateAttrs);\n\tmerged = mergeRootProps(merged, focusHandler);\n\tmerged = mergeRootProps(merged, styledUserProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"button\");\n\tconst buttonElement = (\n\t\t<Tag\n\t\t\t{...merged}\n\t\t\tref={composeRefs(\n\t\t\t\t(el: HTMLElement | null) =>\n\t\t\t\t\tuntrack(() => {\n\t\t\t\t\t\tcontrolRef.current = el;\n\t\t\t\t\t\tif (el && group.present && checked()) {\n\t\t\t\t\t\t\tel.setAttribute(ACTIVE_COMPOSITE_ITEM, \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\tbuttonRef,\n\t\t\t\tcompositeItemRef,\n\t\t\t\tuserRef(props),\n\t\t\t)}\n\t\t>\n\t\t\t<RadioRootContext value={contextValue}>{props.children}</RadioRootContext>\n\t\t</Tag>\n\t);\n\n\tconst hiddenInput = (\n\t\t<HiddenInput\n\t\t\ttype=\"radio\"\n\t\t\taria-hidden=\"true\"\n\t\t\ttabindex={-1}\n\t\t\tref={(el: HTMLInputElement | null): void => {\n\t\t\t\tfieldInputRef.current = el;\n\t\t\t\tprops.inputRef?.(el);\n\t\t\t}}\n\t\t\tname={group.name() ?? field.name() ?? props.name}\n\t\t\tvalue={serializedValue()}\n\t\t\tchecked={checked()}\n\t\t\tdisabled={disabled()}\n\t\t\trequired={required()}\n\t\t/>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{buttonElement}\n\t\t\t{hiddenInput}\n\t\t</>\n\t);\n}\n\nexport type { FieldRootState };\n"],"mappings":"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","ignoreList":[]}