@likelion-design/ui 0.1.4 → 0.1.5
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/index.css +197 -202
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +89 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +89 -34
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -1,4 +1,199 @@
|
|
|
1
|
-
/* src/
|
|
1
|
+
/* src/styles.css */
|
|
2
|
+
:root {
|
|
3
|
+
--background: #ffffff;
|
|
4
|
+
--foreground: #171717;
|
|
5
|
+
--color-background: var(--background);
|
|
6
|
+
--color-foreground: var(--foreground);
|
|
7
|
+
--font-sans: var(--font-geist-sans);
|
|
8
|
+
--font-mono: var(--font-geist-mono);
|
|
9
|
+
--color-static-white: #ffffff;
|
|
10
|
+
--color-static-black: #000000;
|
|
11
|
+
--color-static-gradation-primary:
|
|
12
|
+
linear-gradient(
|
|
13
|
+
|
|
14
|
+
180deg,
|
|
15
|
+
#ffc74e 0%,
|
|
16
|
+
var(--color-primary-500) 100% );
|
|
17
|
+
--color-static-gradation-dark:
|
|
18
|
+
radial-gradient(
|
|
19
|
+
|
|
20
|
+
circle,
|
|
21
|
+
#191f28 0%,
|
|
22
|
+
#993a00 100% );
|
|
23
|
+
--color-static-gradation-black:
|
|
24
|
+
linear-gradient(
|
|
25
|
+
|
|
26
|
+
180deg,
|
|
27
|
+
var(--color-static-black) 0%,
|
|
28
|
+
var(--color-static-black) 100% );
|
|
29
|
+
--color-static-gradation-white:
|
|
30
|
+
linear-gradient(
|
|
31
|
+
|
|
32
|
+
180deg,
|
|
33
|
+
var(--color-static-white) 0%,
|
|
34
|
+
var(--color-static-white) 100% );
|
|
35
|
+
--color-static-dim: rgba(0, 0, 0, 0.5);
|
|
36
|
+
--color-primary-50: #ffefe5;
|
|
37
|
+
--color-primary-100: #ffdfcc;
|
|
38
|
+
--color-primary-200: #ffbf99;
|
|
39
|
+
--color-primary-300: #ffa066;
|
|
40
|
+
--color-primary-400: #ff8033;
|
|
41
|
+
--color-primary-500: #ff6000;
|
|
42
|
+
--color-primary-600: #cc4d00;
|
|
43
|
+
--color-primary-700: #993a00;
|
|
44
|
+
--color-primary-800: #662600;
|
|
45
|
+
--color-primary-900: #4d1d00;
|
|
46
|
+
--color-gray-50: #f9fafb;
|
|
47
|
+
--color-gray-100: #f3f4f6;
|
|
48
|
+
--color-gray-200: #e5e7ea;
|
|
49
|
+
--color-gray-300: #d1d6dc;
|
|
50
|
+
--color-gray-400: #b1b8c0;
|
|
51
|
+
--color-gray-500: #8a95a0;
|
|
52
|
+
--color-gray-600: #6b7583;
|
|
53
|
+
--color-gray-700: #4e5967;
|
|
54
|
+
--color-gray-800: #333d4b;
|
|
55
|
+
--color-gray-850: #262f3c;
|
|
56
|
+
--color-gray-900: #191f28;
|
|
57
|
+
--color-yellow-50: #fef7cd;
|
|
58
|
+
--color-yellow-100: #feee9a;
|
|
59
|
+
--color-yellow-200: #fde876;
|
|
60
|
+
--color-yellow-300: #fdd600;
|
|
61
|
+
--color-yellow-400: #efc100;
|
|
62
|
+
--color-yellow-500: #be9b00;
|
|
63
|
+
--color-yellow-600: #8c7300;
|
|
64
|
+
--color-yellow-700: #735f00;
|
|
65
|
+
--color-yellow-800: #574a00;
|
|
66
|
+
--color-yellow-900: #3c3200;
|
|
67
|
+
--color-lightgreen-50: #e9f7d4;
|
|
68
|
+
--color-lightgreen-100: #d7f2b1;
|
|
69
|
+
--color-lightgreen-200: #c7ec93;
|
|
70
|
+
--color-lightgreen-300: #b0d55c;
|
|
71
|
+
--color-lightgreen-400: #89c81b;
|
|
72
|
+
--color-lightgreen-500: #79b116;
|
|
73
|
+
--color-lightgreen-600: #4a7f05;
|
|
74
|
+
--color-lightgreen-700: #2d660a;
|
|
75
|
+
--color-lightgreen-800: #144d14;
|
|
76
|
+
--color-lightgreen-900: #0a3c02;
|
|
77
|
+
--color-green-50: #d3f8ef;
|
|
78
|
+
--color-green-100: #c4f8eb;
|
|
79
|
+
--color-green-200: #b4edde;
|
|
80
|
+
--color-green-300: #7eddcd;
|
|
81
|
+
--color-green-400: #4fc8b8;
|
|
82
|
+
--color-green-500: #0da796;
|
|
83
|
+
--color-green-600: #05806d;
|
|
84
|
+
--color-green-700: #006d5d;
|
|
85
|
+
--color-green-800: #005448;
|
|
86
|
+
--color-green-900: #003c32;
|
|
87
|
+
--color-blue-50: #dbf1ff;
|
|
88
|
+
--color-blue-100: #ccebff;
|
|
89
|
+
--color-blue-200: #c0e6ff;
|
|
90
|
+
--color-blue-300: #80c6fb;
|
|
91
|
+
--color-blue-400: #6daae7;
|
|
92
|
+
--color-blue-500: #3d94ff;
|
|
93
|
+
--color-blue-600: #2077e5;
|
|
94
|
+
--color-blue-700: #045ca9;
|
|
95
|
+
--color-blue-800: #004875;
|
|
96
|
+
--color-blue-900: #1d3649;
|
|
97
|
+
--color-purple-50: #f5e5ff;
|
|
98
|
+
--color-purple-100: #f0d6ff;
|
|
99
|
+
--color-purple-200: #eac7ff;
|
|
100
|
+
--color-purple-300: #d7aaff;
|
|
101
|
+
--color-purple-400: #ba8ff7;
|
|
102
|
+
--color-purple-500: #af79dd;
|
|
103
|
+
--color-purple-600: #9855d4;
|
|
104
|
+
--color-purple-700: #734098;
|
|
105
|
+
--color-purple-800: #5d327b;
|
|
106
|
+
--color-purple-900: #412356;
|
|
107
|
+
--color-pink-50: #ffe5ff;
|
|
108
|
+
--color-pink-100: #ffd2ff;
|
|
109
|
+
--color-pink-200: #ffc2ff;
|
|
110
|
+
--color-pink-300: #ff9eee;
|
|
111
|
+
--color-pink-400: #ef81ce;
|
|
112
|
+
--color-pink-500: #d3689f;
|
|
113
|
+
--color-pink-600: #c14180;
|
|
114
|
+
--color-pink-700: #a02c6d;
|
|
115
|
+
--color-pink-800: #7c1c58;
|
|
116
|
+
--color-pink-900: #601146;
|
|
117
|
+
--color-red-50: #ffe5ec;
|
|
118
|
+
--color-red-100: #ffccd8;
|
|
119
|
+
--color-red-200: #ffb8c9;
|
|
120
|
+
--color-red-300: #ffa5b4;
|
|
121
|
+
--color-red-400: #f7858e;
|
|
122
|
+
--color-red-500: #ea6565;
|
|
123
|
+
--color-red-600: #e12337;
|
|
124
|
+
--color-red-700: #ad1625;
|
|
125
|
+
--color-red-800: #8c101c;
|
|
126
|
+
--color-red-900: #6e0a1e;
|
|
127
|
+
--color-semantic-fg-primary: var(--color-primary-500);
|
|
128
|
+
--color-semantic-fg-pressed: var(--color-primary-600);
|
|
129
|
+
--color-semantic-fg-inverted: var(--color-static-white);
|
|
130
|
+
--color-semantic-fg-strong: var(--color-static-black);
|
|
131
|
+
--color-semantic-fg-normal: var(--color-gray-800);
|
|
132
|
+
--color-semantic-fg-neutral: var(--color-gray-700);
|
|
133
|
+
--color-semantic-fg-alternative: var(--color-gray-600);
|
|
134
|
+
--color-semantic-fg-assistive: var(--color-gray-500);
|
|
135
|
+
--color-semantic-fg-disabled: var(--color-gray-400);
|
|
136
|
+
--color-semantic-fg-yellow: var(--color-yellow-500);
|
|
137
|
+
--color-semantic-fg-lightgreen: var(--color-lightgreen-500);
|
|
138
|
+
--color-semantic-fg-green: var(--color-green-500);
|
|
139
|
+
--color-semantic-fg-blue: var(--color-blue-500);
|
|
140
|
+
--color-semantic-fg-purple: var(--color-purple-500);
|
|
141
|
+
--color-semantic-fg-pink: var(--color-pink-500);
|
|
142
|
+
--color-semantic-fg-red: var(--color-red-500);
|
|
143
|
+
--color-semantic-fg-black: var(--color-static-black);
|
|
144
|
+
--color-semantic-fg-white: var(--color-static-white);
|
|
145
|
+
--color-semantic-bg-normal: var(--color-gray-100);
|
|
146
|
+
--color-semantic-bg-normal-hovered: var(--color-gray-50);
|
|
147
|
+
--color-semantic-bg-normal-alternative: var(--color-gray-200);
|
|
148
|
+
--color-semantic-bg-normal-assistive: var(--color-gray-50);
|
|
149
|
+
--color-semantic-bg-normal-disabled: var(--color-gray-100);
|
|
150
|
+
--color-semantic-bg-inverted: var(--color-gray-900);
|
|
151
|
+
--color-semantic-bg-hovered: var(--color-gray-850);
|
|
152
|
+
--color-semantic-bg-primary: var(--color-primary-500);
|
|
153
|
+
--color-semantic-bg-primary-hovered: var(--color-primary-600);
|
|
154
|
+
--color-semantic-bg-primary-weak: var(--color-primary-50);
|
|
155
|
+
--color-semantic-bg-lightgreen: var(--color-lightgreen-50);
|
|
156
|
+
--color-semantic-bg-yellow: var(--color-yellow-50);
|
|
157
|
+
--color-semantic-bg-green: var(--color-green-50);
|
|
158
|
+
--color-semantic-bg-blue: var(--color-blue-50);
|
|
159
|
+
--color-semantic-bg-purple: var(--color-purple-50);
|
|
160
|
+
--color-semantic-bg-pink: var(--color-pink-50);
|
|
161
|
+
--color-semantic-bg-red: var(--color-red-50);
|
|
162
|
+
--color-semantic-bg-black: var(--color-static-black);
|
|
163
|
+
--color-semantic-bg-white: var(--color-static-white);
|
|
164
|
+
--color-semantic-bg-week-primary: rgba(255, 96, 0, 0.08);
|
|
165
|
+
--color-semantic-bg-week-primary-hovered: rgba(255, 96, 0, 0.16);
|
|
166
|
+
--color-semantic-bg-week-neutral-dark: rgba(0, 0, 0, 0.08);
|
|
167
|
+
--color-semantic-bg-week-neutral-dark-hovered: rgba(0, 0, 0, 0.16);
|
|
168
|
+
--color-semantic-bg-week-neutral-light: rgba(255, 255, 255, 0.08);
|
|
169
|
+
--color-semantic-bg-week-neutral-light-hovered: rgba(255, 255, 255, 0.16);
|
|
170
|
+
--color-semantic-border-primary: var(--color-primary-500);
|
|
171
|
+
--color-semantic-border-strong: var(--color-gray-800);
|
|
172
|
+
--color-semantic-border-normal: var(--color-gray-300);
|
|
173
|
+
--color-semantic-border-weak: var(--color-gray-200);
|
|
174
|
+
--color-semantic-border-white: var(--color-static-white);
|
|
175
|
+
--color-semantic-border-black: var(--color-static-black);
|
|
176
|
+
--color-semantic-border-inverted: var(--color-gray-700);
|
|
177
|
+
--color-semantic-border-inverted-strong: var(--color-gray-600);
|
|
178
|
+
--color-semantic-info-negative: var(--color-red-600);
|
|
179
|
+
--color-semantic-info-positive: var(--color-green-500);
|
|
180
|
+
--color-semantic-info-black: var(--color-static-black);
|
|
181
|
+
--color-semantic-info-white: var(--color-static-white);
|
|
182
|
+
}
|
|
183
|
+
@media (prefers-color-scheme: dark) {
|
|
184
|
+
:root {
|
|
185
|
+
--background: #0a0a0a;
|
|
186
|
+
--foreground: #ededed;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
body {
|
|
190
|
+
background: var(--background);
|
|
191
|
+
color: var(--foreground);
|
|
192
|
+
font-family:
|
|
193
|
+
Arial,
|
|
194
|
+
Helvetica,
|
|
195
|
+
sans-serif;
|
|
196
|
+
}
|
|
2
197
|
.storybook-button {
|
|
3
198
|
display: inline-block;
|
|
4
199
|
cursor: pointer;
|
|
@@ -412,8 +607,6 @@
|
|
|
412
607
|
.icon-button--neutral.icon-button--weak.dark.icon-button--hovered:not(:disabled) {
|
|
413
608
|
background-color: rgba(255, 255, 255, 0.1);
|
|
414
609
|
}
|
|
415
|
-
|
|
416
|
-
/* src/stories/header.css */
|
|
417
610
|
.storybook-header {
|
|
418
611
|
display: flex;
|
|
419
612
|
justify-content: space-between;
|
|
@@ -447,8 +640,6 @@
|
|
|
447
640
|
color: #333;
|
|
448
641
|
font-size: 14px;
|
|
449
642
|
}
|
|
450
|
-
|
|
451
|
-
/* src/stories/page.css */
|
|
452
643
|
.storybook-page {
|
|
453
644
|
margin: 0 auto;
|
|
454
645
|
padding: 48px 20px;
|
|
@@ -513,201 +704,5 @@
|
|
|
513
704
|
.storybook-page .tip-wrapper svg path {
|
|
514
705
|
fill: #1ea7fd;
|
|
515
706
|
}
|
|
516
|
-
|
|
517
|
-
/* src/styles/globals.css */
|
|
518
|
-
:root {
|
|
519
|
-
--background: #ffffff;
|
|
520
|
-
--foreground: #171717;
|
|
521
|
-
--color-background: var(--background);
|
|
522
|
-
--color-foreground: var(--foreground);
|
|
523
|
-
--font-sans: var(--font-geist-sans);
|
|
524
|
-
--font-mono: var(--font-geist-mono);
|
|
525
|
-
--color-static-white: #ffffff;
|
|
526
|
-
--color-static-black: #000000;
|
|
527
|
-
--color-static-gradation-primary:
|
|
528
|
-
linear-gradient(
|
|
529
|
-
|
|
530
|
-
180deg,
|
|
531
|
-
#ffc74e 0%,
|
|
532
|
-
var(--color-primary-500) 100% );
|
|
533
|
-
--color-static-gradation-dark:
|
|
534
|
-
radial-gradient(
|
|
535
|
-
|
|
536
|
-
circle,
|
|
537
|
-
#191f28 0%,
|
|
538
|
-
#993a00 100% );
|
|
539
|
-
--color-static-gradation-black:
|
|
540
|
-
linear-gradient(
|
|
541
|
-
|
|
542
|
-
180deg,
|
|
543
|
-
var(--color-static-black) 0%,
|
|
544
|
-
var(--color-static-black) 100% );
|
|
545
|
-
--color-static-gradation-white:
|
|
546
|
-
linear-gradient(
|
|
547
|
-
|
|
548
|
-
180deg,
|
|
549
|
-
var(--color-static-white) 0%,
|
|
550
|
-
var(--color-static-white) 100% );
|
|
551
|
-
--color-static-dim: rgba(0, 0, 0, 0.5);
|
|
552
|
-
--color-primary-50: #ffefe5;
|
|
553
|
-
--color-primary-100: #ffdfcc;
|
|
554
|
-
--color-primary-200: #ffbf99;
|
|
555
|
-
--color-primary-300: #ffa066;
|
|
556
|
-
--color-primary-400: #ff8033;
|
|
557
|
-
--color-primary-500: #ff6000;
|
|
558
|
-
--color-primary-600: #cc4d00;
|
|
559
|
-
--color-primary-700: #993a00;
|
|
560
|
-
--color-primary-800: #662600;
|
|
561
|
-
--color-primary-900: #4d1d00;
|
|
562
|
-
--color-gray-50: #f9fafb;
|
|
563
|
-
--color-gray-100: #f3f4f6;
|
|
564
|
-
--color-gray-200: #e5e7ea;
|
|
565
|
-
--color-gray-300: #d1d6dc;
|
|
566
|
-
--color-gray-400: #b1b8c0;
|
|
567
|
-
--color-gray-500: #8a95a0;
|
|
568
|
-
--color-gray-600: #6b7583;
|
|
569
|
-
--color-gray-700: #4e5967;
|
|
570
|
-
--color-gray-800: #333d4b;
|
|
571
|
-
--color-gray-850: #262f3c;
|
|
572
|
-
--color-gray-900: #191f28;
|
|
573
|
-
--color-yellow-50: #fef7cd;
|
|
574
|
-
--color-yellow-100: #feee9a;
|
|
575
|
-
--color-yellow-200: #fde876;
|
|
576
|
-
--color-yellow-300: #fdd600;
|
|
577
|
-
--color-yellow-400: #efc100;
|
|
578
|
-
--color-yellow-500: #be9b00;
|
|
579
|
-
--color-yellow-600: #8c7300;
|
|
580
|
-
--color-yellow-700: #735f00;
|
|
581
|
-
--color-yellow-800: #574a00;
|
|
582
|
-
--color-yellow-900: #3c3200;
|
|
583
|
-
--color-lightgreen-50: #e9f7d4;
|
|
584
|
-
--color-lightgreen-100: #d7f2b1;
|
|
585
|
-
--color-lightgreen-200: #c7ec93;
|
|
586
|
-
--color-lightgreen-300: #b0d55c;
|
|
587
|
-
--color-lightgreen-400: #89c81b;
|
|
588
|
-
--color-lightgreen-500: #79b116;
|
|
589
|
-
--color-lightgreen-600: #4a7f05;
|
|
590
|
-
--color-lightgreen-700: #2d660a;
|
|
591
|
-
--color-lightgreen-800: #144d14;
|
|
592
|
-
--color-lightgreen-900: #0a3c02;
|
|
593
|
-
--color-green-50: #d3f8ef;
|
|
594
|
-
--color-green-100: #c4f8eb;
|
|
595
|
-
--color-green-200: #b4edde;
|
|
596
|
-
--color-green-300: #7eddcd;
|
|
597
|
-
--color-green-400: #4fc8b8;
|
|
598
|
-
--color-green-500: #0da796;
|
|
599
|
-
--color-green-600: #05806d;
|
|
600
|
-
--color-green-700: #006d5d;
|
|
601
|
-
--color-green-800: #005448;
|
|
602
|
-
--color-green-900: #003c32;
|
|
603
|
-
--color-blue-50: #dbf1ff;
|
|
604
|
-
--color-blue-100: #ccebff;
|
|
605
|
-
--color-blue-200: #c0e6ff;
|
|
606
|
-
--color-blue-300: #80c6fb;
|
|
607
|
-
--color-blue-400: #6daae7;
|
|
608
|
-
--color-blue-500: #3d94ff;
|
|
609
|
-
--color-blue-600: #2077e5;
|
|
610
|
-
--color-blue-700: #045ca9;
|
|
611
|
-
--color-blue-800: #004875;
|
|
612
|
-
--color-blue-900: #1d3649;
|
|
613
|
-
--color-purple-50: #f5e5ff;
|
|
614
|
-
--color-purple-100: #f0d6ff;
|
|
615
|
-
--color-purple-200: #eac7ff;
|
|
616
|
-
--color-purple-300: #d7aaff;
|
|
617
|
-
--color-purple-400: #ba8ff7;
|
|
618
|
-
--color-purple-500: #af79dd;
|
|
619
|
-
--color-purple-600: #9855d4;
|
|
620
|
-
--color-purple-700: #734098;
|
|
621
|
-
--color-purple-800: #5d327b;
|
|
622
|
-
--color-purple-900: #412356;
|
|
623
|
-
--color-pink-50: #ffe5ff;
|
|
624
|
-
--color-pink-100: #ffd2ff;
|
|
625
|
-
--color-pink-200: #ffc2ff;
|
|
626
|
-
--color-pink-300: #ff9eee;
|
|
627
|
-
--color-pink-400: #ef81ce;
|
|
628
|
-
--color-pink-500: #d3689f;
|
|
629
|
-
--color-pink-600: #c14180;
|
|
630
|
-
--color-pink-700: #a02c6d;
|
|
631
|
-
--color-pink-800: #7c1c58;
|
|
632
|
-
--color-pink-900: #601146;
|
|
633
|
-
--color-red-50: #ffe5ec;
|
|
634
|
-
--color-red-100: #ffccd8;
|
|
635
|
-
--color-red-200: #ffb8c9;
|
|
636
|
-
--color-red-300: #ffa5b4;
|
|
637
|
-
--color-red-400: #f7858e;
|
|
638
|
-
--color-red-500: #ea6565;
|
|
639
|
-
--color-red-600: #e12337;
|
|
640
|
-
--color-red-700: #ad1625;
|
|
641
|
-
--color-red-800: #8c101c;
|
|
642
|
-
--color-red-900: #6e0a1e;
|
|
643
|
-
--color-semantic-fg-primary: var(--color-primary-500);
|
|
644
|
-
--color-semantic-fg-pressed: var(--color-primary-600);
|
|
645
|
-
--color-semantic-fg-inverted: var(--color-static-white);
|
|
646
|
-
--color-semantic-fg-strong: var(--color-static-black);
|
|
647
|
-
--color-semantic-fg-normal: var(--color-gray-800);
|
|
648
|
-
--color-semantic-fg-neutral: var(--color-gray-700);
|
|
649
|
-
--color-semantic-fg-alternative: var(--color-gray-600);
|
|
650
|
-
--color-semantic-fg-assistive: var(--color-gray-500);
|
|
651
|
-
--color-semantic-fg-disabled: var(--color-gray-400);
|
|
652
|
-
--color-semantic-fg-yellow: var(--color-yellow-500);
|
|
653
|
-
--color-semantic-fg-lightgreen: var(--color-lightgreen-500);
|
|
654
|
-
--color-semantic-fg-green: var(--color-green-500);
|
|
655
|
-
--color-semantic-fg-blue: var(--color-blue-500);
|
|
656
|
-
--color-semantic-fg-purple: var(--color-purple-500);
|
|
657
|
-
--color-semantic-fg-pink: var(--color-pink-500);
|
|
658
|
-
--color-semantic-fg-red: var(--color-red-500);
|
|
659
|
-
--color-semantic-fg-black: var(--color-static-black);
|
|
660
|
-
--color-semantic-fg-white: var(--color-static-white);
|
|
661
|
-
--color-semantic-bg-normal: var(--color-gray-100);
|
|
662
|
-
--color-semantic-bg-normal-hovered: var(--color-gray-50);
|
|
663
|
-
--color-semantic-bg-normal-alternative: var(--color-gray-200);
|
|
664
|
-
--color-semantic-bg-normal-assistive: var(--color-gray-50);
|
|
665
|
-
--color-semantic-bg-normal-disabled: var(--color-gray-100);
|
|
666
|
-
--color-semantic-bg-inverted: var(--color-gray-900);
|
|
667
|
-
--color-semantic-bg-hovered: var(--color-gray-850);
|
|
668
|
-
--color-semantic-bg-primary: var(--color-primary-500);
|
|
669
|
-
--color-semantic-bg-primary-hovered: var(--color-primary-600);
|
|
670
|
-
--color-semantic-bg-primary-weak: var(--color-primary-50);
|
|
671
|
-
--color-semantic-bg-lightgreen: var(--color-lightgreen-50);
|
|
672
|
-
--color-semantic-bg-yellow: var(--color-yellow-50);
|
|
673
|
-
--color-semantic-bg-green: var(--color-green-50);
|
|
674
|
-
--color-semantic-bg-blue: var(--color-blue-50);
|
|
675
|
-
--color-semantic-bg-purple: var(--color-purple-50);
|
|
676
|
-
--color-semantic-bg-pink: var(--color-pink-50);
|
|
677
|
-
--color-semantic-bg-red: var(--color-red-50);
|
|
678
|
-
--color-semantic-bg-black: var(--color-static-black);
|
|
679
|
-
--color-semantic-bg-white: var(--color-static-white);
|
|
680
|
-
--color-semantic-bg-week-primary: rgba(255, 96, 0, 0.08);
|
|
681
|
-
--color-semantic-bg-week-primary-hovered: rgba(255, 96, 0, 0.16);
|
|
682
|
-
--color-semantic-bg-week-neutral-dark: rgba(0, 0, 0, 0.08);
|
|
683
|
-
--color-semantic-bg-week-neutral-dark-hovered: rgba(0, 0, 0, 0.16);
|
|
684
|
-
--color-semantic-bg-week-neutral-light: rgba(255, 255, 255, 0.08);
|
|
685
|
-
--color-semantic-bg-week-neutral-light-hovered: rgba(255, 255, 255, 0.16);
|
|
686
|
-
--color-semantic-border-primary: var(--color-primary-500);
|
|
687
|
-
--color-semantic-border-strong: var(--color-gray-800);
|
|
688
|
-
--color-semantic-border-normal: var(--color-gray-300);
|
|
689
|
-
--color-semantic-border-weak: var(--color-gray-200);
|
|
690
|
-
--color-semantic-border-white: var(--color-static-white);
|
|
691
|
-
--color-semantic-border-black: var(--color-static-black);
|
|
692
|
-
--color-semantic-border-inverted: var(--color-gray-700);
|
|
693
|
-
--color-semantic-border-inverted-strong: var(--color-gray-600);
|
|
694
|
-
--color-semantic-info-negative: var(--color-red-600);
|
|
695
|
-
--color-semantic-info-positive: var(--color-green-500);
|
|
696
|
-
--color-semantic-info-black: var(--color-static-black);
|
|
697
|
-
--color-semantic-info-white: var(--color-static-white);
|
|
698
|
-
}
|
|
699
|
-
@media (prefers-color-scheme: dark) {
|
|
700
|
-
:root {
|
|
701
|
-
--background: #0a0a0a;
|
|
702
|
-
--foreground: #ededed;
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
body {
|
|
706
|
-
background: var(--background);
|
|
707
|
-
color: var(--foreground);
|
|
708
|
-
font-family:
|
|
709
|
-
Arial,
|
|
710
|
-
Helvetica,
|
|
711
|
-
sans-serif;
|
|
712
|
-
}
|
|
707
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
|
|
713
708
|
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/stories/button.css","../src/stories/header.css","../src/stories/page.css","../src/styles/globals.css"],"sourcesContent":["/* 기존 스타일 유지 */\n.storybook-button {\n display: inline-block;\n cursor: pointer;\n border: 0;\n border-radius: 3em;\n font-weight: 700;\n line-height: 1;\n font-family: \"Nunito Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.storybook-button--primary {\n background-color: #555ab9;\n color: white;\n}\n.storybook-button--secondary {\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;\n background-color: transparent;\n color: #333;\n}\n.storybook-button--small {\n padding: 10px 16px;\n font-size: 12px;\n}\n.storybook-button--medium {\n padding: 11px 20px;\n font-size: 14px;\n}\n.storybook-button--large {\n padding: 12px 24px;\n font-size: 16px;\n}\n\n/* ActionButton 스타일 */\n.action-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-family: \"Pretendard\", -apple-system, BlinkMacSystemFont, system-ui,\n sans-serif;\n font-weight: 600;\n border-radius: 8px;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease;\n min-width: fit-content;\n white-space: nowrap;\n}\n\n/* Size 스타일 */\n.action-button--xlarge {\n height: 56px;\n padding: 0 24px;\n font-size: 17px;\n min-width: 34px;\n}\n\n.action-button--large {\n height: 48px;\n padding: 0 24px;\n font-size: 17px;\n min-width: 34px;\n}\n\n.action-button--medium {\n height: 36px;\n padding: 0 20px;\n font-size: 15px;\n min-width: 34px;\n}\n\n.action-button--small {\n height: 28px;\n padding: 0 16px;\n font-size: 13px;\n min-width: 30px;\n}\n\n/* Primary Solid 스타일 */\n.action-button--primary.action-button--solid {\n background-color: var(--color-semantic-bg-primary);\n color: var(--color-semantic-fg-inverted);\n}\n\n.action-button--primary.action-button--solid:hover:not(:disabled),\n.action-button--primary.action-button--solid.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-primary-hovered);\n}\n\n.action-button--primary.action-button--solid:disabled,\n.action-button--primary.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Primary Outline 스타일 */\n.action-button--primary.action-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n border: 1px solid var(--color-semantic-border-normal);\n}\n\n.action-button--primary.action-button--outline:hover:not(:disabled),\n.action-button--primary.action-button--outline.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.action-button--primary.action-button--outline:disabled,\n.action-button--primary.action-button--outline.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n\n/* Primary Ghost 스타일 */\n.action-button--primary.action-button--ghost {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n}\n\n.action-button--primary.action-button--ghost:hover:not(:disabled),\n.action-button--primary.action-button--ghost.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-primary-weak);\n}\n\n.action-button--primary.action-button--ghost:disabled,\n.action-button--primary.action-button--ghost.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n\n/* Neutral Solid 스타일 */\n.action-button--neutral.action-button--solid {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n\n.action-button--neutral.action-button--solid:hover:not(:disabled),\n.action-button--neutral.action-button--solid.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-inverted);\n}\n\n.action-button--neutral.action-button--solid:disabled,\n.action-button--neutral.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Neutral Outline 스타일 */\n.action-button--neutral.action-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n border: 1px solid var(--color-semantic-border-normal);\n}\n\n.action-button--neutral.action-button--outline:hover:not(:disabled),\n.action-button--neutral.action-button--outline.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.action-button--neutral.action-button--outline:disabled,\n.action-button--neutral.action-button--outline.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n\n/* Neutral Ghost 스타일 */\n.action-button--neutral.action-button--ghost {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n}\n\n.action-button--neutral.action-button--ghost:hover:not(:disabled),\n.action-button--neutral.action-button--ghost.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.action-button--neutral.action-button--ghost:disabled,\n.action-button--neutral.action-button--ghost.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Secondary Solid 스타일 */\n.action-button--secondary.action-button--solid {\n background-color: var(--color-semantic-bg-normal);\n color: var(--color-semantic-fg-normal);\n}\n\n.action-button--secondary.action-button--solid:hover:not(:disabled),\n.action-button--secondary.action-button--solid.action-button--hovered:not(\n :disabled\n ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.action-button--secondary.action-button--solid:disabled,\n.action-button--secondary.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Loading 상태 */\n.action-button--loading {\n position: relative;\n pointer-events: none;\n}\n\n.action-button--loading .action-button__content {\n opacity: 0;\n}\n\n.action-button__content {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.action-button__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.action-button__spinner-svg {\n width: 20px;\n height: 20px;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.action-button__spinner-circle {\n opacity: 1;\n}\n\n/* 로딩 상태일 때 hovered와 동일한 스타일 적용 */\n.action-button--primary.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-primary-hovered);\n color: var(--color-semantic-fg-inverted);\n}\n\n.action-button--primary.action-button--outline.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-primary);\n}\n\n.action-button--primary.action-button--ghost.action-button--loading {\n background-color: var(--color-semantic-bg-primary-weak);\n color: var(--color-semantic-fg-primary);\n}\n\n.action-button--neutral.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n\n.action-button--neutral.action-button--outline.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n\n.action-button--neutral.action-button--ghost.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n\n.action-button--secondary.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n\n/* 아이콘 스타일 */\n.action-button__prefix-icon,\n.action-button__suffix-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.action-button--small .action-button__prefix-icon,\n.action-button--small .action-button__suffix-icon {\n width: 16px;\n height: 16px;\n}\n\n.action-button--medium .action-button__prefix-icon,\n.action-button--medium .action-button__suffix-icon {\n width: 18px;\n height: 18px;\n}\n\n.action-button--large .action-button__prefix-icon,\n.action-button--large .action-button__suffix-icon {\n width: 20px;\n height: 20px;\n}\n\n.action-button--xlarge .action-button__prefix-icon,\n.action-button--xlarge .action-button__suffix-icon {\n width: 24px;\n height: 24px;\n}\n\n.action-button__label {\n display: inline-flex;\n align-items: center;\n}\n\n/* IconButton 스타일 */\n.icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: \"Pretendard\", -apple-system, BlinkMacSystemFont, system-ui,\n sans-serif;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease;\n padding: 0;\n flex-shrink: 0;\n}\n\n/* Size 스타일 */\n.icon-button--xlarge {\n width: 56px;\n height: 56px;\n border-radius: 8px;\n}\n\n.icon-button--large {\n width: 48px;\n height: 48px;\n border-radius: 6px;\n}\n\n.icon-button--medium {\n width: 36px;\n height: 36px;\n border-radius: 4px;\n}\n\n.icon-button--small {\n width: 28px;\n height: 28px;\n border-radius: 4px;\n}\n\n/* Icon 크기 */\n.icon-button__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.icon-button--xlarge .icon-button__icon,\n.icon-button--large .icon-button__icon {\n width: 24px;\n height: 24px;\n}\n\n.icon-button--medium .icon-button__icon {\n width: 20px;\n height: 20px;\n}\n\n.icon-button--small .icon-button__icon {\n width: 16px;\n height: 16px;\n}\n\n/* Primary Solid 스타일 */\n.icon-button--primary.icon-button--solid {\n background-color: var(--color-semantic-bg-primary);\n color: var(--color-semantic-fg-inverted);\n}\n\n.icon-button--primary.icon-button--solid:hover:not(:disabled),\n.icon-button--primary.icon-button--solid.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-primary-hovered);\n}\n\n.icon-button--primary.icon-button--solid:disabled,\n.icon-button--primary.icon-button--solid.icon-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Primary Outline 스타일 */\n.icon-button--primary.icon-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n border: 1px solid var(--color-semantic-border-normal);\n}\n\n.icon-button--primary.icon-button--outline:hover:not(:disabled),\n.icon-button--primary.icon-button--outline.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.icon-button--primary.icon-button--outline:disabled,\n.icon-button--primary.icon-button--outline.icon-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n\n/* Primary Weak 스타일 */\n.icon-button--primary.icon-button--weak {\n background-color: var(--color-semantic-bg-week-primary);\n color: var(--color-semantic-fg-primary);\n}\n\n.icon-button--primary.icon-button--weak:hover:not(:disabled),\n.icon-button--primary.icon-button--weak.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-week-primary-hovered);\n}\n\n/* Neutral Solid 스타일 */\n.icon-button--neutral.icon-button--solid {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n\n.icon-button--neutral.icon-button--solid:hover:not(:disabled),\n.icon-button--neutral.icon-button--solid.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-inverted);\n}\n\n.icon-button--neutral.icon-button--solid:disabled,\n.icon-button--neutral.icon-button--solid.icon-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n\n/* Neutral Outline 스타일 */\n.icon-button--neutral.icon-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n border: 1px solid var(--color-semantic-border-normal);\n}\n\n.icon-button--neutral.icon-button--outline:hover:not(:disabled),\n.icon-button--neutral.icon-button--outline.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n\n.icon-button--neutral.icon-button--outline:disabled,\n.icon-button--neutral.icon-button--outline.icon-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n\n/* Neutral Weak 스타일 */\n.icon-button--neutral.icon-button--weak {\n background-color: var(--color-semantic-bg-week-neutral-dark);\n color: var(--color-semantic-fg-normal);\n}\n\n.icon-button--neutral.icon-button--weak:hover:not(:disabled),\n.icon-button--neutral.icon-button--weak.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-week-neutral-dark-hovered);\n}\n\n/* Weak 타입은 disabled 상태를 가지지 않음 - 어두운 배경일 때 */\n.icon-button--neutral.icon-button--weak.dark {\n color: var(--color-semantic-fg-white);\n}\n\n.icon-button--neutral.icon-button--weak.dark:hover:not(:disabled),\n.icon-button--neutral.icon-button--weak.dark.icon-button--hovered:not(\n :disabled\n ) {\n background-color: rgba(255, 255, 255, 0.1);\n}\n",".storybook-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding: 15px 20px;\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n\n.storybook-header svg {\n display: inline-block;\n vertical-align: top;\n}\n\n.storybook-header h1 {\n display: inline-block;\n vertical-align: top;\n margin: 6px 0 6px 10px;\n font-weight: 700;\n font-size: 20px;\n line-height: 1;\n}\n\n.storybook-header button + button {\n margin-left: 10px;\n}\n\n.storybook-header .welcome {\n margin-right: 10px;\n color: #333;\n font-size: 14px;\n}\n",".storybook-page {\n margin: 0 auto;\n padding: 48px 20px;\n max-width: 600px;\n color: #333;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n\n.storybook-page h2 {\n display: inline-block;\n vertical-align: top;\n margin: 0 0 4px;\n font-weight: 700;\n font-size: 32px;\n line-height: 1;\n}\n\n.storybook-page p {\n margin: 1em 0;\n}\n\n.storybook-page a {\n color: inherit;\n}\n\n.storybook-page ul {\n margin: 1em 0;\n padding-left: 30px;\n}\n\n.storybook-page li {\n margin-bottom: 8px;\n}\n\n.storybook-page .tip {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n border-radius: 1em;\n background: #e7fdd8;\n padding: 4px 12px;\n color: #357a14;\n font-weight: 700;\n font-size: 11px;\n line-height: 12px;\n}\n\n.storybook-page .tip-wrapper {\n margin-top: 40px;\n margin-bottom: 40px;\n font-size: 13px;\n line-height: 20px;\n}\n\n.storybook-page .tip-wrapper svg {\n display: inline-block;\n vertical-align: top;\n margin-top: 3px;\n margin-right: 4px;\n width: 12px;\n height: 12px;\n}\n\n.storybook-page .tip-wrapper svg path {\n fill: #1ea7fd;\n}\n",":root {\n --background: #ffffff;\n --foreground: #171717;\n\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --font-sans: var(--font-geist-sans);\n --font-mono: var(--font-geist-mono);\n\n /* Basic Colors */\n --color-static-white: #ffffff;\n --color-static-black: #000000;\n\n /* Gradation Colors */\n --color-static-gradation-primary: linear-gradient(\n 180deg,\n #ffc74e 0%,\n var(--color-primary-500) 100%\n );\n --color-static-gradation-dark: radial-gradient(\n circle,\n #191f28 0%,\n #993a00 100%\n );\n --color-static-gradation-black: linear-gradient(\n 180deg,\n var(--color-static-black) 0%,\n var(--color-static-black) 100%\n );\n --color-static-gradation-white: linear-gradient(\n 180deg,\n var(--color-static-white) 0%,\n var(--color-static-white) 100%\n );\n --color-static-dim: rgba(0, 0, 0, 0.5);\n\n /* Primary Colors */\n --color-primary-50: #ffefe5;\n --color-primary-100: #ffdfcc;\n --color-primary-200: #ffbf99;\n --color-primary-300: #ffa066;\n --color-primary-400: #ff8033;\n --color-primary-500: #ff6000;\n --color-primary-600: #cc4d00;\n --color-primary-700: #993a00;\n --color-primary-800: #662600;\n --color-primary-900: #4d1d00;\n\n /* Gray Colors */\n --color-gray-50: #f9fafb;\n --color-gray-100: #f3f4f6;\n --color-gray-200: #e5e7ea;\n --color-gray-300: #d1d6dc;\n --color-gray-400: #b1b8c0;\n --color-gray-500: #8a95a0;\n --color-gray-600: #6b7583;\n --color-gray-700: #4e5967;\n --color-gray-800: #333d4b;\n --color-gray-850: #262f3c;\n --color-gray-900: #191f28;\n\n /* Yellow Colors */\n --color-yellow-50: #fef7cd;\n --color-yellow-100: #feee9a;\n --color-yellow-200: #fde876;\n --color-yellow-300: #fdd600;\n --color-yellow-400: #efc100;\n --color-yellow-500: #be9b00;\n --color-yellow-600: #8c7300;\n --color-yellow-700: #735f00;\n --color-yellow-800: #574a00;\n --color-yellow-900: #3c3200;\n\n /* LightGreen Colors */\n --color-lightgreen-50: #e9f7d4;\n --color-lightgreen-100: #d7f2b1;\n --color-lightgreen-200: #c7ec93;\n --color-lightgreen-300: #b0d55c;\n --color-lightgreen-400: #89c81b;\n --color-lightgreen-500: #79b116;\n --color-lightgreen-600: #4a7f05;\n --color-lightgreen-700: #2d660a;\n --color-lightgreen-800: #144d14;\n --color-lightgreen-900: #0a3c02;\n\n /* Green Colors */\n --color-green-50: #d3f8ef;\n --color-green-100: #c4f8eb;\n --color-green-200: #b4edde;\n --color-green-300: #7eddcd;\n --color-green-400: #4fc8b8;\n --color-green-500: #0da796;\n --color-green-600: #05806d;\n --color-green-700: #006d5d;\n --color-green-800: #005448;\n --color-green-900: #003c32;\n\n /* Blue Colors */\n --color-blue-50: #dbf1ff;\n --color-blue-100: #ccebff;\n --color-blue-200: #c0e6ff;\n --color-blue-300: #80c6fb;\n --color-blue-400: #6daae7;\n --color-blue-500: #3d94ff;\n --color-blue-600: #2077e5;\n --color-blue-700: #045ca9;\n --color-blue-800: #004875;\n --color-blue-900: #1d3649;\n\n /* Purple Colors */\n --color-purple-50: #f5e5ff;\n --color-purple-100: #f0d6ff;\n --color-purple-200: #eac7ff;\n --color-purple-300: #d7aaff;\n --color-purple-400: #ba8ff7;\n --color-purple-500: #af79dd;\n --color-purple-600: #9855d4;\n --color-purple-700: #734098;\n --color-purple-800: #5d327b;\n --color-purple-900: #412356;\n\n /* Pink Colors */\n --color-pink-50: #ffe5ff;\n --color-pink-100: #ffd2ff;\n --color-pink-200: #ffc2ff;\n --color-pink-300: #ff9eee;\n --color-pink-400: #ef81ce;\n --color-pink-500: #d3689f;\n --color-pink-600: #c14180;\n --color-pink-700: #a02c6d;\n --color-pink-800: #7c1c58;\n --color-pink-900: #601146;\n\n /* Red Colors */\n --color-red-50: #ffe5ec;\n --color-red-100: #ffccd8;\n --color-red-200: #ffb8c9;\n --color-red-300: #ffa5b4;\n --color-red-400: #f7858e;\n --color-red-500: #ea6565;\n --color-red-600: #e12337;\n --color-red-700: #ad1625;\n --color-red-800: #8c101c;\n --color-red-900: #6e0a1e;\n\n /* Semantic Colors - Foreground */\n --color-semantic-fg-primary: var(--color-primary-500);\n --color-semantic-fg-pressed: var(--color-primary-600);\n --color-semantic-fg-inverted: var(--color-static-white);\n --color-semantic-fg-strong: var(--color-static-black);\n --color-semantic-fg-normal: var(--color-gray-800);\n --color-semantic-fg-neutral: var(--color-gray-700);\n --color-semantic-fg-alternative: var(--color-gray-600);\n --color-semantic-fg-assistive: var(--color-gray-500);\n --color-semantic-fg-disabled: var(--color-gray-400);\n --color-semantic-fg-yellow: var(--color-yellow-500);\n --color-semantic-fg-lightgreen: var(--color-lightgreen-500);\n --color-semantic-fg-green: var(--color-green-500);\n --color-semantic-fg-blue: var(--color-blue-500);\n --color-semantic-fg-purple: var(--color-purple-500);\n --color-semantic-fg-pink: var(--color-pink-500);\n --color-semantic-fg-red: var(--color-red-500);\n --color-semantic-fg-black: var(--color-static-black);\n --color-semantic-fg-white: var(--color-static-white);\n\n /* Semantic Colors - Background */\n --color-semantic-bg-normal: var(--color-gray-100);\n --color-semantic-bg-normal-hovered: var(--color-gray-50);\n --color-semantic-bg-normal-alternative: var(--color-gray-200);\n --color-semantic-bg-normal-assistive: var(--color-gray-50);\n --color-semantic-bg-normal-disabled: var(--color-gray-100);\n --color-semantic-bg-inverted: var(--color-gray-900);\n --color-semantic-bg-hovered: var(--color-gray-850);\n --color-semantic-bg-primary: var(--color-primary-500);\n --color-semantic-bg-primary-hovered: var(--color-primary-600);\n --color-semantic-bg-primary-weak: var(--color-primary-50);\n --color-semantic-bg-lightgreen: var(--color-lightgreen-50);\n --color-semantic-bg-yellow: var(--color-yellow-50);\n --color-semantic-bg-green: var(--color-green-50);\n --color-semantic-bg-blue: var(--color-blue-50);\n --color-semantic-bg-purple: var(--color-purple-50);\n --color-semantic-bg-pink: var(--color-pink-50);\n --color-semantic-bg-red: var(--color-red-50);\n --color-semantic-bg-black: var(--color-static-black);\n --color-semantic-bg-white: var(--color-static-white);\n --color-semantic-bg-week-primary: rgba(255, 96, 0, 0.08);\n --color-semantic-bg-week-primary-hovered: rgba(255, 96, 0, 0.16);\n --color-semantic-bg-week-neutral-dark: rgba(0, 0, 0, 0.08);\n --color-semantic-bg-week-neutral-dark-hovered: rgba(0, 0, 0, 0.16);\n --color-semantic-bg-week-neutral-light: rgba(255, 255, 255, 0.08);\n --color-semantic-bg-week-neutral-light-hovered: rgba(255, 255, 255, 0.16);\n\n /* Semantic Colors - Border */\n --color-semantic-border-primary: var(--color-primary-500);\n --color-semantic-border-strong: var(--color-gray-800);\n --color-semantic-border-normal: var(--color-gray-300);\n --color-semantic-border-weak: var(--color-gray-200);\n --color-semantic-border-white: var(--color-static-white);\n --color-semantic-border-black: var(--color-static-black);\n --color-semantic-border-inverted: var(--color-gray-700);\n --color-semantic-border-inverted-strong: var(--color-gray-600);\n\n /* Semantic Colors - Informative */\n --color-semantic-info-negative: var(--color-red-600);\n --color-semantic-info-positive: var(--color-green-500);\n --color-semantic-info-black: var(--color-static-black);\n --color-semantic-info-white: var(--color-static-white);\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #0a0a0a;\n --foreground: #ededed;\n }\n}\n\nbody {\n background: var(--background);\n color: var(--foreground);\n font-family: Arial, Helvetica, sans-serif;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n:root {\n --background: #ffffff;\n --foreground: #171717;\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --font-sans: var(--font-geist-sans);\n --font-mono: var(--font-geist-mono);\n --color-static-white: #ffffff;\n --color-static-black: #000000;\n --color-static-gradation-primary: linear-gradient(\n 180deg,\n #ffc74e 0%,\n var(--color-primary-500) 100%\n );\n --color-static-gradation-dark: radial-gradient(\n circle,\n #191f28 0%,\n #993a00 100%\n );\n --color-static-gradation-black: linear-gradient(\n 180deg,\n var(--color-static-black) 0%,\n var(--color-static-black) 100%\n );\n --color-static-gradation-white: linear-gradient(\n 180deg,\n var(--color-static-white) 0%,\n var(--color-static-white) 100%\n );\n --color-static-dim: rgba(0, 0, 0, 0.5);\n --color-primary-50: #ffefe5;\n --color-primary-100: #ffdfcc;\n --color-primary-200: #ffbf99;\n --color-primary-300: #ffa066;\n --color-primary-400: #ff8033;\n --color-primary-500: #ff6000;\n --color-primary-600: #cc4d00;\n --color-primary-700: #993a00;\n --color-primary-800: #662600;\n --color-primary-900: #4d1d00;\n --color-gray-50: #f9fafb;\n --color-gray-100: #f3f4f6;\n --color-gray-200: #e5e7ea;\n --color-gray-300: #d1d6dc;\n --color-gray-400: #b1b8c0;\n --color-gray-500: #8a95a0;\n --color-gray-600: #6b7583;\n --color-gray-700: #4e5967;\n --color-gray-800: #333d4b;\n --color-gray-850: #262f3c;\n --color-gray-900: #191f28;\n --color-yellow-50: #fef7cd;\n --color-yellow-100: #feee9a;\n --color-yellow-200: #fde876;\n --color-yellow-300: #fdd600;\n --color-yellow-400: #efc100;\n --color-yellow-500: #be9b00;\n --color-yellow-600: #8c7300;\n --color-yellow-700: #735f00;\n --color-yellow-800: #574a00;\n --color-yellow-900: #3c3200;\n --color-lightgreen-50: #e9f7d4;\n --color-lightgreen-100: #d7f2b1;\n --color-lightgreen-200: #c7ec93;\n --color-lightgreen-300: #b0d55c;\n --color-lightgreen-400: #89c81b;\n --color-lightgreen-500: #79b116;\n --color-lightgreen-600: #4a7f05;\n --color-lightgreen-700: #2d660a;\n --color-lightgreen-800: #144d14;\n --color-lightgreen-900: #0a3c02;\n --color-green-50: #d3f8ef;\n --color-green-100: #c4f8eb;\n --color-green-200: #b4edde;\n --color-green-300: #7eddcd;\n --color-green-400: #4fc8b8;\n --color-green-500: #0da796;\n --color-green-600: #05806d;\n --color-green-700: #006d5d;\n --color-green-800: #005448;\n --color-green-900: #003c32;\n --color-blue-50: #dbf1ff;\n --color-blue-100: #ccebff;\n --color-blue-200: #c0e6ff;\n --color-blue-300: #80c6fb;\n --color-blue-400: #6daae7;\n --color-blue-500: #3d94ff;\n --color-blue-600: #2077e5;\n --color-blue-700: #045ca9;\n --color-blue-800: #004875;\n --color-blue-900: #1d3649;\n --color-purple-50: #f5e5ff;\n --color-purple-100: #f0d6ff;\n --color-purple-200: #eac7ff;\n --color-purple-300: #d7aaff;\n --color-purple-400: #ba8ff7;\n --color-purple-500: #af79dd;\n --color-purple-600: #9855d4;\n --color-purple-700: #734098;\n --color-purple-800: #5d327b;\n --color-purple-900: #412356;\n --color-pink-50: #ffe5ff;\n --color-pink-100: #ffd2ff;\n --color-pink-200: #ffc2ff;\n --color-pink-300: #ff9eee;\n --color-pink-400: #ef81ce;\n --color-pink-500: #d3689f;\n --color-pink-600: #c14180;\n --color-pink-700: #a02c6d;\n --color-pink-800: #7c1c58;\n --color-pink-900: #601146;\n --color-red-50: #ffe5ec;\n --color-red-100: #ffccd8;\n --color-red-200: #ffb8c9;\n --color-red-300: #ffa5b4;\n --color-red-400: #f7858e;\n --color-red-500: #ea6565;\n --color-red-600: #e12337;\n --color-red-700: #ad1625;\n --color-red-800: #8c101c;\n --color-red-900: #6e0a1e;\n --color-semantic-fg-primary: var(--color-primary-500);\n --color-semantic-fg-pressed: var(--color-primary-600);\n --color-semantic-fg-inverted: var(--color-static-white);\n --color-semantic-fg-strong: var(--color-static-black);\n --color-semantic-fg-normal: var(--color-gray-800);\n --color-semantic-fg-neutral: var(--color-gray-700);\n --color-semantic-fg-alternative: var(--color-gray-600);\n --color-semantic-fg-assistive: var(--color-gray-500);\n --color-semantic-fg-disabled: var(--color-gray-400);\n --color-semantic-fg-yellow: var(--color-yellow-500);\n --color-semantic-fg-lightgreen: var(--color-lightgreen-500);\n --color-semantic-fg-green: var(--color-green-500);\n --color-semantic-fg-blue: var(--color-blue-500);\n --color-semantic-fg-purple: var(--color-purple-500);\n --color-semantic-fg-pink: var(--color-pink-500);\n --color-semantic-fg-red: var(--color-red-500);\n --color-semantic-fg-black: var(--color-static-black);\n --color-semantic-fg-white: var(--color-static-white);\n --color-semantic-bg-normal: var(--color-gray-100);\n --color-semantic-bg-normal-hovered: var(--color-gray-50);\n --color-semantic-bg-normal-alternative: var(--color-gray-200);\n --color-semantic-bg-normal-assistive: var(--color-gray-50);\n --color-semantic-bg-normal-disabled: var(--color-gray-100);\n --color-semantic-bg-inverted: var(--color-gray-900);\n --color-semantic-bg-hovered: var(--color-gray-850);\n --color-semantic-bg-primary: var(--color-primary-500);\n --color-semantic-bg-primary-hovered: var(--color-primary-600);\n --color-semantic-bg-primary-weak: var(--color-primary-50);\n --color-semantic-bg-lightgreen: var(--color-lightgreen-50);\n --color-semantic-bg-yellow: var(--color-yellow-50);\n --color-semantic-bg-green: var(--color-green-50);\n --color-semantic-bg-blue: var(--color-blue-50);\n --color-semantic-bg-purple: var(--color-purple-50);\n --color-semantic-bg-pink: var(--color-pink-50);\n --color-semantic-bg-red: var(--color-red-50);\n --color-semantic-bg-black: var(--color-static-black);\n --color-semantic-bg-white: var(--color-static-white);\n --color-semantic-bg-week-primary: rgba(255, 96, 0, 0.08);\n --color-semantic-bg-week-primary-hovered: rgba(255, 96, 0, 0.16);\n --color-semantic-bg-week-neutral-dark: rgba(0, 0, 0, 0.08);\n --color-semantic-bg-week-neutral-dark-hovered: rgba(0, 0, 0, 0.16);\n --color-semantic-bg-week-neutral-light: rgba(255, 255, 255, 0.08);\n --color-semantic-bg-week-neutral-light-hovered: rgba(255, 255, 255, 0.16);\n --color-semantic-border-primary: var(--color-primary-500);\n --color-semantic-border-strong: var(--color-gray-800);\n --color-semantic-border-normal: var(--color-gray-300);\n --color-semantic-border-weak: var(--color-gray-200);\n --color-semantic-border-white: var(--color-static-white);\n --color-semantic-border-black: var(--color-static-black);\n --color-semantic-border-inverted: var(--color-gray-700);\n --color-semantic-border-inverted-strong: var(--color-gray-600);\n --color-semantic-info-negative: var(--color-red-600);\n --color-semantic-info-positive: var(--color-green-500);\n --color-semantic-info-black: var(--color-static-black);\n --color-semantic-info-white: var(--color-static-white);\n}\n@media (prefers-color-scheme: dark) {\n :root {\n --background: #0a0a0a;\n --foreground: #ededed;\n }\n}\nbody {\n background: var(--background);\n color: var(--foreground);\n font-family: Arial, Helvetica, sans-serif;\n}\n.storybook-button {\n display: inline-block;\n cursor: pointer;\n border: 0;\n border-radius: 3em;\n font-weight: 700;\n line-height: 1;\n font-family: \"Nunito Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n.storybook-button--primary {\n background-color: #555ab9;\n color: white;\n}\n.storybook-button--secondary {\n box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;\n background-color: transparent;\n color: #333;\n}\n.storybook-button--small {\n padding: 10px 16px;\n font-size: 12px;\n}\n.storybook-button--medium {\n padding: 11px 20px;\n font-size: 14px;\n}\n.storybook-button--large {\n padding: 12px 24px;\n font-size: 16px;\n}\n.action-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-family: \"Pretendard\", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;\n font-weight: 600;\n border-radius: 8px;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease;\n min-width: fit-content;\n white-space: nowrap;\n}\n.action-button--xlarge {\n height: 56px;\n padding: 0 24px;\n font-size: 17px;\n min-width: 34px;\n}\n.action-button--large {\n height: 48px;\n padding: 0 24px;\n font-size: 17px;\n min-width: 34px;\n}\n.action-button--medium {\n height: 36px;\n padding: 0 20px;\n font-size: 15px;\n min-width: 34px;\n}\n.action-button--small {\n height: 28px;\n padding: 0 16px;\n font-size: 13px;\n min-width: 30px;\n}\n.action-button--primary.action-button--solid {\n background-color: var(--color-semantic-bg-primary);\n color: var(--color-semantic-fg-inverted);\n}\n.action-button--primary.action-button--solid:hover:not(:disabled), .action-button--primary.action-button--solid.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-primary-hovered);\n}\n.action-button--primary.action-button--solid:disabled, .action-button--primary.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.action-button--primary.action-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n border: 1px solid var(--color-semantic-border-normal);\n}\n.action-button--primary.action-button--outline:hover:not(:disabled), .action-button--primary.action-button--outline.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.action-button--primary.action-button--outline:disabled, .action-button--primary.action-button--outline.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n.action-button--primary.action-button--ghost {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n}\n.action-button--primary.action-button--ghost:hover:not(:disabled), .action-button--primary.action-button--ghost.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-primary-weak);\n}\n.action-button--primary.action-button--ghost:disabled, .action-button--primary.action-button--ghost.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n.action-button--neutral.action-button--solid {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n.action-button--neutral.action-button--solid:hover:not(:disabled), .action-button--neutral.action-button--solid.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-inverted);\n}\n.action-button--neutral.action-button--solid:disabled, .action-button--neutral.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.action-button--neutral.action-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n border: 1px solid var(--color-semantic-border-normal);\n}\n.action-button--neutral.action-button--outline:hover:not(:disabled), .action-button--neutral.action-button--outline.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.action-button--neutral.action-button--outline:disabled, .action-button--neutral.action-button--outline.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n.action-button--neutral.action-button--ghost {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n}\n.action-button--neutral.action-button--ghost:hover:not(:disabled), .action-button--neutral.action-button--ghost.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.action-button--neutral.action-button--ghost:disabled, .action-button--neutral.action-button--ghost.action-button--disabled {\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.action-button--secondary.action-button--solid {\n background-color: var(--color-semantic-bg-normal);\n color: var(--color-semantic-fg-normal);\n}\n.action-button--secondary.action-button--solid:hover:not(:disabled), .action-button--secondary.action-button--solid.action-button--hovered:not( :disabled ) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.action-button--secondary.action-button--solid:disabled, .action-button--secondary.action-button--solid.action-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.action-button--loading {\n position: relative;\n pointer-events: none;\n}\n.action-button--loading .action-button__content {\n opacity: 0;\n}\n.action-button__content {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.action-button__spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.action-button__spinner-svg {\n width: 20px;\n height: 20px;\n animation: spin 1s linear infinite;\n}\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.action-button__spinner-circle {\n opacity: 1;\n}\n.action-button--primary.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-primary-hovered);\n color: var(--color-semantic-fg-inverted);\n}\n.action-button--primary.action-button--outline.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-primary);\n}\n.action-button--primary.action-button--ghost.action-button--loading {\n background-color: var(--color-semantic-bg-primary-weak);\n color: var(--color-semantic-fg-primary);\n}\n.action-button--neutral.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n.action-button--neutral.action-button--outline.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n.action-button--neutral.action-button--ghost.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n.action-button--secondary.action-button--solid.action-button--loading {\n background-color: var(--color-semantic-bg-normal-hovered);\n color: var(--color-semantic-fg-normal);\n}\n.action-button__prefix-icon, .action-button__suffix-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n}\n.action-button--small .action-button__prefix-icon, .action-button--small .action-button__suffix-icon {\n width: 16px;\n height: 16px;\n}\n.action-button--medium .action-button__prefix-icon, .action-button--medium .action-button__suffix-icon {\n width: 18px;\n height: 18px;\n}\n.action-button--large .action-button__prefix-icon, .action-button--large .action-button__suffix-icon {\n width: 20px;\n height: 20px;\n}\n.action-button--xlarge .action-button__prefix-icon, .action-button--xlarge .action-button__suffix-icon {\n width: 24px;\n height: 24px;\n}\n.action-button__label {\n display: inline-flex;\n align-items: center;\n}\n.icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: \"Pretendard\", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;\n border: none;\n cursor: pointer;\n transition: all 0.2s ease;\n padding: 0;\n flex-shrink: 0;\n}\n.icon-button--xlarge {\n width: 56px;\n height: 56px;\n border-radius: 8px;\n}\n.icon-button--large {\n width: 48px;\n height: 48px;\n border-radius: 6px;\n}\n.icon-button--medium {\n width: 36px;\n height: 36px;\n border-radius: 4px;\n}\n.icon-button--small {\n width: 28px;\n height: 28px;\n border-radius: 4px;\n}\n.icon-button__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n.icon-button--xlarge .icon-button__icon, .icon-button--large .icon-button__icon {\n width: 24px;\n height: 24px;\n}\n.icon-button--medium .icon-button__icon {\n width: 20px;\n height: 20px;\n}\n.icon-button--small .icon-button__icon {\n width: 16px;\n height: 16px;\n}\n.icon-button--primary.icon-button--solid {\n background-color: var(--color-semantic-bg-primary);\n color: var(--color-semantic-fg-inverted);\n}\n.icon-button--primary.icon-button--solid:hover:not(:disabled), .icon-button--primary.icon-button--solid.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-primary-hovered);\n}\n.icon-button--primary.icon-button--solid:disabled, .icon-button--primary.icon-button--solid.icon-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.icon-button--primary.icon-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-primary);\n border: 1px solid var(--color-semantic-border-normal);\n}\n.icon-button--primary.icon-button--outline:hover:not(:disabled), .icon-button--primary.icon-button--outline.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.icon-button--primary.icon-button--outline:disabled, .icon-button--primary.icon-button--outline.icon-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n.icon-button--primary.icon-button--weak {\n background-color: var(--color-semantic-bg-week-primary);\n color: var(--color-semantic-fg-primary);\n}\n.icon-button--primary.icon-button--weak:hover:not(:disabled), .icon-button--primary.icon-button--weak.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-week-primary-hovered);\n}\n.icon-button--neutral.icon-button--solid {\n background-color: var(--color-semantic-bg-inverted);\n color: var(--color-semantic-fg-white);\n}\n.icon-button--neutral.icon-button--solid:hover:not(:disabled), .icon-button--neutral.icon-button--solid.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-inverted);\n}\n.icon-button--neutral.icon-button--solid:disabled, .icon-button--neutral.icon-button--solid.icon-button--disabled {\n background-color: var(--color-semantic-bg-normal-disabled);\n color: var(--color-semantic-fg-disabled);\n cursor: not-allowed;\n}\n.icon-button--neutral.icon-button--outline {\n background-color: transparent;\n color: var(--color-semantic-fg-normal);\n border: 1px solid var(--color-semantic-border-normal);\n}\n.icon-button--neutral.icon-button--outline:hover:not(:disabled), .icon-button--neutral.icon-button--outline.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-normal-hovered);\n}\n.icon-button--neutral.icon-button--outline:disabled, .icon-button--neutral.icon-button--outline.icon-button--disabled {\n color: var(--color-semantic-fg-disabled);\n border-color: var(--color-semantic-border-weak);\n background-color: var(--color-semantic-bg-white);\n cursor: not-allowed;\n}\n.icon-button--neutral.icon-button--weak {\n background-color: var(--color-semantic-bg-week-neutral-dark);\n color: var(--color-semantic-fg-normal);\n}\n.icon-button--neutral.icon-button--weak:hover:not(:disabled), .icon-button--neutral.icon-button--weak.icon-button--hovered:not(:disabled) {\n background-color: var(--color-semantic-bg-week-neutral-dark-hovered);\n}\n.icon-button--neutral.icon-button--weak.dark {\n color: var(--color-semantic-fg-white);\n}\n.icon-button--neutral.icon-button--weak.dark:hover:not(:disabled), .icon-button--neutral.icon-button--weak.dark.icon-button--hovered:not( :disabled ) {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.storybook-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding: 15px 20px;\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n.storybook-header svg {\n display: inline-block;\n vertical-align: top;\n}\n.storybook-header h1 {\n display: inline-block;\n vertical-align: top;\n margin: 6px 0 6px 10px;\n font-weight: 700;\n font-size: 20px;\n line-height: 1;\n}\n.storybook-header button + button {\n margin-left: 10px;\n}\n.storybook-header .welcome {\n margin-right: 10px;\n color: #333;\n font-size: 14px;\n}\n.storybook-page {\n margin: 0 auto;\n padding: 48px 20px;\n max-width: 600px;\n color: #333;\n font-size: 14px;\n line-height: 24px;\n font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\n}\n.storybook-page h2 {\n display: inline-block;\n vertical-align: top;\n margin: 0 0 4px;\n font-weight: 700;\n font-size: 32px;\n line-height: 1;\n}\n.storybook-page p {\n margin: 1em 0;\n}\n.storybook-page a {\n color: inherit;\n}\n.storybook-page ul {\n margin: 1em 0;\n padding-left: 30px;\n}\n.storybook-page li {\n margin-bottom: 8px;\n}\n.storybook-page .tip {\n display: inline-block;\n vertical-align: top;\n margin-right: 10px;\n border-radius: 1em;\n background: #e7fdd8;\n padding: 4px 12px;\n color: #357a14;\n font-weight: 700;\n font-size: 11px;\n line-height: 12px;\n}\n.storybook-page .tip-wrapper {\n margin-top: 40px;\n margin-bottom: 40px;\n font-size: 13px;\n line-height: 20px;\n}\n.storybook-page .tip-wrapper svg {\n display: inline-block;\n vertical-align: top;\n margin-top: 3px;\n margin-right: 4px;\n width: 12px;\n height: 12px;\n}\n.storybook-page .tip-wrapper svg path {\n fill: #1ea7fd;\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -69,7 +69,7 @@ interface HeaderProps {
|
|
|
69
69
|
onLogout?: () => void;
|
|
70
70
|
onCreateAccount?: () => void;
|
|
71
71
|
}
|
|
72
|
-
declare const Header: ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => react_jsx_runtime.JSX.Element;
|
|
72
|
+
declare const Header: ({ user, onLogin, onLogout, onCreateAccount, }: HeaderProps) => react_jsx_runtime.JSX.Element;
|
|
73
73
|
|
|
74
74
|
declare const Page: React.FC;
|
|
75
75
|
|
package/dist/index.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ interface HeaderProps {
|
|
|
69
69
|
onLogout?: () => void;
|
|
70
70
|
onCreateAccount?: () => void;
|
|
71
71
|
}
|
|
72
|
-
declare const Header: ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => react_jsx_runtime.JSX.Element;
|
|
72
|
+
declare const Header: ({ user, onLogin, onLogout, onCreateAccount, }: HeaderProps) => react_jsx_runtime.JSX.Element;
|
|
73
73
|
|
|
74
74
|
declare const Page: React.FC;
|
|
75
75
|
|
package/dist/index.js
CHANGED
|
@@ -233,31 +233,45 @@ var IconButton = (_a) => {
|
|
|
233
233
|
|
|
234
234
|
// src/stories/Header.tsx
|
|
235
235
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
236
|
-
var Header = ({
|
|
236
|
+
var Header = ({
|
|
237
|
+
user,
|
|
238
|
+
onLogin,
|
|
239
|
+
onLogout,
|
|
240
|
+
onCreateAccount
|
|
241
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("header", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "storybook-header", children: [
|
|
237
242
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { children: [
|
|
238
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
243
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
244
|
+
"svg",
|
|
245
|
+
{
|
|
246
|
+
width: "32",
|
|
247
|
+
height: "32",
|
|
248
|
+
viewBox: "0 0 32 32",
|
|
249
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
250
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("g", { fill: "none", fillRule: "evenodd", children: [
|
|
251
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
252
|
+
"path",
|
|
253
|
+
{
|
|
254
|
+
d: "M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z",
|
|
255
|
+
fill: "#FFF"
|
|
256
|
+
}
|
|
257
|
+
),
|
|
258
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
259
|
+
"path",
|
|
260
|
+
{
|
|
261
|
+
d: "M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z",
|
|
262
|
+
fill: "#555AB9"
|
|
263
|
+
}
|
|
264
|
+
),
|
|
265
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
266
|
+
"path",
|
|
267
|
+
{
|
|
268
|
+
d: "M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z",
|
|
269
|
+
fill: "#91BAF8"
|
|
270
|
+
}
|
|
271
|
+
)
|
|
272
|
+
] })
|
|
273
|
+
}
|
|
274
|
+
),
|
|
261
275
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h1", { children: "Acme" })
|
|
262
276
|
] }),
|
|
263
277
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: user ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
@@ -269,7 +283,15 @@ var Header = ({ user, onLogin, onLogout, onCreateAccount }) => /* @__PURE__ */ (
|
|
|
269
283
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Button, { size: "small", onClick: onLogout, label: "Log out" })
|
|
270
284
|
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
271
285
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Button, { size: "small", onClick: onLogin, label: "Log in" }),
|
|
272
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
286
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
287
|
+
Button,
|
|
288
|
+
{
|
|
289
|
+
primary: true,
|
|
290
|
+
size: "small",
|
|
291
|
+
onClick: onCreateAccount,
|
|
292
|
+
label: "Sign up"
|
|
293
|
+
}
|
|
294
|
+
)
|
|
273
295
|
] }) })
|
|
274
296
|
] }) });
|
|
275
297
|
|
|
@@ -293,7 +315,15 @@ var Page = () => {
|
|
|
293
315
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("p", { children: [
|
|
294
316
|
"We recommend building UIs with a",
|
|
295
317
|
" ",
|
|
296
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
318
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
319
|
+
"a",
|
|
320
|
+
{
|
|
321
|
+
href: "https://componentdriven.org",
|
|
322
|
+
target: "_blank",
|
|
323
|
+
rel: "noopener noreferrer",
|
|
324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("strong", { children: "component-driven" })
|
|
325
|
+
}
|
|
326
|
+
),
|
|
297
327
|
" ",
|
|
298
328
|
"process starting with atomic components and ending with pages."
|
|
299
329
|
] }),
|
|
@@ -305,24 +335,49 @@ var Page = () => {
|
|
|
305
335
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("p", { children: [
|
|
306
336
|
"Get a guided tutorial on component-driven development at",
|
|
307
337
|
" ",
|
|
308
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
338
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
339
|
+
"a",
|
|
340
|
+
{
|
|
341
|
+
href: "https://storybook.js.org/tutorials/",
|
|
342
|
+
target: "_blank",
|
|
343
|
+
rel: "noopener noreferrer",
|
|
344
|
+
children: "Storybook tutorials"
|
|
345
|
+
}
|
|
346
|
+
),
|
|
309
347
|
". Read more in the",
|
|
310
348
|
" ",
|
|
311
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
349
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
350
|
+
"a",
|
|
351
|
+
{
|
|
352
|
+
href: "https://storybook.js.org/docs",
|
|
353
|
+
target: "_blank",
|
|
354
|
+
rel: "noopener noreferrer",
|
|
355
|
+
children: "docs"
|
|
356
|
+
}
|
|
357
|
+
),
|
|
312
358
|
"."
|
|
313
359
|
] }),
|
|
314
360
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "tip-wrapper", children: [
|
|
315
361
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "tip", children: "Tip" }),
|
|
316
362
|
" Adjust the width of the canvas with the",
|
|
317
363
|
" ",
|
|
318
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
319
|
-
"
|
|
364
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
365
|
+
"svg",
|
|
320
366
|
{
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
367
|
+
width: "10",
|
|
368
|
+
height: "10",
|
|
369
|
+
viewBox: "0 0 12 12",
|
|
370
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
371
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("g", { fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
372
|
+
"path",
|
|
373
|
+
{
|
|
374
|
+
d: "M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z",
|
|
375
|
+
id: "a",
|
|
376
|
+
fill: "#999"
|
|
377
|
+
}
|
|
378
|
+
) })
|
|
324
379
|
}
|
|
325
|
-
)
|
|
380
|
+
),
|
|
326
381
|
"Viewports addon in the toolbar"
|
|
327
382
|
] })
|
|
328
383
|
] })
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/stories/Button.tsx","../src/stories/Header.tsx","../src/stories/Page.tsx"],"sourcesContent":["// Components\nexport { Button, ActionButton, IconButton } from \"./stories/Button\";\nexport { Header } from \"./stories/Header\";\nexport { Page } from \"./stories/Page\";\n\n// Types\nexport type {\n ButtonProps,\n ActionButtonProps,\n IconButtonProps,\n ButtonSize,\n ButtonVariant,\n ButtonShape,\n ButtonState,\n IconButtonSize,\n IconButtonVariant,\n IconButtonType,\n IconButtonState,\n} from \"./stories/Button\";\n\nexport type { HeaderProps } from \"./stories/Header\";\n\n// Styles - CSS variables must be imported first\nimport \"./styles/globals.css\";\nimport \"./stories/button.css\";\nimport \"./stories/header.css\";\nimport \"./stories/page.css\";\n","import React from \"react\";\nimport \"./button.css\";\n\nexport type ButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type ButtonVariant = \"primary\" | \"neutral\" | \"secondary\";\nexport type ButtonShape = \"solid\" | \"outline\" | \"ghost\";\nexport type ButtonState = \"enabled\" | \"hovered\" | \"loading\" | \"disabled\";\n\nexport type IconButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type IconButtonVariant = \"primary\" | \"neutral\";\nexport type IconButtonType = \"solid\" | \"outline\" | \"weak\";\nexport type IconButtonState = \"enabled\" | \"hovered\" | \"disabled\";\n\nexport interface ActionButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> {\n /** 버튼 크기 */\n size?: ButtonSize;\n /** 버튼 타입 (primary, neutral, secondary) */\n variant?: ButtonVariant;\n /** 버튼 모양 (solid, outline, ghost) */\n shape?: ButtonShape;\n /** 버튼 상태 */\n state?: ButtonState;\n /** 버튼 텍스트 */\n children: React.ReactNode;\n /** Prefix 아이콘 */\n prefixIcon?: React.ReactNode;\n /** Suffix 아이콘 */\n suffixIcon?: React.ReactNode;\n /** 로딩 상태일 때 표시할 스피너 */\n loading?: boolean;\n}\n\n/** ActionButton 컴포넌트는 사용자가 어떠한 액션을 트리거하거나 이벤트를 실행할 때 사용한다. */\nexport const ActionButton = ({\n size = \"medium\",\n variant = \"primary\",\n shape = \"solid\",\n state = \"enabled\",\n children,\n prefixIcon,\n suffixIcon,\n loading = false,\n className = \"\",\n disabled,\n ...props\n}: ActionButtonProps) => {\n const isDisabled = disabled || state === \"disabled\" || loading;\n const actualState = loading ? \"loading\" : state;\n\n const baseClasses = [\n \"action-button\",\n `action-button--${size}`,\n `action-button--${variant}`,\n `action-button--${shape}`,\n `action-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type=\"button\"\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"action-button__content\">\n {prefixIcon && (\n <span className=\"action-button__prefix-icon\">{prefixIcon}</span>\n )}\n <span className=\"action-button__label\">{children}</span>\n {suffixIcon && (\n <span className=\"action-button__suffix-icon\">{suffixIcon}</span>\n )}\n </span>\n {loading && (\n <span className=\"action-button__spinner\" aria-hidden=\"true\">\n <svg\n className=\"action-button__spinner-svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"action-button__spinner-circle\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n >\n <animate\n attributeName=\"stroke-dasharray\"\n dur=\"2s\"\n values=\"0 40;40 40;0 40\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"stroke-dashoffset\"\n dur=\"2s\"\n values=\"0;-40;-80\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n </span>\n )}\n </button>\n );\n};\n\n// 기존 Button 컴포넌트는 하위 호환성을 위해 유지\nexport interface ButtonProps {\n /** Is this the principal call to action on the page? */\n primary?: boolean;\n /** What background color to use */\n backgroundColor?: string;\n /** How large should the button be? */\n size?: \"small\" | \"medium\" | \"large\";\n /** Button contents */\n label: string;\n /** Optional click handler */\n onClick?: () => void;\n}\n\n/** Primary UI component for user interaction */\nexport const Button = ({\n primary = false,\n size = \"medium\",\n backgroundColor,\n label,\n ...props\n}: ButtonProps) => {\n const mode = primary\n ? \"storybook-button--primary\"\n : \"storybook-button--secondary\";\n return (\n <button\n type=\"button\"\n className={[\"storybook-button\", `storybook-button--${size}`, mode].join(\n \" \"\n )}\n style={{ backgroundColor }}\n {...props}\n >\n {label}\n </button>\n );\n};\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** 버튼 크기 */\n size?: IconButtonSize;\n /** 버튼 타입 (primary 또는 neutral) */\n variant?: IconButtonVariant;\n /** 버튼 모양 (solid, outline, weak) */\n iconType?: IconButtonType;\n /** 버튼 상태 */\n state?: IconButtonState;\n /** 아이콘 (Heroicons 또는 React 컴포넌트) */\n icon: React.ReactNode;\n /** 아이콘에 대한 접근성 라벨 */\n \"aria-label\": string;\n}\n\n/** IconButton 컴포넌트는 텍스트 레이블 없이 아이콘만으로 액션을 전달하는 버튼 컴포넌트이다. */\nexport const IconButton = ({\n size = \"large\",\n variant = \"primary\",\n iconType = \"solid\",\n state = \"enabled\",\n icon,\n className = \"\",\n disabled,\n type = \"button\",\n ...props\n}: IconButtonProps) => {\n const isDisabled = disabled || state === \"disabled\";\n // weak 타입은 disabled 상태를 가지지 않음\n const actualState = iconType === \"weak\" && isDisabled ? \"enabled\" : state;\n\n const baseClasses = [\n \"icon-button\",\n `icon-button--${size}`,\n `icon-button--${variant}`,\n `icon-button--${iconType}`,\n `icon-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type={type}\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"icon-button__icon\">{icon}</span>\n </button>\n );\n};\n","import { Button } from './Button';\nimport './header.css';\n\ntype User = {\n name: string;\n};\n\nexport interface HeaderProps {\n user?: User;\n onLogin?: () => void;\n onLogout?: () => void;\n onCreateAccount?: () => void;\n}\n\nexport const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => (\n <header>\n <div className=\"storybook-header\">\n <div>\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n {user ? (\n <>\n <span className=\"welcome\">\n Welcome, <b>{user.name}</b>!\n </span>\n <Button size=\"small\" onClick={onLogout} label=\"Log out\" />\n </>\n ) : (\n <>\n <Button size=\"small\" onClick={onLogin} label=\"Log in\" />\n <Button primary size=\"small\" onClick={onCreateAccount} label=\"Sign up\" />\n </>\n )}\n </div>\n </div>\n </header>\n);\n","import React from 'react';\n\nimport { Header } from './Header';\nimport './page.css';\n\ntype User = {\n name: string;\n};\n\nexport const Page: React.FC = () => {\n const [user, setUser] = React.useState<User>();\n\n return (\n <article>\n <Header\n user={user}\n onLogin={() => setUser({ name: 'Jane Doe' })}\n onLogout={() => setUser(undefined)}\n onCreateAccount={() => setUser({ name: 'Jane Doe' })}\n />\n\n <section className=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a{' '}\n <a href=\"https://componentdriven.org\" target=\"_blank\" rel=\"noopener noreferrer\">\n <strong>component-driven</strong>\n </a>{' '}\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page\n data in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at{' '}\n <a href=\"https://storybook.js.org/tutorials/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Storybook tutorials\n </a>\n . Read more in the{' '}\n <a href=\"https://storybook.js.org/docs\" target=\"_blank\" rel=\"noopener noreferrer\">\n docs\n </a>\n .\n </p>\n <div className=\"tip-wrapper\">\n <span className=\"tip\">Tip</span> Adjust the width of the canvas with the{' '}\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>\n );\n};\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","React"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/stories/Button.tsx","../src/stories/Header.tsx","../src/stories/Page.tsx"],"sourcesContent":["// Components\nexport { Button, ActionButton, IconButton } from \"./stories/Button\";\nexport { Header } from \"./stories/Header\";\nexport { Page } from \"./stories/Page\";\n\n// Types\nexport type {\n ButtonProps,\n ActionButtonProps,\n IconButtonProps,\n ButtonSize,\n ButtonVariant,\n ButtonShape,\n ButtonState,\n IconButtonSize,\n IconButtonVariant,\n IconButtonType,\n IconButtonState,\n} from \"./stories/Button\";\n\nexport type { HeaderProps } from \"./stories/Header\";\n\n// Styles - Unified entry point to ensure correct order (variables first)\nimport \"./styles.css\";\n","import React from \"react\";\n\nexport type ButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type ButtonVariant = \"primary\" | \"neutral\" | \"secondary\";\nexport type ButtonShape = \"solid\" | \"outline\" | \"ghost\";\nexport type ButtonState = \"enabled\" | \"hovered\" | \"loading\" | \"disabled\";\n\nexport type IconButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type IconButtonVariant = \"primary\" | \"neutral\";\nexport type IconButtonType = \"solid\" | \"outline\" | \"weak\";\nexport type IconButtonState = \"enabled\" | \"hovered\" | \"disabled\";\n\nexport interface ActionButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> {\n /** 버튼 크기 */\n size?: ButtonSize;\n /** 버튼 타입 (primary, neutral, secondary) */\n variant?: ButtonVariant;\n /** 버튼 모양 (solid, outline, ghost) */\n shape?: ButtonShape;\n /** 버튼 상태 */\n state?: ButtonState;\n /** 버튼 텍스트 */\n children: React.ReactNode;\n /** Prefix 아이콘 */\n prefixIcon?: React.ReactNode;\n /** Suffix 아이콘 */\n suffixIcon?: React.ReactNode;\n /** 로딩 상태일 때 표시할 스피너 */\n loading?: boolean;\n}\n\n/** ActionButton 컴포넌트는 사용자가 어떠한 액션을 트리거하거나 이벤트를 실행할 때 사용한다. */\nexport const ActionButton = ({\n size = \"medium\",\n variant = \"primary\",\n shape = \"solid\",\n state = \"enabled\",\n children,\n prefixIcon,\n suffixIcon,\n loading = false,\n className = \"\",\n disabled,\n ...props\n}: ActionButtonProps) => {\n const isDisabled = disabled || state === \"disabled\" || loading;\n const actualState = loading ? \"loading\" : state;\n\n const baseClasses = [\n \"action-button\",\n `action-button--${size}`,\n `action-button--${variant}`,\n `action-button--${shape}`,\n `action-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type=\"button\"\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"action-button__content\">\n {prefixIcon && (\n <span className=\"action-button__prefix-icon\">{prefixIcon}</span>\n )}\n <span className=\"action-button__label\">{children}</span>\n {suffixIcon && (\n <span className=\"action-button__suffix-icon\">{suffixIcon}</span>\n )}\n </span>\n {loading && (\n <span className=\"action-button__spinner\" aria-hidden=\"true\">\n <svg\n className=\"action-button__spinner-svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"action-button__spinner-circle\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n >\n <animate\n attributeName=\"stroke-dasharray\"\n dur=\"2s\"\n values=\"0 40;40 40;0 40\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"stroke-dashoffset\"\n dur=\"2s\"\n values=\"0;-40;-80\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n </span>\n )}\n </button>\n );\n};\n\n// 기존 Button 컴포넌트는 하위 호환성을 위해 유지\nexport interface ButtonProps {\n /** Is this the principal call to action on the page? */\n primary?: boolean;\n /** What background color to use */\n backgroundColor?: string;\n /** How large should the button be? */\n size?: \"small\" | \"medium\" | \"large\";\n /** Button contents */\n label: string;\n /** Optional click handler */\n onClick?: () => void;\n}\n\n/** Primary UI component for user interaction */\nexport const Button = ({\n primary = false,\n size = \"medium\",\n backgroundColor,\n label,\n ...props\n}: ButtonProps) => {\n const mode = primary\n ? \"storybook-button--primary\"\n : \"storybook-button--secondary\";\n return (\n <button\n type=\"button\"\n className={[\"storybook-button\", `storybook-button--${size}`, mode].join(\n \" \"\n )}\n style={{ backgroundColor }}\n {...props}\n >\n {label}\n </button>\n );\n};\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** 버튼 크기 */\n size?: IconButtonSize;\n /** 버튼 타입 (primary 또는 neutral) */\n variant?: IconButtonVariant;\n /** 버튼 모양 (solid, outline, weak) */\n iconType?: IconButtonType;\n /** 버튼 상태 */\n state?: IconButtonState;\n /** 아이콘 (Heroicons 또는 React 컴포넌트) */\n icon: React.ReactNode;\n /** 아이콘에 대한 접근성 라벨 */\n \"aria-label\": string;\n}\n\n/** IconButton 컴포넌트는 텍스트 레이블 없이 아이콘만으로 액션을 전달하는 버튼 컴포넌트이다. */\nexport const IconButton = ({\n size = \"large\",\n variant = \"primary\",\n iconType = \"solid\",\n state = \"enabled\",\n icon,\n className = \"\",\n disabled,\n type = \"button\",\n ...props\n}: IconButtonProps) => {\n const isDisabled = disabled || state === \"disabled\";\n // weak 타입은 disabled 상태를 가지지 않음\n const actualState = iconType === \"weak\" && isDisabled ? \"enabled\" : state;\n\n const baseClasses = [\n \"icon-button\",\n `icon-button--${size}`,\n `icon-button--${variant}`,\n `icon-button--${iconType}`,\n `icon-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type={type}\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"icon-button__icon\">{icon}</span>\n </button>\n );\n};\n","import { Button } from \"./Button\";\n\ntype User = {\n name: string;\n};\n\nexport interface HeaderProps {\n user?: User;\n onLogin?: () => void;\n onLogout?: () => void;\n onCreateAccount?: () => void;\n}\n\nexport const Header = ({\n user,\n onLogin,\n onLogout,\n onCreateAccount,\n}: HeaderProps) => (\n <header>\n <div className=\"storybook-header\">\n <div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n {user ? (\n <>\n <span className=\"welcome\">\n Welcome, <b>{user.name}</b>!\n </span>\n <Button size=\"small\" onClick={onLogout} label=\"Log out\" />\n </>\n ) : (\n <>\n <Button size=\"small\" onClick={onLogin} label=\"Log in\" />\n <Button\n primary\n size=\"small\"\n onClick={onCreateAccount}\n label=\"Sign up\"\n />\n </>\n )}\n </div>\n </div>\n </header>\n);\n","import React from \"react\";\n\nimport { Header } from \"./Header\";\n\ntype User = {\n name: string;\n};\n\nexport const Page: React.FC = () => {\n const [user, setUser] = React.useState<User>();\n\n return (\n <article>\n <Header\n user={user}\n onLogin={() => setUser({ name: \"Jane Doe\" })}\n onLogout={() => setUser(undefined)}\n onCreateAccount={() => setUser({ name: \"Jane Doe\" })}\n />\n\n <section className=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a{\" \"}\n <a\n href=\"https://componentdriven.org\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <strong>component-driven</strong>\n </a>{\" \"}\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review\n page states without needing to navigate to them in your app. Here are\n some handy patterns for managing page data in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose\n such data from the \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock\n these services out using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at{\" \"}\n <a\n href=\"https://storybook.js.org/tutorials/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Storybook tutorials\n </a>\n . Read more in the{\" \"}\n <a\n href=\"https://storybook.js.org/docs\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n docs\n </a>\n .\n </p>\n <div className=\"tip-wrapper\">\n <span className=\"tip\">Tip</span> Adjust the width of the canvas with\n the{\" \"}\n <svg\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>\n );\n};\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","React"]}
|
package/dist/index.mjs
CHANGED
|
@@ -196,31 +196,45 @@ var IconButton = (_a) => {
|
|
|
196
196
|
|
|
197
197
|
// src/stories/Header.tsx
|
|
198
198
|
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
199
|
-
var Header = ({
|
|
199
|
+
var Header = ({
|
|
200
|
+
user,
|
|
201
|
+
onLogin,
|
|
202
|
+
onLogout,
|
|
203
|
+
onCreateAccount
|
|
204
|
+
}) => /* @__PURE__ */ jsx2("header", { children: /* @__PURE__ */ jsxs2("div", { className: "storybook-header", children: [
|
|
200
205
|
/* @__PURE__ */ jsxs2("div", { children: [
|
|
201
|
-
/* @__PURE__ */ jsx2(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
206
|
+
/* @__PURE__ */ jsx2(
|
|
207
|
+
"svg",
|
|
208
|
+
{
|
|
209
|
+
width: "32",
|
|
210
|
+
height: "32",
|
|
211
|
+
viewBox: "0 0 32 32",
|
|
212
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
213
|
+
children: /* @__PURE__ */ jsxs2("g", { fill: "none", fillRule: "evenodd", children: [
|
|
214
|
+
/* @__PURE__ */ jsx2(
|
|
215
|
+
"path",
|
|
216
|
+
{
|
|
217
|
+
d: "M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z",
|
|
218
|
+
fill: "#FFF"
|
|
219
|
+
}
|
|
220
|
+
),
|
|
221
|
+
/* @__PURE__ */ jsx2(
|
|
222
|
+
"path",
|
|
223
|
+
{
|
|
224
|
+
d: "M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z",
|
|
225
|
+
fill: "#555AB9"
|
|
226
|
+
}
|
|
227
|
+
),
|
|
228
|
+
/* @__PURE__ */ jsx2(
|
|
229
|
+
"path",
|
|
230
|
+
{
|
|
231
|
+
d: "M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z",
|
|
232
|
+
fill: "#91BAF8"
|
|
233
|
+
}
|
|
234
|
+
)
|
|
235
|
+
] })
|
|
236
|
+
}
|
|
237
|
+
),
|
|
224
238
|
/* @__PURE__ */ jsx2("h1", { children: "Acme" })
|
|
225
239
|
] }),
|
|
226
240
|
/* @__PURE__ */ jsx2("div", { children: user ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
@@ -232,7 +246,15 @@ var Header = ({ user, onLogin, onLogout, onCreateAccount }) => /* @__PURE__ */ j
|
|
|
232
246
|
/* @__PURE__ */ jsx2(Button, { size: "small", onClick: onLogout, label: "Log out" })
|
|
233
247
|
] }) : /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
234
248
|
/* @__PURE__ */ jsx2(Button, { size: "small", onClick: onLogin, label: "Log in" }),
|
|
235
|
-
/* @__PURE__ */ jsx2(
|
|
249
|
+
/* @__PURE__ */ jsx2(
|
|
250
|
+
Button,
|
|
251
|
+
{
|
|
252
|
+
primary: true,
|
|
253
|
+
size: "small",
|
|
254
|
+
onClick: onCreateAccount,
|
|
255
|
+
label: "Sign up"
|
|
256
|
+
}
|
|
257
|
+
)
|
|
236
258
|
] }) })
|
|
237
259
|
] }) });
|
|
238
260
|
|
|
@@ -256,7 +278,15 @@ var Page = () => {
|
|
|
256
278
|
/* @__PURE__ */ jsxs3("p", { children: [
|
|
257
279
|
"We recommend building UIs with a",
|
|
258
280
|
" ",
|
|
259
|
-
/* @__PURE__ */ jsx3(
|
|
281
|
+
/* @__PURE__ */ jsx3(
|
|
282
|
+
"a",
|
|
283
|
+
{
|
|
284
|
+
href: "https://componentdriven.org",
|
|
285
|
+
target: "_blank",
|
|
286
|
+
rel: "noopener noreferrer",
|
|
287
|
+
children: /* @__PURE__ */ jsx3("strong", { children: "component-driven" })
|
|
288
|
+
}
|
|
289
|
+
),
|
|
260
290
|
" ",
|
|
261
291
|
"process starting with atomic components and ending with pages."
|
|
262
292
|
] }),
|
|
@@ -268,24 +298,49 @@ var Page = () => {
|
|
|
268
298
|
/* @__PURE__ */ jsxs3("p", { children: [
|
|
269
299
|
"Get a guided tutorial on component-driven development at",
|
|
270
300
|
" ",
|
|
271
|
-
/* @__PURE__ */ jsx3(
|
|
301
|
+
/* @__PURE__ */ jsx3(
|
|
302
|
+
"a",
|
|
303
|
+
{
|
|
304
|
+
href: "https://storybook.js.org/tutorials/",
|
|
305
|
+
target: "_blank",
|
|
306
|
+
rel: "noopener noreferrer",
|
|
307
|
+
children: "Storybook tutorials"
|
|
308
|
+
}
|
|
309
|
+
),
|
|
272
310
|
". Read more in the",
|
|
273
311
|
" ",
|
|
274
|
-
/* @__PURE__ */ jsx3(
|
|
312
|
+
/* @__PURE__ */ jsx3(
|
|
313
|
+
"a",
|
|
314
|
+
{
|
|
315
|
+
href: "https://storybook.js.org/docs",
|
|
316
|
+
target: "_blank",
|
|
317
|
+
rel: "noopener noreferrer",
|
|
318
|
+
children: "docs"
|
|
319
|
+
}
|
|
320
|
+
),
|
|
275
321
|
"."
|
|
276
322
|
] }),
|
|
277
323
|
/* @__PURE__ */ jsxs3("div", { className: "tip-wrapper", children: [
|
|
278
324
|
/* @__PURE__ */ jsx3("span", { className: "tip", children: "Tip" }),
|
|
279
325
|
" Adjust the width of the canvas with the",
|
|
280
326
|
" ",
|
|
281
|
-
/* @__PURE__ */ jsx3(
|
|
282
|
-
"
|
|
327
|
+
/* @__PURE__ */ jsx3(
|
|
328
|
+
"svg",
|
|
283
329
|
{
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
330
|
+
width: "10",
|
|
331
|
+
height: "10",
|
|
332
|
+
viewBox: "0 0 12 12",
|
|
333
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
334
|
+
children: /* @__PURE__ */ jsx3("g", { fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ jsx3(
|
|
335
|
+
"path",
|
|
336
|
+
{
|
|
337
|
+
d: "M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z",
|
|
338
|
+
id: "a",
|
|
339
|
+
fill: "#999"
|
|
340
|
+
}
|
|
341
|
+
) })
|
|
287
342
|
}
|
|
288
|
-
)
|
|
343
|
+
),
|
|
289
344
|
"Viewports addon in the toolbar"
|
|
290
345
|
] })
|
|
291
346
|
] })
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/stories/Button.tsx","../src/stories/Header.tsx","../src/stories/Page.tsx"],"sourcesContent":["import React from \"react\";\nimport \"./button.css\";\n\nexport type ButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type ButtonVariant = \"primary\" | \"neutral\" | \"secondary\";\nexport type ButtonShape = \"solid\" | \"outline\" | \"ghost\";\nexport type ButtonState = \"enabled\" | \"hovered\" | \"loading\" | \"disabled\";\n\nexport type IconButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type IconButtonVariant = \"primary\" | \"neutral\";\nexport type IconButtonType = \"solid\" | \"outline\" | \"weak\";\nexport type IconButtonState = \"enabled\" | \"hovered\" | \"disabled\";\n\nexport interface ActionButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> {\n /** 버튼 크기 */\n size?: ButtonSize;\n /** 버튼 타입 (primary, neutral, secondary) */\n variant?: ButtonVariant;\n /** 버튼 모양 (solid, outline, ghost) */\n shape?: ButtonShape;\n /** 버튼 상태 */\n state?: ButtonState;\n /** 버튼 텍스트 */\n children: React.ReactNode;\n /** Prefix 아이콘 */\n prefixIcon?: React.ReactNode;\n /** Suffix 아이콘 */\n suffixIcon?: React.ReactNode;\n /** 로딩 상태일 때 표시할 스피너 */\n loading?: boolean;\n}\n\n/** ActionButton 컴포넌트는 사용자가 어떠한 액션을 트리거하거나 이벤트를 실행할 때 사용한다. */\nexport const ActionButton = ({\n size = \"medium\",\n variant = \"primary\",\n shape = \"solid\",\n state = \"enabled\",\n children,\n prefixIcon,\n suffixIcon,\n loading = false,\n className = \"\",\n disabled,\n ...props\n}: ActionButtonProps) => {\n const isDisabled = disabled || state === \"disabled\" || loading;\n const actualState = loading ? \"loading\" : state;\n\n const baseClasses = [\n \"action-button\",\n `action-button--${size}`,\n `action-button--${variant}`,\n `action-button--${shape}`,\n `action-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type=\"button\"\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"action-button__content\">\n {prefixIcon && (\n <span className=\"action-button__prefix-icon\">{prefixIcon}</span>\n )}\n <span className=\"action-button__label\">{children}</span>\n {suffixIcon && (\n <span className=\"action-button__suffix-icon\">{suffixIcon}</span>\n )}\n </span>\n {loading && (\n <span className=\"action-button__spinner\" aria-hidden=\"true\">\n <svg\n className=\"action-button__spinner-svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"action-button__spinner-circle\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n >\n <animate\n attributeName=\"stroke-dasharray\"\n dur=\"2s\"\n values=\"0 40;40 40;0 40\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"stroke-dashoffset\"\n dur=\"2s\"\n values=\"0;-40;-80\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n </span>\n )}\n </button>\n );\n};\n\n// 기존 Button 컴포넌트는 하위 호환성을 위해 유지\nexport interface ButtonProps {\n /** Is this the principal call to action on the page? */\n primary?: boolean;\n /** What background color to use */\n backgroundColor?: string;\n /** How large should the button be? */\n size?: \"small\" | \"medium\" | \"large\";\n /** Button contents */\n label: string;\n /** Optional click handler */\n onClick?: () => void;\n}\n\n/** Primary UI component for user interaction */\nexport const Button = ({\n primary = false,\n size = \"medium\",\n backgroundColor,\n label,\n ...props\n}: ButtonProps) => {\n const mode = primary\n ? \"storybook-button--primary\"\n : \"storybook-button--secondary\";\n return (\n <button\n type=\"button\"\n className={[\"storybook-button\", `storybook-button--${size}`, mode].join(\n \" \"\n )}\n style={{ backgroundColor }}\n {...props}\n >\n {label}\n </button>\n );\n};\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** 버튼 크기 */\n size?: IconButtonSize;\n /** 버튼 타입 (primary 또는 neutral) */\n variant?: IconButtonVariant;\n /** 버튼 모양 (solid, outline, weak) */\n iconType?: IconButtonType;\n /** 버튼 상태 */\n state?: IconButtonState;\n /** 아이콘 (Heroicons 또는 React 컴포넌트) */\n icon: React.ReactNode;\n /** 아이콘에 대한 접근성 라벨 */\n \"aria-label\": string;\n}\n\n/** IconButton 컴포넌트는 텍스트 레이블 없이 아이콘만으로 액션을 전달하는 버튼 컴포넌트이다. */\nexport const IconButton = ({\n size = \"large\",\n variant = \"primary\",\n iconType = \"solid\",\n state = \"enabled\",\n icon,\n className = \"\",\n disabled,\n type = \"button\",\n ...props\n}: IconButtonProps) => {\n const isDisabled = disabled || state === \"disabled\";\n // weak 타입은 disabled 상태를 가지지 않음\n const actualState = iconType === \"weak\" && isDisabled ? \"enabled\" : state;\n\n const baseClasses = [\n \"icon-button\",\n `icon-button--${size}`,\n `icon-button--${variant}`,\n `icon-button--${iconType}`,\n `icon-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type={type}\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"icon-button__icon\">{icon}</span>\n </button>\n );\n};\n","import { Button } from './Button';\nimport './header.css';\n\ntype User = {\n name: string;\n};\n\nexport interface HeaderProps {\n user?: User;\n onLogin?: () => void;\n onLogout?: () => void;\n onCreateAccount?: () => void;\n}\n\nexport const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => (\n <header>\n <div className=\"storybook-header\">\n <div>\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n {user ? (\n <>\n <span className=\"welcome\">\n Welcome, <b>{user.name}</b>!\n </span>\n <Button size=\"small\" onClick={onLogout} label=\"Log out\" />\n </>\n ) : (\n <>\n <Button size=\"small\" onClick={onLogin} label=\"Log in\" />\n <Button primary size=\"small\" onClick={onCreateAccount} label=\"Sign up\" />\n </>\n )}\n </div>\n </div>\n </header>\n);\n","import React from 'react';\n\nimport { Header } from './Header';\nimport './page.css';\n\ntype User = {\n name: string;\n};\n\nexport const Page: React.FC = () => {\n const [user, setUser] = React.useState<User>();\n\n return (\n <article>\n <Header\n user={user}\n onLogin={() => setUser({ name: 'Jane Doe' })}\n onLogout={() => setUser(undefined)}\n onCreateAccount={() => setUser({ name: 'Jane Doe' })}\n />\n\n <section className=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a{' '}\n <a href=\"https://componentdriven.org\" target=\"_blank\" rel=\"noopener noreferrer\">\n <strong>component-driven</strong>\n </a>{' '}\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review page states without\n needing to navigate to them in your app. Here are some handy patterns for managing page\n data in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose such data from the\n \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock these services out\n using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at{' '}\n <a href=\"https://storybook.js.org/tutorials/\" target=\"_blank\" rel=\"noopener noreferrer\">\n Storybook tutorials\n </a>\n . Read more in the{' '}\n <a href=\"https://storybook.js.org/docs\" target=\"_blank\" rel=\"noopener noreferrer\">\n docs\n </a>\n .\n </p>\n <div className=\"tip-wrapper\">\n <span className=\"tip\">Tip</span> Adjust the width of the canvas with the{' '}\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>\n );\n};\n"],"mappings":"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","names":["jsx","jsxs","jsx","jsxs"]}
|
|
1
|
+
{"version":3,"sources":["../src/stories/Button.tsx","../src/stories/Header.tsx","../src/stories/Page.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type ButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type ButtonVariant = \"primary\" | \"neutral\" | \"secondary\";\nexport type ButtonShape = \"solid\" | \"outline\" | \"ghost\";\nexport type ButtonState = \"enabled\" | \"hovered\" | \"loading\" | \"disabled\";\n\nexport type IconButtonSize = \"xlarge\" | \"large\" | \"medium\" | \"small\";\nexport type IconButtonVariant = \"primary\" | \"neutral\";\nexport type IconButtonType = \"solid\" | \"outline\" | \"weak\";\nexport type IconButtonState = \"enabled\" | \"hovered\" | \"disabled\";\n\nexport interface ActionButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> {\n /** 버튼 크기 */\n size?: ButtonSize;\n /** 버튼 타입 (primary, neutral, secondary) */\n variant?: ButtonVariant;\n /** 버튼 모양 (solid, outline, ghost) */\n shape?: ButtonShape;\n /** 버튼 상태 */\n state?: ButtonState;\n /** 버튼 텍스트 */\n children: React.ReactNode;\n /** Prefix 아이콘 */\n prefixIcon?: React.ReactNode;\n /** Suffix 아이콘 */\n suffixIcon?: React.ReactNode;\n /** 로딩 상태일 때 표시할 스피너 */\n loading?: boolean;\n}\n\n/** ActionButton 컴포넌트는 사용자가 어떠한 액션을 트리거하거나 이벤트를 실행할 때 사용한다. */\nexport const ActionButton = ({\n size = \"medium\",\n variant = \"primary\",\n shape = \"solid\",\n state = \"enabled\",\n children,\n prefixIcon,\n suffixIcon,\n loading = false,\n className = \"\",\n disabled,\n ...props\n}: ActionButtonProps) => {\n const isDisabled = disabled || state === \"disabled\" || loading;\n const actualState = loading ? \"loading\" : state;\n\n const baseClasses = [\n \"action-button\",\n `action-button--${size}`,\n `action-button--${variant}`,\n `action-button--${shape}`,\n `action-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type=\"button\"\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"action-button__content\">\n {prefixIcon && (\n <span className=\"action-button__prefix-icon\">{prefixIcon}</span>\n )}\n <span className=\"action-button__label\">{children}</span>\n {suffixIcon && (\n <span className=\"action-button__suffix-icon\">{suffixIcon}</span>\n )}\n </span>\n {loading && (\n <span className=\"action-button__spinner\" aria-hidden=\"true\">\n <svg\n className=\"action-button__spinner-svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"action-button__spinner-circle\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n >\n <animate\n attributeName=\"stroke-dasharray\"\n dur=\"2s\"\n values=\"0 40;40 40;0 40\"\n repeatCount=\"indefinite\"\n />\n <animate\n attributeName=\"stroke-dashoffset\"\n dur=\"2s\"\n values=\"0;-40;-80\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n </span>\n )}\n </button>\n );\n};\n\n// 기존 Button 컴포넌트는 하위 호환성을 위해 유지\nexport interface ButtonProps {\n /** Is this the principal call to action on the page? */\n primary?: boolean;\n /** What background color to use */\n backgroundColor?: string;\n /** How large should the button be? */\n size?: \"small\" | \"medium\" | \"large\";\n /** Button contents */\n label: string;\n /** Optional click handler */\n onClick?: () => void;\n}\n\n/** Primary UI component for user interaction */\nexport const Button = ({\n primary = false,\n size = \"medium\",\n backgroundColor,\n label,\n ...props\n}: ButtonProps) => {\n const mode = primary\n ? \"storybook-button--primary\"\n : \"storybook-button--secondary\";\n return (\n <button\n type=\"button\"\n className={[\"storybook-button\", `storybook-button--${size}`, mode].join(\n \" \"\n )}\n style={{ backgroundColor }}\n {...props}\n >\n {label}\n </button>\n );\n};\n\nexport interface IconButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** 버튼 크기 */\n size?: IconButtonSize;\n /** 버튼 타입 (primary 또는 neutral) */\n variant?: IconButtonVariant;\n /** 버튼 모양 (solid, outline, weak) */\n iconType?: IconButtonType;\n /** 버튼 상태 */\n state?: IconButtonState;\n /** 아이콘 (Heroicons 또는 React 컴포넌트) */\n icon: React.ReactNode;\n /** 아이콘에 대한 접근성 라벨 */\n \"aria-label\": string;\n}\n\n/** IconButton 컴포넌트는 텍스트 레이블 없이 아이콘만으로 액션을 전달하는 버튼 컴포넌트이다. */\nexport const IconButton = ({\n size = \"large\",\n variant = \"primary\",\n iconType = \"solid\",\n state = \"enabled\",\n icon,\n className = \"\",\n disabled,\n type = \"button\",\n ...props\n}: IconButtonProps) => {\n const isDisabled = disabled || state === \"disabled\";\n // weak 타입은 disabled 상태를 가지지 않음\n const actualState = iconType === \"weak\" && isDisabled ? \"enabled\" : state;\n\n const baseClasses = [\n \"icon-button\",\n `icon-button--${size}`,\n `icon-button--${variant}`,\n `icon-button--${iconType}`,\n `icon-button--${actualState}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <button\n type={type}\n className={baseClasses}\n disabled={isDisabled}\n {...props}\n >\n <span className=\"icon-button__icon\">{icon}</span>\n </button>\n );\n};\n","import { Button } from \"./Button\";\n\ntype User = {\n name: string;\n};\n\nexport interface HeaderProps {\n user?: User;\n onLogin?: () => void;\n onLogout?: () => void;\n onCreateAccount?: () => void;\n}\n\nexport const Header = ({\n user,\n onLogin,\n onLogout,\n onCreateAccount,\n}: HeaderProps) => (\n <header>\n <div className=\"storybook-header\">\n <div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z\"\n fill=\"#555AB9\"\n />\n <path\n d=\"M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z\"\n fill=\"#91BAF8\"\n />\n </g>\n </svg>\n <h1>Acme</h1>\n </div>\n <div>\n {user ? (\n <>\n <span className=\"welcome\">\n Welcome, <b>{user.name}</b>!\n </span>\n <Button size=\"small\" onClick={onLogout} label=\"Log out\" />\n </>\n ) : (\n <>\n <Button size=\"small\" onClick={onLogin} label=\"Log in\" />\n <Button\n primary\n size=\"small\"\n onClick={onCreateAccount}\n label=\"Sign up\"\n />\n </>\n )}\n </div>\n </div>\n </header>\n);\n","import React from \"react\";\n\nimport { Header } from \"./Header\";\n\ntype User = {\n name: string;\n};\n\nexport const Page: React.FC = () => {\n const [user, setUser] = React.useState<User>();\n\n return (\n <article>\n <Header\n user={user}\n onLogin={() => setUser({ name: \"Jane Doe\" })}\n onLogout={() => setUser(undefined)}\n onCreateAccount={() => setUser({ name: \"Jane Doe\" })}\n />\n\n <section className=\"storybook-page\">\n <h2>Pages in Storybook</h2>\n <p>\n We recommend building UIs with a{\" \"}\n <a\n href=\"https://componentdriven.org\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <strong>component-driven</strong>\n </a>{\" \"}\n process starting with atomic components and ending with pages.\n </p>\n <p>\n Render pages with mock data. This makes it easy to build and review\n page states without needing to navigate to them in your app. Here are\n some handy patterns for managing page data in Storybook:\n </p>\n <ul>\n <li>\n Use a higher-level connected component. Storybook helps you compose\n such data from the \"args\" of child component stories\n </li>\n <li>\n Assemble data in the page component from your services. You can mock\n these services out using Storybook.\n </li>\n </ul>\n <p>\n Get a guided tutorial on component-driven development at{\" \"}\n <a\n href=\"https://storybook.js.org/tutorials/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Storybook tutorials\n </a>\n . Read more in the{\" \"}\n <a\n href=\"https://storybook.js.org/docs\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n docs\n </a>\n .\n </p>\n <div className=\"tip-wrapper\">\n <span className=\"tip\">Tip</span> Adjust the width of the canvas with\n the{\" \"}\n <svg\n width=\"10\"\n height=\"10\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z\"\n id=\"a\"\n fill=\"#999\"\n />\n </g>\n </svg>\n Viewports addon in the toolbar\n </div>\n </section>\n </article>\n );\n};\n"],"mappings":"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","names":["jsx","jsxs","jsx","jsxs"]}
|