@likelion-design/ui 0.1.0 → 0.1.2
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/README.md +90 -22
- package/dist/index.css +603 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +17 -1
package/README.md
CHANGED
|
@@ -1,40 +1,108 @@
|
|
|
1
|
-
|
|
1
|
+
# @likelion-design/ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
React UI 컴포넌트 라이브러리
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## 설치
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm
|
|
8
|
+
npm install @likelion-design/ui
|
|
9
9
|
# or
|
|
10
|
-
yarn
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
yarn add @likelion-design/ui
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 사용법
|
|
14
|
+
|
|
15
|
+
### 1. CSS 스타일 import (필수)
|
|
16
|
+
|
|
17
|
+
컴포넌트를 사용하기 전에 반드시 CSS 파일을 import해야 합니다:
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
// App.tsx 또는 최상위 파일
|
|
21
|
+
import "@likelion-design/ui/styles.css";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 2. 컴포넌트 사용
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
import { ActionButton, IconButton } from "@likelion-design/ui";
|
|
28
|
+
|
|
29
|
+
function App() {
|
|
30
|
+
return (
|
|
31
|
+
<div>
|
|
32
|
+
<ActionButton
|
|
33
|
+
size="medium"
|
|
34
|
+
variant="primary"
|
|
35
|
+
onClick={() => console.log("clicked")}
|
|
36
|
+
>
|
|
37
|
+
Click me
|
|
38
|
+
</ActionButton>
|
|
39
|
+
|
|
40
|
+
<IconButton
|
|
41
|
+
size="large"
|
|
42
|
+
variant="primary"
|
|
43
|
+
icon={<YourIcon />}
|
|
44
|
+
aria-label="좋아요"
|
|
45
|
+
/>
|
|
46
|
+
</div>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
15
49
|
```
|
|
16
50
|
|
|
17
|
-
|
|
51
|
+
## 컴포넌트
|
|
18
52
|
|
|
19
|
-
|
|
53
|
+
### ActionButton
|
|
20
54
|
|
|
21
|
-
|
|
55
|
+
액션 버튼 컴포넌트 - 사용자가 액션을 트리거하거나 이벤트를 실행할 때 사용
|
|
22
56
|
|
|
23
|
-
|
|
57
|
+
**Props:**
|
|
24
58
|
|
|
25
|
-
|
|
59
|
+
- `size`: `"xlarge" | "large" | "medium" | "small"`
|
|
60
|
+
- `variant`: `"primary" | "neutral" | "secondary"`
|
|
61
|
+
- `shape`: `"solid" | "outline" | "ghost"`
|
|
62
|
+
- `state`: `"enabled" | "hovered" | "loading" | "disabled"`
|
|
63
|
+
- `prefixIcon`: 앞쪽 아이콘
|
|
64
|
+
- `suffixIcon`: 뒤쪽 아이콘
|
|
65
|
+
- `loading`: 로딩 상태
|
|
26
66
|
|
|
27
|
-
|
|
67
|
+
### IconButton
|
|
28
68
|
|
|
29
|
-
|
|
69
|
+
아이콘 버튼 컴포넌트 - 텍스트 레이블 없이 아이콘만으로 액션을 전달
|
|
30
70
|
|
|
31
|
-
|
|
32
|
-
- [Learn Next.js](https://nextjs.org/learn-pages-router) - an interactive Next.js tutorial.
|
|
71
|
+
**Props:**
|
|
33
72
|
|
|
34
|
-
|
|
73
|
+
- `size`: `"xlarge" | "large" | "medium" | "small"`
|
|
74
|
+
- `variant`: `"primary" | "neutral"`
|
|
75
|
+
- `iconType`: `"solid" | "outline" | "weak"`
|
|
76
|
+
- `state`: `"enabled" | "hovered" | "disabled"`
|
|
77
|
+
- `icon`: React 아이콘 컴포넌트
|
|
78
|
+
- `aria-label`: 접근성 라벨 (필수)
|
|
35
79
|
|
|
36
|
-
|
|
80
|
+
### Button
|
|
81
|
+
|
|
82
|
+
레거시 버튼 컴포넌트 (하위 호환성)
|
|
83
|
+
|
|
84
|
+
### Header
|
|
85
|
+
|
|
86
|
+
헤더 컴포넌트
|
|
87
|
+
|
|
88
|
+
### Page
|
|
89
|
+
|
|
90
|
+
페이지 컴포넌트
|
|
91
|
+
|
|
92
|
+
## TypeScript 지원
|
|
93
|
+
|
|
94
|
+
모든 컴포넌트는 완전한 TypeScript 타입 정의를 제공합니다.
|
|
95
|
+
|
|
96
|
+
## 개발
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Storybook 실행
|
|
100
|
+
npm run storybook
|
|
101
|
+
|
|
102
|
+
# 패키지 빌드
|
|
103
|
+
npm run build
|
|
104
|
+
```
|
|
37
105
|
|
|
38
|
-
|
|
106
|
+
## 라이선스
|
|
39
107
|
|
|
40
|
-
|
|
108
|
+
MIT
|
package/dist/index.css
CHANGED
|
@@ -513,4 +513,607 @@
|
|
|
513
513
|
.storybook-page .tip-wrapper svg path {
|
|
514
514
|
fill: #1ea7fd;
|
|
515
515
|
}
|
|
516
|
+
|
|
517
|
+
/* src/styles/globals.css */
|
|
518
|
+
@layer properties;
|
|
519
|
+
@layer theme, base, components, utilities;
|
|
520
|
+
@layer theme {
|
|
521
|
+
:root,
|
|
522
|
+
:host {
|
|
523
|
+
--color-red-50: #ffe5ec;
|
|
524
|
+
--color-red-500: #ea6565;
|
|
525
|
+
--color-red-600: #e12337;
|
|
526
|
+
--color-yellow-50: #fef7cd;
|
|
527
|
+
--color-yellow-500: #be9b00;
|
|
528
|
+
--color-green-50: #d3f8ef;
|
|
529
|
+
--color-green-500: #0da796;
|
|
530
|
+
--color-blue-50: #dbf1ff;
|
|
531
|
+
--color-blue-500: #3d94ff;
|
|
532
|
+
--color-purple-50: #f5e5ff;
|
|
533
|
+
--color-purple-500: #af79dd;
|
|
534
|
+
--color-pink-50: #ffe5ff;
|
|
535
|
+
--color-pink-500: #d3689f;
|
|
536
|
+
--color-gray-50: #f9fafb;
|
|
537
|
+
--color-gray-100: #f3f4f6;
|
|
538
|
+
--color-gray-200: #e5e7ea;
|
|
539
|
+
--color-gray-300: #d1d6dc;
|
|
540
|
+
--color-gray-400: #b1b8c0;
|
|
541
|
+
--color-gray-500: #8a95a0;
|
|
542
|
+
--color-gray-600: #6b7583;
|
|
543
|
+
--color-gray-700: #4e5967;
|
|
544
|
+
--color-gray-800: #333d4b;
|
|
545
|
+
--color-gray-900: #191f28;
|
|
546
|
+
--color-zinc-50: oklch(98.5% 0 0);
|
|
547
|
+
--color-zinc-400: oklch(70.5% 0.015 286.067);
|
|
548
|
+
--color-zinc-600: oklch(44.2% 0.017 285.786);
|
|
549
|
+
--color-zinc-950: oklch(14.1% 0.005 285.823);
|
|
550
|
+
--color-black: #000;
|
|
551
|
+
--color-white: #fff;
|
|
552
|
+
--spacing: 0.25rem;
|
|
553
|
+
--container-xs: 20rem;
|
|
554
|
+
--container-md: 28rem;
|
|
555
|
+
--container-3xl: 48rem;
|
|
556
|
+
--text-base: 1rem;
|
|
557
|
+
--text-base--line-height: calc(1.5 / 1);
|
|
558
|
+
--text-lg: 1.125rem;
|
|
559
|
+
--text-lg--line-height: calc(1.75 / 1.125);
|
|
560
|
+
--text-3xl: 1.875rem;
|
|
561
|
+
--text-3xl--line-height: calc(2.25 / 1.875);
|
|
562
|
+
--font-weight-medium: 500;
|
|
563
|
+
--font-weight-semibold: 600;
|
|
564
|
+
--tracking-tight: -0.025em;
|
|
565
|
+
--default-transition-duration: 150ms;
|
|
566
|
+
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
567
|
+
--default-font-family: var(--font-geist-sans);
|
|
568
|
+
--default-mono-font-family: var(--font-geist-mono);
|
|
569
|
+
--color-static-white: #ffffff;
|
|
570
|
+
--color-static-black: #000000;
|
|
571
|
+
--color-primary-50: #ffefe5;
|
|
572
|
+
--color-primary-500: #ff6000;
|
|
573
|
+
--color-primary-600: #cc4d00;
|
|
574
|
+
--color-gray-850: #262f3c;
|
|
575
|
+
--color-lightgreen-50: #e9f7d4;
|
|
576
|
+
--color-lightgreen-500: #79b116;
|
|
577
|
+
--color-semantic-fg-primary: var(--color-primary-500);
|
|
578
|
+
--color-semantic-fg-inverted: var(--color-static-white);
|
|
579
|
+
--color-semantic-fg-normal: var(--color-gray-800);
|
|
580
|
+
--color-semantic-fg-disabled: var(--color-gray-400);
|
|
581
|
+
--color-semantic-fg-white: var(--color-static-white);
|
|
582
|
+
--color-semantic-bg-normal: var(--color-gray-100);
|
|
583
|
+
--color-semantic-bg-normal-hovered: var(--color-gray-50);
|
|
584
|
+
--color-semantic-bg-normal-disabled: var(--color-gray-100);
|
|
585
|
+
--color-semantic-bg-inverted: var(--color-gray-900);
|
|
586
|
+
--color-semantic-bg-primary: var(--color-primary-500);
|
|
587
|
+
--color-semantic-bg-primary-hovered: var(--color-primary-600);
|
|
588
|
+
--color-semantic-bg-primary-weak: var(--color-primary-50);
|
|
589
|
+
--color-semantic-bg-white: var(--color-static-white);
|
|
590
|
+
--color-semantic-bg-week-primary: rgba(255, 96, 0, 0.08);
|
|
591
|
+
--color-semantic-bg-week-primary-hovered: rgba(255, 96, 0, 0.16);
|
|
592
|
+
--color-semantic-bg-week-neutral-dark: rgba(0, 0, 0, 0.08);
|
|
593
|
+
--color-semantic-bg-week-neutral-dark-hovered: rgba(0, 0, 0, 0.16);
|
|
594
|
+
--color-semantic-border-normal: var(--color-gray-300);
|
|
595
|
+
--color-semantic-border-weak: var(--color-gray-200);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
@layer base {
|
|
599
|
+
*,
|
|
600
|
+
::after,
|
|
601
|
+
::before,
|
|
602
|
+
::backdrop,
|
|
603
|
+
::file-selector-button {
|
|
604
|
+
box-sizing: border-box;
|
|
605
|
+
margin: 0;
|
|
606
|
+
padding: 0;
|
|
607
|
+
border: 0 solid;
|
|
608
|
+
}
|
|
609
|
+
html,
|
|
610
|
+
:host {
|
|
611
|
+
line-height: 1.5;
|
|
612
|
+
-webkit-text-size-adjust: 100%;
|
|
613
|
+
tab-size: 4;
|
|
614
|
+
font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
|
|
615
|
+
font-feature-settings: var(--default-font-feature-settings, normal);
|
|
616
|
+
font-variation-settings: var(--default-font-variation-settings, normal);
|
|
617
|
+
-webkit-tap-highlight-color: transparent;
|
|
618
|
+
}
|
|
619
|
+
hr {
|
|
620
|
+
height: 0;
|
|
621
|
+
color: inherit;
|
|
622
|
+
border-top-width: 1px;
|
|
623
|
+
}
|
|
624
|
+
abbr:where([title]) {
|
|
625
|
+
-webkit-text-decoration: underline dotted;
|
|
626
|
+
text-decoration: underline dotted;
|
|
627
|
+
}
|
|
628
|
+
h1,
|
|
629
|
+
h2,
|
|
630
|
+
h3,
|
|
631
|
+
h4,
|
|
632
|
+
h5,
|
|
633
|
+
h6 {
|
|
634
|
+
font-size: inherit;
|
|
635
|
+
font-weight: inherit;
|
|
636
|
+
}
|
|
637
|
+
a {
|
|
638
|
+
color: inherit;
|
|
639
|
+
-webkit-text-decoration: inherit;
|
|
640
|
+
text-decoration: inherit;
|
|
641
|
+
}
|
|
642
|
+
b,
|
|
643
|
+
strong {
|
|
644
|
+
font-weight: bolder;
|
|
645
|
+
}
|
|
646
|
+
code,
|
|
647
|
+
kbd,
|
|
648
|
+
samp,
|
|
649
|
+
pre {
|
|
650
|
+
font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
|
|
651
|
+
font-feature-settings: var(--default-mono-font-feature-settings, normal);
|
|
652
|
+
font-variation-settings: var(--default-mono-font-variation-settings, normal);
|
|
653
|
+
font-size: 1em;
|
|
654
|
+
}
|
|
655
|
+
small {
|
|
656
|
+
font-size: 80%;
|
|
657
|
+
}
|
|
658
|
+
sub,
|
|
659
|
+
sup {
|
|
660
|
+
font-size: 75%;
|
|
661
|
+
line-height: 0;
|
|
662
|
+
position: relative;
|
|
663
|
+
vertical-align: baseline;
|
|
664
|
+
}
|
|
665
|
+
sub {
|
|
666
|
+
bottom: -0.25em;
|
|
667
|
+
}
|
|
668
|
+
sup {
|
|
669
|
+
top: -0.5em;
|
|
670
|
+
}
|
|
671
|
+
table {
|
|
672
|
+
text-indent: 0;
|
|
673
|
+
border-color: inherit;
|
|
674
|
+
border-collapse: collapse;
|
|
675
|
+
}
|
|
676
|
+
:-moz-focusring {
|
|
677
|
+
outline: auto;
|
|
678
|
+
}
|
|
679
|
+
progress {
|
|
680
|
+
vertical-align: baseline;
|
|
681
|
+
}
|
|
682
|
+
summary {
|
|
683
|
+
display: list-item;
|
|
684
|
+
}
|
|
685
|
+
ol,
|
|
686
|
+
ul,
|
|
687
|
+
menu {
|
|
688
|
+
list-style: none;
|
|
689
|
+
}
|
|
690
|
+
img,
|
|
691
|
+
svg,
|
|
692
|
+
video,
|
|
693
|
+
canvas,
|
|
694
|
+
audio,
|
|
695
|
+
iframe,
|
|
696
|
+
embed,
|
|
697
|
+
object {
|
|
698
|
+
display: block;
|
|
699
|
+
vertical-align: middle;
|
|
700
|
+
}
|
|
701
|
+
img,
|
|
702
|
+
video {
|
|
703
|
+
max-width: 100%;
|
|
704
|
+
height: auto;
|
|
705
|
+
}
|
|
706
|
+
button,
|
|
707
|
+
input,
|
|
708
|
+
select,
|
|
709
|
+
optgroup,
|
|
710
|
+
textarea,
|
|
711
|
+
::file-selector-button {
|
|
712
|
+
font: inherit;
|
|
713
|
+
font-feature-settings: inherit;
|
|
714
|
+
font-variation-settings: inherit;
|
|
715
|
+
letter-spacing: inherit;
|
|
716
|
+
color: inherit;
|
|
717
|
+
border-radius: 0;
|
|
718
|
+
background-color: transparent;
|
|
719
|
+
opacity: 1;
|
|
720
|
+
}
|
|
721
|
+
:where(select:is([multiple], [size])) optgroup {
|
|
722
|
+
font-weight: bolder;
|
|
723
|
+
}
|
|
724
|
+
:where(select:is([multiple], [size])) optgroup option {
|
|
725
|
+
padding-inline-start: 20px;
|
|
726
|
+
}
|
|
727
|
+
::file-selector-button {
|
|
728
|
+
margin-inline-end: 4px;
|
|
729
|
+
}
|
|
730
|
+
::placeholder {
|
|
731
|
+
opacity: 1;
|
|
732
|
+
}
|
|
733
|
+
@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
|
|
734
|
+
::placeholder {
|
|
735
|
+
color: currentcolor;
|
|
736
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
737
|
+
color: color-mix(in oklab, currentcolor 50%, transparent);
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
textarea {
|
|
742
|
+
resize: vertical;
|
|
743
|
+
}
|
|
744
|
+
::-webkit-search-decoration {
|
|
745
|
+
-webkit-appearance: none;
|
|
746
|
+
}
|
|
747
|
+
::-webkit-date-and-time-value {
|
|
748
|
+
min-height: 1lh;
|
|
749
|
+
text-align: inherit;
|
|
750
|
+
}
|
|
751
|
+
::-webkit-datetime-edit {
|
|
752
|
+
display: inline-flex;
|
|
753
|
+
}
|
|
754
|
+
::-webkit-datetime-edit-fields-wrapper {
|
|
755
|
+
padding: 0;
|
|
756
|
+
}
|
|
757
|
+
::-webkit-datetime-edit,
|
|
758
|
+
::-webkit-datetime-edit-year-field,
|
|
759
|
+
::-webkit-datetime-edit-month-field,
|
|
760
|
+
::-webkit-datetime-edit-day-field,
|
|
761
|
+
::-webkit-datetime-edit-hour-field,
|
|
762
|
+
::-webkit-datetime-edit-minute-field,
|
|
763
|
+
::-webkit-datetime-edit-second-field,
|
|
764
|
+
::-webkit-datetime-edit-millisecond-field,
|
|
765
|
+
::-webkit-datetime-edit-meridiem-field {
|
|
766
|
+
padding-block: 0;
|
|
767
|
+
}
|
|
768
|
+
::-webkit-calendar-picker-indicator {
|
|
769
|
+
line-height: 1;
|
|
770
|
+
}
|
|
771
|
+
:-moz-ui-invalid {
|
|
772
|
+
box-shadow: none;
|
|
773
|
+
}
|
|
774
|
+
button,
|
|
775
|
+
input:where([type=button], [type=reset], [type=submit]),
|
|
776
|
+
::file-selector-button {
|
|
777
|
+
appearance: button;
|
|
778
|
+
}
|
|
779
|
+
::-webkit-inner-spin-button,
|
|
780
|
+
::-webkit-outer-spin-button {
|
|
781
|
+
height: auto;
|
|
782
|
+
}
|
|
783
|
+
[hidden]:where(:not([hidden=until-found])) {
|
|
784
|
+
display: none !important;
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
@layer utilities {
|
|
788
|
+
.fixed {
|
|
789
|
+
position: fixed;
|
|
790
|
+
}
|
|
791
|
+
.static {
|
|
792
|
+
position: static;
|
|
793
|
+
}
|
|
794
|
+
.contents {
|
|
795
|
+
display: contents;
|
|
796
|
+
}
|
|
797
|
+
.flex {
|
|
798
|
+
display: flex;
|
|
799
|
+
}
|
|
800
|
+
.inline-block {
|
|
801
|
+
display: inline-block;
|
|
802
|
+
}
|
|
803
|
+
.h-12 {
|
|
804
|
+
height: calc(var(--spacing) * 12);
|
|
805
|
+
}
|
|
806
|
+
.min-h-screen {
|
|
807
|
+
min-height: 100vh;
|
|
808
|
+
}
|
|
809
|
+
.w-full {
|
|
810
|
+
width: 100%;
|
|
811
|
+
}
|
|
812
|
+
.max-w-3xl {
|
|
813
|
+
max-width: var(--container-3xl);
|
|
814
|
+
}
|
|
815
|
+
.max-w-md {
|
|
816
|
+
max-width: var(--container-md);
|
|
817
|
+
}
|
|
818
|
+
.max-w-xs {
|
|
819
|
+
max-width: var(--container-xs);
|
|
820
|
+
}
|
|
821
|
+
.transform {
|
|
822
|
+
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
823
|
+
}
|
|
824
|
+
.flex-col {
|
|
825
|
+
flex-direction: column;
|
|
826
|
+
}
|
|
827
|
+
.items-center {
|
|
828
|
+
align-items: center;
|
|
829
|
+
}
|
|
830
|
+
.justify-between {
|
|
831
|
+
justify-content: space-between;
|
|
832
|
+
}
|
|
833
|
+
.justify-center {
|
|
834
|
+
justify-content: center;
|
|
835
|
+
}
|
|
836
|
+
.gap-2 {
|
|
837
|
+
gap: calc(var(--spacing) * 2);
|
|
838
|
+
}
|
|
839
|
+
.gap-4 {
|
|
840
|
+
gap: calc(var(--spacing) * 4);
|
|
841
|
+
}
|
|
842
|
+
.gap-6 {
|
|
843
|
+
gap: calc(var(--spacing) * 6);
|
|
844
|
+
}
|
|
845
|
+
.rounded-full {
|
|
846
|
+
border-radius: calc(infinity * 1px);
|
|
847
|
+
}
|
|
848
|
+
.border {
|
|
849
|
+
border-style: var(--tw-border-style);
|
|
850
|
+
border-width: 1px;
|
|
851
|
+
}
|
|
852
|
+
.border-solid {
|
|
853
|
+
--tw-border-style: solid;
|
|
854
|
+
border-style: solid;
|
|
855
|
+
}
|
|
856
|
+
.border-black\/\[\.08\] {
|
|
857
|
+
border-color: color-mix(in srgb, #000 8%, transparent);
|
|
858
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
859
|
+
border-color: color-mix(in oklab, var(--color-black) 8%, transparent);
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
.bg-foreground {
|
|
863
|
+
background-color: var(--foreground);
|
|
864
|
+
}
|
|
865
|
+
.bg-white {
|
|
866
|
+
background-color: var(--color-white);
|
|
867
|
+
}
|
|
868
|
+
.bg-zinc-50 {
|
|
869
|
+
background-color: var(--color-zinc-50);
|
|
870
|
+
}
|
|
871
|
+
.px-5 {
|
|
872
|
+
padding-inline: calc(var(--spacing) * 5);
|
|
873
|
+
}
|
|
874
|
+
.px-16 {
|
|
875
|
+
padding-inline: calc(var(--spacing) * 16);
|
|
876
|
+
}
|
|
877
|
+
.py-32 {
|
|
878
|
+
padding-block: calc(var(--spacing) * 32);
|
|
879
|
+
}
|
|
880
|
+
.text-center {
|
|
881
|
+
text-align: center;
|
|
882
|
+
}
|
|
883
|
+
.font-sans {
|
|
884
|
+
font-family: var(--font-geist-sans);
|
|
885
|
+
}
|
|
886
|
+
.text-3xl {
|
|
887
|
+
font-size: var(--text-3xl);
|
|
888
|
+
line-height: var(--tw-leading, var(--text-3xl--line-height));
|
|
889
|
+
}
|
|
890
|
+
.text-base {
|
|
891
|
+
font-size: var(--text-base);
|
|
892
|
+
line-height: var(--tw-leading, var(--text-base--line-height));
|
|
893
|
+
}
|
|
894
|
+
.text-lg {
|
|
895
|
+
font-size: var(--text-lg);
|
|
896
|
+
line-height: var(--tw-leading, var(--text-lg--line-height));
|
|
897
|
+
}
|
|
898
|
+
.leading-8 {
|
|
899
|
+
--tw-leading: calc(var(--spacing) * 8);
|
|
900
|
+
line-height: calc(var(--spacing) * 8);
|
|
901
|
+
}
|
|
902
|
+
.leading-10 {
|
|
903
|
+
--tw-leading: calc(var(--spacing) * 10);
|
|
904
|
+
line-height: calc(var(--spacing) * 10);
|
|
905
|
+
}
|
|
906
|
+
.font-medium {
|
|
907
|
+
--tw-font-weight: var(--font-weight-medium);
|
|
908
|
+
font-weight: var(--font-weight-medium);
|
|
909
|
+
}
|
|
910
|
+
.font-semibold {
|
|
911
|
+
--tw-font-weight: var(--font-weight-semibold);
|
|
912
|
+
font-weight: var(--font-weight-semibold);
|
|
913
|
+
}
|
|
914
|
+
.tracking-tight {
|
|
915
|
+
--tw-tracking: var(--tracking-tight);
|
|
916
|
+
letter-spacing: var(--tracking-tight);
|
|
917
|
+
}
|
|
918
|
+
.text-background {
|
|
919
|
+
color: var(--background);
|
|
920
|
+
}
|
|
921
|
+
.text-black {
|
|
922
|
+
color: var(--color-black);
|
|
923
|
+
}
|
|
924
|
+
.text-zinc-600 {
|
|
925
|
+
color: var(--color-zinc-600);
|
|
926
|
+
}
|
|
927
|
+
.text-zinc-950 {
|
|
928
|
+
color: var(--color-zinc-950);
|
|
929
|
+
}
|
|
930
|
+
.antialiased {
|
|
931
|
+
-webkit-font-smoothing: antialiased;
|
|
932
|
+
-moz-osx-font-smoothing: grayscale;
|
|
933
|
+
}
|
|
934
|
+
.outline {
|
|
935
|
+
outline-style: var(--tw-outline-style);
|
|
936
|
+
outline-width: 1px;
|
|
937
|
+
}
|
|
938
|
+
.transition-colors {
|
|
939
|
+
transition-property:
|
|
940
|
+
color,
|
|
941
|
+
background-color,
|
|
942
|
+
border-color,
|
|
943
|
+
outline-color,
|
|
944
|
+
text-decoration-color,
|
|
945
|
+
fill,
|
|
946
|
+
stroke,
|
|
947
|
+
--tw-gradient-from,
|
|
948
|
+
--tw-gradient-via,
|
|
949
|
+
--tw-gradient-to;
|
|
950
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
951
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
952
|
+
}
|
|
953
|
+
.hover\:border-transparent {
|
|
954
|
+
&:hover {
|
|
955
|
+
@media (hover: hover) {
|
|
956
|
+
border-color: transparent;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
.hover\:bg-\[\#383838\] {
|
|
961
|
+
&:hover {
|
|
962
|
+
@media (hover: hover) {
|
|
963
|
+
background-color: #383838;
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
.hover\:bg-black\/\[\.04\] {
|
|
968
|
+
&:hover {
|
|
969
|
+
@media (hover: hover) {
|
|
970
|
+
background-color: color-mix(in srgb, #000 4%, transparent);
|
|
971
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
972
|
+
background-color: color-mix(in oklab, var(--color-black) 4%, transparent);
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
.sm\:flex-row {
|
|
978
|
+
@media (width >= 40rem) {
|
|
979
|
+
flex-direction: row;
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
.sm\:items-start {
|
|
983
|
+
@media (width >= 40rem) {
|
|
984
|
+
align-items: flex-start;
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
.sm\:text-left {
|
|
988
|
+
@media (width >= 40rem) {
|
|
989
|
+
text-align: left;
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
.md\:w-\[158px\] {
|
|
993
|
+
@media (width >= 48rem) {
|
|
994
|
+
width: 158px;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
.dark\:border-white\/\[\.145\] {
|
|
998
|
+
@media (prefers-color-scheme: dark) {
|
|
999
|
+
border-color: color-mix(in srgb, #fff 14.499999999999998%, transparent);
|
|
1000
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1001
|
+
border-color: color-mix(in oklab, var(--color-white) 14.499999999999998%, transparent);
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
.dark\:bg-black {
|
|
1006
|
+
@media (prefers-color-scheme: dark) {
|
|
1007
|
+
background-color: var(--color-black);
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
.dark\:text-zinc-50 {
|
|
1011
|
+
@media (prefers-color-scheme: dark) {
|
|
1012
|
+
color: var(--color-zinc-50);
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
.dark\:text-zinc-400 {
|
|
1016
|
+
@media (prefers-color-scheme: dark) {
|
|
1017
|
+
color: var(--color-zinc-400);
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
.dark\:invert {
|
|
1021
|
+
@media (prefers-color-scheme: dark) {
|
|
1022
|
+
--tw-invert: invert(100%);
|
|
1023
|
+
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
.dark\:hover\:bg-\[\#1a1a1a\] {
|
|
1027
|
+
@media (prefers-color-scheme: dark) {
|
|
1028
|
+
&:hover {
|
|
1029
|
+
@media (hover: hover) {
|
|
1030
|
+
background-color: #1a1a1a;
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
.dark\:hover\:bg-\[\#ccc\] {
|
|
1036
|
+
@media (prefers-color-scheme: dark) {
|
|
1037
|
+
&:hover {
|
|
1038
|
+
@media (hover: hover) {
|
|
1039
|
+
background-color: #ccc;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
1045
|
+
:root {
|
|
1046
|
+
--background: #ffffff;
|
|
1047
|
+
--foreground: #171717;
|
|
1048
|
+
}
|
|
1049
|
+
@media (prefers-color-scheme: dark) {
|
|
1050
|
+
:root {
|
|
1051
|
+
--background: #0a0a0a;
|
|
1052
|
+
--foreground: #ededed;
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
body {
|
|
1056
|
+
background: var(--background);
|
|
1057
|
+
color: var(--foreground);
|
|
1058
|
+
font-family:
|
|
1059
|
+
Arial,
|
|
1060
|
+
Helvetica,
|
|
1061
|
+
sans-serif;
|
|
1062
|
+
}
|
|
1063
|
+
@property --tw-rotate-x { syntax: "*"; inherits: false; }
|
|
1064
|
+
@property --tw-rotate-y { syntax: "*"; inherits: false; }
|
|
1065
|
+
@property --tw-rotate-z { syntax: "*"; inherits: false; }
|
|
1066
|
+
@property --tw-skew-x { syntax: "*"; inherits: false; }
|
|
1067
|
+
@property --tw-skew-y { syntax: "*"; inherits: false; }
|
|
1068
|
+
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
|
|
1069
|
+
@property --tw-leading { syntax: "*"; inherits: false; }
|
|
1070
|
+
@property --tw-font-weight { syntax: "*"; inherits: false; }
|
|
1071
|
+
@property --tw-tracking { syntax: "*"; inherits: false; }
|
|
1072
|
+
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
|
|
1073
|
+
@property --tw-blur { syntax: "*"; inherits: false; }
|
|
1074
|
+
@property --tw-brightness { syntax: "*"; inherits: false; }
|
|
1075
|
+
@property --tw-contrast { syntax: "*"; inherits: false; }
|
|
1076
|
+
@property --tw-grayscale { syntax: "*"; inherits: false; }
|
|
1077
|
+
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
|
|
1078
|
+
@property --tw-invert { syntax: "*"; inherits: false; }
|
|
1079
|
+
@property --tw-opacity { syntax: "*"; inherits: false; }
|
|
1080
|
+
@property --tw-saturate { syntax: "*"; inherits: false; }
|
|
1081
|
+
@property --tw-sepia { syntax: "*"; inherits: false; }
|
|
1082
|
+
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
|
|
1083
|
+
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
|
|
1084
|
+
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
|
|
1085
|
+
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
|
|
1086
|
+
@layer properties {
|
|
1087
|
+
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
1088
|
+
*,
|
|
1089
|
+
::before,
|
|
1090
|
+
::after,
|
|
1091
|
+
::backdrop {
|
|
1092
|
+
--tw-rotate-x: initial;
|
|
1093
|
+
--tw-rotate-y: initial;
|
|
1094
|
+
--tw-rotate-z: initial;
|
|
1095
|
+
--tw-skew-x: initial;
|
|
1096
|
+
--tw-skew-y: initial;
|
|
1097
|
+
--tw-border-style: solid;
|
|
1098
|
+
--tw-leading: initial;
|
|
1099
|
+
--tw-font-weight: initial;
|
|
1100
|
+
--tw-tracking: initial;
|
|
1101
|
+
--tw-outline-style: solid;
|
|
1102
|
+
--tw-blur: initial;
|
|
1103
|
+
--tw-brightness: initial;
|
|
1104
|
+
--tw-contrast: initial;
|
|
1105
|
+
--tw-grayscale: initial;
|
|
1106
|
+
--tw-hue-rotate: initial;
|
|
1107
|
+
--tw-invert: initial;
|
|
1108
|
+
--tw-opacity: initial;
|
|
1109
|
+
--tw-saturate: initial;
|
|
1110
|
+
--tw-sepia: initial;
|
|
1111
|
+
--tw-drop-shadow: initial;
|
|
1112
|
+
--tw-drop-shadow-color: initial;
|
|
1113
|
+
--tw-drop-shadow-alpha: 100%;
|
|
1114
|
+
--tw-drop-shadow-size: initial;
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
|
|
516
1119
|
/*# 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"],"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"],"mappings":"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","names":[]}
|
|
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","/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --color-red-50: #ffe5ec;\n --color-red-500: #ea6565;\n --color-red-600: #e12337;\n --color-yellow-50: #fef7cd;\n --color-yellow-500: #be9b00;\n --color-green-50: #d3f8ef;\n --color-green-500: #0da796;\n --color-blue-50: #dbf1ff;\n --color-blue-500: #3d94ff;\n --color-purple-50: #f5e5ff;\n --color-purple-500: #af79dd;\n --color-pink-50: #ffe5ff;\n --color-pink-500: #d3689f;\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-900: #191f28;\n --color-zinc-50: oklch(98.5% 0 0);\n --color-zinc-400: oklch(70.5% 0.015 286.067);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-950: oklch(14.1% 0.005 285.823);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xs: 20rem;\n --container-md: 28rem;\n --container-3xl: 48rem;\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --tracking-tight: -0.025em;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-geist-sans);\n --default-mono-font-family: var(--font-geist-mono);\n --color-static-white: #ffffff;\n --color-static-black: #000000;\n --color-primary-50: #ffefe5;\n --color-primary-500: #ff6000;\n --color-primary-600: #cc4d00;\n --color-gray-850: #262f3c;\n --color-lightgreen-50: #e9f7d4;\n --color-lightgreen-500: #79b116;\n --color-semantic-fg-primary: var(--color-primary-500);\n --color-semantic-fg-inverted: var(--color-static-white);\n --color-semantic-fg-normal: var(--color-gray-800);\n --color-semantic-fg-disabled: var(--color-gray-400);\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-disabled: var(--color-gray-100);\n --color-semantic-bg-inverted: var(--color-gray-900);\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-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-border-normal: var(--color-gray-300);\n --color-semantic-border-weak: var(--color-gray-200);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .inline-block {\n display: inline-block;\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-full {\n width: 100%;\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .max-w-xs {\n max-width: var(--container-xs);\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-black\\/\\[\\.08\\] {\n border-color: color-mix(in srgb, #000 8%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 8%, transparent);\n }\n }\n .bg-foreground {\n background-color: var(--foreground);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-zinc-50 {\n background-color: var(--color-zinc-50);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-16 {\n padding-inline: calc(var(--spacing) * 16);\n }\n .py-32 {\n padding-block: calc(var(--spacing) * 32);\n }\n .text-center {\n text-align: center;\n }\n .font-sans {\n font-family: var(--font-geist-sans);\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .leading-10 {\n --tw-leading: calc(var(--spacing) * 10);\n line-height: calc(var(--spacing) * 10);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .text-background {\n color: var(--background);\n }\n .text-black {\n color: var(--color-black);\n }\n .text-zinc-600 {\n color: var(--color-zinc-600);\n }\n .text-zinc-950 {\n color: var(--color-zinc-950);\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .hover\\:border-transparent {\n &:hover {\n @media (hover: hover) {\n border-color: transparent;\n }\n }\n }\n .hover\\:bg-\\[\\#383838\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #383838;\n }\n }\n }\n .hover\\:bg-black\\/\\[\\.04\\] {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 4%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 4%, transparent);\n }\n }\n }\n }\n .sm\\:flex-row {\n @media (width >= 40rem) {\n flex-direction: row;\n }\n }\n .sm\\:items-start {\n @media (width >= 40rem) {\n align-items: flex-start;\n }\n }\n .sm\\:text-left {\n @media (width >= 40rem) {\n text-align: left;\n }\n }\n .md\\:w-\\[158px\\] {\n @media (width >= 48rem) {\n width: 158px;\n }\n }\n .dark\\:border-white\\/\\[\\.145\\] {\n @media (prefers-color-scheme: dark) {\n border-color: color-mix(in srgb, #fff 14.499999999999998%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 14.499999999999998%, transparent);\n }\n }\n }\n .dark\\:bg-black {\n @media (prefers-color-scheme: dark) {\n background-color: var(--color-black);\n }\n }\n .dark\\:text-zinc-50 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-zinc-50);\n }\n }\n .dark\\:text-zinc-400 {\n @media (prefers-color-scheme: dark) {\n color: var(--color-zinc-400);\n }\n }\n .dark\\:invert {\n @media (prefers-color-scheme: dark) {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n }\n .dark\\:hover\\:bg-\\[\\#1a1a1a\\] {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: #1a1a1a;\n }\n }\n }\n }\n .dark\\:hover\\:bg-\\[\\#ccc\\] {\n @media (prefers-color-scheme: dark) {\n &:hover {\n @media (hover: hover) {\n background-color: #ccc;\n }\n }\n }\n }\n}\n:root {\n --background: #ffffff;\n --foreground: #171717;\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@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n }\n }\n}\n"],"mappings":"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","names":[]}
|
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\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 - 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"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@likelion-design/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./dist/index.d.mts",
|
|
12
|
+
"default": "./dist/index.mjs"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"./styles.css": "./dist/index.css"
|
|
20
|
+
},
|
|
21
|
+
"sideEffects": [
|
|
22
|
+
"**/*.css"
|
|
23
|
+
],
|
|
8
24
|
"files": [
|
|
9
25
|
"dist",
|
|
10
26
|
"README.md"
|