@cdx-ui/primitives 0.0.1-alpha.29 → 0.0.1-alpha.30
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/lib/commonjs/form-control/createFormError.js +41 -0
- package/lib/commonjs/form-control/createFormError.js.map +1 -0
- package/lib/commonjs/form-control/createFormErrorIcon.js +18 -0
- package/lib/commonjs/form-control/createFormErrorIcon.js.map +1 -0
- package/lib/commonjs/form-control/createFormErrorText.js +18 -0
- package/lib/commonjs/form-control/createFormErrorText.js.map +1 -0
- package/lib/commonjs/form-control/createFormField.js +35 -0
- package/lib/commonjs/form-control/createFormField.js.map +1 -0
- package/lib/commonjs/form-control/createFormHelper.js +41 -0
- package/lib/commonjs/form-control/createFormHelper.js.map +1 -0
- package/lib/commonjs/form-control/createFormHelperText.js +18 -0
- package/lib/commonjs/form-control/createFormHelperText.js.map +1 -0
- package/lib/commonjs/form-control/createFormLabel.js +38 -0
- package/lib/commonjs/form-control/createFormLabel.js.map +1 -0
- package/lib/commonjs/form-control/createFormRoot.js +21 -0
- package/lib/commonjs/form-control/createFormRoot.js.map +1 -0
- package/lib/commonjs/form-control/index.js +53 -0
- package/lib/commonjs/form-control/index.js.map +1 -0
- package/lib/commonjs/form-control/types.js +6 -0
- package/lib/commonjs/form-control/types.js.map +1 -0
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/input/createInputField.js +3 -1
- package/lib/commonjs/input/createInputField.js.map +1 -1
- package/lib/commonjs/select/createSelectRoot.js +8 -5
- package/lib/commonjs/select/createSelectRoot.js.map +1 -1
- package/lib/commonjs/select/createSelectTrigger.js +50 -3
- package/lib/commonjs/select/createSelectTrigger.js.map +1 -1
- package/lib/module/form-control/createFormError.js +35 -0
- package/lib/module/form-control/createFormError.js.map +1 -0
- package/lib/module/form-control/createFormErrorIcon.js +13 -0
- package/lib/module/form-control/createFormErrorIcon.js.map +1 -0
- package/lib/module/form-control/createFormErrorText.js +13 -0
- package/lib/module/form-control/createFormErrorText.js.map +1 -0
- package/lib/module/form-control/createFormField.js +29 -0
- package/lib/module/form-control/createFormField.js.map +1 -0
- package/lib/module/form-control/createFormHelper.js +35 -0
- package/lib/module/form-control/createFormHelper.js.map +1 -0
- package/lib/module/form-control/createFormHelperText.js +13 -0
- package/lib/module/form-control/createFormHelperText.js.map +1 -0
- package/lib/module/form-control/createFormLabel.js +33 -0
- package/lib/module/form-control/createFormLabel.js.map +1 -0
- package/lib/module/form-control/createFormRoot.js +15 -0
- package/lib/module/form-control/createFormRoot.js.map +1 -0
- package/lib/module/form-control/index.js +49 -0
- package/lib/module/form-control/index.js.map +1 -0
- package/lib/module/form-control/types.js +4 -0
- package/lib/module/form-control/types.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/input/createInputField.js +4 -2
- package/lib/module/input/createInputField.js.map +1 -1
- package/lib/module/select/createSelectRoot.js +8 -5
- package/lib/module/select/createSelectRoot.js.map +1 -1
- package/lib/module/select/createSelectTrigger.js +52 -5
- package/lib/module/select/createSelectTrigger.js.map +1 -1
- package/lib/typescript/checkbox/useCheckboxRoot.d.ts +5 -0
- package/lib/typescript/checkbox/useCheckboxRoot.d.ts.map +1 -1
- package/lib/typescript/form-control/createFormError.d.ts +5 -0
- package/lib/typescript/form-control/createFormError.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormErrorIcon.d.ts +5 -0
- package/lib/typescript/form-control/createFormErrorIcon.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormErrorText.d.ts +5 -0
- package/lib/typescript/form-control/createFormErrorText.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormField.d.ts +6 -0
- package/lib/typescript/form-control/createFormField.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormHelper.d.ts +5 -0
- package/lib/typescript/form-control/createFormHelper.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormHelperText.d.ts +5 -0
- package/lib/typescript/form-control/createFormHelperText.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormLabel.d.ts +8 -0
- package/lib/typescript/form-control/createFormLabel.d.ts.map +1 -0
- package/lib/typescript/form-control/createFormRoot.d.ts +6 -0
- package/lib/typescript/form-control/createFormRoot.d.ts.map +1 -0
- package/lib/typescript/form-control/index.d.ts +14 -0
- package/lib/typescript/form-control/index.d.ts.map +1 -0
- package/lib/typescript/form-control/types.d.ts +73 -0
- package/lib/typescript/form-control/types.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/input/createInputField.d.ts.map +1 -1
- package/lib/typescript/select/createSelectRoot.d.ts.map +1 -1
- package/lib/typescript/select/createSelectTrigger.d.ts.map +1 -1
- package/lib/typescript/select/types.d.ts +4 -0
- package/lib/typescript/select/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/form-control/createFormError.tsx +32 -0
- package/src/form-control/createFormErrorIcon.tsx +9 -0
- package/src/form-control/createFormErrorText.tsx +9 -0
- package/src/form-control/createFormField.tsx +27 -0
- package/src/form-control/createFormHelper.tsx +28 -0
- package/src/form-control/createFormHelperText.tsx +9 -0
- package/src/form-control/createFormLabel.tsx +30 -0
- package/src/form-control/createFormRoot.tsx +13 -0
- package/src/form-control/index.tsx +71 -0
- package/src/form-control/types.tsx +92 -0
- package/src/index.ts +1 -0
- package/src/input/createInputField.tsx +8 -2
- package/src/select/createSelectRoot.tsx +7 -3
- package/src/select/createSelectTrigger.tsx +55 -4
- package/src/select/types.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_dataAttributes","_context","_jsxRuntime","createSelectTrigger","BaseTrigger","forwardRef","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","useSelectContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","handlePress","useCallback","e","type","key","handleKeyDown","preventDefault","interactionState","useMemo","hover","focus","active","focusVisible","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_utils","_focus","_interactions","_dataAttributes","_context","_jsxRuntime","createSelectTrigger","BaseTrigger","forwardRef","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedByProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedBy","ariaDescribedByFromField","useSelectContext","field","useFormControlContext","focusProps","focusRingProps","useFocusRing","pressProps","isPressed","usePress","useFocus","hoverProps","useHover","handlePress","useCallback","e","type","key","handleKeyDown","preventDefault","interactionState","useMemo","hover","focus","active","focusVisible","labelFocusGateRef","useRef","current","labelFocusBridge","isOff","isRO","node","useLayoutEffect","Platform","OS","inputRef","r","mergedRef","mergeRefs","filter","Boolean","join","webKeyboardProps","onKeyDown","composeEventHandlers","jsx","SelectTriggerProvider","value","role","undefined","dataAttributes","readonly","state","slot","id","onPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onFocus","onBlur","exports"],"sourceRoot":"../../../src","sources":["select/createSelectTrigger.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { useFormControlContext } from '@cdx-ui/utils';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const createFormError = BaseFormError => /*#__PURE__*/forwardRef(({
|
|
7
|
+
children,
|
|
8
|
+
...props
|
|
9
|
+
}, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
isInvalid,
|
|
12
|
+
feedbackId,
|
|
13
|
+
setHasFeedbackText
|
|
14
|
+
} = useFormControlContext();
|
|
15
|
+
const visible = Boolean(isInvalid && children);
|
|
16
|
+
React.useEffect(() => {
|
|
17
|
+
if (!visible) {
|
|
18
|
+
setHasFeedbackText?.(false);
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
setHasFeedbackText?.(true);
|
|
22
|
+
return () => {
|
|
23
|
+
setHasFeedbackText?.(false);
|
|
24
|
+
};
|
|
25
|
+
}, [setHasFeedbackText, visible]);
|
|
26
|
+
return visible ? /*#__PURE__*/_jsx(BaseFormError, {
|
|
27
|
+
ref: ref,
|
|
28
|
+
...props,
|
|
29
|
+
id: feedbackId,
|
|
30
|
+
accessibilityRole: "alert",
|
|
31
|
+
accessibilityLiveRegion: "assertive",
|
|
32
|
+
children: children
|
|
33
|
+
}) : null;
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=createFormError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useFormControlContext","jsx","_jsx","createFormError","BaseFormError","children","props","ref","isInvalid","feedbackId","setHasFeedbackText","visible","Boolean","useEffect","undefined","id","accessibilityRole","accessibilityLiveRegion"],"sourceRoot":"../../../src","sources":["form-control/createFormError.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,qBAAqB,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtD,OAAO,MAAMC,eAAe,GAAQC,aAAqC,iBACvEL,UAAU,CAA0C,CAAC;EAAEM,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACnF,MAAM;IAAEC,SAAS;IAAEC,UAAU;IAAEC;EAAmB,CAAC,GAAGV,qBAAqB,CAAC,CAAC;EAE7E,MAAMW,OAAO,GAAGC,OAAO,CAACJ,SAAS,IAAIH,QAAQ,CAAC;EAE9CP,KAAK,CAACe,SAAS,CAAC,MAAM;IACpB,IAAI,CAACF,OAAO,EAAE;MACZD,kBAAkB,GAAG,KAAK,CAAC;MAC3B,OAAOI,SAAS;IAClB;IACAJ,kBAAkB,GAAG,IAAI,CAAC;IAC1B,OAAO,MAAM;MACXA,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACA,kBAAkB,EAAEC,OAAO,CAAC,CAAC;EAEjC,OAAOA,OAAO,gBACZT,IAAA,CAACE,aAAa;IACZG,GAAG,EAAEA,GAAI;IAAA,GACJD,KAAK;IACVS,EAAE,EAAEN,UAAW;IACfO,iBAAiB,EAAC,OAAO;IACzBC,uBAAuB,EAAC,WAAW;IAAAZ,QAAA,EAElCA;EAAQ,CACI,CAAC,GACd,IAAI;AACV,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export const createFormErrorIcon = BaseFormErrorIcon => /*#__PURE__*/forwardRef(({
|
|
6
|
+
children,
|
|
7
|
+
...props
|
|
8
|
+
}, ref) => /*#__PURE__*/_jsx(BaseFormErrorIcon, {
|
|
9
|
+
ref: ref,
|
|
10
|
+
...props,
|
|
11
|
+
children: children
|
|
12
|
+
}));
|
|
13
|
+
//# sourceMappingURL=createFormErrorIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","jsx","_jsx","createFormErrorIcon","BaseFormErrorIcon","children","props","ref"],"sourceRoot":"../../../src","sources":["form-control/createFormErrorIcon.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,mBAAmB,GAAQC,iBAAyC,iBAC/EJ,UAAU,CAA0C,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC9EL,IAAA,CAACE,iBAAiB;EAACG,GAAG,EAAEA,GAAI;EAAA,GAAMD,KAAK;EAAAD,QAAA,EACpCA;AAAQ,CACQ,CACpB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export const createFormErrorText = BaseFormErrorText => /*#__PURE__*/forwardRef(({
|
|
6
|
+
children,
|
|
7
|
+
...props
|
|
8
|
+
}, ref) => /*#__PURE__*/_jsx(BaseFormErrorText, {
|
|
9
|
+
ref: ref,
|
|
10
|
+
...props,
|
|
11
|
+
children: children
|
|
12
|
+
}));
|
|
13
|
+
//# sourceMappingURL=createFormErrorText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","jsx","_jsx","createFormErrorText","BaseFormErrorText","children","props","ref"],"sourceRoot":"../../../src","sources":["form-control/createFormErrorText.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,mBAAmB,GAAQC,iBAAyC,iBAC/EJ,UAAU,CAA0C,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC9EL,IAAA,CAACE,iBAAiB;EAACG,GAAG,EAAEA,GAAI;EAAA,GAAMD,KAAK;EAAAD,QAAA,EACpCA;AAAQ,CACQ,CACpB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { useFormControlRoot, FormControlContext } from '@cdx-ui/utils';
|
|
5
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const createFormField = BaseFormField => /*#__PURE__*/forwardRef(({
|
|
8
|
+
children,
|
|
9
|
+
...props
|
|
10
|
+
}, ref) => {
|
|
11
|
+
const {
|
|
12
|
+
htmlProps,
|
|
13
|
+
...context
|
|
14
|
+
} = useFormControlRoot(props);
|
|
15
|
+
return /*#__PURE__*/_jsx(FormControlContext.Provider, {
|
|
16
|
+
value: context,
|
|
17
|
+
children: /*#__PURE__*/_jsx(BaseFormField, {
|
|
18
|
+
ref: ref,
|
|
19
|
+
...htmlProps,
|
|
20
|
+
...dataAttributes({
|
|
21
|
+
disabled: context.isDisabled,
|
|
22
|
+
invalid: context.isInvalid,
|
|
23
|
+
required: context.isRequired
|
|
24
|
+
}),
|
|
25
|
+
children: children
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=createFormField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useFormControlRoot","FormControlContext","dataAttributes","jsx","_jsx","createFormField","BaseFormField","children","props","ref","htmlProps","context","Provider","value","disabled","isDisabled","invalid","isInvalid","required","isRequired"],"sourceRoot":"../../../src","sources":["form-control/createFormField.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,eAAe;AACtE,SAASC,cAAc,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGzD,OAAO,MAAMC,eAAe,GAAQC,aAAqC,iBACvEP,UAAU,CACR,CAAC;EAAEQ,QAAQ;EAAE,GAAGC;AAAwD,CAAC,EAAEC,GAAa,KAAK;EAC3F,MAAM;IAAEC,SAAS;IAAE,GAAGC;EAAQ,CAAC,GAAGX,kBAAkB,CAACQ,KAAK,CAAC;EAE3D,oBACEJ,IAAA,CAACH,kBAAkB,CAACW,QAAQ;IAACC,KAAK,EAAEF,OAAQ;IAAAJ,QAAA,eAC1CH,IAAA,CAACE,aAAa;MACZG,GAAG,EAAEA,GAAI;MAAA,GACJC,SAAS;MAAA,GACVR,cAAc,CAAC;QACjBY,QAAQ,EAAEH,OAAO,CAACI,UAAU;QAC5BC,OAAO,EAAEL,OAAO,CAACM,SAAS;QAC1BC,QAAQ,EAAEP,OAAO,CAACQ;MACpB,CAAC,CAAC;MAAAZ,QAAA,EAEDA;IAAQ,CACI;EAAC,CACW,CAAC;AAElC,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { useFormControlContext } from '@cdx-ui/utils';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const createFormHelper = BaseFormHelper => /*#__PURE__*/forwardRef(({
|
|
7
|
+
children,
|
|
8
|
+
...props
|
|
9
|
+
}, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
helpTextId,
|
|
12
|
+
setHasHelpText,
|
|
13
|
+
isInvalid
|
|
14
|
+
} = useFormControlContext();
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
if (isInvalid) {
|
|
17
|
+
setHasHelpText?.(false);
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
setHasHelpText?.(true);
|
|
21
|
+
return () => {
|
|
22
|
+
setHasHelpText?.(false);
|
|
23
|
+
};
|
|
24
|
+
}, [setHasHelpText, isInvalid]);
|
|
25
|
+
if (isInvalid) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return /*#__PURE__*/_jsx(BaseFormHelper, {
|
|
29
|
+
ref: ref,
|
|
30
|
+
...props,
|
|
31
|
+
id: helpTextId,
|
|
32
|
+
children: children
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=createFormHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useFormControlContext","jsx","_jsx","createFormHelper","BaseFormHelper","children","props","ref","helpTextId","setHasHelpText","isInvalid","useEffect","undefined","id"],"sourceRoot":"../../../src","sources":["form-control/createFormHelper.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,qBAAqB,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtD,OAAO,MAAMC,gBAAgB,GAAQC,cAAsC,iBACzEL,UAAU,CAA0C,CAAC;EAAEM,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACnF,MAAM;IAAEC,UAAU;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAGV,qBAAqB,CAAC,CAAC;EAEzEF,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,IAAID,SAAS,EAAE;MACbD,cAAc,GAAG,KAAK,CAAC;MACvB,OAAOG,SAAS;IAClB;IACAH,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,MAAM;MACXA,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;EACH,CAAC,EAAE,CAACA,cAAc,EAAEC,SAAS,CAAC,CAAC;EAE/B,IAAIA,SAAS,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBACER,IAAA,CAACE,cAAc;IAACG,GAAG,EAAEA,GAAI;IAAA,GAAMD,KAAK;IAAQO,EAAE,EAAEL,UAAW;IAAAH,QAAA,EACxDA;EAAQ,CACK,CAAC;AAErB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export const createFormHelperText = BaseFormHelperText => /*#__PURE__*/forwardRef(({
|
|
6
|
+
children,
|
|
7
|
+
...props
|
|
8
|
+
}, ref) => /*#__PURE__*/_jsx(BaseFormHelperText, {
|
|
9
|
+
ref: ref,
|
|
10
|
+
...props,
|
|
11
|
+
children: children
|
|
12
|
+
}));
|
|
13
|
+
//# sourceMappingURL=createFormHelperText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","jsx","_jsx","createFormHelperText","BaseFormHelperText","children","props","ref"],"sourceRoot":"../../../src","sources":["form-control/createFormHelperText.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,OAAO,MAAMC,oBAAoB,GAAQC,kBAA0C,iBACjFJ,UAAU,CAA0C,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC9EL,IAAA,CAACE,kBAAkB;EAACG,GAAG,EAAEA,GAAI;EAAA,GAAMD,KAAK;EAAAD,QAAA,EACrCA;AAAQ,CACS,CACrB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { useFormControlContext } from '@cdx-ui/utils';
|
|
5
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
6
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export const createFormLabel = ({
|
|
8
|
+
Label: BaseFormLabel
|
|
9
|
+
}) => /*#__PURE__*/forwardRef(({
|
|
10
|
+
children,
|
|
11
|
+
htmlFor: htmlForProp,
|
|
12
|
+
requiredIndicator,
|
|
13
|
+
...props
|
|
14
|
+
}, ref) => {
|
|
15
|
+
const field = useFormControlContext();
|
|
16
|
+
const fieldId = field.id;
|
|
17
|
+
const labelId = field.labelId;
|
|
18
|
+
|
|
19
|
+
/** Must match `useFormControl` default: `props.id ?? \`${field.id}-input\``. */
|
|
20
|
+
const htmlFor = htmlForProp ?? (fieldId ? `${fieldId}-input` : undefined);
|
|
21
|
+
return /*#__PURE__*/_jsxs(BaseFormLabel, {
|
|
22
|
+
ref: ref,
|
|
23
|
+
...props,
|
|
24
|
+
id: labelId,
|
|
25
|
+
htmlFor: htmlFor,
|
|
26
|
+
...dataAttributes({
|
|
27
|
+
invalid: field.isInvalid,
|
|
28
|
+
required: field.isRequired
|
|
29
|
+
}),
|
|
30
|
+
children: [children, field.isRequired ? requiredIndicator : null]
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=createFormLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useFormControlContext","dataAttributes","jsxs","_jsxs","createFormLabel","Label","BaseFormLabel","children","htmlFor","htmlForProp","requiredIndicator","props","ref","field","fieldId","id","labelId","undefined","invalid","isInvalid","required","isRequired"],"sourceRoot":"../../../src","sources":["form-control/createFormLabel.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,qBAAqB,QAAQ,eAAe;AACrD,SAASC,cAAc,QAAQ,yBAAyB;AAAC,SAAAC,IAAA,IAAAC,KAAA;AAGzD,OAAO,MAAMC,eAAe,GAAGA,CAAK;EAAEC,KAAK,EAAEC;AAAiD,CAAC,kBAC7FP,UAAU,CACR,CAAC;EAAEQ,QAAQ;EAAEC,OAAO,EAAEC,WAAW;EAAEC,iBAAiB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACxE,MAAMC,KAAK,GAAGb,qBAAqB,CAAC,CAAC;EACrC,MAAMc,OAAO,GAAGD,KAAK,CAACE,EAAE;EACxB,MAAMC,OAAO,GAAGH,KAAK,CAACG,OAAO;;EAE7B;EACA,MAAMR,OAAO,GAAGC,WAAW,KAAKK,OAAO,GAAG,GAAGA,OAAO,QAAQ,GAAGG,SAAS,CAAC;EAEzE,oBACEd,KAAA,CAACG,aAAa;IACZM,GAAG,EAAEA,GAAI;IAAA,GACJD,KAAK;IACVI,EAAE,EAAEC,OAAQ;IACZR,OAAO,EAAEA,OAAQ;IAAA,GACbP,cAAc,CAAC;MAAEiB,OAAO,EAAEL,KAAK,CAACM,SAAS;MAAEC,QAAQ,EAAEP,KAAK,CAACQ;IAAW,CAAC,CAAC;IAAAd,QAAA,GAE3EA,QAAQ,EACRM,KAAK,CAACQ,UAAU,GAAGX,iBAAiB,GAAG,IAAI;EAAA,CAC/B,CAAC;AAEpB,CACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
// TODO: Handle web submission (button type submit)
|
|
6
|
+
|
|
7
|
+
export const createFormRoot = BaseFormRoot => /*#__PURE__*/forwardRef(({
|
|
8
|
+
children,
|
|
9
|
+
...props
|
|
10
|
+
}, ref) => /*#__PURE__*/_jsx(BaseFormRoot, {
|
|
11
|
+
ref: ref,
|
|
12
|
+
...props,
|
|
13
|
+
children: children
|
|
14
|
+
}));
|
|
15
|
+
//# sourceMappingURL=createFormRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","jsx","_jsx","createFormRoot","BaseFormRoot","children","props","ref"],"sourceRoot":"../../../src","sources":["form-control/createFormRoot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG1C;;AAEA,OAAO,MAAMC,cAAc,GAAQC,YAAoC,iBACrEJ,UAAU,CACR,CAAC;EAAEK,QAAQ;EAAE,GAAGC;AAAmD,CAAC,EAAEC,GAAa,kBACjFL,IAAA,CAACE,YAAY;EAACG,GAAG,EAAEA,GAAI;EAAA,GAAMD,KAAK;EAAAD,QAAA,EAC/BA;AAAQ,CACG,CAElB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createFormError } from './createFormError';
|
|
4
|
+
import { createFormErrorText } from './createFormErrorText';
|
|
5
|
+
import { createFormErrorIcon } from './createFormErrorIcon';
|
|
6
|
+
import { createFormField } from './createFormField';
|
|
7
|
+
import { createFormHelper } from './createFormHelper';
|
|
8
|
+
import { createFormHelperText } from './createFormHelperText';
|
|
9
|
+
import { createFormLabel } from './createFormLabel';
|
|
10
|
+
import { createFormRoot } from './createFormRoot';
|
|
11
|
+
export function createForm({
|
|
12
|
+
Root,
|
|
13
|
+
Field,
|
|
14
|
+
Error,
|
|
15
|
+
ErrorText,
|
|
16
|
+
ErrorIcon,
|
|
17
|
+
Label,
|
|
18
|
+
Helper,
|
|
19
|
+
HelperText
|
|
20
|
+
}) {
|
|
21
|
+
const FormRoot = createFormRoot(Root);
|
|
22
|
+
FormRoot.displayName = 'FormPrimitive';
|
|
23
|
+
const FormField = createFormField(Field);
|
|
24
|
+
FormField.displayName = 'FormPrimitive.Field';
|
|
25
|
+
const FormLabel = createFormLabel({
|
|
26
|
+
Label
|
|
27
|
+
});
|
|
28
|
+
const FormHelper = createFormHelper(Helper);
|
|
29
|
+
const FormHelperText = createFormHelperText(HelperText);
|
|
30
|
+
const FormError = createFormError(Error);
|
|
31
|
+
const FormErrorText = createFormErrorText(ErrorText);
|
|
32
|
+
const FormErrorIcon = createFormErrorIcon(ErrorIcon);
|
|
33
|
+
FormLabel.displayName = 'FormPrimitive.Label';
|
|
34
|
+
FormHelper.displayName = 'FormPrimitive.Helper';
|
|
35
|
+
FormHelperText.displayName = 'FormPrimitive.HelperText';
|
|
36
|
+
FormError.displayName = 'FormPrimitive.Error';
|
|
37
|
+
FormErrorText.displayName = 'FormPrimitive.ErrorText';
|
|
38
|
+
FormErrorIcon.displayName = 'FormPrimitive.ErrorIcon';
|
|
39
|
+
return Object.assign(FormRoot, {
|
|
40
|
+
Field: FormField,
|
|
41
|
+
Label: FormLabel,
|
|
42
|
+
Helper: FormHelper,
|
|
43
|
+
HelperText: FormHelperText,
|
|
44
|
+
Error: FormError,
|
|
45
|
+
ErrorText: FormErrorText,
|
|
46
|
+
ErrorIcon: FormErrorIcon
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFormError","createFormErrorText","createFormErrorIcon","createFormField","createFormHelper","createFormHelperText","createFormLabel","createFormRoot","createForm","Root","Field","Error","ErrorText","ErrorIcon","Label","Helper","HelperText","FormRoot","displayName","FormField","FormLabel","FormHelper","FormHelperText","FormError","FormErrorText","FormErrorIcon","Object","assign"],"sourceRoot":"../../../src","sources":["form-control/index.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,cAAc,QAAQ,kBAAkB;AAejD,OAAO,SAASC,UAAUA,CAAsE;EAC9FC,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,SAAS;EACTC,KAAK;EACLC,MAAM;EACNC;AAUF,CAAC,EAAE;EACD,MAAMC,QAAQ,GAAGV,cAAc,CAACE,IAAI,CAAC;EACrCQ,QAAQ,CAACC,WAAW,GAAG,eAAe;EAEtC,MAAMC,SAAS,GAAGhB,eAAe,CAACO,KAAK,CAAC;EACxCS,SAAS,CAACD,WAAW,GAAG,qBAAqB;EAC7C,MAAME,SAAS,GAAGd,eAAe,CAAC;IAAEQ;EAAM,CAAC,CAAC;EAC5C,MAAMO,UAAU,GAAGjB,gBAAgB,CAACW,MAAM,CAAC;EAC3C,MAAMO,cAAc,GAAGjB,oBAAoB,CAACW,UAAU,CAAC;EACvD,MAAMO,SAAS,GAAGvB,eAAe,CAACW,KAAK,CAAC;EACxC,MAAMa,aAAa,GAAGvB,mBAAmB,CAACW,SAAS,CAAC;EACpD,MAAMa,aAAa,GAAGvB,mBAAmB,CAACW,SAAS,CAAC;EAEpDO,SAAS,CAACF,WAAW,GAAG,qBAAqB;EAC7CG,UAAU,CAACH,WAAW,GAAG,sBAAsB;EAC/CI,cAAc,CAACJ,WAAW,GAAG,0BAA0B;EACvDK,SAAS,CAACL,WAAW,GAAG,qBAAqB;EAC7CM,aAAa,CAACN,WAAW,GAAG,yBAAyB;EACrDO,aAAa,CAACP,WAAW,GAAG,yBAAyB;EAErD,OAAOQ,MAAM,CAACC,MAAM,CAACV,QAAQ,EAAE;IAC7BP,KAAK,EAAES,SAAS;IAChBL,KAAK,EAAEM,SAAS;IAChBL,MAAM,EAAEM,UAAU;IAClBL,UAAU,EAAEM,cAAc;IAC1BX,KAAK,EAAEY,SAAS;IAChBX,SAAS,EAAEY,aAAa;IACxBX,SAAS,EAAEY;EACb,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["form-control/types.tsx"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OverlayInsetsProvider","dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU;AAExB,SAASC,cAAc,QAAQ,wBAAwB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["OverlayInsetsProvider","dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU;AAExB,SAASC,cAAc,QAAQ,wBAAwB","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { forwardRef, useMemo } from 'react';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
|
-
import { mergeRefs, useFormControl } from '@cdx-ui/utils';
|
|
5
|
+
import { mergeRefs, useFormControl, useFormControlContext } from '@cdx-ui/utils';
|
|
6
6
|
import { dataAttributes } from '../utils/dataAttributes';
|
|
7
7
|
import { useInputContext } from './context';
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -35,11 +35,12 @@ export const createInputField = BaseInputField => /*#__PURE__*/forwardRef(({
|
|
|
35
35
|
isRequired: props.isRequired,
|
|
36
36
|
id: props.id
|
|
37
37
|
});
|
|
38
|
+
const field = useFormControlContext();
|
|
38
39
|
const handleFocus = (focusState, callback) => {
|
|
39
40
|
setIsFocused(focusState);
|
|
40
41
|
callback();
|
|
41
42
|
};
|
|
42
|
-
const mergedRef = mergeRefs(ref, inputFieldRef);
|
|
43
|
+
const mergedRef = Platform.OS === 'web' ? mergeRefs(ref, inputFieldRef) : mergeRefs(ref, inputFieldRef, field.inputRef);
|
|
43
44
|
const isEffectivelyDisabled = isDisabled || inputProps.disabled;
|
|
44
45
|
const ariaLabel = accessibilityLabel ?? ariaLabelProp;
|
|
45
46
|
const editableProp = useMemo(() => {
|
|
@@ -49,6 +50,7 @@ export const createInputField = BaseInputField => /*#__PURE__*/forwardRef(({
|
|
|
49
50
|
return !(isDisabled || inputProps.disabled || isReadOnly);
|
|
50
51
|
}, [isDisabled, inputProps.disabled, isReadOnly, editable]);
|
|
51
52
|
return /*#__PURE__*/_jsx(BaseInputField, {
|
|
53
|
+
...inputProps,
|
|
52
54
|
...props,
|
|
53
55
|
type: type,
|
|
54
56
|
...dataAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useMemo","Platform","mergeRefs","useFormControl","dataAttributes","useInputContext","jsx","_jsx","createInputField","BaseInputField","children","onKeyPress","type","accessibilityLabel","ariaLabelProp","secureTextEntry","editable","disabled","props","ref","isDisabled","isReadOnly","isFocused","isInvalid","setIsFocused","isHovered","isFocusVisible","inputFieldRef","isRequired","inputProps","id","handleFocus","focusState","callback","mergedRef","isEffectivelyDisabled","ariaLabel","editableProp","undefined","focus","invalid","readonly","required","hover","focusVisible","accessible","
|
|
1
|
+
{"version":3,"names":["forwardRef","useMemo","Platform","mergeRefs","useFormControl","useFormControlContext","dataAttributes","useInputContext","jsx","_jsx","createInputField","BaseInputField","children","onKeyPress","type","accessibilityLabel","ariaLabelProp","secureTextEntry","editable","disabled","props","ref","isDisabled","isReadOnly","isFocused","isInvalid","setIsFocused","isHovered","isFocusVisible","inputFieldRef","isRequired","inputProps","id","field","handleFocus","focusState","callback","mergedRef","OS","inputRef","isEffectivelyDisabled","ariaLabel","editableProp","undefined","focus","invalid","readonly","required","hover","focusVisible","accessible","accessibilityElementsHidden","readOnly","e","persist","onFocus","onBlur"],"sourceRoot":"../../../src","sources":["input/createInputField.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -54,9 +54,11 @@ export const createSelectRoot = BaseRoot => /*#__PURE__*/forwardRef(({
|
|
|
54
54
|
}, [isEffectivelyDisabled, isEffectivelyReadOnly, setOpenState]);
|
|
55
55
|
const [activeValue, setActiveValue] = useState(undefined);
|
|
56
56
|
const triggerRef = useRef(null);
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
const
|
|
57
|
+
const reactId = useId();
|
|
58
|
+
/** Align with `useFormControl` default id (`${field.id}-input`) when inside `Form.Field`. */
|
|
59
|
+
const triggerId = formControlProps.id ?? `select-trigger-${reactId}`;
|
|
60
|
+
const contentId = `select-content-${reactId}`;
|
|
61
|
+
const ariaDescribedBy = formControlProps['aria-describedby'];
|
|
60
62
|
const contextValue = useMemo(() => ({
|
|
61
63
|
open: open ?? false,
|
|
62
64
|
items,
|
|
@@ -73,8 +75,9 @@ export const createSelectRoot = BaseRoot => /*#__PURE__*/forwardRef(({
|
|
|
73
75
|
triggerId,
|
|
74
76
|
activeValue,
|
|
75
77
|
setActiveValue,
|
|
76
|
-
accessibilityLabel
|
|
77
|
-
|
|
78
|
+
accessibilityLabel,
|
|
79
|
+
ariaDescribedBy
|
|
80
|
+
}), [open, items, setOpen, value, setValue, isEffectivelyDisabled, isEffectivelyRequired, isEffectivelyInvalid, isEffectivelyReadOnly, native, contentId, triggerId, activeValue, accessibilityLabel, ariaDescribedBy]);
|
|
78
81
|
return /*#__PURE__*/_jsx(SelectProvider, {
|
|
79
82
|
value: contextValue,
|
|
80
83
|
children: /*#__PURE__*/_jsx(BaseRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useId","useMemo","useRef","useState","useControllableState","useFormControl","dataAttributes","SelectProvider","jsx","_jsx","createSelectRoot","BaseRoot","children","items","value","valueProp","defaultValue","onValueChange","open","openProp","defaultOpen","onOpenChange","disabled","isRequired","isInvalid","isReadOnly","native","accessibilityLabel","props","ref","formControlProps","isDisabled","isEffectivelyDisabled","isEffectivelyRequired","required","isEffectivelyInvalid","isEffectivelyReadOnly","readOnly","setValue","prop","defaultProp","onChange","newValue","undefined","setOpenState","setOpen","newOpen","activeValue","setActiveValue","triggerRef","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useId","useMemo","useRef","useState","useControllableState","useFormControl","dataAttributes","SelectProvider","jsx","_jsx","createSelectRoot","BaseRoot","children","items","value","valueProp","defaultValue","onValueChange","open","openProp","defaultOpen","onOpenChange","disabled","isRequired","isInvalid","isReadOnly","native","accessibilityLabel","props","ref","formControlProps","isDisabled","isEffectivelyDisabled","isEffectivelyRequired","required","isEffectivelyInvalid","isEffectivelyReadOnly","readOnly","setValue","prop","defaultProp","onChange","newValue","undefined","setOpenState","setOpen","newOpen","activeValue","setActiveValue","triggerRef","reactId","triggerId","id","contentId","ariaDescribedBy","contextValue","invalid","slot","readonly"],"sourceRoot":"../../../src","sources":["select/createSelectRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { forwardRef, useCallback, useMemo } from 'react';
|
|
3
|
+
import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef } from 'react';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
|
-
import { composeEventHandlers, mergeRefs } from '@cdx-ui/utils';
|
|
5
|
+
import { composeEventHandlers, mergeRefs, useFormControlContext } from '@cdx-ui/utils';
|
|
6
6
|
import { useFocus, useFocusRing } from '@react-native-aria/focus';
|
|
7
7
|
import { useHover, usePress } from '@react-native-aria/interactions';
|
|
8
8
|
import { dataAttributes } from '../utils/dataAttributes';
|
|
@@ -15,6 +15,7 @@ export const createSelectTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
|
|
|
15
15
|
isFocused: isFocusedProp,
|
|
16
16
|
isFocusVisible: isFocusVisibleProp,
|
|
17
17
|
isDisabled: isDisabledProp,
|
|
18
|
+
'aria-describedby': ariaDescribedByProp,
|
|
18
19
|
...props
|
|
19
20
|
}, ref) => {
|
|
20
21
|
const {
|
|
@@ -28,8 +29,10 @@ export const createSelectTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
|
|
|
28
29
|
contentId,
|
|
29
30
|
triggerRef,
|
|
30
31
|
activeValue,
|
|
31
|
-
accessibilityLabel
|
|
32
|
+
accessibilityLabel,
|
|
33
|
+
ariaDescribedBy: ariaDescribedByFromField
|
|
32
34
|
} = useSelectContext();
|
|
35
|
+
const field = useFormControlContext();
|
|
33
36
|
const disabled = contextDisabled || !!isDisabledProp;
|
|
34
37
|
const {
|
|
35
38
|
isFocusVisible,
|
|
@@ -80,7 +83,50 @@ export const createSelectTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
|
|
|
80
83
|
disabled: !!disabled,
|
|
81
84
|
focusVisible: isFocusVisibleProp || isFocusVisible
|
|
82
85
|
}), [isHoveredProp, isHovered, isFocusedProp, isFocused, isActiveProp, isActive, disabled, isFocusVisibleProp, isFocusVisible]);
|
|
83
|
-
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Native: `Pressable` has no usable programmatic `.focus()` (unlike `TextInput`).
|
|
89
|
+
* `Form.Label` calls `focusInput()` → we register a bridge on `field.inputRef` that tries
|
|
90
|
+
* native focus, then opens the list (expected “tap label” behavior for a select).
|
|
91
|
+
*/
|
|
92
|
+
const labelFocusGateRef = useRef({
|
|
93
|
+
disabled: false,
|
|
94
|
+
readOnly: false
|
|
95
|
+
});
|
|
96
|
+
labelFocusGateRef.current = {
|
|
97
|
+
disabled: !!disabled,
|
|
98
|
+
readOnly: !!contextReadOnly
|
|
99
|
+
};
|
|
100
|
+
const labelFocusBridge = useMemo(() => ({
|
|
101
|
+
focus() {
|
|
102
|
+
const {
|
|
103
|
+
disabled: isOff,
|
|
104
|
+
readOnly: isRO
|
|
105
|
+
} = labelFocusGateRef.current;
|
|
106
|
+
if (isOff || isRO) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const node = triggerRef.current;
|
|
110
|
+
if (node != null && typeof node.focus === 'function') {
|
|
111
|
+
node.focus();
|
|
112
|
+
}
|
|
113
|
+
setOpen(true);
|
|
114
|
+
}
|
|
115
|
+
}), [setOpen]);
|
|
116
|
+
useLayoutEffect(() => {
|
|
117
|
+
if (Platform.OS === 'web' || !field.inputRef) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const r = field.inputRef;
|
|
121
|
+
r.current = labelFocusBridge;
|
|
122
|
+
return () => {
|
|
123
|
+
if (r.current === labelFocusBridge) {
|
|
124
|
+
r.current = null;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}, [field.inputRef, labelFocusBridge]);
|
|
128
|
+
const mergedRef = Platform.OS === 'web' ? mergeRefs(ref, triggerRef) : mergeRefs(ref, triggerRef);
|
|
129
|
+
const ariaDescribedBy = [ariaDescribedByFromField, ariaDescribedByProp].filter(Boolean).join(' ');
|
|
84
130
|
const webKeyboardProps = Platform.OS === 'web' ? {
|
|
85
131
|
onKeyDown: composeEventHandlers(props.onKeyDown, handleKeyDown)
|
|
86
132
|
} : {};
|
|
@@ -97,7 +143,7 @@ export const createSelectTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
|
|
|
97
143
|
"aria-required": contextRequired || undefined,
|
|
98
144
|
"aria-invalid": contextInvalid || undefined,
|
|
99
145
|
"aria-readonly": contextReadOnly || undefined,
|
|
100
|
-
|
|
146
|
+
"aria-describedby": ariaDescribedBy || undefined,
|
|
101
147
|
...dataAttributes({
|
|
102
148
|
hover: interactionState.hover,
|
|
103
149
|
focus: interactionState.focus,
|
|
@@ -112,6 +158,7 @@ export const createSelectTrigger = BaseTrigger => /*#__PURE__*/forwardRef(({
|
|
|
112
158
|
}),
|
|
113
159
|
disabled: disabled,
|
|
114
160
|
...props,
|
|
161
|
+
id: triggerId,
|
|
115
162
|
onPress: composeEventHandlers(props?.onPress, handlePress),
|
|
116
163
|
onPressIn: composeEventHandlers(props?.onPressIn, pressProps.onPressIn),
|
|
117
164
|
onPressOut: composeEventHandlers(props?.onPressOut, pressProps.onPressOut),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useMemo","Platform","composeEventHandlers","mergeRefs","useFocus","useFocusRing","useHover","usePress","dataAttributes","SelectTriggerProvider","useSelectContext","jsx","_jsx","createSelectTrigger","BaseTrigger","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","focusProps","focusRingProps","pressProps","isPressed","hoverProps","handlePress","e","type","key","handleKeyDown","preventDefault","interactionState","hover","focus","active","focusVisible","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useLayoutEffect","useMemo","useRef","Platform","composeEventHandlers","mergeRefs","useFormControlContext","useFocus","useFocusRing","useHover","usePress","dataAttributes","SelectTriggerProvider","useSelectContext","jsx","_jsx","createSelectTrigger","BaseTrigger","children","isHovered","isHoveredProp","isActive","isActiveProp","isFocused","isFocusedProp","isFocusVisible","isFocusVisibleProp","isDisabled","isDisabledProp","ariaDescribedByProp","props","ref","open","setOpen","disabled","contextDisabled","required","contextRequired","invalid","contextInvalid","readOnly","contextReadOnly","triggerId","contentId","triggerRef","activeValue","accessibilityLabel","ariaDescribedBy","ariaDescribedByFromField","field","focusProps","focusRingProps","pressProps","isPressed","hoverProps","handlePress","e","type","key","handleKeyDown","preventDefault","interactionState","hover","focus","active","focusVisible","labelFocusGateRef","current","labelFocusBridge","isOff","isRO","node","OS","inputRef","r","mergedRef","filter","Boolean","join","webKeyboardProps","onKeyDown","value","role","undefined","readonly","state","slot","id","onPress","onPressIn","onPressOut","onHoverIn","onHoverOut","onFocus","onBlur"],"sourceRoot":"../../../src","sources":["select/createSelectTrigger.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -122,12 +122,17 @@ export declare function useCheckboxRoot(props: ICheckboxProps, ref?: React.Ref<u
|
|
|
122
122
|
onPointerUpCapture?: ((event: import("react-native").PointerEvent) => void) | undefined | undefined;
|
|
123
123
|
hasFeedbackText?: boolean | undefined;
|
|
124
124
|
hasHelpText?: boolean | undefined;
|
|
125
|
+
setHasFeedbackText?: import("react").Dispatch<import("react").SetStateAction<boolean>> | undefined;
|
|
126
|
+
setHasHelpText?: import("react").Dispatch<import("react").SetStateAction<boolean>> | undefined;
|
|
127
|
+
name?: string | undefined;
|
|
125
128
|
labelId?: string | undefined;
|
|
126
129
|
feedbackId?: string | undefined;
|
|
127
130
|
helpTextId?: string | undefined;
|
|
128
131
|
htmlProps?: {
|
|
129
132
|
[x: string]: unknown;
|
|
130
133
|
} | undefined;
|
|
134
|
+
inputRef?: React.RefObject<import("react-native").TextInput | null> | undefined;
|
|
135
|
+
focusInput?: (() => void) | undefined;
|
|
131
136
|
};
|
|
132
137
|
isInvalid: boolean | undefined;
|
|
133
138
|
isReadOnly: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckboxRoot.d.ts","sourceRoot":"","sources":["../../../src/checkbox/useCheckboxRoot.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,UAAU,sBAAsB;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EACxB,EAAE,kBAA0B,EAAE,GAAE,sBAA2B
|
|
1
|
+
{"version":3,"file":"useCheckboxRoot.d.ts","sourceRoot":"","sources":["../../../src/checkbox/useCheckboxRoot.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,UAAU,sBAAsB;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EACxB,EAAE,kBAA0B,EAAE,GAAE,sBAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqE5D"}
|