@sonamu-kit/react-components 0.1.2 → 0.1.4
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/styles/globals.css +661 -0
- package/package.json +2 -2
|
@@ -0,0 +1,661 @@
|
|
|
1
|
+
@import url("https://cdn.jsdelivr.net/npm/pretendard@1.3.9/dist/web/static/pretendard.min.css");
|
|
2
|
+
@import "react-day-picker/dist/style.css";
|
|
3
|
+
@import "tailwindcss";
|
|
4
|
+
|
|
5
|
+
/* Tailwind v4: 소스 경로 지정 */
|
|
6
|
+
/* 로컬 개발 시 src 폴더 스캔 */
|
|
7
|
+
@source "../components/**/*.tsx";
|
|
8
|
+
@source "../hooks/**/*.ts";
|
|
9
|
+
@source "../lib/**/*.ts";
|
|
10
|
+
/* npm 패키지 사용 시 dist 폴더의 번들 스캔 */
|
|
11
|
+
@source "../react-components.es.js";
|
|
12
|
+
|
|
13
|
+
/* VSCode CSS 린터: Tailwind v4의 새 문법 경고 무시 */
|
|
14
|
+
/* @custom-variant, @theme는 Tailwind v4에서 정상 작동 */
|
|
15
|
+
@custom-variant dark (&:is(.dark *));
|
|
16
|
+
|
|
17
|
+
:root {
|
|
18
|
+
/* Typography font sizes */
|
|
19
|
+
--text-2xl: 24px;
|
|
20
|
+
--text-xl: 18px;
|
|
21
|
+
--text-lg: 15px;
|
|
22
|
+
--text-base: 13px;
|
|
23
|
+
--text-sm: 12px;
|
|
24
|
+
--text-xs: 11px;
|
|
25
|
+
/* The default background color for the application. */
|
|
26
|
+
--background: rgba(255, 255, 255, 1);
|
|
27
|
+
/* The default color for elements or text that appears on top of the background. */
|
|
28
|
+
--foreground: rgba(23, 23, 23, 1);
|
|
29
|
+
/* The background color for cards, modals, and other containers. */
|
|
30
|
+
--card: rgba(255, 255, 255, 1);
|
|
31
|
+
/* The default color for text or elements that appear on top of cards, modals and other background containers. */
|
|
32
|
+
--card-foreground: rgba(23, 23, 23, 1);
|
|
33
|
+
/* The background color for dropdowns and tooltips. */
|
|
34
|
+
--popover: rgba(255, 255, 255, 1);
|
|
35
|
+
/* The default color for text or elements that appear on top of dropdowns and tooltips. */
|
|
36
|
+
--popover-foreground: rgba(23, 23, 23, 1);
|
|
37
|
+
/* The primary color used for buttons, links, and other interactive elements. */
|
|
38
|
+
--primary: rgba(94, 105, 209, 1);
|
|
39
|
+
/* The default color for text or elements that appear on top of primary colored elements. */
|
|
40
|
+
--primary-foreground: rgba(255, 255, 255, 1);
|
|
41
|
+
/* The secondary color used for secondary(but NOT-DESTRUCTIVE) buttons and interactive elements. */
|
|
42
|
+
--secondary: rgba(245, 245, 247, 1);
|
|
43
|
+
/* The default color for text or elements that appear on top of secondary colored elements. */
|
|
44
|
+
--secondary-foreground: rgba(23, 23, 23, 1);
|
|
45
|
+
/* The muted color used for less prominent elements, such as disabled buttons or disabled text. */
|
|
46
|
+
--muted: rgba(245, 245, 247, 1);
|
|
47
|
+
/* The default color for text or elements that appear on top of muted colored elements. */
|
|
48
|
+
--muted-foreground: rgba(113, 113, 122, 1);
|
|
49
|
+
/* The accent color used for highlights, links, and other interactive elements. */
|
|
50
|
+
--accent: rgba(93, 133, 255, 1);
|
|
51
|
+
/* The default color for text or elements that appear on top of accent colored elements. */
|
|
52
|
+
--accent-foreground: rgba(255, 255, 255, 1);
|
|
53
|
+
/* The color used for background in destructive actions, such as delete buttons or error messages. */
|
|
54
|
+
--destructive: rgba(239, 68, 68, 1);
|
|
55
|
+
/* The default color for text or elements that appear on top of destructive colored elements. */
|
|
56
|
+
--destructive-foreground: rgba(255, 255, 255, 1);
|
|
57
|
+
/* The default border color for elements such as inputs, buttons, and other containers. */
|
|
58
|
+
--border: rgba(229, 229, 234, 1);
|
|
59
|
+
/* The default background color for input fields once the text has been filled. Should be either transparent or match the input-background. */
|
|
60
|
+
--input: rgba(0, 0, 0, 0);
|
|
61
|
+
/* The default background color for input fields, text areas, and other input elements. */
|
|
62
|
+
--input-background: rgba(248, 248, 250, 1);
|
|
63
|
+
/* The background color for switch toggle in the off state. */
|
|
64
|
+
--switch-background: rgba(229, 229, 234, 1);
|
|
65
|
+
/* The default font weight for medium text. */
|
|
66
|
+
--font-weight-medium: 500;
|
|
67
|
+
/* The default font weight for normal text. */
|
|
68
|
+
--font-weight-normal: 400;
|
|
69
|
+
/* The color for focus rings, outlines, and other focus indicators. */
|
|
70
|
+
--ring: rgba(94, 105, 209, 1);
|
|
71
|
+
/* Shadow for small elevations, such as cards or modals. */
|
|
72
|
+
--elevation-sm: 0px 1px 2px 0px rgba(0, 0, 0, 0.04),
|
|
73
|
+
0px 2px 4px 0px rgba(0, 0, 0, 0.04);
|
|
74
|
+
/* The color for chart elements, such as a bar or line in a chart. */
|
|
75
|
+
--chart-1: rgba(94, 105, 209, 1);
|
|
76
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
77
|
+
--chart-2: rgba(93, 133, 255, 1);
|
|
78
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
79
|
+
--chart-3: rgba(146, 164, 255, 1);
|
|
80
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
81
|
+
--chart-4: rgba(114, 226, 159, 1);
|
|
82
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
83
|
+
--chart-5: rgba(242, 190, 0, 1);
|
|
84
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
85
|
+
--chart-6: rgba(255, 153, 153, 1);
|
|
86
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
87
|
+
--chart-7: rgba(132, 227, 183, 1);
|
|
88
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
89
|
+
--chart-8: rgba(197, 245, 200, 1);
|
|
90
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
91
|
+
--chart-9: rgba(255, 238, 182, 1);
|
|
92
|
+
/* The color for another chart element, such as a bar or line in a chart. */
|
|
93
|
+
--chart-10: rgba(255, 204, 153, 1);
|
|
94
|
+
/* The default border radius for elements such as buttons, tooltip, and other containers. */
|
|
95
|
+
--radius: 5px;
|
|
96
|
+
/* Border radius for button elements. */
|
|
97
|
+
--radius-button: 5px;
|
|
98
|
+
/* Border radius for card elements. */
|
|
99
|
+
--radius-card: 5px;
|
|
100
|
+
/* Border radius for navigation elements. */
|
|
101
|
+
--radius-nav: 10px;
|
|
102
|
+
/* Border radius for toggle elements. */
|
|
103
|
+
--radius-toggle: 20px;
|
|
104
|
+
/* Computed border radius values for Tailwind */
|
|
105
|
+
--radius-sm: calc(var(--radius) - 2px);
|
|
106
|
+
--radius-md: var(--radius);
|
|
107
|
+
--radius-lg: calc(var(--radius) + 2px);
|
|
108
|
+
--radius-xl: var(--radius-nav);
|
|
109
|
+
/* The background color for sidebars, navigation menus, and other persistent elements. */
|
|
110
|
+
--sidebar: rgba(250, 250, 252, 1);
|
|
111
|
+
/* The default color for text or elements that appear on top of sidebars, navigation menus, and other persistent elements. */
|
|
112
|
+
--sidebar-foreground: rgba(23, 23, 23, 1);
|
|
113
|
+
/* The primary color used for buttons, links, and other interactive elements in sidebars and navigation menus. */
|
|
114
|
+
--sidebar-primary: rgba(94, 105, 209, 1);
|
|
115
|
+
/* The default color for text or elements that appear on top of primary colored elements in sidebars and navigation menus. */
|
|
116
|
+
--sidebar-primary-foreground: rgba(255, 255, 255, 1);
|
|
117
|
+
/* The accent color used for highlights, links, and other interactive elements in sidebars and navigation menus. */
|
|
118
|
+
--sidebar-accent: rgba(93, 133, 255, 1);
|
|
119
|
+
/* The default color for text or elements that appear on top of accent colored elements in sidebars and navigation menus. */
|
|
120
|
+
--sidebar-accent-foreground: rgba(255, 255, 255, 1);
|
|
121
|
+
/* The default border color for elements in sidebars and navigation menus. */
|
|
122
|
+
--sidebar-border: rgba(229, 229, 234, 1);
|
|
123
|
+
/* The default color for focus rings, outlines, and other focus indicators in sidebars and navigation menus. */
|
|
124
|
+
--sidebar-ring: rgba(94, 105, 209, 1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.dark {
|
|
128
|
+
--background: rgba(9, 9, 9, 1);
|
|
129
|
+
--foreground: rgba(255, 255, 255, 1);
|
|
130
|
+
--card: rgba(29, 31, 36, 1);
|
|
131
|
+
--card-foreground: rgba(255, 255, 255, 1);
|
|
132
|
+
--popover: rgba(26, 28, 31, 1);
|
|
133
|
+
--popover-foreground: rgba(255, 255, 255, 1);
|
|
134
|
+
--primary: rgba(94, 105, 209, 1);
|
|
135
|
+
--primary-foreground: rgba(254, 254, 255, 1);
|
|
136
|
+
--secondary: rgba(35, 38, 44, 1);
|
|
137
|
+
--secondary-foreground: rgba(227, 228, 232, 1);
|
|
138
|
+
--muted: rgba(149, 150, 153, 1);
|
|
139
|
+
--muted-foreground: rgba(149, 150, 153, 1);
|
|
140
|
+
--accent: rgba(93, 133, 255, 1);
|
|
141
|
+
--accent-foreground: rgba(255, 255, 255, 1);
|
|
142
|
+
--destructive: rgba(255, 101, 101, 1);
|
|
143
|
+
--destructive-foreground: rgba(255, 255, 255, 1);
|
|
144
|
+
--border: rgba(42, 44, 49, 1);
|
|
145
|
+
--input: rgba(0, 0, 0, 0);
|
|
146
|
+
--input-background: rgba(29, 31, 36, 1);
|
|
147
|
+
--switch-background: rgba(52, 54, 59, 1);
|
|
148
|
+
--ring: rgba(83, 107, 229, 1);
|
|
149
|
+
--font-weight-medium: 500;
|
|
150
|
+
--font-weight-normal: 400;
|
|
151
|
+
--chart-1: rgba(94, 105, 209, 1);
|
|
152
|
+
--chart-2: rgba(93, 133, 255, 1);
|
|
153
|
+
--chart-3: rgba(146, 164, 255, 1);
|
|
154
|
+
--chart-4: rgba(114, 226, 159, 1);
|
|
155
|
+
--chart-5: rgba(242, 190, 0, 1);
|
|
156
|
+
--chart-6: rgba(255, 153, 153, 1);
|
|
157
|
+
--chart-7: rgba(132, 227, 183, 1);
|
|
158
|
+
--chart-8: rgba(197, 245, 200, 1);
|
|
159
|
+
--chart-9: rgba(255, 238, 182, 1);
|
|
160
|
+
--chart-10: rgba(255, 204, 153, 1);
|
|
161
|
+
--sidebar: rgba(21, 22, 25, 1);
|
|
162
|
+
--sidebar-foreground: rgba(255, 255, 255, 1);
|
|
163
|
+
--sidebar-primary: rgba(94, 105, 209, 1);
|
|
164
|
+
--sidebar-primary-foreground: rgba(254, 254, 255, 1);
|
|
165
|
+
--sidebar-accent: rgba(93, 133, 255, 1);
|
|
166
|
+
--sidebar-accent-foreground: rgba(255, 255, 255, 1);
|
|
167
|
+
--sidebar-border: rgba(38, 39, 43, 1);
|
|
168
|
+
--sidebar-ring: rgba(83, 107, 229, 1);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* VSCode CSS 린터: Tailwind v4의 @theme 문법 경고 무시 */
|
|
172
|
+
@theme inline {
|
|
173
|
+
/* Font Sizes - Tailwind v4 매핑 */
|
|
174
|
+
--font-size-2xl: 24px;
|
|
175
|
+
--font-size-xl: 18px;
|
|
176
|
+
--font-size-lg: 15px;
|
|
177
|
+
--font-size-base: 13px;
|
|
178
|
+
--font-size-sm: 12px;
|
|
179
|
+
--font-size-xs: 11px;
|
|
180
|
+
|
|
181
|
+
/* Colors */
|
|
182
|
+
--color-background: var(--background);
|
|
183
|
+
--color-foreground: var(--foreground);
|
|
184
|
+
--color-card: var(--card);
|
|
185
|
+
--color-card-foreground: var(--card-foreground);
|
|
186
|
+
--color-popover: var(--popover);
|
|
187
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
188
|
+
--color-primary: var(--primary);
|
|
189
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
190
|
+
--color-secondary: var(--secondary);
|
|
191
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
192
|
+
--color-muted: var(--muted);
|
|
193
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
194
|
+
--color-accent: var(--accent);
|
|
195
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
196
|
+
--color-destructive: var(--destructive);
|
|
197
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
198
|
+
--color-border: var(--border);
|
|
199
|
+
--color-input: var(--input);
|
|
200
|
+
--color-input-background: var(--input-background);
|
|
201
|
+
--color-switch-background: var(--switch-background);
|
|
202
|
+
--color-ring: var(--ring);
|
|
203
|
+
--color-chart-1: var(--chart-1);
|
|
204
|
+
--color-chart-2: var(--chart-2);
|
|
205
|
+
--color-chart-3: var(--chart-3);
|
|
206
|
+
--color-chart-4: var(--chart-4);
|
|
207
|
+
--color-chart-5: var(--chart-5);
|
|
208
|
+
--color-chart-6: var(--chart-6);
|
|
209
|
+
--color-chart-7: var(--chart-7);
|
|
210
|
+
--color-chart-8: var(--chart-8);
|
|
211
|
+
--color-chart-9: var(--chart-9);
|
|
212
|
+
--color-chart-10: var(--chart-10);
|
|
213
|
+
|
|
214
|
+
/* Border Radius */
|
|
215
|
+
--radius-sm: calc(var(--radius) - 2px);
|
|
216
|
+
--radius-md: var(--radius);
|
|
217
|
+
--radius-lg: calc(var(--radius) + 2px);
|
|
218
|
+
--radius-xl: var(--radius-nav);
|
|
219
|
+
--radius-button: var(--radius-button);
|
|
220
|
+
--radius-card: var(--radius-card);
|
|
221
|
+
--radius-nav: var(--radius-nav);
|
|
222
|
+
--radius-toggle: var(--radius-toggle);
|
|
223
|
+
|
|
224
|
+
/* Shadow */
|
|
225
|
+
--shadow-sm: var(--elevation-sm);
|
|
226
|
+
|
|
227
|
+
/* Sidebar Colors */
|
|
228
|
+
--color-sidebar: var(--sidebar);
|
|
229
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
230
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
231
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
232
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
233
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
234
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
235
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
236
|
+
|
|
237
|
+
/* Animations - tailwindcss-animate 대체 */
|
|
238
|
+
--animate-accordion-down: accordion-down 0.2s ease-out;
|
|
239
|
+
--animate-accordion-up: accordion-up 0.2s ease-out;
|
|
240
|
+
--animate-collapsible-down: collapsible-down 0.2s ease-out;
|
|
241
|
+
--animate-collapsible-up: collapsible-up 0.2s ease-out;
|
|
242
|
+
--animate-fade-in: fade-in 0.2s ease-out;
|
|
243
|
+
--animate-fade-out: fade-out 0.2s ease-out;
|
|
244
|
+
--animate-slide-in-from-top: slide-in-from-top 0.2s ease-out;
|
|
245
|
+
--animate-slide-in-from-bottom: slide-in-from-bottom 0.2s ease-out;
|
|
246
|
+
--animate-slide-in-from-left: slide-in-from-left 0.2s ease-out;
|
|
247
|
+
--animate-slide-in-from-right: slide-in-from-right 0.2s ease-out;
|
|
248
|
+
--animate-slide-out-to-top: slide-out-to-top 0.2s ease-out;
|
|
249
|
+
--animate-slide-out-to-bottom: slide-out-to-bottom 0.2s ease-out;
|
|
250
|
+
--animate-slide-out-to-left: slide-out-to-left 0.2s ease-out;
|
|
251
|
+
--animate-slide-out-to-right: slide-out-to-right 0.2s ease-out;
|
|
252
|
+
--animate-spin: spin 1s linear infinite;
|
|
253
|
+
--animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
254
|
+
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
255
|
+
--animate-bounce: bounce 1s infinite;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
@layer base {
|
|
259
|
+
* {
|
|
260
|
+
border-color: var(--border);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
*:focus-visible {
|
|
264
|
+
outline: 2px solid var(--ring);
|
|
265
|
+
outline-offset: 2px;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
body {
|
|
269
|
+
background: var(--background);
|
|
270
|
+
color: var(--foreground);
|
|
271
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
272
|
+
Roboto, sans-serif;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* Semantic UI의 font-size: 100%를 강제 override (Tailwind v4에서 필수) */
|
|
277
|
+
/* Tailwind utilities보다 높은 우선순위로 적용 */
|
|
278
|
+
@layer utilities {
|
|
279
|
+
.text-base {
|
|
280
|
+
font-size: var(--text-base) !important;
|
|
281
|
+
}
|
|
282
|
+
.text-sm {
|
|
283
|
+
font-size: var(--text-sm) !important;
|
|
284
|
+
}
|
|
285
|
+
.text-lg {
|
|
286
|
+
font-size: var(--text-lg) !important;
|
|
287
|
+
}
|
|
288
|
+
.text-xl {
|
|
289
|
+
font-size: var(--text-xl) !important;
|
|
290
|
+
}
|
|
291
|
+
.text-2xl {
|
|
292
|
+
font-size: var(--text-2xl) !important;
|
|
293
|
+
}
|
|
294
|
+
.text-xs {
|
|
295
|
+
font-size: var(--text-xs) !important;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
|
|
301
|
+
*/
|
|
302
|
+
@layer base {
|
|
303
|
+
:where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) {
|
|
304
|
+
h1 {
|
|
305
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
306
|
+
Roboto, sans-serif;
|
|
307
|
+
font-size: var(--text-2xl);
|
|
308
|
+
font-weight: var(--font-weight-medium);
|
|
309
|
+
line-height: 1.5;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
h2 {
|
|
313
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
314
|
+
Roboto, sans-serif;
|
|
315
|
+
font-size: var(--text-xl);
|
|
316
|
+
font-weight: var(--font-weight-medium);
|
|
317
|
+
line-height: 1.5;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
h3 {
|
|
321
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
322
|
+
Roboto, sans-serif;
|
|
323
|
+
font-size: var(--text-lg);
|
|
324
|
+
font-weight: var(--font-weight-medium);
|
|
325
|
+
line-height: 1.5;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
h4 {
|
|
329
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
330
|
+
Roboto, sans-serif;
|
|
331
|
+
font-size: var(--text-base);
|
|
332
|
+
font-weight: var(--font-weight-medium);
|
|
333
|
+
line-height: 1.5;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
p {
|
|
337
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
338
|
+
Roboto, sans-serif;
|
|
339
|
+
font-size: var(--text-base);
|
|
340
|
+
font-weight: var(--font-weight-normal);
|
|
341
|
+
line-height: 1.5;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
label {
|
|
345
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
346
|
+
Roboto, sans-serif;
|
|
347
|
+
font-size: var(--text-sm);
|
|
348
|
+
font-weight: var(--font-weight-normal);
|
|
349
|
+
line-height: 1.5;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
button {
|
|
353
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
354
|
+
Roboto, sans-serif;
|
|
355
|
+
font-size: var(--text-base);
|
|
356
|
+
font-weight: var(--font-weight-medium);
|
|
357
|
+
line-height: 1.5;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
input {
|
|
361
|
+
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui,
|
|
362
|
+
Roboto, sans-serif;
|
|
363
|
+
font-size: var(--text-base);
|
|
364
|
+
font-weight: var(--font-weight-normal);
|
|
365
|
+
line-height: 1.5;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
html {
|
|
371
|
+
font-size: var(--font-size);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/* Custom Scrollbar Styles */
|
|
375
|
+
::-webkit-scrollbar {
|
|
376
|
+
width: 8px;
|
|
377
|
+
height: 8px;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
::-webkit-scrollbar-track {
|
|
381
|
+
background: transparent;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
::-webkit-scrollbar-thumb {
|
|
385
|
+
background: var(--border);
|
|
386
|
+
border-radius: var(--radius);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
::-webkit-scrollbar-thumb:hover {
|
|
390
|
+
background: var(--muted-foreground);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/* Firefox */
|
|
394
|
+
* {
|
|
395
|
+
scrollbar-width: thin;
|
|
396
|
+
scrollbar-color: var(--border) transparent;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* Custom component styles */
|
|
400
|
+
@layer components {
|
|
401
|
+
/* Sidebar link styles - reset default anchor styles */
|
|
402
|
+
[data-sidebar] a,
|
|
403
|
+
[data-slot="sidebar"] a,
|
|
404
|
+
[data-slot="sidebar-menu-sub-button"] {
|
|
405
|
+
color: inherit !important;
|
|
406
|
+
text-decoration: none !important;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
[data-slot="sidebar-menu-sub-button"]:hover,
|
|
410
|
+
[data-sidebar] a:hover {
|
|
411
|
+
color: var(--sidebar-accent-foreground) !important;
|
|
412
|
+
background-color: var(--sidebar-accent) !important;
|
|
413
|
+
text-decoration: none !important;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
[data-slot="sidebar-menu-sub-button"][data-active="true"] {
|
|
417
|
+
color: var(--sidebar-accent-foreground) !important;
|
|
418
|
+
background-color: var(--sidebar-accent) !important;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
[data-slot="pagination-link"] {
|
|
422
|
+
display: inline-flex;
|
|
423
|
+
align-items: center;
|
|
424
|
+
justify-content: center;
|
|
425
|
+
height: 2rem;
|
|
426
|
+
width: 2rem;
|
|
427
|
+
border-radius: var(--radius-md);
|
|
428
|
+
font-size: var(--text-sm);
|
|
429
|
+
font-weight: var(--font-weight-medium);
|
|
430
|
+
transition: all 0.2s;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
[data-slot="pagination-ellipsis"] {
|
|
434
|
+
display: flex;
|
|
435
|
+
align-items: center;
|
|
436
|
+
justify-content: center;
|
|
437
|
+
height: 2rem;
|
|
438
|
+
width: 2rem;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
[data-slot="table-container"] {
|
|
442
|
+
border-radius: var(--radius-card);
|
|
443
|
+
overflow: hidden;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
[data-slot="table-row"] {
|
|
447
|
+
border-color: color-mix(in srgb, var(--border) 40%, transparent);
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* Calendar date range styles - react-day-picker v8 */
|
|
451
|
+
.rdp {
|
|
452
|
+
--rdp-cell-size: 2rem;
|
|
453
|
+
--rdp-accent-color: var(--primary);
|
|
454
|
+
--rdp-background-color: var(--primary);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/* Range selection - start date */
|
|
458
|
+
.rdp-day_range_start:not(.rdp-day_range_end) {
|
|
459
|
+
background-color: var(--primary) !important;
|
|
460
|
+
color: var(--primary-foreground) !important;
|
|
461
|
+
border-radius: var(--radius-md) 0 0 var(--radius-md) !important;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/* Range selection - end date */
|
|
465
|
+
.rdp-day_range_end:not(.rdp-day_range_start) {
|
|
466
|
+
background-color: var(--primary) !important;
|
|
467
|
+
color: var(--primary-foreground) !important;
|
|
468
|
+
border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/* Range selection - single day (start = end) */
|
|
472
|
+
.rdp-day_range_start.rdp-day_range_end {
|
|
473
|
+
background-color: var(--primary) !important;
|
|
474
|
+
color: var(--primary-foreground) !important;
|
|
475
|
+
border-radius: var(--radius-md) !important;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/* Range selection - middle dates (연결된 배경) */
|
|
479
|
+
.rdp-day_range_middle {
|
|
480
|
+
background-color: color-mix(
|
|
481
|
+
in srgb,
|
|
482
|
+
var(--primary) 15%,
|
|
483
|
+
transparent
|
|
484
|
+
) !important;
|
|
485
|
+
border-radius: 0 !important;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/* Hover states */
|
|
489
|
+
.rdp-day:not(.rdp-day_selected):not(.rdp-day_range_start):not(
|
|
490
|
+
.rdp-day_range_end
|
|
491
|
+
):not(.rdp-day_range_middle):hover {
|
|
492
|
+
background-color: var(--secondary) !important;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/* Selected single date */
|
|
496
|
+
.rdp-day_selected:not(.rdp-day_range_start):not(.rdp-day_range_end):not(
|
|
497
|
+
.rdp-day_range_middle
|
|
498
|
+
) {
|
|
499
|
+
background-color: var(--primary) !important;
|
|
500
|
+
color: var(--primary-foreground) !important;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/* Keyframe animations - tailwindcss-animate 대체 */
|
|
505
|
+
@keyframes accordion-down {
|
|
506
|
+
from {
|
|
507
|
+
height: 0;
|
|
508
|
+
}
|
|
509
|
+
to {
|
|
510
|
+
height: var(--radix-accordion-content-height);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
@keyframes accordion-up {
|
|
515
|
+
from {
|
|
516
|
+
height: var(--radix-accordion-content-height);
|
|
517
|
+
}
|
|
518
|
+
to {
|
|
519
|
+
height: 0;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
@keyframes collapsible-down {
|
|
524
|
+
from {
|
|
525
|
+
height: 0;
|
|
526
|
+
}
|
|
527
|
+
to {
|
|
528
|
+
height: var(--radix-collapsible-content-height);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
@keyframes collapsible-up {
|
|
533
|
+
from {
|
|
534
|
+
height: var(--radix-collapsible-content-height);
|
|
535
|
+
}
|
|
536
|
+
to {
|
|
537
|
+
height: 0;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
@keyframes fade-in {
|
|
542
|
+
from {
|
|
543
|
+
opacity: 0;
|
|
544
|
+
}
|
|
545
|
+
to {
|
|
546
|
+
opacity: 1;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
@keyframes fade-out {
|
|
551
|
+
from {
|
|
552
|
+
opacity: 1;
|
|
553
|
+
}
|
|
554
|
+
to {
|
|
555
|
+
opacity: 0;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
@keyframes slide-in-from-top {
|
|
560
|
+
from {
|
|
561
|
+
transform: translateY(-100%);
|
|
562
|
+
}
|
|
563
|
+
to {
|
|
564
|
+
transform: translateY(0);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
@keyframes slide-in-from-bottom {
|
|
569
|
+
from {
|
|
570
|
+
transform: translateY(100%);
|
|
571
|
+
}
|
|
572
|
+
to {
|
|
573
|
+
transform: translateY(0);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
@keyframes slide-in-from-left {
|
|
578
|
+
from {
|
|
579
|
+
transform: translateX(-100%);
|
|
580
|
+
}
|
|
581
|
+
to {
|
|
582
|
+
transform: translateX(0);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
@keyframes slide-in-from-right {
|
|
587
|
+
from {
|
|
588
|
+
transform: translateX(100%);
|
|
589
|
+
}
|
|
590
|
+
to {
|
|
591
|
+
transform: translateX(0);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
@keyframes slide-out-to-top {
|
|
596
|
+
from {
|
|
597
|
+
transform: translateY(0);
|
|
598
|
+
}
|
|
599
|
+
to {
|
|
600
|
+
transform: translateY(-100%);
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
@keyframes slide-out-to-bottom {
|
|
605
|
+
from {
|
|
606
|
+
transform: translateY(0);
|
|
607
|
+
}
|
|
608
|
+
to {
|
|
609
|
+
transform: translateY(100%);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
@keyframes slide-out-to-left {
|
|
614
|
+
from {
|
|
615
|
+
transform: translateX(0);
|
|
616
|
+
}
|
|
617
|
+
to {
|
|
618
|
+
transform: translateX(-100%);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
@keyframes slide-out-to-right {
|
|
623
|
+
from {
|
|
624
|
+
transform: translateX(0);
|
|
625
|
+
}
|
|
626
|
+
to {
|
|
627
|
+
transform: translateX(100%);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
@keyframes spin {
|
|
632
|
+
to {
|
|
633
|
+
transform: rotate(360deg);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
@keyframes ping {
|
|
638
|
+
75%,
|
|
639
|
+
100% {
|
|
640
|
+
transform: scale(2);
|
|
641
|
+
opacity: 0;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
@keyframes pulse {
|
|
646
|
+
50% {
|
|
647
|
+
opacity: 0.5;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
@keyframes bounce {
|
|
652
|
+
0%,
|
|
653
|
+
100% {
|
|
654
|
+
transform: translateY(-25%);
|
|
655
|
+
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
656
|
+
}
|
|
657
|
+
50% {
|
|
658
|
+
transform: none;
|
|
659
|
+
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
660
|
+
}
|
|
661
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonamu-kit/react-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "CartaNova <dev@cartanova.ai>",
|
|
6
6
|
"repository": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"types": "./dist/router/index.d.ts",
|
|
35
35
|
"import": "./dist/react-components.es.js"
|
|
36
36
|
},
|
|
37
|
-
"./styles": "./
|
|
37
|
+
"./styles": "./dist/styles/globals.css"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@hookform/resolvers": "^5.2.2",
|