@stn-uiux/pub-ui 0.1.73 → 0.1.75
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/{chunk-KLIYAEJA.js → chunk-2LRCGTKQ.js} +7 -17
- package/dist/chunk-2LRCGTKQ.js.map +1 -0
- package/dist/{chunk-WN7FYFIO.js → chunk-AJLP3Y53.js} +3 -1
- package/dist/chunk-AJLP3Y53.js.map +1 -0
- package/dist/chunk-M4MX76BY.js +9 -0
- package/dist/chunk-M4MX76BY.js.map +1 -0
- package/dist/{chunk-NB4NJQYE.js → chunk-YJLOIDKY.js} +24 -24
- package/dist/chunk-YJLOIDKY.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/data/index.d.ts +1 -1
- package/dist/data/index.js +6 -4
- package/dist/data/stnCard.d.ts +3 -1
- package/dist/data/stnCard.js +3 -1
- package/dist/data/stnChip.d.ts +2 -3
- package/dist/data/stnChip.js +1 -1
- package/dist/data/stnPackageVersion.d.ts +2 -2
- package/dist/data/stnPackageVersion.js +1 -1
- package/dist/data/stnTextField.d.ts +2 -2
- package/dist/data/stnTextField.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -4
- package/package.json +1 -1
- package/styles/components/stn-breadcrumb.css +37 -34
- package/styles/components/stn-card.css +24 -3
- package/styles/components/stn-date-picker.css +1 -1
- package/styles/components/stn-drawer.css +182 -0
- package/styles/components/stn-event-banner.css +18 -18
- package/styles/components/stn-pagination.css +9 -8
- package/styles/components/stn-progress-bar.css +5 -5
- package/styles/components/stn-side-nav.css +55 -31
- package/styles/components/stn-status.css +22 -22
- package/styles/components/stn-table.css +42 -0
- package/styles/components/stn-tabs.css +3 -3
- package/styles/components/stn-tooltip.css +1 -1
- package/styles/components/stn-widget.css +3 -3
- package/styles/patterns/stn-alert-center.css +6 -6
- package/styles/patterns/stn-header.css +7 -7
- package/styles/style-pub.css +1 -0
- package/styles/tokens/stn-breakpoint.css +0 -12
- package/styles/tokens/stn-colors-semantic.css +15 -13
- package/styles/tokens/stn-elevation.css +5 -1
- package/styles/tokens/stn-radius-semantic.css +1 -1
- package/styles/tokens/stn-size-semantic.css +8 -0
- package/styles/tokens/stn-spacing-semantic.css +25 -0
- package/dist/chunk-KLIYAEJA.js.map +0 -1
- package/dist/chunk-NB4NJQYE.js.map +0 -1
- package/dist/chunk-Q363EBGR.js +0 -9
- package/dist/chunk-Q363EBGR.js.map +0 -1
- package/dist/chunk-WN7FYFIO.js.map +0 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* STN Drawer Component (L2 Side Sheet)
|
|
3
|
+
*
|
|
4
|
+
* - L1.8 Side Sheet 계층 (z-index: var(--stn-elevation-z-drawer))
|
|
5
|
+
* - non-dimming (dim={false}) 및 dimming (dim={true}) 두 가지 모드 완벽 지원
|
|
6
|
+
* - 표준 크기 스케일 (sm, md, lg, xl, full)
|
|
7
|
+
* - 방향 (right, left, bottom) 지원
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* ── 1. Drawer Stack Root ── */
|
|
11
|
+
.stn-drawer-stack {
|
|
12
|
+
position: fixed;
|
|
13
|
+
inset: 0;
|
|
14
|
+
z-index: var(--stn-elevation-z-drawer); /* L1.8 Side Sheet 계층 (z-180, Dropdown 150 초과 / Modal 200 미만) */
|
|
15
|
+
display: flex;
|
|
16
|
+
visibility: hidden;
|
|
17
|
+
pointer-events: none;
|
|
18
|
+
transition: visibility var(--stn-motion-duration-fast, 0.25s) ease;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.stn-drawer-stack.is-open {
|
|
22
|
+
visibility: visible;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Dim (Backdrop) 모드 */
|
|
26
|
+
.stn-drawer-stack--dim.is-open {
|
|
27
|
+
pointer-events: auto;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* ── 2. Dim Scrim ── */
|
|
31
|
+
.stn-drawer-stack__dim {
|
|
32
|
+
position: absolute;
|
|
33
|
+
inset: 0;
|
|
34
|
+
background: var(--stn-dim-bg);
|
|
35
|
+
backdrop-filter: blur(var(--stn-dim-blur));
|
|
36
|
+
opacity: 0;
|
|
37
|
+
pointer-events: auto;
|
|
38
|
+
transition: opacity var(--stn-motion-duration-fast, 0.25s) ease;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.stn-drawer-stack.is-open .stn-drawer-stack__dim {
|
|
42
|
+
opacity: 1;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* ── 3. Drawer Panel ── */
|
|
46
|
+
.stn-drawer {
|
|
47
|
+
position: absolute;
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
background: var(--stn-drawer-bg);
|
|
51
|
+
border-color: var(--stn-border-subtle);
|
|
52
|
+
border-style: solid;
|
|
53
|
+
border-width: 0;
|
|
54
|
+
box-shadow: var(--stn-shadow-xl);
|
|
55
|
+
pointer-events: auto;
|
|
56
|
+
transition: transform var(--stn-motion-duration-fast, 0.25s) var(--stn-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
|
|
57
|
+
will-change: transform;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Drawer Panel Padding Scale (.padding-none, .padding-xs ~ .padding-xl) */
|
|
61
|
+
.stn-drawer.padding-none { padding: var(--stn-drawer-padding-none); }
|
|
62
|
+
.stn-drawer.padding-xs { padding: var(--stn-drawer-padding-xs); }
|
|
63
|
+
.stn-drawer.padding-sm { padding: var(--stn-drawer-padding-sm); }
|
|
64
|
+
.stn-drawer.padding-md { padding: var(--stn-drawer-padding-md); }
|
|
65
|
+
.stn-drawer.padding-lg { padding: var(--stn-drawer-padding-lg); }
|
|
66
|
+
.stn-drawer.padding-xl { padding: var(--stn-drawer-padding-xl); }
|
|
67
|
+
|
|
68
|
+
/* Drawer Panel Gap Scale (Header, Body, Footer 간격 조절) */
|
|
69
|
+
.stn-drawer.gap-none { gap: var(--stn-drawer-gap-none); }
|
|
70
|
+
.stn-drawer.gap-xs { gap: var(--stn-drawer-gap-xs); }
|
|
71
|
+
.stn-drawer.gap-sm { gap: var(--stn-drawer-gap-sm); }
|
|
72
|
+
.stn-drawer.gap-md { gap: var(--stn-drawer-gap-md); }
|
|
73
|
+
.stn-drawer.gap-lg { gap: var(--stn-drawer-gap-lg); }
|
|
74
|
+
.stn-drawer.gap-xl { gap: var(--stn-drawer-gap-xl); }
|
|
75
|
+
|
|
76
|
+
/* ── 4. Placement (방향) ── */
|
|
77
|
+
/* Right (기본) */
|
|
78
|
+
.stn-drawer--right {
|
|
79
|
+
top: 0;
|
|
80
|
+
bottom: 0;
|
|
81
|
+
right: 0;
|
|
82
|
+
height: 100%;
|
|
83
|
+
width: min(var(--stn-drawer-active-width, 480px), 100vw);
|
|
84
|
+
border-left-width: 1px;
|
|
85
|
+
transform: translateX(100%);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.stn-drawer-stack.is-open .stn-drawer--right {
|
|
89
|
+
transform: translateX(0);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Left */
|
|
93
|
+
.stn-drawer--left {
|
|
94
|
+
top: 0;
|
|
95
|
+
bottom: 0;
|
|
96
|
+
left: 0;
|
|
97
|
+
height: 100%;
|
|
98
|
+
width: min(var(--stn-drawer-active-width, 480px), 100vw);
|
|
99
|
+
border-right-width: 1px;
|
|
100
|
+
transform: translateX(-100%);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.stn-drawer-stack.is-open .stn-drawer--left {
|
|
104
|
+
transform: translateX(0);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Bottom */
|
|
108
|
+
.stn-drawer--bottom {
|
|
109
|
+
left: 0;
|
|
110
|
+
right: 0;
|
|
111
|
+
bottom: 0;
|
|
112
|
+
width: 100%;
|
|
113
|
+
height: min(var(--stn-drawer-active-height, 480px), 100vh);
|
|
114
|
+
border-top-width: 1px;
|
|
115
|
+
transform: translateY(100%);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.stn-drawer-stack.is-open .stn-drawer--bottom {
|
|
119
|
+
transform: translateY(0);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* ── 5. Size Variants (표준 스케일) ── */
|
|
123
|
+
.stn-drawer--sm { --stn-drawer-active-width: var(--stn-drawer-width-sm, 360px); --stn-drawer-active-height: var(--stn-drawer-height-sm, 360px); }
|
|
124
|
+
.stn-drawer--md { --stn-drawer-active-width: var(--stn-drawer-width-md, 480px); --stn-drawer-active-height: var(--stn-drawer-height-md, 480px); }
|
|
125
|
+
.stn-drawer--lg { --stn-drawer-active-width: var(--stn-drawer-width-lg, 640px); --stn-drawer-active-height: var(--stn-drawer-height-lg, 640px); }
|
|
126
|
+
.stn-drawer--xl { --stn-drawer-active-width: var(--stn-drawer-width-xl, 800px); --stn-drawer-active-height: var(--stn-drawer-height-xl, 800px); }
|
|
127
|
+
|
|
128
|
+
/* ── 6. Header, Body, Footer Subcomponents ── */
|
|
129
|
+
.stn-drawer__head {
|
|
130
|
+
display: flex;
|
|
131
|
+
align-items: center;
|
|
132
|
+
justify-content: space-between;
|
|
133
|
+
padding: var(--stn-space-4) var(--stn-space-5);
|
|
134
|
+
background: var(--stn-drawer-bg);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.stn-drawer__head-title {
|
|
138
|
+
margin: 0;
|
|
139
|
+
font-size: var(--stn-text-h4-size);
|
|
140
|
+
font-weight: var(--stn-font-weight-semibold);
|
|
141
|
+
color: var(--stn-text-primary);
|
|
142
|
+
line-height: var(--stn-text-h4-line-height);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.stn-drawer__subtitle {
|
|
146
|
+
margin: var(--stn-space-1) 0 0;
|
|
147
|
+
font-size: var(--stn-text-body-small-size);
|
|
148
|
+
color: var(--stn-text-secondary);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.stn-drawer__close {
|
|
152
|
+
flex-shrink: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.stn-drawer__body {
|
|
156
|
+
flex: 1;
|
|
157
|
+
overflow-y: auto;
|
|
158
|
+
padding: var(--stn-space-5);
|
|
159
|
+
color: var(--stn-text-primary);
|
|
160
|
+
display: flex;
|
|
161
|
+
flex-direction: column;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.stn-drawer__footer {
|
|
165
|
+
display: flex;
|
|
166
|
+
align-items: center;
|
|
167
|
+
gap: var(--stn-space-2);
|
|
168
|
+
padding: var(--stn-space-3) var(--stn-space-5);
|
|
169
|
+
background: var(--stn-elevation-surface-1);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.stn-drawer__footer--right {
|
|
173
|
+
justify-content: flex-end;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.stn-drawer__footer--center {
|
|
177
|
+
justify-content: center;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.stn-drawer__footer--between {
|
|
181
|
+
justify-content: space-between;
|
|
182
|
+
}
|
|
@@ -80,14 +80,14 @@
|
|
|
80
80
|
padding: var(--stn-space-12, 12px) var(--stn-space-16, 16px);
|
|
81
81
|
border-radius: var(--stn-radius-8, 8px);
|
|
82
82
|
background: var(--stn-event-banner-bg);
|
|
83
|
-
backdrop-filter: blur(
|
|
84
|
-
-webkit-backdrop-filter: blur(
|
|
83
|
+
backdrop-filter: blur(var(--stn-dim-blur, 8px));
|
|
84
|
+
-webkit-backdrop-filter: blur(var(--stn-dim-blur, 8px));
|
|
85
85
|
isolation: isolate;
|
|
86
86
|
transform: translateZ(0);
|
|
87
87
|
overflow: hidden;
|
|
88
|
-
z-index:
|
|
89
|
-
font-family: var(--stn-font-
|
|
90
|
-
gap: var(--stn-space-12
|
|
88
|
+
z-index: var(--stn-elevation-z-banner);
|
|
89
|
+
font-family: var(--stn-font-body);
|
|
90
|
+
gap: var(--stn-space-12);
|
|
91
91
|
border: 1px solid var(--stn-event-banner-cr-border);
|
|
92
92
|
border-left: 2px solid var(--stn-event-banner-cr-accent);
|
|
93
93
|
box-shadow: var(--stn-event-banner-cr-shadow);
|
|
@@ -286,8 +286,8 @@
|
|
|
286
286
|
|
|
287
287
|
/* Alert Icon */
|
|
288
288
|
.stn-event-banner__icon-wrap {
|
|
289
|
-
width: 24px;
|
|
290
|
-
height: 24px;
|
|
289
|
+
width: var(--stn-event-banner-icon-size, var(--stn-size-24, 24px));
|
|
290
|
+
height: var(--stn-event-banner-icon-size, var(--stn-size-24, 24px));
|
|
291
291
|
display: flex;
|
|
292
292
|
align-items: center;
|
|
293
293
|
justify-content: center;
|
|
@@ -298,7 +298,7 @@
|
|
|
298
298
|
.stn-event-banner__text {
|
|
299
299
|
display: flex;
|
|
300
300
|
flex-direction: column;
|
|
301
|
-
gap:
|
|
301
|
+
gap: var(--stn-event-banner-text-gap, var(--stn-space-4, 4px));
|
|
302
302
|
align-items: stretch;
|
|
303
303
|
min-width: 0;
|
|
304
304
|
flex: 1 1 auto;
|
|
@@ -317,24 +317,24 @@
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
.stn-event-banner__title {
|
|
320
|
-
font-size: var(--stn-font-size-14, 14px);
|
|
320
|
+
font-size: var(--stn-text-body-medium-size, var(--stn-font-size-14, 14px));
|
|
321
321
|
font-weight: var(--stn-font-weight-semibold, 600);
|
|
322
322
|
color: var(--stn-event-banner-title);
|
|
323
|
-
line-height: 1.2;
|
|
323
|
+
line-height: var(--stn-line-height-tight, 1.2);
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
.stn-event-banner__time {
|
|
327
|
-
font-size: var(--stn-font-size-12, 12px);
|
|
327
|
+
font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
328
328
|
font-weight: var(--stn-font-weight-regular, 400);
|
|
329
329
|
color: var(--stn-event-banner-time);
|
|
330
|
-
line-height: 1.2;
|
|
330
|
+
line-height: var(--stn-line-height-tight, 1.2);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
/* Action Group */
|
|
334
334
|
.stn-event-banner__actions {
|
|
335
335
|
display: flex;
|
|
336
336
|
align-items: center;
|
|
337
|
-
gap: 8px;
|
|
337
|
+
gap: var(--stn-event-banner-actions-gap, var(--stn-space-8, 8px));
|
|
338
338
|
flex-shrink: 0;
|
|
339
339
|
}
|
|
340
340
|
|
|
@@ -344,11 +344,11 @@
|
|
|
344
344
|
display: inline-flex;
|
|
345
345
|
align-items: center;
|
|
346
346
|
justify-content: center;
|
|
347
|
-
height:
|
|
348
|
-
padding: 4px 14px;
|
|
349
|
-
border-radius: var(--stn-radius-circle, 9999px);
|
|
350
|
-
font-family: var(--stn-font-
|
|
351
|
-
font-size: 13px;
|
|
347
|
+
height: var(--stn-event-banner-btn-height, var(--stn-size-28, 28px));
|
|
348
|
+
padding: var(--stn-event-banner-btn-padding-block, var(--stn-space-4, 4px)) var(--stn-event-banner-btn-padding-inline, var(--stn-space-14, 14px));
|
|
349
|
+
border-radius: var(--stn-radius-chip-pill, var(--stn-radius-circle, 9999px));
|
|
350
|
+
font-family: var(--stn-font-body);
|
|
351
|
+
font-size: var(--stn-text-body-small-size, var(--stn-font-size-13, 13px));
|
|
352
352
|
font-weight: var(--stn-font-weight-semibold, 600);
|
|
353
353
|
line-height: 1;
|
|
354
354
|
white-space: nowrap;
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
cursor: pointer;
|
|
69
69
|
appearance: none;
|
|
70
70
|
-webkit-appearance: none;
|
|
71
|
-
box-shadow: none
|
|
71
|
+
box-shadow: none;
|
|
72
72
|
vertical-align: middle;
|
|
73
73
|
transition: all 0.15s ease;
|
|
74
74
|
}
|
|
@@ -118,21 +118,21 @@
|
|
|
118
118
|
/* Size variations (STN 규격: sm · md · lg) */
|
|
119
119
|
.stn-pagination--sm {
|
|
120
120
|
--stn-pagination-size: var(--stn-size-28, 28px);
|
|
121
|
-
--stn-pagination-font-size: var(--stn-font-size-12, 12px);
|
|
121
|
+
--stn-pagination-font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
122
122
|
--stn-pagination-gap: var(--stn-space-4, 4px);
|
|
123
123
|
--stn-pagination-arrow-gap: var(--stn-space-8, 8px);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
.stn-pagination--md {
|
|
127
127
|
--stn-pagination-size: var(--stn-size-32, 32px);
|
|
128
|
-
--stn-pagination-font-size: var(--stn-font-size-13, 13px);
|
|
128
|
+
--stn-pagination-font-size: var(--stn-text-body-small-size, var(--stn-font-size-13, 13px));
|
|
129
129
|
--stn-pagination-gap: var(--stn-space-8, 8px);
|
|
130
130
|
--stn-pagination-arrow-gap: var(--stn-space-12, 12px);
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
.stn-pagination--lg {
|
|
134
134
|
--stn-pagination-size: var(--stn-size-36, 36px);
|
|
135
|
-
--stn-pagination-font-size: var(--stn-font-size-14, 14px);
|
|
135
|
+
--stn-pagination-font-size: var(--stn-text-body-medium-size, var(--stn-font-size-14, 14px));
|
|
136
136
|
--stn-pagination-gap: var(--stn-space-8, 8px);
|
|
137
137
|
--stn-pagination-arrow-gap: var(--stn-space-16, 16px);
|
|
138
138
|
}
|
|
@@ -215,12 +215,13 @@
|
|
|
215
215
|
flex: 0 0 auto;
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
/* 모바일 좁은 화면 컴팩트 최적화
|
|
219
|
-
* 브레이크포인트: --stn-pagination-compact-breakpoint (480px)
|
|
220
|
-
* CSS @media에서 var() 사용 불가이므로 리터럴 유지; 치수는 시멘틱 토큰 참조.
|
|
221
|
-
*/
|
|
218
|
+
/* 모바일 좁은 화면 컴팩트 최적화 (max-width: 480px) */
|
|
222
219
|
@media (max-width: 480px) {
|
|
223
220
|
.stn-pagination {
|
|
221
|
+
--stn-pagination-compact-size: var(--stn-size-28, 28px);
|
|
222
|
+
--stn-pagination-compact-padding: var(--stn-space-6, 6px);
|
|
223
|
+
--stn-pagination-compact-font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
224
|
+
--stn-pagination-compact-gap: var(--stn-space-4, 4px);
|
|
224
225
|
gap: var(--stn-pagination-compact-gap);
|
|
225
226
|
}
|
|
226
227
|
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
flex-shrink: 0;
|
|
199
199
|
white-space: nowrap;
|
|
200
200
|
font-family: var(--stn-font-body);
|
|
201
|
-
font-size: var(--stn-font-size-12);
|
|
201
|
+
font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
202
202
|
font-weight: var(--stn-font-weight-medium);
|
|
203
203
|
color: var(--stn-progress-title-color);
|
|
204
204
|
}
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
flex-shrink: 0;
|
|
208
208
|
white-space: nowrap;
|
|
209
209
|
font-family: var(--stn-font-body);
|
|
210
|
-
font-size: var(--stn-font-size-12);
|
|
210
|
+
font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
211
211
|
font-weight: var(--stn-font-weight-medium);
|
|
212
212
|
color: var(--stn-progress-value-color);
|
|
213
213
|
}
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
justify-content: space-between;
|
|
218
218
|
align-items: center;
|
|
219
219
|
font-family: var(--stn-font-body);
|
|
220
|
-
font-size: var(--stn-font-size-12);
|
|
220
|
+
font-size: var(--stn-text-caption-medium-size, var(--stn-font-size-12, 12px));
|
|
221
221
|
color: var(--stn-progress-label-color);
|
|
222
222
|
font-weight: var(--stn-font-weight-medium);
|
|
223
223
|
}
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
left: 50%;
|
|
254
254
|
transform: translate(-50%, -50%);
|
|
255
255
|
font-family: var(--stn-font-body);
|
|
256
|
-
font-size: var(--stn-font-size-10);
|
|
256
|
+
font-size: var(--stn-text-label-xsmall-size, var(--stn-font-size-10, 10px));
|
|
257
257
|
font-weight: var(--stn-font-weight-bold);
|
|
258
258
|
color: var(--stn-progress-inside-color);
|
|
259
259
|
line-height: 1;
|
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
|
|
416
416
|
.stn-progress-circle-wrap__label {
|
|
417
417
|
font-family: var(--stn-font-body);
|
|
418
|
-
font-size: var(--stn-font-size-13);
|
|
418
|
+
font-size: var(--stn-text-body-small-size, var(--stn-font-size-13, 13px));
|
|
419
419
|
font-weight: var(--stn-font-weight-medium);
|
|
420
420
|
color: var(--stn-progress-circle-label-color);
|
|
421
421
|
line-height: 1.3;
|
|
@@ -142,6 +142,8 @@ width: auto;
|
|
|
142
142
|
border-radius: var(--stn-radius-circle);
|
|
143
143
|
background: var(--stn-side-nav-toggle-bg);
|
|
144
144
|
border: var(--stn-side-nav-border-width, 1px) solid var(--stn-side-nav-toggle-border);
|
|
145
|
+
backdrop-filter: blur(8px);
|
|
146
|
+
-webkit-backdrop-filter: blur(8px);
|
|
145
147
|
box-shadow: var(--stn-side-nav-toggle-shadow);
|
|
146
148
|
color: var(--stn-side-nav-toggle-fg);
|
|
147
149
|
}
|
|
@@ -877,7 +879,7 @@ justify-content: center;
|
|
|
877
879
|
|
|
878
880
|
/* 1. Mobile Floating / Header Hamburger Trigger */
|
|
879
881
|
.stn-side-nav__mobile-trigger {
|
|
880
|
-
box-sizing: border-box;
|
|
882
|
+
box-sizing: border-box;
|
|
881
883
|
display: inline-flex;
|
|
882
884
|
align-items: center;
|
|
883
885
|
justify-content: center;
|
|
@@ -885,52 +887,70 @@ box-sizing: border-box;
|
|
|
885
887
|
height: var(--stn-side-nav-mobile-trigger-size);
|
|
886
888
|
padding: 0;
|
|
887
889
|
margin: 0;
|
|
888
|
-
border-radius: var(--stn-side-nav-mobile-trigger-radius);
|
|
889
|
-
background:
|
|
890
|
+
border-radius: var(--stn-side-nav-mobile-trigger-radius, var(--stn-radius-circle));
|
|
891
|
+
background: transparent;
|
|
890
892
|
border: var(--stn-side-nav-border-width, 1px) solid var(--stn-side-nav-mobile-trigger-border);
|
|
891
|
-
color: var(--stn-side-nav-mobile-trigger-
|
|
893
|
+
color: var(--stn-side-nav-mobile-trigger-fg, var(--stn-text-primary));
|
|
892
894
|
box-shadow: var(--stn-side-nav-trigger-shadow);
|
|
895
|
+
backdrop-filter: blur(var(--stn-side-nav-glass-blur, 12px));
|
|
896
|
+
-webkit-backdrop-filter: blur(var(--stn-side-nav-glass-blur, 12px));
|
|
893
897
|
cursor: pointer;
|
|
894
898
|
outline: none;
|
|
895
|
-
transition:
|
|
899
|
+
transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),
|
|
900
|
+
background 0.2s ease,
|
|
901
|
+
border-color 0.2s ease,
|
|
902
|
+
box-shadow 0.2s ease;
|
|
896
903
|
z-index: 990;
|
|
897
904
|
}
|
|
898
905
|
|
|
899
906
|
.stn-side-nav__mobile-trigger:hover {
|
|
900
|
-
transform:
|
|
907
|
+
transform: scale(1.08);
|
|
908
|
+
background: var(--stn-nav-menu-hover-bg);
|
|
909
|
+
border-color: var(--stn-side-nav-mobile-trigger-border);
|
|
901
910
|
box-shadow: var(--stn-side-nav-trigger-shadow-hover);
|
|
902
|
-
border-color: var(--stn-nav-menu-active-border);
|
|
903
911
|
}
|
|
904
912
|
|
|
905
913
|
.stn-side-nav__mobile-trigger:active {
|
|
906
|
-
transform:
|
|
914
|
+
transform: scale(0.95);
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
.stn-side-nav__mobile-trigger:focus-visible {
|
|
918
|
+
outline: var(--stn-focus-ring-width, 2px) solid var(--stn-focus-ring);
|
|
919
|
+
outline-offset: var(--stn-focus-ring-offset, 1px);
|
|
907
920
|
}
|
|
908
921
|
|
|
909
922
|
/* Floating mode: screens bottom-left */
|
|
910
|
-
.stn-side-nav__mobile-trigger.floating,
|
|
911
923
|
.stn-side-nav__mobile-trigger.floating {
|
|
912
924
|
position: fixed;
|
|
913
925
|
bottom: var(--stn-side-nav-mobile-trigger-floating-bottom);
|
|
914
926
|
left: var(--stn-side-nav-mobile-trigger-floating-left);
|
|
927
|
+
background: var(--stn-side-nav-mobile-trigger-bg);
|
|
928
|
+
border-color: var(--stn-side-nav-mobile-trigger-border);
|
|
929
|
+
box-shadow: var(--stn-side-nav-trigger-shadow);
|
|
930
|
+
backdrop-filter: blur(var(--stn-side-nav-glass-blur, 12px));
|
|
931
|
+
-webkit-backdrop-filter: blur(var(--stn-side-nav-glass-blur, 12px));
|
|
915
932
|
z-index: 995;
|
|
916
933
|
}
|
|
917
934
|
|
|
918
935
|
/* 데스크톱(> 1024px)에서는 햄버거 버튼 숨김 (사이드바 레일이 직접 표시됨) */
|
|
919
936
|
@media (min-width: 1025px) {
|
|
920
|
-
.stn-side-nav__mobile-trigger.
|
|
921
|
-
display: none;
|
|
937
|
+
.stn-side-nav__mobile-trigger:not(.doc-force-visible) {
|
|
938
|
+
display: none !important;
|
|
922
939
|
}
|
|
923
940
|
}
|
|
924
941
|
|
|
925
|
-
/*
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
942
|
+
/* 문서 플레이그라운드 및 .doc-force-visible 지정 시 데스크톱에서도 햄버거 버튼 표시 */
|
|
943
|
+
.stn-side-nav__mobile-trigger.doc-force-visible,
|
|
944
|
+
.doc-example .stn-side-nav__mobile-trigger {
|
|
945
|
+
display: inline-flex !important;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
/* StnHeader 내부 통합용 햄버거 버튼 (floating=false 일 때 StnHeader.Left 또는 Right에 자동 정렬) */
|
|
949
|
+
.stn-header .stn-side-nav__mobile-trigger {
|
|
950
|
+
position: static;
|
|
951
|
+
flex-shrink: 0;
|
|
952
|
+
width: var(--stn-btn-height, 36px);
|
|
953
|
+
height: var(--stn-btn-height, 36px);
|
|
934
954
|
}
|
|
935
955
|
|
|
936
956
|
/* Hamburger 3-line Icon */
|
|
@@ -938,28 +958,32 @@ box-sizing: border-box;
|
|
|
938
958
|
display: flex;
|
|
939
959
|
flex-direction: column;
|
|
940
960
|
justify-content: space-between;
|
|
941
|
-
width: var(--stn-side-nav-hamburger-width);
|
|
942
|
-
height: var(--stn-side-nav-hamburger-height);
|
|
961
|
+
width: var(--stn-side-nav-hamburger-width, 16px);
|
|
962
|
+
height: var(--stn-side-nav-hamburger-height, 12px);
|
|
943
963
|
}
|
|
944
964
|
|
|
945
965
|
.stn-side-nav__hamburger-bars span {
|
|
946
966
|
display: block;
|
|
947
967
|
width: 100%;
|
|
948
|
-
height: var(--stn-side-nav-hamburger-bar);
|
|
968
|
+
height: var(--stn-side-nav-hamburger-bar, 2px);
|
|
949
969
|
background-color: currentColor;
|
|
950
|
-
border-radius: var(--stn-
|
|
951
|
-
transition: transform 0.
|
|
952
|
-
opacity 0.
|
|
970
|
+
border-radius: var(--stn-radius-circle, 9999px);
|
|
971
|
+
transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),
|
|
972
|
+
opacity 0.22s ease,
|
|
973
|
+
background-color 0.2s ease;
|
|
953
974
|
}
|
|
954
975
|
|
|
955
976
|
.stn-side-nav__mobile-trigger.is-open .stn-side-nav__hamburger-bars span:nth-child(1) {
|
|
956
|
-
transform: translateY(var(--stn-side-nav-hamburger-bar-spacing)) rotate(45deg);
|
|
977
|
+
transform: translateY(calc(var(--stn-side-nav-hamburger-bar-spacing, 6px) - 1px)) rotate(45deg);
|
|
957
978
|
}
|
|
979
|
+
|
|
958
980
|
.stn-side-nav__mobile-trigger.is-open .stn-side-nav__hamburger-bars span:nth-child(2) {
|
|
959
981
|
opacity: 0;
|
|
982
|
+
transform: scaleX(0);
|
|
960
983
|
}
|
|
984
|
+
|
|
961
985
|
.stn-side-nav__mobile-trigger.is-open .stn-side-nav__hamburger-bars span:nth-child(3) {
|
|
962
|
-
transform: translateY(calc(var(--stn-side-nav-hamburger-bar-spacing) * -1)) rotate(-45deg);
|
|
986
|
+
transform: translateY(calc((var(--stn-side-nav-hamburger-bar-spacing, 6px) - 1px) * -1)) rotate(-45deg);
|
|
963
987
|
}
|
|
964
988
|
/* 2. Mobile Drawer Backdrop Overlay */
|
|
965
989
|
.stn-side-nav__backdrop {
|
|
@@ -1037,8 +1061,8 @@ color 0.15s ease;
|
|
|
1037
1061
|
color: var(--stn-text-primary);
|
|
1038
1062
|
}
|
|
1039
1063
|
|
|
1040
|
-
/* 5. Responsive Mobile Query: <=
|
|
1041
|
-
@media (max-width:
|
|
1064
|
+
/* 5. Responsive Mobile Query: <= 1024px */
|
|
1065
|
+
@media (max-width: 1024px) {
|
|
1042
1066
|
/* 모바일: PC용 원형 접기 버튼 숨김 — open 시 닫기 버튼은 아래 규칙이 이김 */
|
|
1043
1067
|
.stn-side-nav__collapse-btn,
|
|
1044
1068
|
.stn-side-nav__toggle {
|
|
@@ -1088,7 +1112,7 @@ color 0.15s ease;
|
|
|
1088
1112
|
}
|
|
1089
1113
|
}
|
|
1090
1114
|
|
|
1091
|
-
@container stn-list-demo (max-width:
|
|
1115
|
+
@container stn-list-demo (max-width: 1024px) {
|
|
1092
1116
|
.stn-side-nav__collapse-btn,
|
|
1093
1117
|
.stn-side-nav__toggle {
|
|
1094
1118
|
display: none;
|