@edu-tosel/design 1.0.51 → 1.0.53

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 (65) hide show
  1. package/README.md +42 -42
  2. package/asset/SVG.d.ts +5 -0
  3. package/asset/SVG.tsx +27 -27
  4. package/asset/svg/Close.tsx +32 -32
  5. package/asset/svg/Direction.tsx +36 -36
  6. package/asset/svg/Email.tsx +20 -20
  7. package/asset/svg/Icon.tsx +186 -186
  8. package/asset/svg/Image.tsx +24 -24
  9. package/asset/svg/Notification.tsx +34 -34
  10. package/asset/svg/Operation.d.ts +7 -0
  11. package/asset/svg/Operation.js +8 -0
  12. package/asset/svg/Operation.tsx +104 -66
  13. package/asset/svg/Phone.tsx +20 -20
  14. package/asset/svg/Profile.tsx +27 -27
  15. package/asset/svg/Symbol.tsx +60 -60
  16. package/asset/svg/TOSEL.tsx +63 -63
  17. package/card/design/Card.design.js +4 -2
  18. package/card/design/RollCard.design.d.ts +1 -1
  19. package/card/design/RollCard.design.js +35 -4
  20. package/card/index.d.ts +1 -0
  21. package/card/index.js +1 -0
  22. package/card/template/NavCard.js +2 -2
  23. package/card/template/ProgressCard.d.ts +10 -0
  24. package/card/template/ProgressCard.js +42 -0
  25. package/globals.css +226 -226
  26. package/interface/Action.d.ts +6 -6
  27. package/interface/Card.d.ts +2 -0
  28. package/interface/Modal.d.ts +9 -2
  29. package/interface/Property.d.ts +1 -1
  30. package/interface/Theme.d.ts +2 -0
  31. package/interface/Theme.js +1 -0
  32. package/interface/index.d.ts +1 -0
  33. package/interface/index.js +1 -0
  34. package/layout/widget/dashboard/mypage/Navigate.js +2 -2
  35. package/layout/widget/dashboard/mypage/Profile.js +1 -1
  36. package/modal/design/Modal.design.js +2 -2
  37. package/modal/index.d.ts +2 -1
  38. package/modal/index.js +2 -1
  39. package/modal/template/{ConfirmModal → Confirm}/Tag.d.ts +1 -0
  40. package/modal/template/Confirm/Tag.js +30 -0
  41. package/modal/template/Postcode.d.ts +2 -0
  42. package/modal/template/Postcode.js +27 -0
  43. package/package.json +2 -1
  44. package/tailwind.config.ts +619 -618
  45. package/version.txt +1 -1
  46. package/widget/template/Select/Select.LG.d.ts +2 -0
  47. package/widget/template/Select/Select.LG.js +45 -0
  48. package/widget/template/Select/Select.d.ts +2 -0
  49. package/widget/{design/Select.design.js → template/Select/Select.js} +14 -6
  50. package/widget/template/Select/index.d.ts +6 -0
  51. package/widget/template/Select/index.js +4 -0
  52. package/modal/template/ConfirmModal/Tag.js +0 -19
  53. package/widget/design/Select.design.d.ts +0 -2
  54. package/widget/template/Select.d.ts +0 -3
  55. package/widget/template/Select.js +0 -6
  56. /package/modal/template/{ConfirmModal → Confirm}/Confirm.d.ts +0 -0
  57. /package/modal/template/{ConfirmModal → Confirm}/Confirm.js +0 -0
  58. /package/modal/template/{ConfirmModal → Confirm}/Input.d.ts +0 -0
  59. /package/modal/template/{ConfirmModal → Confirm}/Input.js +0 -0
  60. /package/modal/template/{ConfirmModal → Confirm}/Reimage.d.ts +0 -0
  61. /package/modal/template/{ConfirmModal → Confirm}/Reimage.js +0 -0
  62. /package/modal/template/{ConfirmModal → Confirm}/Switch.d.ts +0 -0
  63. /package/modal/template/{ConfirmModal → Confirm}/Switch.js +0 -0
  64. /package/modal/template/{ConfirmModal → Confirm}/index.d.ts +0 -0
  65. /package/modal/template/{ConfirmModal → Confirm}/index.js +0 -0
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import SVG from "../../asset/SVG";
3
+ import { cn } from "../../util";
4
+ import CardDesign from "../design/Card.design";
5
+ const bg = {
6
+ green: "bg-green-dark",
7
+ blue: "bg-blue-navy",
8
+ };
9
+ const bgLight = {
10
+ green: "bg-green-dark/10",
11
+ blue: "bg-blue-navy/10",
12
+ };
13
+ const text = {
14
+ green: "text-green-dark",
15
+ blue: "text-blue-navy",
16
+ };
17
+ export default function ProgressCard({ titles, steps, theme, }) {
18
+ const progressBox = {
19
+ positions: "absolute top-7.5 left-7.5",
20
+ displays: "flex",
21
+ sizes: "w-150 h-19",
22
+ };
23
+ const stepBox = (flag) => ({
24
+ displays: "flex-1 flex flex-col justify-between",
25
+ sizes: "h-full",
26
+ backgrounds: flag ? bgLight[theme ?? "green"] : "bg-transparent",
27
+ boundaries: "rounded-md p-2.5",
28
+ texts: flag ? "text-gray-dark" : "text-gray-medium",
29
+ });
30
+ const titleBox = {
31
+ positions: "absolute top-12 right-12",
32
+ displays: "flex flex-col items-end gap-y-3",
33
+ };
34
+ const occupied = [
35
+ steps.filter(([_, value]) => !!value).length,
36
+ steps.length,
37
+ ].join("/");
38
+ return (_jsxs(CardDesign, { options: {
39
+ width: "2xl",
40
+ height: "2xs",
41
+ }, children: [_jsx("div", { className: cn(progressBox), children: steps.map(([key, value]) => (_jsxs("div", { className: cn(stepBox(value)), children: [_jsx("div", { children: key }), _jsx(SVG.Operation.Checked, { flag: value, size: 25, theme: theme })] }, key))) }), _jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: `text-xl leading-none font-pretendard-bold ${text[theme ?? "green"]}`, children: titles.title }), _jsx("div", { className: "text-base leading-none", children: titles.subtitle })] }), _jsx("div", { className: "absolute bottom-0 left-0 bg-gray-light w-full h-2.5", children: _jsx("div", { className: `h-full w-${occupied} ${bg[theme ?? "green"]}` }) })] }));
42
+ }
package/globals.css CHANGED
@@ -1,226 +1,226 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- @font-face {
6
- font-family: "Pretendard-Medium";
7
- src: url("./asset/fonts/Pretendard-Medium.otf") format("opentype");
8
- }
9
-
10
- @font-face {
11
- font-family: "Pretendard-Bold";
12
- src: url("./asset/fonts/Pretendard-Bold.otf") format("opentype");
13
- }
14
-
15
- @font-face {
16
- font-family: "Pretendard-Light";
17
- src: url("./asset/fonts/Pretendard-Light.otf") format("opentype");
18
- }
19
-
20
- @font-face {
21
- font-family: "Kostar";
22
- src: url("./asset/fonts/Kostar.ttf") format("truetype");
23
- }
24
-
25
- @font-face {
26
- font-family: "NicoMoji";
27
- src: url("./asset/fonts/NicoMoji.ttf") format("truetype");
28
- }
29
-
30
- @font-face {
31
- font-family: "Megrim";
32
- src: url("./asset/fonts/Megrim.ttf") format("truetype");
33
- }
34
-
35
- @font-face {
36
- font-family: "Times-Newer-Roman-Bold";
37
- src: url("./asset/fonts/TimesNewerRoman-Bold.otf") format("opentype");
38
- }
39
-
40
- @font-face {
41
- font-family: "Times-Newer-Roman-BoldItalic";
42
- src: url("./asset/fonts/TimesNewerRoman-BoldItalic.otf") format("opentype");
43
- }
44
-
45
- input[type="date"]::-webkit-inner-spin-button,
46
- input[type="date"]::-webkit-calendar-picker-indicator {
47
- display: none;
48
- -webkit-appearance: none;
49
- }
50
-
51
- ::-webkit-scrollbar {
52
- width: 3px;
53
- padding-right: 10px;
54
- }
55
-
56
- ::-webkit-scrollbar-track {
57
- background-color: transparent;
58
- }
59
- ::-webkit-scrollbar-thumb {
60
- background-color: #808080;
61
- opacity: 0.5;
62
- border-radius: 10px;
63
- }
64
-
65
- .box-shadow {
66
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
67
- }
68
-
69
- .box-shadow-sm {
70
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
71
- }
72
-
73
- .border-gradient-green-to-red {
74
- }
75
-
76
- .x-shape {
77
- position: relative;
78
- width: 0.83625rem;
79
- height: 0.83625rem;
80
- }
81
-
82
- .x-shape::before,
83
- .x-shape::after {
84
- content: "";
85
- position: absolute;
86
- top: 50%;
87
- left: 50%;
88
- width: 2.5px;
89
- border-radius: 2px;
90
- height: 100%;
91
- background-color: white;
92
- transform-origin: center;
93
- }
94
-
95
- .x-shape::before {
96
- transform: translate(-50%, -50%) rotate(45deg);
97
- }
98
-
99
- .x-shape::after {
100
- transform: translate(-50%, -50%) rotate(-45deg);
101
- }
102
-
103
- .border-inner {
104
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
105
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
106
- }
107
- .box-shadow-focus:focus {
108
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
109
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
110
- }
111
- .box-shadow-focus-red:focus {
112
- box-shadow: 0px 0px 10px 0px #ff8383;
113
- }
114
- .box-green {
115
- background: rgba(16, 86, 82, 0.1);
116
- color: #105652;
117
- }
118
- .box-green-focus:focus {
119
- background: white;
120
- color: black;
121
- box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
122
- }
123
- /* box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38); */
124
- .box-inner-shadow:hover {
125
- box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
126
- 0 2px 4px -1px rgba(0, 0, 0, 0.06);
127
- }
128
- /* Date Picker Css */
129
- .react-datepicker__day--selected {
130
- background-color: #105652 !important;
131
- }
132
- .react-datepicker__header {
133
- background: white !important;
134
- border: none !important;
135
- }
136
- .react-datepicker {
137
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
138
- border-radius: 0.375rem !important;
139
- border: none !important;
140
- }
141
- .react-datepicker__day--keyboard-selected {
142
- background-color: white !important;
143
- color: black !important;
144
- }
145
- .react-datepicker__day--outside-month {
146
- color: rgb(161 161 170) !important;
147
- }
148
- .react-datepicker__month-container {
149
- padding-top: 1rem;
150
- padding-left: 1rem;
151
- padding-right: 1rem;
152
- padding-bottom: 0.5rem;
153
- }
154
- .react-datepicker-popper {
155
- transform: translate(0px 295px) !important;
156
- }
157
- .react-datepicker__input-container {
158
- text-align: center !important;
159
- border-radius: 0.375rem !important;
160
- transition: all 0.3s;
161
- }
162
- .react-datepicker__input-container > input {
163
- cursor: pointer !important;
164
- }
165
- .react-datepicker__input-container:hover {
166
- box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
167
- }
168
- .react-datepicker__navigation {
169
- top: 18px !important;
170
- }
171
- .react-datepicker__navigation--next {
172
- right: 20px !important;
173
- }
174
- .react-datepicker__navigation--previous {
175
- left: 182px !important;
176
- }
177
- .react-datepicker__current-month {
178
- text-align: left !important;
179
- margin-left: 16px !important;
180
- }
181
- .react-datepicker__triangle {
182
- display: none !important;
183
- }
184
- .react-datepicker__children-container {
185
- width: 16rem !important;
186
- }
187
- /* toggle button */
188
- .toggle[type="checkbox"]::before {
189
- content: "";
190
- position: absolute;
191
- left: 1px;
192
- top: 1px;
193
- width: 1.1rem;
194
- height: 1.1rem;
195
- border-radius: 50%;
196
- transform: scale(0.9);
197
- background-color: white;
198
- transition: left 100ms linear;
199
- }
200
- .toggle[type="checkbox"]:checked::before {
201
- background-color: white;
202
- left: 1.32rem;
203
- }
204
- .toggle[type="checkbox"]:checked {
205
- background-color: #105652;
206
- }
207
- .toggle[type="checkbox"]:disabled {
208
- opacity: 0.3;
209
- cursor: not-allowed;
210
- }
211
- .toggle[type="checkbox"]:disabled + span {
212
- opacity: 0.3;
213
- cursor: not-allowed;
214
- }
215
-
216
- /* checkbox */
217
- .check-box[type="checkbox"]:checked {
218
- border-color: transparent;
219
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
220
- background-size: 150%;
221
- background-position: 50%;
222
- background-repeat: no-repeat;
223
- }
224
- .check-box[type="checkbox"]:disabled {
225
- background-color: #7f7f7f;
226
- }
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @font-face {
6
+ font-family: "Pretendard-Medium";
7
+ src: url("./asset/fonts/Pretendard-Medium.otf") format("opentype");
8
+ }
9
+
10
+ @font-face {
11
+ font-family: "Pretendard-Bold";
12
+ src: url("./asset/fonts/Pretendard-Bold.otf") format("opentype");
13
+ }
14
+
15
+ @font-face {
16
+ font-family: "Pretendard-Light";
17
+ src: url("./asset/fonts/Pretendard-Light.otf") format("opentype");
18
+ }
19
+
20
+ @font-face {
21
+ font-family: "Kostar";
22
+ src: url("./asset/fonts/Kostar.ttf") format("truetype");
23
+ }
24
+
25
+ @font-face {
26
+ font-family: "NicoMoji";
27
+ src: url("./asset/fonts/NicoMoji.ttf") format("truetype");
28
+ }
29
+
30
+ @font-face {
31
+ font-family: "Megrim";
32
+ src: url("./asset/fonts/Megrim.ttf") format("truetype");
33
+ }
34
+
35
+ @font-face {
36
+ font-family: "Times-Newer-Roman-Bold";
37
+ src: url("./asset/fonts/TimesNewerRoman-Bold.otf") format("opentype");
38
+ }
39
+
40
+ @font-face {
41
+ font-family: "Times-Newer-Roman-BoldItalic";
42
+ src: url("./asset/fonts/TimesNewerRoman-BoldItalic.otf") format("opentype");
43
+ }
44
+
45
+ input[type="date"]::-webkit-inner-spin-button,
46
+ input[type="date"]::-webkit-calendar-picker-indicator {
47
+ display: none;
48
+ -webkit-appearance: none;
49
+ }
50
+
51
+ ::-webkit-scrollbar {
52
+ width: 3px;
53
+ padding-right: 10px;
54
+ }
55
+
56
+ ::-webkit-scrollbar-track {
57
+ background-color: transparent;
58
+ }
59
+ ::-webkit-scrollbar-thumb {
60
+ background-color: #808080;
61
+ opacity: 0.5;
62
+ border-radius: 10px;
63
+ }
64
+
65
+ .box-shadow {
66
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15);
67
+ }
68
+
69
+ .box-shadow-sm {
70
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
71
+ }
72
+
73
+ .border-gradient-green-to-red {
74
+ }
75
+
76
+ .x-shape {
77
+ position: relative;
78
+ width: 0.83625rem;
79
+ height: 0.83625rem;
80
+ }
81
+
82
+ .x-shape::before,
83
+ .x-shape::after {
84
+ content: "";
85
+ position: absolute;
86
+ top: 50%;
87
+ left: 50%;
88
+ width: 2.5px;
89
+ border-radius: 2px;
90
+ height: 100%;
91
+ background-color: white;
92
+ transform-origin: center;
93
+ }
94
+
95
+ .x-shape::before {
96
+ transform: translate(-50%, -50%) rotate(45deg);
97
+ }
98
+
99
+ .x-shape::after {
100
+ transform: translate(-50%, -50%) rotate(-45deg);
101
+ }
102
+
103
+ .border-inner {
104
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
105
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
106
+ }
107
+ .box-shadow-focus:focus {
108
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
109
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
110
+ }
111
+ .box-shadow-focus-red:focus {
112
+ box-shadow: 0px 0px 10px 0px #ff8383;
113
+ }
114
+ .box-green {
115
+ background: rgba(16, 86, 82, 0.1);
116
+ color: #105652;
117
+ }
118
+ .box-green-focus:focus {
119
+ background: white;
120
+ color: black;
121
+ box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38);
122
+ }
123
+ /* box-shadow: 0px 0px 10px 0px rgba(16, 86, 82, 0.38); */
124
+ .box-inner-shadow:hover {
125
+ box-shadow: 0 0 0 1px #e5e7eb inset, 0 4px 6px -1px rgba(0, 0, 0, 0.1),
126
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
127
+ }
128
+ /* Date Picker Css */
129
+ .react-datepicker__day--selected {
130
+ background-color: #105652 !important;
131
+ }
132
+ .react-datepicker__header {
133
+ background: white !important;
134
+ border: none !important;
135
+ }
136
+ .react-datepicker {
137
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
138
+ border-radius: 0.375rem !important;
139
+ border: none !important;
140
+ }
141
+ .react-datepicker__day--keyboard-selected {
142
+ background-color: white !important;
143
+ color: black !important;
144
+ }
145
+ .react-datepicker__day--outside-month {
146
+ color: rgb(161 161 170) !important;
147
+ }
148
+ .react-datepicker__month-container {
149
+ padding-top: 1rem;
150
+ padding-left: 1rem;
151
+ padding-right: 1rem;
152
+ padding-bottom: 0.5rem;
153
+ }
154
+ .react-datepicker-popper {
155
+ transform: translate(0px 295px) !important;
156
+ }
157
+ .react-datepicker__input-container {
158
+ text-align: center !important;
159
+ border-radius: 0.375rem !important;
160
+ transition: all 0.3s;
161
+ }
162
+ .react-datepicker__input-container > input {
163
+ cursor: pointer !important;
164
+ }
165
+ .react-datepicker__input-container:hover {
166
+ box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.15) !important;
167
+ }
168
+ .react-datepicker__navigation {
169
+ top: 18px !important;
170
+ }
171
+ .react-datepicker__navigation--next {
172
+ right: 20px !important;
173
+ }
174
+ .react-datepicker__navigation--previous {
175
+ left: 182px !important;
176
+ }
177
+ .react-datepicker__current-month {
178
+ text-align: left !important;
179
+ margin-left: 16px !important;
180
+ }
181
+ .react-datepicker__triangle {
182
+ display: none !important;
183
+ }
184
+ .react-datepicker__children-container {
185
+ width: 16rem !important;
186
+ }
187
+ /* toggle button */
188
+ .toggle[type="checkbox"]::before {
189
+ content: "";
190
+ position: absolute;
191
+ left: 1px;
192
+ top: 1px;
193
+ width: 1.1rem;
194
+ height: 1.1rem;
195
+ border-radius: 50%;
196
+ transform: scale(0.9);
197
+ background-color: white;
198
+ transition: left 100ms linear;
199
+ }
200
+ .toggle[type="checkbox"]:checked::before {
201
+ background-color: white;
202
+ left: 1.32rem;
203
+ }
204
+ .toggle[type="checkbox"]:checked {
205
+ background-color: #105652;
206
+ }
207
+ .toggle[type="checkbox"]:disabled {
208
+ opacity: 0.3;
209
+ cursor: not-allowed;
210
+ }
211
+ .toggle[type="checkbox"]:disabled + span {
212
+ opacity: 0.3;
213
+ cursor: not-allowed;
214
+ }
215
+
216
+ /* checkbox */
217
+ .check-box[type="checkbox"]:checked {
218
+ border-color: transparent;
219
+ background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
220
+ background-size: 150%;
221
+ background-position: 50%;
222
+ background-repeat: no-repeat;
223
+ }
224
+ .check-box[type="checkbox"]:disabled {
225
+ background-color: #7f7f7f;
226
+ }
@@ -4,12 +4,12 @@ export interface ActionEvent {
4
4
  event: string;
5
5
  type: "view" | "modal";
6
6
  }
7
- type Event<T extends boolean | string | null | undefined> = [
7
+ type Action<T extends boolean | string | null | undefined> = [
8
8
  T,
9
9
  React.ReactNode
10
10
  ];
11
- export type Show = Event<boolean | string>;
12
- export type Replace = Event<boolean | string | null | undefined>;
11
+ export type Show = Action<boolean | string>;
12
+ export type Replace = Action<boolean | string | null | undefined>;
13
13
  export interface ShowAction {
14
14
  event: string;
15
15
  isVisible: boolean;
@@ -20,11 +20,11 @@ export interface ShowProps {
20
20
  }
21
21
  export interface ReplaceProps {
22
22
  actions?: Replace[];
23
- children: React.ReactNode;
23
+ children?: React.ReactNode;
24
24
  }
25
25
  export interface EventsProps {
26
- replaces?: Event<boolean | string | null | undefined>[];
27
- shows?: Event<boolean | string>[];
26
+ replaces?: Action<boolean | string | null | undefined>[];
27
+ shows?: Action<boolean | string>[];
28
28
  }
29
29
  export interface DataFieldProps<T> {
30
30
  id: string;
@@ -126,5 +126,7 @@ export interface RollCardProps extends CardProps {
126
126
  icon?: string;
127
127
  };
128
128
  state: State<boolean>;
129
+ isFixed?: boolean;
130
+ isDisabled?: boolean;
129
131
  }
130
132
  export {};
@@ -1,4 +1,4 @@
1
- import { Button, Scripts, Size, Titles } from "./Property";
1
+ import { Button, Scripts, Size, State, Titles } from "./Property";
2
2
  import { ShowAction } from "./Action";
3
3
  interface Options {
4
4
  width: Size;
@@ -27,4 +27,11 @@ interface AlertModalProps extends Omit<ModalProps, "children"> {
27
27
  buttons?: Button[];
28
28
  };
29
29
  }
30
- export type { ModalProps, ConfirmModalProps, AlertModalProps };
30
+ interface DaumPostcode {
31
+ address: string;
32
+ zipcode: string;
33
+ }
34
+ interface DaumPostcodeModalProps extends Omit<ModalProps, "titles" | "children"> {
35
+ state: State<DaumPostcode>;
36
+ }
37
+ export type { ModalProps, ConfirmModalProps, AlertModalProps, DaumPostcodeModalProps, };
@@ -27,7 +27,7 @@ export type State<T> = [T, StateAction<T>];
27
27
  * @property {"full"} full - Full size
28
28
  */
29
29
  export type ImageSize = "sub" | "full";
30
- export type Size = "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full" | "auto";
30
+ export type Size = "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full" | "auto";
31
31
  /**
32
32
  * Image size type
33
33
  * @enum {string}
@@ -0,0 +1,2 @@
1
+ type Theme = "green" | "blue";
2
+ export type { Theme };
@@ -0,0 +1 @@
1
+ export {};
@@ -4,5 +4,6 @@ export * from "./HTMLElement";
4
4
  export * from "./Layout";
5
5
  export * from "./Overlay";
6
6
  export * from "./Property";
7
+ export * from "./Theme";
7
8
  export * from "./Shelf";
8
9
  export * from "./widget";
@@ -4,5 +4,6 @@ export * from "./HTMLElement";
4
4
  export * from "./Layout";
5
5
  export * from "./Overlay";
6
6
  export * from "./Property";
7
+ export * from "./Theme";
7
8
  export * from "./Shelf";
8
9
  export * from "./widget";
@@ -9,7 +9,7 @@ function Academy({ onClick }) {
9
9
  boundary: "box-shadow shadow-green-dark",
10
10
  onMouse: [onMouse, _],
11
11
  width: "2xs",
12
- height: "2xs",
12
+ height: "3xs",
13
13
  }, children: [_jsx("div", { className: "text-gray-medium group-hover:text-green-dark duration-300", children: "\uB098\uC758 \uD559\uC6D0" }), _jsx("svg", { className: "absolute bottom-5 right-5 ", xmlns: "http://www.w3.org/2000/svg", width: "60", height: "60", viewBox: "0 0 60 60", fill: "none", children: _jsx("path", { className: "duration-300", d: "M9 53H52M10.9545 6H50.0455M12.9091 6V53M48.0909 6V53M22.6818 15.7917H26.5909M22.6818 23.625H26.5909M22.6818 31.4583H26.5909M34.4091 15.7917H38.3182M34.4091 23.625H38.3182M34.4091 31.4583H38.3182M22.6818 53V44.1875C22.6818 42.566 23.9953 41.25 25.6136 41.25H35.3864C37.0047 41.25 38.3182 42.566 38.3182 44.1875V53", stroke: !onMouse ? "#7F7F7F" : "#105652", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round" }) })] }));
14
14
  }
15
15
  function Payment({ onClick }) {
@@ -18,7 +18,7 @@ function Payment({ onClick }) {
18
18
  className: "pt-5 pl-5",
19
19
  background: "group bg-green-dark/10 hover:bg-green-dark/30 ",
20
20
  width: "2xs",
21
- height: "2xs",
21
+ height: "3xs",
22
22
  boundary: "",
23
23
  }, children: [_jsx("div", { className: "opacity-0 group-hover:opacity-100 duration-300", children: "\uACB0\uC81C \uC815\uBCF4" }), _jsxs("div", { className: "absolute top-5 group-hover:top-11.25 left-5 flex flex-col gap-1.5 duration-300", children: [_jsx("div", { className: "w-24 h-1.5 bg-green-dark/30 group-hover:bg-green-dark/40 duration-300" }), _jsx("div", { className: "w-14.25 h-1.5 bg-green-dark/30 group-hover:bg-green-dark/40 duration-300" })] }), _jsx("div", { className: "absolute top-5 right-5 w-12.25 h-7 rounded-full bg-[#CFDDDC]" }), _jsx("div", { className: "absolute left-0 bottom-5 w-full h-5 bg-green-dark" })] }));
24
24
  }
@@ -22,7 +22,7 @@ function Profile({ name, birthday, image, modify }) {
22
22
  return (_jsxs(Card, { options: {
23
23
  className: "flex gap-x-7.5 items-center pl-5",
24
24
  width: "md",
25
- height: "2xs",
25
+ height: "3xs",
26
26
  boundary: "border-1 border-black",
27
27
  }, children: [_jsxs("button", { onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), onClick: modify.image, className: "w-20 h-20 overflow-hidden rounded-md relative", children: [_jsx("img", { src: image, alt: "profile-image", className: "bg-cover" }), transitions((styles, item) => item && (_jsxs(animated.div, { style: styles, className: cn(hoverBox), children: [_jsx(SVG.Image, {}), _jsx("div", { className: "text-white text-xs leading-none", children: "\uC0AC\uC9C4 \uBC14\uAFB8\uAE30" })] })))] }), _jsxs("div", { className: "flex flex-col h-20", children: [_jsx("div", { className: "text-xl leading-none font-pretendard-bold text-gray-dark", children: name }), _jsx("div", { className: "leading-none text-gray-medium mt-1.25", children: birthday }), _jsxs("div", { className: "flex gap-3 mt-auto", children: [_jsx(Label.Button, { title: "\uC2E4\uBA85 \uC218\uC815", options: { width: "sm", height: "xs" }, onClick: modify.name }), _jsx(Label.Button, { title: "\uC0DD\uC77C \uC218\uC815", options: { width: "sm", height: "xs" }, onClick: modify.birthday })] })] })] }));
28
28
  }
@@ -11,7 +11,7 @@ const widthSize = {
11
11
  xs: "w-2/3 min-w-76 max-w-176",
12
12
  sm: "w-2/3 min-w-76 max-w-176",
13
13
  md: "w-112.5",
14
- lg: "w-full min-w-76 max-w-360",
14
+ lg: "w-full min-w-76 max-w-240",
15
15
  xl: "w-2/3 min-w-76 max-w-360",
16
16
  "2xl": "w-2/3 min-w-76 max-w-360",
17
17
  full: "w-full",
@@ -21,7 +21,7 @@ const heightSize = {
21
21
  sm: "h-100",
22
22
  md: "h-72 sm:h-48",
23
23
  lg: "h-112.5",
24
- xl: "h-180",
24
+ xl: "h-160",
25
25
  "2xl": "max-w-176",
26
26
  full: "h-full",
27
27
  };
package/modal/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { default as Modal } from "./template";
2
- export { default as ConfirmModal } from "./template/ConfirmModal";
2
+ export { default as ConfirmModal } from "./template/Confirm";
3
+ export { default as PostcodeModal } from "./template/Postcode";
package/modal/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { default as Modal } from "./template";
2
- export { default as ConfirmModal } from "./template/ConfirmModal";
2
+ export { default as ConfirmModal } from "./template/Confirm";
3
+ export { default as PostcodeModal } from "./template/Postcode";
@@ -4,6 +4,7 @@ interface TagModalProps<T> extends Omit<ConfirmModalProps, "children"> {
4
4
  tag: {
5
5
  state: State<T[]>;
6
6
  tags: [T, string][];
7
+ process?: [boolean, React.ReactNode];
7
8
  options?: {
8
9
  selectHow?: "one" | "plural";
9
10
  };