@radix-ui/react-radio-group 1.0.1-rc.6 → 1.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export const createRadioGroupScope: import("@radix-ui/react-context").CreateScop
22
22
  type RadioGroupContextValue = {
23
23
  name?: string;
24
24
  required: boolean;
25
+ disabled: boolean;
25
26
  value?: string;
26
27
  onValueChange(value: string): void;
27
28
  };
@@ -30,6 +31,7 @@ type PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;
30
31
  export interface RadioGroupProps extends PrimitiveDivProps {
31
32
  name?: RadioGroupContextValue['name'];
32
33
  required?: Radix.ComponentPropsWithoutRef<typeof Radio>['required'];
34
+ disabled?: Radix.ComponentPropsWithoutRef<typeof Radio>['disabled'];
33
35
  dir?: RovingFocusGroupProps['dir'];
34
36
  orientation?: RovingFocusGroupProps['orientation'];
35
37
  loop?: RovingFocusGroupProps['loop'];
@@ -1 +1 @@
1
- {"mappings":";;;;AAyBA,4BAA4B,MAAM,wBAAwB,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC;AACpF,oBAAqB,SAAQ,oBAAoB;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,QAAA,MAAM,2FA4DL,CAAC;AAWF,0BAA0B,MAAM,wBAAwB,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC;AAChF,6BAAqC,SAAQ,kBAAkB;IAC7D;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,QAAA,MAAM,2GAeL,CAAC;ACzGF,OAAA,4FAGE,CAAC;AAIH,8BAA8B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAMF,6BAA6B,MAAM,wBAAwB,CAAC,OAAO,iBAAiB,IAAI,CAAC,CAAC;AAC1F,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,gCAA0B,SAAQ,iBAAiB;IACjD,IAAI,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,GAAG,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;CACzD;AAED,OAAA,MAAM,kGAiDL,CAAC;AAWF,oBAAkB,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;AAC/D,oCAA8B,SAAQ,IAAI,CAAC,YAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,OAAA,MAAM,6GA0DL,CAAC;AAWF,6BAA2B,MAAM,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AACjF,yCAAmC,SAAQ,qBAAmB;CAAG;AAEjE,OAAA,MAAM,qHAML,CAAC;AAMF,OAAA,MAAM,4FAAiB,CAAC;AACxB,OAAA,MAAM,mGAAqB,CAAC;AAC5B,OAAA,MAAM,2GAA+B,CAAC","sources":["packages/react/radio-group/src/packages/react/radio-group/src/Radio.tsx","packages/react/radio-group/src/packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/packages/react/radio-group/src/index.ts","packages/react/radio-group/src/index.ts"],"sourcesContent":[null,null,null,"export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;;;AAyBA,4BAA4B,MAAM,wBAAwB,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC;AACpF,oBAAqB,SAAQ,oBAAoB;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED,QAAA,MAAM,2FA4DL,CAAC;AAWF,0BAA0B,MAAM,wBAAwB,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC;AAChF,6BAAqC,SAAQ,kBAAkB;IAC7D;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,QAAA,MAAM,2GAeL,CAAC;ACzGF,OAAA,4FAGE,CAAC;AAIH,8BAA8B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAMF,6BAA6B,MAAM,wBAAwB,CAAC,OAAO,iBAAiB,IAAI,CAAC,CAAC;AAC1F,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,gCAA0B,SAAQ,iBAAiB;IACjD,IAAI,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC;IACpE,GAAG,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;CACzD;AAED,OAAA,MAAM,kGAoDL,CAAC;AAWF,oBAAkB,MAAM,wBAAwB,CAAC,YAAY,CAAC,CAAC;AAC/D,oCAA8B,SAAQ,IAAI,CAAC,YAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,OAAA,MAAM,6GA2DL,CAAC;AAWF,6BAA2B,MAAM,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;AACjF,yCAAmC,SAAQ,qBAAmB;CAAG;AAEjE,OAAA,MAAM,qHAML,CAAC;AAMF,OAAA,MAAM,4FAAiB,CAAC;AACxB,OAAA,MAAM,mGAAqB,CAAC;AAC5B,OAAA,MAAM,2GAA+B,CAAC","sources":["packages/react/radio-group/src/packages/react/radio-group/src/Radio.tsx","packages/react/radio-group/src/packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/packages/react/radio-group/src/index.ts","packages/react/radio-group/src/index.ts"],"sourcesContent":[null,null,null,"export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -168,15 +168,15 @@ const $240483839a8a76fd$var$ARROW_KEYS = [
168
168
  /* -------------------------------------------------------------------------------------------------
169
169
  * RadioGroup
170
170
  * -----------------------------------------------------------------------------------------------*/ const $240483839a8a76fd$var$RADIO_GROUP_NAME = 'RadioGroup';
171
- const [$240483839a8a76fd$var$createRadioGroupContet, $240483839a8a76fd$export$c547093f11b76da2] = $9yYIj$radixuireactcontext.createContextScope($240483839a8a76fd$var$RADIO_GROUP_NAME, [
171
+ const [$240483839a8a76fd$var$createRadioGroupContext, $240483839a8a76fd$export$c547093f11b76da2] = $9yYIj$radixuireactcontext.createContextScope($240483839a8a76fd$var$RADIO_GROUP_NAME, [
172
172
  $9yYIj$radixuireactrovingfocus.createRovingFocusGroupScope,
173
173
  $ce74a64c62457efb$export$67d2296460f1b002
174
174
  ]);
175
175
  const $240483839a8a76fd$var$useRovingFocusGroupScope = $9yYIj$radixuireactrovingfocus.createRovingFocusGroupScope();
176
176
  const $240483839a8a76fd$var$useRadioScope = $ce74a64c62457efb$export$67d2296460f1b002();
177
- const [$240483839a8a76fd$var$RadioGroupProvider, $240483839a8a76fd$var$useRadioGroupContext] = $240483839a8a76fd$var$createRadioGroupContet($240483839a8a76fd$var$RADIO_GROUP_NAME);
177
+ const [$240483839a8a76fd$var$RadioGroupProvider, $240483839a8a76fd$var$useRadioGroupContext] = $240483839a8a76fd$var$createRadioGroupContext($240483839a8a76fd$var$RADIO_GROUP_NAME);
178
178
  const $240483839a8a76fd$export$a98f0dcb43a68a25 = /*#__PURE__*/ $9yYIj$react.forwardRef((props, forwardedRef)=>{
179
- const { __scopeRadioGroup: __scopeRadioGroup , name: name , defaultValue: defaultValue , value: valueProp , required: required = false , orientation: orientation , dir: dir , loop: loop = true , onValueChange: onValueChange , ...groupProps } = props;
179
+ const { __scopeRadioGroup: __scopeRadioGroup , name: name , defaultValue: defaultValue , value: valueProp , required: required = false , disabled: disabled = false , orientation: orientation , dir: dir , loop: loop = true , onValueChange: onValueChange , ...groupProps } = props;
180
180
  const rovingFocusGroupScope = $240483839a8a76fd$var$useRovingFocusGroupScope(__scopeRadioGroup);
181
181
  const direction = $9yYIj$radixuireactdirection.useDirection(dir);
182
182
  const [value, setValue] = $9yYIj$radixuireactusecontrollablestate.useControllableState({
@@ -188,6 +188,7 @@ const $240483839a8a76fd$export$a98f0dcb43a68a25 = /*#__PURE__*/ $9yYIj$react.for
188
188
  scope: __scopeRadioGroup,
189
189
  name: name,
190
190
  required: required,
191
+ disabled: disabled,
191
192
  value: value,
192
193
  onValueChange: setValue
193
194
  }, /*#__PURE__*/ $9yYIj$react.createElement($9yYIj$radixuireactrovingfocus.Root, ($parcel$interopDefault($9yYIj$babelruntimehelpersextends))({
@@ -200,6 +201,7 @@ const $240483839a8a76fd$export$a98f0dcb43a68a25 = /*#__PURE__*/ $9yYIj$react.for
200
201
  role: "radiogroup",
201
202
  "aria-required": required,
202
203
  "aria-orientation": orientation,
204
+ "data-disabled": disabled ? '' : undefined,
203
205
  dir: direction
204
206
  }, groupProps, {
205
207
  ref: forwardedRef
@@ -214,6 +216,7 @@ const $240483839a8a76fd$export$a98f0dcb43a68a25 = /*#__PURE__*/ $9yYIj$react.for
214
216
  const $240483839a8a76fd$export$9f866c100ef519e4 = /*#__PURE__*/ $9yYIj$react.forwardRef((props, forwardedRef)=>{
215
217
  const { __scopeRadioGroup: __scopeRadioGroup , disabled: disabled , ...itemProps } = props;
216
218
  const context = $240483839a8a76fd$var$useRadioGroupContext($240483839a8a76fd$var$ITEM_NAME, __scopeRadioGroup);
219
+ const isDisabled = context.disabled || disabled;
217
220
  const rovingFocusGroupScope = $240483839a8a76fd$var$useRovingFocusGroupScope(__scopeRadioGroup);
218
221
  const radioScope = $240483839a8a76fd$var$useRadioScope(__scopeRadioGroup);
219
222
  const ref = $9yYIj$react.useRef(null);
@@ -236,10 +239,10 @@ const $240483839a8a76fd$export$9f866c100ef519e4 = /*#__PURE__*/ $9yYIj$react.for
236
239
  return /*#__PURE__*/ $9yYIj$react.createElement($9yYIj$radixuireactrovingfocus.Item, ($parcel$interopDefault($9yYIj$babelruntimehelpersextends))({
237
240
  asChild: true
238
241
  }, rovingFocusGroupScope, {
239
- focusable: !disabled,
242
+ focusable: !isDisabled,
240
243
  active: checked
241
244
  }), /*#__PURE__*/ $9yYIj$react.createElement($ce74a64c62457efb$export$d7b12c4107be0d61, ($parcel$interopDefault($9yYIj$babelruntimehelpersextends))({
242
- disabled: disabled,
245
+ disabled: isDisabled,
243
246
  required: context.required,
244
247
  checked: checked
245
248
  }, radioScope, itemProps, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/radio-group/src/index.ts","packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/Radio.tsx"],"sourcesContent":["export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Radio, RadioIndicator, createRadioScope } from './Radio';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps<P> = P & { __scopeRadioGroup?: Scope };\nconst [createRadioGroupContet, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useRadioScope = createRadioScope();\n\ntype RadioGroupContextValue = {\n name?: string;\n required: boolean;\n value?: string;\n onValueChange(value: string): void;\n};\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContet<RadioGroupContextValue>(RADIO_GROUP_NAME);\n\ntype RadioGroupElement = React.ElementRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RadioGroupProps extends PrimitiveDivProps {\n name?: RadioGroupContextValue['name'];\n required?: Radix.ComponentPropsWithoutRef<typeof Radio>['required'];\n dir?: RovingFocusGroupProps['dir'];\n orientation?: RovingFocusGroupProps['orientation'];\n loop?: RovingFocusGroupProps['loop'];\n defaultValue?: string;\n value?: RadioGroupContextValue['value'];\n onValueChange?: RadioGroupContextValue['onValueChange'];\n}\n\nconst RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(\n (props: ScopedProps<RadioGroupProps>, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <RadioGroupProvider\n scope={__scopeRadioGroup}\n name={name}\n required={required}\n value={value}\n onValueChange={setValue}\n >\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={orientation}\n dir={direction}\n loop={loop}\n >\n <Primitive.div\n role=\"radiogroup\"\n aria-required={required}\n aria-orientation={orientation}\n dir={direction}\n {...groupProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n </RadioGroupProvider>\n );\n }\n);\n\nRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RadioGroupItem';\n\ntype RadioGroupItemElement = React.ElementRef<typeof Radio>;\ntype RadioProps = Radix.ComponentPropsWithoutRef<typeof Radio>;\ninterface RadioGroupItemProps extends Omit<RadioProps, 'onCheck' | 'name'> {\n value: string;\n}\n\nconst RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(\n (props: ScopedProps<RadioGroupItemProps>, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef<React.ElementRef<typeof Radio>>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => (isArrowKeyPressedRef.current = false);\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={checked}\n >\n <Radio\n disabled={disabled}\n required={context.required}\n checked={checked}\n {...radioScope}\n {...itemProps}\n name={context.name}\n ref={composedRefs}\n onCheck={() => context.onValueChange(itemProps.value)}\n onKeyDown={composeEventHandlers((event) => {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onFocus={composeEventHandlers(itemProps.onFocus, () => {\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nRadioGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioGroupIndicator';\n\ntype RadioGroupIndicatorElement = React.ElementRef<typeof RadioIndicator>;\ntype RadioIndicatorProps = Radix.ComponentPropsWithoutRef<typeof RadioIndicator>;\ninterface RadioGroupIndicatorProps extends RadioIndicatorProps {}\n\nconst RadioGroupIndicator = React.forwardRef<RadioGroupIndicatorElement, RadioGroupIndicatorProps>(\n (props: ScopedProps<RadioGroupIndicatorProps>, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return <RadioIndicator {...radioScope} {...indicatorProps} ref={forwardedRef} />;\n }\n);\n\nRadioGroupIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst Root = RadioGroup;\nconst Item = RadioGroupItem;\nconst Indicator = RadioGroupIndicator;\n\nexport {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n};\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_NAME = 'Radio';\n\ntype ScopedProps<P> = P & { __scopeRadio?: Scope };\nconst [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n\ntype RadioContextValue = { checked: boolean; disabled?: boolean };\nconst [RadioProvider, useRadioContext] = createRadioContext<RadioContextValue>(RADIO_NAME);\n\ntype RadioElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface RadioProps extends PrimitiveButtonProps {\n checked?: boolean;\n required?: boolean;\n onCheck?(): void;\n}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>(\n (props: ScopedProps<RadioProps>, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = 'on',\n onCheck,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState<HTMLButtonElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n\n return (\n <RadioProvider scope={__scopeRadio} checked={checked} disabled={disabled}>\n <Primitive.button\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...radioProps}\n ref={composedRefs}\n onClick={composeEventHandlers(props.onClick, (event) => {\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n {isFormControl && (\n <BubbleInput\n control={button}\n bubbles={!hasConsumerStoppedPropagationRef.current}\n name={name}\n value={value}\n checked={checked}\n required={required}\n disabled={disabled}\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n style={{ transform: 'translateX(-100%)' }}\n />\n )}\n </RadioProvider>\n );\n }\n);\n\nRadio.displayName = RADIO_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioIndicator';\n\ntype RadioIndicatorElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\nexport interface RadioIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst RadioIndicator = React.forwardRef<RadioIndicatorElement, RadioIndicatorProps>(\n (props: ScopedProps<RadioIndicatorProps>, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return (\n <Presence present={forceMount || context.checked}>\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nRadioIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = Radix.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit<InputProps, 'checked'> {\n checked: boolean;\n control: HTMLElement | null;\n bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = ref.current!;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n\n return (\n <input\n type=\"radio\"\n aria-hidden\n defaultChecked={checked}\n {...inputProps}\n tabIndex={-1}\n ref={ref}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n }}\n />\n );\n};\n\nfunction getState(checked: boolean) {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createRadioScope,\n //\n Radio,\n RadioIndicator,\n};\nexport type { RadioProps };\n"],"names":["createRadioGroupScope","RadioGroup","RadioGroupItem","RadioGroupIndicator","Root","Item","Indicator","React","composeEventHandlers","useComposedRefs","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Radio","RadioIndicator","createRadioScope","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContet","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","forwardRef","props","forwardedRef","__scopeRadioGroup","name","defaultValue","value","valueProp","required","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","setValue","prop","defaultProp","onChange","ITEM_NAME","disabled","itemProps","context","radioScope","ref","useRef","composedRefs","checked","isArrowKeyPressedRef","useEffect","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","preventDefault","onFocus","click","INDICATOR_NAME","indicatorProps","useSize","usePrevious","Presence","RADIO_NAME","createRadioContext","RadioProvider","useRadioContext","__scopeRadio","onCheck","radioProps","button","setButton","useState","node","hasConsumerStoppedPropagationRef","isFormControl","Boolean","closest","getState","undefined","onClick","isPropagationStopped","stopPropagation","transform","forceMount","BubbleInput","control","bubbles","inputProps","prevChecked","controlSize","input","inputProto","window","HTMLInputElement","prototype","descriptor","Object","getOwnPropertyDescriptor","setChecked","set","Event","call","dispatchEvent","style","position","pointerEvents","opacity","margin"],"version":3,"file":"index.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;A;;;;;;;;;AEYA;;oGAEA,CAEA,MAAM4E,gCAAU,GAAG,OAAnB,AAAA;AAGA,MAAM,CAACC,wCAAD,EAAqB3D,yCAArB,CAAA,GAAyCR,6CAAkB,CAACkE,gCAAD,CAAjE,AAAA;AAGA,MAAM,CAACE,mCAAD,EAAgBC,qCAAhB,CAAA,GAAmCF,wCAAkB,CAAoBD,gCAApB,CAA3D,AAAA;AAUA,MAAM5D,yCAAK,GAAA,aAAGT,CAAAA,uBAAA,CACZ,CAACoB,KAAD,EAAiCC,YAAjC,GAAkD;IAChD,MAAM,E,cACJoD,YADI,CAAA,E,MAEJlD,IAFI,CAAA,WAGJ0B,OAAO,GAAG,KAHN,G,UAIJtB,QAJI,CAAA,E,UAKJC,QALI,CAAA,SAMJH,KAAK,GAAG,IANJ,G,SAOJiD,OAPI,CAAA,EAQJ,GAAGC,UAAH,EARI,GASFvD,KATJ,AAAM;IAUN,MAAM,CAACwD,MAAD,EAASC,SAAT,CAAA,GAAsB7E,qBAAA,CAAyC,IAAzC,CAA5B,AAAA;IACA,MAAMgD,YAAY,GAAG9C,8CAAe,CAACmB,YAAD,EAAgB0D,CAAAA,IAAD,GAAUF,SAAS,CAACE,IAAD,CAAlC;IAAA,CAApC,AAAA;IACA,MAAMC,gCAAgC,GAAGhF,mBAAA,CAAa,KAAb,CAAzC,AAbgD,EAchD,iFADA;IAEA,MAAMiF,aAAa,GAAGL,MAAM,GAAGM,OAAO,CAACN,MAAM,CAACO,OAAP,CAAe,MAAf,CAAD,CAAV,GAAqC,IAAjE,AAAA;IAEA,OAAA,aACE,CAAA,0BAAA,CAAC,mCAAD,EADF;QACiB,KAAK,EAAEV,YAAtB;QAAoC,OAAO,EAAExB,OAA7C;QAAsD,QAAQ,EAAErB,QAAV;KAAtD,EAAA,aACE,CAAA,0BAAA,CAAC,sCAAD,CAAW,MAAX,EADF,2DAAA,CAAA;QAEI,IAAI,EAAC,QADP;QAEE,IAAI,EAAC,OAFP;QAGE,cAAA,EAAcqB,OAHhB;QAIE,YAAA,EAAYmC,8BAAQ,CAACnC,OAAD,CAJtB;QAKE,eAAA,EAAerB,QAAQ,GAAG,EAAH,GAAQY,SALjC;QAME,QAAQ,EAAEZ,QANZ;QAOE,KAAK,EAAEH,KAAP;KAPF,EAQMkD,UARN,EAAA;QASE,GAAG,EAAE3B,YATP;QAUE,OAAO,EAAE/C,4CAAoB,CAACmB,KAAK,CAACiE,OAAP,EAAiBhC,CAAAA,KAAD,GAAW;YACtD,oEAAA;YACA,IAAI,CAACJ,OAAL,EAAcyB,OAAO,KAAA,IAAP,IAAAA,OAAO,KAAA,KAAA,CAAP,IAAAA,OAAO,EAArB,CAAA;YACA,IAAIO,aAAJ,EAAmB;gBACjBD,gCAAgC,CAACxB,OAAjC,GAA2CH,KAAK,CAACiC,oBAAN,EAA3C,CADiB,CAEjB,oFADAN;gBAEA,sFAAA;gBACA,+DAAA;gBACA,IAAI,CAACA,gCAAgC,CAACxB,OAAtC,EAA+CH,KAAK,CAACkC,eAAN,EAA/C,CAAA;aACD;SAT0B,CAU5B;KApBH,CAAA,CADF,EAuBGN,aAAa,IAAA,aACZ,CAAA,0BAAA,CAAC,iCAAD,EAvBF;QAwBI,OAAO,EAAEL,MADX;QAEE,OAAO,EAAE,CAACI,gCAAgC,CAACxB,OAF7C;QAGE,IAAI,EAAEjC,IAHR;QAIE,KAAK,EAAEE,KAJT;QAKE,OAAO,EAAEwB,OALX;QAME,QAAQ,EAAEtB,QANZ;QAOE,QAAQ,EAAEC,QAPZ,CAQE,sEADA;QAPF;QAWE,KAAK,EAAE;YAAE4D,SAAS,EAAE,mBAAXA;SAAF;KAXT,CAxBJ,CADF,CAyBM;CA3CI,CAAd,AA2DG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,gCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMxB,oCAAc,GAAG,gBAAvB,AAAA;AAYA,MAAMtD,yCAAc,GAAA,aAAGV,CAAAA,uBAAA,CACrB,CAACoB,KAAD,EAA0CC,YAA1C,GAA2D;IACzD,MAAM,E,cAAEoD,YAAF,CAAA,E,YAAgBgB,UAAhB,CAAA,EAA4B,GAAGxB,cAAH,EAA5B,GAAkD7C,KAAxD,AAAM;IACN,MAAMuB,OAAO,GAAG6B,qCAAe,CAACR,oCAAD,EAAiBS,YAAjB,CAA/B,AAAA;IACA,OAAA,aACE,CAAA,0BAAA,CAAC,oCAAD,EADF;QACY,OAAO,EAAEgB,UAAU,IAAI9C,OAAO,CAACM,OAA/B;KAAV,EAAA,aACE,CAAA,0BAAA,CAAC,sCAAD,CAAW,IAAX,EADF,2DAAA,CAAA;QAEI,YAAA,EAAYmC,8BAAQ,CAACzC,OAAO,CAACM,OAAT,CADtB;QAEE,eAAA,EAAeN,OAAO,CAACf,QAAR,GAAmB,EAAnB,GAAwBY,SAAvC;KAFF,EAGMyB,cAHN,EAAA;QAIE,GAAG,EAAE5C,YAAL;KAJF,CAAA,CADF,CADF,CAEI;CANe,CAAvB,AAcG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,oCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CASA,MAAMqE,iCAAW,GAAItE,CAAAA,KAAD,GAA6B;IAC/C,MAAM,E,SAAEuE,OAAF,CAAA,E,SAAW1C,OAAX,CAAA,WAAoB2C,OAAO,GAAG,IAA9B,GAAoC,GAAGC,UAAH,EAApC,GAAsDzE,KAA5D,AAAM;IACN,MAAM0B,GAAG,GAAG9C,mBAAA,CAA+B,IAA/B,CAAZ,AAAA;IACA,MAAM8F,WAAW,GAAG3B,0CAAW,CAAClB,OAAD,CAA/B,AAAA;IACA,MAAM8C,WAAW,GAAG7B,kCAAO,CAACyB,OAAD,CAA3B,AAJ+C,EAM/C,2DAFA;IAGA3F,sBAAA,CAAgB,IAAM;QACpB,MAAMgG,KAAK,GAAGlD,GAAG,CAACU,OAAlB,AAAA;QACA,MAAMyC,UAAU,GAAGC,MAAM,CAACC,gBAAP,CAAwBC,SAA3C,AAAA;QACA,MAAMC,UAAU,GAAGC,MAAM,CAACC,wBAAP,CAAgCN,UAAhC,EAA4C,SAA5C,CAAnB,AAAA;QACA,MAAMO,UAAU,GAAGH,UAAU,CAACI,GAA9B,AAAA;QACA,IAAIX,WAAW,KAAK7C,OAAhB,IAA2BuD,UAA/B,EAA2C;YACzC,MAAMnD,KAAK,GAAG,IAAIqD,KAAJ,CAAU,OAAV,EAAmB;gB,SAAEd,OAAAA;aAArB,CAAd,AAAiC;YACjCY,UAAU,CAACG,IAAX,CAAgBX,KAAhB,EAAuB/C,OAAvB,CAAAuD,CAAAA;YACAR,KAAK,CAACY,aAAN,CAAoBvD,KAApB,CAAA2C,CAAAA;SACD;KATH,EAUG;QAACF,WAAD;QAAc7C,OAAd;QAAuB2C,OAAvB;KAVH,CAUC,CAAA;IAED,OAAA,aACE,CAAA,0BADF,CAAA,OAAA,EAAA,2DAAA,CAAA;QAEI,IAAI,EAAC,OADP;QAEE,aAAA,EAAA,IAFF;QAGE,cAAc,EAAE3C,OAAhB;KAHF,EAIM4C,UAJN,EAAA;QAKE,QAAQ,EAAE,EALZ;QAME,GAAG,EAAE/C,GANP;QAOE,KAAK,EAAE;YACL,GAAG1B,KAAK,CAACyF,KADJ;YAEL,GAAGd,WAFE;YAGLe,QAAQ,EAAE,UAHL;YAILC,aAAa,EAAE,MAJV;YAKLC,OAAO,EAAE,CALJ;YAMLC,MAAM,EAAE,CAARA;SANK;KAPT,CAAA,CADF,CACE;CApBJ,AAqCC;AAED,SAAS7B,8BAAT,CAAkBnC,OAAlB,EAAoC;IAClC,OAAOA,OAAO,GAAG,SAAH,GAAe,WAA7B,CAAA;CACD;;;ADvKD,MAAMrC,gCAAU,GAAG;IAAC,SAAD;IAAY,WAAZ;IAAyB,WAAzB;IAAsC,YAAtC;CAAnB,AAAA;AAEA;;oGAEA,CACA,MAAMC,sCAAgB,GAAG,YAAzB,AAAA;AAGA,MAAM,CAACC,6CAAD,EAA0BrB,yCAA1B,CAAA,GAAmDU,6CAAkB,CAACU,sCAAD,EAAmB;IAC5FP,0DAD4F;IAE5FK,yCAF4F;CAAnB,CAA3E,AAAA;AAIA,MAAMI,8CAAwB,GAAGT,0DAA2B,EAA5D,AAAA;AACA,MAAMU,mCAAa,GAAGL,yCAAgB,EAAtC,AAAA;AAUA,MAAM,CAACM,wCAAD,EAAqBC,0CAArB,CAAA,GACJJ,6CAAuB,CAAyBD,sCAAzB,CADzB,AAAA;AAkBA,MAAMnB,yCAAU,GAAA,aAAGM,CAAAA,uBAAA,CACjB,CAACoB,KAAD,EAAsCC,YAAtC,GAAuD;IACrD,MAAM,E,mBACJC,iBADI,CAAA,E,MAEJC,IAFI,CAAA,E,cAGJC,YAHI,CAAA,EAIJC,KAAK,EAAEC,SAJH,CAAA,YAKJC,QAAQ,GAAG,KALP,aAMJC,QAAQ,GAAG,KANP,G,aAOJC,WAPI,CAAA,E,KAQJC,GARI,CAAA,QASJC,IAAI,GAAG,IATH,G,eAUJC,aAVI,CAAA,EAWJ,GAAGC,UAAH,EAXI,GAYFb,KAZJ,AAAM;IAaN,MAAMc,qBAAqB,GAAGnB,8CAAwB,CAACO,iBAAD,CAAtD,AAAA;IACA,MAAMa,SAAS,GAAG3B,yCAAY,CAACsB,GAAD,CAA9B,AAAA;IACA,MAAM,CAACL,KAAD,EAAQW,QAAR,CAAA,GAAoB7B,4DAAoB,CAAC;QAC7C8B,IAAI,EAAEX,SADuC;QAE7CY,WAAW,EAAEd,YAFgC;QAG7Ce,QAAQ,EAAEP,aAAVO;KAH4C,CAA9C,AAA+C;IAM/C,OAAA,aACE,CAAA,0BAAA,CAAC,wCAAD,EADF;QAEI,KAAK,EAAEjB,iBADT;QAEE,IAAI,EAAEC,IAFR;QAGE,QAAQ,EAAEI,QAHZ;QAIE,QAAQ,EAAEC,QAJZ;QAKE,KAAK,EAAEH,KALT;QAME,aAAa,EAAEW,QAAf;KANF,EAAA,aAQE,CAAA,0BAAA,CAAC,mCAAD,EARF,2DAAA,CAAA;QASI,OAAO,EAAP,IAAA;KADF,EAEMF,qBAFN,EAAA;QAGE,WAAW,EAAEL,WAHf;QAIE,GAAG,EAAEM,SAJP;QAKE,IAAI,EAAEJ,IAAN;KALF,CAAA,EAAA,aAOE,CAAA,0BAAA,CAAC,sCAAD,CAAW,GAAX,EAPF,2DAAA,CAAA;QAQI,IAAI,EAAC,YADP;QAEE,eAAA,EAAeJ,QAFjB;QAGE,kBAAA,EAAkBE,WAHpB;QAIE,eAAA,EAAeD,QAAQ,GAAG,EAAH,GAAQY,SAJjC;QAKE,GAAG,EAAEL,SAAL;KALF,EAMMF,UANN,EAAA;QAOE,GAAG,EAAEZ,YAAL;KAPF,CAAA,CAPF,CARF,CADF,CAgBM;CAvCS,CAAnB,AAmDG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,sCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMoB,+BAAS,GAAG,gBAAlB,AAAA;AAQA,MAAM9C,yCAAc,GAAA,aAAGK,CAAAA,uBAAA,CACrB,CAACoB,KAAD,EAA0CC,YAA1C,GAA2D;IACzD,MAAM,E,mBAAEC,iBAAF,CAAA,E,UAAqBM,QAArB,CAAA,EAA+B,GAAGc,SAAH,EAA/B,GAAgDtB,KAAtD,AAAM;IACN,MAAMuB,OAAO,GAAGzB,0CAAoB,CAACuB,+BAAD,EAAYnB,iBAAZ,CAApC,AAAA;IACA,MAAMsB,UAAU,GAAGD,OAAO,CAACf,QAAR,IAAoBA,QAAvC,AAAA;IACA,MAAMM,qBAAqB,GAAGnB,8CAAwB,CAACO,iBAAD,CAAtD,AAAA;IACA,MAAMuB,UAAU,GAAG7B,mCAAa,CAACM,iBAAD,CAAhC,AAAA;IACA,MAAMwB,GAAG,GAAG9C,mBAAA,CAA6C,IAA7C,CAAZ,AAAA;IACA,MAAMgD,YAAY,GAAG9C,8CAAe,CAACmB,YAAD,EAAeyB,GAAf,CAApC,AAAA;IACA,MAAMG,OAAO,GAAGN,OAAO,CAAClB,KAAR,KAAkBiB,SAAS,CAACjB,KAA5C,AAAA;IACA,MAAMyB,oBAAoB,GAAGlD,mBAAA,CAAa,KAAb,CAA7B,AAAA;IAEAA,sBAAA,CAAgB,IAAM;QACpB,MAAMoD,aAAa,GAAIC,CAAAA,KAAD,GAA0B;YAC9C,IAAIzC,gCAAU,CAAC0C,QAAX,CAAoBD,KAAK,CAACE,GAA1B,CAAJ,EACEL,oBAAoB,CAACM,OAArB,GAA+B,IAA/B,CAAAN;SAFJ,AAIC;QACD,MAAMO,WAAW,GAAG,IAAOP,oBAAoB,CAACM,OAArB,GAA+B,KAA1D;QAAA;QACAE,QAAQ,CAACC,gBAAT,CAA0B,SAA1B,EAAqCP,aAArC,CAAAM,CAAAA;QACAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCF,WAAnC,CAAAC,CAAAA;QACA,OAAO,IAAM;YACXA,QAAQ,CAACE,mBAAT,CAA6B,SAA7B,EAAwCR,aAAxC,CAAAM,CAAAA;YACAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCH,WAAtC,CAAAC,CAAAA;SAFF,CAGC;KAZH,EAaG,EAbH,CAaC,CAAA;IAED,OAAA,aACE,CAAA,0BAAA,CAAC,mCAAD,EADF,2DAAA,CAAA;QAEI,OAAO,EAAP,IAAA;KADF,EAEMxB,qBAFN,EAAA;QAGE,SAAS,EAAE,CAACU,UAHd;QAIE,MAAM,EAAEK,OAAR;KAJF,CAAA,EAAA,aAME,CAAA,0BAAA,CAAC,yCAAD,EANF,2DAAA,CAAA;QAOI,QAAQ,EAAEL,UADZ;QAEE,QAAQ,EAAED,OAAO,CAAChB,QAFpB;QAGE,OAAO,EAAEsB,OAAT;KAHF,EAIMJ,UAJN,EAKMH,SALN,EAAA;QAME,IAAI,EAAEC,OAAO,CAACpB,IANhB;QAOE,GAAG,EAAEyB,YAPP;QAQE,OAAO,EAAE,IAAML,OAAO,CAACX,aAAR,CAAsBU,SAAS,CAACjB,KAAhC,CARjB;QAAA;QASE,SAAS,EAAExB,4CAAoB,CAAEoD,CAAAA,KAAD,GAAW;YACzC,6EAAA;YACA,IAAIA,KAAK,CAACE,GAAN,KAAc,OAAlB,EAA2BF,KAAK,CAACQ,cAAN,EAA3B,CAAA;SAF6B,CATjC;QAaE,OAAO,EAAE5D,4CAAoB,CAACyC,SAAS,CAACoB,OAAX,EAAoB,IAAM;YAAA,IAAA,YAAA,AAAA;YACrD;;;;SAIZ,CACY,IAAIZ,oBAAoB,CAACM,OAAzB,EAAkC,AAAA,CAAA,YAAA,GAAAV,GAAG,CAACU,OAAJ,CAAA,KAAA,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,IAAA,YAAA,CAAaO,KAAb,EAAlC,CAAA;SAN2B,CAO5B;KApBH,CAAA,CANF,CADF,CAOI;CAlCe,CAAvB,AA0DG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,+BAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMC,oCAAc,GAAG,qBAAvB,AAAA;AAMA,MAAMpE,wCAAmB,GAAA,aAAGI,CAAAA,uBAAA,CAC1B,CAACoB,KAAD,EAA+CC,YAA/C,GAAgE;IAC9D,MAAM,E,mBAAEC,iBAAF,CAAA,EAAqB,GAAG2C,cAAH,EAArB,GAA2C7C,KAAjD,AAAM;IACN,MAAMyB,UAAU,GAAG7B,mCAAa,CAACM,iBAAD,CAAhC,AAAA;IACA,OAAA,aAAO,CAAA,0BAAA,CAAC,yCAAD,EAAA,2DAAA,CAAA,EAAA,EAAoBuB,UAApB,EAAoCoB,cAApC,EAAP;QAA2D,GAAG,EAAE5C,YAAL;KAApD,CAAA,CAAP,CAAO;CAJiB,CAA5B,AAKG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,wCAAA,EAAA;IAAA,WAAA,EAAA,oCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,MAAMxB,yCAAI,GAAGH,yCAAb,AAAA;AACA,MAAMI,yCAAI,GAAGH,yCAAb,AAAA;AACA,MAAMI,yCAAS,GAAGH,wCAAlB,AAAA;;ADlNA","sources":["packages/react/radio-group/src/index.ts","packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/Radio.tsx"],"sourcesContent":["export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Radio, RadioIndicator, createRadioScope } from './Radio';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps<P> = P & { __scopeRadioGroup?: Scope };\nconst [createRadioGroupContext, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useRadioScope = createRadioScope();\n\ntype RadioGroupContextValue = {\n name?: string;\n required: boolean;\n disabled: boolean;\n value?: string;\n onValueChange(value: string): void;\n};\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContext<RadioGroupContextValue>(RADIO_GROUP_NAME);\n\ntype RadioGroupElement = React.ElementRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RadioGroupProps extends PrimitiveDivProps {\n name?: RadioGroupContextValue['name'];\n required?: Radix.ComponentPropsWithoutRef<typeof Radio>['required'];\n disabled?: Radix.ComponentPropsWithoutRef<typeof Radio>['disabled'];\n dir?: RovingFocusGroupProps['dir'];\n orientation?: RovingFocusGroupProps['orientation'];\n loop?: RovingFocusGroupProps['loop'];\n defaultValue?: string;\n value?: RadioGroupContextValue['value'];\n onValueChange?: RadioGroupContextValue['onValueChange'];\n}\n\nconst RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(\n (props: ScopedProps<RadioGroupProps>, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <RadioGroupProvider\n scope={__scopeRadioGroup}\n name={name}\n required={required}\n disabled={disabled}\n value={value}\n onValueChange={setValue}\n >\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={orientation}\n dir={direction}\n loop={loop}\n >\n <Primitive.div\n role=\"radiogroup\"\n aria-required={required}\n aria-orientation={orientation}\n data-disabled={disabled ? '' : undefined}\n dir={direction}\n {...groupProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n </RadioGroupProvider>\n );\n }\n);\n\nRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RadioGroupItem';\n\ntype RadioGroupItemElement = React.ElementRef<typeof Radio>;\ntype RadioProps = Radix.ComponentPropsWithoutRef<typeof Radio>;\ninterface RadioGroupItemProps extends Omit<RadioProps, 'onCheck' | 'name'> {\n value: string;\n}\n\nconst RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(\n (props: ScopedProps<RadioGroupItemProps>, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef<React.ElementRef<typeof Radio>>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => (isArrowKeyPressedRef.current = false);\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!isDisabled}\n active={checked}\n >\n <Radio\n disabled={isDisabled}\n required={context.required}\n checked={checked}\n {...radioScope}\n {...itemProps}\n name={context.name}\n ref={composedRefs}\n onCheck={() => context.onValueChange(itemProps.value)}\n onKeyDown={composeEventHandlers((event) => {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onFocus={composeEventHandlers(itemProps.onFocus, () => {\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nRadioGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioGroupIndicator';\n\ntype RadioGroupIndicatorElement = React.ElementRef<typeof RadioIndicator>;\ntype RadioIndicatorProps = Radix.ComponentPropsWithoutRef<typeof RadioIndicator>;\ninterface RadioGroupIndicatorProps extends RadioIndicatorProps {}\n\nconst RadioGroupIndicator = React.forwardRef<RadioGroupIndicatorElement, RadioGroupIndicatorProps>(\n (props: ScopedProps<RadioGroupIndicatorProps>, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return <RadioIndicator {...radioScope} {...indicatorProps} ref={forwardedRef} />;\n }\n);\n\nRadioGroupIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst Root = RadioGroup;\nconst Item = RadioGroupItem;\nconst Indicator = RadioGroupIndicator;\n\nexport {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n};\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_NAME = 'Radio';\n\ntype ScopedProps<P> = P & { __scopeRadio?: Scope };\nconst [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n\ntype RadioContextValue = { checked: boolean; disabled?: boolean };\nconst [RadioProvider, useRadioContext] = createRadioContext<RadioContextValue>(RADIO_NAME);\n\ntype RadioElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface RadioProps extends PrimitiveButtonProps {\n checked?: boolean;\n required?: boolean;\n onCheck?(): void;\n}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>(\n (props: ScopedProps<RadioProps>, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = 'on',\n onCheck,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState<HTMLButtonElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n\n return (\n <RadioProvider scope={__scopeRadio} checked={checked} disabled={disabled}>\n <Primitive.button\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...radioProps}\n ref={composedRefs}\n onClick={composeEventHandlers(props.onClick, (event) => {\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n {isFormControl && (\n <BubbleInput\n control={button}\n bubbles={!hasConsumerStoppedPropagationRef.current}\n name={name}\n value={value}\n checked={checked}\n required={required}\n disabled={disabled}\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n style={{ transform: 'translateX(-100%)' }}\n />\n )}\n </RadioProvider>\n );\n }\n);\n\nRadio.displayName = RADIO_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioIndicator';\n\ntype RadioIndicatorElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\nexport interface RadioIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst RadioIndicator = React.forwardRef<RadioIndicatorElement, RadioIndicatorProps>(\n (props: ScopedProps<RadioIndicatorProps>, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return (\n <Presence present={forceMount || context.checked}>\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nRadioIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = Radix.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit<InputProps, 'checked'> {\n checked: boolean;\n control: HTMLElement | null;\n bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = ref.current!;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n\n return (\n <input\n type=\"radio\"\n aria-hidden\n defaultChecked={checked}\n {...inputProps}\n tabIndex={-1}\n ref={ref}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n }}\n />\n );\n};\n\nfunction getState(checked: boolean) {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createRadioScope,\n //\n Radio,\n RadioIndicator,\n};\nexport type { RadioProps };\n"],"names":["createRadioGroupScope","RadioGroup","RadioGroupItem","RadioGroupIndicator","Root","Item","Indicator","React","composeEventHandlers","useComposedRefs","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Radio","RadioIndicator","createRadioScope","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContext","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","forwardRef","props","forwardedRef","__scopeRadioGroup","name","defaultValue","value","valueProp","required","disabled","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","setValue","prop","defaultProp","onChange","undefined","ITEM_NAME","itemProps","context","isDisabled","radioScope","ref","useRef","composedRefs","checked","isArrowKeyPressedRef","useEffect","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","preventDefault","onFocus","click","INDICATOR_NAME","indicatorProps","useSize","usePrevious","Presence","RADIO_NAME","createRadioContext","RadioProvider","useRadioContext","__scopeRadio","onCheck","radioProps","button","setButton","useState","node","hasConsumerStoppedPropagationRef","isFormControl","Boolean","closest","getState","onClick","isPropagationStopped","stopPropagation","transform","forceMount","BubbleInput","control","bubbles","inputProps","prevChecked","controlSize","input","inputProto","window","HTMLInputElement","prototype","descriptor","Object","getOwnPropertyDescriptor","setChecked","set","Event","call","dispatchEvent","style","position","pointerEvents","opacity","margin"],"version":3,"file":"index.js.map"}
@@ -154,15 +154,15 @@ const $f99a8c78507165f7$var$ARROW_KEYS = [
154
154
  /* -------------------------------------------------------------------------------------------------
155
155
  * RadioGroup
156
156
  * -----------------------------------------------------------------------------------------------*/ const $f99a8c78507165f7$var$RADIO_GROUP_NAME = 'RadioGroup';
157
- const [$f99a8c78507165f7$var$createRadioGroupContet, $f99a8c78507165f7$export$c547093f11b76da2] = $8Wolv$createContextScope($f99a8c78507165f7$var$RADIO_GROUP_NAME, [
157
+ const [$f99a8c78507165f7$var$createRadioGroupContext, $f99a8c78507165f7$export$c547093f11b76da2] = $8Wolv$createContextScope($f99a8c78507165f7$var$RADIO_GROUP_NAME, [
158
158
  $8Wolv$createRovingFocusGroupScope,
159
159
  $ce77a8961b41be9e$export$67d2296460f1b002
160
160
  ]);
161
161
  const $f99a8c78507165f7$var$useRovingFocusGroupScope = $8Wolv$createRovingFocusGroupScope();
162
162
  const $f99a8c78507165f7$var$useRadioScope = $ce77a8961b41be9e$export$67d2296460f1b002();
163
- const [$f99a8c78507165f7$var$RadioGroupProvider, $f99a8c78507165f7$var$useRadioGroupContext] = $f99a8c78507165f7$var$createRadioGroupContet($f99a8c78507165f7$var$RADIO_GROUP_NAME);
163
+ const [$f99a8c78507165f7$var$RadioGroupProvider, $f99a8c78507165f7$var$useRadioGroupContext] = $f99a8c78507165f7$var$createRadioGroupContext($f99a8c78507165f7$var$RADIO_GROUP_NAME);
164
164
  const $f99a8c78507165f7$export$a98f0dcb43a68a25 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{
165
- const { __scopeRadioGroup: __scopeRadioGroup , name: name , defaultValue: defaultValue , value: valueProp , required: required = false , orientation: orientation , dir: dir , loop: loop = true , onValueChange: onValueChange , ...groupProps } = props;
165
+ const { __scopeRadioGroup: __scopeRadioGroup , name: name , defaultValue: defaultValue , value: valueProp , required: required = false , disabled: disabled = false , orientation: orientation , dir: dir , loop: loop = true , onValueChange: onValueChange , ...groupProps } = props;
166
166
  const rovingFocusGroupScope = $f99a8c78507165f7$var$useRovingFocusGroupScope(__scopeRadioGroup);
167
167
  const direction = $8Wolv$useDirection(dir);
168
168
  const [value, setValue] = $8Wolv$useControllableState({
@@ -174,6 +174,7 @@ const $f99a8c78507165f7$export$a98f0dcb43a68a25 = /*#__PURE__*/ $8Wolv$forwardRe
174
174
  scope: __scopeRadioGroup,
175
175
  name: name,
176
176
  required: required,
177
+ disabled: disabled,
177
178
  value: value,
178
179
  onValueChange: setValue
179
180
  }, /*#__PURE__*/ $8Wolv$createElement($8Wolv$Root, $8Wolv$babelruntimehelpersesmextends({
@@ -186,6 +187,7 @@ const $f99a8c78507165f7$export$a98f0dcb43a68a25 = /*#__PURE__*/ $8Wolv$forwardRe
186
187
  role: "radiogroup",
187
188
  "aria-required": required,
188
189
  "aria-orientation": orientation,
190
+ "data-disabled": disabled ? '' : undefined,
189
191
  dir: direction
190
192
  }, groupProps, {
191
193
  ref: forwardedRef
@@ -200,6 +202,7 @@ const $f99a8c78507165f7$export$a98f0dcb43a68a25 = /*#__PURE__*/ $8Wolv$forwardRe
200
202
  const $f99a8c78507165f7$export$9f866c100ef519e4 = /*#__PURE__*/ $8Wolv$forwardRef((props, forwardedRef)=>{
201
203
  const { __scopeRadioGroup: __scopeRadioGroup , disabled: disabled , ...itemProps } = props;
202
204
  const context = $f99a8c78507165f7$var$useRadioGroupContext($f99a8c78507165f7$var$ITEM_NAME, __scopeRadioGroup);
205
+ const isDisabled = context.disabled || disabled;
203
206
  const rovingFocusGroupScope = $f99a8c78507165f7$var$useRovingFocusGroupScope(__scopeRadioGroup);
204
207
  const radioScope = $f99a8c78507165f7$var$useRadioScope(__scopeRadioGroup);
205
208
  const ref = $8Wolv$useRef(null);
@@ -222,10 +225,10 @@ const $f99a8c78507165f7$export$9f866c100ef519e4 = /*#__PURE__*/ $8Wolv$forwardRe
222
225
  return /*#__PURE__*/ $8Wolv$createElement($8Wolv$Item, $8Wolv$babelruntimehelpersesmextends({
223
226
  asChild: true
224
227
  }, rovingFocusGroupScope, {
225
- focusable: !disabled,
228
+ focusable: !isDisabled,
226
229
  active: checked
227
230
  }), /*#__PURE__*/ $8Wolv$createElement($ce77a8961b41be9e$export$d7b12c4107be0d61, $8Wolv$babelruntimehelpersesmextends({
228
- disabled: disabled,
231
+ disabled: isDisabled,
229
232
  required: context.required,
230
233
  checked: checked
231
234
  }, radioScope, itemProps, {
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/radio-group/src/index.ts","packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/Radio.tsx"],"sourcesContent":["export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Radio, RadioIndicator, createRadioScope } from './Radio';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps<P> = P & { __scopeRadioGroup?: Scope };\nconst [createRadioGroupContet, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useRadioScope = createRadioScope();\n\ntype RadioGroupContextValue = {\n name?: string;\n required: boolean;\n value?: string;\n onValueChange(value: string): void;\n};\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContet<RadioGroupContextValue>(RADIO_GROUP_NAME);\n\ntype RadioGroupElement = React.ElementRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RadioGroupProps extends PrimitiveDivProps {\n name?: RadioGroupContextValue['name'];\n required?: Radix.ComponentPropsWithoutRef<typeof Radio>['required'];\n dir?: RovingFocusGroupProps['dir'];\n orientation?: RovingFocusGroupProps['orientation'];\n loop?: RovingFocusGroupProps['loop'];\n defaultValue?: string;\n value?: RadioGroupContextValue['value'];\n onValueChange?: RadioGroupContextValue['onValueChange'];\n}\n\nconst RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(\n (props: ScopedProps<RadioGroupProps>, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <RadioGroupProvider\n scope={__scopeRadioGroup}\n name={name}\n required={required}\n value={value}\n onValueChange={setValue}\n >\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={orientation}\n dir={direction}\n loop={loop}\n >\n <Primitive.div\n role=\"radiogroup\"\n aria-required={required}\n aria-orientation={orientation}\n dir={direction}\n {...groupProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n </RadioGroupProvider>\n );\n }\n);\n\nRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RadioGroupItem';\n\ntype RadioGroupItemElement = React.ElementRef<typeof Radio>;\ntype RadioProps = Radix.ComponentPropsWithoutRef<typeof Radio>;\ninterface RadioGroupItemProps extends Omit<RadioProps, 'onCheck' | 'name'> {\n value: string;\n}\n\nconst RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(\n (props: ScopedProps<RadioGroupItemProps>, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef<React.ElementRef<typeof Radio>>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => (isArrowKeyPressedRef.current = false);\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!disabled}\n active={checked}\n >\n <Radio\n disabled={disabled}\n required={context.required}\n checked={checked}\n {...radioScope}\n {...itemProps}\n name={context.name}\n ref={composedRefs}\n onCheck={() => context.onValueChange(itemProps.value)}\n onKeyDown={composeEventHandlers((event) => {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onFocus={composeEventHandlers(itemProps.onFocus, () => {\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nRadioGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioGroupIndicator';\n\ntype RadioGroupIndicatorElement = React.ElementRef<typeof RadioIndicator>;\ntype RadioIndicatorProps = Radix.ComponentPropsWithoutRef<typeof RadioIndicator>;\ninterface RadioGroupIndicatorProps extends RadioIndicatorProps {}\n\nconst RadioGroupIndicator = React.forwardRef<RadioGroupIndicatorElement, RadioGroupIndicatorProps>(\n (props: ScopedProps<RadioGroupIndicatorProps>, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return <RadioIndicator {...radioScope} {...indicatorProps} ref={forwardedRef} />;\n }\n);\n\nRadioGroupIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst Root = RadioGroup;\nconst Item = RadioGroupItem;\nconst Indicator = RadioGroupIndicator;\n\nexport {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n};\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_NAME = 'Radio';\n\ntype ScopedProps<P> = P & { __scopeRadio?: Scope };\nconst [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n\ntype RadioContextValue = { checked: boolean; disabled?: boolean };\nconst [RadioProvider, useRadioContext] = createRadioContext<RadioContextValue>(RADIO_NAME);\n\ntype RadioElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface RadioProps extends PrimitiveButtonProps {\n checked?: boolean;\n required?: boolean;\n onCheck?(): void;\n}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>(\n (props: ScopedProps<RadioProps>, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = 'on',\n onCheck,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState<HTMLButtonElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n\n return (\n <RadioProvider scope={__scopeRadio} checked={checked} disabled={disabled}>\n <Primitive.button\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...radioProps}\n ref={composedRefs}\n onClick={composeEventHandlers(props.onClick, (event) => {\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n {isFormControl && (\n <BubbleInput\n control={button}\n bubbles={!hasConsumerStoppedPropagationRef.current}\n name={name}\n value={value}\n checked={checked}\n required={required}\n disabled={disabled}\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n style={{ transform: 'translateX(-100%)' }}\n />\n )}\n </RadioProvider>\n );\n }\n);\n\nRadio.displayName = RADIO_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioIndicator';\n\ntype RadioIndicatorElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\nexport interface RadioIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst RadioIndicator = React.forwardRef<RadioIndicatorElement, RadioIndicatorProps>(\n (props: ScopedProps<RadioIndicatorProps>, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return (\n <Presence present={forceMount || context.checked}>\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nRadioIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = Radix.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit<InputProps, 'checked'> {\n checked: boolean;\n control: HTMLElement | null;\n bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = ref.current!;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n\n return (\n <input\n type=\"radio\"\n aria-hidden\n defaultChecked={checked}\n {...inputProps}\n tabIndex={-1}\n ref={ref}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n }}\n />\n );\n};\n\nfunction getState(checked: boolean) {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createRadioScope,\n //\n Radio,\n RadioIndicator,\n};\nexport type { RadioProps };\n"],"names":["createRadioGroupScope","RadioGroup","RadioGroupItem","RadioGroupIndicator","Root","Item","Indicator","React","composeEventHandlers","useComposedRefs","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Radio","RadioIndicator","createRadioScope","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContet","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","forwardRef","props","forwardedRef","__scopeRadioGroup","name","defaultValue","value","valueProp","required","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","setValue","prop","defaultProp","onChange","ITEM_NAME","disabled","itemProps","context","radioScope","ref","useRef","composedRefs","checked","isArrowKeyPressedRef","useEffect","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","preventDefault","onFocus","click","INDICATOR_NAME","indicatorProps","useSize","usePrevious","Presence","RADIO_NAME","createRadioContext","RadioProvider","useRadioContext","__scopeRadio","onCheck","radioProps","button","setButton","useState","node","hasConsumerStoppedPropagationRef","isFormControl","Boolean","closest","getState","undefined","onClick","isPropagationStopped","stopPropagation","transform","forceMount","BubbleInput","control","bubbles","inputProps","prevChecked","controlSize","input","inputProto","window","HTMLInputElement","prototype","descriptor","Object","getOwnPropertyDescriptor","setChecked","set","Event","call","dispatchEvent","style","position","pointerEvents","opacity","margin"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":"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","sources":["packages/react/radio-group/src/index.ts","packages/react/radio-group/src/RadioGroup.tsx","packages/react/radio-group/src/Radio.tsx"],"sourcesContent":["export {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n} from './RadioGroup';\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps } from './RadioGroup';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Radio, RadioIndicator, createRadioScope } from './Radio';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroup\n * -----------------------------------------------------------------------------------------------*/\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps<P> = P & { __scopeRadioGroup?: Scope };\nconst [createRadioGroupContext, createRadioGroupScope] = createContextScope(RADIO_GROUP_NAME, [\n createRovingFocusGroupScope,\n createRadioScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useRadioScope = createRadioScope();\n\ntype RadioGroupContextValue = {\n name?: string;\n required: boolean;\n disabled: boolean;\n value?: string;\n onValueChange(value: string): void;\n};\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContext<RadioGroupContextValue>(RADIO_GROUP_NAME);\n\ntype RadioGroupElement = React.ElementRef<typeof Primitive.div>;\ntype RovingFocusGroupProps = Radix.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RadioGroupProps extends PrimitiveDivProps {\n name?: RadioGroupContextValue['name'];\n required?: Radix.ComponentPropsWithoutRef<typeof Radio>['required'];\n disabled?: Radix.ComponentPropsWithoutRef<typeof Radio>['disabled'];\n dir?: RovingFocusGroupProps['dir'];\n orientation?: RovingFocusGroupProps['orientation'];\n loop?: RovingFocusGroupProps['loop'];\n defaultValue?: string;\n value?: RadioGroupContextValue['value'];\n onValueChange?: RadioGroupContextValue['onValueChange'];\n}\n\nconst RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(\n (props: ScopedProps<RadioGroupProps>, forwardedRef) => {\n const {\n __scopeRadioGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...groupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n <RadioGroupProvider\n scope={__scopeRadioGroup}\n name={name}\n required={required}\n disabled={disabled}\n value={value}\n onValueChange={setValue}\n >\n <RovingFocusGroup.Root\n asChild\n {...rovingFocusGroupScope}\n orientation={orientation}\n dir={direction}\n loop={loop}\n >\n <Primitive.div\n role=\"radiogroup\"\n aria-required={required}\n aria-orientation={orientation}\n data-disabled={disabled ? '' : undefined}\n dir={direction}\n {...groupProps}\n ref={forwardedRef}\n />\n </RovingFocusGroup.Root>\n </RadioGroupProvider>\n );\n }\n);\n\nRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RadioGroupItem';\n\ntype RadioGroupItemElement = React.ElementRef<typeof Radio>;\ntype RadioProps = Radix.ComponentPropsWithoutRef<typeof Radio>;\ninterface RadioGroupItemProps extends Omit<RadioProps, 'onCheck' | 'name'> {\n value: string;\n}\n\nconst RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(\n (props: ScopedProps<RadioGroupItemProps>, forwardedRef) => {\n const { __scopeRadioGroup, disabled, ...itemProps } = props;\n const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n const radioScope = useRadioScope(__scopeRadioGroup);\n const ref = React.useRef<React.ElementRef<typeof Radio>>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const checked = context.value === itemProps.value;\n const isArrowKeyPressedRef = React.useRef(false);\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (ARROW_KEYS.includes(event.key)) {\n isArrowKeyPressedRef.current = true;\n }\n };\n const handleKeyUp = () => (isArrowKeyPressedRef.current = false);\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keyup', handleKeyUp);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keyup', handleKeyUp);\n };\n }, []);\n\n return (\n <RovingFocusGroup.Item\n asChild\n {...rovingFocusGroupScope}\n focusable={!isDisabled}\n active={checked}\n >\n <Radio\n disabled={isDisabled}\n required={context.required}\n checked={checked}\n {...radioScope}\n {...itemProps}\n name={context.name}\n ref={composedRefs}\n onCheck={() => context.onValueChange(itemProps.value)}\n onKeyDown={composeEventHandlers((event) => {\n // According to WAI ARIA, radio groups don't activate items on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onFocus={composeEventHandlers(itemProps.onFocus, () => {\n /**\n * Our `RovingFocusGroup` will focus the radio when navigating with arrow keys\n * and we need to \"check\" it in that case. We click it to \"check\" it (instead\n * of updating `context.value`) so that the radio change event fires.\n */\n if (isArrowKeyPressedRef.current) ref.current?.click();\n })}\n />\n </RovingFocusGroup.Item>\n );\n }\n);\n\nRadioGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioGroupIndicator';\n\ntype RadioGroupIndicatorElement = React.ElementRef<typeof RadioIndicator>;\ntype RadioIndicatorProps = Radix.ComponentPropsWithoutRef<typeof RadioIndicator>;\ninterface RadioGroupIndicatorProps extends RadioIndicatorProps {}\n\nconst RadioGroupIndicator = React.forwardRef<RadioGroupIndicatorElement, RadioGroupIndicatorProps>(\n (props: ScopedProps<RadioGroupIndicatorProps>, forwardedRef) => {\n const { __scopeRadioGroup, ...indicatorProps } = props;\n const radioScope = useRadioScope(__scopeRadioGroup);\n return <RadioIndicator {...radioScope} {...indicatorProps} ref={forwardedRef} />;\n }\n);\n\nRadioGroupIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nconst Root = RadioGroup;\nconst Item = RadioGroupItem;\nconst Indicator = RadioGroupIndicator;\n\nexport {\n createRadioGroupScope,\n //\n RadioGroup,\n RadioGroupItem,\n RadioGroupIndicator,\n //\n Root,\n Item,\n Indicator,\n};\nexport type { RadioGroupProps, RadioGroupItemProps, RadioGroupIndicatorProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Radio\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_NAME = 'Radio';\n\ntype ScopedProps<P> = P & { __scopeRadio?: Scope };\nconst [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\n\ntype RadioContextValue = { checked: boolean; disabled?: boolean };\nconst [RadioProvider, useRadioContext] = createRadioContext<RadioContextValue>(RADIO_NAME);\n\ntype RadioElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface RadioProps extends PrimitiveButtonProps {\n checked?: boolean;\n required?: boolean;\n onCheck?(): void;\n}\n\nconst Radio = React.forwardRef<RadioElement, RadioProps>(\n (props: ScopedProps<RadioProps>, forwardedRef) => {\n const {\n __scopeRadio,\n name,\n checked = false,\n required,\n disabled,\n value = 'on',\n onCheck,\n ...radioProps\n } = props;\n const [button, setButton] = React.useState<HTMLButtonElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = button ? Boolean(button.closest('form')) : true;\n\n return (\n <RadioProvider scope={__scopeRadio} checked={checked} disabled={disabled}>\n <Primitive.button\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...radioProps}\n ref={composedRefs}\n onClick={composeEventHandlers(props.onClick, (event) => {\n // radios cannot be unchecked so we only communicate a checked state\n if (!checked) onCheck?.();\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if radio is in a form, stop propagation from the button so that we only propagate\n // one click event (from the input). We propagate changes from an input so that native\n // form validation works and form events reflect radio updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n {isFormControl && (\n <BubbleInput\n control={button}\n bubbles={!hasConsumerStoppedPropagationRef.current}\n name={name}\n value={value}\n checked={checked}\n required={required}\n disabled={disabled}\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n style={{ transform: 'translateX(-100%)' }}\n />\n )}\n </RadioProvider>\n );\n }\n);\n\nRadio.displayName = RADIO_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * RadioIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'RadioIndicator';\n\ntype RadioIndicatorElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\nexport interface RadioIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst RadioIndicator = React.forwardRef<RadioIndicatorElement, RadioIndicatorProps>(\n (props: ScopedProps<RadioIndicatorProps>, forwardedRef) => {\n const { __scopeRadio, forceMount, ...indicatorProps } = props;\n const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n return (\n <Presence present={forceMount || context.checked}>\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nRadioIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = Radix.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit<InputProps, 'checked'> {\n checked: boolean;\n control: HTMLElement | null;\n bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef<HTMLInputElement>(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = ref.current!;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n\n return (\n <input\n type=\"radio\"\n aria-hidden\n defaultChecked={checked}\n {...inputProps}\n tabIndex={-1}\n ref={ref}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n }}\n />\n );\n};\n\nfunction getState(checked: boolean) {\n return checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createRadioScope,\n //\n Radio,\n RadioIndicator,\n};\nexport type { RadioProps };\n"],"names":["createRadioGroupScope","RadioGroup","RadioGroupItem","RadioGroupIndicator","Root","Item","Indicator","React","composeEventHandlers","useComposedRefs","createContextScope","Primitive","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Radio","RadioIndicator","createRadioScope","ARROW_KEYS","RADIO_GROUP_NAME","createRadioGroupContext","useRovingFocusGroupScope","useRadioScope","RadioGroupProvider","useRadioGroupContext","forwardRef","props","forwardedRef","__scopeRadioGroup","name","defaultValue","value","valueProp","required","disabled","orientation","dir","loop","onValueChange","groupProps","rovingFocusGroupScope","direction","setValue","prop","defaultProp","onChange","undefined","ITEM_NAME","itemProps","context","isDisabled","radioScope","ref","useRef","composedRefs","checked","isArrowKeyPressedRef","useEffect","handleKeyDown","event","includes","key","current","handleKeyUp","document","addEventListener","removeEventListener","preventDefault","onFocus","click","INDICATOR_NAME","indicatorProps","useSize","usePrevious","Presence","RADIO_NAME","createRadioContext","RadioProvider","useRadioContext","__scopeRadio","onCheck","radioProps","button","setButton","useState","node","hasConsumerStoppedPropagationRef","isFormControl","Boolean","closest","getState","onClick","isPropagationStopped","stopPropagation","transform","forceMount","BubbleInput","control","bubbles","inputProps","prevChecked","controlSize","input","inputProto","window","HTMLInputElement","prototype","descriptor","Object","getOwnPropertyDescriptor","setChecked","set","Event","call","dispatchEvent","style","position","pointerEvents","opacity","margin"],"version":3,"file":"index.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-radio-group",
3
- "version": "1.0.1-rc.6",
3
+ "version": "1.1.0-rc.2",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -22,8 +22,8 @@
22
22
  "@radix-ui/react-context": "1.0.0",
23
23
  "@radix-ui/react-direction": "1.0.0",
24
24
  "@radix-ui/react-presence": "1.0.0",
25
- "@radix-ui/react-primitive": "1.0.1-rc.6",
26
- "@radix-ui/react-roving-focus": "1.0.1-rc.6",
25
+ "@radix-ui/react-primitive": "1.0.1-rc.8",
26
+ "@radix-ui/react-roving-focus": "1.0.1-rc.8",
27
27
  "@radix-ui/react-use-controllable-state": "1.0.0",
28
28
  "@radix-ui/react-use-previous": "1.0.0",
29
29
  "@radix-ui/react-use-size": "1.0.0"