@nurihaus/web-design-system 3.0.0 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +104 -5
  2. package/dist/.storybook/story-kit.d.ts +18 -0
  3. package/dist/ai/components.md +742 -0
  4. package/dist/ai/tokens.md +319 -0
  5. package/dist/avatar.js +336 -0
  6. package/dist/check-box.js +379 -0
  7. package/dist/chunk-149.js +57 -0
  8. package/dist/chunk-298.js +34 -0
  9. package/dist/chunk-302.js +105 -0
  10. package/dist/chunk-309.js +36 -0
  11. package/dist/chunk-364.js +126 -0
  12. package/dist/chunk-387.js +37 -0
  13. package/dist/chunk-558.js +200 -0
  14. package/dist/chunk-563.js +181 -0
  15. package/dist/chunk-739.js +68 -0
  16. package/dist/chunk-777.js +117 -0
  17. package/dist/chunk-917.js +35 -0
  18. package/dist/chunk-933.js +70 -0
  19. package/dist/chunk-976.js +29 -0
  20. package/dist/collapsible-menu.js +394 -0
  21. package/dist/components/avatar/avatar-props.d.ts +2 -6
  22. package/dist/components/avatar/avatar-type.d.ts +4 -5
  23. package/dist/components/avatar/avatar.d.ts +1 -0
  24. package/dist/components/avatar/avatar.stories.d.ts +17 -1
  25. package/dist/components/badge/badge-props.d.ts +17 -80
  26. package/dist/components/badge/badge-type.d.ts +38 -2
  27. package/dist/components/badge/badge.stories.d.ts +25 -2
  28. package/dist/components/badge/base-badge.d.ts +2 -1
  29. package/dist/components/badge/icon-text-badge.d.ts +3 -21
  30. package/dist/components/badge/icon-text-option-badge.d.ts +2 -15
  31. package/dist/components/badge/option-badge.d.ts +3 -20
  32. package/dist/components/button/button-props.d.ts +2 -7
  33. package/dist/components/button/button-type.d.ts +11 -3
  34. package/dist/components/button/button.stories.d.ts +13 -10
  35. package/dist/components/button/cta-button.d.ts +3 -12
  36. package/dist/components/check-box/base-check-box.d.ts +9 -5
  37. package/dist/components/check-box/check-box-props.d.ts +2 -7
  38. package/dist/components/check-box/check-box-type.d.ts +11 -4
  39. package/dist/components/check-box/check-box.d.ts +3 -10
  40. package/dist/components/check-box/check-box.stories.d.ts +19 -4
  41. package/dist/components/collapsible-menu/base-collapsible-menu.d.ts +9 -5
  42. package/dist/components/collapsible-menu/collapsible-menu-props.d.ts +3 -12
  43. package/dist/components/collapsible-menu/collapsible-menu-type.d.ts +33 -9
  44. package/dist/components/collapsible-menu/collapsible-menu.d.ts +3 -23
  45. package/dist/components/collapsible-menu/collapsible-menu.stories.d.ts +20 -4
  46. package/dist/components/drop-down/base-drop-down.d.ts +11 -3
  47. package/dist/components/drop-down/drop-down-props.d.ts +3 -12
  48. package/dist/components/drop-down/drop-down-type.d.ts +34 -15
  49. package/dist/components/drop-down/drop-down.d.ts +3 -32
  50. package/dist/components/drop-down/drop-down.stories.d.ts +23 -4
  51. package/dist/components/elements/text/base-text.d.ts +3 -0
  52. package/dist/components/elements/text/text-props.d.ts +16 -0
  53. package/dist/components/elements/text/text-type.d.ts +6 -2
  54. package/dist/components/elements/text/text.d.ts +2 -1
  55. package/dist/components/elements/text/text.stories.d.ts +43 -3
  56. package/dist/components/loading/index.d.ts +6 -6
  57. package/dist/components/loading/inline-loading/base-inline-loading.d.ts +3 -0
  58. package/dist/components/loading/inline-loading/inline-loading-props.d.ts +9 -0
  59. package/dist/components/loading/inline-loading/inline-loading-type.d.ts +8 -6
  60. package/dist/components/loading/inline-loading/inline-loading.d.ts +3 -2
  61. package/dist/components/loading/inline-loading/inline-loading.stories.d.ts +5 -9
  62. package/dist/components/loading/overlay-loading/base-overlay-loading.d.ts +3 -0
  63. package/dist/components/loading/overlay-loading/overlay-loading-props.d.ts +7 -0
  64. package/dist/components/loading/overlay-loading/overlay-loading-type.d.ts +6 -3
  65. package/dist/components/loading/overlay-loading/overlay-loading.d.ts +3 -3
  66. package/dist/components/loading/overlay-loading/overlay-loading.stories.d.ts +8 -8
  67. package/dist/components/loading/spinner/base-spinner.d.ts +4 -0
  68. package/dist/components/loading/spinner/spinner-props.d.ts +1 -0
  69. package/dist/components/loading/spinner/spinner-type.d.ts +4 -4
  70. package/dist/components/loading/spinner/spinner.d.ts +2 -2
  71. package/dist/components/loading/spinner/spinner.stories.d.ts +5 -12
  72. package/dist/components/modal/base-modal.d.ts +17 -5
  73. package/dist/components/modal/modal-props.d.ts +2 -7
  74. package/dist/components/modal/modal-type.d.ts +20 -10
  75. package/dist/components/modal/modal-with-double-button.d.ts +4 -16
  76. package/dist/components/modal/modal.stories.d.ts +15 -2
  77. package/dist/components/radio/base-radio.d.ts +9 -5
  78. package/dist/components/radio/radio-props.d.ts +1 -0
  79. package/dist/components/radio/radio-type.d.ts +6 -8
  80. package/dist/components/radio/radio.d.ts +2 -2
  81. package/dist/components/radio/radio.stories.d.ts +13 -4
  82. package/dist/components/table/base-table.d.ts +4 -5
  83. package/dist/components/table/data-table.d.ts +5 -22
  84. package/dist/components/table/table-type.d.ts +22 -1
  85. package/dist/components/table/table.stories.d.ts +19 -3
  86. package/dist/components/tabs/base-tabs.d.ts +7 -7
  87. package/dist/components/tabs/tabs-props.d.ts +1 -1
  88. package/dist/components/tabs/tabs-type.d.ts +9 -13
  89. package/dist/components/tabs/tabs.d.ts +3 -3
  90. package/dist/components/tabs/tabs.stories.d.ts +16 -10
  91. package/dist/components/text-field/base-text-field.d.ts +5 -3
  92. package/dist/components/text-field/text-field-props.d.ts +3 -12
  93. package/dist/components/text-field/text-field-type.d.ts +14 -0
  94. package/dist/components/text-field/text-field.d.ts +3 -16
  95. package/dist/components/text-field/text-field.stories.d.ts +24 -0
  96. package/dist/components/tooltip/base-tooltip.d.ts +13 -3
  97. package/dist/components/tooltip/tooltip-props.d.ts +3 -2
  98. package/dist/components/tooltip/tooltip-type.d.ts +17 -5
  99. package/dist/components/tooltip/tooltip.d.ts +4 -7
  100. package/dist/components/tooltip/tooltip.stories.d.ts +21 -4
  101. package/dist/components.css +1984 -0
  102. package/dist/cta-button.js +236 -0
  103. package/dist/data-table.js +386 -0
  104. package/dist/drop-down.js +433 -0
  105. package/dist/helpers/props/common-props.d.ts +7 -0
  106. package/dist/helpers/types/common-props.d.ts +8 -0
  107. package/dist/icon-text-badge.js +294 -0
  108. package/dist/icon-text-option-badge.js +270 -0
  109. package/dist/index.d.ts +17 -1
  110. package/dist/index.js +3021 -10637
  111. package/dist/loading.js +383 -0
  112. package/dist/modal-with-double-button.js +527 -0
  113. package/dist/option-badge.js +293 -0
  114. package/dist/radio.js +363 -0
  115. package/dist/reset.css +45 -0
  116. package/dist/styles.css +785 -559
  117. package/dist/tabs.js +421 -0
  118. package/dist/text-field.js +369 -0
  119. package/dist/text.js +233 -0
  120. package/dist/tokens.css +73 -0
  121. package/dist/tokens.js +4 -6
  122. package/dist/tooltip.js +360 -0
  123. package/package.json +91 -14
  124. package/dist/components/text-field/text-filed.stories.d.ts +0 -8
@@ -0,0 +1,319 @@
1
+ <!-- tokens/figma.json 에서 생성됨 — 손으로 고치지 않는다. `npm run tokens` -->
2
+
3
+ # 디자인 토큰
4
+
5
+ `@nurihaus/web-design-system/tokens.css` 가 아래 CSS 변수를 `:root` 에 선언한다.
6
+
7
+ ## 규칙
8
+
9
+ - 색·글자·간격·모서리는 이 목록의 변수만 `var(--…)` 로 쓴다. hex, `rgb()` 같은 값을 직접 쓰지 않는다.
10
+ - 의미 토큰(아래 테마 표)이 있는 곳은 의미 토큰을 먼저 쓴다. 테마가 바뀌면 값이 따라 바뀐다.
11
+ - 이 목록에 없는 변수 이름을 지어내지 않는다. 없는 변수는 오류 없이 무시되어 화면에서만 드러난다.
12
+
13
+ ## 테마
14
+
15
+ 쓸 수 있는 테마는 `app`, `admin` 이다. 앱의 `<html>` 에 `data-ds-theme` 속성으로 고른다. 속성이 없으면 `app` 이다.
16
+
17
+ ```html
18
+ <html data-ds-theme="admin">
19
+ ```
20
+
21
+ ### 의미 토큰
22
+
23
+ | 변수 | app | admin |
24
+ | --- | --- | --- |
25
+ | `--button-variant-primary-background` | `var(--color-purple-900)` | — |
26
+ | `--button-variant-primary-border` | `var(--color-purple-900)` | `var(--color-purple-900)` |
27
+ | `--button-variant-primary-text` | `var(--color-white)` | `var(--color-white)` |
28
+ | `--button-variant-ghost-background` | `var(--color-white)` | `var(--color-white)` |
29
+ | `--button-variant-ghost-border` | `var(--color-grey-scale-300)` | `var(--color-grey-scale-300)` |
30
+ | `--button-variant-ghost-text` | `var(--color-purple-900)` | `var(--color-purple-900)` |
31
+ | `--button-variant-secondary-background` | `var(--color-purple-50)` | `var(--color-purple-50)` |
32
+ | `--button-variant-secondary-border` | `var(--color-purple-50)` | `var(--color-purple-50)` |
33
+ | `--button-variant-secondary-text` | `var(--color-purple-900)` | `var(--color-purple-900)` |
34
+ | `--button-variant-neutral-background` | `var(--color-white)` | `var(--color-white)` |
35
+ | `--button-variant-neutral-border` | `var(--color-white)` | `var(--color-white)` |
36
+ | `--button-variant-neutral-text` | `var(--color-purple-900)` | `var(--color-purple-900)` |
37
+ | `--button-variant-disabled-background` | `var(--color-grey-scale-200)` | `var(--color-grey-scale-200)` |
38
+ | `--button-variant-disabled-border` | `var(--color-grey-scale-200)` | `var(--color-grey-scale-200)` |
39
+ | `--button-variant-disabled-text` | `var(--color-white)` | `var(--color-white)` |
40
+ | `--button-variant-outlined-background` | `var(--color-white)` | `var(--color-white)` |
41
+ | `--button-variant-outlined-border` | `var(--color-accent-red-700)` | `var(--color-accent-red-700)` |
42
+ | `--button-variant-outlined-text` | `var(--color-accent-red-700)` | `var(--color-accent-red-700)` |
43
+ | `--button-size-xl` | `[object Object]` | `60` |
44
+ | `--button-size-lg` | `[object Object]` | — |
45
+ | `--button-size-md` | `[object Object]` | — |
46
+ | `--button-size-rg` | `[object Object]` | — |
47
+ | `--button-size-sm` | `[object Object]` | — |
48
+ | `--button-size-xs` | `[object Object]` | `30` |
49
+ | `--button-variant-primary-hover-background` | — | `var(--color-purple-900)` |
50
+ | `--button-variant-primary-hover-border` | — | `var(--color-purple-900)` |
51
+ | `--button-variant-primary-hover-text` | — | `var(--color-white)` |
52
+ | `--button-variant-ghost-hover-background` | — | `var(--color-white)` |
53
+ | `--button-variant-ghost-hover-border` | — | `var(--color-purple-900)` |
54
+ | `--button-variant-ghost-hover-text` | — | `var(--color-purple-900)` |
55
+ | `--button-variant-secondary-hover-background` | — | `var(--color-purple-100)` |
56
+ | `--button-variant-secondary-hover-border` | — | `var(--color-purple-100)` |
57
+ | `--button-variant-secondary-hover-text` | — | `var(--color-purple-900)` |
58
+ | `--button-variant-neutral-hover-background` | — | `var(--color-grey-scale-100)` |
59
+ | `--button-variant-neutral-hover-border` | — | `var(--color-grey-scale-100)` |
60
+ | `--button-variant-neutral-hover-text` | — | `var(--color-purple-900)` |
61
+ | `--button-variant-confirm-background` | — | `var(--color-accent-red-500)` |
62
+ | `--button-variant-confirm-border` | — | `var(--color-accent-red-500)` |
63
+ | `--button-variant-confirm-text` | — | `var(--color-white)` |
64
+ | `--button-variant-confirm-hover-background` | — | `var(--color-accent-red-700)` |
65
+ | `--button-variant-confirm-hover-border` | — | `var(--color-accent-red-700)` |
66
+ | `--button-variant-confirm-hover-text` | — | `var(--color-white)` |
67
+ | `--button-xl` | — | `[object Object]` |
68
+ | `--button-l` | — | `[object Object]` |
69
+ | `--button-sb` | — | `[object Object]` |
70
+ | `--button-r` | — | `[object Object]` |
71
+ | `--button-s` | — | `[object Object]` |
72
+ | `--button-xs` | — | `[object Object]` |
73
+ | `--button-size-s` | — | `40` |
74
+ | `--button-size-r` | — | `48` |
75
+ | `--button-size-m` | — | `50` |
76
+ | `--button-size-l` | — | `54` |
77
+
78
+ `—` 는 그 테마에 값이 없다는 뜻이다. 그 테마에서는 `app` 값이 쓰인다.
79
+
80
+ ## 색
81
+
82
+ | 변수 | 값 |
83
+ | --- | --- |
84
+ | `--color-purple-50` | `#F4EFFA` |
85
+ | `--color-purple-100` | `#E9E0F5` |
86
+ | `--color-purple-200` | `#DDD1F0` |
87
+ | `--color-purple-300` | `#C3B4DD` |
88
+ | `--color-purple-400` | `#A894C7` |
89
+ | `--color-purple-500` | `#957EB4` |
90
+ | `--color-purple-600` | `#6F56A3` |
91
+ | `--color-purple-700` | `#4C277C` |
92
+ | `--color-purple-800` | `#4C1D88` |
93
+ | `--color-purple-900` | `#391D5D` |
94
+ | `--color-grey-scale-50` | `#FAFAFA` |
95
+ | `--color-grey-scale-100` | `#F4F4F5` |
96
+ | `--color-grey-scale-200` | `#E4E4E7` |
97
+ | `--color-grey-scale-300` | `#D4D4D8` |
98
+ | `--color-grey-scale-400` | `#A1A1AA` |
99
+ | `--color-grey-scale-500` | `#71717A` |
100
+ | `--color-grey-scale-600` | `#52525B` |
101
+ | `--color-grey-scale-700` | `#3F3F46` |
102
+ | `--color-grey-scale-800` | `#27272A` |
103
+ | `--color-grey-scale-900` | `#18181B` |
104
+ | `--color-accent-red-50` | `#FFF5F6` |
105
+ | `--color-accent-red-100` | `#FFE8E9` |
106
+ | `--color-accent-red-200` | `#FBCFD2` |
107
+ | `--color-accent-red-300` | `#F39AA0` |
108
+ | `--color-accent-red-400` | `#E86F77` |
109
+ | `--color-accent-red-500` | `#DF535C` |
110
+ | `--color-accent-red-600` | `#C94751` |
111
+ | `--color-accent-red-700` | `#B02E4C` |
112
+ | `--color-accent-red-800` | `#8F243A` |
113
+ | `--color-accent-red-900` | `#6E1A2C` |
114
+ | `--color-accent-pink-50` | `#FFF1F6` |
115
+ | `--color-accent-pink-100` | `#FFE4EE` |
116
+ | `--color-accent-pink-200` | `#FECFE3` |
117
+ | `--color-accent-pink-300` | `#FDA4CC` |
118
+ | `--color-accent-pink-400` | `#F472B6` |
119
+ | `--color-accent-pink-500` | `#EC6FAE` |
120
+ | `--color-accent-pink-600` | `#D95D9A` |
121
+ | `--color-accent-pink-700` | `#B94A7E` |
122
+ | `--color-accent-pink-800` | `#93385F` |
123
+ | `--color-accent-pink-900` | `#6E2644` |
124
+ | `--color-accent-magenta-50` | `#FEF0FF` |
125
+ | `--color-accent-magenta-100` | `#FEF0FF` |
126
+ | `--color-accent-magenta-200` | `#F8C6FF` |
127
+ | `--color-accent-magenta-300` | `#F29BFF` |
128
+ | `--color-accent-magenta-400` | `#EC5CEF` |
129
+ | `--color-accent-magenta-500` | `#E13BE7` |
130
+ | `--color-accent-magenta-600` | `#C82FCC` |
131
+ | `--color-accent-magenta-700` | `#A923A8` |
132
+ | `--color-accent-magenta-800` | `#831C83` |
133
+ | `--color-accent-magenta-900` | `#5E145E` |
134
+ | `--color-accent-blue-50` | `#F1F4FF` |
135
+ | `--color-accent-blue-100` | `#E3E8FF` |
136
+ | `--color-accent-blue-200` | `#C7D2FE` |
137
+ | `--color-accent-blue-300` | `#A5B4FC` |
138
+ | `--color-accent-blue-400` | `#818CF8` |
139
+ | `--color-accent-blue-500` | `#2563EB` |
140
+ | `--color-accent-blue-600` | `#1F52C9` |
141
+ | `--color-accent-blue-700` | `#1E40AF` |
142
+ | `--color-accent-blue-800` | `#1C348A` |
143
+ | `--color-accent-blue-900` | `#162763` |
144
+ | `--color-accent-mint-50` | `#ECFEFD` |
145
+ | `--color-accent-mint-100` | `#D1FAF7` |
146
+ | `--color-accent-mint-200` | `#A7F3EE` |
147
+ | `--color-accent-mint-300` | `#6EE7E0` |
148
+ | `--color-accent-mint-400` | `#2DD4CB` |
149
+ | `--color-accent-mint-500` | `#01ECE1` |
150
+ | `--color-accent-mint-600` | `#0BC5BC` |
151
+ | `--color-accent-mint-700` | `#0F9F99` |
152
+ | `--color-accent-mint-800` | `#117D78` |
153
+ | `--color-accent-mint-900` | `#135C58` |
154
+ | `--color-accent-green-50` | `#ECFDF3` |
155
+ | `--color-accent-green-100` | `#D1FAE1` |
156
+ | `--color-accent-green-200` | `#A7F3C8` |
157
+ | `--color-accent-green-300` | `#6EE7A3` |
158
+ | `--color-accent-green-400` | `#41E176` |
159
+ | `--color-accent-green-500` | `#22C55E` |
160
+ | `--color-accent-green-600` | `#16A34A` |
161
+ | `--color-accent-green-700` | `#289A3A` |
162
+ | `--color-accent-green-800` | `#166534` |
163
+ | `--color-accent-green-900` | `#14532D` |
164
+ | `--color-accent-yellow-50` | `#FFFBEB` |
165
+ | `--color-accent-yellow-100` | `#FEF3C7` |
166
+ | `--color-accent-yellow-200` | `#FDE68A` |
167
+ | `--color-accent-yellow-300` | `#FCD34D` |
168
+ | `--color-accent-yellow-400` | `#FBBF24` |
169
+ | `--color-accent-yellow-500` | `#FFB800` |
170
+ | `--color-accent-yellow-600` | `#E0A106` |
171
+ | `--color-accent-yellow-700` | `#B58105` |
172
+ | `--color-accent-yellow-800` | `#8A6404` |
173
+ | `--color-accent-yellow-900` | `#5F4703` |
174
+ | `--color-accent-orange-50` | `#FFF7ED` |
175
+ | `--color-accent-orange-100` | `#FFEDD5` |
176
+ | `--color-accent-orange-200` | `#FED7AA` |
177
+ | `--color-accent-orange-300` | `#FDBA74` |
178
+ | `--color-accent-orange-400` | `#FB923C` |
179
+ | `--color-accent-orange-500` | `#F97316` |
180
+ | `--color-accent-orange-600` | `#EA580C` |
181
+ | `--color-accent-orange-700` | `#C2410C` |
182
+ | `--color-accent-orange-800` | `#9A3412` |
183
+ | `--color-accent-orange-900` | `#7C2D12` |
184
+ | `--color-black` | `#000000` |
185
+ | `--color-white` | `#FFFFFF` |
186
+
187
+ ## 글꼴
188
+
189
+ | 변수 | 값 |
190
+ | --- | --- |
191
+ | `--font-family-primary` | `Pretendard` |
192
+
193
+ ## 글자 크기
194
+
195
+ | 변수 | 값 |
196
+ | --- | --- |
197
+ | `--font-size-xsm` | `12px` |
198
+ | `--font-size-sm` | `14px` |
199
+ | `--font-size-base` | `16px` |
200
+ | `--font-size-lg` | `18px` |
201
+ | `--font-size-xl` | `20px` |
202
+ | `--font-size-2xl` | `24px` |
203
+ | `--font-size-3xl` | `30px` |
204
+ | `--font-size-4xl` | `36px` |
205
+ | `--font-size-5xl` | `48px` |
206
+ | `--font-size-6xl` | `60px` |
207
+
208
+ ## 글자 굵기
209
+
210
+ | 변수 | 값 |
211
+ | --- | --- |
212
+ | `--font-weight-regular` | `400` |
213
+ | `--font-weight-medium` | `500` |
214
+ | `--font-weight-semibold` | `600` |
215
+ | `--font-weight-bold` | `700` |
216
+ | `--font-weight-extrabold` | `800` |
217
+
218
+ ## 줄 높이
219
+
220
+ | 변수 | 값 |
221
+ | --- | --- |
222
+ | `--line-height-xsm` | `18px` |
223
+ | `--line-height-sm` | `18px` |
224
+ | `--line-height-base` | `22px` |
225
+ | `--line-height-lg` | `24px` |
226
+ | `--line-height-xl` | `28px` |
227
+ | `--line-height-2xl` | `32px` |
228
+ | `--line-height-3xl` | `36px` |
229
+ | `--line-height-4xl` | `43px` |
230
+ | `--line-height-5xl` | `66px` |
231
+ | `--line-height-6xl` | `82px` |
232
+
233
+ ## 간격
234
+
235
+ | 변수 | 값 |
236
+ | --- | --- |
237
+ | `--spacing-2` | `2px` |
238
+ | `--spacing-4` | `4px` |
239
+ | `--spacing-6` | `6px` |
240
+ | `--spacing-8` | `8px` |
241
+ | `--spacing-10` | `10px` |
242
+ | `--spacing-12` | `12px` |
243
+ | `--spacing-14` | `14px` |
244
+ | `--spacing-16` | `16px` |
245
+ | `--spacing-18` | `18px` |
246
+ | `--spacing-20` | `20px` |
247
+ | `--spacing-22` | `22px` |
248
+ | `--spacing-24` | `24px` |
249
+ | `--spacing-26` | `26px` |
250
+ | `--spacing-28` | `28px` |
251
+ | `--spacing-30` | `30px` |
252
+
253
+ ## 모서리
254
+
255
+ | 변수 | 값 |
256
+ | --- | --- |
257
+ | `--radius-4` | `4px` |
258
+ | `--radius-6` | `6px` |
259
+ | `--radius-16` | `16px` |
260
+ | `--radius-20` | `20px` |
261
+ | `--radius-full` | `9999px` |
262
+
263
+ ## 크기 · 레이어 · 모션
264
+
265
+ `styles/token/size.css` 에서 온다. 컴포넌트 높이·간격·z-index·모션은 이 변수를 쓴다. size 이름 `xs · s · m · l · xl` 의 실제 값이 여기 있다.
266
+
267
+ | 변수 | 값 | 용도 |
268
+ | --- | --- | --- |
269
+ | `--control-height-xs` | `30px` | 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field |
270
+ | `--control-height-s` | `40px` | 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field |
271
+ | `--control-height-m` | `50px` | 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field |
272
+ | `--control-height-l` | `54px` | 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field |
273
+ | `--control-height-xl` | `60px` | 한 줄에 나란히 놓이는 컨트롤: button, drop-down, text-field |
274
+ | `--label-height-xs` | `28px` | 라벨: badge |
275
+ | `--label-height-s` | `32px` | 라벨: badge |
276
+ | `--label-height-m` | `36px` | 라벨: badge |
277
+ | `--label-height-l` | `40px` | 라벨: badge |
278
+ | `--label-height-xl` | `48px` | 라벨: badge |
279
+ | `--menu-row-height-s` | `40px` | 메뉴 행: collapsible-menu, drop-down 항목 |
280
+ | `--menu-row-height-m` | `48px` | 메뉴 행: collapsible-menu, drop-down 항목 |
281
+ | `--drop-down-item-height` | `46px` | 메뉴 행: collapsible-menu, drop-down 항목 |
282
+ | `--checkbox-size-s` | `18px` | 정사각 |
283
+ | `--checkbox-size-m` | `20px` | 정사각 |
284
+ | `--checkbox-size-l` | `24px` | 정사각 |
285
+ | `--radio-size` | `18px` | 정사각 |
286
+ | `--radio-dot-size` | `8px` | 정사각 |
287
+ | `--avatar-size-s` | `40px` | 정사각 |
288
+ | `--avatar-size-m` | `58px` | 정사각 |
289
+ | `--avatar-size-l` | `74px` | 정사각 |
290
+ | `--avatar-size-xl` | `124px` | 정사각 |
291
+ | `--avatar-badge-size-s` | `18px` | 정사각 |
292
+ | `--avatar-badge-size-m` | `24px` | 정사각 |
293
+ | `--avatar-badge-size-l` | `30px` | 정사각 |
294
+ | `--avatar-badge-size-xl` | `48px` | 정사각 |
295
+ | `--modal-width-s` | `400px` | 폭 |
296
+ | `--modal-width-m` | `450px` | 폭 |
297
+ | `--modal-width-l` | `500px` | 폭 |
298
+ | `--icon-size-s` | `18px` | 그 밖의 치수 |
299
+ | `--icon-size-m` | `20px` | 그 밖의 치수 |
300
+ | `--icon-size-l` | `24px` | 그 밖의 치수 |
301
+ | `--tooltip-arrow` | `8px` | 그 밖의 치수 |
302
+ | `--spinner-stroke` | `3px` | 그 밖의 치수 |
303
+ | `--tab-indicator-thickness` | `3px` | 그 밖의 치수 |
304
+ | `--checkbox-border` | `1.5px` | 그 밖의 치수 |
305
+ | `--hairline` | `1px` | 그 밖의 치수 |
306
+ | `--shadow-popover` | `0px 4px 6px -2px rgba(0, 0, 0, 0.06), 0px 10px 15px -3px rgba(0, 0, 0, 0.1)` | 그림자 |
307
+ | `--z-base` | `0` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
308
+ | `--z-raised` | `1` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
309
+ | `--z-sticky` | `2` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
310
+ | `--z-sticky-header` | `3` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
311
+ | `--z-tooltip` | `3` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
312
+ | `--z-popover` | `5` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
313
+ | `--z-overlay` | `9998` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
314
+ | `--z-modal` | `9999` | 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 |
315
+ | `--motion-fast` | `160ms` | 모션 |
316
+ | `--motion-base` | `300ms` | 모션 |
317
+ | `--motion-ease` | `ease` | 모션 |
318
+ | `--spinner-duration` | `1.2s` | 모션 |
319
+ | `--spinner-ease` | `cubic-bezier(0.5, 0, 0.5, 1)` | 모션 |
package/dist/avatar.js ADDED
@@ -0,0 +1,336 @@
1
+ "use client";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__ from "radix-ui";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__ from "react/jsx-runtime";
5
+ /******/ var __webpack_modules__ = ({
6
+
7
+ /***/ 468
8
+ (__unused_webpack_module, __webpack_exports__, __nuri_require__) {
9
+
10
+
11
+ // EXPORTS
12
+ __nuri_require__.d(__webpack_exports__, {
13
+ A: () => (/* binding */ avatar)
14
+ });
15
+
16
+ // EXTERNAL MODULE: external {"root":"jsx-runtime","commonjs2":"react/jsx-runtime","commonjs":"react/jsx-runtime","amd":"react/jsx-runtime","module":"react/jsx-runtime"}
17
+ var jsx_runtime_ = __nuri_require__(612);
18
+ // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react","module":"react"}
19
+ var external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_ = __nuri_require__(41);
20
+ // EXTERNAL MODULE: ./helpers/utils/classNames.js
21
+ var classNames = __nuri_require__(274);
22
+ // EXTERNAL MODULE: ./helpers/utils/getMergedProps.ts
23
+ var getMergedProps = __nuri_require__(335);
24
+ // EXTERNAL MODULE: ./components/core/composer/index.tsx
25
+ var composer = __nuri_require__(777);
26
+ // EXTERNAL MODULE: ./helpers/props/common-props.ts
27
+ var common_props = __nuri_require__(298);
28
+ ;// ./components/avatar/avatar-props.ts
29
+
30
+ var sizes = ['s', 'm', 'l', 'xl'];
31
+ var avatarProps = {
32
+ size: (0,common_props/* sizeProp */.lw)(sizes, 'm')
33
+ };
34
+ // EXTERNAL MODULE: external {"root":"RadixUI","commonjs2":"radix-ui","commonjs":"radix-ui","amd":"radix-ui","module":"radix-ui"}
35
+ var external_root_RadixUI_commonjs2_radix_ui_commonjs_radix_ui_amd_radix_ui_module_radix_ui_ = __nuri_require__(0);
36
+ ;// ./assets/icons/defaultAvatar.svg
37
+ var _circle, _circle2, _path;
38
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
39
+
40
+ var SvgDefaultAvatar = function SvgDefaultAvatar(props) {
41
+ return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.createElement("svg", _extends({
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ width: 124,
44
+ height: 124,
45
+ fill: "none"
46
+ }, props), _circle || (_circle = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.createElement("circle", {
47
+ cx: 62,
48
+ cy: 62,
49
+ r: 62,
50
+ fill: "#C4C4C4"
51
+ })), _circle2 || (_circle2 = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.createElement("circle", {
52
+ cx: 62,
53
+ cy: 40,
54
+ r: 15,
55
+ fill: "#fff"
56
+ })), _path || (_path = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.createElement("path", {
57
+ fill: "#fff",
58
+ d: "M96 84.026C96 97.295 80.778 99 62 99s-34-1.705-34-14.974S43.222 60 62 60s34 10.757 34 24.026"
59
+ })));
60
+ };
61
+ /* harmony default export */ const defaultAvatar = (SvgDefaultAvatar);
62
+ ;// ./components/avatar/base-avatar.tsx
63
+ var __assign = undefined && undefined.__assign || function () {
64
+ __assign = Object.assign || function (t) {
65
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
66
+ s = arguments[i];
67
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
68
+ }
69
+ return t;
70
+ };
71
+ return __assign.apply(this, arguments);
72
+ };
73
+ var __rest = undefined && undefined.__rest || function (s, e) {
74
+ var t = {};
75
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
76
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
77
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
78
+ }
79
+ return t;
80
+ };
81
+
82
+
83
+
84
+
85
+
86
+ var BaseAvatar = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
87
+ var className = props.className,
88
+ src = props.src,
89
+ _a = props.alt,
90
+ alt = _a === void 0 ? 'avatar' : _a,
91
+ restProps = __rest(props, ["className", "src", "alt"]);
92
+ return (0,jsx_runtime_.jsxs)(external_root_RadixUI_commonjs2_radix_ui_commonjs_radix_ui_amd_radix_ui_module_radix_ui_.Avatar.Root, __assign({
93
+ ref: ref,
94
+ className: (0,classNames/* classNames */.x)('nuri-theme base-avatar', className)
95
+ }, restProps, {
96
+ children: [(0,jsx_runtime_.jsx)(external_root_RadixUI_commonjs2_radix_ui_commonjs_radix_ui_amd_radix_ui_module_radix_ui_.Avatar.Image, {
97
+ className: 'avatar-image',
98
+ src: src,
99
+ alt: alt
100
+ }), (0,jsx_runtime_.jsx)(external_root_RadixUI_commonjs2_radix_ui_commonjs_radix_ui_amd_radix_ui_module_radix_ui_.Avatar.Fallback, {
101
+ className: 'avatar-fallback',
102
+ children: (0,jsx_runtime_.jsx)(defaultAvatar, {
103
+ width: '100%',
104
+ height: '100%',
105
+ viewBox: '0 0 124 124'
106
+ })
107
+ })]
108
+ }));
109
+ });
110
+ BaseAvatar.displayName = 'BaseAvatar';
111
+ /* harmony default export */ const base_avatar = (BaseAvatar);
112
+ ;// ./components/avatar/avatar.tsx
113
+ var avatar_assign = undefined && undefined.__assign || function () {
114
+ avatar_assign = Object.assign || function (t) {
115
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
116
+ s = arguments[i];
117
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
118
+ }
119
+ return t;
120
+ };
121
+ return avatar_assign.apply(this, arguments);
122
+ };
123
+ var avatar_rest = undefined && undefined.__rest || function (s, e) {
124
+ var t = {};
125
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
126
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
127
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
128
+ }
129
+ return t;
130
+ };
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ var Avatar = /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.forwardRef)(function (props, ref) {
139
+ var _a = (0,getMergedProps/* getMergedProps */.p)(props, avatarProps),
140
+ className = _a.className,
141
+ badgeOption = _a.badgeOption,
142
+ restProps = avatar_rest(_a, ["className", "badgeOption"]);
143
+ return (0,jsx_runtime_.jsxs)("span", {
144
+ className: 'avatar-wrapper',
145
+ children: [(0,jsx_runtime_.jsx)(base_avatar, avatar_assign({
146
+ ref: ref,
147
+ className: (0,classNames/* classNames */.x)(className, 'avatar')
148
+ }, restProps)), /*#__PURE__*/(0,external_root_React_commonjs2_react_commonjs_react_amd_react_module_react_.isValidElement)(badgeOption) && (0,jsx_runtime_.jsx)(composer/* default */.A, {
149
+ className: (0,classNames/* classNames */.x)('nuri-theme', className, 'avatar-badge'),
150
+ children: badgeOption
151
+ })]
152
+ });
153
+ });
154
+ Avatar.displayName = 'Avatar';
155
+ /* harmony default export */ const avatar = (Avatar);
156
+
157
+ /***/ },
158
+
159
+ /***/ 0
160
+ (module, __unused_webpack_exports, __nuri_require__) {
161
+
162
+ var x = (y) => {
163
+ var x = {}; __nuri_require__.d(x, y); return x
164
+ }
165
+ var y = (x) => (() => (x))
166
+ module.exports = x({ ["Avatar"]: () => (__WEBPACK_EXTERNAL_MODULE_radix_ui_3bc96d1b__.Avatar) });
167
+
168
+ /***/ },
169
+
170
+ /***/ 41
171
+ (module, __unused_webpack_exports, __nuri_require__) {
172
+
173
+ var x = (y) => {
174
+ var x = {}; __nuri_require__.d(x, y); return x
175
+ }
176
+ var y = (x) => (() => (x))
177
+ module.exports = x({ ["Children"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.Children), ["cloneElement"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.cloneElement), ["createElement"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.createElement), ["forwardRef"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.forwardRef), ["isValidElement"]: () => (__WEBPACK_EXTERNAL_MODULE_react__.isValidElement) });
178
+
179
+ /***/ },
180
+
181
+ /***/ 612
182
+ (module, __unused_webpack_exports, __nuri_require__) {
183
+
184
+ var x = (y) => {
185
+ var x = {}; __nuri_require__.d(x, y); return x
186
+ }
187
+ var y = (x) => (() => (x))
188
+ module.exports = x({ ["jsx"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsx), ["jsxs"]: () => (__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_179142b8__.jsxs) });
189
+
190
+ /***/ }
191
+
192
+ /******/ });
193
+ /************************************************************************/
194
+ /******/ // The module cache
195
+ /******/ var __webpack_module_cache__ = {};
196
+ /******/
197
+ /******/ // The require function
198
+ /******/ function __nuri_require__(moduleId) {
199
+ /******/ // Check if module is in cache
200
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
201
+ /******/ if (cachedModule !== undefined) {
202
+ /******/ return cachedModule.exports;
203
+ /******/ }
204
+ /******/ // Create a new module (and put it into the cache)
205
+ /******/ var module = __webpack_module_cache__[moduleId] = {
206
+ /******/ // no module.id needed
207
+ /******/ // no module.loaded needed
208
+ /******/ exports: {}
209
+ /******/ };
210
+ /******/
211
+ /******/ // Execute the module function
212
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nuri_require__);
213
+ /******/
214
+ /******/ // Return the exports of the module
215
+ /******/ return module.exports;
216
+ /******/ }
217
+ /******/
218
+ /******/ // expose the modules object (__webpack_modules__)
219
+ /******/ __nuri_require__.m = __webpack_modules__;
220
+ /******/
221
+ /************************************************************************/
222
+ /******/ /* webpack/runtime/chunk loaded */
223
+ /******/ (() => {
224
+ /******/ var deferred = [];
225
+ /******/ __nuri_require__.O = (result, chunkIds, fn, priority) => {
226
+ /******/ if(chunkIds) {
227
+ /******/ priority = priority || 0;
228
+ /******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
229
+ /******/ deferred[i] = [chunkIds, fn, priority];
230
+ /******/ return;
231
+ /******/ }
232
+ /******/ var notFulfilled = Infinity;
233
+ /******/ for (var i = 0; i < deferred.length; i++) {
234
+ /******/ var [chunkIds, fn, priority] = deferred[i];
235
+ /******/ var fulfilled = true;
236
+ /******/ for (var j = 0; j < chunkIds.length; j++) {
237
+ /******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__nuri_require__.O).every((key) => (__nuri_require__.O[key](chunkIds[j])))) {
238
+ /******/ chunkIds.splice(j--, 1);
239
+ /******/ } else {
240
+ /******/ fulfilled = false;
241
+ /******/ if(priority < notFulfilled) notFulfilled = priority;
242
+ /******/ }
243
+ /******/ }
244
+ /******/ if(fulfilled) {
245
+ /******/ deferred.splice(i--, 1)
246
+ /******/ var r = fn();
247
+ /******/ if (r !== undefined) result = r;
248
+ /******/ }
249
+ /******/ }
250
+ /******/ return result;
251
+ /******/ };
252
+ /******/ })();
253
+ /******/
254
+ /******/ /* webpack/runtime/define property getters */
255
+ /******/ (() => {
256
+ /******/ // define getter functions for harmony exports
257
+ /******/ __nuri_require__.d = (exports, definition) => {
258
+ /******/ for(var key in definition) {
259
+ /******/ if(__nuri_require__.o(definition, key) && !__nuri_require__.o(exports, key)) {
260
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
261
+ /******/ }
262
+ /******/ }
263
+ /******/ };
264
+ /******/ })();
265
+ /******/
266
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
267
+ /******/ (() => {
268
+ /******/ __nuri_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
269
+ /******/ })();
270
+ /******/
271
+ /******/ /* webpack/runtime/export webpack runtime */
272
+ /******/ export { __nuri_require__ };
273
+ /******/
274
+ /******/ /* webpack/runtime/import chunk loading */
275
+ /******/ (() => {
276
+ /******/ // no baseURI
277
+ /******/
278
+ /******/ // object to store loaded and loading chunks
279
+ /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
280
+ /******/ // [resolve, Promise] = chunk loading, 0 = chunk loaded
281
+ /******/ var installedChunks = {
282
+ /******/ 716: 0
283
+ /******/ };
284
+ /******/
285
+ /******/ var installChunk = (data) => {
286
+ /******/ var {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;
287
+ /******/ // add "modules" to the modules object,
288
+ /******/ // then flag all "ids" as loaded and fire callback
289
+ /******/ var moduleId, chunkId, i = 0;
290
+ /******/ for(moduleId in __webpack_esm_modules__) {
291
+ /******/ if(__nuri_require__.o(__webpack_esm_modules__, moduleId)) {
292
+ /******/ __nuri_require__.m[moduleId] = __webpack_esm_modules__[moduleId];
293
+ /******/ }
294
+ /******/ }
295
+ /******/ if(__webpack_esm_runtime__) __webpack_esm_runtime__(__nuri_require__);
296
+ /******/ for(;i < __webpack_esm_ids__.length; i++) {
297
+ /******/ chunkId = __webpack_esm_ids__[i];
298
+ /******/ if(__nuri_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
299
+ /******/ installedChunks[chunkId][0]();
300
+ /******/ }
301
+ /******/ installedChunks[__webpack_esm_ids__[i]] = 0;
302
+ /******/ }
303
+ /******/ __nuri_require__.O();
304
+ /******/ }
305
+ /******/
306
+ /******/ // no chunk on demand loading
307
+ /******/
308
+ /******/ // no prefetching
309
+ /******/
310
+ /******/ // no preloaded
311
+ /******/
312
+ /******/ __nuri_require__.C = installChunk;
313
+ /******/
314
+ /******/ __nuri_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
315
+ /******/ // no HMR
316
+ /******/
317
+ /******/ // no HMR manifest
318
+ /******/ })();
319
+ /******/
320
+ /************************************************************************/
321
+ /******/
322
+ /******/ import * as __webpack_chunk_1__ from "./chunk-364.js";
323
+ /******/ __nuri_require__.C(__webpack_chunk_1__);
324
+ /******/ import * as __webpack_chunk_2__ from "./chunk-777.js";
325
+ /******/ __nuri_require__.C(__webpack_chunk_2__);
326
+ /******/ import * as __webpack_chunk_3__ from "./chunk-298.js";
327
+ /******/ __nuri_require__.C(__webpack_chunk_3__);
328
+ /******/
329
+ /******/ // startup
330
+ /******/ // Load entry module and return exports
331
+ /******/ // This entry module depends on other loaded chunks and execution need to be delayed
332
+ /******/ var __webpack_exports__ = __nuri_require__.O(undefined, [364,777,298], () => (__nuri_require__(468)))
333
+ /******/ __webpack_exports__ = __nuri_require__.O(__webpack_exports__);
334
+ /******/ const __webpack_exports__default = __webpack_exports__.A;
335
+ /******/ export { __webpack_exports__default as default };
336
+ /******/