@tipp/ui 1.4.24 → 1.4.26

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.
Files changed (57) hide show
  1. package/dist/atoms/drawer.js +2 -2
  2. package/dist/atoms/index.cjs +37 -13
  3. package/dist/atoms/index.cjs.map +1 -1
  4. package/dist/atoms/index.js +18 -18
  5. package/dist/atoms/select.cjs +26 -2
  6. package/dist/atoms/select.cjs.map +1 -1
  7. package/dist/atoms/select.d.cts +9 -2
  8. package/dist/atoms/select.d.ts +9 -2
  9. package/dist/atoms/select.js +1 -1
  10. package/dist/chunk-AA46GU2O.js +59 -0
  11. package/dist/chunk-AA46GU2O.js.map +1 -0
  12. package/dist/chunk-EA4OHG4N.js +98 -0
  13. package/dist/chunk-EA4OHG4N.js.map +1 -0
  14. package/dist/chunk-JZCXPFFN.js +47 -0
  15. package/dist/chunk-JZCXPFFN.js.map +1 -0
  16. package/dist/chunk-QQTD44PM.js +49 -0
  17. package/dist/chunk-QQTD44PM.js.map +1 -0
  18. package/dist/chunk-QYTUXY23.js +41 -0
  19. package/dist/chunk-QYTUXY23.js.map +1 -0
  20. package/dist/chunk-QZ6PXWPS.js +36 -0
  21. package/dist/chunk-QZ6PXWPS.js.map +1 -0
  22. package/dist/chunk-TIPWA4O6.js +46 -0
  23. package/dist/chunk-TIPWA4O6.js.map +1 -0
  24. package/dist/chunk-UNBE7CCN.js +98 -0
  25. package/dist/chunk-UNBE7CCN.js.map +1 -0
  26. package/dist/chunk-VLEI6EVQ.js +97 -0
  27. package/dist/chunk-VLEI6EVQ.js.map +1 -0
  28. package/dist/chunk-WDIFRVLH.js +97 -0
  29. package/dist/chunk-WDIFRVLH.js.map +1 -0
  30. package/dist/chunk-XKRCZGMT.js +49 -0
  31. package/dist/chunk-XKRCZGMT.js.map +1 -0
  32. package/dist/chunk-XLLFOQLR.js +98 -0
  33. package/dist/chunk-XLLFOQLR.js.map +1 -0
  34. package/dist/chunk-Z4GDSP7H.js +59 -0
  35. package/dist/chunk-Z4GDSP7H.js.map +1 -0
  36. package/dist/chunk-ZCMYEIG5.js +98 -0
  37. package/dist/chunk-ZCMYEIG5.js.map +1 -0
  38. package/dist/index.cjs +42 -18
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.css +3 -0
  41. package/dist/index.css.map +1 -1
  42. package/dist/index.js +56 -56
  43. package/dist/molecules/date-picker/index.cjs +3 -3
  44. package/dist/molecules/date-picker/index.cjs.map +1 -1
  45. package/dist/molecules/date-picker/index.js +1 -1
  46. package/dist/molecules/expand-table/index.js +13 -13
  47. package/dist/molecules/expand-table/row.js +10 -10
  48. package/dist/molecules/index.cjs +3 -3
  49. package/dist/molecules/index.cjs.map +1 -1
  50. package/dist/molecules/index.js +22 -22
  51. package/dist/molecules/learning-post.js +2 -2
  52. package/dist/molecules/navigation.js +10 -10
  53. package/dist/molecules/stepper.js +2 -2
  54. package/dist/molecules/tag-selector.js +11 -11
  55. package/package.json +1 -1
  56. package/src/atoms/select.tsx +43 -4
  57. package/src/molecules/date-picker/index.tsx +5 -3
@@ -3,6 +3,7 @@ import {
3
3
  } from "../chunk-F44BXTHN.js";
4
4
  import "../chunk-KTVZ4KLX.js";
5
5
  import "../chunk-OHBL3CTQ.js";
6
+ import "../chunk-FR2GDOU2.js";
6
7
  import "../chunk-74DX4CU7.js";
7
8
  import "../chunk-OYM4XCHQ.js";
8
9
  import "../chunk-YJ7ZFOYL.js";
@@ -10,14 +11,15 @@ import "../chunk-5ZITU5L7.js";
10
11
  import "../chunk-EW6OPYEW.js";
11
12
  import "../chunk-VOQU7ZOV.js";
12
13
  import "../chunk-CYYWMYE7.js";
14
+ import "../chunk-6DJOIRMF.js";
13
15
  import "../chunk-FPD73OHW.js";
14
16
  import "../chunk-ZKZDVS7G.js";
15
17
  import "../chunk-MUNMDHRF.js";
16
18
  import "../chunk-TVDKGMBI.js";
17
- import "../chunk-3JRNKBMN.js";
19
+ import "../chunk-AA46GU2O.js";
18
20
  import "../chunk-HYITAA4J.js";
19
21
  import "../chunk-5H3YPCZK.js";
20
- import "../chunk-FR2GDOU2.js";
22
+ import "../chunk-XQOL7UBI.js";
21
23
  import "../chunk-TULWX7D6.js";
22
24
  import "../chunk-SIM6HKVI.js";
23
25
  import "../chunk-3GR5ZATM.js";
@@ -25,41 +27,39 @@ import "../chunk-5AVBYDPB.js";
25
27
  import "../chunk-365QMK4D.js";
26
28
  import "../chunk-YO3BQW6S.js";
27
29
  import "../chunk-6IVCARWS.js";
28
- import "../chunk-6DJOIRMF.js";
30
+ import "../chunk-2DZ2Y3JI.js";
29
31
  import "../chunk-DJN2IEY6.js";
30
32
  import "../chunk-25HMMI7R.js";
31
33
  import "../chunk-EGEQY3KT.js";
32
34
  import "../chunk-HK224ADT.js";
33
35
  import "../chunk-O3T3TM3V.js";
34
36
  import "../chunk-O3DNDMV3.js";
35
- import "../chunk-XQOL7UBI.js";
37
+ import "../chunk-OHMOP5PV.js";
36
38
  import "../chunk-LZJR77Q2.js";
37
39
  import "../chunk-Q37G2GS6.js";
38
40
  import "../chunk-VTJZMOSP.js";
39
41
  import "../chunk-2VD5Y72N.js";
40
- import "../chunk-HS4UMG25.js";
42
+ import "../chunk-UC627KGO.js";
41
43
  import "../chunk-4WFMOFN2.js";
42
44
  import "../chunk-WKFZ5MMN.js";
43
45
  import "../chunk-ACVANQJ4.js";
44
46
  import "../chunk-52MVZ6AN.js";
45
- import "../chunk-2DZ2Y3JI.js";
47
+ import "../chunk-4Y5BEXVN.js";
46
48
  import "../chunk-U7JPP7WJ.js";
49
+ import "../chunk-LQY4RKWI.js";
47
50
  import "../chunk-ZD7MNMED.js";
48
51
  import "../chunk-B6XJN6EC.js";
49
52
  import "../chunk-UVKNLJDZ.js";
50
53
  import "../chunk-MIMJ7LON.js";
51
54
  import "../chunk-IQEEPHOY.js";
52
55
  import "../chunk-LHCDPZ5E.js";
53
- import "../chunk-OHMOP5PV.js";
54
- import "../chunk-LQY4RKWI.js";
56
+ import "../chunk-F77ES5Y3.js";
55
57
  import "../chunk-J242TTFH.js";
56
58
  import "../chunk-EAXUQEO5.js";
57
59
  import "../chunk-YJCCE5WP.js";
58
60
  import "../chunk-3SSSCLJ5.js";
59
61
  import "../chunk-EWD4AO5N.js";
60
62
  import "../chunk-YGL6SWKN.js";
61
- import "../chunk-4Y5BEXVN.js";
62
- import "../chunk-F77ES5Y3.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-DTWPFSUG.js";
3
+ } from "../chunk-KVNTQ4LE.js";
4
4
  import "../chunk-25HMMI7R.js";
5
5
  import "../chunk-52MVZ6AN.js";
6
- import "../chunk-3SSSCLJ5.js";
7
6
  import "../chunk-F77ES5Y3.js";
7
+ import "../chunk-3SSSCLJ5.js";
8
8
  import "../chunk-N552FDTV.js";
9
9
  export {
10
10
  Stepper
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  TagSelector
3
- } from "../chunk-AY53GMSH.js";
3
+ } from "../chunk-XBI2YSRP.js";
4
4
  import "../chunk-KTVZ4KLX.js";
5
5
  import "../chunk-OHBL3CTQ.js";
6
+ import "../chunk-FR2GDOU2.js";
6
7
  import "../chunk-74DX4CU7.js";
7
8
  import "../chunk-OYM4XCHQ.js";
8
9
  import "../chunk-YJ7ZFOYL.js";
@@ -10,14 +11,15 @@ import "../chunk-5ZITU5L7.js";
10
11
  import "../chunk-EW6OPYEW.js";
11
12
  import "../chunk-VOQU7ZOV.js";
12
13
  import "../chunk-CYYWMYE7.js";
14
+ import "../chunk-6DJOIRMF.js";
13
15
  import "../chunk-FPD73OHW.js";
14
16
  import "../chunk-ZKZDVS7G.js";
15
17
  import "../chunk-MUNMDHRF.js";
16
18
  import "../chunk-TVDKGMBI.js";
17
- import "../chunk-3JRNKBMN.js";
19
+ import "../chunk-AA46GU2O.js";
18
20
  import "../chunk-HYITAA4J.js";
19
21
  import "../chunk-5H3YPCZK.js";
20
- import "../chunk-FR2GDOU2.js";
22
+ import "../chunk-XQOL7UBI.js";
21
23
  import "../chunk-TULWX7D6.js";
22
24
  import "../chunk-SIM6HKVI.js";
23
25
  import "../chunk-3GR5ZATM.js";
@@ -25,41 +27,39 @@ import "../chunk-5AVBYDPB.js";
25
27
  import "../chunk-365QMK4D.js";
26
28
  import "../chunk-YO3BQW6S.js";
27
29
  import "../chunk-6IVCARWS.js";
28
- import "../chunk-6DJOIRMF.js";
30
+ import "../chunk-2DZ2Y3JI.js";
29
31
  import "../chunk-DJN2IEY6.js";
30
32
  import "../chunk-25HMMI7R.js";
31
33
  import "../chunk-EGEQY3KT.js";
32
34
  import "../chunk-HK224ADT.js";
33
35
  import "../chunk-O3T3TM3V.js";
34
36
  import "../chunk-O3DNDMV3.js";
35
- import "../chunk-XQOL7UBI.js";
37
+ import "../chunk-OHMOP5PV.js";
36
38
  import "../chunk-LZJR77Q2.js";
37
39
  import "../chunk-Q37G2GS6.js";
38
40
  import "../chunk-VTJZMOSP.js";
39
41
  import "../chunk-2VD5Y72N.js";
40
- import "../chunk-HS4UMG25.js";
42
+ import "../chunk-UC627KGO.js";
41
43
  import "../chunk-4WFMOFN2.js";
42
44
  import "../chunk-WKFZ5MMN.js";
43
45
  import "../chunk-ACVANQJ4.js";
44
46
  import "../chunk-52MVZ6AN.js";
45
- import "../chunk-2DZ2Y3JI.js";
47
+ import "../chunk-4Y5BEXVN.js";
46
48
  import "../chunk-U7JPP7WJ.js";
49
+ import "../chunk-LQY4RKWI.js";
47
50
  import "../chunk-ZD7MNMED.js";
48
51
  import "../chunk-B6XJN6EC.js";
49
52
  import "../chunk-UVKNLJDZ.js";
50
53
  import "../chunk-MIMJ7LON.js";
51
54
  import "../chunk-IQEEPHOY.js";
52
55
  import "../chunk-LHCDPZ5E.js";
53
- import "../chunk-OHMOP5PV.js";
54
- import "../chunk-LQY4RKWI.js";
56
+ import "../chunk-F77ES5Y3.js";
55
57
  import "../chunk-J242TTFH.js";
56
58
  import "../chunk-EAXUQEO5.js";
57
59
  import "../chunk-YJCCE5WP.js";
58
60
  import "../chunk-3SSSCLJ5.js";
59
61
  import "../chunk-EWD4AO5N.js";
60
62
  import "../chunk-YGL6SWKN.js";
61
- import "../chunk-4Y5BEXVN.js";
62
- import "../chunk-F77ES5Y3.js";
63
63
  import "../chunk-N552FDTV.js";
64
64
  export {
65
65
  TagSelector
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipp/ui",
3
- "version": "1.4.24",
3
+ "version": "1.4.26",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -1,5 +1,9 @@
1
1
  import { Select as RadixSelect } from '@radix-ui/themes';
2
- import { forwardRef, useMemo } from 'react';
2
+ import { createContext, forwardRef, useContext, useMemo } from 'react';
3
+
4
+ const SelectContext = createContext<{ error?: boolean }>({
5
+ error: false,
6
+ });
3
7
 
4
8
  export type ContentProps = RadixSelect.ContentProps & {
5
9
  isNavigation?: boolean;
@@ -7,11 +11,13 @@ export type ContentProps = RadixSelect.ContentProps & {
7
11
 
8
12
  const Content = forwardRef<HTMLDivElement, ContentProps>((props, ref) => {
9
13
  const { className, isNavigation, ...rest } = props;
14
+ const { error } = useContext(SelectContext);
10
15
 
11
16
  const cls = useMemo(() => {
12
17
  const etc = isNavigation ? 'nav-select' : '';
13
- return [etc, className].join(' ');
14
- }, [className, isNavigation]);
18
+ const errorCls = error ? 'tipp-error' : '';
19
+ return [etc, errorCls, className].join(' ');
20
+ }, [className, error, isNavigation]);
15
21
 
16
22
  return (
17
23
  <RadixSelect.Content
@@ -22,10 +28,43 @@ const Content = forwardRef<HTMLDivElement, ContentProps>((props, ref) => {
22
28
  />
23
29
  );
24
30
  });
25
-
26
31
  Content.displayName = 'Select.Content';
27
32
 
33
+ const Trigger = forwardRef<HTMLButtonElement, RadixSelect.TriggerProps>(
34
+ (props, ref) => {
35
+ const { className, ...rest } = props;
36
+ const { error } = useContext(SelectContext);
37
+
38
+ const cls = useMemo(() => {
39
+ const errorCls = error ? 'error' : '';
40
+ return [errorCls, className].join(' ');
41
+ }, [className, error]);
42
+
43
+ return <RadixSelect.Trigger {...rest} className={cls} ref={ref} />;
44
+ }
45
+ );
46
+
47
+ Trigger.displayName = 'Select.Trigger';
48
+
49
+ type RootProps = RadixSelect.RootProps & {
50
+ error?: boolean;
51
+ };
52
+
53
+ function Root(props: RootProps): React.ReactElement {
54
+ const { error, ...rest } = props;
55
+
56
+ return (
57
+ <SelectContext.Provider value={{ error }}>
58
+ <RadixSelect.Root {...rest} />
59
+ </SelectContext.Provider>
60
+ );
61
+ }
62
+
63
+ Root.displayName = 'Select.Root';
64
+
28
65
  export const Select = {
29
66
  ...RadixSelect,
67
+ Root,
68
+ Trigger,
30
69
  Content,
31
70
  };
@@ -58,8 +58,10 @@ const renderCustomHeader: ReactDatePickerProps['renderCustomHeader'] = (
58
58
  nextMonthButtonDisabled,
59
59
  } = props;
60
60
 
61
- const year = date.getFullYear();
62
- const month = date.getMonth();
61
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- date가 undefined일 수 있음
62
+ const year = date ? date.getFullYear() : '-';
63
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- date가 undefined일 수 있음
64
+ const month = date ? date.getMonth() + 1 : '-';
63
65
 
64
66
  return (
65
67
  <Flex align="center" justify="between" pb="2" pl="2" pr="2">
@@ -75,7 +77,7 @@ const renderCustomHeader: ReactDatePickerProps['renderCustomHeader'] = (
75
77
  {year}년
76
78
  </Heading>
77
79
  <Heading variant="heading4" weight="regular">
78
- {month + 1}월
80
+ {month}월
79
81
  </Heading>
80
82
  </Flex>
81
83