@nurihaus/web-design-system 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/components.md +166 -2
- package/dist/ai/tokens.md +64 -15
- package/dist/bottom-nav.js +407 -0
- package/dist/chip-group.js +317 -0
- package/dist/chunk-653.js +296 -0
- package/dist/components/bottom-nav/base-bottom-nav.d.ts +10 -0
- package/dist/components/bottom-nav/bottom-nav-props.d.ts +1 -0
- package/dist/components/bottom-nav/bottom-nav-type.d.ts +36 -0
- package/dist/components/bottom-nav/bottom-nav.d.ts +4 -0
- package/dist/components/bottom-nav/bottom-nav.stories.d.ts +55 -0
- package/dist/components/chip-group/base-chip-group.d.ts +5 -0
- package/dist/components/chip-group/chip-group-props.d.ts +1 -0
- package/dist/components/chip-group/chip-group-type.d.ts +25 -0
- package/dist/components/chip-group/chip-group.d.ts +4 -0
- package/dist/components/chip-group/chip-group.stories.d.ts +27 -0
- package/dist/components/elements/text/text-props.d.ts +1 -1
- package/dist/components/elements/text/text.stories.d.ts +1 -1
- package/dist/components/icon/base-icon.d.ts +3 -0
- package/dist/components/icon/icon-paths.d.ts +202 -0
- package/dist/components/icon/icon-props.d.ts +6 -0
- package/dist/components/icon/icon-type.d.ts +14 -0
- package/dist/components/icon/icon.d.ts +4 -0
- package/dist/components/icon/icon.stories.d.ts +33 -0
- package/dist/components/step-progress/base-step-progress.d.ts +7 -0
- package/dist/components/step-progress/step-progress-props.d.ts +10 -0
- package/dist/components/step-progress/step-progress-type.d.ts +17 -0
- package/dist/components/step-progress/step-progress.d.ts +4 -0
- package/dist/components/step-progress/step-progress.stories.d.ts +29 -0
- package/dist/components.css +314 -0
- package/dist/icon.js +222 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +854 -49
- package/dist/step-progress.js +310 -0
- package/dist/styles.css +332 -12
- package/dist/tokens/generated/semantic-admin.d.ts +24 -24
- package/dist/tokens/generated/semantic-app.d.ts +24 -24
- package/dist/tokens.css +64 -12
- package/dist/tokens.js +48 -48
- package/package.json +21 -3
package/dist/styles.css
CHANGED
|
@@ -207,6 +207,18 @@
|
|
|
207
207
|
--modal-width-m: 450px;
|
|
208
208
|
--modal-width-l: 500px;
|
|
209
209
|
|
|
210
|
+
/* 하단 탭 바: 화면 아래에 떠 있는 유리 캡슐. 화면은 아래를 --bottom-nav-space(+ 안전 영역)만큼 비운다 */
|
|
211
|
+
--bottom-nav-height: 62px;
|
|
212
|
+
--bottom-nav-padding: 5px;
|
|
213
|
+
--bottom-nav-offset: 14px;
|
|
214
|
+
--bottom-nav-space: calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 16px);
|
|
215
|
+
--bottom-nav-badge-dot: 8px;
|
|
216
|
+
--bottom-nav-badge-count: 18px;
|
|
217
|
+
--glass-blur: 18px;
|
|
218
|
+
|
|
219
|
+
/* 진행 단계 바 */
|
|
220
|
+
--step-bar-height: 4px;
|
|
221
|
+
|
|
210
222
|
/* 그 밖의 치수 */
|
|
211
223
|
--icon-size-s: 18px;
|
|
212
224
|
--icon-size-m: 20px;
|
|
@@ -228,6 +240,7 @@
|
|
|
228
240
|
|
|
229
241
|
/* 그림자 */
|
|
230
242
|
--shadow-popover: 0px 4px 6px -2px rgba(0, 0, 0, 0.06), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
243
|
+
--shadow-floating: 0px 10px 30px rgba(24, 24, 27, 0.14), 0px 1px 3px rgba(24, 24, 27, 0.08);
|
|
231
244
|
|
|
232
245
|
/* 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 */
|
|
233
246
|
--z-base: 0;
|
|
@@ -244,6 +257,9 @@
|
|
|
244
257
|
--motion-fast: 160ms;
|
|
245
258
|
--motion-base: 300ms;
|
|
246
259
|
--motion-ease: ease;
|
|
260
|
+
--motion-slow: 420ms;
|
|
261
|
+
/* 끝에서 살짝 넘쳤다 돌아온다. 탭 바 선택 캡슐 */
|
|
262
|
+
--motion-spring: cubic-bezier(0.34, 1.45, 0.5, 1);
|
|
247
263
|
--spinner-duration: 1.2s;
|
|
248
264
|
--skeleton-duration: 1.5s;
|
|
249
265
|
--spinner-ease: cubic-bezier(0.5, 0, 0.5, 1);
|
|
@@ -268,12 +284,30 @@
|
|
|
268
284
|
--button-variant-outlined-background: var(--color-white);
|
|
269
285
|
--button-variant-outlined-border: var(--color-accent-red-700);
|
|
270
286
|
--button-variant-outlined-text: var(--color-accent-red-700);
|
|
271
|
-
--button-size-xl:
|
|
272
|
-
--button-size-
|
|
273
|
-
--button-size-
|
|
274
|
-
--button-size-
|
|
275
|
-
--button-size-
|
|
276
|
-
--button-size-
|
|
287
|
+
--button-size-xl-font-family: var(--font-family-primary);
|
|
288
|
+
--button-size-xl-font-weight: var(--font-weight-bold);
|
|
289
|
+
--button-size-xl-font-size: var(--font-size-lg);
|
|
290
|
+
--button-size-xl-line-height: var(--line-height-lg);
|
|
291
|
+
--button-size-lg-font-family: var(--font-family-primary);
|
|
292
|
+
--button-size-lg-font-weight: var(--font-weight-bold);
|
|
293
|
+
--button-size-lg-font-size: var(--font-size-base);
|
|
294
|
+
--button-size-lg-line-height: var(--line-height-base);
|
|
295
|
+
--button-size-md-font-family: var(--font-family-primary);
|
|
296
|
+
--button-size-md-font-weight: var(--font-weight-semibold);
|
|
297
|
+
--button-size-md-font-size: var(--font-size-sm);
|
|
298
|
+
--button-size-md-line-height: var(--line-height-sm);
|
|
299
|
+
--button-size-rg-font-family: var(--font-family-primary);
|
|
300
|
+
--button-size-rg-font-weight: var(--font-weight-semibold);
|
|
301
|
+
--button-size-rg-font-size: var(--font-size-sm);
|
|
302
|
+
--button-size-rg-line-height: var(--line-height-sm);
|
|
303
|
+
--button-size-sm-font-family: var(--font-family-primary);
|
|
304
|
+
--button-size-sm-font-weight: var(--font-weight-semibold);
|
|
305
|
+
--button-size-sm-font-size: var(--font-size-xsm);
|
|
306
|
+
--button-size-sm-line-height: var(--line-height-sm);
|
|
307
|
+
--button-size-xs-font-family: var(--font-family-primary);
|
|
308
|
+
--button-size-xs-font-weight: var(--font-weight-semibold);
|
|
309
|
+
--button-size-xs-font-size: var(--font-size-xsm);
|
|
310
|
+
--button-size-xs-line-height: var(--line-height-sm);
|
|
277
311
|
}
|
|
278
312
|
/* semantic: admin */
|
|
279
313
|
:root[data-ds-theme='admin'] {
|
|
@@ -312,12 +346,30 @@
|
|
|
312
346
|
--button-variant-confirm-hover-background: var(--color-accent-red-700);
|
|
313
347
|
--button-variant-confirm-hover-border: var(--color-accent-red-700);
|
|
314
348
|
--button-variant-confirm-hover-text: var(--color-white);
|
|
315
|
-
--button-xl:
|
|
316
|
-
--button-
|
|
317
|
-
--button-
|
|
318
|
-
--button-
|
|
319
|
-
--button-
|
|
320
|
-
--button-
|
|
349
|
+
--button-xl-font-family: var(--font-family-primary);
|
|
350
|
+
--button-xl-font-weight: var(--font-weight-bold);
|
|
351
|
+
--button-xl-font-size: var(--font-size-lg);
|
|
352
|
+
--button-xl-line-height: var(--line-height-lg);
|
|
353
|
+
--button-l-font-family: var(--font-family-primary);
|
|
354
|
+
--button-l-font-weight: var(--font-weight-bold);
|
|
355
|
+
--button-l-font-size: var(--font-size-base);
|
|
356
|
+
--button-l-line-height: var(--line-height-base);
|
|
357
|
+
--button-sb-font-family: var(--font-family-primary);
|
|
358
|
+
--button-sb-font-weight: var(--font-weight-semibold);
|
|
359
|
+
--button-sb-font-size: var(--font-size-sm);
|
|
360
|
+
--button-sb-line-height: var(--line-height-sm);
|
|
361
|
+
--button-r-font-family: var(--font-family-primary);
|
|
362
|
+
--button-r-font-weight: var(--font-weight-semibold);
|
|
363
|
+
--button-r-font-size: var(--font-size-sm);
|
|
364
|
+
--button-r-line-height: var(--line-height-sm);
|
|
365
|
+
--button-s-font-family: var(--font-family-primary);
|
|
366
|
+
--button-s-font-weight: var(--font-weight-semibold);
|
|
367
|
+
--button-s-font-size: var(--font-size-xsm);
|
|
368
|
+
--button-s-line-height: var(--line-height-sm);
|
|
369
|
+
--button-xs-font-family: var(--font-family-primary);
|
|
370
|
+
--button-xs-font-weight: var(--font-weight-semibold);
|
|
371
|
+
--button-xs-font-size: var(--font-size-xsm);
|
|
372
|
+
--button-xs-line-height: var(--line-height-sm);
|
|
321
373
|
--button-size-xs: 30;
|
|
322
374
|
--button-size-s: 40;
|
|
323
375
|
--button-size-r: 48;
|
|
@@ -735,6 +787,133 @@ p {
|
|
|
735
787
|
background-color: var(--color-white);
|
|
736
788
|
border: var(--hairline) solid var(--color-grey-scale-300);
|
|
737
789
|
}
|
|
790
|
+
.base-bottom-nav:where(.root) {
|
|
791
|
+
position: fixed;
|
|
792
|
+
left: var(--spacing-16);
|
|
793
|
+
right: var(--spacing-16);
|
|
794
|
+
/* 기기 홈 막대만큼 더 띄운다. env() 의 대체값 0 은 단위가 있어야 calc 가 성립한다 */
|
|
795
|
+
bottom: calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom, 0px)); /* raw-px */
|
|
796
|
+
z-index: var(--z-sticky);
|
|
797
|
+
display: grid;
|
|
798
|
+
grid-template-columns: repeat(var(--bottom-nav-count), minmax(0, 1fr));
|
|
799
|
+
height: var(--bottom-nav-height);
|
|
800
|
+
padding: var(--bottom-nav-padding);
|
|
801
|
+
box-sizing: border-box;
|
|
802
|
+
border-radius: var(--radius-full);
|
|
803
|
+
isolation: isolate;
|
|
804
|
+
}
|
|
805
|
+
.base-bottom-nav:where(.indicator) {
|
|
806
|
+
position: absolute;
|
|
807
|
+
z-index: var(--z-base);
|
|
808
|
+
top: var(--bottom-nav-padding);
|
|
809
|
+
bottom: var(--bottom-nav-padding);
|
|
810
|
+
left: var(--bottom-nav-padding);
|
|
811
|
+
width: calc((100% - 2 * var(--bottom-nav-padding)) / var(--bottom-nav-count));
|
|
812
|
+
border-radius: inherit;
|
|
813
|
+
transform: translateX(calc(var(--bottom-nav-active) * 100%));
|
|
814
|
+
}
|
|
815
|
+
.base-bottom-nav:where(.item) {
|
|
816
|
+
position: relative;
|
|
817
|
+
z-index: var(--z-raised);
|
|
818
|
+
display: flex;
|
|
819
|
+
flex-direction: column-reverse;
|
|
820
|
+
align-items: center;
|
|
821
|
+
justify-content: center;
|
|
822
|
+
gap: var(--spacing-2);
|
|
823
|
+
border-radius: inherit;
|
|
824
|
+
text-decoration: none;
|
|
825
|
+
}
|
|
826
|
+
/***************************************************************************************************
|
|
827
|
+
* *
|
|
828
|
+
* bottom-nav — 유리 캡슐 *
|
|
829
|
+
* *
|
|
830
|
+
***************************************************************************************************/
|
|
831
|
+
.bottom-nav {
|
|
832
|
+
/* 뒤를 흐리고 채도를 올린 반투명 바탕 + 위쪽 반사광 + 흰 안쪽 테두리 + 그림자 */
|
|
833
|
+
background:
|
|
834
|
+
linear-gradient(
|
|
835
|
+
180deg,
|
|
836
|
+
color-mix(in srgb, var(--color-grey-scale-50) 55%, transparent),
|
|
837
|
+
transparent 55%
|
|
838
|
+
),
|
|
839
|
+
color-mix(in srgb, var(--color-grey-scale-50) 62%, transparent);
|
|
840
|
+
backdrop-filter: blur(var(--glass-blur)) saturate(180%);
|
|
841
|
+
box-shadow:
|
|
842
|
+
inset 0 var(--hairline) 0 color-mix(in srgb, var(--color-grey-scale-50) 75%, transparent),
|
|
843
|
+
inset 0 0 0 var(--hairline) color-mix(in srgb, var(--color-grey-scale-50) 35%, transparent),
|
|
844
|
+
var(--shadow-floating);
|
|
845
|
+
|
|
846
|
+
/* 흐림을 못 하는 브라우저, 투명도 줄이기 설정에서는 거의 불투명하게 */
|
|
847
|
+
}
|
|
848
|
+
@supports not ((backdrop-filter: none) or (-webkit-backdrop-filter: none)) {
|
|
849
|
+
.bottom-nav {
|
|
850
|
+
background: color-mix(in srgb, var(--color-grey-scale-50) 96%, transparent);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
@media (prefers-reduced-transparency: reduce) {
|
|
854
|
+
.bottom-nav {
|
|
855
|
+
background: color-mix(in srgb, var(--color-grey-scale-50) 98%, transparent);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
.bottom-nav-indicator {
|
|
859
|
+
background: color-mix(in srgb, var(--color-purple-900) 10%, transparent);
|
|
860
|
+
box-shadow: inset 0 var(--hairline) 0
|
|
861
|
+
color-mix(in srgb, var(--color-grey-scale-50) 50%, transparent);
|
|
862
|
+
transition: transform var(--motion-slow) var(--motion-spring);
|
|
863
|
+
}
|
|
864
|
+
@media (prefers-reduced-motion: reduce) {
|
|
865
|
+
.bottom-nav-indicator {
|
|
866
|
+
transition: none;
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
.bottom-nav-item {
|
|
870
|
+
color: var(--color-grey-scale-600);
|
|
871
|
+
font-size: var(--font-size-xsm);
|
|
872
|
+
font-weight: var(--font-weight-medium);
|
|
873
|
+
-webkit-tap-highlight-color: transparent;
|
|
874
|
+
transition: color var(--motion-fast) var(--motion-ease);
|
|
875
|
+
}
|
|
876
|
+
.bottom-nav-item[aria-current='page'] {
|
|
877
|
+
color: var(--color-purple-900);
|
|
878
|
+
font-weight: var(--font-weight-bold);
|
|
879
|
+
}
|
|
880
|
+
.bottom-nav-item:focus-visible {
|
|
881
|
+
outline: var(--hairline) solid var(--color-purple-600);
|
|
882
|
+
outline-offset: calc(-1 * var(--spacing-2));
|
|
883
|
+
}
|
|
884
|
+
.bottom-nav-item:active .bottom-nav-icon {
|
|
885
|
+
transform: scale(0.88);
|
|
886
|
+
}
|
|
887
|
+
.bottom-nav-icon {
|
|
888
|
+
position: relative;
|
|
889
|
+
display: flex;
|
|
890
|
+
transition: transform var(--motion-fast) var(--motion-spring);
|
|
891
|
+
}
|
|
892
|
+
.bottom-nav-badge {
|
|
893
|
+
position: absolute;
|
|
894
|
+
top: 0;
|
|
895
|
+
left: calc(100% - var(--spacing-6));
|
|
896
|
+
min-width: var(--bottom-nav-badge-dot);
|
|
897
|
+
height: var(--bottom-nav-badge-dot);
|
|
898
|
+
box-sizing: border-box;
|
|
899
|
+
border-radius: var(--radius-full);
|
|
900
|
+
background: var(--color-accent-red-500);
|
|
901
|
+
box-shadow: 0 0 0 var(--spacing-2) var(--color-grey-scale-50);
|
|
902
|
+
}
|
|
903
|
+
.bottom-nav-badge[data-count] {
|
|
904
|
+
top: calc(-1 * var(--spacing-4));
|
|
905
|
+
left: calc(100% - var(--spacing-8));
|
|
906
|
+
min-width: var(--bottom-nav-badge-count);
|
|
907
|
+
height: var(--bottom-nav-badge-count);
|
|
908
|
+
padding: 0 var(--spacing-4);
|
|
909
|
+
display: flex;
|
|
910
|
+
align-items: center;
|
|
911
|
+
justify-content: center;
|
|
912
|
+
color: var(--color-grey-scale-50);
|
|
913
|
+
font-size: var(--font-size-xsm);
|
|
914
|
+
font-weight: var(--font-weight-bold);
|
|
915
|
+
font-variant-numeric: tabular-nums;
|
|
916
|
+
}
|
|
738
917
|
.base-breadcrumb:where(.list) {
|
|
739
918
|
display: flex;
|
|
740
919
|
flex-wrap: wrap;
|
|
@@ -1005,6 +1184,73 @@ p {
|
|
|
1005
1184
|
border-radius: var(--radius-4);
|
|
1006
1185
|
background-color: var(--color-grey-scale-300);
|
|
1007
1186
|
}
|
|
1187
|
+
.base-chip-group:where(.root) {
|
|
1188
|
+
display: flex;
|
|
1189
|
+
gap: var(--spacing-8);
|
|
1190
|
+
overflow-x: auto;
|
|
1191
|
+
/* 칩의 터치 여백이 잘리지 않게 위아래를 비운다 */
|
|
1192
|
+
padding-block: var(--spacing-4);
|
|
1193
|
+
scrollbar-width: none;
|
|
1194
|
+
}
|
|
1195
|
+
.base-chip-group:where(.root)::-webkit-scrollbar {
|
|
1196
|
+
display: none;
|
|
1197
|
+
}
|
|
1198
|
+
.base-chip-group:where(.chip) {
|
|
1199
|
+
position: relative;
|
|
1200
|
+
flex-shrink: 0;
|
|
1201
|
+
display: inline-flex;
|
|
1202
|
+
align-items: center;
|
|
1203
|
+
gap: var(--spacing-6);
|
|
1204
|
+
cursor: pointer;
|
|
1205
|
+
|
|
1206
|
+
/* 36 높이를 터치 44 로 넓힌다 */
|
|
1207
|
+
}
|
|
1208
|
+
.base-chip-group:where(.chip)::after {
|
|
1209
|
+
content: '';
|
|
1210
|
+
position: absolute;
|
|
1211
|
+
inset: calc(-1 * var(--spacing-4)) 0;
|
|
1212
|
+
}
|
|
1213
|
+
.base-chip-group[data-disabled]:where(.chip) {
|
|
1214
|
+
cursor: not-allowed;
|
|
1215
|
+
}
|
|
1216
|
+
/***************************************************************************************************
|
|
1217
|
+
* *
|
|
1218
|
+
* chip-group *
|
|
1219
|
+
* *
|
|
1220
|
+
***************************************************************************************************/
|
|
1221
|
+
.chip-group-chip {
|
|
1222
|
+
height: var(--control-height-s);
|
|
1223
|
+
padding: 0 var(--spacing-14);
|
|
1224
|
+
border: var(--hairline) solid var(--color-grey-scale-300);
|
|
1225
|
+
border-radius: var(--radius-full);
|
|
1226
|
+
background: var(--color-grey-scale-50);
|
|
1227
|
+
color: var(--color-grey-scale-600);
|
|
1228
|
+
font-size: var(--font-size-sm);
|
|
1229
|
+
font-weight: var(--font-weight-medium);
|
|
1230
|
+
transition:
|
|
1231
|
+
background-color var(--motion-fast) var(--motion-ease),
|
|
1232
|
+
color var(--motion-fast) var(--motion-ease),
|
|
1233
|
+
border-color var(--motion-fast) var(--motion-ease);
|
|
1234
|
+
}
|
|
1235
|
+
.chip-group-chip[data-state='on'] {
|
|
1236
|
+
border-color: var(--color-purple-900);
|
|
1237
|
+
background: var(--color-purple-900);
|
|
1238
|
+
color: var(--color-grey-scale-50);
|
|
1239
|
+
font-weight: var(--font-weight-semibold);
|
|
1240
|
+
}
|
|
1241
|
+
.chip-group-chip[data-disabled] {
|
|
1242
|
+
border-color: var(--color-grey-scale-200);
|
|
1243
|
+
color: var(--color-grey-scale-300);
|
|
1244
|
+
}
|
|
1245
|
+
.chip-group-chip:focus-visible {
|
|
1246
|
+
outline: var(--hairline) solid var(--color-purple-600);
|
|
1247
|
+
outline-offset: var(--spacing-2);
|
|
1248
|
+
}
|
|
1249
|
+
.chip-group-count {
|
|
1250
|
+
font-size: var(--font-size-xsm);
|
|
1251
|
+
font-variant-numeric: tabular-nums;
|
|
1252
|
+
opacity: 0.75;
|
|
1253
|
+
}
|
|
1008
1254
|
.base-collapsible-menu.trigger {
|
|
1009
1255
|
display: flex;
|
|
1010
1256
|
align-items: center;
|
|
@@ -1773,6 +2019,22 @@ p {
|
|
|
1773
2019
|
.base-text.color-accent-orange-900[class*='color-'] {
|
|
1774
2020
|
color: var(--color-accent-orange-900);
|
|
1775
2021
|
}
|
|
2022
|
+
.base-icon {
|
|
2023
|
+
flex-shrink: 0;
|
|
2024
|
+
vertical-align: middle;
|
|
2025
|
+
}
|
|
2026
|
+
.icon.size-s {
|
|
2027
|
+
width: var(--icon-size-s);
|
|
2028
|
+
height: var(--icon-size-s);
|
|
2029
|
+
}
|
|
2030
|
+
.icon.size-m {
|
|
2031
|
+
width: var(--icon-size-m);
|
|
2032
|
+
height: var(--icon-size-m);
|
|
2033
|
+
}
|
|
2034
|
+
.icon.size-l {
|
|
2035
|
+
width: var(--icon-size-l);
|
|
2036
|
+
height: var(--icon-size-l);
|
|
2037
|
+
}
|
|
1776
2038
|
.base-inline-loading {
|
|
1777
2039
|
display: flex;
|
|
1778
2040
|
width: 100%;
|
|
@@ -2213,6 +2475,64 @@ p {
|
|
|
2213
2475
|
transform: translateX(100%);
|
|
2214
2476
|
}
|
|
2215
2477
|
}
|
|
2478
|
+
.base-step-progress:where(.root) {
|
|
2479
|
+
display: grid;
|
|
2480
|
+
grid-template-columns: repeat(var(--step-count), minmax(0, 1fr));
|
|
2481
|
+
gap: var(--spacing-4);
|
|
2482
|
+
margin: 0;
|
|
2483
|
+
padding: 0;
|
|
2484
|
+
list-style: none;
|
|
2485
|
+
}
|
|
2486
|
+
.base-step-progress:where(.step) {
|
|
2487
|
+
display: flex;
|
|
2488
|
+
flex-direction: column;
|
|
2489
|
+
gap: var(--spacing-6);
|
|
2490
|
+
min-width: 0;
|
|
2491
|
+
}
|
|
2492
|
+
/***************************************************************************************************
|
|
2493
|
+
* *
|
|
2494
|
+
* step-progress *
|
|
2495
|
+
* *
|
|
2496
|
+
***************************************************************************************************/
|
|
2497
|
+
.step-progress-bar {
|
|
2498
|
+
display: block;
|
|
2499
|
+
height: var(--step-bar-height);
|
|
2500
|
+
border-radius: var(--radius-full);
|
|
2501
|
+
background: var(--color-grey-scale-200);
|
|
2502
|
+
transition: background-color var(--motion-base) var(--motion-ease);
|
|
2503
|
+
}
|
|
2504
|
+
.step-progress-name {
|
|
2505
|
+
overflow: hidden;
|
|
2506
|
+
color: var(--color-grey-scale-500);
|
|
2507
|
+
font-size: var(--font-size-xsm);
|
|
2508
|
+
white-space: nowrap;
|
|
2509
|
+
text-overflow: ellipsis;
|
|
2510
|
+
}
|
|
2511
|
+
.step-progress-step[data-state='done'] .step-progress-bar {
|
|
2512
|
+
background: var(--color-purple-900);
|
|
2513
|
+
}
|
|
2514
|
+
.step-progress-step[data-state='done'] .step-progress-name {
|
|
2515
|
+
color: var(--color-grey-scale-600);
|
|
2516
|
+
}
|
|
2517
|
+
.step-progress-step[data-state='current'] .step-progress-bar {
|
|
2518
|
+
background: var(--color-purple-600);
|
|
2519
|
+
}
|
|
2520
|
+
.step-progress-step[data-state='current'] .step-progress-name {
|
|
2521
|
+
color: var(--color-purple-900);
|
|
2522
|
+
font-weight: var(--font-weight-semibold);
|
|
2523
|
+
}
|
|
2524
|
+
/* 지금 단계 이름만 보인다. 다른 이름은 낭독기에는 남긴다 */
|
|
2525
|
+
.step-progress.label-visibility-current .step-progress-step:not([data-state='current']) .step-progress-name {
|
|
2526
|
+
position: absolute;
|
|
2527
|
+
width: 1px; /* raw-px */
|
|
2528
|
+
height: 1px; /* raw-px */
|
|
2529
|
+
overflow: hidden;
|
|
2530
|
+
clip-path: inset(50%);
|
|
2531
|
+
white-space: nowrap;
|
|
2532
|
+
}
|
|
2533
|
+
.step-progress.label-visibility-current .step-progress-step[data-state='current'] .step-progress-name {
|
|
2534
|
+
overflow: visible;
|
|
2535
|
+
}
|
|
2216
2536
|
.base-switch:where(.thumb) {
|
|
2217
2537
|
display: block;
|
|
2218
2538
|
}
|
|
@@ -62,40 +62,40 @@ export declare const semanticAdmin: {
|
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
64
|
readonly xl: {
|
|
65
|
-
readonly fontFamily: "
|
|
66
|
-
readonly fontWeight:
|
|
67
|
-
readonly fontSize:
|
|
68
|
-
readonly lineHeight:
|
|
65
|
+
readonly fontFamily: "Pretendard";
|
|
66
|
+
readonly fontWeight: 700;
|
|
67
|
+
readonly fontSize: 18;
|
|
68
|
+
readonly lineHeight: 24;
|
|
69
69
|
};
|
|
70
70
|
readonly l: {
|
|
71
|
-
readonly fontFamily: "
|
|
72
|
-
readonly fontWeight:
|
|
73
|
-
readonly fontSize:
|
|
74
|
-
readonly lineHeight:
|
|
71
|
+
readonly fontFamily: "Pretendard";
|
|
72
|
+
readonly fontWeight: 700;
|
|
73
|
+
readonly fontSize: 16;
|
|
74
|
+
readonly lineHeight: 22;
|
|
75
75
|
};
|
|
76
76
|
readonly sb: {
|
|
77
|
-
readonly fontFamily: "
|
|
78
|
-
readonly fontWeight:
|
|
79
|
-
readonly fontSize:
|
|
80
|
-
readonly lineHeight:
|
|
77
|
+
readonly fontFamily: "Pretendard";
|
|
78
|
+
readonly fontWeight: 600;
|
|
79
|
+
readonly fontSize: 14;
|
|
80
|
+
readonly lineHeight: 18;
|
|
81
81
|
};
|
|
82
82
|
readonly r: {
|
|
83
|
-
readonly fontFamily: "
|
|
84
|
-
readonly fontWeight:
|
|
85
|
-
readonly fontSize:
|
|
86
|
-
readonly lineHeight:
|
|
83
|
+
readonly fontFamily: "Pretendard";
|
|
84
|
+
readonly fontWeight: 600;
|
|
85
|
+
readonly fontSize: 14;
|
|
86
|
+
readonly lineHeight: 18;
|
|
87
87
|
};
|
|
88
88
|
readonly s: {
|
|
89
|
-
readonly fontFamily: "
|
|
90
|
-
readonly fontWeight:
|
|
91
|
-
readonly fontSize:
|
|
92
|
-
readonly lineHeight:
|
|
89
|
+
readonly fontFamily: "Pretendard";
|
|
90
|
+
readonly fontWeight: 600;
|
|
91
|
+
readonly fontSize: 12;
|
|
92
|
+
readonly lineHeight: 18;
|
|
93
93
|
};
|
|
94
94
|
readonly xs: {
|
|
95
|
-
readonly fontFamily: "
|
|
96
|
-
readonly fontWeight:
|
|
97
|
-
readonly fontSize:
|
|
98
|
-
readonly lineHeight:
|
|
95
|
+
readonly fontFamily: "Pretendard";
|
|
96
|
+
readonly fontWeight: 600;
|
|
97
|
+
readonly fontSize: 12;
|
|
98
|
+
readonly lineHeight: 18;
|
|
99
99
|
};
|
|
100
100
|
readonly size: {
|
|
101
101
|
readonly xs: 30;
|
|
@@ -34,40 +34,40 @@ export declare const semanticApp: {
|
|
|
34
34
|
};
|
|
35
35
|
readonly size: {
|
|
36
36
|
readonly xl: {
|
|
37
|
-
readonly fontFamily: "
|
|
38
|
-
readonly fontWeight:
|
|
39
|
-
readonly fontSize:
|
|
40
|
-
readonly lineHeight:
|
|
37
|
+
readonly fontFamily: "Pretendard";
|
|
38
|
+
readonly fontWeight: 700;
|
|
39
|
+
readonly fontSize: 18;
|
|
40
|
+
readonly lineHeight: 24;
|
|
41
41
|
};
|
|
42
42
|
readonly lg: {
|
|
43
|
-
readonly fontFamily: "
|
|
44
|
-
readonly fontWeight:
|
|
45
|
-
readonly fontSize:
|
|
46
|
-
readonly lineHeight:
|
|
43
|
+
readonly fontFamily: "Pretendard";
|
|
44
|
+
readonly fontWeight: 700;
|
|
45
|
+
readonly fontSize: 16;
|
|
46
|
+
readonly lineHeight: 22;
|
|
47
47
|
};
|
|
48
48
|
readonly md: {
|
|
49
|
-
readonly fontFamily: "
|
|
50
|
-
readonly fontWeight:
|
|
51
|
-
readonly fontSize:
|
|
52
|
-
readonly lineHeight:
|
|
49
|
+
readonly fontFamily: "Pretendard";
|
|
50
|
+
readonly fontWeight: 600;
|
|
51
|
+
readonly fontSize: 14;
|
|
52
|
+
readonly lineHeight: 18;
|
|
53
53
|
};
|
|
54
54
|
readonly rg: {
|
|
55
|
-
readonly fontFamily: "
|
|
56
|
-
readonly fontWeight:
|
|
57
|
-
readonly fontSize:
|
|
58
|
-
readonly lineHeight:
|
|
55
|
+
readonly fontFamily: "Pretendard";
|
|
56
|
+
readonly fontWeight: 600;
|
|
57
|
+
readonly fontSize: 14;
|
|
58
|
+
readonly lineHeight: 18;
|
|
59
59
|
};
|
|
60
60
|
readonly sm: {
|
|
61
|
-
readonly fontFamily: "
|
|
62
|
-
readonly fontWeight:
|
|
63
|
-
readonly fontSize:
|
|
64
|
-
readonly lineHeight:
|
|
61
|
+
readonly fontFamily: "Pretendard";
|
|
62
|
+
readonly fontWeight: 600;
|
|
63
|
+
readonly fontSize: 12;
|
|
64
|
+
readonly lineHeight: 18;
|
|
65
65
|
};
|
|
66
66
|
readonly xs: {
|
|
67
|
-
readonly fontFamily: "
|
|
68
|
-
readonly fontWeight:
|
|
69
|
-
readonly fontSize:
|
|
70
|
-
readonly lineHeight:
|
|
67
|
+
readonly fontFamily: "Pretendard";
|
|
68
|
+
readonly fontWeight: 600;
|
|
69
|
+
readonly fontSize: 12;
|
|
70
|
+
readonly lineHeight: 18;
|
|
71
71
|
};
|
|
72
72
|
};
|
|
73
73
|
};
|
package/dist/tokens.css
CHANGED
|
@@ -205,6 +205,18 @@
|
|
|
205
205
|
--modal-width-m: 450px;
|
|
206
206
|
--modal-width-l: 500px;
|
|
207
207
|
|
|
208
|
+
/* 하단 탭 바: 화면 아래에 떠 있는 유리 캡슐. 화면은 아래를 --bottom-nav-space(+ 안전 영역)만큼 비운다 */
|
|
209
|
+
--bottom-nav-height: 62px;
|
|
210
|
+
--bottom-nav-padding: 5px;
|
|
211
|
+
--bottom-nav-offset: 14px;
|
|
212
|
+
--bottom-nav-space: calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 16px);
|
|
213
|
+
--bottom-nav-badge-dot: 8px;
|
|
214
|
+
--bottom-nav-badge-count: 18px;
|
|
215
|
+
--glass-blur: 18px;
|
|
216
|
+
|
|
217
|
+
/* 진행 단계 바 */
|
|
218
|
+
--step-bar-height: 4px;
|
|
219
|
+
|
|
208
220
|
/* 그 밖의 치수 */
|
|
209
221
|
--icon-size-s: 18px;
|
|
210
222
|
--icon-size-m: 20px;
|
|
@@ -226,6 +238,7 @@
|
|
|
226
238
|
|
|
227
239
|
/* 그림자 */
|
|
228
240
|
--shadow-popover: 0px 4px 6px -2px rgba(0, 0, 0, 0.06), 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
|
|
241
|
+
--shadow-floating: 0px 10px 30px rgba(24, 24, 27, 0.14), 0px 1px 3px rgba(24, 24, 27, 0.08);
|
|
229
242
|
|
|
230
243
|
/* 레이어. 값이 같아도 역할이 다르면 이름을 따로 둔다 */
|
|
231
244
|
--z-base: 0;
|
|
@@ -242,6 +255,9 @@
|
|
|
242
255
|
--motion-fast: 160ms;
|
|
243
256
|
--motion-base: 300ms;
|
|
244
257
|
--motion-ease: ease;
|
|
258
|
+
--motion-slow: 420ms;
|
|
259
|
+
/* 끝에서 살짝 넘쳤다 돌아온다. 탭 바 선택 캡슐 */
|
|
260
|
+
--motion-spring: cubic-bezier(0.34, 1.45, 0.5, 1);
|
|
245
261
|
--spinner-duration: 1.2s;
|
|
246
262
|
--skeleton-duration: 1.5s;
|
|
247
263
|
--spinner-ease: cubic-bezier(0.5, 0, 0.5, 1);
|
|
@@ -266,12 +282,30 @@
|
|
|
266
282
|
--button-variant-outlined-background: var(--color-white);
|
|
267
283
|
--button-variant-outlined-border: var(--color-accent-red-700);
|
|
268
284
|
--button-variant-outlined-text: var(--color-accent-red-700);
|
|
269
|
-
--button-size-xl:
|
|
270
|
-
--button-size-
|
|
271
|
-
--button-size-
|
|
272
|
-
--button-size-
|
|
273
|
-
--button-size-
|
|
274
|
-
--button-size-
|
|
285
|
+
--button-size-xl-font-family: var(--font-family-primary);
|
|
286
|
+
--button-size-xl-font-weight: var(--font-weight-bold);
|
|
287
|
+
--button-size-xl-font-size: var(--font-size-lg);
|
|
288
|
+
--button-size-xl-line-height: var(--line-height-lg);
|
|
289
|
+
--button-size-lg-font-family: var(--font-family-primary);
|
|
290
|
+
--button-size-lg-font-weight: var(--font-weight-bold);
|
|
291
|
+
--button-size-lg-font-size: var(--font-size-base);
|
|
292
|
+
--button-size-lg-line-height: var(--line-height-base);
|
|
293
|
+
--button-size-md-font-family: var(--font-family-primary);
|
|
294
|
+
--button-size-md-font-weight: var(--font-weight-semibold);
|
|
295
|
+
--button-size-md-font-size: var(--font-size-sm);
|
|
296
|
+
--button-size-md-line-height: var(--line-height-sm);
|
|
297
|
+
--button-size-rg-font-family: var(--font-family-primary);
|
|
298
|
+
--button-size-rg-font-weight: var(--font-weight-semibold);
|
|
299
|
+
--button-size-rg-font-size: var(--font-size-sm);
|
|
300
|
+
--button-size-rg-line-height: var(--line-height-sm);
|
|
301
|
+
--button-size-sm-font-family: var(--font-family-primary);
|
|
302
|
+
--button-size-sm-font-weight: var(--font-weight-semibold);
|
|
303
|
+
--button-size-sm-font-size: var(--font-size-xsm);
|
|
304
|
+
--button-size-sm-line-height: var(--line-height-sm);
|
|
305
|
+
--button-size-xs-font-family: var(--font-family-primary);
|
|
306
|
+
--button-size-xs-font-weight: var(--font-weight-semibold);
|
|
307
|
+
--button-size-xs-font-size: var(--font-size-xsm);
|
|
308
|
+
--button-size-xs-line-height: var(--line-height-sm);
|
|
275
309
|
}
|
|
276
310
|
/* semantic: admin */
|
|
277
311
|
:root[data-ds-theme='admin'] {
|
|
@@ -310,12 +344,30 @@
|
|
|
310
344
|
--button-variant-confirm-hover-background: var(--color-accent-red-700);
|
|
311
345
|
--button-variant-confirm-hover-border: var(--color-accent-red-700);
|
|
312
346
|
--button-variant-confirm-hover-text: var(--color-white);
|
|
313
|
-
--button-xl:
|
|
314
|
-
--button-
|
|
315
|
-
--button-
|
|
316
|
-
--button-
|
|
317
|
-
--button-
|
|
318
|
-
--button-
|
|
347
|
+
--button-xl-font-family: var(--font-family-primary);
|
|
348
|
+
--button-xl-font-weight: var(--font-weight-bold);
|
|
349
|
+
--button-xl-font-size: var(--font-size-lg);
|
|
350
|
+
--button-xl-line-height: var(--line-height-lg);
|
|
351
|
+
--button-l-font-family: var(--font-family-primary);
|
|
352
|
+
--button-l-font-weight: var(--font-weight-bold);
|
|
353
|
+
--button-l-font-size: var(--font-size-base);
|
|
354
|
+
--button-l-line-height: var(--line-height-base);
|
|
355
|
+
--button-sb-font-family: var(--font-family-primary);
|
|
356
|
+
--button-sb-font-weight: var(--font-weight-semibold);
|
|
357
|
+
--button-sb-font-size: var(--font-size-sm);
|
|
358
|
+
--button-sb-line-height: var(--line-height-sm);
|
|
359
|
+
--button-r-font-family: var(--font-family-primary);
|
|
360
|
+
--button-r-font-weight: var(--font-weight-semibold);
|
|
361
|
+
--button-r-font-size: var(--font-size-sm);
|
|
362
|
+
--button-r-line-height: var(--line-height-sm);
|
|
363
|
+
--button-s-font-family: var(--font-family-primary);
|
|
364
|
+
--button-s-font-weight: var(--font-weight-semibold);
|
|
365
|
+
--button-s-font-size: var(--font-size-xsm);
|
|
366
|
+
--button-s-line-height: var(--line-height-sm);
|
|
367
|
+
--button-xs-font-family: var(--font-family-primary);
|
|
368
|
+
--button-xs-font-weight: var(--font-weight-semibold);
|
|
369
|
+
--button-xs-font-size: var(--font-size-xsm);
|
|
370
|
+
--button-xs-line-height: var(--line-height-sm);
|
|
319
371
|
--button-size-xs: 30;
|
|
320
372
|
--button-size-s: 40;
|
|
321
373
|
--button-size-r: 48;
|