@stn-uiux/pub-ui 0.1.56 → 0.1.58

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 (95) hide show
  1. package/dist/{chunk-L7DYM4V7.js → chunk-2FHXIAM3.js} +10 -28
  2. package/dist/{chunk-L7DYM4V7.js.map → chunk-2FHXIAM3.js.map} +1 -1
  3. package/dist/chunk-2WKT7X65.js +407 -0
  4. package/dist/chunk-2WKT7X65.js.map +1 -0
  5. package/dist/{chunk-THCCTVUM.js → chunk-5F63CMM7.js} +11 -1
  6. package/dist/chunk-5F63CMM7.js.map +1 -0
  7. package/dist/{chunk-Q3W7QA7N.js → chunk-75GHU6VI.js} +24 -43
  8. package/dist/chunk-75GHU6VI.js.map +1 -0
  9. package/dist/{chunk-4C7ABT2K.js → chunk-AE4CKAEK.js} +3 -3
  10. package/dist/chunk-AE4CKAEK.js.map +1 -0
  11. package/dist/{chunk-P5V6SFR7.js → chunk-EDXSK54U.js} +2 -2
  12. package/dist/{chunk-GR76L7M7.js → chunk-EQVFEZEQ.js} +2 -2
  13. package/dist/{chunk-OMCBVK57.js → chunk-J46EPVSY.js} +2 -2
  14. package/dist/{chunk-WRGBYWRV.js → chunk-LKVTW54X.js} +1 -1
  15. package/dist/chunk-LKVTW54X.js.map +1 -0
  16. package/dist/{chunk-V7HD6SBG.js → chunk-PVF77NHZ.js} +5 -3
  17. package/dist/{chunk-V7HD6SBG.js.map → chunk-PVF77NHZ.js.map} +1 -1
  18. package/dist/{chunk-XZ3JOUX2.js → chunk-TDLGKV4C.js} +2 -1
  19. package/dist/{chunk-XZ3JOUX2.js.map → chunk-TDLGKV4C.js.map} +1 -1
  20. package/dist/{chunk-ERPXTTTO.js → chunk-XBFXX3D6.js} +17 -15
  21. package/dist/chunk-XBFXX3D6.js.map +1 -0
  22. package/dist/chunk-XPARWRVD.js +9 -0
  23. package/dist/chunk-XPARWRVD.js.map +1 -0
  24. package/dist/{chunk-S4YA4H2S.js → chunk-YBNEQ5LB.js} +2 -2
  25. package/dist/cli.js +10 -10
  26. package/dist/data/index.d.ts +2 -2
  27. package/dist/data/index.js +16 -14
  28. package/dist/data/stnAlertCenter.d.ts +4 -3
  29. package/dist/data/stnAlertCenter.js +1 -1
  30. package/dist/data/stnBreadcrumb.js +3 -3
  31. package/dist/data/stnDatePicker.js +2 -2
  32. package/dist/data/stnDateRangeField.d.ts +1 -1
  33. package/dist/data/stnDateRangeField.js +1 -1
  34. package/dist/data/stnDropdown.d.ts +1 -1
  35. package/dist/data/stnDropdown.js +1 -1
  36. package/dist/data/stnHeader.js +3 -3
  37. package/dist/data/stnLayer0Background.js +1 -1
  38. package/dist/data/stnLayer0BackgroundAssets.d.ts +17 -16
  39. package/dist/data/stnLayer0BackgroundAssets.js +3 -1
  40. package/dist/data/stnPackageVersion.d.ts +2 -2
  41. package/dist/data/stnPackageVersion.js +1 -1
  42. package/dist/data/stnPopup.d.ts +19 -41
  43. package/dist/data/stnPopup.js +1 -1
  44. package/dist/data/stnSearchRequirement.d.ts +4 -4
  45. package/dist/data/stnSearchRequirement.js +1 -1
  46. package/dist/data/stnSideNavItem.js +3 -3
  47. package/dist/data/stnSizeSemantic.js +1 -1
  48. package/dist/data/stnSystemIcons.js +2 -2
  49. package/dist/data/stnSystemIconsData.generated.js +1 -1
  50. package/dist/index.d.ts +2 -2
  51. package/dist/index.js +16 -14
  52. package/package.json +2 -1
  53. package/styles/@assets/svg/system/line/eye-off.svg +5 -0
  54. package/styles/components/stn-btn.css +1 -1
  55. package/styles/components/stn-date-picker.css +13 -5
  56. package/styles/components/stn-date-range-field.css +153 -16
  57. package/styles/components/stn-dropdown.css +150 -38
  58. package/styles/components/stn-label-prefix.css +319 -0
  59. package/styles/components/stn-popup.css +78 -132
  60. package/styles/components/stn-search-requirement.css +27 -20
  61. package/styles/components/stn-text-field.css +401 -374
  62. package/styles/components/stn-toast.css +17 -0
  63. package/styles/components/stn-toggle-button.css +37 -0
  64. package/styles/patterns/stn-alert-center.css +85 -0
  65. package/styles/patterns/stn-tree.css +157 -0
  66. package/styles/style-pub.css +1 -0
  67. package/styles/tokens/stn-colors-semantic.css +7 -1
  68. package/styles/tokens/stn-radius-semantic.css +3 -2
  69. package/styles/tokens/stn-size-semantic.css +19 -6
  70. package/styles/tokens/stn-size.css +2 -0
  71. package/styles/tokens/stn-spacing-semantic.css +12 -0
  72. package/styles/tokens/stn-typography.css +1 -0
  73. package/dist/chunk-2EMXBNFK.js +0 -9
  74. package/dist/chunk-2EMXBNFK.js.map +0 -1
  75. package/dist/chunk-4C7ABT2K.js.map +0 -1
  76. package/dist/chunk-ERPXTTTO.js.map +0 -1
  77. package/dist/chunk-Q3W7QA7N.js.map +0 -1
  78. package/dist/chunk-THCCTVUM.js.map +0 -1
  79. package/dist/chunk-WRGBYWRV.js.map +0 -1
  80. package/dist/chunk-ZI6EF4XD.js +0 -209
  81. package/dist/chunk-ZI6EF4XD.js.map +0 -1
  82. package/styles/@assets/images/layer0/dashboard-dark.png +0 -0
  83. package/styles/@assets/images/layer0/dashboard-light.png +0 -0
  84. package/styles/@assets/images/layer0/login-dark.png +0 -0
  85. package/styles/@assets/images/layer0/login-light.png +0 -0
  86. package/styles/@assets/images/layer0/map-dark.png +0 -0
  87. package/styles/@assets/images/layer0/map-light.png +0 -0
  88. package/styles/@assets/images/layer0/showroom-a-dark.png +0 -0
  89. package/styles/@assets/images/layer0/showroom-a-light.png +0 -0
  90. package/styles/@assets/images/layer0/showroom-b-dark.png +0 -0
  91. package/styles/@assets/images/layer0/showroom-b-light.png +0 -0
  92. /package/dist/{chunk-P5V6SFR7.js.map → chunk-EDXSK54U.js.map} +0 -0
  93. /package/dist/{chunk-GR76L7M7.js.map → chunk-EQVFEZEQ.js.map} +0 -0
  94. /package/dist/{chunk-OMCBVK57.js.map → chunk-J46EPVSY.js.map} +0 -0
  95. /package/dist/{chunk-S4YA4H2S.js.map → chunk-YBNEQ5LB.js.map} +0 -0
@@ -40,9 +40,9 @@
40
40
  flex-direction: column;
41
41
  overflow: hidden;
42
42
  box-sizing: border-box;
43
- background-color: var(--stn-pop-surface, var(--box-bg));
44
- border: 1px solid var(--stn-pop-border, var(--border));
45
- border-radius: var(--stn-radius-pop-wrap, var(--stn-radius-10));
43
+ background-color: var(--stn-pop-surface);
44
+ border: 1px solid var(--stn-pop-border);
45
+ border-radius: var(--stn-radius-pop-wrap, var(--stn-radius-8));
46
46
  box-shadow: var(--stn-pop-shadow);
47
47
  }
48
48
 
@@ -52,31 +52,52 @@
52
52
  display: flex;
53
53
  flex-direction: column;
54
54
  justify-content: center;
55
- min-height: var(--stn-pop-header-height);
56
- height: var(--stn-pop-header-height);
57
- padding: 8px 44px 8px 16px;
55
+ min-height: var(--stn-pop-header-height, var(--stn-size-56));
56
+ height: auto;
57
+ padding: 12px 48px 12px 20px;
58
58
  margin: 0;
59
- border-bottom: none;
59
+ border-bottom: 1px solid var(--stn-pop-divider);
60
+ }
61
+
62
+ .stn-pop__head-row {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: var(--stn-space-8, 8px);
66
+ flex-wrap: wrap;
60
67
  }
61
68
 
62
69
  .stn-pop__head h4 {
63
70
  margin: 0;
64
- color: var(--stn-pop-title, var(--font));
71
+ color: var(--stn-pop-title);
65
72
  font-family: var(--stn-font-body);
66
73
  font-size: var(--stn-text-title-medium-size);
67
- line-height: 1;
74
+ line-height: var(--stn-line-height-tight, 1.25);
68
75
  font-weight: var(--stn-font-weight-semibold);
69
76
  letter-spacing: 0;
70
77
  }
71
78
 
79
+ .stn-pop__subtitle {
80
+ margin: 4px 0 0 0;
81
+ font-family: var(--stn-font-body);
82
+ font-size: var(--stn-text-body-small-size);
83
+ color: var(--stn-text-subtle);
84
+ line-height: var(--stn-line-height-normal, 1.5);
85
+ }
86
+
72
87
  /* Body */
73
88
  .stn-pop__body {
74
89
  flex: 1 1 auto;
75
90
  min-height: 0;
76
- padding: 0 8px;
91
+ padding: var(--stn-space-20, 20px);
77
92
  overflow: auto;
78
93
  -webkit-overflow-scrolling: touch;
79
94
  background: transparent;
95
+ color: var(--stn-text-primary);
96
+ box-sizing: border-box;
97
+ }
98
+
99
+ .stn-pop__body--no-padding {
100
+ padding: 0;
80
101
  }
81
102
 
82
103
  /* 본문 레이아웃 — 배경은 .stn-pop__panel 만 (내부 투명) */
@@ -88,11 +109,11 @@
88
109
  box-shadow: none !important;
89
110
  }
90
111
 
91
- /* Close button — Icon Button xsmall (16) · top 10 · right 8 */
112
+ /* Close button — centered vertically in 56px header (top 14, right 16) */
92
113
  .stn-pop__close {
93
114
  position: absolute;
94
- top: 10px;
95
- right: 8px;
115
+ top: 14px;
116
+ right: 16px;
96
117
  box-sizing: border-box;
97
118
  width: var(--stn-pop-close-size) !important;
98
119
  height: var(--stn-pop-close-size) !important;
@@ -100,11 +121,11 @@
100
121
  min-height: var(--stn-pop-close-size);
101
122
  padding: 0;
102
123
  border: none;
103
- border-radius: var(--stn-radius-4, 4px);
124
+ border-radius: var(--stn-radius-sm);
104
125
  background-color: transparent;
105
126
  background-image: none;
106
127
  opacity: 1;
107
- color: var(--stn-pop-title, var(--colunm-font));
128
+ color: var(--stn-pop-title);
108
129
  transition: background-color 0.15s ease, color 0.15s ease;
109
130
  }
110
131
 
@@ -120,7 +141,7 @@
120
141
  background-image: none;
121
142
  -webkit-mask: none;
122
143
  mask: none;
123
- color: var(--stn-pop-title, var(--colunm-font));
144
+ color: var(--stn-pop-title);
124
145
  }
125
146
 
126
147
  .stn-pop__close:not(.icon, .stn-btn--icon):not(.stn-icon-btn--with-glyph)::before {
@@ -178,28 +199,17 @@
178
199
  --stn-pop-active-width: var(--stn-pop-width-xl);
179
200
  }
180
201
 
181
- .stn-pop--xxl {
182
- --stn-pop-active-width: var(--stn-pop-width-xxl);
183
- }
184
-
185
- .stn-pop--2xl {
186
- --stn-pop-active-width: var(--stn-pop-width-2xl);
187
- }
188
-
189
202
  .stn-pop--xs .stn-pop__cont,
190
203
  .stn-pop--sm .stn-pop__cont,
191
204
  .stn-pop--md .stn-pop__cont,
192
205
  .stn-pop--lg .stn-pop__cont,
193
206
  .stn-pop--xl .stn-pop__cont,
194
- .stn-pop--xxl .stn-pop__cont,
195
- .stn-pop--2xl .stn-pop__cont,
196
- .stn-pop:not(.stn-pop--full):not(.stn-pop--full-bleed) .stn-pop__cont {
207
+ .stn-pop:not(.stn-pop--full) .stn-pop__cont {
197
208
  width: min(var(--stn-pop-active-width), 100%, calc(100vw - var(--stn-pop-gutter) * 2));
198
209
  }
199
210
 
200
- /* Full bleed — 좌우 gutter만 남기고 가로 전체 */
201
- .stn-pop--full .stn-pop__cont,
202
- .stn-pop--full-bleed .stn-pop__cont {
211
+ /* Full — 좌우 gutter만 남기고 가로 전체 */
212
+ .stn-pop--full .stn-pop__cont {
203
213
  width: calc(100vw - var(--stn-pop-gutter) * 2);
204
214
  max-width: none;
205
215
  }
@@ -303,127 +313,63 @@
303
313
  pointer-events: auto;
304
314
  }
305
315
 
306
- /* Footer — 64px · center · gap 8 */
316
+ /* Footer — 56px · gap 8 · border-top */
307
317
  .stn-pop__actions {
308
318
  display: flex;
309
319
  flex-wrap: wrap;
310
320
  align-items: center;
311
- justify-content: center;
312
- gap: 8px;
321
+ justify-content: flex-end;
322
+ gap: var(--stn-space-8, 8px);
313
323
  box-sizing: border-box;
314
- min-height: var(--stn-pop-footer-height);
324
+ min-height: var(--stn-pop-footer-height, var(--stn-size-56));
315
325
  margin-top: 0;
316
- padding: 8px;
317
- border-top: none;
318
- }
319
-
320
- /* —— Map node dialog (dashboard floating panel, not fullscreen dim) —— */
321
- .stn-pop.node_dialog {
322
- display: block !important;
323
- position: absolute !important;
324
- top: 50% !important;
325
- left: 50% !important;
326
- right: auto !important;
327
- bottom: auto !important;
328
- transform: translate(-50%, -50%) !important;
329
- width: auto;
330
- height: auto;
331
- margin: 0;
332
- padding: 0;
333
- background: transparent !important;
334
- -webkit-backdrop-filter: none !important;
335
- backdrop-filter: none !important;
336
- overflow: visible;
337
- z-index: var(--stn-elevation-z-2, 200);
338
- pointer-events: none;
339
- }
340
-
341
- .stn-pop.node_dialog .stn-pop__panel,
342
- .stn-pop.node_dialog .stn-pop__close,
343
- .stn-pop.node_dialog .stn-pop__actions,
344
- .stn-pop.node_dialog .stn-pop__actions button {
345
- pointer-events: auto;
346
- }
347
-
348
- .stn-pop.node_dialog .stn-pop__cont {
349
- width: 260px;
350
- margin: 0;
351
- max-height: none;
326
+ padding: 12px 20px;
327
+ border-top: 1px solid var(--stn-pop-divider);
328
+ background-color: var(--stn-pop-surface);
352
329
  }
353
330
 
354
- /* 맵 노드 패널 — glass 면은 stn-pub-elevation-apply(맵 스코프) */
355
- .stn-pop.node_dialog .stn-pop__panel {
356
- padding: 16px 16px 12px;
357
- color: var(--font);
358
- border-radius: var(--stn-radius-pop-wrap, 10px);
359
- border: none;
360
- box-shadow: none;
361
- overflow: visible;
362
- }
363
-
364
- .stn-pop.node_dialog .stn-pop__head {
365
- min-height: 0;
366
- height: auto;
367
- padding: 0 44px 12px 0;
368
- margin: 0;
369
- border-bottom: 1px solid var(--stn-pop-divider);
370
- }
371
-
372
- .stn-pop.node_dialog .stn-pop__head h4 {
373
- margin: 0;
374
- font-size: var(--stn-text-title-medium-size);
375
- font-weight: var(--stn-font-weight-semibold);
376
- line-height: var(--stn-line-height-tight);
377
- color: var(--font);
378
- letter-spacing: -0.02em;
331
+ .stn-pop__actions--right {
332
+ justify-content: flex-end;
379
333
  }
380
334
 
381
- .stn-pop.node_dialog .stn-pop__body {
382
- padding: 12px 0 0;
335
+ .stn-pop__actions--center {
336
+ justify-content: center;
383
337
  }
384
338
 
385
- .stn-pop.node_dialog .stn-pop__close {
386
- top: 12px;
387
- right: 12px;
339
+ .stn-pop__actions--between {
340
+ justify-content: space-between;
388
341
  }
389
342
 
390
- .stn-pop.node_dialog .stn-pop__actions {
391
- min-height: 0;
392
- margin-top: 16px;
393
- padding: 12px 0 0;
394
- border-top: 1px solid var(--stn-pop-border, var(--border));
395
- justify-content: center;
343
+ /* —— Master-Detail Split Layout (.stn-pop-split) —— */
344
+ .stn-pop-split {
345
+ display: flex;
346
+ gap: var(--stn-space-20, 20px);
347
+ min-height: 400px;
348
+ height: 100%;
349
+ box-sizing: border-box;
396
350
  }
397
351
 
398
- /* 노드 목록 등급 태그 */
399
- .stn-pop.node_dialog .equip-search-table .tag {
400
- width: 28px;
401
- height: 16px;
402
- display: inline-flex;
403
- align-items: center;
404
- justify-content: center;
352
+ .stn-pop-split__aside {
353
+ width: var(--stn-pop-split-aside-width, 280px);
354
+ min-width: var(--stn-pop-split-aside-width, 280px);
355
+ max-width: 320px;
405
356
  flex-shrink: 0;
406
- font-family: var(--stn-font-body);
407
- font-size: var(--stn-text-gnb-alert-tag-size);
408
- font-weight: var(--stn-text-gnb-alert-tag-weight);
409
- border-radius: 4px;
410
- color: var(--stn-static-white);
411
- text-align: center;
412
- line-height: 1;
413
- }
414
-
415
- .stn-pop.node_dialog .equip-search-table .tag.critic {
416
- background: var(--stn-grade-critical);
357
+ border-right: 1px solid var(--stn-pop-divider);
358
+ padding-right: var(--stn-space-16, 16px);
359
+ display: flex;
360
+ flex-direction: column;
361
+ overflow-y: auto;
362
+ box-sizing: border-box;
417
363
  }
418
364
 
419
- .stn-pop.node_dialog .equip-search-table .tag.major {
420
- background: var(--stn-grade-major);
365
+ .stn-pop-split__main {
366
+ flex: 1 1 0;
367
+ min-width: 0;
368
+ display: flex;
369
+ flex-direction: column;
370
+ gap: var(--stn-space-16, 16px);
371
+ overflow-y: auto;
372
+ box-sizing: border-box;
421
373
  }
422
374
 
423
- .stn-pop.node_dialog .equip-search-table .tag.minor {
424
- background: var(--stn-grade-minor);
425
- }
426
375
 
427
- .stn-pop.node_dialog .equip-search-table .tag.warning {
428
- background: var(--stn-grade-warning);
429
- }
@@ -11,37 +11,43 @@
11
11
  display: flex;
12
12
  flex-wrap: wrap;
13
13
  align-items: center;
14
- gap: 20px 16px;
14
+ row-gap: var(--stn-search-requirement-gap-row);
15
+ column-gap: var(--stn-search-requirement-gap-col);
15
16
  box-sizing: border-box;
16
17
  width: 100%;
17
- padding: 8px 16px;
18
- border: 1px solid var(--stn-search-requirement-border);
19
- border-radius: var(--stn-radius-8, 8px);
20
- background: var(--stn-search-requirement-bg, transparent);
21
- box-shadow: var(--stn-search-requirement-shadow, var(--stn-shadow-1));
18
+ padding: var(--stn-search-requirement-padding);
19
+ border: var(--stn-search-requirement-border-width) solid var(--stn-search-requirement-border);
20
+ border-radius: var(--stn-search-requirement-radius);
21
+ background: var(--stn-search-requirement-bg);
22
+ box-shadow: var(--stn-search-requirement-shadow);
22
23
  }
23
24
 
24
25
  .stn-search-requirement__fields {
25
26
  display: flex;
26
27
  flex-wrap: wrap;
27
28
  align-items: center;
28
- gap: 16px;
29
+ gap: var(--stn-search-requirement-fields-gap);
29
30
  min-width: 0;
31
+ max-width: 100%;
32
+ }
33
+
34
+ .stn-search-requirement__fields > * {
35
+ max-width: 100%;
30
36
  }
31
37
 
32
38
  .stn-search-requirement__field {
33
39
  display: inline-flex;
34
40
  align-items: center;
35
- gap: 8px;
41
+ gap: var(--stn-search-requirement-field-gap);
36
42
  min-width: 0;
37
43
  }
38
44
 
39
45
  .stn-search-requirement__label {
40
46
  flex-shrink: 0;
41
- margin: 0;
47
+ margin: var(--stn-space-0);
42
48
  font-size: var(--stn-text-body-medium-size);
43
- font-weight: var(--stn-font-weight-semibold, 600);
44
- line-height: 1;
49
+ font-weight: var(--stn-font-weight-semibold);
50
+ line-height: var(--stn-line-height-none, 1);
45
51
  color: var(--stn-search-requirement-label);
46
52
  white-space: nowrap;
47
53
  }
@@ -50,22 +56,23 @@
50
56
  min-width: 0;
51
57
  }
52
58
 
53
- /* Compact variant (8px 12px) */
54
- .stn-search-requirement--compact {
55
- padding: 6px 12px;
56
- gap: 12px 12px;
59
+ /* Compact variant (.compact / .stn-search-requirement--compact) */
60
+ .stn-search-requirement:is(.compact, .stn-search-requirement--compact) {
61
+ padding: var(--stn-search-requirement-compact-padding);
62
+ gap: var(--stn-search-requirement-compact-gap);
57
63
  }
58
64
 
59
- .stn-search-requirement--compact .stn-search-requirement__fields {
60
- gap: 12px;
65
+ .stn-search-requirement:is(.compact, .stn-search-requirement--compact) .stn-search-requirement__fields {
66
+ gap: var(--stn-search-requirement-compact-gap);
61
67
  }
62
68
 
63
69
  /* Vertical Divider between Field Groups */
64
70
  .stn-search-requirement__divider {
65
71
  display: inline-block;
66
- width: 1px;
67
- height: 18px;
68
- margin: 0 4px;
72
+ width: var(--stn-search-requirement-divider-width);
73
+ height: var(--stn-search-requirement-divider-height);
74
+ margin-inline: var(--stn-search-requirement-divider-margin-x);
75
+ margin-block: var(--stn-space-0);
69
76
  background-color: var(--stn-border-subtle);
70
77
  flex-shrink: 0;
71
78
  align-self: center;