@tipp/ui 1.4.11 → 1.4.12
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/atoms/field-error-wrapper.js +2 -2
- package/dist/atoms/form.cjs +88 -11
- package/dist/atoms/form.cjs.map +1 -1
- package/dist/atoms/form.d.cts +3 -1
- package/dist/atoms/form.d.ts +3 -1
- package/dist/atoms/form.js +3 -1
- package/dist/atoms/index.cjs +34 -5
- package/dist/atoms/index.cjs.map +1 -1
- package/dist/atoms/index.d.cts +1 -1
- package/dist/atoms/index.d.ts +1 -1
- package/dist/atoms/index.js +55 -55
- package/dist/atoms/pagination.js +2 -2
- package/dist/chunk-32VPQ7D7.js +115 -0
- package/dist/chunk-32VPQ7D7.js.map +1 -0
- package/dist/chunk-5AONIQFL.js +109 -0
- package/dist/chunk-5AONIQFL.js.map +1 -0
- package/dist/chunk-6EZF7NBC.js +164 -0
- package/dist/chunk-6EZF7NBC.js.map +1 -0
- package/dist/chunk-6IGZEBJG.js +112 -0
- package/dist/chunk-6IGZEBJG.js.map +1 -0
- package/dist/chunk-7P3RJ3PX.js +114 -0
- package/dist/chunk-7P3RJ3PX.js.map +1 -0
- package/dist/chunk-BH6Y4UOA.js +164 -0
- package/dist/chunk-BH6Y4UOA.js.map +1 -0
- package/dist/chunk-EYX7O5YA.js +111 -0
- package/dist/chunk-EYX7O5YA.js.map +1 -0
- package/dist/chunk-FVT3CWDP.js +340 -0
- package/dist/chunk-FVT3CWDP.js.map +1 -0
- package/dist/chunk-FXPW5E3O.js +169 -0
- package/dist/chunk-FXPW5E3O.js.map +1 -0
- package/dist/chunk-GFYZHWFM.js +117 -0
- package/dist/chunk-GFYZHWFM.js.map +1 -0
- package/dist/chunk-GVVNEQAM.js +114 -0
- package/dist/chunk-GVVNEQAM.js.map +1 -0
- package/dist/chunk-HS4UMG25.js +60 -0
- package/dist/chunk-HS4UMG25.js.map +1 -0
- package/dist/chunk-IFONY3P4.js +83 -0
- package/dist/chunk-IFONY3P4.js.map +1 -0
- package/dist/chunk-IH5KYNBX.js +117 -0
- package/dist/chunk-IH5KYNBX.js.map +1 -0
- package/dist/chunk-IJRCXNT4.js +340 -0
- package/dist/chunk-IJRCXNT4.js.map +1 -0
- package/dist/chunk-JOQA4635.js +110 -0
- package/dist/chunk-JOQA4635.js.map +1 -0
- package/dist/chunk-KFUQSMZY.js +340 -0
- package/dist/chunk-KFUQSMZY.js.map +1 -0
- package/dist/chunk-KKEXBKSB.js +112 -0
- package/dist/chunk-KKEXBKSB.js.map +1 -0
- package/dist/chunk-KQ75QB4F.js +340 -0
- package/dist/chunk-KQ75QB4F.js.map +1 -0
- package/dist/chunk-LMDAXWJG.js +192 -0
- package/dist/chunk-LMDAXWJG.js.map +1 -0
- package/dist/chunk-LZCKTU33.js +109 -0
- package/dist/chunk-LZCKTU33.js.map +1 -0
- package/dist/chunk-M3XIYHN4.js +340 -0
- package/dist/chunk-M3XIYHN4.js.map +1 -0
- package/dist/chunk-MOAXPZLZ.js +114 -0
- package/dist/chunk-MOAXPZLZ.js.map +1 -0
- package/dist/chunk-NCJ7W6Q6.js +111 -0
- package/dist/chunk-NCJ7W6Q6.js.map +1 -0
- package/dist/chunk-T4CFVC4D.js +83 -0
- package/dist/chunk-T4CFVC4D.js.map +1 -0
- package/dist/chunk-T5SEG6AS.js +164 -0
- package/dist/chunk-T5SEG6AS.js.map +1 -0
- package/dist/chunk-TJKYEERY.js +114 -0
- package/dist/chunk-TJKYEERY.js.map +1 -0
- package/dist/chunk-TOBTSM5I.js +63 -0
- package/dist/chunk-TOBTSM5I.js.map +1 -0
- package/dist/chunk-UGS3D4GN.js +111 -0
- package/dist/chunk-UGS3D4GN.js.map +1 -0
- package/dist/chunk-UNKNG6YR.js +340 -0
- package/dist/chunk-UNKNG6YR.js.map +1 -0
- package/dist/chunk-V2PH6RFH.js +164 -0
- package/dist/chunk-V2PH6RFH.js.map +1 -0
- package/dist/chunk-W3QLZMC4.js +192 -0
- package/dist/chunk-W3QLZMC4.js.map +1 -0
- package/dist/chunk-WLRX3IFJ.js +110 -0
- package/dist/chunk-WLRX3IFJ.js.map +1 -0
- package/dist/chunk-WX4S7KAG.js +109 -0
- package/dist/chunk-WX4S7KAG.js.map +1 -0
- package/dist/chunk-YNIACSWN.js +164 -0
- package/dist/chunk-YNIACSWN.js.map +1 -0
- package/dist/chunk-YRHQKIRO.js +117 -0
- package/dist/chunk-YRHQKIRO.js.map +1 -0
- package/dist/index.cjs +34 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +4 -7
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +71 -71
- package/dist/molecules/date-picker/index.js +2 -2
- package/dist/molecules/expand-table/index.js +24 -24
- package/dist/molecules/expand-table/row.js +22 -22
- package/dist/molecules/form.cjs +218 -0
- package/dist/molecules/form.cjs.map +1 -0
- package/dist/molecules/form.d.cts +22 -0
- package/dist/molecules/form.d.ts +22 -0
- package/dist/molecules/form.js +10 -0
- package/dist/molecules/form.js.map +1 -0
- package/dist/molecules/index.js +30 -30
- package/dist/molecules/learning-post.js +3 -3
- package/dist/molecules/navigation.js +23 -23
- package/dist/molecules/stepper.js +3 -3
- package/dist/molecules/tag-selector.js +23 -23
- package/package.json +1 -1
- package/src/atoms/index.ts +1 -1
- package/src/molecules/form.tsx +122 -0
- package/src/atoms/form.tsx +0 -72
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/molecules/form.tsx","../../src/atoms/heading.tsx","../../src/atoms/typo.tsx"],"sourcesContent":["import * as RadixForm from '@radix-ui/react-form';\nimport { createContext, forwardRef, useContext } from 'react';\nimport type { HeadingProps } from '@radix-ui/themes';\nimport { Heading } from '../atoms/heading';\nimport { Typo } from '../atoms/typo';\n\nconst Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Root\n {...rest}\n className={`FormRoot ${className || ''}`}\n ref={ref}\n >\n {children}\n </RadixForm.Root>\n );\n }\n);\n\nRoot.displayName = 'FORM_ROOT';\n\ntype FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };\n\nconst FieldContext = createContext<FormFieldProps>({\n name: '',\n});\n\nconst Field = forwardRef<HTMLDivElement, FormFieldProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Field\n {...rest}\n className={`FormField ${className || ''}`}\n ref={ref}\n >\n <FieldContext.Provider value={rest}>{children}</FieldContext.Provider>\n </RadixForm.Field>\n );\n }\n);\nField.displayName = 'FORM_FIELD';\n\ntype LabelProps = RadixForm.FormLabelProps & {\n /** label의 타입을 지정 */\n variant?: 'title' | 'body';\n};\n\nfunction HeadingLabel(props: HeadingProps): React.ReactElement {\n return (\n <Heading variant=\"heading5\" {...props}>\n {props.children}\n </Heading>\n );\n}\n\nconst Label = forwardRef<HTMLLabelElement, LabelProps>(\n ({ children, className, variant = 'body', ...rest }, ref) => {\n const Comp = variant === 'title' ? HeadingLabel : Typo;\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Label\n {...rest}\n asChild\n className={`FormLabel ${className || ''}`}\n ref={ref}\n >\n <Comp>\n {children}\n {fieldProps.required ? (\n <Typo as=\"span\" color=\"tomato\">\n {` *`}\n </Typo>\n ) : null}\n </Comp>\n </RadixForm.Label>\n );\n }\n);\nLabel.displayName = 'FORM_Label';\n\nconst Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <RadixForm.Message\n {...rest}\n asChild\n className={`FormMessage ${className || ''}`}\n ref={ref}\n >\n <Typo color=\"red\">{children}</Typo>\n </RadixForm.Message>\n );\n }\n);\nMessage.displayName = 'FORM_Message';\n\ntype ControlProps = Omit<RadixForm.FormControlProps, 'required'>;\nconst Control = forwardRef<HTMLInputElement, ControlProps>(\n ({ className, ...rest }, ref) => {\n const fieldProps = useContext(FieldContext);\n return (\n <RadixForm.Control\n {...rest}\n className={`FormControl ${className || ''}`}\n ref={ref}\n required={fieldProps.required}\n />\n );\n }\n);\nControl.displayName = 'FORM_Control';\n\nexport const Form = {\n Root,\n Field,\n Label,\n Message,\n ValidityState,\n Control: RadixForm.Control,\n Submit: RadixForm.Submit,\n};\n","import {\n Heading as RadixHeading,\n type HeadingProps as RadixHeadingProps,\n} from '@radix-ui/themes';\nimport { useMemo } from 'react';\n\nexport { Heading as RadixHeading } from '@radix-ui/themes';\n\nexport type HeadingProps = RadixHeadingProps & {\n variant?: 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5';\n};\n\nexport function Heading(props: HeadingProps): React.ReactElement {\n const { size, children, variant, ...rest } = props;\n const radixSize = useMemo<RadixHeadingProps['size']>(() => {\n switch (variant) {\n case 'heading1':\n return '7';\n case 'heading2':\n return '6';\n case 'heading3':\n return '5';\n case 'heading4':\n return '4';\n case 'heading5':\n return '3';\n default:\n return size;\n }\n }, [size, variant]);\n\n return (\n <RadixHeading {...rest} size={radixSize}>\n {children}\n </RadixHeading>\n );\n}\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\n\nexport type TypoProps = RadixTextProps & {\n variant?: 'body' | 'caption' | 'subtitle';\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactElement => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n switch (variant) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n"],"mappings":"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","names":["import_react","import_themes","Heading","RadixHeading","import_themes","import_react","import_jsx_runtime","RadixText","import_jsx_runtime","Root","Field","Heading","Label","Message","Control"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as RadixForm from '@radix-ui/react-form';
|
|
3
|
+
|
|
4
|
+
declare const Form: {
|
|
5
|
+
Root: react.ForwardRefExoticComponent<RadixForm.FormProps & react.RefAttributes<HTMLFormElement>>;
|
|
6
|
+
Field: react.ForwardRefExoticComponent<RadixForm.FormFieldProps & {
|
|
7
|
+
required?: boolean | undefined;
|
|
8
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
Label: react.ForwardRefExoticComponent<RadixForm.FormLabelProps & {
|
|
10
|
+
/** label의 타입을 지정 */
|
|
11
|
+
variant?: "title" | "body" | undefined;
|
|
12
|
+
} & react.RefAttributes<HTMLLabelElement>>;
|
|
13
|
+
Message: react.ForwardRefExoticComponent<RadixForm.FormMessageProps & react.RefAttributes<HTMLSpanElement>>;
|
|
14
|
+
ValidityState: {
|
|
15
|
+
new (): ValidityState;
|
|
16
|
+
prototype: ValidityState;
|
|
17
|
+
};
|
|
18
|
+
Control: react.ForwardRefExoticComponent<RadixForm.FormControlProps & react.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
Submit: react.ForwardRefExoticComponent<RadixForm.FormSubmitProps & react.RefAttributes<HTMLButtonElement>>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { Form };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as RadixForm from '@radix-ui/react-form';
|
|
3
|
+
|
|
4
|
+
declare const Form: {
|
|
5
|
+
Root: react.ForwardRefExoticComponent<RadixForm.FormProps & react.RefAttributes<HTMLFormElement>>;
|
|
6
|
+
Field: react.ForwardRefExoticComponent<RadixForm.FormFieldProps & {
|
|
7
|
+
required?: boolean | undefined;
|
|
8
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
Label: react.ForwardRefExoticComponent<RadixForm.FormLabelProps & {
|
|
10
|
+
/** label의 타입을 지정 */
|
|
11
|
+
variant?: "title" | "body" | undefined;
|
|
12
|
+
} & react.RefAttributes<HTMLLabelElement>>;
|
|
13
|
+
Message: react.ForwardRefExoticComponent<RadixForm.FormMessageProps & react.RefAttributes<HTMLSpanElement>>;
|
|
14
|
+
ValidityState: {
|
|
15
|
+
new (): ValidityState;
|
|
16
|
+
prototype: ValidityState;
|
|
17
|
+
};
|
|
18
|
+
Control: react.ForwardRefExoticComponent<RadixForm.FormControlProps & react.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
Submit: react.ForwardRefExoticComponent<RadixForm.FormSubmitProps & react.RefAttributes<HTMLButtonElement>>;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { Form };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/molecules/index.js
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
1
|
import "../chunk-6ZAP2Q6K.js";
|
|
2
2
|
import {
|
|
3
3
|
DatePicker
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-2QDLO3YM.js";
|
|
5
5
|
import {
|
|
6
6
|
ExpandTable,
|
|
7
7
|
createColumnHelper
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-BSG2Q4XC.js";
|
|
9
9
|
import "../chunk-PCWEW2UL.js";
|
|
10
|
-
import "../chunk-NDUKDKGB.js";
|
|
11
10
|
import {
|
|
12
11
|
DotNavigation
|
|
13
12
|
} from "../chunk-EDTEVEJW.js";
|
|
14
13
|
import {
|
|
15
14
|
LearningPost
|
|
16
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-YNIACSWN.js";
|
|
16
|
+
import "../chunk-BVNXAZ4W.js";
|
|
17
17
|
import {
|
|
18
18
|
Navigation
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-OCINOC2X.js";
|
|
20
20
|
import {
|
|
21
21
|
Stepper
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-PF5CPG6R.js";
|
|
23
23
|
import {
|
|
24
24
|
TagSelector
|
|
25
|
-
} from "../chunk-
|
|
26
|
-
import "../chunk-BVNXAZ4W.js";
|
|
25
|
+
} from "../chunk-KQ75QB4F.js";
|
|
27
26
|
import "../chunk-BSTJBBEX.js";
|
|
27
|
+
import "../chunk-NDUKDKGB.js";
|
|
28
28
|
import "../chunk-KTVZ4KLX.js";
|
|
29
|
+
import "../chunk-MOAXPZLZ.js";
|
|
30
|
+
import "../chunk-ILRUXI2E.js";
|
|
31
|
+
import "../chunk-JPIZP2PZ.js";
|
|
29
32
|
import "../chunk-CYYWMYE7.js";
|
|
33
|
+
import "../chunk-3JRNKBMN.js";
|
|
34
|
+
import "../chunk-HYITAA4J.js";
|
|
30
35
|
import "../chunk-5H3YPCZK.js";
|
|
31
36
|
import "../chunk-FR2GDOU2.js";
|
|
32
37
|
import "../chunk-74DX4CU7.js";
|
|
33
38
|
import "../chunk-OYM4XCHQ.js";
|
|
34
39
|
import "../chunk-YJ7ZFOYL.js";
|
|
35
40
|
import "../chunk-5ZITU5L7.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-365QMK4D.js";
|
|
42
|
+
import "../chunk-YO3BQW6S.js";
|
|
38
43
|
import "../chunk-6IVCARWS.js";
|
|
39
44
|
import "../chunk-6DJOIRMF.js";
|
|
40
45
|
import "../chunk-FPD73OHW.js";
|
|
41
46
|
import "../chunk-ZKZDVS7G.js";
|
|
42
47
|
import "../chunk-MUNMDHRF.js";
|
|
43
48
|
import "../chunk-TVDKGMBI.js";
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-HYITAA4J.js";
|
|
49
|
+
import "../chunk-O3T3TM3V.js";
|
|
46
50
|
import "../chunk-XQOL7UBI.js";
|
|
47
51
|
import "../chunk-TULWX7D6.js";
|
|
48
52
|
import "../chunk-SIM6HKVI.js";
|
|
49
|
-
import "../chunk-
|
|
53
|
+
import "../chunk-IM7DSIK2.js";
|
|
54
|
+
import "../chunk-O3DNDMV3.js";
|
|
50
55
|
import "../chunk-5AVBYDPB.js";
|
|
51
|
-
import "../chunk-
|
|
52
|
-
import "../chunk-
|
|
56
|
+
import "../chunk-UC627KGO.js";
|
|
57
|
+
import "../chunk-4WFMOFN2.js";
|
|
58
|
+
import "../chunk-WKFZ5MMN.js";
|
|
59
|
+
import "../chunk-ACVANQJ4.js";
|
|
53
60
|
import "../chunk-2DZ2Y3JI.js";
|
|
54
|
-
import "../chunk-
|
|
61
|
+
import "../chunk-QDZS4B6A.js";
|
|
62
|
+
import "../chunk-52MVZ6AN.js";
|
|
55
63
|
import "../chunk-25HMMI7R.js";
|
|
56
|
-
import "../chunk-2CVXGGI5.js";
|
|
57
64
|
import "../chunk-EGEQY3KT.js";
|
|
58
65
|
import "../chunk-HK224ADT.js";
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
66
|
+
import "../chunk-MIMJ7LON.js";
|
|
67
|
+
import "../chunk-IQEEPHOY.js";
|
|
68
|
+
import "../chunk-LHCDPZ5E.js";
|
|
61
69
|
import "../chunk-OHMOP5PV.js";
|
|
62
70
|
import "../chunk-LZJR77Q2.js";
|
|
63
71
|
import "../chunk-Q37G2GS6.js";
|
|
64
72
|
import "../chunk-VTJZMOSP.js";
|
|
65
73
|
import "../chunk-BDVTRPXG.js";
|
|
66
|
-
import "../chunk-
|
|
67
|
-
import "../chunk-
|
|
68
|
-
import "../chunk-
|
|
69
|
-
import "../chunk-ACVANQJ4.js";
|
|
70
|
-
import "../chunk-52MVZ6AN.js";
|
|
74
|
+
import "../chunk-3SSSCLJ5.js";
|
|
75
|
+
import "../chunk-EWD4AO5N.js";
|
|
76
|
+
import "../chunk-YGL6SWKN.js";
|
|
71
77
|
import "../chunk-4Y5BEXVN.js";
|
|
72
78
|
import "../chunk-U7JPP7WJ.js";
|
|
73
79
|
import "../chunk-LQY4RKWI.js";
|
|
74
80
|
import "../chunk-ZD7MNMED.js";
|
|
75
81
|
import "../chunk-B6XJN6EC.js";
|
|
76
82
|
import "../chunk-UVKNLJDZ.js";
|
|
77
|
-
import "../chunk-MIMJ7LON.js";
|
|
78
|
-
import "../chunk-IQEEPHOY.js";
|
|
79
|
-
import "../chunk-LHCDPZ5E.js";
|
|
80
83
|
import "../chunk-66C4U3BG.js";
|
|
81
84
|
import "../chunk-J242TTFH.js";
|
|
82
85
|
import "../chunk-EAXUQEO5.js";
|
|
83
86
|
import "../chunk-YJCCE5WP.js";
|
|
84
|
-
import "../chunk-3SSSCLJ5.js";
|
|
85
|
-
import "../chunk-EWD4AO5N.js";
|
|
86
|
-
import "../chunk-YGL6SWKN.js";
|
|
87
87
|
import "../chunk-N552FDTV.js";
|
|
88
88
|
export {
|
|
89
89
|
DatePicker,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LearningPost
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-YNIACSWN.js";
|
|
4
4
|
import "../chunk-BVNXAZ4W.js";
|
|
5
|
+
import "../chunk-52MVZ6AN.js";
|
|
5
6
|
import "../chunk-25HMMI7R.js";
|
|
6
7
|
import "../chunk-EGEQY3KT.js";
|
|
7
8
|
import "../chunk-HK224ADT.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-EWD4AO5N.js";
|
|
9
10
|
import "../chunk-4Y5BEXVN.js";
|
|
10
11
|
import "../chunk-U7JPP7WJ.js";
|
|
11
12
|
import "../chunk-LQY4RKWI.js";
|
|
12
13
|
import "../chunk-EAXUQEO5.js";
|
|
13
|
-
import "../chunk-EWD4AO5N.js";
|
|
14
14
|
import "../chunk-N552FDTV.js";
|
|
15
15
|
export {
|
|
16
16
|
LearningPost
|
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Navigation
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-OCINOC2X.js";
|
|
4
4
|
import "../chunk-KTVZ4KLX.js";
|
|
5
|
+
import "../chunk-MOAXPZLZ.js";
|
|
6
|
+
import "../chunk-ILRUXI2E.js";
|
|
7
|
+
import "../chunk-JPIZP2PZ.js";
|
|
5
8
|
import "../chunk-CYYWMYE7.js";
|
|
9
|
+
import "../chunk-3JRNKBMN.js";
|
|
10
|
+
import "../chunk-HYITAA4J.js";
|
|
6
11
|
import "../chunk-5H3YPCZK.js";
|
|
7
12
|
import "../chunk-FR2GDOU2.js";
|
|
8
13
|
import "../chunk-74DX4CU7.js";
|
|
9
14
|
import "../chunk-OYM4XCHQ.js";
|
|
10
15
|
import "../chunk-YJ7ZFOYL.js";
|
|
11
16
|
import "../chunk-5ZITU5L7.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-365QMK4D.js";
|
|
18
|
+
import "../chunk-YO3BQW6S.js";
|
|
14
19
|
import "../chunk-6IVCARWS.js";
|
|
15
20
|
import "../chunk-6DJOIRMF.js";
|
|
16
21
|
import "../chunk-FPD73OHW.js";
|
|
17
22
|
import "../chunk-ZKZDVS7G.js";
|
|
18
23
|
import "../chunk-MUNMDHRF.js";
|
|
19
24
|
import "../chunk-TVDKGMBI.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-HYITAA4J.js";
|
|
25
|
+
import "../chunk-O3T3TM3V.js";
|
|
22
26
|
import "../chunk-XQOL7UBI.js";
|
|
23
27
|
import "../chunk-TULWX7D6.js";
|
|
24
28
|
import "../chunk-SIM6HKVI.js";
|
|
25
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-IM7DSIK2.js";
|
|
30
|
+
import "../chunk-O3DNDMV3.js";
|
|
26
31
|
import "../chunk-5AVBYDPB.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-UC627KGO.js";
|
|
33
|
+
import "../chunk-4WFMOFN2.js";
|
|
34
|
+
import "../chunk-WKFZ5MMN.js";
|
|
35
|
+
import "../chunk-ACVANQJ4.js";
|
|
29
36
|
import "../chunk-2DZ2Y3JI.js";
|
|
30
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-QDZS4B6A.js";
|
|
38
|
+
import "../chunk-52MVZ6AN.js";
|
|
31
39
|
import "../chunk-25HMMI7R.js";
|
|
32
|
-
import "../chunk-2CVXGGI5.js";
|
|
33
40
|
import "../chunk-EGEQY3KT.js";
|
|
34
41
|
import "../chunk-HK224ADT.js";
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-MIMJ7LON.js";
|
|
43
|
+
import "../chunk-IQEEPHOY.js";
|
|
44
|
+
import "../chunk-LHCDPZ5E.js";
|
|
37
45
|
import "../chunk-OHMOP5PV.js";
|
|
38
46
|
import "../chunk-LZJR77Q2.js";
|
|
39
47
|
import "../chunk-Q37G2GS6.js";
|
|
40
48
|
import "../chunk-VTJZMOSP.js";
|
|
41
49
|
import "../chunk-BDVTRPXG.js";
|
|
42
|
-
import "../chunk-
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-ACVANQJ4.js";
|
|
46
|
-
import "../chunk-52MVZ6AN.js";
|
|
50
|
+
import "../chunk-3SSSCLJ5.js";
|
|
51
|
+
import "../chunk-EWD4AO5N.js";
|
|
52
|
+
import "../chunk-YGL6SWKN.js";
|
|
47
53
|
import "../chunk-4Y5BEXVN.js";
|
|
48
54
|
import "../chunk-U7JPP7WJ.js";
|
|
49
55
|
import "../chunk-LQY4RKWI.js";
|
|
50
56
|
import "../chunk-ZD7MNMED.js";
|
|
51
57
|
import "../chunk-B6XJN6EC.js";
|
|
52
58
|
import "../chunk-UVKNLJDZ.js";
|
|
53
|
-
import "../chunk-MIMJ7LON.js";
|
|
54
|
-
import "../chunk-IQEEPHOY.js";
|
|
55
|
-
import "../chunk-LHCDPZ5E.js";
|
|
56
59
|
import "../chunk-66C4U3BG.js";
|
|
57
60
|
import "../chunk-J242TTFH.js";
|
|
58
61
|
import "../chunk-EAXUQEO5.js";
|
|
59
62
|
import "../chunk-YJCCE5WP.js";
|
|
60
|
-
import "../chunk-3SSSCLJ5.js";
|
|
61
|
-
import "../chunk-EWD4AO5N.js";
|
|
62
|
-
import "../chunk-YGL6SWKN.js";
|
|
63
63
|
import "../chunk-N552FDTV.js";
|
|
64
64
|
export {
|
|
65
65
|
Navigation
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Stepper
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-25HMMI7R.js";
|
|
3
|
+
} from "../chunk-PF5CPG6R.js";
|
|
5
4
|
import "../chunk-52MVZ6AN.js";
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-25HMMI7R.js";
|
|
7
6
|
import "../chunk-3SSSCLJ5.js";
|
|
7
|
+
import "../chunk-66C4U3BG.js";
|
|
8
8
|
import "../chunk-N552FDTV.js";
|
|
9
9
|
export {
|
|
10
10
|
Stepper
|
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TagSelector
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-KQ75QB4F.js";
|
|
4
4
|
import "../chunk-KTVZ4KLX.js";
|
|
5
|
+
import "../chunk-MOAXPZLZ.js";
|
|
6
|
+
import "../chunk-ILRUXI2E.js";
|
|
7
|
+
import "../chunk-JPIZP2PZ.js";
|
|
5
8
|
import "../chunk-CYYWMYE7.js";
|
|
9
|
+
import "../chunk-3JRNKBMN.js";
|
|
10
|
+
import "../chunk-HYITAA4J.js";
|
|
6
11
|
import "../chunk-5H3YPCZK.js";
|
|
7
12
|
import "../chunk-FR2GDOU2.js";
|
|
8
13
|
import "../chunk-74DX4CU7.js";
|
|
9
14
|
import "../chunk-OYM4XCHQ.js";
|
|
10
15
|
import "../chunk-YJ7ZFOYL.js";
|
|
11
16
|
import "../chunk-5ZITU5L7.js";
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-365QMK4D.js";
|
|
18
|
+
import "../chunk-YO3BQW6S.js";
|
|
14
19
|
import "../chunk-6IVCARWS.js";
|
|
15
20
|
import "../chunk-6DJOIRMF.js";
|
|
16
21
|
import "../chunk-FPD73OHW.js";
|
|
17
22
|
import "../chunk-ZKZDVS7G.js";
|
|
18
23
|
import "../chunk-MUNMDHRF.js";
|
|
19
24
|
import "../chunk-TVDKGMBI.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-HYITAA4J.js";
|
|
25
|
+
import "../chunk-O3T3TM3V.js";
|
|
22
26
|
import "../chunk-XQOL7UBI.js";
|
|
23
27
|
import "../chunk-TULWX7D6.js";
|
|
24
28
|
import "../chunk-SIM6HKVI.js";
|
|
25
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-IM7DSIK2.js";
|
|
30
|
+
import "../chunk-O3DNDMV3.js";
|
|
26
31
|
import "../chunk-5AVBYDPB.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-UC627KGO.js";
|
|
33
|
+
import "../chunk-4WFMOFN2.js";
|
|
34
|
+
import "../chunk-WKFZ5MMN.js";
|
|
35
|
+
import "../chunk-ACVANQJ4.js";
|
|
29
36
|
import "../chunk-2DZ2Y3JI.js";
|
|
30
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-QDZS4B6A.js";
|
|
38
|
+
import "../chunk-52MVZ6AN.js";
|
|
31
39
|
import "../chunk-25HMMI7R.js";
|
|
32
|
-
import "../chunk-2CVXGGI5.js";
|
|
33
40
|
import "../chunk-EGEQY3KT.js";
|
|
34
41
|
import "../chunk-HK224ADT.js";
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-MIMJ7LON.js";
|
|
43
|
+
import "../chunk-IQEEPHOY.js";
|
|
44
|
+
import "../chunk-LHCDPZ5E.js";
|
|
37
45
|
import "../chunk-OHMOP5PV.js";
|
|
38
46
|
import "../chunk-LZJR77Q2.js";
|
|
39
47
|
import "../chunk-Q37G2GS6.js";
|
|
40
48
|
import "../chunk-VTJZMOSP.js";
|
|
41
49
|
import "../chunk-BDVTRPXG.js";
|
|
42
|
-
import "../chunk-
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-ACVANQJ4.js";
|
|
46
|
-
import "../chunk-52MVZ6AN.js";
|
|
50
|
+
import "../chunk-3SSSCLJ5.js";
|
|
51
|
+
import "../chunk-EWD4AO5N.js";
|
|
52
|
+
import "../chunk-YGL6SWKN.js";
|
|
47
53
|
import "../chunk-4Y5BEXVN.js";
|
|
48
54
|
import "../chunk-U7JPP7WJ.js";
|
|
49
55
|
import "../chunk-LQY4RKWI.js";
|
|
50
56
|
import "../chunk-ZD7MNMED.js";
|
|
51
57
|
import "../chunk-B6XJN6EC.js";
|
|
52
58
|
import "../chunk-UVKNLJDZ.js";
|
|
53
|
-
import "../chunk-MIMJ7LON.js";
|
|
54
|
-
import "../chunk-IQEEPHOY.js";
|
|
55
|
-
import "../chunk-LHCDPZ5E.js";
|
|
56
59
|
import "../chunk-66C4U3BG.js";
|
|
57
60
|
import "../chunk-J242TTFH.js";
|
|
58
61
|
import "../chunk-EAXUQEO5.js";
|
|
59
62
|
import "../chunk-YJCCE5WP.js";
|
|
60
|
-
import "../chunk-3SSSCLJ5.js";
|
|
61
|
-
import "../chunk-EWD4AO5N.js";
|
|
62
|
-
import "../chunk-YGL6SWKN.js";
|
|
63
63
|
import "../chunk-N552FDTV.js";
|
|
64
64
|
export {
|
|
65
65
|
TagSelector
|
package/package.json
CHANGED
package/src/atoms/index.ts
CHANGED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import * as RadixForm from '@radix-ui/react-form';
|
|
2
|
+
import { createContext, forwardRef, useContext } from 'react';
|
|
3
|
+
import type { HeadingProps } from '@radix-ui/themes';
|
|
4
|
+
import { Heading } from '../atoms/heading';
|
|
5
|
+
import { Typo } from '../atoms/typo';
|
|
6
|
+
|
|
7
|
+
const Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(
|
|
8
|
+
({ children, className, ...rest }, ref) => {
|
|
9
|
+
return (
|
|
10
|
+
<RadixForm.Root
|
|
11
|
+
{...rest}
|
|
12
|
+
className={`FormRoot ${className || ''}`}
|
|
13
|
+
ref={ref}
|
|
14
|
+
>
|
|
15
|
+
{children}
|
|
16
|
+
</RadixForm.Root>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
Root.displayName = 'FORM_ROOT';
|
|
22
|
+
|
|
23
|
+
type FormFieldProps = RadixForm.FormFieldProps & { required?: boolean };
|
|
24
|
+
|
|
25
|
+
const FieldContext = createContext<FormFieldProps>({
|
|
26
|
+
name: '',
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const Field = forwardRef<HTMLDivElement, FormFieldProps>(
|
|
30
|
+
({ children, className, ...rest }, ref) => {
|
|
31
|
+
return (
|
|
32
|
+
<RadixForm.Field
|
|
33
|
+
{...rest}
|
|
34
|
+
className={`FormField ${className || ''}`}
|
|
35
|
+
ref={ref}
|
|
36
|
+
>
|
|
37
|
+
<FieldContext.Provider value={rest}>{children}</FieldContext.Provider>
|
|
38
|
+
</RadixForm.Field>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
Field.displayName = 'FORM_FIELD';
|
|
43
|
+
|
|
44
|
+
type LabelProps = RadixForm.FormLabelProps & {
|
|
45
|
+
/** label의 타입을 지정 */
|
|
46
|
+
variant?: 'title' | 'body';
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
function HeadingLabel(props: HeadingProps): React.ReactElement {
|
|
50
|
+
return (
|
|
51
|
+
<Heading variant="heading5" {...props}>
|
|
52
|
+
{props.children}
|
|
53
|
+
</Heading>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const Label = forwardRef<HTMLLabelElement, LabelProps>(
|
|
58
|
+
({ children, className, variant = 'body', ...rest }, ref) => {
|
|
59
|
+
const Comp = variant === 'title' ? HeadingLabel : Typo;
|
|
60
|
+
const fieldProps = useContext(FieldContext);
|
|
61
|
+
return (
|
|
62
|
+
<RadixForm.Label
|
|
63
|
+
{...rest}
|
|
64
|
+
asChild
|
|
65
|
+
className={`FormLabel ${className || ''}`}
|
|
66
|
+
ref={ref}
|
|
67
|
+
>
|
|
68
|
+
<Comp>
|
|
69
|
+
{children}
|
|
70
|
+
{fieldProps.required ? (
|
|
71
|
+
<Typo as="span" color="tomato">
|
|
72
|
+
{` *`}
|
|
73
|
+
</Typo>
|
|
74
|
+
) : null}
|
|
75
|
+
</Comp>
|
|
76
|
+
</RadixForm.Label>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
Label.displayName = 'FORM_Label';
|
|
81
|
+
|
|
82
|
+
const Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(
|
|
83
|
+
({ children, className, ...rest }, ref) => {
|
|
84
|
+
return (
|
|
85
|
+
<RadixForm.Message
|
|
86
|
+
{...rest}
|
|
87
|
+
asChild
|
|
88
|
+
className={`FormMessage ${className || ''}`}
|
|
89
|
+
ref={ref}
|
|
90
|
+
>
|
|
91
|
+
<Typo color="red">{children}</Typo>
|
|
92
|
+
</RadixForm.Message>
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
Message.displayName = 'FORM_Message';
|
|
97
|
+
|
|
98
|
+
type ControlProps = Omit<RadixForm.FormControlProps, 'required'>;
|
|
99
|
+
const Control = forwardRef<HTMLInputElement, ControlProps>(
|
|
100
|
+
({ className, ...rest }, ref) => {
|
|
101
|
+
const fieldProps = useContext(FieldContext);
|
|
102
|
+
return (
|
|
103
|
+
<RadixForm.Control
|
|
104
|
+
{...rest}
|
|
105
|
+
className={`FormControl ${className || ''}`}
|
|
106
|
+
ref={ref}
|
|
107
|
+
required={fieldProps.required}
|
|
108
|
+
/>
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
Control.displayName = 'FORM_Control';
|
|
113
|
+
|
|
114
|
+
export const Form = {
|
|
115
|
+
Root,
|
|
116
|
+
Field,
|
|
117
|
+
Label,
|
|
118
|
+
Message,
|
|
119
|
+
ValidityState,
|
|
120
|
+
Control: RadixForm.Control,
|
|
121
|
+
Submit: RadixForm.Submit,
|
|
122
|
+
};
|
package/src/atoms/form.tsx
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import * as RadixForm from '@radix-ui/react-form';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
|
|
4
|
-
const Root = forwardRef<HTMLFormElement, RadixForm.FormProps>(
|
|
5
|
-
({ children, className, ...rest }, ref) => {
|
|
6
|
-
return (
|
|
7
|
-
<RadixForm.Root
|
|
8
|
-
{...rest}
|
|
9
|
-
className={`FormRoot ${className || ''}`}
|
|
10
|
-
ref={ref}
|
|
11
|
-
>
|
|
12
|
-
{children}
|
|
13
|
-
</RadixForm.Root>
|
|
14
|
-
);
|
|
15
|
-
}
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
Root.displayName = 'FORM_ROOT';
|
|
19
|
-
|
|
20
|
-
const Field = forwardRef<HTMLDivElement, RadixForm.FormFieldProps>(
|
|
21
|
-
({ children, className, ...rest }, ref) => {
|
|
22
|
-
return (
|
|
23
|
-
<RadixForm.Field
|
|
24
|
-
{...rest}
|
|
25
|
-
className={`FormField ${className || ''}`}
|
|
26
|
-
ref={ref}
|
|
27
|
-
>
|
|
28
|
-
{children}
|
|
29
|
-
</RadixForm.Field>
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
Field.displayName = 'FORM_FIELD';
|
|
34
|
-
|
|
35
|
-
const Label = forwardRef<HTMLLabelElement, RadixForm.FormLabelProps>(
|
|
36
|
-
({ children, className, ...rest }, ref) => {
|
|
37
|
-
return (
|
|
38
|
-
<RadixForm.Label
|
|
39
|
-
{...rest}
|
|
40
|
-
className={`FormLabel ${className || ''}`}
|
|
41
|
-
ref={ref}
|
|
42
|
-
>
|
|
43
|
-
{children}
|
|
44
|
-
</RadixForm.Label>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
Label.displayName = 'FORM_Label';
|
|
49
|
-
|
|
50
|
-
const Message = forwardRef<HTMLSpanElement, RadixForm.FormMessageProps>(
|
|
51
|
-
({ children, className, ...rest }, ref) => {
|
|
52
|
-
return (
|
|
53
|
-
<RadixForm.Message
|
|
54
|
-
{...rest}
|
|
55
|
-
className={`FormMessage ${className || ''}`}
|
|
56
|
-
ref={ref}
|
|
57
|
-
>
|
|
58
|
-
{children}
|
|
59
|
-
</RadixForm.Message>
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
Message.displayName = 'FORM_Message';
|
|
64
|
-
|
|
65
|
-
export const Form = {
|
|
66
|
-
Root,
|
|
67
|
-
Field,
|
|
68
|
-
Label,
|
|
69
|
-
Message,
|
|
70
|
-
Control: RadixForm.Control,
|
|
71
|
-
Submit: RadixForm.Submit,
|
|
72
|
-
};
|