UNPKG

@ariakit/react-core

Version:

Ariakit React core

81 lines (62 loc) 2.42 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _MSGRBKW7cjs = require('../__chunks/MSGRBKW7.cjs'); require('../__chunks/GPGAUVKK.cjs'); var _7Y3JA54Qcjs = require('../__chunks/7Y3JA54Q.cjs'); var _5CBRED7Acjs = require('../__chunks/5CBRED7A.cjs'); require('../__chunks/DX5OUXRC.cjs'); require('../__chunks/2XVCJUVB.cjs'); require('../__chunks/QM74NV6D.cjs'); require('../__chunks/EOGOO37X.cjs'); require('../__chunks/HAR6UDZU.cjs'); require('../__chunks/BB34VMZX.cjs'); require('../__chunks/T3QB4FR3.cjs'); var _RDNUVX4Vcjs = require('../__chunks/RDNUVX4V.cjs'); require('../__chunks/ZYZTL3IQ.cjs'); var _SQLDFLTEcjs = require('../__chunks/SQLDFLTE.cjs'); var _4KGS3DOWcjs = require('../__chunks/4KGS3DOW.cjs'); require('../__chunks/TWX5YNTH.cjs'); // src/form/form-radio.tsx var _misc = require('@ariakit/core/utils/misc'); var TagName = "input"; var useFormRadio = _SQLDFLTEcjs.createHook.call(void 0, function useFormRadio2({ store, name: nameProp, value, ...props }) { const context = _5CBRED7Acjs.useFormContext.call(void 0, ); store = store || context; _misc.invariant.call(void 0, store, process.env.NODE_ENV !== "production" && "FormRadio must be wrapped in a Form component." ); const name = String(nameProp); const onChangeProp = props.onChange; const onChange = _4KGS3DOWcjs.useEvent.call(void 0, (event) => { onChangeProp == null ? void 0 : onChangeProp(event); if (event.defaultPrevented) return; store == null ? void 0 : store.setValue(name, value); }); const checkedProp = props.checked; const checked = _RDNUVX4Vcjs.useStoreState.call(void 0, store, () => checkedProp != null ? checkedProp : (store == null ? void 0 : store.getValue(name)) === value ); props = { ...props, checked, onChange }; props = _MSGRBKW7cjs.useRadio.call(void 0, { name, value, ...props }); props = _7Y3JA54Qcjs.useFormControl.call(void 0, { store, name, "aria-labelledby": void 0, ...props }); return props; } ); var FormRadio = _SQLDFLTEcjs.memo.call(void 0, _SQLDFLTEcjs.forwardRef.call(void 0, function FormRadio2(props) { const htmlProps = useFormRadio(props); return _SQLDFLTEcjs.createElement.call(void 0, TagName, htmlProps); }) ); exports.FormRadio = FormRadio; exports.useFormRadio = useFormRadio;