@fuf-stack/uniform 1.4.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Checkboxes/index.cjs +16 -0
- package/dist/{RadioGroup → Checkboxes}/index.cjs.map +1 -1
- package/dist/Checkboxes/index.d.cts +10 -0
- package/dist/Checkboxes/index.d.ts +10 -0
- package/dist/Checkboxes/index.js +16 -0
- package/dist/{CheckboxGroup-B1g42iP0.d.cts → Checkboxes-CR0Uu2g9.d.cts} +9 -9
- package/dist/{CheckboxGroup-B1g42iP0.d.ts → Checkboxes-CR0Uu2g9.d.ts} +9 -9
- package/dist/FieldArray/index.cjs +5 -5
- package/dist/FieldArray/index.d.cts +2 -2
- package/dist/FieldArray/index.d.ts +2 -2
- package/dist/FieldArray/index.js +4 -4
- package/dist/FieldArray-EP4otr2x.d.cts +160 -0
- package/dist/FieldArray-EP4otr2x.d.ts +160 -0
- package/dist/{FieldValidationError-CU_xw0BL.d.ts → FieldValidationError-DwtLkGMo.d.cts} +2 -2
- package/dist/{FieldValidationError-CU_xw0BL.d.cts → FieldValidationError-DwtLkGMo.d.ts} +2 -2
- package/dist/Form/index.cjs +6 -4
- package/dist/Form/index.cjs.map +1 -1
- package/dist/Form/index.js +5 -3
- package/dist/Input/index.cjs +5 -5
- package/dist/Input/index.d.cts +2 -2
- package/dist/Input/index.d.ts +2 -2
- package/dist/Input/index.js +4 -4
- package/dist/{Input-C6ujfEkn.d.ts → Input-CCIEnvIp.d.ts} +1 -1
- package/dist/{Input-BQkZtJx8.d.cts → Input-D7HT_8jf.d.cts} +1 -1
- package/dist/RadioBoxes/index.cjs +5 -5
- package/dist/RadioBoxes/index.d.cts +3 -2
- package/dist/RadioBoxes/index.d.ts +3 -2
- package/dist/RadioBoxes/index.js +4 -4
- package/dist/{RadioBoxes-CE3mYoFk.d.cts → RadioBoxes-DpkI28l0.d.cts} +3 -2
- package/dist/{RadioBoxes-CE3mYoFk.d.ts → RadioBoxes-DpkI28l0.d.ts} +3 -2
- package/dist/RadioTabs/index.cjs +5 -5
- package/dist/RadioTabs/index.d.cts +2 -2
- package/dist/RadioTabs/index.d.ts +2 -2
- package/dist/RadioTabs/index.js +4 -4
- package/dist/{RadioTabs-BCWW3tru.d.cts → RadioTabs-DTDcAZoH.d.cts} +1 -1
- package/dist/{RadioTabs-BCWW3tru.d.ts → RadioTabs-DTDcAZoH.d.ts} +1 -1
- package/dist/Radios/index.cjs +16 -0
- package/dist/Radios/index.cjs.map +1 -0
- package/dist/Radios/index.d.cts +9 -0
- package/dist/Radios/index.d.ts +9 -0
- package/dist/Radios/index.js +16 -0
- package/dist/{RadioGroup-CAOX80Xx.d.cts → Radios-DprlJhoq.d.cts} +9 -9
- package/dist/{RadioGroup-CAOX80Xx.d.ts → Radios-DprlJhoq.d.ts} +9 -9
- package/dist/Select/index.cjs +5 -5
- package/dist/Select/index.d.cts +2 -2
- package/dist/Select/index.d.ts +2 -2
- package/dist/Select/index.js +4 -4
- package/dist/{Select-CTRWinmO.d.cts → Select-CDkZmZp2.d.cts} +1 -1
- package/dist/{Select-CTRWinmO.d.ts → Select-CDkZmZp2.d.ts} +1 -1
- package/dist/SubmitButton/index.cjs +6 -4
- package/dist/SubmitButton/index.cjs.map +1 -1
- package/dist/SubmitButton/index.js +5 -3
- package/dist/Switch/index.cjs +5 -5
- package/dist/Switch/index.js +4 -4
- package/dist/TextArea/index.cjs +5 -5
- package/dist/TextArea/index.d.cts +4 -2
- package/dist/TextArea/index.d.ts +4 -2
- package/dist/TextArea/index.js +4 -4
- package/dist/TextArea-DhxNWYNg.d.cts +86 -0
- package/dist/TextArea-DhxNWYNg.d.ts +86 -0
- package/dist/chunk-2DHTL4PW.cjs +117 -0
- package/dist/chunk-2DHTL4PW.cjs.map +1 -0
- package/dist/{chunk-FOVP54XP.cjs → chunk-3NH4MEMM.cjs} +18 -27
- package/dist/chunk-3NH4MEMM.cjs.map +1 -0
- package/dist/{chunk-M2DNMSQZ.js → chunk-3Q3IUEGL.js} +52 -49
- package/dist/chunk-3Q3IUEGL.js.map +1 -0
- package/dist/{chunk-C52NGPIF.js → chunk-4WRUHOGY.js} +48 -46
- package/dist/chunk-4WRUHOGY.js.map +1 -0
- package/dist/{chunk-KG4XCEPW.js → chunk-53XSXUNE.js} +42 -40
- package/dist/chunk-53XSXUNE.js.map +1 -0
- package/dist/{chunk-77C6VN4L.cjs → chunk-5LWD6VRV.cjs} +50 -47
- package/dist/chunk-5LWD6VRV.cjs.map +1 -0
- package/dist/{chunk-C64RKQEW.cjs → chunk-62AYJT2H.cjs} +3 -3
- package/dist/{chunk-C64RKQEW.cjs.map → chunk-62AYJT2H.cjs.map} +1 -1
- package/dist/chunk-76KOVUDN.js +138 -0
- package/dist/chunk-76KOVUDN.js.map +1 -0
- package/dist/{chunk-FHRMVL6B.js → chunk-AYWMAPAX.js} +134 -89
- package/dist/chunk-AYWMAPAX.js.map +1 -0
- package/dist/chunk-BWPTCHL7.cjs +103 -0
- package/dist/chunk-BWPTCHL7.cjs.map +1 -0
- package/dist/{chunk-2GYFDVXX.cjs → chunk-C5GIWGQR.cjs} +173 -33
- package/dist/chunk-C5GIWGQR.cjs.map +1 -0
- package/dist/{chunk-IYDCKENI.js → chunk-CJD3DW4J.js} +166 -26
- package/dist/chunk-CJD3DW4J.js.map +1 -0
- package/dist/{chunk-N2EEOWEP.cjs → chunk-CW4VK77Z.cjs} +59 -64
- package/dist/chunk-CW4VK77Z.cjs.map +1 -0
- package/dist/{chunk-LJQ35BUK.js → chunk-D2HI4KE4.js} +2 -2
- package/dist/chunk-DYTE5N3B.cjs +684 -0
- package/dist/chunk-DYTE5N3B.cjs.map +1 -0
- package/dist/chunk-ELYGQTXB.js +47 -0
- package/dist/chunk-ELYGQTXB.js.map +1 -0
- package/dist/chunk-GST3AQOR.js +684 -0
- package/dist/chunk-GST3AQOR.js.map +1 -0
- package/dist/{chunk-AYNTZPKL.cjs → chunk-HQNZYWJX.cjs} +132 -87
- package/dist/chunk-HQNZYWJX.cjs.map +1 -0
- package/dist/chunk-LLQLEDOO.js +103 -0
- package/dist/chunk-LLQLEDOO.js.map +1 -0
- package/dist/chunk-NHEZXA4H.cjs +47 -0
- package/dist/chunk-NHEZXA4H.cjs.map +1 -0
- package/dist/{chunk-M7VM7XBE.js → chunk-OCYJFIPV.js} +8 -8
- package/dist/chunk-OCYJFIPV.js.map +1 -0
- package/dist/{chunk-YEKHVKS3.cjs → chunk-S36CKKDV.cjs} +44 -42
- package/dist/chunk-S36CKKDV.cjs.map +1 -0
- package/dist/chunk-S7K35LVS.js +117 -0
- package/dist/chunk-S7K35LVS.js.map +1 -0
- package/dist/{chunk-Y3GELCDP.js → chunk-VLEYEBRE.js} +62 -67
- package/dist/chunk-VLEYEBRE.js.map +1 -0
- package/dist/{chunk-UGCZORU3.cjs → chunk-YIBISSMT.cjs} +9 -9
- package/dist/chunk-YIBISSMT.cjs.map +1 -0
- package/dist/chunk-Z353BLWI.cjs +138 -0
- package/dist/chunk-Z353BLWI.cjs.map +1 -0
- package/dist/{chunk-ULR4573W.cjs → chunk-ZLQCMOVU.cjs} +40 -38
- package/dist/chunk-ZLQCMOVU.cjs.map +1 -0
- package/dist/{chunk-2B6CDMOZ.js → chunk-ZN3ESUQR.js} +16 -25
- package/dist/chunk-ZN3ESUQR.js.map +1 -0
- package/dist/helpers/index.cjs +4 -2
- package/dist/helpers/index.cjs.map +1 -1
- package/dist/helpers/index.d.cts +54 -10
- package/dist/helpers/index.d.ts +54 -10
- package/dist/helpers/index.js +3 -1
- package/dist/hooks/index.cjs +7 -3
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.cts +86 -4
- package/dist/hooks/index.d.ts +86 -4
- package/dist/hooks/index.js +8 -4
- package/dist/index.cjs +20 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +30 -26
- package/dist/partials/FieldValidationError/index.cjs +2 -2
- package/dist/partials/FieldValidationError/index.d.cts +2 -2
- package/dist/partials/FieldValidationError/index.d.ts +2 -2
- package/dist/partials/FieldValidationError/index.js +1 -1
- package/package.json +12 -11
- package/dist/CheckboxGroup/index.cjs +0 -16
- package/dist/CheckboxGroup/index.cjs.map +0 -1
- package/dist/CheckboxGroup/index.d.cts +0 -10
- package/dist/CheckboxGroup/index.d.ts +0 -10
- package/dist/CheckboxGroup/index.js +0 -16
- package/dist/FieldArray-DVQka7Bh.d.cts +0 -130
- package/dist/FieldArray-DVQka7Bh.d.ts +0 -130
- package/dist/RadioGroup/index.cjs +0 -16
- package/dist/RadioGroup/index.d.cts +0 -9
- package/dist/RadioGroup/index.d.ts +0 -9
- package/dist/RadioGroup/index.js +0 -16
- package/dist/TextArea-DnFGyl4a.d.cts +0 -27
- package/dist/TextArea-DnFGyl4a.d.ts +0 -27
- package/dist/chunk-2B6CDMOZ.js.map +0 -1
- package/dist/chunk-2GYFDVXX.cjs.map +0 -1
- package/dist/chunk-77C6VN4L.cjs.map +0 -1
- package/dist/chunk-AYNTZPKL.cjs.map +0 -1
- package/dist/chunk-C52NGPIF.js.map +0 -1
- package/dist/chunk-CQWA2DFV.js +0 -37
- package/dist/chunk-CQWA2DFV.js.map +0 -1
- package/dist/chunk-EEBHFSBY.cjs +0 -112
- package/dist/chunk-EEBHFSBY.cjs.map +0 -1
- package/dist/chunk-FHRMVL6B.js.map +0 -1
- package/dist/chunk-FOVP54XP.cjs.map +0 -1
- package/dist/chunk-IYDCKENI.js.map +0 -1
- package/dist/chunk-JZF4HUYO.cjs +0 -409
- package/dist/chunk-JZF4HUYO.cjs.map +0 -1
- package/dist/chunk-KG4XCEPW.js.map +0 -1
- package/dist/chunk-KQN55PEW.js +0 -76
- package/dist/chunk-KQN55PEW.js.map +0 -1
- package/dist/chunk-M2DNMSQZ.js.map +0 -1
- package/dist/chunk-M7VM7XBE.js.map +0 -1
- package/dist/chunk-N2EEOWEP.cjs.map +0 -1
- package/dist/chunk-NAZIH6HV.js +0 -409
- package/dist/chunk-NAZIH6HV.js.map +0 -1
- package/dist/chunk-RDBCJJI7.cjs +0 -88
- package/dist/chunk-RDBCJJI7.cjs.map +0 -1
- package/dist/chunk-RF7KNUCI.js +0 -88
- package/dist/chunk-RF7KNUCI.js.map +0 -1
- package/dist/chunk-UGCZORU3.cjs.map +0 -1
- package/dist/chunk-ULR4573W.cjs.map +0 -1
- package/dist/chunk-XKMLCM5K.js +0 -112
- package/dist/chunk-XKMLCM5K.js.map +0 -1
- package/dist/chunk-Y3AB4GV6.cjs +0 -37
- package/dist/chunk-Y3AB4GV6.cjs.map +0 -1
- package/dist/chunk-Y3GELCDP.js.map +0 -1
- package/dist/chunk-YEKHVKS3.cjs.map +0 -1
- package/dist/chunk-YGNY6CKU.cjs +0 -76
- package/dist/chunk-YGNY6CKU.cjs.map +0 -1
- /package/dist/{CheckboxGroup → Checkboxes}/index.js.map +0 -0
- /package/dist/{RadioGroup → Radios}/index.js.map +0 -0
- /package/dist/{chunk-LJQ35BUK.js.map → chunk-D2HI4KE4.js.map} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
3
|
+
import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const textAreaVariants: tailwind_variants.TVReturnType<{
|
|
7
|
+
[key: string]: {
|
|
8
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
+
base?: tailwind_variants.ClassValue;
|
|
10
|
+
input?: tailwind_variants.ClassValue;
|
|
11
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
12
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
[x: string]: {
|
|
17
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
18
|
+
base?: tailwind_variants.ClassValue;
|
|
19
|
+
input?: tailwind_variants.ClassValue;
|
|
20
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
21
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
} | {}, {
|
|
25
|
+
/** wrapper around the whole input */
|
|
26
|
+
base: string;
|
|
27
|
+
/** clear button */
|
|
28
|
+
clearButton: string;
|
|
29
|
+
/** actual input element */
|
|
30
|
+
input: string;
|
|
31
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
32
|
+
inputWrapper: string;
|
|
33
|
+
}, undefined, {
|
|
34
|
+
[key: string]: {
|
|
35
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
36
|
+
base?: tailwind_variants.ClassValue;
|
|
37
|
+
input?: tailwind_variants.ClassValue;
|
|
38
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
39
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
} | {}, {
|
|
43
|
+
/** wrapper around the whole input */
|
|
44
|
+
base: string;
|
|
45
|
+
/** clear button */
|
|
46
|
+
clearButton: string;
|
|
47
|
+
/** actual input element */
|
|
48
|
+
input: string;
|
|
49
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
50
|
+
inputWrapper: string;
|
|
51
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
52
|
+
/** wrapper around the whole input */
|
|
53
|
+
base: string;
|
|
54
|
+
/** clear button */
|
|
55
|
+
clearButton: string;
|
|
56
|
+
/** actual input element */
|
|
57
|
+
input: string;
|
|
58
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
59
|
+
inputWrapper: string;
|
|
60
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
61
|
+
type VariantProps = TVProps<typeof textAreaVariants>;
|
|
62
|
+
type ClassName = TVClassName<typeof textAreaVariants>;
|
|
63
|
+
interface TextAreaProps extends VariantProps {
|
|
64
|
+
/** Child components. The content of the textarea. */
|
|
65
|
+
children?: ReactNode;
|
|
66
|
+
/** CSS class name */
|
|
67
|
+
className?: ClassName;
|
|
68
|
+
/** debounce delay in milliseconds for form state updates (default: 300ms) */
|
|
69
|
+
debounceDelay?: number;
|
|
70
|
+
/** Determines if the TextArea is disabled or not. */
|
|
71
|
+
disabled?: boolean;
|
|
72
|
+
/** Label displayed above the TextArea. */
|
|
73
|
+
label?: ReactNode;
|
|
74
|
+
/** Name the TextArea is registered at in HTML forms (react-hook-form). */
|
|
75
|
+
name: string;
|
|
76
|
+
/** placeholder for the textArea content. */
|
|
77
|
+
placeholder?: string;
|
|
78
|
+
/** Id to grab element in internal tests. */
|
|
79
|
+
testId?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* TextArea component based on [HeroUI TextArea](https://www.heroui.com//docs/components/textarea)
|
|
83
|
+
*/
|
|
84
|
+
declare const TextArea: ({ children, className: _className, debounceDelay, name, placeholder, ...uniformFieldProps }: TextAreaProps) => react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
export { TextArea as T, type TextAreaProps as a };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
3
|
+
import { TVProps, TVClassName } from '@fuf-stack/pixel-utils';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const textAreaVariants: tailwind_variants.TVReturnType<{
|
|
7
|
+
[key: string]: {
|
|
8
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
+
base?: tailwind_variants.ClassValue;
|
|
10
|
+
input?: tailwind_variants.ClassValue;
|
|
11
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
12
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
[x: string]: {
|
|
17
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
18
|
+
base?: tailwind_variants.ClassValue;
|
|
19
|
+
input?: tailwind_variants.ClassValue;
|
|
20
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
21
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
} | {}, {
|
|
25
|
+
/** wrapper around the whole input */
|
|
26
|
+
base: string;
|
|
27
|
+
/** clear button */
|
|
28
|
+
clearButton: string;
|
|
29
|
+
/** actual input element */
|
|
30
|
+
input: string;
|
|
31
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
32
|
+
inputWrapper: string;
|
|
33
|
+
}, undefined, {
|
|
34
|
+
[key: string]: {
|
|
35
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
36
|
+
base?: tailwind_variants.ClassValue;
|
|
37
|
+
input?: tailwind_variants.ClassValue;
|
|
38
|
+
inputWrapper?: tailwind_variants.ClassValue;
|
|
39
|
+
clearButton?: tailwind_variants.ClassValue;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
} | {}, {
|
|
43
|
+
/** wrapper around the whole input */
|
|
44
|
+
base: string;
|
|
45
|
+
/** clear button */
|
|
46
|
+
clearButton: string;
|
|
47
|
+
/** actual input element */
|
|
48
|
+
input: string;
|
|
49
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
50
|
+
inputWrapper: string;
|
|
51
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
52
|
+
/** wrapper around the whole input */
|
|
53
|
+
base: string;
|
|
54
|
+
/** clear button */
|
|
55
|
+
clearButton: string;
|
|
56
|
+
/** actual input element */
|
|
57
|
+
input: string;
|
|
58
|
+
/** inner wrapper (HeroUI inputWrapper slot) */
|
|
59
|
+
inputWrapper: string;
|
|
60
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
61
|
+
type VariantProps = TVProps<typeof textAreaVariants>;
|
|
62
|
+
type ClassName = TVClassName<typeof textAreaVariants>;
|
|
63
|
+
interface TextAreaProps extends VariantProps {
|
|
64
|
+
/** Child components. The content of the textarea. */
|
|
65
|
+
children?: ReactNode;
|
|
66
|
+
/** CSS class name */
|
|
67
|
+
className?: ClassName;
|
|
68
|
+
/** debounce delay in milliseconds for form state updates (default: 300ms) */
|
|
69
|
+
debounceDelay?: number;
|
|
70
|
+
/** Determines if the TextArea is disabled or not. */
|
|
71
|
+
disabled?: boolean;
|
|
72
|
+
/** Label displayed above the TextArea. */
|
|
73
|
+
label?: ReactNode;
|
|
74
|
+
/** Name the TextArea is registered at in HTML forms (react-hook-form). */
|
|
75
|
+
name: string;
|
|
76
|
+
/** placeholder for the textArea content. */
|
|
77
|
+
placeholder?: string;
|
|
78
|
+
/** Id to grab element in internal tests. */
|
|
79
|
+
testId?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* TextArea component based on [HeroUI TextArea](https://www.heroui.com//docs/components/textarea)
|
|
83
|
+
*/
|
|
84
|
+
declare const TextArea: ({ children, className: _className, debounceDelay, name, placeholder, ...uniformFieldProps }: TextAreaProps) => react_jsx_runtime.JSX.Element;
|
|
85
|
+
|
|
86
|
+
export { TextArea as T, type TextAreaProps as a };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkC5GIWGQRcjs = require('./chunk-C5GIWGQR.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunk555JRYCScjs = require('./chunk-555JRYCS.cjs');
|
|
8
|
+
|
|
9
|
+
// src/Radios/Radios.tsx
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
var _radio = require('@heroui/radio');
|
|
14
|
+
var _pixelutils = require('@fuf-stack/pixel-utils');
|
|
15
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
16
|
+
var radiosVariants = _pixelutils.tv.call(void 0, {
|
|
17
|
+
slots: {
|
|
18
|
+
// Needs group for group-data condition
|
|
19
|
+
base: "group gap-0",
|
|
20
|
+
itemBase: "",
|
|
21
|
+
itemControl: "bg-focus group-data-[invalid=true]:bg-danger",
|
|
22
|
+
itemDescription: "",
|
|
23
|
+
itemLabel: "text-sm",
|
|
24
|
+
itemLabelWrapper: "",
|
|
25
|
+
itemWrapper: 'group-data-[invalid=true]:border-danger! [&:not(group-data-[invalid="true"]):not(group-data-[selected="false"])]:border-focus',
|
|
26
|
+
// e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts
|
|
27
|
+
label: "text-foreground group-data-[invalid=true]:text-danger mb-2 inline-flex text-sm subpixel-antialiased",
|
|
28
|
+
wrapper: ""
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
var Radios = (_a) => {
|
|
32
|
+
var _b = _a, {
|
|
33
|
+
className = void 0,
|
|
34
|
+
inline = false,
|
|
35
|
+
name,
|
|
36
|
+
options
|
|
37
|
+
} = _b, uniformFieldProps = _chunk555JRYCScjs.__objRest.call(void 0, _b, [
|
|
38
|
+
"className",
|
|
39
|
+
"inline",
|
|
40
|
+
"name",
|
|
41
|
+
"options"
|
|
42
|
+
]);
|
|
43
|
+
const {
|
|
44
|
+
disabled,
|
|
45
|
+
errorMessage,
|
|
46
|
+
field: { onBlur, onChange, ref },
|
|
47
|
+
invalid,
|
|
48
|
+
label,
|
|
49
|
+
required,
|
|
50
|
+
defaultValue,
|
|
51
|
+
testId
|
|
52
|
+
} = _chunkC5GIWGQRcjs.useUniformField.call(void 0, _chunk555JRYCScjs.__spreadValues.call(void 0, {
|
|
53
|
+
name,
|
|
54
|
+
showInvalidWhen: "immediate"
|
|
55
|
+
}, uniformFieldProps));
|
|
56
|
+
const variants = radiosVariants();
|
|
57
|
+
const classNames = _pixelutils.variantsToClassNames.call(void 0, variants, className, "base");
|
|
58
|
+
const itemClassNames = {
|
|
59
|
+
base: classNames.itemBase,
|
|
60
|
+
control: classNames.itemControl,
|
|
61
|
+
description: classNames.itemDescription,
|
|
62
|
+
label: classNames.itemLabel,
|
|
63
|
+
labelWrapper: classNames.itemLabelWrapper,
|
|
64
|
+
wrapper: classNames.itemWrapper
|
|
65
|
+
};
|
|
66
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
67
|
+
_radio.RadioGroup,
|
|
68
|
+
{
|
|
69
|
+
ref,
|
|
70
|
+
classNames,
|
|
71
|
+
"data-invalid": invalid,
|
|
72
|
+
"data-required": required,
|
|
73
|
+
"data-testid": testId,
|
|
74
|
+
defaultValue,
|
|
75
|
+
errorMessage,
|
|
76
|
+
isDisabled: disabled,
|
|
77
|
+
isInvalid: invalid,
|
|
78
|
+
isRequired: required,
|
|
79
|
+
label: label ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "legend", { children: label }) : null,
|
|
80
|
+
name,
|
|
81
|
+
onBlur,
|
|
82
|
+
orientation: inline ? "horizontal" : "vertical",
|
|
83
|
+
children: options.map((option) => {
|
|
84
|
+
var _a2, _b2;
|
|
85
|
+
if ("value" in option) {
|
|
86
|
+
const optionTestId = _pixelutils.slugify.call(void 0,
|
|
87
|
+
`${testId}_option_${(_a2 = option.testId) != null ? _a2 : option.value}`,
|
|
88
|
+
{ replaceDots: true }
|
|
89
|
+
);
|
|
90
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
91
|
+
_radio.Radio,
|
|
92
|
+
{
|
|
93
|
+
classNames: itemClassNames,
|
|
94
|
+
"data-testid": optionTestId,
|
|
95
|
+
isDisabled: !!disabled || option.disabled,
|
|
96
|
+
onChange,
|
|
97
|
+
value: option.value,
|
|
98
|
+
children: (_b2 = option.label) != null ? _b2 : option.value
|
|
99
|
+
},
|
|
100
|
+
option.value
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
})
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
};
|
|
108
|
+
var Radios_default = Radios;
|
|
109
|
+
|
|
110
|
+
// src/Radios/index.ts
|
|
111
|
+
var Radios_default2 = Radios_default;
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
exports.Radios_default = Radios_default; exports.Radios_default2 = Radios_default2;
|
|
117
|
+
//# sourceMappingURL=chunk-2DHTL4PW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-2DHTL4PW.cjs","../src/Radios/Radios.tsx","../src/Radios/index.ts"],"names":["_a","_b","Radios_default"],"mappings":"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","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-2DHTL4PW.cjs","sourcesContent":[null,"import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactElement, ReactNode } from 'react';\n\nimport {\n Radio as HeroRadio,\n RadioGroup as HeroRadioGroup,\n} from '@heroui/radio';\n\nimport { slugify, tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useUniformField } from '../hooks';\n\nexport const radiosVariants = tv({\n slots: {\n // Needs group for group-data condition\n base: 'group gap-0',\n itemBase: '',\n itemControl: 'bg-focus group-data-[invalid=true]:bg-danger',\n itemDescription: '',\n itemLabel: 'text-sm',\n itemLabelWrapper: '',\n itemWrapper:\n 'group-data-[invalid=true]:border-danger! [&:not(group-data-[invalid=\"true\"]):not(group-data-[selected=\"false\"])]:border-focus',\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/core/theme/src/components/select.ts\n label:\n 'text-foreground group-data-[invalid=true]:text-danger mb-2 inline-flex text-sm subpixel-antialiased',\n wrapper: '',\n },\n});\n\ntype VariantProps = TVProps<typeof radiosVariants>;\ntype ClassName = TVClassName<typeof radiosVariants>;\n\nexport interface RadioOption {\n /** disables the option */\n disabled?: boolean;\n /** option label */\n label?: React.ReactNode;\n /** option icon */\n icon?: ReactNode;\n /** HTML data-testid attribute of the option */\n testId?: string;\n /** option value */\n value: string;\n}\n\nexport interface RadiosProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** Determines if the Buttons are disabled or not. */\n disabled?: boolean;\n /** determines orientation of the Buttons. */\n inline?: boolean;\n /** Label displayed next to the RadioButton. */\n label?: ReactNode;\n /** Name the RadioButtons are registered at in HTML forms (react-hook-form). */\n name: string;\n /** Radio button configuration. */\n options: RadioOption[];\n /** Id to grab element in internal tests. */\n testId?: string;\n}\n\n/**\n * Radios component based on [HeroUI RadioGroup](https://www.heroui.com//docs/components/radio-group)\n */\nconst Radios = ({\n className = undefined,\n inline = false,\n name,\n options,\n ...uniformFieldProps\n}: RadiosProps): ReactElement => {\n const {\n disabled,\n errorMessage,\n field: { onBlur, onChange, ref },\n invalid,\n label,\n required,\n defaultValue,\n testId,\n } = useUniformField({\n name,\n showInvalidWhen: 'immediate',\n ...uniformFieldProps,\n });\n\n // classNames from slots\n const variants = radiosVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n const itemClassNames = {\n base: classNames.itemBase,\n control: classNames.itemControl,\n description: classNames.itemDescription,\n label: classNames.itemLabel,\n labelWrapper: classNames.itemLabelWrapper,\n wrapper: classNames.itemWrapper,\n };\n\n return (\n <HeroRadioGroup\n ref={ref}\n classNames={classNames}\n // see HeroUI styles for group-data condition (data-invalid),\n // e.g.: https://github.com/heroui-inc/heroui/blob/main/packages/components/select/src/use-select.ts\n data-invalid={invalid}\n data-required={required}\n data-testid={testId}\n defaultValue={defaultValue as string | undefined}\n errorMessage={errorMessage}\n isDisabled={disabled}\n isInvalid={invalid}\n isRequired={required}\n label={label ? <legend>{label}</legend> : null}\n name={name}\n onBlur={onBlur}\n orientation={inline ? 'horizontal' : 'vertical'}\n >\n {options.map((option) => {\n if ('value' in option) {\n const optionTestId = slugify(\n `${testId}_option_${option.testId ?? option.value}`,\n { replaceDots: true },\n );\n return (\n <HeroRadio\n key={option.value}\n classNames={itemClassNames}\n data-testid={optionTestId}\n isDisabled={!!disabled || option.disabled}\n onChange={onChange}\n value={option.value}\n >\n {option.label ?? option.value}\n </HeroRadio>\n );\n }\n return null;\n })}\n </HeroRadioGroup>\n );\n};\n\nexport default Radios;\n","import Radios from './Radios';\n\nexport type { RadiosProps } from './Radios';\n\nexport { Radios };\n\nexport default Radios;\n"]}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkC5GIWGQRcjs = require('./chunk-C5GIWGQR.cjs');
|
|
5
5
|
|
|
6
6
|
// src/Form/Form.tsx
|
|
7
7
|
var _pixelutils = require('@fuf-stack/pixel-utils');
|
|
8
8
|
|
|
9
9
|
// src/Form/subcomponents/FormDebugViewer.tsx
|
|
10
|
-
var _react = require('react');
|
|
11
10
|
var _fa = require('react-icons/fa');
|
|
12
11
|
var _fa6 = require('react-icons/fa6');
|
|
13
12
|
|
|
@@ -19,28 +18,15 @@ var _jsxruntime = require('react/jsx-runtime');
|
|
|
19
18
|
var FormDebugViewer = ({ className = void 0 }) => {
|
|
20
19
|
const {
|
|
21
20
|
debugMode,
|
|
22
|
-
formState: { isValid, isSubmitting },
|
|
23
|
-
getValues,
|
|
21
|
+
formState: { isValid, isSubmitting, submitCount, isSubmitSuccessful },
|
|
24
22
|
setDebugMode,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} =
|
|
23
|
+
validation: { errors },
|
|
24
|
+
watch
|
|
25
|
+
} = _chunkC5GIWGQRcjs.useFormContext.call(void 0, );
|
|
28
26
|
const showDebugButton = debugMode === "off";
|
|
29
27
|
const showDebugCard = debugMode === "debug" || debugMode === "debug-testids";
|
|
30
28
|
const showDebugTestIds = debugMode === "debug-testids";
|
|
31
|
-
const
|
|
32
|
-
_react.useEffect.call(void 0, () => {
|
|
33
|
-
if (!showDebugCard) {
|
|
34
|
-
return void 0;
|
|
35
|
-
}
|
|
36
|
-
const unsubscribe = subscribe({
|
|
37
|
-
formState: { values: true },
|
|
38
|
-
callback: ({ values }) => {
|
|
39
|
-
setValidationValues(values);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
return unsubscribe;
|
|
43
|
-
}, [showDebugCard, subscribe]);
|
|
29
|
+
const values = watch();
|
|
44
30
|
if (showDebugButton) {
|
|
45
31
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
46
32
|
_Button.Button,
|
|
@@ -94,10 +80,14 @@ var FormDebugViewer = ({ className = void 0 }) => {
|
|
|
94
80
|
_Json.Json,
|
|
95
81
|
{
|
|
96
82
|
value: {
|
|
97
|
-
values
|
|
98
|
-
errors: errors
|
|
99
|
-
|
|
100
|
-
|
|
83
|
+
values,
|
|
84
|
+
errors: errors != null ? errors : null,
|
|
85
|
+
submit: {
|
|
86
|
+
isValid,
|
|
87
|
+
isSubmitting,
|
|
88
|
+
isSubmitSuccessful,
|
|
89
|
+
submitCount
|
|
90
|
+
}
|
|
101
91
|
}
|
|
102
92
|
}
|
|
103
93
|
)
|
|
@@ -122,7 +112,7 @@ var Form = ({
|
|
|
122
112
|
validationTrigger = "all"
|
|
123
113
|
}) => {
|
|
124
114
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
125
|
-
|
|
115
|
+
_chunkC5GIWGQRcjs.FormContext_default,
|
|
126
116
|
{
|
|
127
117
|
debugModeSettings: debug,
|
|
128
118
|
initialValues,
|
|
@@ -130,13 +120,14 @@ var Form = ({
|
|
|
130
120
|
validation,
|
|
131
121
|
validationTrigger,
|
|
132
122
|
children: ({ handleSubmit, isValid }) => {
|
|
123
|
+
var _a;
|
|
133
124
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-row justify-between gap-6", children: [
|
|
134
125
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
135
126
|
"form",
|
|
136
127
|
{
|
|
137
128
|
className: _pixelutils.cn.call(void 0, "grow", className),
|
|
138
129
|
"data-form-is-valid": isValid,
|
|
139
|
-
"data-testid": _pixelutils.slugify.call(void 0, testId
|
|
130
|
+
"data-testid": _pixelutils.slugify.call(void 0, (_a = testId != null ? testId : name) != null ? _a : ""),
|
|
140
131
|
name,
|
|
141
132
|
onSubmit: handleSubmit,
|
|
142
133
|
children
|
|
@@ -157,4 +148,4 @@ var Form_default2 = Form_default;
|
|
|
157
148
|
|
|
158
149
|
|
|
159
150
|
exports.Form_default = Form_default; exports.Form_default2 = Form_default2;
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
151
|
+
//# sourceMappingURL=chunk-3NH4MEMM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-3NH4MEMM.cjs","../src/Form/Form.tsx","../src/Form/subcomponents/FormDebugViewer.tsx","../src/Form/index.ts"],"names":["jsx","jsxs","cn","Form_default"],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACA;ACAA,oDAA4B;ADE5B;AACA;AERA,oCAAwB;AACxB,sCAAkC;AAElC;AACA,kDAAuB;AACvB,8CAAqB;AACrB,8CAAqB;AAKrB,sCAAO;AA8BO,+CAAA;AAtBd,IAAM,gBAAA,EAAkB,CAAC,EAAE,UAAA,EAAY,KAAA,EAAU,CAAA,EAAA,GAA4B;AAC3E,EAAA,MAAM;AAAA,IACJ,SAAA;AAAA,IACA,SAAA,EAAW,EAAE,OAAA,EAAS,YAAA,EAAc,WAAA,EAAa,mBAAmB,CAAA;AAAA,IACpE,YAAA;AAAA,IACA,UAAA,EAAY,EAAE,OAAO,CAAA;AAAA,IACrB;AAAA,EACF,EAAA,EAAI,8CAAA,CAAe;AAEnB,EAAA,MAAM,gBAAA,EAAkB,UAAA,IAAc,KAAA;AACtC,EAAA,MAAM,cAAA,EAAgB,UAAA,IAAc,QAAA,GAAW,UAAA,IAAc,eAAA;AAC7D,EAAA,MAAM,iBAAA,EAAmB,UAAA,IAAc,eAAA;AAIvC,EAAA,MAAM,OAAA,EAAS,KAAA,CAAM,CAAA;AAErB,EAAA,GAAA,CAAI,eAAA,EAAiB;AACnB,IAAA,uBACE,6BAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,wBAAA;AAAA,QACV,SAAA,EAAU,iDAAA;AAAA,QACV,IAAA,kBAAM,6BAAA,UAAC,EAAA,CAAA,CAAM,CAAA;AAAA,QACb,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,CAAA,EAAA,GAAM;AACb,UAAA,YAAA,CAAa,OAAO,CAAA;AAAA,QACtB;AAAA,MAAA;AAAA,IACF,CAAA;AAAA,EAEJ;AAGA,EAAA,GAAA,CAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,8BAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,4BAAA,SAAY,CAAA;AAAA,MACvB,MAAA,kBACE,8BAAA,KAAC,EAAA,EAAI,SAAA,EAAU,sCAAA,EACb,QAAA,EAAA;AAAA,wBAAA,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,aAAA,CAAU,CAAA;AAAA,wBACpC,6BAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAM,QAAA;AAAA,YACN,IAAA,kBAAM,6BAAA,WAAC,EAAA,CAAA,CAAQ,CAAA;AAAA,YACf,IAAA,EAAK,IAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,OAAA,EAAS,CAAA,EAAA,GAAM;AACb,cAAA,YAAA,CAAa,KAAK,CAAA;AAAA,YACpB;AAAA,UAAA;AAAA,QACF;AAAA,MAAA,EAAA,CACF,CAAA;AAAA,MAGF,QAAA,EAAA;AAAA,wBAAA,6BAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,sBAAA;AAAA,YACV,IAAA,kBAAM,6BAAA,eAAC,EAAA,CAAA,CAAW,CAAA;AAAA,YAClB,OAAA,EAAS,iBAAA,EAAmB,QAAA,EAAU,OAAA;AAAA,YACtC,OAAA,EAAS,CAAA,EAAA,GAAM;AACb,cAAA,YAAA,CAAa,UAAA,IAAc,QAAA,EAAU,gBAAA,EAAkB,OAAO,CAAA;AAAA,YAChE,CAAA;AAAA,YAEC,QAAA,EAAA,iBAAA,EAAmB,kBAAA,EAAoB;AAAA,UAAA;AAAA,QAC1C,CAAA;AAAA,wBACA,6BAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO;AAAA,cACL,MAAA;AAAA,cACA,MAAA,EAAQ,OAAA,GAAA,KAAA,EAAA,OAAA,EAAU,IAAA;AAAA,cAClB,MAAA,EAAQ;AAAA,gBACN,OAAA;AAAA,gBACA,YAAA;AAAA,gBACA,kBAAA;AAAA,gBACA;AAAA,cACF;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,wBAAA,EAAQ,eAAA;AFDf;AACA;AC1CU;AA/CV,IAAM,QAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,SAAA,IAAa,MAAA;AA0BzC,IAAM,KAAA,EAAO,CAAC;AAAA,EACZ,QAAA;AAAA,EACA,UAAA,EAAY,KAAA,CAAA;AAAA,EACZ,MAAA,EAAQ,KAAA,CAAA;AAAA,EACR,cAAA,EAAgB,KAAA,CAAA;AAAA,EAChB,KAAA,EAAO,KAAA,CAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA,EAAS,KAAA,CAAA;AAAA,EACT,WAAA,EAAa,KAAA,CAAA;AAAA,EACb,kBAAA,EAAoB;AACtB,CAAA,EAAA,GAAiB;AACf,EAAA,uBACEA,6BAAAA;AAAA,IAAC,qCAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAmB,KAAA;AAAA,MACnB,aAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MAEC,QAAA,EAAA,CAAC,EAAE,YAAA,EAAc,QAAQ,CAAA,EAAA,GAAM;AAvDtC,QAAA,IAAA,EAAA;AAwDQ,QAAA,uBACEC,8BAAAA,KAAC,EAAA,EAAI,SAAA,EAAU,4CAAA,EACb,QAAA,EAAA;AAAA,0BAAAD,6BAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAWE,4BAAAA,MAAG,EAAQ,SAAS,CAAA;AAAA,cAC/B,oBAAA,EAAoB,OAAA;AAAA,cACpB,aAAA,EAAa,iCAAA,CAAQ,GAAA,EAAA,OAAA,GAAA,KAAA,EAAA,OAAA,EAAU,IAAA,EAAA,GAAV,KAAA,EAAA,GAAA,EAAkB,EAAE,CAAA;AAAA,cACzC,IAAA;AAAA,cACA,QAAA,EAAU,YAAA;AAAA,cAET;AAAA,YAAA;AAAA,UACH,CAAA;AAAA,UAEC,CAAC,QAAA,GAAW,CAAA,CAAC,MAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,KAAA,CAAO,OAAA,EAAA,mBACnBF,6BAAAA,uBAAC,EAAA,EAAgB,SAAA,EAAU,cAAA,CAAc;AAAA,QAAA,EAAA,CAE7C,CAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ,CAAA;AAEA,IAAO,aAAA,EAAQ,IAAA;ADgEf;AACA;AGzIA,IAAOG,cAAAA,EAAQ,YAAA;AH2If;AACA;AACE;AACA;AACF,2EAAC","file":"/home/runner/work/pixels/pixels/packages/uniform/dist/chunk-3NH4MEMM.cjs","sourcesContent":[null,"import type { VetoInstance } from '@fuf-stack/veto';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, SubmitHandler } from 'react-hook-form';\nimport type { DebugModeSettings } from './subcomponents/FormContext';\n\nimport { cn, slugify } from '@fuf-stack/pixel-utils';\n\nimport FormProvider from './subcomponents/FormContext';\nimport FormDebugViewer from './subcomponents/FormDebugViewer';\n\nconst IS_TEST = process.env.NODE_ENV === 'test';\n\nexport interface FormProps {\n /** form children */\n children: ReactNode | ReactNode[];\n /** CSS class name */\n className?: string | string[];\n /** settings for from debug mode */\n debug?: DebugModeSettings;\n /** initial form values */\n initialValues?: FieldValues;\n /** name of the form */\n name?: string;\n /** form submit handler */\n onSubmit: SubmitHandler<FieldValues>;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** veto validation schema */\n validation?: VetoInstance;\n /** when the validation should be triggered */\n validationTrigger?: 'onChange' | 'onBlur' | 'onSubmit' | 'onTouched' | 'all';\n}\n\n/**\n * Form component that has to wrap every uniform\n */\nconst Form = ({\n children,\n className = undefined,\n debug = undefined,\n initialValues = undefined,\n name = undefined,\n onSubmit,\n testId = undefined,\n validation = undefined,\n validationTrigger = 'all',\n}: FormProps) => {\n return (\n <FormProvider\n debugModeSettings={debug}\n initialValues={initialValues}\n onSubmit={onSubmit}\n validation={validation}\n validationTrigger={validationTrigger}\n >\n {({ handleSubmit, isValid }) => {\n return (\n <div className=\"flex w-full flex-row justify-between gap-6\">\n <form\n className={cn('grow', className)}\n data-form-is-valid={isValid}\n data-testid={slugify(testId ?? name ?? '')}\n name={name}\n onSubmit={handleSubmit}\n >\n {children}\n </form>\n {/* render debug viewer when not in test environment and debug not disabled */}\n {!IS_TEST && !debug?.disable && (\n <FormDebugViewer className=\"w-96 shrink\" />\n )}\n </div>\n );\n }}\n </FormProvider>\n );\n};\n\nexport default Form;\n","import { FaTimes } from 'react-icons/fa';\nimport { FaBug, FaBullseye } from 'react-icons/fa6';\n\nimport { cn } from '@fuf-stack/pixel-utils';\nimport { Button } from '@fuf-stack/pixels/Button';\nimport { Card } from '@fuf-stack/pixels/Card';\nimport { Json } from '@fuf-stack/pixels/Json';\n\nimport { useFormContext } from '../../hooks';\n\n// import Json css (theme)\nimport '@fuf-stack/pixels/Json.css';\n\ninterface FormDebugViewerProps {\n /** CSS class name */\n className?: string;\n}\n\n/** Renders a form debug panel with information about the current form state */\nconst FormDebugViewer = ({ className = undefined }: FormDebugViewerProps) => {\n const {\n debugMode,\n formState: { isValid, isSubmitting, submitCount, isSubmitSuccessful },\n setDebugMode,\n validation: { errors },\n watch,\n } = useFormContext();\n\n const showDebugButton = debugMode === 'off';\n const showDebugCard = debugMode === 'debug' || debugMode === 'debug-testids';\n const showDebugTestIds = debugMode === 'debug-testids';\n\n // TODO: maybe use new Watch component?\n // see: https://github.com/react-hook-form/react-hook-form/pull/12986\n const values = watch();\n\n if (showDebugButton) {\n return (\n <Button\n ariaLabel=\"Enable form debug mode\"\n className=\"text-default-400 fixed right-2.5 bottom-2.5 w-5\"\n icon={<FaBug />}\n variant=\"light\"\n onClick={() => {\n setDebugMode('debug');\n }}\n />\n );\n }\n\n // do not show card\n if (!showDebugCard) {\n return null;\n }\n\n return (\n <Card\n className={cn(className)}\n header={\n <div className=\"flex w-full flex-row justify-between\">\n <span className=\"text-lg\">Debug Mode</span>\n <Button\n color=\"danger\"\n icon={<FaTimes />}\n size=\"sm\"\n variant=\"light\"\n onClick={() => {\n setDebugMode('off');\n }}\n />\n </div>\n }\n >\n <Button\n className=\"mr-auto mb-4 ml-auto\"\n icon={<FaBullseye />}\n variant={showDebugTestIds ? 'solid' : 'light'}\n onClick={() => {\n setDebugMode(debugMode === 'debug' ? 'debug-testids' : 'debug');\n }}\n >\n {showDebugTestIds ? 'Hide CopyButton' : 'Show CopyButton'}\n </Button>\n <Json\n value={{\n values,\n errors: errors ?? null,\n submit: {\n isValid,\n isSubmitting,\n isSubmitSuccessful,\n submitCount,\n },\n }}\n />\n </Card>\n );\n};\n\nexport default FormDebugViewer;\n","import Form from './Form';\n\nexport type { FormProps } from './Form';\n\nexport { Form };\n\nexport default Form;\n"]}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import {
|
|
5
|
-
FieldValidationError_default
|
|
6
|
-
} from "./chunk-CQWA2DFV.js";
|
|
7
|
-
import {
|
|
8
|
-
useController,
|
|
9
|
-
useFormContext
|
|
10
|
-
} from "./chunk-IYDCKENI.js";
|
|
2
|
+
useUniformField
|
|
3
|
+
} from "./chunk-CJD3DW4J.js";
|
|
11
4
|
import {
|
|
12
5
|
useInputValueDebounce
|
|
13
6
|
} from "./chunk-6IU7IYYB.js";
|
|
14
7
|
import {
|
|
8
|
+
__objRest,
|
|
15
9
|
__spreadValues
|
|
16
10
|
} from "./chunk-K2V4ULA2.js";
|
|
17
11
|
|
|
18
12
|
// src/Input/Input.tsx
|
|
19
13
|
import { Input as HeroInput } from "@heroui/input";
|
|
20
14
|
import { tv, variantsToClassNames } from "@fuf-stack/pixel-utils";
|
|
21
|
-
import {
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
22
16
|
var inputVariants = tv({
|
|
23
17
|
slots: {
|
|
24
18
|
/** wrapper around the whole input */
|
|
@@ -31,36 +25,47 @@ var inputVariants = tv({
|
|
|
31
25
|
inputWrapper: "bg-content1 group-data-[focus=true]:border-focus"
|
|
32
26
|
}
|
|
33
27
|
});
|
|
34
|
-
var Input = ({
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
28
|
+
var Input = (_a) => {
|
|
29
|
+
var _b = _a, {
|
|
30
|
+
className: _className = void 0,
|
|
31
|
+
clearable = false,
|
|
32
|
+
debounceDelay = 300,
|
|
33
|
+
endContent = void 0,
|
|
34
|
+
name,
|
|
35
|
+
onClear = void 0,
|
|
36
|
+
placeholder = " ",
|
|
37
|
+
size = void 0,
|
|
38
|
+
startContent = void 0,
|
|
39
|
+
transform = void 0,
|
|
40
|
+
type = void 0
|
|
41
|
+
} = _b, uniformFieldProps = __objRest(_b, [
|
|
42
|
+
"className",
|
|
43
|
+
"clearable",
|
|
44
|
+
"debounceDelay",
|
|
45
|
+
"endContent",
|
|
46
|
+
"name",
|
|
47
|
+
"onClear",
|
|
48
|
+
"placeholder",
|
|
49
|
+
"size",
|
|
50
|
+
"startContent",
|
|
51
|
+
"transform",
|
|
52
|
+
"type"
|
|
53
|
+
]);
|
|
57
54
|
const {
|
|
58
|
-
disabled
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
disabled,
|
|
56
|
+
field: {
|
|
57
|
+
onChange: fieldOnChange,
|
|
58
|
+
onBlur: fieldOnBlur,
|
|
59
|
+
value: fieldValue,
|
|
60
|
+
ref
|
|
61
|
+
},
|
|
62
|
+
errorMessage,
|
|
63
|
+
invalid,
|
|
64
|
+
label,
|
|
65
|
+
required,
|
|
66
|
+
testId,
|
|
67
|
+
resetField
|
|
68
|
+
} = useUniformField(__spreadValues({ name }, uniformFieldProps));
|
|
64
69
|
const { onChange, onBlur, value } = useInputValueDebounce({
|
|
65
70
|
debounceDelay,
|
|
66
71
|
onBlur: fieldOnBlur,
|
|
@@ -78,8 +83,6 @@ var Input = ({
|
|
|
78
83
|
}
|
|
79
84
|
}
|
|
80
85
|
} : {};
|
|
81
|
-
const showTestIdCopyButton = debugMode === "debug-testids";
|
|
82
|
-
const showLabel = label != null ? label : showTestIdCopyButton;
|
|
83
86
|
const variants = inputVariants();
|
|
84
87
|
const classNames = variantsToClassNames(variants, _className, "base");
|
|
85
88
|
return /* @__PURE__ */ jsx(
|
|
@@ -88,9 +91,12 @@ var Input = ({
|
|
|
88
91
|
ref,
|
|
89
92
|
"data-testid": testId,
|
|
90
93
|
endContent,
|
|
91
|
-
|
|
94
|
+
errorMessage,
|
|
95
|
+
id: testId,
|
|
96
|
+
isDisabled: disabled,
|
|
92
97
|
isInvalid: invalid,
|
|
93
98
|
isRequired: required,
|
|
99
|
+
label,
|
|
94
100
|
labelPlacement: "outside",
|
|
95
101
|
name,
|
|
96
102
|
onBlur,
|
|
@@ -105,14 +111,11 @@ var Input = ({
|
|
|
105
111
|
classNames: {
|
|
106
112
|
base: classNames.base,
|
|
107
113
|
clearButton: classNames.clearButton,
|
|
114
|
+
// set padding to 0 for error message exit animation
|
|
115
|
+
helperWrapper: "p-0",
|
|
108
116
|
input: classNames.input,
|
|
109
117
|
inputWrapper: classNames.inputWrapper
|
|
110
|
-
}
|
|
111
|
-
errorMessage: error ? /* @__PURE__ */ jsx(FieldValidationError_default, { error, testId }) : null,
|
|
112
|
-
label: showLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
113
|
-
label,
|
|
114
|
-
showTestIdCopyButton != null ? showTestIdCopyButton : /* @__PURE__ */ jsx(FieldCopyTestIdButton_default, { testId })
|
|
115
|
-
] }) : null
|
|
118
|
+
}
|
|
116
119
|
}, clearableProps)
|
|
117
120
|
);
|
|
118
121
|
};
|
|
@@ -125,4 +128,4 @@ export {
|
|
|
125
128
|
Input_default,
|
|
126
129
|
Input_default2
|
|
127
130
|
};
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
131
|
+
//# sourceMappingURL=chunk-3Q3IUEGL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Input/Input.tsx","../src/Input/index.ts"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { InputProps as HeroInputProps } from '@heroui/input';\nimport type { ReactNode } from 'react';\nimport type { InputValueTransform } from '../hooks';\n\nimport { Input as HeroInput } from '@heroui/input';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { useInputValueDebounce, useUniformField } from '../hooks';\n\n// input variants\nexport const inputVariants = tv({\n slots: {\n /** wrapper around the whole input */\n base: '',\n /** clear button */\n clearButton: '',\n /** actual input element */\n input: '',\n /** inner wrapper (HeroUI inputWrapper slot) */\n inputWrapper: 'bg-content1 group-data-[focus=true]:border-focus',\n },\n});\n\ntype VariantProps = TVProps<typeof inputVariants>;\ntype ClassName = TVClassName<typeof inputVariants>;\n\nexport interface InputProps extends VariantProps {\n /** CSS class name */\n className?: ClassName;\n /** shows clear button when input has value */\n clearable?: boolean;\n /** debounce delay in milliseconds for form state updates (default: 300ms) */\n debounceDelay?: number;\n /** input field is disabled */\n disabled?: boolean;\n /** added content to the end of the input Field. */\n endContent?: ReactNode;\n /** form field label (set to false to disable label) */\n label?: string | false;\n /** form field name */\n name: string;\n /** callback that is fired when the value is cleared */\n onClear?: () => void;\n /** form field placeholder */\n placeholder?: string;\n /** size of the input */\n size?: 'sm' | 'md' | 'lg';\n /** content added to the start of the input field */\n startContent?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** allows disentangled display and form values for a field */\n transform?: InputValueTransform;\n /** input type */\n type?: 'number' | 'password';\n}\n\n/**\n * Input component based on [HeroUI Input](https://www.heroui.com//docs/components/input)\n */\nconst Input = ({\n className: _className = undefined,\n clearable = false,\n debounceDelay = 300,\n endContent = undefined,\n name,\n onClear = undefined,\n placeholder = ' ',\n size = undefined,\n startContent = undefined,\n transform = undefined,\n type = undefined,\n ...uniformFieldProps\n}: InputProps) => {\n const {\n disabled,\n field: {\n onChange: fieldOnChange,\n onBlur: fieldOnBlur,\n value: fieldValue,\n ref,\n },\n errorMessage,\n invalid,\n label,\n required,\n testId,\n resetField,\n } = useUniformField({ name, ...uniformFieldProps });\n\n // Use hook that provides debounced onChange and enhanced blur handling\n const { onChange, onBlur, value } = useInputValueDebounce({\n debounceDelay,\n onBlur: fieldOnBlur,\n onChange: fieldOnChange,\n transform,\n type,\n value: fieldValue,\n });\n\n // If input is clearable add props for clearing input value\n const clearableProps: Pick<HeroInputProps, 'isClearable' | 'onClear'> =\n clearable\n ? {\n isClearable: true,\n onClear: () => {\n // if field had initial value we do not reset it\n // to that value, but clear it instead\n resetField(name, { defaultValue: null });\n // if onClear cb provided we call it\n if (onClear) {\n onClear();\n }\n },\n }\n : {};\n\n // classNames from slots\n const variants = inputVariants();\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroInput\n ref={ref}\n data-testid={testId}\n endContent={endContent}\n errorMessage={errorMessage}\n id={testId}\n isDisabled={disabled}\n isInvalid={invalid}\n isRequired={required}\n label={label}\n labelPlacement=\"outside\"\n name={name}\n onBlur={onBlur}\n onChange={onChange}\n placeholder={placeholder}\n radius=\"sm\"\n size={size}\n startContent={startContent}\n type={type}\n // @ts-expect-error can be number for input type number\n value={value}\n variant=\"bordered\"\n classNames={{\n base: classNames.base,\n clearButton: classNames.clearButton,\n // set padding to 0 for error message exit animation\n helperWrapper: 'p-0',\n input: classNames.input,\n inputWrapper: classNames.inputWrapper,\n }}\n {...clearableProps}\n />\n );\n};\n\nexport default Input;\n","import Input from './Input';\n\nexport type { InputProps } from './Input';\n\nexport { Input };\n\nexport default Input;\n"],"mappings":";;;;;;;;;;;;AAKA,SAAS,SAAS,iBAAiB;AAEnC,SAAS,IAAI,4BAA4B;AAqHrC;AAhHG,IAAM,gBAAgB,GAAG;AAAA,EAC9B,OAAO;AAAA;AAAA,IAEL,MAAM;AAAA;AAAA,IAEN,aAAa;AAAA;AAAA,IAEb,OAAO;AAAA;AAAA,IAEP,cAAc;AAAA,EAChB;AACF,CAAC;AAuCD,IAAM,QAAQ,CAAC,OAaG;AAbH,eACb;AAAA,eAAW,aAAa;AAAA,IACxB,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,IACd,OAAO;AAAA,IACP,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,OAAO;AAAA,EAzET,IA8De,IAYV,8BAZU,IAYV;AAAA,IAXH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,gBAAgB,iBAAE,QAAS,kBAAmB;AAGlD,QAAM,EAAE,UAAU,QAAQ,MAAM,IAAI,sBAAsB;AAAA,IACxD;AAAA,IACA,QAAQ;AAAA,IACR,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EACT,CAAC;AAGD,QAAM,iBACJ,YACI;AAAA,IACE,aAAa;AAAA,IACb,SAAS,MAAM;AAGb,iBAAW,MAAM,EAAE,cAAc,KAAK,CAAC;AAEvC,UAAI,SAAS;AACX,gBAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,IACA,CAAC;AAGP,QAAM,WAAW,cAAc;AAC/B,QAAM,aAAa,qBAAqB,UAAU,YAAY,MAAM;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA,IAAI;AAAA,MACJ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ;AAAA,MACA,gBAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA,SAAQ;AAAA,MACR,YAAY;AAAA,QACV,MAAM,WAAW;AAAA,QACjB,aAAa,WAAW;AAAA;AAAA,QAExB,eAAe;AAAA,QACf,OAAO,WAAW;AAAA,QAClB,cAAc,WAAW;AAAA,MAC3B;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,IAAO,gBAAQ;;;ACzJf,IAAOA,iBAAQ;","names":["Input_default"]}
|