@cdx-ui/components 0.0.1-beta.65 → 0.0.1-beta.66
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/components/AlertDialog/index.js +12 -10
- package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
- package/lib/commonjs/components/Avatar/index.js +125 -25
- package/lib/commonjs/components/Avatar/index.js.map +1 -1
- package/lib/commonjs/components/Button/index.js +127 -28
- package/lib/commonjs/components/Button/index.js.map +1 -1
- package/lib/commonjs/components/Button/styles.js +9 -3
- package/lib/commonjs/components/Button/styles.js.map +1 -1
- package/lib/commonjs/components/CLAUDE.md +115 -11
- package/lib/commonjs/components/Checkbox/index.js +69 -22
- package/lib/commonjs/components/Checkbox/index.js.map +1 -1
- package/lib/commonjs/components/Checkbox/styles.js +1 -1
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
- package/lib/commonjs/components/Chip/index.js +44 -36
- package/lib/commonjs/components/Chip/index.js.map +1 -1
- package/lib/commonjs/components/Chip/styles.js +6 -35
- package/lib/commonjs/components/Chip/styles.js.map +1 -1
- package/lib/commonjs/components/Dialog/index.js +92 -72
- package/lib/commonjs/components/Dialog/index.js.map +1 -1
- package/lib/commonjs/components/Field/index.js +70 -26
- package/lib/commonjs/components/Field/index.js.map +1 -1
- package/lib/commonjs/components/Form/index.js +5 -12
- package/lib/commonjs/components/Form/index.js.map +1 -1
- package/lib/commonjs/components/IconButton/index.js +5 -33
- package/lib/commonjs/components/IconButton/index.js.map +1 -1
- package/lib/commonjs/components/Input/index.js +50 -20
- package/lib/commonjs/components/Input/index.js.map +1 -1
- package/lib/commonjs/components/Link/index.js +14 -7
- package/lib/commonjs/components/Link/index.js.map +1 -1
- package/lib/commonjs/components/ListItem/index.js +129 -54
- package/lib/commonjs/components/ListItem/index.js.map +1 -1
- package/lib/commonjs/components/OtpInput/index.js +94 -28
- package/lib/commonjs/components/OtpInput/index.js.map +1 -1
- package/lib/commonjs/components/ProgressBar/index.js +8 -13
- package/lib/commonjs/components/ProgressBar/index.js.map +1 -1
- package/lib/commonjs/components/Radio/index.js +51 -53
- package/lib/commonjs/components/Radio/index.js.map +1 -1
- package/lib/commonjs/components/Select/index.js +112 -46
- package/lib/commonjs/components/Select/index.js.map +1 -1
- package/lib/commonjs/components/Select/styles.js +2 -2
- package/lib/commonjs/components/Select/styles.js.map +1 -1
- package/lib/commonjs/components/Switch/BaseSwitch.js +23 -13
- package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -1
- package/lib/commonjs/components/Switch/BaseSwitch.web.js +25 -21
- package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -1
- package/lib/commonjs/components/Switch/index.js +34 -3
- package/lib/commonjs/components/Switch/index.js.map +1 -1
- package/lib/commonjs/components/Tile/index.js +150 -77
- package/lib/commonjs/components/Tile/index.js.map +1 -1
- package/lib/commonjs/figma/Chip.figma.js +2 -2
- package/lib/commonjs/figma/Chip.figma.js.map +1 -1
- package/lib/commonjs/utils/positionToDataIcon.js +41 -0
- package/lib/commonjs/utils/positionToDataIcon.js.map +1 -0
- package/lib/module/components/AlertDialog/index.js +13 -11
- package/lib/module/components/AlertDialog/index.js.map +1 -1
- package/lib/module/components/Avatar/index.js +128 -28
- package/lib/module/components/Avatar/index.js.map +1 -1
- package/lib/module/components/Button/index.js +130 -32
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Button/styles.js +8 -2
- package/lib/module/components/Button/styles.js.map +1 -1
- package/lib/module/components/CLAUDE.md +115 -11
- package/lib/module/components/Checkbox/index.js +72 -25
- package/lib/module/components/Checkbox/index.js.map +1 -1
- package/lib/module/components/Checkbox/styles.js +1 -1
- package/lib/module/components/Checkbox/styles.js.map +1 -1
- package/lib/module/components/Chip/index.js +47 -39
- package/lib/module/components/Chip/index.js.map +1 -1
- package/lib/module/components/Chip/styles.js +6 -35
- package/lib/module/components/Chip/styles.js.map +1 -1
- package/lib/module/components/Dialog/index.js +96 -76
- package/lib/module/components/Dialog/index.js.map +1 -1
- package/lib/module/components/Field/index.js +74 -31
- package/lib/module/components/Field/index.js.map +1 -1
- package/lib/module/components/Form/index.js +7 -14
- package/lib/module/components/Form/index.js.map +1 -1
- package/lib/module/components/IconButton/index.js +6 -34
- package/lib/module/components/IconButton/index.js.map +1 -1
- package/lib/module/components/Input/index.js +53 -23
- package/lib/module/components/Input/index.js.map +1 -1
- package/lib/module/components/Link/index.js +16 -8
- package/lib/module/components/Link/index.js.map +1 -1
- package/lib/module/components/ListItem/index.js +134 -59
- package/lib/module/components/ListItem/index.js.map +1 -1
- package/lib/module/components/OtpInput/index.js +94 -28
- package/lib/module/components/OtpInput/index.js.map +1 -1
- package/lib/module/components/ProgressBar/index.js +9 -14
- package/lib/module/components/ProgressBar/index.js.map +1 -1
- package/lib/module/components/Radio/index.js +54 -57
- package/lib/module/components/Radio/index.js.map +1 -1
- package/lib/module/components/Select/index.js +118 -52
- package/lib/module/components/Select/index.js.map +1 -1
- package/lib/module/components/Select/styles.js +2 -2
- package/lib/module/components/Select/styles.js.map +1 -1
- package/lib/module/components/Switch/BaseSwitch.js +24 -14
- package/lib/module/components/Switch/BaseSwitch.js.map +1 -1
- package/lib/module/components/Switch/BaseSwitch.web.js +26 -22
- package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -1
- package/lib/module/components/Switch/index.js +35 -4
- package/lib/module/components/Switch/index.js.map +1 -1
- package/lib/module/components/Tile/index.js +155 -83
- package/lib/module/components/Tile/index.js.map +1 -1
- package/lib/module/figma/Chip.figma.js +2 -2
- package/lib/module/figma/Chip.figma.js.map +1 -1
- package/lib/module/utils/positionToDataIcon.js +38 -0
- package/lib/module/utils/positionToDataIcon.js.map +1 -0
- package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -1
- package/lib/typescript/components/Avatar/index.d.ts +6 -2
- package/lib/typescript/components/Avatar/index.d.ts.map +1 -1
- package/lib/typescript/components/Button/index.d.ts +31 -8
- package/lib/typescript/components/Button/index.d.ts.map +1 -1
- package/lib/typescript/components/Button/styles.d.ts +2 -1
- package/lib/typescript/components/Button/styles.d.ts.map +1 -1
- package/lib/typescript/components/Checkbox/index.d.ts +3 -1
- package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
- package/lib/typescript/components/Chip/index.d.ts +19 -9
- package/lib/typescript/components/Chip/index.d.ts.map +1 -1
- package/lib/typescript/components/Chip/styles.d.ts +0 -1
- package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
- package/lib/typescript/components/Dialog/index.d.ts +12 -6
- package/lib/typescript/components/Dialog/index.d.ts.map +1 -1
- package/lib/typescript/components/Dialog/styles.d.ts +1 -1
- package/lib/typescript/components/Field/index.d.ts +14 -7
- package/lib/typescript/components/Field/index.d.ts.map +1 -1
- package/lib/typescript/components/Form/index.d.ts +4 -4
- package/lib/typescript/components/Form/index.d.ts.map +1 -1
- package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
- package/lib/typescript/components/Input/index.d.ts +11 -3
- package/lib/typescript/components/Input/index.d.ts.map +1 -1
- package/lib/typescript/components/Link/index.d.ts +2 -0
- package/lib/typescript/components/Link/index.d.ts.map +1 -1
- package/lib/typescript/components/ListItem/index.d.ts +28 -6
- package/lib/typescript/components/ListItem/index.d.ts.map +1 -1
- package/lib/typescript/components/OtpInput/index.d.ts +1 -1
- package/lib/typescript/components/OtpInput/index.d.ts.map +1 -1
- package/lib/typescript/components/ProgressBar/index.d.ts +4 -4
- package/lib/typescript/components/ProgressBar/index.d.ts.map +1 -1
- package/lib/typescript/components/Radio/index.d.ts +4 -0
- package/lib/typescript/components/Radio/index.d.ts.map +1 -1
- package/lib/typescript/components/Select/index.d.ts +35 -2
- package/lib/typescript/components/Select/index.d.ts.map +1 -1
- package/lib/typescript/components/Select/styles.d.ts.map +1 -1
- package/lib/typescript/components/Switch/BaseSwitch.d.ts +12 -5
- package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -1
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +11 -5
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -1
- package/lib/typescript/components/Switch/index.d.ts +5 -1
- package/lib/typescript/components/Switch/index.d.ts.map +1 -1
- package/lib/typescript/components/Tile/index.d.ts +8 -2
- package/lib/typescript/components/Tile/index.d.ts.map +1 -1
- package/lib/typescript/utils/positionToDataIcon.d.ts +29 -0
- package/lib/typescript/utils/positionToDataIcon.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/components/AlertDialog/index.tsx +13 -14
- package/src/components/Avatar/index.tsx +134 -44
- package/src/components/Button/index.tsx +216 -44
- package/src/components/Button/styles.ts +50 -38
- package/src/components/CLAUDE.md +115 -11
- package/src/components/Checkbox/index.tsx +93 -32
- package/src/components/Checkbox/styles.ts +1 -1
- package/src/components/Chip/index.tsx +88 -61
- package/src/components/Chip/styles.ts +6 -18
- package/src/components/Dialog/index.tsx +139 -99
- package/src/components/Field/index.tsx +113 -49
- package/src/components/Form/index.tsx +18 -14
- package/src/components/IconButton/index.tsx +7 -31
- package/src/components/Input/index.tsx +75 -32
- package/src/components/Link/index.tsx +38 -12
- package/src/components/ListItem/index.tsx +158 -73
- package/src/components/OtpInput/index.tsx +126 -43
- package/src/components/ProgressBar/index.tsx +11 -16
- package/src/components/Radio/index.tsx +76 -54
- package/src/components/Select/index.tsx +174 -59
- package/src/components/Select/styles.ts +1 -2
- package/src/components/Switch/BaseSwitch.tsx +38 -16
- package/src/components/Switch/BaseSwitch.web.tsx +28 -35
- package/src/components/Switch/index.tsx +51 -4
- package/src/components/Tile/index.tsx +145 -94
- package/src/utils/positionToDataIcon.ts +34 -0
- package/lib/commonjs/components/Field/FieldLabel.js +0 -33
- package/lib/commonjs/components/Field/FieldLabel.js.map +0 -1
- package/lib/commonjs/components/Field/FieldLabel.web.js +0 -22
- package/lib/commonjs/components/Field/FieldLabel.web.js.map +0 -1
- package/lib/commonjs/components/Form/FormRoot.js +0 -25
- package/lib/commonjs/components/Form/FormRoot.js.map +0 -1
- package/lib/commonjs/components/Form/FormRoot.web.js +0 -17
- package/lib/commonjs/components/Form/FormRoot.web.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.android.js +0 -20
- package/lib/commonjs/components/Input/BaseInput.android.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.js +0 -13
- package/lib/commonjs/components/Input/BaseInput.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.web.js +0 -50
- package/lib/commonjs/components/Input/BaseInput.web.js.map +0 -1
- package/lib/commonjs/components/Select/SelectTriggerHost.js +0 -10
- package/lib/commonjs/components/Select/SelectTriggerHost.js.map +0 -1
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js +0 -102
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +0 -1
- package/lib/module/components/Field/FieldLabel.js +0 -29
- package/lib/module/components/Field/FieldLabel.js.map +0 -1
- package/lib/module/components/Field/FieldLabel.web.js +0 -17
- package/lib/module/components/Field/FieldLabel.web.js.map +0 -1
- package/lib/module/components/Form/FormRoot.js +0 -21
- package/lib/module/components/Form/FormRoot.js.map +0 -1
- package/lib/module/components/Form/FormRoot.web.js +0 -12
- package/lib/module/components/Form/FormRoot.web.js.map +0 -1
- package/lib/module/components/Input/BaseInput.android.js +0 -16
- package/lib/module/components/Input/BaseInput.android.js.map +0 -1
- package/lib/module/components/Input/BaseInput.js +0 -4
- package/lib/module/components/Input/BaseInput.js.map +0 -1
- package/lib/module/components/Input/BaseInput.web.js +0 -45
- package/lib/module/components/Input/BaseInput.web.js.map +0 -1
- package/lib/module/components/Select/SelectTriggerHost.js +0 -7
- package/lib/module/components/Select/SelectTriggerHost.js.map +0 -1
- package/lib/module/components/Select/SelectTriggerHost.web.js +0 -97
- package/lib/module/components/Select/SelectTriggerHost.web.js.map +0 -1
- package/lib/typescript/components/Field/FieldLabel.d.ts +0 -18
- package/lib/typescript/components/Field/FieldLabel.d.ts.map +0 -1
- package/lib/typescript/components/Field/FieldLabel.web.d.ts +0 -16
- package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +0 -1
- package/lib/typescript/components/Form/FormRoot.d.ts +0 -14
- package/lib/typescript/components/Form/FormRoot.d.ts.map +0 -1
- package/lib/typescript/components/Form/FormRoot.web.d.ts +0 -10
- package/lib/typescript/components/Form/FormRoot.web.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.android.d.ts +0 -3
- package/lib/typescript/components/Input/BaseInput.android.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.d.ts +0 -2
- package/lib/typescript/components/Input/BaseInput.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.web.d.ts +0 -3
- package/lib/typescript/components/Input/BaseInput.web.d.ts.map +0 -1
- package/lib/typescript/components/Select/SelectTriggerHost.d.ts +0 -3
- package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +0 -1
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +0 -16
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +0 -1
- package/src/components/Field/FieldLabel.tsx +0 -33
- package/src/components/Field/FieldLabel.web.tsx +0 -25
- package/src/components/Form/FormRoot.tsx +0 -20
- package/src/components/Form/FormRoot.web.tsx +0 -12
- package/src/components/Input/BaseInput.android.tsx +0 -13
- package/src/components/Input/BaseInput.tsx +0 -1
- package/src/components/Input/BaseInput.web.tsx +0 -41
- package/src/components/Select/SelectTriggerHost.tsx +0 -4
- package/src/components/Select/SelectTriggerHost.web.tsx +0 -143
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.android.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/BaseInput.android.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9D,eAAO,MAAM,SAAS,sGAEpB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/BaseInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/BaseInput.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,eAAO,MAAM,SAAS,8EAmCpB,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/** Native: `Pressable`. Web: `SelectTriggerHost.web` uses `<button>` so `<label htmlFor>` works. */
|
|
2
|
-
export declare const SelectTriggerHost: import("react").ForwardRefExoticComponent<import("react-native").PressableProps & import("react").RefAttributes<import("react-native").View>>;
|
|
3
|
-
//# sourceMappingURL=SelectTriggerHost.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTriggerHost.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/SelectTriggerHost.tsx"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,+IAAY,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { PressableProps } from 'react-native';
|
|
3
|
-
import { type DomDataAttributeValue } from '@cdx-ui/primitives';
|
|
4
|
-
export type SelectTriggerHostProps = PressableProps & {
|
|
5
|
-
className?: string;
|
|
6
|
-
dataSet?: Record<string, DomDataAttributeValue>;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Native `<button type="button">` so the trigger is HTML-labelable (`<label htmlFor>` focuses it).
|
|
10
|
-
* `Pressable` on web is a non-labelable div; no extra refs are needed for label association.
|
|
11
|
-
*/
|
|
12
|
-
export declare const SelectTriggerHost: React.ForwardRefExoticComponent<PressableProps & {
|
|
13
|
-
className?: string;
|
|
14
|
-
dataSet?: Record<string, DomDataAttributeValue>;
|
|
15
|
-
} & React.RefAttributes<HTMLButtonElement>>;
|
|
16
|
-
//# sourceMappingURL=SelectTriggerHost.web.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTriggerHost.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/SelectTriggerHost.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAwEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB;gBA9EhB,MAAM;cACR,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;2CAqIhD,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { forwardRef } from 'react';
|
|
2
|
-
import { Text, TextProps, type GestureResponderEvent } from 'react-native';
|
|
3
|
-
import { composeEventHandlers, useFormControlContext } from '@cdx-ui/utils';
|
|
4
|
-
|
|
5
|
-
export type BaseFieldLabelProps = TextProps & {
|
|
6
|
-
/** @platform web — forwarded on web; ignored here (see `FieldLabelRoot.web`). */
|
|
7
|
-
htmlFor?: string;
|
|
8
|
-
/** Optional; composed with label tap-to-focus on native. */
|
|
9
|
-
onPress?: ((event: GestureResponderEvent) => void) | null;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Native: `Text` label row — tap focuses the field input via form context
|
|
14
|
-
* (parity with `<label htmlFor>` on web).
|
|
15
|
-
*/
|
|
16
|
-
export const BaseFieldLabel = forwardRef<Text, BaseFieldLabelProps>(
|
|
17
|
-
({ htmlFor: _omitHtmlFor, onPress, ...props }, ref) => {
|
|
18
|
-
void _omitHtmlFor;
|
|
19
|
-
|
|
20
|
-
const { focusInput, isDisabled } = useFormControlContext();
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
<Text
|
|
24
|
-
ref={ref}
|
|
25
|
-
{...props}
|
|
26
|
-
disabled={Boolean(isDisabled)}
|
|
27
|
-
onPress={composeEventHandlers(onPress, () => focusInput?.())}
|
|
28
|
-
/>
|
|
29
|
-
);
|
|
30
|
-
},
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
BaseFieldLabel.displayName = 'BaseFieldLabel';
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef, type ReactNode } from 'react';
|
|
2
|
-
import type { ViewProps } from 'react-native';
|
|
3
|
-
|
|
4
|
-
// TODO: Why does dataSet need to be decomposed into individual data attributes?
|
|
5
|
-
|
|
6
|
-
export type BaseFieldLabelProps = ViewProps & {
|
|
7
|
-
htmlFor?: string;
|
|
8
|
-
children?: ReactNode;
|
|
9
|
-
/** @platform native — ignored on DOM `<label>`; set by form primitive for Uniwind. */
|
|
10
|
-
dataSet?: Record<string, boolean | string>;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
/** Real `<label>` so clicking the label focuses the associated control (`htmlFor` → input `id`). */
|
|
14
|
-
export const BaseFieldLabel = forwardRef<HTMLLabelElement, BaseFieldLabelProps>((props, ref) => {
|
|
15
|
-
return (
|
|
16
|
-
<label
|
|
17
|
-
ref={ref}
|
|
18
|
-
{...(props as React.LabelHTMLAttributes<HTMLLabelElement>)}
|
|
19
|
-
data-invalid={props.dataSet?.invalid}
|
|
20
|
-
data-required={props.dataSet?.required}
|
|
21
|
-
/>
|
|
22
|
-
);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
BaseFieldLabel.displayName = 'BaseFieldLabel';
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { forwardRef } from 'react';
|
|
2
|
-
import { View, type ViewProps } from 'react-native';
|
|
3
|
-
|
|
4
|
-
export type BaseFormRootProps = ViewProps & {
|
|
5
|
-
onSubmit?: (e: React.SyntheticEvent) => void;
|
|
6
|
-
action?: string | ((formData: FormData) => void | Promise<void>);
|
|
7
|
-
method?: string;
|
|
8
|
-
className?: string;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export const BaseFormRoot = forwardRef<View, BaseFormRootProps>(
|
|
12
|
-
({ onSubmit: _onSubmit, action: _action, method: _method, ...props }, ref) => {
|
|
13
|
-
void _onSubmit;
|
|
14
|
-
void _action;
|
|
15
|
-
void _method;
|
|
16
|
-
return <View ref={ref} {...props} />;
|
|
17
|
-
},
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
BaseFormRoot.displayName = 'BaseFormRoot';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
|
|
3
|
-
export type BaseFormRootProps = React.FormHTMLAttributes<HTMLFormElement> & {
|
|
4
|
-
className?: string;
|
|
5
|
-
children?: React.ReactNode;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const BaseFormRoot = forwardRef<HTMLFormElement, BaseFormRootProps>((props, ref) => {
|
|
9
|
-
return <form ref={ref} {...props} />;
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
BaseFormRoot.displayName = 'BaseFormRoot';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { forwardRef } from 'react';
|
|
2
|
-
import { TextInput, type TextInputProps } from 'react-native';
|
|
3
|
-
|
|
4
|
-
const androidDefaults = {
|
|
5
|
-
includeFontPadding: false,
|
|
6
|
-
textAlignVertical: 'center' as const,
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export const BaseInput = forwardRef<TextInput, TextInputProps>((props, ref) => (
|
|
10
|
-
<TextInput ref={ref} {...props} style={[androidDefaults, props.style]} />
|
|
11
|
-
));
|
|
12
|
-
|
|
13
|
-
BaseInput.displayName = 'BaseInput';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TextInput as BaseInput } from 'react-native';
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import { TextInput } from 'react-native';
|
|
3
|
-
|
|
4
|
-
export const BaseInput = forwardRef<any, any>((props, ref) => {
|
|
5
|
-
if (props.type === 'file') {
|
|
6
|
-
return React.createElement('input', {
|
|
7
|
-
ref,
|
|
8
|
-
type: 'file',
|
|
9
|
-
accept: props.accept || undefined,
|
|
10
|
-
multiple: props.multiple || undefined,
|
|
11
|
-
capture: props.capture || undefined,
|
|
12
|
-
disabled: props.disabled || undefined,
|
|
13
|
-
'aria-label': props['aria-label'],
|
|
14
|
-
'aria-required': props['aria-required'] || undefined,
|
|
15
|
-
'aria-invalid': props['aria-invalid'] || undefined,
|
|
16
|
-
'aria-disabled': props['aria-disabled'] || undefined,
|
|
17
|
-
onChange: (e: any) => {
|
|
18
|
-
const files = e.target.files;
|
|
19
|
-
if (files && props.onFiles) {
|
|
20
|
-
props.onFiles(Array.from(files));
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
onFocus: props.onFocus,
|
|
24
|
-
onBlur: props.onBlur,
|
|
25
|
-
style: {
|
|
26
|
-
flex: 1,
|
|
27
|
-
minWidth: 0,
|
|
28
|
-
border: 'none',
|
|
29
|
-
outline: 'none',
|
|
30
|
-
background: 'transparent',
|
|
31
|
-
cursor: props.disabled ? 'not-allowed' : 'pointer',
|
|
32
|
-
fontSize: 'inherit',
|
|
33
|
-
fontFamily: 'inherit',
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return <TextInput ref={ref} {...props} />;
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
BaseInput.displayName = 'BaseInput';
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import { StyleSheet } from 'react-native';
|
|
3
|
-
import type { PressableProps } from 'react-native';
|
|
4
|
-
import { domDataAttributes, type DomDataAttributeValue } from '@cdx-ui/primitives';
|
|
5
|
-
|
|
6
|
-
export type SelectTriggerHostProps = PressableProps & {
|
|
7
|
-
className?: string;
|
|
8
|
-
dataSet?: Record<string, DomDataAttributeValue>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
/** Props that must not be forwarded to a DOM `<button>`. */
|
|
12
|
-
const OMIT = new Set<string>([
|
|
13
|
-
'hitSlop',
|
|
14
|
-
'pressRetentionOffset',
|
|
15
|
-
'android_ripple',
|
|
16
|
-
'android_disableSound',
|
|
17
|
-
'unstable_pressDelay',
|
|
18
|
-
'onLongPress',
|
|
19
|
-
'delayLongPress',
|
|
20
|
-
'onPress',
|
|
21
|
-
'onPressIn',
|
|
22
|
-
'onPressOut',
|
|
23
|
-
'onHoverIn',
|
|
24
|
-
'onHoverOut',
|
|
25
|
-
'disabled',
|
|
26
|
-
'style',
|
|
27
|
-
'className',
|
|
28
|
-
'testID',
|
|
29
|
-
'children',
|
|
30
|
-
'accessible',
|
|
31
|
-
'accessibilityActions',
|
|
32
|
-
'accessibilityElementsHidden',
|
|
33
|
-
'accessibilityHint',
|
|
34
|
-
'accessibilityIgnoresInvertColors',
|
|
35
|
-
'accessibilityLabel',
|
|
36
|
-
'accessibilityLabelledBy',
|
|
37
|
-
'accessibilityLiveRegion',
|
|
38
|
-
'accessibilityRole',
|
|
39
|
-
'accessibilityState',
|
|
40
|
-
'accessibilityValue',
|
|
41
|
-
'accessibilityViewIsModal',
|
|
42
|
-
'importantForAccessibility',
|
|
43
|
-
'needsOffscreenAlphaCompositing',
|
|
44
|
-
'collapsable',
|
|
45
|
-
'shouldRasterizeIOS',
|
|
46
|
-
'removeClippedSubviews',
|
|
47
|
-
'onAccessibilityAction',
|
|
48
|
-
'onAccessibilityEscape',
|
|
49
|
-
'onAccessibilityTap',
|
|
50
|
-
]);
|
|
51
|
-
|
|
52
|
-
function resolveChildren(children: PressableProps['children']): React.ReactNode {
|
|
53
|
-
if (typeof children === 'function') {
|
|
54
|
-
return children({ pressed: false });
|
|
55
|
-
}
|
|
56
|
-
return children;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function filterDomProps(rest: object): React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
60
|
-
const entries = Object.entries(rest).filter(([key]) => !OMIT.has(key));
|
|
61
|
-
return Object.fromEntries(entries) as React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/** UA `<button>` defaults (centered text, inline sizing) fight our flex + `justify-between` layout. */
|
|
65
|
-
const webButtonLayoutStyle: React.CSSProperties = {
|
|
66
|
-
display: 'flex',
|
|
67
|
-
flexDirection: 'row',
|
|
68
|
-
alignItems: 'center',
|
|
69
|
-
justifyContent: 'space-between',
|
|
70
|
-
width: '100%',
|
|
71
|
-
minWidth: 0,
|
|
72
|
-
textAlign: 'start',
|
|
73
|
-
boxSizing: 'border-box',
|
|
74
|
-
margin: 0,
|
|
75
|
-
font: 'inherit',
|
|
76
|
-
lineHeight: 'normal',
|
|
77
|
-
WebkitAppearance: 'none',
|
|
78
|
-
appearance: 'none',
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Native `<button type="button">` so the trigger is HTML-labelable (`<label htmlFor>` focuses it).
|
|
83
|
-
* `Pressable` on web is a non-labelable div; no extra refs are needed for label association.
|
|
84
|
-
*/
|
|
85
|
-
export const SelectTriggerHost = forwardRef<HTMLButtonElement, SelectTriggerHostProps>(
|
|
86
|
-
function SelectTriggerHost(props, ref) {
|
|
87
|
-
const {
|
|
88
|
-
children,
|
|
89
|
-
onPress,
|
|
90
|
-
onPressIn,
|
|
91
|
-
onPressOut,
|
|
92
|
-
onHoverIn,
|
|
93
|
-
onHoverOut,
|
|
94
|
-
disabled,
|
|
95
|
-
style,
|
|
96
|
-
className,
|
|
97
|
-
testID,
|
|
98
|
-
dataSet,
|
|
99
|
-
...rest
|
|
100
|
-
} = props;
|
|
101
|
-
|
|
102
|
-
const domProps = filterDomProps(rest);
|
|
103
|
-
const dataAttrs = domDataAttributes(dataSet ?? {});
|
|
104
|
-
const flattened = StyleSheet.flatten(style) as React.CSSProperties | undefined;
|
|
105
|
-
|
|
106
|
-
return (
|
|
107
|
-
<button
|
|
108
|
-
ref={ref}
|
|
109
|
-
{...domProps}
|
|
110
|
-
{...dataAttrs}
|
|
111
|
-
type="button"
|
|
112
|
-
disabled={!!disabled}
|
|
113
|
-
className={typeof className === 'string' ? className : undefined}
|
|
114
|
-
style={{ ...webButtonLayoutStyle, ...(flattened ?? {}) }}
|
|
115
|
-
data-testid={testID}
|
|
116
|
-
onClick={(e) => {
|
|
117
|
-
if (!disabled) {
|
|
118
|
-
onPress?.(e as unknown as Parameters<NonNullable<PressableProps['onPress']>>[0]);
|
|
119
|
-
}
|
|
120
|
-
}}
|
|
121
|
-
onPointerDown={(e) => {
|
|
122
|
-
onPressIn?.(e as unknown as Parameters<NonNullable<PressableProps['onPressIn']>>[0]);
|
|
123
|
-
}}
|
|
124
|
-
onPointerUp={(e) => {
|
|
125
|
-
onPressOut?.(e as unknown as Parameters<NonNullable<PressableProps['onPressOut']>>[0]);
|
|
126
|
-
}}
|
|
127
|
-
onPointerCancel={(e) => {
|
|
128
|
-
onPressOut?.(e as unknown as Parameters<NonNullable<PressableProps['onPressOut']>>[0]);
|
|
129
|
-
}}
|
|
130
|
-
onMouseEnter={(e) => {
|
|
131
|
-
onHoverIn?.(e as unknown as Parameters<NonNullable<PressableProps['onHoverIn']>>[0]);
|
|
132
|
-
}}
|
|
133
|
-
onMouseLeave={(e) => {
|
|
134
|
-
onHoverOut?.(e as unknown as Parameters<NonNullable<PressableProps['onHoverOut']>>[0]);
|
|
135
|
-
}}
|
|
136
|
-
>
|
|
137
|
-
{resolveChildren(children)}
|
|
138
|
-
</button>
|
|
139
|
-
);
|
|
140
|
-
},
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
SelectTriggerHost.displayName = 'SelectTriggerHost';
|