{"version":3,"names":["dynamic","createMemo","omit","useDirection","useBaseUiId","createChangeEventDetails","REASONS","composeRefs","userRef","CompositeList","useCompositeRoot","createControlledState","useFieldRootContext","fieldStateAttrs","readOption","mergeRootProps","resolveClassStyle","useFieldControlValidation","useValueChanged","createRadioGroup","RadioGroupContext","RadioGroup","props","field","direction","disabled","readOnly","required","name","form","id","undefined","resolvedValue","setUncontrolledValue","controlled","value","default","defaultValue","fallback","state","c","onValueChange","next","event","details","none","isCanceled","preventDefault","checkedValue","setCheckedValue","eventDetails","setValue","controlRef","current","validation","getValue","setFilled","setDirty","validityData","initialValue","shouldValidateOnChange","commit","composite","orientation","loopFocus","enableHomeAndEndKeys","touched","getTouched","setTouched","contextValue","present","userStyling","userProps","wrapperHandlers","onFocus","setFocused","onKeyDown","key","startsWith","onBlur","currentTarget","relatedTarget","contains","validationMode","internalSlot","role","data-disabled","data-readonly","data-required","aria-required","aria-disabled","aria-readonly","styledUserProps","merged","getAriaInvalidProps","Tag","as","el","rootRef","elementsRef","onMapChange","children"],"sources":["radio-group.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, omit } from \"solid-js\";\nimport { useDirection } from \"../direction-provider/direction-provider-context.ts\";\nimport { useBaseUiId } from \"../internals/base-ui-id\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../internals/compose-refs\";\nimport { CompositeList } from \"../internals/composite/composite-list.tsx\";\nimport { useCompositeRoot } from \"../internals/composite/composite-root.ts\";\nimport { createControlledState } from \"../internals/create-controlled-state\";\nimport { useFieldRootContext } from \"../internals/field-context\";\nimport { fieldStateAttrs } from \"../internals/field-state-attrs\";\nimport { type MaybeAccessor, readOption } from \"../internals/maybe-accessor\";\nimport { mergeRootProps } from \"../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../internals/types\";\nimport { useFieldControlValidation } from \"../internals/use-field-control-validation/use-field-control-validation.ts\";\nimport { useValueChanged } from \"../internals/use-value-changed.ts\";\nimport { createRadioGroup } from \"./create-radio-group.tsx\";\nimport {\n\ttype RadioGroupChangeEventDetails,\n\ttype RadioGroupChangeEventReason,\n\tRadioGroupContext,\n\ttype RadioGroupContextValue,\n\ttype RadioGroupState,\n} from \"./radio-group-context.ts\";\n\nexport type {\n\tRadioGroupChangeEventDetails,\n\tRadioGroupChangeEventReason,\n\tRadioGroupState,\n};\n\nexport interface RadioGroupProps<Value = unknown>\n\textends Omit<BaseUIComponentProps<\"div\", RadioGroupState>, \"value\"> {\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\t/** @default false */\n\tdisabled?: MaybeAccessor<boolean | undefined>;\n\t/** @default false */\n\treadOnly?: MaybeAccessor<boolean | undefined>;\n\t/** @default false */\n\trequired?: MaybeAccessor<boolean | undefined>;\n\tname?: string | undefined;\n\tform?: string | undefined;\n\t/**\n\t * Controlled selected value. When provided (resolved value not\n\t * `undefined`), the consumer owns the state — pair with\n\t * {@link onValueChange}; use `null` for a controlled \"nothing selected\"\n\t * state. When omitted, the group manages its own value (seeded from\n\t * {@link defaultValue}).\n\t */\n\tvalue?: MaybeAccessor<Value | undefined>;\n\t/**\n\t * Initial selected value when uncontrolled. Read once at mount.\n\t * @default undefined\n\t */\n\tdefaultValue?: MaybeAccessor<Value | undefined>;\n\tonValueChange?:\n\t\t| ((value: Value, eventDetails: RadioGroupChangeEventDetails) => void)\n\t\t| undefined;\n\tinputRef?: ((element: HTMLInputElement | null) => void) | undefined;\n}\n\n/**\n * Groups a collection of `<Radio.Root>` elements. Renders a `<div role=\"radiogroup\">`\n * (or `as` override).\n *\n * §1 wave 2: replaces `renderElement` with `dynamic(() => props.as ?? \"div\")`.\n * Field-validity attrs flow through `fieldStateAttrs(state)`. Aria-invalid\n * comes from `validation.getAriaInvalidProps()`. The composite root's bag\n * (aria-orientation, onKeyDown, onFocus) is composed via `mergeRootProps`.\n *\n * Compose order: wrapperHandlers ∘ composite.props ∘ internalSlot ∘ aria-invalid\n * ∘ fieldStateAttrs ∘ userProps. The wrapper's `onKeyDown` runs BEFORE the\n * composite's `handleKeyDown` so the `touched` latch is set ahead of the\n * composite's queueMicrotask(focus) that triggers the auto-select on the next\n * radio's onFocus — same ordering rule the React port uses.\n */\nexport function RadioGroup<Value = unknown>(\n\tprops: RadioGroupProps<Value>,\n): JSX.Element {\n\tconst field = useFieldRootContext();\n\tconst direction = useDirection();\n\n\tconst disabled = (): boolean =>\n\t\tfield.disabled() || readOption(props.disabled) === true;\n\tconst readOnly = (): boolean => readOption(props.readOnly) === true;\n\tconst required = (): boolean => readOption(props.required) === true;\n\tconst name = (): string | undefined => field.name() ?? props.name;\n\tconst form = (): string | undefined => props.form;\n\n\tconst id = useBaseUiId(typeof props.id === \"string\" ? props.id : undefined);\n\n\t// Controlled / uncontrolled selected value (Base UI `value` /\n\t// `defaultValue` contract, mirroring React's `useControlled` in\n\t// `RadioGroup`): the `value` prop wins while its resolved value is\n\t// defined (`null` is a controlled \"nothing selected\"); otherwise an\n\t// internal signal (seeded once from `defaultValue`) backs the state.\n\tconst [resolvedValue, setUncontrolledValue] = createControlledState<\n\t\tValue | undefined\n\t>({\n\t\tcontrolled: () => readOption(props.value),\n\t\tdefault: () => readOption(props.defaultValue),\n\t\tfallback: undefined,\n\t\tname: \"<RadioGroup>\",\n\t\tstate: \"value\",\n\t});\n\n\tconst c = createRadioGroup<Value>({\n\t\tvalue: resolvedValue,\n\t\tdisabled,\n\t\treadOnly,\n\t\trequired,\n\t\tname,\n\t\tonValueChange: (next, event) => {\n\t\t\tconst details = createChangeEventDetails(\n\t\t\t\tREASONS.none,\n\t\t\t\tevent,\n\t\t\t) as RadioGroupChangeEventDetails;\n\t\t\t// Base UI change flow: fire onValueChange first, honor\n\t\t\t// `details.cancel()`, then write the uncontrolled state (a no-op\n\t\t\t// for reads while the `value` prop is controlled).\n\t\t\tprops.onValueChange?.(next, details);\n\t\t\tif (details.isCanceled) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetUncontrolledValue(next);\n\t\t},\n\t});\n\n\tconst checkedValue = c.value;\n\tconst setCheckedValue = (\n\t\tvalue: unknown,\n\t\teventDetails: RadioGroupChangeEventDetails,\n\t): void => {\n\t\tc.setValue(value as Value, eventDetails.event, \"trigger-press\");\n\t};\n\n\tconst controlRef: { current: HTMLElement | null } = { current: null };\n\tconst validation = useFieldControlValidation({\n\t\tvalue: () => checkedValue() ?? null,\n\t\tid: () => id,\n\t\tcontrolRef,\n\t\tgetValue: () => checkedValue() ?? null,\n\t});\n\n\tuseValueChanged(\n\t\t() => checkedValue(),\n\t\t() => {\n\t\t\tconst value = checkedValue();\n\t\t\tfield.setFilled(value != null);\n\t\t\tfield.setDirty(value !== field.validityData().initialValue);\n\t\t\tif (field.shouldValidateOnChange()) {\n\t\t\t\tvoid validation.commit(value);\n\t\t\t} else {\n\t\t\t\tvoid validation.commit(value, true);\n\t\t\t}\n\t\t},\n\t);\n\n\tconst composite = useCompositeRoot({\n\t\tdirection,\n\t\torientation: \"both\",\n\t\tloopFocus: true,\n\t\tenableHomeAndEndKeys: false,\n\t});\n\n\tconst state = createMemo(\n\t\t(): RadioGroupState => ({\n\t\t\t...field.state(),\n\t\t\tdisabled: disabled(),\n\t\t\trequired: required(),\n\t\t\treadOnly: readOnly(),\n\t\t}),\n\t);\n\n\tlet touched = false;\n\tconst getTouched = (): boolean => touched;\n\tconst setTouched = (next: boolean): void => {\n\t\ttouched = next;\n\t};\n\n\tconst contextValue: RadioGroupContextValue = {\n\t\tcheckedValue,\n\t\tsetCheckedValue,\n\t\tdisabled,\n\t\treadOnly,\n\t\trequired,\n\t\tname,\n\t\tform,\n\t\ttouched: getTouched,\n\t\tsetTouched,\n\t\tpresent: true,\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\"children\",\n\t\t\"defaultValue\",\n\t\t\"disabled\",\n\t\t\"form\",\n\t\t\"id\",\n\t\t\"inputRef\",\n\t\t\"name\",\n\t\t\"onValueChange\",\n\t\t\"readOnly\",\n\t\t\"required\",\n\t\t\"value\",\n\t);\n\n\t// `wrapperHandlers` are placed FIRST in the chain (internal side) so they\n\t// run before the composite's `handleKeyDown`. The touched-latch must be set\n\t// before the composite's queueMicrotask(focus) fires so the next-focused\n\t// radio's `onFocus` handler picks up `touched === true` and auto-selects.\n\tconst wrapperHandlers = {\n\t\tonFocus(): void {\n\t\t\tfield.setFocused(true);\n\t\t},\n\t\tonKeyDown(event: KeyboardEvent): void {\n\t\t\tif (event.key.startsWith(\"Arrow\")) {\n\t\t\t\tfield.setTouched(true);\n\t\t\t\tsetTouched(true);\n\t\t\t\tfield.setFocused(true);\n\t\t\t}\n\t\t},\n\t\tonBlur(event: FocusEvent): void {\n\t\t\tconst currentTarget = event.currentTarget as Element | null;\n\t\t\tconst relatedTarget = event.relatedTarget as Node | null;\n\t\t\tif (\n\t\t\t\tcurrentTarget == null ||\n\t\t\t\trelatedTarget == null ||\n\t\t\t\t!currentTarget.contains(relatedTarget)\n\t\t\t) {\n\t\t\t\tfield.setTouched(true);\n\t\t\t\tfield.setFocused(false);\n\t\t\t\tif (field.validationMode() === \"onBlur\") {\n\t\t\t\t\tvoid validation.commit(checkedValue());\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n\n\tconst internalSlot = {\n\t\tid,\n\t\trole: \"radiogroup\" as const,\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn disabled() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-readonly\"(): \"\" | undefined {\n\t\t\treturn readOnly() ? \"\" : undefined;\n\t\t},\n\t\tget \"data-required\"(): \"\" | undefined {\n\t\t\treturn required() ? \"\" : undefined;\n\t\t},\n\t\tget \"aria-required\"(): \"true\" | undefined {\n\t\t\treturn required() ? \"true\" : undefined;\n\t\t},\n\t\tget \"aria-disabled\"(): \"true\" | undefined {\n\t\t\treturn disabled() ? \"true\" : undefined;\n\t\t},\n\t\tget \"aria-readonly\"(): \"true\" | undefined {\n\t\t\treturn readOnly() ? \"true\" : undefined;\n\t\t},\n\t};\n\n\t// Order: wrapperHandlers (touched-latch first) ⊕ composite.props (focus\n\t// dispatch) ⊕ internalSlot (data/aria attrs) ⊕ aria-invalid ⊕ fieldStateAttrs\n\t// ⊕ userProps.\n\tconst styledUserProps = mergeRootProps(userStyling, userProps);\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\twrapperHandlers,\n\t\tcomposite.props,\n\t);\n\tmerged = mergeRootProps(merged, internalSlot);\n\tmerged = mergeRootProps(merged, validation.getAriaInvalidProps() ?? {});\n\tmerged = mergeRootProps(merged, fieldStateAttrs(state));\n\tmerged = mergeRootProps(merged, styledUserProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<Tag\n\t\t\t{...merged}\n\t\t\tref={composeRefs((el: HTMLElement | null): void => {\n\t\t\t\tcontrolRef.current = el;\n\t\t\t\tcomposite.rootRef(el);\n\t\t\t}, userRef(props))}\n\t\t>\n\t\t\t<RadioGroupContext value={contextValue}>\n\t\t\t\t<CompositeList<unknown>\n\t\t\t\t\telementsRef={composite.elementsRef}\n\t\t\t\t\tonMapChange={composite.onMapChange}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</CompositeList>\n\t\t\t</RadioGroupContext>\n\t\t</Tag>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}