@radix-ui/react-radio-group
Advanced tools
Comparing version 1.2.0-rc.2 to 1.2.0-rc.3
"use strict"; | ||
"use client"; | ||
(() => { | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { | ||
get: (a, b) => (typeof require !== "undefined" ? require : a)[b] | ||
}) : x)(function(x) { | ||
if (typeof require !== "undefined") return require.apply(this, arguments); | ||
throw Error('Dynamic require of "' + x + '" is not supported'); | ||
}); | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
// If the importer is in node compatibility mode or this is not an ESM | ||
// file that has been converted to a CommonJS file using a Babel- | ||
// compatible transform (i.e. "__esModule" has not been set), then set | ||
// "default" to the CommonJS "module.exports" for node compatibility. | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
// packages/react/radio-group/src/index.ts | ||
var src_exports = {}; | ||
__export(src_exports, { | ||
Indicator: () => Indicator, | ||
Item: () => Item2, | ||
RadioGroup: () => RadioGroup, | ||
RadioGroupIndicator: () => RadioGroupIndicator, | ||
RadioGroupItem: () => RadioGroupItem, | ||
Root: () => Root2, | ||
createRadioGroupScope: () => createRadioGroupScope | ||
}); | ||
module.exports = __toCommonJS(src_exports); | ||
// packages/react/radio-group/src/RadioGroup.tsx | ||
var React2 = __toESM(require("react")); | ||
var import_primitive2 = require("@radix-ui/primitive"); | ||
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs"); | ||
var import_react_context2 = require("@radix-ui/react-context"); | ||
var import_react_primitive2 = require("@radix-ui/react-primitive"); | ||
var RovingFocusGroup = __toESM(require("@radix-ui/react-roving-focus")); | ||
var import_react_roving_focus = require("@radix-ui/react-roving-focus"); | ||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state"); | ||
var import_react_direction = require("@radix-ui/react-direction"); | ||
// packages/react/radio-group/src/Radio.tsx | ||
var React = __toESM(require("react")); | ||
var import_primitive = require("@radix-ui/primitive"); | ||
var import_react_compose_refs = require("@radix-ui/react-compose-refs"); | ||
var import_react_context = require("@radix-ui/react-context"); | ||
var import_react_use_size = require("@radix-ui/react-use-size"); | ||
var import_react_use_previous = require("@radix-ui/react-use-previous"); | ||
var import_react_presence = require("@radix-ui/react-presence"); | ||
var import_react_primitive = require("@radix-ui/react-primitive"); | ||
var import_jsx_runtime = require("react/jsx-runtime"); | ||
var RADIO_NAME = "Radio"; | ||
var [createRadioContext, createRadioScope] = (0, import_react_context.createContextScope)(RADIO_NAME); | ||
var [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME); | ||
var Radio = React.forwardRef( | ||
(props, forwardedRef) => { | ||
const { | ||
__scopeRadio, | ||
name, | ||
checked = false, | ||
required, | ||
disabled, | ||
value = "on", | ||
onCheck, | ||
...radioProps | ||
} = props; | ||
const [button, setButton] = React.useState(null); | ||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, (node) => setButton(node)); | ||
const hasConsumerStoppedPropagationRef = React.useRef(false); | ||
const isFormControl = button ? Boolean(button.closest("form")) : true; | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [ | ||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
import_react_primitive.Primitive.button, | ||
{ | ||
type: "button", | ||
role: "radio", | ||
"aria-checked": checked, | ||
"data-state": getState(checked), | ||
"data-disabled": disabled ? "" : void 0, | ||
disabled, | ||
value, | ||
...radioProps, | ||
ref: composedRefs, | ||
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, (event) => { | ||
if (!checked) onCheck?.(); | ||
if (isFormControl) { | ||
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); | ||
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation(); | ||
} | ||
}) | ||
} | ||
), | ||
isFormControl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
BubbleInput, | ||
{ | ||
control: button, | ||
bubbles: !hasConsumerStoppedPropagationRef.current, | ||
name, | ||
value, | ||
checked, | ||
required, | ||
disabled, | ||
style: { transform: "translateX(-100%)" } | ||
} | ||
) | ||
] }); | ||
} | ||
); | ||
Radio.displayName = RADIO_NAME; | ||
var INDICATOR_NAME = "RadioIndicator"; | ||
var RadioIndicator = React.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadio, forceMount, ...indicatorProps } = props; | ||
const context = useRadioContext(INDICATOR_NAME, __scopeRadio); | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
import_react_primitive.Primitive.span, | ||
{ | ||
"data-state": getState(context.checked), | ||
"data-disabled": context.disabled ? "" : void 0, | ||
...indicatorProps, | ||
ref: forwardedRef | ||
} | ||
) }); | ||
} | ||
); | ||
RadioIndicator.displayName = INDICATOR_NAME; | ||
var BubbleInput = (props) => { | ||
const { control, checked, bubbles = true, ...inputProps } = props; | ||
const ref = React.useRef(null); | ||
const prevChecked = (0, import_react_use_previous.usePrevious)(checked); | ||
const controlSize = (0, import_react_use_size.useSize)(control); | ||
React.useEffect(() => { | ||
const input = ref.current; | ||
const inputProto = window.HTMLInputElement.prototype; | ||
const descriptor = Object.getOwnPropertyDescriptor(inputProto, "checked"); | ||
const setChecked = descriptor.set; | ||
if (prevChecked !== checked && setChecked) { | ||
const event = new Event("click", { bubbles }); | ||
setChecked.call(input, checked); | ||
input.dispatchEvent(event); | ||
} | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
// If the importer is in node compatibility mode or this is not an ESM | ||
// file that has been converted to a CommonJS file using a Babel- | ||
// compatible transform (i.e. "__esModule" has not been set), then set | ||
// "default" to the CommonJS "module.exports" for node compatibility. | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
}, [prevChecked, checked, bubbles]); | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
"input", | ||
{ | ||
type: "radio", | ||
"aria-hidden": true, | ||
defaultChecked: checked, | ||
...inputProps, | ||
tabIndex: -1, | ||
ref, | ||
style: { | ||
...props.style, | ||
...controlSize, | ||
position: "absolute", | ||
pointerEvents: "none", | ||
opacity: 0, | ||
margin: 0 | ||
} | ||
} | ||
); | ||
}; | ||
function getState(checked) { | ||
return checked ? "checked" : "unchecked"; | ||
} | ||
// packages/react/radio-group/src/RadioGroup.tsx | ||
var React2 = __toESM(__require("react")); | ||
var import_primitive2 = __require("@radix-ui/primitive"); | ||
var import_react_compose_refs2 = __require("@radix-ui/react-compose-refs"); | ||
var import_react_context2 = __require("@radix-ui/react-context"); | ||
var import_react_primitive2 = __require("@radix-ui/react-primitive"); | ||
var RovingFocusGroup = __toESM(__require("@radix-ui/react-roving-focus")); | ||
var import_react_roving_focus = __require("@radix-ui/react-roving-focus"); | ||
var import_react_use_controllable_state = __require("@radix-ui/react-use-controllable-state"); | ||
var import_react_direction = __require("@radix-ui/react-direction"); | ||
// packages/react/radio-group/src/Radio.tsx | ||
var React = __toESM(__require("react")); | ||
var import_primitive = __require("@radix-ui/primitive"); | ||
var import_react_compose_refs = __require("@radix-ui/react-compose-refs"); | ||
var import_react_context = __require("@radix-ui/react-context"); | ||
var import_react_use_size = __require("@radix-ui/react-use-size"); | ||
var import_react_use_previous = __require("@radix-ui/react-use-previous"); | ||
var import_react_presence = __require("@radix-ui/react-presence"); | ||
var import_react_primitive = __require("@radix-ui/react-primitive"); | ||
var import_jsx_runtime = __require("react/jsx-runtime"); | ||
var RADIO_NAME = "Radio"; | ||
var [createRadioContext, createRadioScope] = (0, import_react_context.createContextScope)(RADIO_NAME); | ||
var [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME); | ||
var Radio = React.forwardRef( | ||
(props, forwardedRef) => { | ||
const { | ||
__scopeRadio, | ||
// packages/react/radio-group/src/RadioGroup.tsx | ||
var import_jsx_runtime2 = require("react/jsx-runtime"); | ||
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"]; | ||
var RADIO_GROUP_NAME = "RadioGroup"; | ||
var [createRadioGroupContext, createRadioGroupScope] = (0, import_react_context2.createContextScope)(RADIO_GROUP_NAME, [ | ||
import_react_roving_focus.createRovingFocusGroupScope, | ||
createRadioScope | ||
]); | ||
var useRovingFocusGroupScope = (0, import_react_roving_focus.createRovingFocusGroupScope)(); | ||
var useRadioScope = createRadioScope(); | ||
var [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME); | ||
var RadioGroup = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { | ||
__scopeRadioGroup, | ||
name, | ||
defaultValue, | ||
value: valueProp, | ||
required = false, | ||
disabled = false, | ||
orientation, | ||
dir, | ||
loop = true, | ||
onValueChange, | ||
...groupProps | ||
} = props; | ||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup); | ||
const direction = (0, import_react_direction.useDirection)(dir); | ||
const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({ | ||
prop: valueProp, | ||
defaultProp: defaultValue, | ||
onChange: onValueChange | ||
}); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RadioGroupProvider, | ||
{ | ||
scope: __scopeRadioGroup, | ||
name, | ||
checked = false, | ||
required, | ||
disabled, | ||
value = "on", | ||
onCheck, | ||
...radioProps | ||
} = props; | ||
const [button, setButton] = React.useState(null); | ||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, (node) => setButton(node)); | ||
const hasConsumerStoppedPropagationRef = React.useRef(false); | ||
const isFormControl = button ? Boolean(button.closest("form")) : true; | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [ | ||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
import_react_primitive.Primitive.button, | ||
value, | ||
onValueChange: setValue, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RovingFocusGroup.Root, | ||
{ | ||
type: "button", | ||
role: "radio", | ||
"aria-checked": checked, | ||
"data-state": getState(checked), | ||
"data-disabled": disabled ? "" : void 0, | ||
disabled, | ||
value, | ||
...radioProps, | ||
ref: composedRefs, | ||
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, (event) => { | ||
if (!checked) onCheck?.(); | ||
if (isFormControl) { | ||
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); | ||
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation(); | ||
asChild: true, | ||
...rovingFocusGroupScope, | ||
orientation, | ||
dir: direction, | ||
loop, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
import_react_primitive2.Primitive.div, | ||
{ | ||
role: "radiogroup", | ||
"aria-required": required, | ||
"aria-orientation": orientation, | ||
"data-disabled": disabled ? "" : void 0, | ||
dir: direction, | ||
...groupProps, | ||
ref: forwardedRef | ||
} | ||
}) | ||
) | ||
} | ||
), | ||
isFormControl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
BubbleInput, | ||
) | ||
} | ||
); | ||
} | ||
); | ||
RadioGroup.displayName = RADIO_GROUP_NAME; | ||
var ITEM_NAME = "RadioGroupItem"; | ||
var RadioGroupItem = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadioGroup, disabled, ...itemProps } = props; | ||
const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup); | ||
const isDisabled = context.disabled || disabled; | ||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup); | ||
const radioScope = useRadioScope(__scopeRadioGroup); | ||
const ref = React2.useRef(null); | ||
const composedRefs = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, ref); | ||
const checked = context.value === itemProps.value; | ||
const isArrowKeyPressedRef = React2.useRef(false); | ||
React2.useEffect(() => { | ||
const handleKeyDown = (event) => { | ||
if (ARROW_KEYS.includes(event.key)) { | ||
isArrowKeyPressedRef.current = true; | ||
} | ||
}; | ||
const handleKeyUp = () => isArrowKeyPressedRef.current = false; | ||
document.addEventListener("keydown", handleKeyDown); | ||
document.addEventListener("keyup", handleKeyUp); | ||
return () => { | ||
document.removeEventListener("keydown", handleKeyDown); | ||
document.removeEventListener("keyup", handleKeyUp); | ||
}; | ||
}, []); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RovingFocusGroup.Item, | ||
{ | ||
asChild: true, | ||
...rovingFocusGroupScope, | ||
focusable: !isDisabled, | ||
active: checked, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
Radio, | ||
{ | ||
control: button, | ||
bubbles: !hasConsumerStoppedPropagationRef.current, | ||
name, | ||
value, | ||
disabled: isDisabled, | ||
required: context.required, | ||
checked, | ||
required, | ||
disabled, | ||
style: { transform: "translateX(-100%)" } | ||
...radioScope, | ||
...itemProps, | ||
name: context.name, | ||
ref: composedRefs, | ||
onCheck: () => context.onValueChange(itemProps.value), | ||
onKeyDown: (0, import_primitive2.composeEventHandlers)((event) => { | ||
if (event.key === "Enter") event.preventDefault(); | ||
}), | ||
onFocus: (0, import_primitive2.composeEventHandlers)(itemProps.onFocus, () => { | ||
if (isArrowKeyPressedRef.current) ref.current?.click(); | ||
}) | ||
} | ||
) | ||
] }); | ||
} | ||
); | ||
Radio.displayName = RADIO_NAME; | ||
var INDICATOR_NAME = "RadioIndicator"; | ||
var RadioIndicator = React.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadio, forceMount, ...indicatorProps } = props; | ||
const context = useRadioContext(INDICATOR_NAME, __scopeRadio); | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
import_react_primitive.Primitive.span, | ||
{ | ||
"data-state": getState(context.checked), | ||
"data-disabled": context.disabled ? "" : void 0, | ||
...indicatorProps, | ||
ref: forwardedRef | ||
} | ||
) }); | ||
} | ||
); | ||
RadioIndicator.displayName = INDICATOR_NAME; | ||
var BubbleInput = (props) => { | ||
const { control, checked, bubbles = true, ...inputProps } = props; | ||
const ref = React.useRef(null); | ||
const prevChecked = (0, import_react_use_previous.usePrevious)(checked); | ||
const controlSize = (0, import_react_use_size.useSize)(control); | ||
React.useEffect(() => { | ||
const input = ref.current; | ||
const inputProto = window.HTMLInputElement.prototype; | ||
const descriptor = Object.getOwnPropertyDescriptor(inputProto, "checked"); | ||
const setChecked = descriptor.set; | ||
if (prevChecked !== checked && setChecked) { | ||
const event = new Event("click", { bubbles }); | ||
setChecked.call(input, checked); | ||
input.dispatchEvent(event); | ||
} | ||
}, [prevChecked, checked, bubbles]); | ||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( | ||
"input", | ||
{ | ||
type: "radio", | ||
"aria-hidden": true, | ||
defaultChecked: checked, | ||
...inputProps, | ||
tabIndex: -1, | ||
ref, | ||
style: { | ||
...props.style, | ||
...controlSize, | ||
position: "absolute", | ||
pointerEvents: "none", | ||
opacity: 0, | ||
margin: 0 | ||
} | ||
} | ||
); | ||
}; | ||
function getState(checked) { | ||
return checked ? "checked" : "unchecked"; | ||
} | ||
// packages/react/radio-group/src/RadioGroup.tsx | ||
var import_jsx_runtime2 = __require("react/jsx-runtime"); | ||
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"]; | ||
var RADIO_GROUP_NAME = "RadioGroup"; | ||
var [createRadioGroupContext, createRadioGroupScope] = (0, import_react_context2.createContextScope)(RADIO_GROUP_NAME, [ | ||
import_react_roving_focus.createRovingFocusGroupScope, | ||
createRadioScope | ||
]); | ||
var useRovingFocusGroupScope = (0, import_react_roving_focus.createRovingFocusGroupScope)(); | ||
var useRadioScope = createRadioScope(); | ||
var [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME); | ||
var RadioGroup = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { | ||
__scopeRadioGroup, | ||
name, | ||
defaultValue, | ||
value: valueProp, | ||
required = false, | ||
disabled = false, | ||
orientation, | ||
dir, | ||
loop = true, | ||
onValueChange, | ||
...groupProps | ||
} = props; | ||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup); | ||
const direction = (0, import_react_direction.useDirection)(dir); | ||
const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({ | ||
prop: valueProp, | ||
defaultProp: defaultValue, | ||
onChange: onValueChange | ||
}); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RadioGroupProvider, | ||
{ | ||
scope: __scopeRadioGroup, | ||
name, | ||
required, | ||
disabled, | ||
value, | ||
onValueChange: setValue, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RovingFocusGroup.Root, | ||
{ | ||
asChild: true, | ||
...rovingFocusGroupScope, | ||
orientation, | ||
dir: direction, | ||
loop, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
import_react_primitive2.Primitive.div, | ||
{ | ||
role: "radiogroup", | ||
"aria-required": required, | ||
"aria-orientation": orientation, | ||
"data-disabled": disabled ? "" : void 0, | ||
dir: direction, | ||
...groupProps, | ||
ref: forwardedRef | ||
} | ||
) | ||
} | ||
) | ||
} | ||
); | ||
} | ||
); | ||
RadioGroup.displayName = RADIO_GROUP_NAME; | ||
var ITEM_NAME = "RadioGroupItem"; | ||
var RadioGroupItem = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadioGroup, disabled, ...itemProps } = props; | ||
const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup); | ||
const isDisabled = context.disabled || disabled; | ||
const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup); | ||
const radioScope = useRadioScope(__scopeRadioGroup); | ||
const ref = React2.useRef(null); | ||
const composedRefs = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, ref); | ||
const checked = context.value === itemProps.value; | ||
const isArrowKeyPressedRef = React2.useRef(false); | ||
React2.useEffect(() => { | ||
const handleKeyDown = (event) => { | ||
if (ARROW_KEYS.includes(event.key)) { | ||
isArrowKeyPressedRef.current = true; | ||
} | ||
}; | ||
const handleKeyUp = () => isArrowKeyPressedRef.current = false; | ||
document.addEventListener("keydown", handleKeyDown); | ||
document.addEventListener("keyup", handleKeyUp); | ||
return () => { | ||
document.removeEventListener("keydown", handleKeyDown); | ||
document.removeEventListener("keyup", handleKeyUp); | ||
}; | ||
}, []); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
RovingFocusGroup.Item, | ||
{ | ||
asChild: true, | ||
...rovingFocusGroupScope, | ||
focusable: !isDisabled, | ||
active: checked, | ||
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( | ||
Radio, | ||
{ | ||
disabled: isDisabled, | ||
required: context.required, | ||
checked, | ||
...radioScope, | ||
...itemProps, | ||
name: context.name, | ||
ref: composedRefs, | ||
onCheck: () => context.onValueChange(itemProps.value), | ||
onKeyDown: (0, import_primitive2.composeEventHandlers)((event) => { | ||
if (event.key === "Enter") event.preventDefault(); | ||
}), | ||
onFocus: (0, import_primitive2.composeEventHandlers)(itemProps.onFocus, () => { | ||
if (isArrowKeyPressedRef.current) ref.current?.click(); | ||
}) | ||
} | ||
) | ||
} | ||
); | ||
} | ||
); | ||
RadioGroupItem.displayName = ITEM_NAME; | ||
var INDICATOR_NAME2 = "RadioGroupIndicator"; | ||
var RadioGroupIndicator = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadioGroup, ...indicatorProps } = props; | ||
const radioScope = useRadioScope(__scopeRadioGroup); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef }); | ||
} | ||
); | ||
RadioGroupIndicator.displayName = INDICATOR_NAME2; | ||
var Root2 = RadioGroup; | ||
var Item2 = RadioGroupItem; | ||
var Indicator = RadioGroupIndicator; | ||
})(); | ||
); | ||
RadioGroupItem.displayName = ITEM_NAME; | ||
var INDICATOR_NAME2 = "RadioGroupIndicator"; | ||
var RadioGroupIndicator = React2.forwardRef( | ||
(props, forwardedRef) => { | ||
const { __scopeRadioGroup, ...indicatorProps } = props; | ||
const radioScope = useRadioScope(__scopeRadioGroup); | ||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef }); | ||
} | ||
); | ||
RadioGroupIndicator.displayName = INDICATOR_NAME2; | ||
var Root2 = RadioGroup; | ||
var Item2 = RadioGroupItem; | ||
var Indicator = RadioGroupIndicator; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@radix-ui/react-radio-group", | ||
"version": "1.2.0-rc.2", | ||
"version": "1.2.0-rc.3", | ||
"license": "MIT", | ||
@@ -31,12 +31,12 @@ "exports": { | ||
"dependencies": { | ||
"@radix-ui/primitive": "1.1.0-rc.2", | ||
"@radix-ui/react-compose-refs": "1.1.0-rc.2", | ||
"@radix-ui/react-context": "1.1.0-rc.2", | ||
"@radix-ui/react-direction": "1.1.0-rc.2", | ||
"@radix-ui/react-presence": "1.1.0-rc.2", | ||
"@radix-ui/react-primitive": "1.1.0-rc.2", | ||
"@radix-ui/react-roving-focus": "1.1.0-rc.2", | ||
"@radix-ui/react-use-controllable-state": "1.1.0-rc.2", | ||
"@radix-ui/react-use-previous": "1.1.0-rc.2", | ||
"@radix-ui/react-use-size": "1.1.0-rc.2" | ||
"@radix-ui/primitive": "1.1.0-rc.3", | ||
"@radix-ui/react-compose-refs": "1.1.0-rc.3", | ||
"@radix-ui/react-context": "1.1.0-rc.3", | ||
"@radix-ui/react-direction": "1.1.0-rc.3", | ||
"@radix-ui/react-presence": "1.1.0-rc.3", | ||
"@radix-ui/react-primitive": "1.1.0-rc.3", | ||
"@radix-ui/react-roving-focus": "1.1.0-rc.3", | ||
"@radix-ui/react-use-controllable-state": "1.1.0-rc.3", | ||
"@radix-ui/react-use-previous": "1.1.0-rc.3", | ||
"@radix-ui/react-use-size": "1.1.0-rc.3" | ||
}, | ||
@@ -43,0 +43,0 @@ "peerDependencies": { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
662
0
71769
+ Added@radix-ui/primitive@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-collection@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-compose-refs@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-context@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-direction@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-id@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-presence@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-primitive@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-roving-focus@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-slot@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-use-callback-ref@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-use-controllable-state@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-use-layout-effect@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-use-previous@1.1.0-rc.3(transitive)
+ Added@radix-ui/react-use-size@1.1.0-rc.3(transitive)
- Removed@radix-ui/primitive@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-collection@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-compose-refs@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-context@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-direction@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-id@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-presence@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-primitive@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-roving-focus@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-slot@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-use-callback-ref@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-use-controllable-state@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-use-layout-effect@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-use-previous@1.1.0-rc.2(transitive)
- Removed@radix-ui/react-use-size@1.1.0-rc.2(transitive)