@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
@@ -43,27 +43,13 @@ declare const STN_POPUP_SIZES: readonly [{
43
43
  readonly width: "1200px";
44
44
  readonly token: "--stn-pop-width-xl";
45
45
  readonly usage: "대형 데이터 테이블 · 다열 프로비저닝 폼 · 대형 상세";
46
- }, {
47
- readonly id: "xxl";
48
- readonly label: "XXL";
49
- readonly className: "stn-pop--xxl";
50
- readonly width: "1440px";
51
- readonly token: "--stn-pop-width-xxl";
52
- readonly usage: "대시보드 축약 뷰 · 대형 모니터링/관제 팝업";
53
- }, {
54
- readonly id: "2xl";
55
- readonly label: "2XL";
56
- readonly className: "stn-pop--2xl";
57
- readonly width: "1600px";
58
- readonly token: "--stn-pop-width-2xl";
59
- readonly usage: "실시간 관제 상세 · 대규모 토폴로지 매핑 팝업";
60
46
  }, {
61
47
  readonly id: "full";
62
- readonly label: "Full bleed";
48
+ readonly label: "Full";
63
49
  readonly className: "stn-pop--full";
64
50
  readonly width: "calc(100vw − 40px)";
65
51
  readonly token: "(viewport − gutter)";
66
- readonly usage: "배치 장비·전체 화면 테이블 (1780px 등 → full 권장)";
52
+ readonly usage: "전체 화면 대시보드 설정 및 토폴로지 매핑";
67
53
  }];
68
54
  type StnPopupSizeId = (typeof STN_POPUP_SIZES)[number]['id'];
69
55
  /** 레거시 `content.css` 고정 px → 권장 modifier (마이그레이션 참고) */
@@ -75,23 +61,23 @@ declare const STN_POPUP_LEGACY_WIDTH_SAMPLES: readonly [{
75
61
  }, {
76
62
  readonly popClass: "template_history_pop";
77
63
  readonly widthPx: 1565;
78
- readonly suggested: "2xl";
64
+ readonly suggested: "full";
79
65
  }, {
80
66
  readonly popClass: "real_time_view_pop";
81
67
  readonly widthPx: 1500;
82
- readonly suggested: "2xl";
68
+ readonly suggested: "full";
83
69
  }, {
84
70
  readonly popClass: "select_equip_pop";
85
71
  readonly widthPx: 1412;
86
- readonly suggested: "2xl";
72
+ readonly suggested: "xl";
87
73
  }, {
88
74
  readonly popClass: "equip_regist_pop";
89
75
  readonly widthPx: 1070;
90
- readonly suggested: "xxl";
76
+ readonly suggested: "xl";
91
77
  }, {
92
78
  readonly popClass: "fail_measure_pop";
93
79
  readonly widthPx: 1100;
94
- readonly suggested: "xxl";
80
+ readonly suggested: "xl";
95
81
  }];
96
82
  declare const STN_POPUP_PARTS: readonly [{
97
83
  readonly part: "Stack";
@@ -112,23 +98,23 @@ declare const STN_POPUP_PARTS: readonly [{
112
98
  }, {
113
99
  readonly part: "Panel";
114
100
  readonly selector: ".stn-pop__panel";
115
- readonly note: "gray.850 · gray.700 border · radius 10 · shadow · overflow";
101
+ readonly note: "surface · border · radius 8 · shadow · overflow";
116
102
  }, {
117
103
  readonly part: "Header";
118
104
  readonly selector: ".stn-pop__head";
119
- readonly note: "48px · h4 18 SemiBold · theme title token";
105
+ readonly note: "56px · h4 16 SemiBold · theme title token";
120
106
  }, {
121
107
  readonly part: "Close";
122
108
  readonly selector: ".stn-pop__close";
123
- readonly note: "StnButton icon=\"line/x\" size=xsmall (16) · top 10 / right 8";
109
+ readonly note: "StnButton icon=\"line/x\" size=sm · top 14 / right 16";
124
110
  }, {
125
111
  readonly part: "Body";
126
112
  readonly selector: ".stn-pop__body";
127
- readonly note: "padding 0 8px · overflow auto · 화면별 슬롯";
113
+ readonly note: "padding 20px · overflow auto · 화면별 슬롯";
128
114
  }, {
129
115
  readonly part: "Actions";
130
116
  readonly selector: ".stn-pop__actions";
131
- readonly note: "64px · center · gap 8 · StnButton primary→secondary";
117
+ readonly note: "56px · right/center · gap 8 · StnButton";
132
118
  }];
133
119
  declare const STN_POPUP_TOKEN_ROWS: readonly [{
134
120
  readonly token: "--stn-pop-gutter";
@@ -140,43 +126,35 @@ declare const STN_POPUP_TOKEN_ROWS: readonly [{
140
126
  readonly usage: ".stn-pop--xs · 단순 확인/얼럿";
141
127
  }, {
142
128
  readonly token: "--stn-pop-width-sm";
143
- readonly resolvesTo: "520px";
129
+ readonly resolvesTo: "480px";
144
130
  readonly usage: ".stn-pop--sm · 1~2개 입력 폼";
145
131
  }, {
146
132
  readonly token: "--stn-pop-width-md";
147
- readonly resolvesTo: "680px";
133
+ readonly resolvesTo: "640px";
148
134
  readonly usage: ".stn-pop--md · 기본 표준";
149
135
  }, {
150
136
  readonly token: "--stn-pop-width-lg";
151
- readonly resolvesTo: "920px";
152
- readonly usage: ".stn-pop--lg · 2열 폼/상세";
137
+ readonly resolvesTo: "960px";
138
+ readonly usage: ".stn-pop--lg · 2단 분할/상세";
153
139
  }, {
154
140
  readonly token: "--stn-pop-width-xl";
155
141
  readonly resolvesTo: "1200px";
156
142
  readonly usage: ".stn-pop--xl · 대형 테이블/그리드";
157
- }, {
158
- readonly token: "--stn-pop-width-xxl";
159
- readonly resolvesTo: "1440px";
160
- readonly usage: ".stn-pop--xxl · 대시보드/관제";
161
- }, {
162
- readonly token: "--stn-pop-width-2xl";
163
- readonly resolvesTo: "1600px";
164
- readonly usage: ".stn-pop--2xl · 초대형 토폴로지";
165
143
  }, {
166
144
  readonly token: ".stn-pop--full";
167
145
  readonly resolvesTo: "100vw − gutter×2";
168
- readonly usage: "full-bleed · alias --full-bleed";
146
+ readonly usage: "전체화면 모달";
169
147
  }, {
170
148
  readonly token: "--stn-pop-max-height";
171
149
  readonly resolvesTo: "min(85dvh, …)";
172
150
  readonly usage: ".stn-pop 본문 스크롤";
173
151
  }, {
174
152
  readonly token: "--stn-pop-header-height";
175
- readonly resolvesTo: "48px";
153
+ readonly resolvesTo: "56px";
176
154
  readonly usage: ".stn-pop__head min-height";
177
155
  }, {
178
156
  readonly token: "--stn-pop-footer-height";
179
- readonly resolvesTo: "64px";
157
+ readonly resolvesTo: "56px";
180
158
  readonly usage: ".stn-pop__actions";
181
159
  }, {
182
160
  readonly token: "--stn-pop-close-size";
@@ -12,7 +12,7 @@ import {
12
12
  STN_POPUP_USAGE,
13
13
  STN_POPUP_USAGE_HTML,
14
14
  resolveStnPopupSizeFromWidth
15
- } from "../chunk-Q3W7QA7N.js";
15
+ } from "../chunk-75GHU6VI.js";
16
16
  export {
17
17
  STN_POPUP_INTRO,
18
18
  STN_POPUP_INVENTORY_ROWS,
@@ -9,12 +9,12 @@ declare const STN_SEARCH_REQUIREMENT_KO_NAME = "\uAC80\uC0C9\uC870\uAC74";
9
9
  declare const STN_SEARCH_REQUIREMENT_INTRO = "\uBAA9\uB85D \u00B7 \uC0C1\uC138 \uC870\uD68C \uD654\uBA74 \uC0C1\uB2E8\uC5D0\uC11C \uC870\uAC74 \uD544\uD130\uB9C1\uACFC \uAC80\uC0C9\uC744 \uC2E4\uD589\uD558\uB294 \uAC80\uC0C9\uBC14 \uD328\uD134\uC785\uB2C8\uB2E4. \uD14D\uC2A4\uD2B8 \uC785\uB825, \uB4DC\uB86D\uB2E4\uC6B4, \uB0A0\uC9DC \uC120\uD0DD\uACFC \uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC \uBC84\uD2BC\uC744 \uC790\uC720\uB86D\uAC8C \uC870\uD569\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.";
10
10
  declare const STN_SEARCH_REQUIREMENT_SPEC: readonly [{
11
11
  readonly property: "Shell padding (Default)";
12
- readonly value: "8px 16px";
13
- readonly note: "Figma py/px 표준";
12
+ readonly value: "16px";
13
+ readonly note: "상하좌우 16px 통일 표준";
14
14
  }, {
15
15
  readonly property: "Shell padding (Compact)";
16
- readonly value: "6px 12px";
17
- readonly note: "밀집형 바 (`density=\"compact\"`), gap 12px";
16
+ readonly value: "12px";
17
+ readonly note: "밀집형 바 (`density=\"compact\"` · `.compact`), 12px 통일";
18
18
  }, {
19
19
  readonly property: "Shell radius";
20
20
  readonly value: "8px";
@@ -7,7 +7,7 @@ import {
7
7
  STN_SEARCH_REQUIREMENT_SPEC,
8
8
  STN_SEARCH_REQUIREMENT_USAGE,
9
9
  STN_SEARCH_REQUIREMENT_USAGE_HTML
10
- } from "../chunk-4C7ABT2K.js";
10
+ } from "../chunk-AE4CKAEK.js";
11
11
  export {
12
12
  STN_SEARCH_REQUIREMENT_DEMO_FIELDS,
13
13
  STN_SEARCH_REQUIREMENT_FIGMA,
@@ -3,9 +3,9 @@ import {
3
3
  STN_SIDE_NAV_ITEM_INTRO,
4
4
  STN_SIDE_NAV_ITEM_STATES,
5
5
  STN_SIDE_NAV_SUB_ICON
6
- } from "../chunk-P5V6SFR7.js";
7
- import "../chunk-V7HD6SBG.js";
8
- import "../chunk-XZ3JOUX2.js";
6
+ } from "../chunk-EDXSK54U.js";
7
+ import "../chunk-PVF77NHZ.js";
8
+ import "../chunk-TDLGKV4C.js";
9
9
  export {
10
10
  STN_NAV_MENU_SUB_ICON,
11
11
  STN_SIDE_NAV_ITEM_INTRO,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  STN_SIZE_SEMANTIC_INTRO,
3
3
  STN_SIZE_SEMANTIC_ROWS
4
- } from "../chunk-L7DYM4V7.js";
4
+ } from "../chunk-2FHXIAM3.js";
5
5
  export {
6
6
  STN_SIZE_SEMANTIC_INTRO,
7
7
  STN_SIZE_SEMANTIC_ROWS
@@ -4,10 +4,10 @@ import {
4
4
  resolveSystemIconSrcFromName,
5
5
  systemIconPublicPath,
6
6
  systemIconSrc
7
- } from "../chunk-V7HD6SBG.js";
7
+ } from "../chunk-PVF77NHZ.js";
8
8
  import {
9
9
  SYSTEM_ICON_DATA_URLS
10
- } from "../chunk-XZ3JOUX2.js";
10
+ } from "../chunk-TDLGKV4C.js";
11
11
  export {
12
12
  STN_SYSTEM_ICON_INTRO,
13
13
  STN_SYSTEM_ICON_ROWS,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SYSTEM_ICON_DATA_URLS
3
- } from "../chunk-XZ3JOUX2.js";
3
+ } from "../chunk-TDLGKV4C.js";
4
4
  export {
5
5
  SYSTEM_ICON_DATA_URLS
6
6
  };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { STN_ALERT_CENTER_DEMO_ALERTS, STN_ALERT_CENTER_DEMO_DEPLOY, STN_ALERT_CENTER_DEMO_WORK, STN_ALERT_CENTER_INTEGRATION_USAGE, STN_ALERT_CENTER_INTRO, STN_ALERT_CENTER_TABS, STN_ALERT_CENTER_TAB_IDS, STN_ALERT_CENTER_USAGE, STN_ALERT_CENTER_USAGE_HTML, STN_GNB_ALERT_INTEGRATION_USAGE, StnAlertCenterAlertItem, StnAlertCenterSize, StnAlertCenterTab, StnAlertCenterWorkItem } from './data/stnAlertCenter.js';
1
+ export { STN_ALERT_CENTER_DEMO_ALERTS, STN_ALERT_CENTER_DEMO_DEPLOY, STN_ALERT_CENTER_DEMO_WORK, STN_ALERT_CENTER_INTEGRATION_USAGE, STN_ALERT_CENTER_INTRO, STN_ALERT_CENTER_TABS, STN_ALERT_CENTER_TAB_IDS, STN_ALERT_CENTER_USAGE, STN_ALERT_CENTER_USAGE_HTML, STN_GNB_ALERT_INTEGRATION_USAGE, StnAlertCenterAlertItem, StnAlertCenterSize, StnAlertCenterTab, StnAlertCenterTextOverflow, StnAlertCenterWorkItem } from './data/stnAlertCenter.js';
2
2
  export { STN_HEADER_INTRO, STN_HEADER_PAGE_TITLE_DEMO, STN_HEADER_TOOLBAR_DEMO_ACTIONS, STN_HEADER_USAGE, STN_HEADER_USAGE_HTML, STN_HEADER_VARIANT_ROWS, STN_SYSTEM_CHIP_DEMO, StnHeaderGap, StnHeaderPadding, StnHeaderVariant } from './data/stnHeader.js';
3
3
  export { STN_INFOMAP_LOGO } from './data/stnBrand.js';
4
4
  export { STN_BREADCRUMB_DEMO_ITEMS, STN_BREADCRUMB_FIGMA, STN_BREADCRUMB_FIGMA_LIGHT, STN_BREADCRUMB_ICON_SRC, STN_BREADCRUMB_INTRO, STN_BREADCRUMB_PARTS, StnBreadcrumbDemoItem, StnBreadcrumbIconId } from './data/stnBreadcrumb.js';
@@ -23,7 +23,7 @@ export { STN_ICONOGRAPHY_INTRO, STN_ICONOGRAPHY_PRIMITIVE_ROWS, STN_ICONOGRAPHY_
23
23
  export { STN_INPUT_WIDTH_PRESETS, StnInputWidthPreset, StnInputWidthValue, StnResolvedInputWidth, isStnInputFullWidth, isStnInputWidthPreset, resolveStnInputWidth, toStnInputWidthPreset } from './data/stnInputWidth.js';
24
24
  export { STN_ELEVATION_Z_INDEX, STN_LAYER_DIM_MODAL_HTML, STN_LAYER_INTRO, STN_LAYER_ROLE_ROWS, STN_LAYER_ROLE_TO_LEVEL, STN_LAYER_ROLE_USAGE, STN_LAYER_SURFACE_ROWS, StnElevationLevel, StnLayerRole, StnLayerSurface } from './data/stnLayer.js';
25
25
  export { STN_LAYER0_BACKGROUND_FIGMA, STN_LAYER0_BACKGROUND_INTRO, STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS, STN_LAYER0_BACKGROUND_USAGE, STN_LAYER0_BACKGROUND_USAGE_HTML, STN_LAYER0_BACKGROUND_VARIANT_ROWS, STN_LAYER0_MAP_LIGHT_OVERLAY, StnLayer0BackgroundKind, StnLayer0BackgroundPlaygroundPresetId, StnLayer0BackgroundPreset } from './data/stnLayer0Background.js';
26
- export { STN_LAYER0_BACKGROUND_ASSET_PATHS, STN_LAYER0_BACKGROUND_DEMO_IMAGES } from './data/stnLayer0BackgroundAssets.js';
26
+ export { STN_CDN_ASSET_BASE, STN_LAYER0_BACKGROUND_ASSET_PATHS, STN_LAYER0_BACKGROUND_DEMO_IMAGES } from './data/stnLayer0BackgroundAssets.js';
27
27
  export { STN_ALERT_CENTER_PAGE_SCAFFOLD_USAGE, STN_LAYER_SHELL_USAGE, STN_LAYOUT_ALERT_CENTER_USAGE, STN_LAYOUT_CONTENT_ROWS, STN_LAYOUT_INTRO, STN_LAYOUT_LAYER_PAGE_TREE, STN_LAYOUT_LIST_LAYER_TABS, STN_LAYOUT_LIST_VIEW_BARE_USAGE, STN_LAYOUT_LIST_VIEW_INTRO, STN_LAYOUT_LIST_VIEW_USAGE, STN_LAYOUT_MAP_DASHBOARD_HEADER_USAGE, STN_LAYOUT_MAP_DASHBOARD_INTRO, STN_LAYOUT_MAP_DASHBOARD_USAGE, STN_LAYOUT_MAP_LAYER_TABS, STN_LAYOUT_PAGE_TREE, STN_LAYOUT_PLAYGROUND_TABS, STN_LAYOUT_RECIPES, STN_LAYOUT_REGION_ROWS, STN_LAYOUT_SCREEN_RECIPES, STN_LAYOUT_SHELL_USAGE, STN_LAYOUT_SLOT_USAGE, STN_LAYOUT_WHEN_TO_USE, STN_PAGE_SCAFFOLD_COMPOUND_USAGE, STN_PAGE_SCAFFOLD_INTRO, STN_PAGE_SCAFFOLD_KINDS, StnContentAreaModifier, StnLayoutListLayerTabId, StnLayoutMapLayerTabId, StnLayoutRegion, StnLayoutScreenKind, StnLnbSide, StnPageScaffoldKind, applyLnbSideToModifiers, pubContentAreaClasses, pubLayoutRegionClass } from './data/stnLayout.js';
28
28
  export { STN_LIST_TABLE_FIGMA, STN_LIST_TABLE_FOOTER_MAX_ACTIONS, STN_LIST_TABLE_OPTION_ROWS, STN_LIST_TABLE_PAGE_SIZE_OPTIONS, StnListTableOptionRow } from './data/stnListTable.js';
29
29
  export { STN_LOADING_SKELETON_COLORS, STN_LOADING_SKELETON_INTRO, STN_LOADING_SKELETON_PARTS, STN_LOADING_SKELETON_USAGE, STN_LOADING_SKELETON_USAGE_HTML } from './data/stnLoadingSkeleton.js';
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ import {
42
42
  STN_SIDE_NAV_ITEM_INTRO,
43
43
  STN_SIDE_NAV_ITEM_STATES,
44
44
  STN_SIDE_NAV_SUB_ICON
45
- } from "./chunk-P5V6SFR7.js";
45
+ } from "./chunk-EDXSK54U.js";
46
46
  import {
47
47
  STN_SIZE_INTRO,
48
48
  STN_SIZE_ROWS,
@@ -51,7 +51,7 @@ import {
51
51
  import {
52
52
  STN_SIZE_SEMANTIC_INTRO,
53
53
  STN_SIZE_SEMANTIC_ROWS
54
- } from "./chunk-L7DYM4V7.js";
54
+ } from "./chunk-2FHXIAM3.js";
55
55
  import {
56
56
  STN_SLIDER_HTML,
57
57
  STN_SLIDER_INTRO,
@@ -130,7 +130,7 @@ import {
130
130
  import {
131
131
  STN_UI_VERSION,
132
132
  STN_UI_VERSION_LABEL
133
- } from "./chunk-2EMXBNFK.js";
133
+ } from "./chunk-XPARWRVD.js";
134
134
  import {
135
135
  STN_PAGE_ENTER_MOTION_INTRO,
136
136
  STN_PAGE_ENTER_MOTION_ROWS,
@@ -384,7 +384,7 @@ import {
384
384
  STN_SEARCH_REQUIREMENT_SPEC,
385
385
  STN_SEARCH_REQUIREMENT_USAGE,
386
386
  STN_SEARCH_REQUIREMENT_USAGE_HTML
387
- } from "./chunk-4C7ABT2K.js";
387
+ } from "./chunk-AE4CKAEK.js";
388
388
  import {
389
389
  STN_POPUP_INTRO,
390
390
  STN_POPUP_INVENTORY_ROWS,
@@ -399,7 +399,7 @@ import {
399
399
  STN_POPUP_USAGE,
400
400
  STN_POPUP_USAGE_HTML,
401
401
  resolveStnPopupSizeFromWidth
402
- } from "./chunk-Q3W7QA7N.js";
402
+ } from "./chunk-75GHU6VI.js";
403
403
  import {
404
404
  STN_ELEVATION_Z_INDEX,
405
405
  STN_LAYER_DIM_MODAL_HTML,
@@ -419,9 +419,10 @@ import {
419
419
  STN_LAYER0_MAP_LIGHT_OVERLAY
420
420
  } from "./chunk-QAPQ4DB2.js";
421
421
  import {
422
+ STN_CDN_ASSET_BASE,
422
423
  STN_LAYER0_BACKGROUND_ASSET_PATHS,
423
424
  STN_LAYER0_BACKGROUND_DEMO_IMAGES
424
- } from "./chunk-ERPXTTTO.js";
425
+ } from "./chunk-XBFXX3D6.js";
425
426
  import {
426
427
  STN_ALERT_CENTER_PAGE_SCAFFOLD_USAGE,
427
428
  STN_LAYER_SHELL_USAGE,
@@ -468,7 +469,7 @@ import {
468
469
  STN_DROPDOWN_MENU_USAGE,
469
470
  STN_DROPDOWN_SIZE_ROWS,
470
471
  STN_DROPDOWN_USAGE
471
- } from "./chunk-WRGBYWRV.js";
472
+ } from "./chunk-LKVTW54X.js";
472
473
  import {
473
474
  STN_HEADER_INTRO,
474
475
  STN_HEADER_PAGE_TITLE_DEMO,
@@ -477,7 +478,7 @@ import {
477
478
  STN_HEADER_USAGE_HTML,
478
479
  STN_HEADER_VARIANT_ROWS,
479
480
  STN_SYSTEM_CHIP_DEMO
480
- } from "./chunk-GR76L7M7.js";
481
+ } from "./chunk-EQVFEZEQ.js";
481
482
  import {
482
483
  STN_FEEDBACK_BY_KIND,
483
484
  STN_FEEDBACK_SEMANTIC_ROWS,
@@ -493,7 +494,7 @@ import {
493
494
  STN_DATE_PICKER_USAGE,
494
495
  STN_DATE_PICKER_USAGE_HTML,
495
496
  STN_DATE_PICKER_WEEKDAYS
496
- } from "./chunk-S4YA4H2S.js";
497
+ } from "./chunk-YBNEQ5LB.js";
497
498
  import {
498
499
  STN_DATE_RANGE_FIELD_DEMO,
499
500
  STN_DATE_RANGE_FIELD_FIGMA,
@@ -504,7 +505,7 @@ import {
504
505
  STN_DATE_RANGE_FIELD_USAGE,
505
506
  formatStnDateRangeFieldValue,
506
507
  parseStnDateRangeFieldValue
507
- } from "./chunk-THCCTVUM.js";
508
+ } from "./chunk-5F63CMM7.js";
508
509
  import {
509
510
  STN_ALERT_CENTER_DEMO_ALERTS,
510
511
  STN_ALERT_CENTER_DEMO_DEPLOY,
@@ -516,7 +517,7 @@ import {
516
517
  STN_ALERT_CENTER_USAGE,
517
518
  STN_ALERT_CENTER_USAGE_HTML,
518
519
  STN_GNB_ALERT_INTEGRATION_USAGE
519
- } from "./chunk-ZI6EF4XD.js";
520
+ } from "./chunk-2WKT7X65.js";
520
521
  import {
521
522
  STN_INFOMAP_LOGO
522
523
  } from "./chunk-4BPDBOR3.js";
@@ -527,17 +528,17 @@ import {
527
528
  STN_BREADCRUMB_ICON_SRC,
528
529
  STN_BREADCRUMB_INTRO,
529
530
  STN_BREADCRUMB_PARTS
530
- } from "./chunk-OMCBVK57.js";
531
+ } from "./chunk-J46EPVSY.js";
531
532
  import {
532
533
  STN_SYSTEM_ICON_INTRO,
533
534
  STN_SYSTEM_ICON_ROWS,
534
535
  resolveSystemIconSrcFromName,
535
536
  systemIconPublicPath,
536
537
  systemIconSrc
537
- } from "./chunk-V7HD6SBG.js";
538
+ } from "./chunk-PVF77NHZ.js";
538
539
  import {
539
540
  SYSTEM_ICON_DATA_URLS
540
- } from "./chunk-XZ3JOUX2.js";
541
+ } from "./chunk-TDLGKV4C.js";
541
542
  import {
542
543
  STN_BREAKPOINT_INTRO,
543
544
  STN_BREAKPOINT_MEDIA,
@@ -579,6 +580,7 @@ export {
579
580
  STN_CARD_PADDINGS,
580
581
  STN_CARD_RADII,
581
582
  STN_CARD_VARIANTS,
583
+ STN_CDN_ASSET_BASE,
582
584
  STN_CHART_INTRO,
583
585
  STN_CHECKBOX_FIGMA,
584
586
  STN_CHECKBOX_INTRO,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stn-uiux/pub-ui",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "description": "STN Pub design system — tokens, specs, and CSS for product HTML / React apps",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -13,6 +13,7 @@
13
13
  "dist",
14
14
  "bin",
15
15
  "styles",
16
+ "!styles/@assets/images/layer0",
16
17
  "README.md",
17
18
  "CHANGELOG.md"
18
19
  ],
@@ -0,0 +1,5 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10 12C10 12.5304 10.2107 13.0391 10.5858 13.4142C10.9609 13.7893 11.4696 14 12 14C12.5304 14 13.0391 13.7893 13.4142 13.4142C13.7893 13.0391 14 12.5304 14 12C14 11.4696 13.7893 10.9609 13.4142 10.5858C13.0391 10.2107 12.5304 10 12 10C11.4696 10 10.9609 10.2107 10.5858 10.5858C10.2107 10.9609 10 11.4696 10 12Z" stroke="#40474F" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
3
+ <path d="M21 12C18.6 16 15.6 18 12 18C8.4 18 5.4 16 3 12C5.4 8 8.4 6 12 6C15.6 6 18.6 8 21 12Z" stroke="#40474F" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M3 3L21 21" stroke="#40474F" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ </svg>
@@ -120,7 +120,7 @@
120
120
  --stn-btn-font-weight: var(--stn-btn-font-weight-xl);
121
121
  }
122
122
 
123
- /* LG (44px) */
123
+ /* LG (40px) — 8px 그리드 표준 통일 스케일 */
124
124
  .stn-btn.lg {
125
125
  --stn-btn-height: var(--stn-btn-height-lg);
126
126
  --stn-btn-min-width: var(--stn-btn-min-width-lg);
@@ -198,21 +198,29 @@
198
198
  display: flex;
199
199
  flex: 1;
200
200
  min-width: 0;
201
+ width: 100%;
201
202
  height: calc(var(--stn-size-28) * 6);
202
203
  max-height: calc(var(--stn-size-28) * 6);
203
204
  overflow: hidden;
204
205
  }
205
206
 
206
- .stn-date-picker-time__scroll {
207
- flex: 1;
208
- height: calc(var(--stn-size-28) * 6);
207
+ /* StnScroll이 variant="arrows"일 때 생성하는 wrapper(.stn-scroll-shell)도 1/3씩 균등 확장 */
208
+ .stn-date-picker-time__columns > .stn-scroll-shell {
209
+ flex: 1 1 0%;
210
+ min-width: 0;
211
+ height: 100%;
209
212
  border-left: var(--stn-size-1) solid var(--calendar-border);
210
213
  }
211
214
 
212
- .stn-date-picker-time__scroll:first-child {
215
+ .stn-date-picker-time__columns > .stn-scroll-shell:first-child {
213
216
  border-left: none;
214
217
  }
215
218
 
219
+ .stn-date-picker-time__scroll {
220
+ width: 100%;
221
+ height: calc(var(--stn-size-28) * 6);
222
+ }
223
+
216
224
  .stn-date-picker-time__column {
217
225
  margin: var(--stn-space-0);
218
226
  padding: var(--stn-space-0);
@@ -223,7 +231,7 @@
223
231
  display: block;
224
232
  width: 100%;
225
233
  margin: var(--stn-space-0);
226
- padding: var(--stn-space-4) var(--stn-space-0);
234
+ padding: var(--stn-space-4) var(--stn-space-4); /* 좌우 패딩 추가 — 숫자 가독성 개선 */
227
235
  border: none;
228
236
  background: transparent;
229
237
  font-size: var(--stn-text-body-small-size);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * StnDateRangeField — Infomap datetime range trigger (Figma 40000042:186907)
3
- * S 24px · M 32px · L 40px — TextField / Dropdown과 동일 스케일
3
+ * sm 24px · md 32px · lg 40px · xl 56px — 8px 그리드 표준 스케일 (TextField / Dropdown과 동일)
4
4
  */
5
5
 
6
6
  :root {
@@ -35,6 +35,22 @@ button.stn-date-range-field:focus-visible {
35
35
  border: var(--stn-input-focus);
36
36
  }
37
37
 
38
+ /* Variant: transparent (테두리·배경 없음 — StnLabelPrefix 등 래퍼 내부 조합용) */
39
+ button.stn-date-range-field.transparent {
40
+ border: none;
41
+ background-color: transparent;
42
+ }
43
+
44
+ button.stn-date-range-field.transparent:focus-visible {
45
+ border: none;
46
+ outline: none;
47
+ }
48
+
49
+ button.stn-date-range-field.transparent[aria-invalid='true'],
50
+ button.stn-date-range-field.transparent.stn-date-range-field--invalid {
51
+ border-bottom: var(--stn-size-1) solid var(--stn-feedback-error);
52
+ }
53
+
38
54
  button.stn-date-range-field[aria-invalid='true'],
39
55
  button.stn-date-range-field.stn-date-range-field--invalid {
40
56
  border-color: var(--stn-feedback-error);
@@ -50,15 +66,19 @@ button.stn-date-range-field.w100p {
50
66
  align-items: center;
51
67
  min-width: 0;
52
68
  max-width: 100%;
69
+ overflow: hidden;
53
70
  }
54
71
 
55
72
  .stn-date-range-field__text {
56
73
  display: inline-flex;
57
74
  align-items: center;
58
75
  min-width: 0;
76
+ max-width: 100%;
59
77
  white-space: nowrap;
60
78
  font-weight: var(--stn-font-weight-medium);
61
79
  color: var(--stn-input-fg);
80
+ overflow: hidden;
81
+ text-overflow: ellipsis;
62
82
  }
63
83
 
64
84
  .stn-date-range-field__value {
@@ -88,10 +108,10 @@ button.stn-date-range-field.w100p {
88
108
  color: var(--stn-input-placeholder);
89
109
  }
90
110
 
91
- /* S — 24px */
111
+ /* sm — 24px */
92
112
  button.stn-date-range-field.sm {
93
- min-width: var(--stn-size-280);
94
- height: var(--stn-size-24);
113
+ min-width: min(100%, var(--stn-date-range-field-min-width-sm));
114
+ height: var(--stn-date-range-field-height-sm);
95
115
  padding: var(--stn-space-0) var(--stn-space-10);
96
116
  border-radius: var(--stn-radius-input-sm);
97
117
  font-size: var(--stn-text-body-small-size);
@@ -108,14 +128,14 @@ button.stn-date-range-field.sm .stn-date-range-field__text {
108
128
  }
109
129
 
110
130
  button.stn-date-range-field.sm .stn-date-range-field__icon {
111
- width: var(--stn-size-14);
112
- height: var(--stn-size-14);
131
+ width: var(--stn-date-range-field-icon-size-sm);
132
+ height: var(--stn-date-range-field-icon-size-sm);
113
133
  }
114
134
 
115
- /* M — 32px (Figma) */
135
+ /* md — 32px (Figma 기본값) */
116
136
  button.stn-date-range-field.md {
117
- min-width: calc(var(--stn-size-320) + var(--stn-size-20));
118
- height: var(--stn-size-32);
137
+ min-width: min(100%, var(--stn-date-range-field-min-width-md));
138
+ height: var(--stn-date-range-field-height-md);
119
139
  padding: var(--stn-space-0) var(--stn-space-12);
120
140
  border-radius: var(--stn-radius-input-md);
121
141
  font-size: var(--stn-text-body-small-size);
@@ -132,14 +152,14 @@ button.stn-date-range-field.md .stn-date-range-field__text {
132
152
  }
133
153
 
134
154
  button.stn-date-range-field.md .stn-date-range-field__icon {
135
- width: var(--stn-size-16);
136
- height: var(--stn-size-16);
155
+ width: var(--stn-date-range-field-icon-size-md);
156
+ height: var(--stn-date-range-field-icon-size-md);
137
157
  }
138
158
 
139
- /* L — 40px */
159
+ /* lg — 40px */
140
160
  button.stn-date-range-field.lg {
141
- min-width: var(--stn-size-360);
142
- height: var(--stn-size-40);
161
+ min-width: min(100%, var(--stn-date-range-field-min-width-lg));
162
+ height: var(--stn-date-range-field-height-lg);
143
163
  padding: var(--stn-space-0) var(--stn-space-12);
144
164
  border-radius: var(--stn-radius-input-lg);
145
165
  font-size: var(--stn-text-body-medium-size);
@@ -156,6 +176,123 @@ button.stn-date-range-field.lg .stn-date-range-field__text {
156
176
  }
157
177
 
158
178
  button.stn-date-range-field.lg .stn-date-range-field__icon {
159
- width: var(--stn-size-16);
160
- height: var(--stn-size-16);
179
+ width: var(--stn-date-range-field-icon-size-lg);
180
+ height: var(--stn-date-range-field-icon-size-lg);
181
+ }
182
+
183
+ /* xl — 56px */
184
+ button.stn-date-range-field.xl {
185
+ min-width: min(100%, var(--stn-date-range-field-min-width-xl));
186
+ height: var(--stn-date-range-field-height-xl);
187
+ padding: var(--stn-space-0) var(--stn-space-16);
188
+ border-radius: var(--stn-radius-input-lg);
189
+ font-size: var(--stn-text-body-medium-size);
190
+ line-height: var(--stn-line-height-px-54);
191
+ }
192
+
193
+ button.stn-date-range-field.xl .stn-date-range-field__inner {
194
+ gap: var(--stn-space-10);
195
+ }
196
+
197
+ button.stn-date-range-field.xl .stn-date-range-field__text {
198
+ gap: var(--stn-space-12);
199
+ font-size: var(--stn-text-body-medium-size);
200
+ }
201
+
202
+ button.stn-date-range-field.xl .stn-date-range-field__icon {
203
+ width: var(--stn-date-range-field-icon-size-xl);
204
+ height: var(--stn-date-range-field-icon-size-xl);
205
+ }
206
+
207
+ /* ==========================================================================
208
+ Width Presets & Label Wrap Layout
209
+ ========================================================================== */
210
+ :is(.stn-date-range-field, .stn-date-range-field-wrap):is(.full, .stn-date-range-field--full, .w100p) {
211
+ width: 100%;
212
+ }
213
+
214
+ .stn-date-range-field-wrap {
215
+ box-sizing: border-box;
216
+ display: inline-flex;
217
+ flex-direction: column;
218
+ align-items: stretch;
219
+ flex-shrink: 0;
220
+ max-width: 100%;
221
+ vertical-align: top;
222
+ }
223
+
224
+ .stn-date-range-field-wrap button.stn-date-range-field {
225
+ width: 100%;
226
+ min-width: 0;
227
+ max-width: 100%;
228
+ }
229
+
230
+ .stn-date-range-field-wrap__body {
231
+ display: inline-flex;
232
+ flex-direction: column;
233
+ flex: 1 1 auto;
234
+ min-width: 0;
235
+ }
236
+
237
+ .stn-date-range-field-wrap--row {
238
+ flex-direction: row;
239
+ align-items: center;
240
+ gap: var(--stn-space-8);
241
+ }
242
+
243
+ .stn-date-range-field-wrap--row .stn-date-range-field-wrap__body {
244
+ width: auto;
245
+ flex: 1 1 auto;
246
+ }
247
+
248
+ .stn-date-range-field-wrap--col {
249
+ flex-direction: column;
250
+ gap: var(--stn-space-6);
251
+ }
252
+
253
+ .stn-date-range-field-wrap--col .stn-date-range-field-wrap__body {
254
+ width: 100%;
255
+ }
256
+
257
+ .stn-date-range-field__label {
258
+ box-sizing: border-box;
259
+ display: inline-flex;
260
+ align-items: center;
261
+ gap: var(--stn-space-4);
262
+ font-family: var(--stn-font-body, inherit);
263
+ font-size: var(--stn-text-body-small-size);
264
+ font-weight: var(--stn-font-weight-medium);
265
+ color: var(--stn-text-primary);
266
+ line-height: 1;
267
+ white-space: nowrap;
268
+ user-select: none;
269
+ cursor: pointer;
270
+ flex-shrink: 0;
271
+ }
272
+
273
+ .stn-date-range-field__label-icon {
274
+ display: inline-flex;
275
+ align-items: center;
276
+ justify-content: center;
277
+ color: var(--stn-text-secondary);
278
+ }
279
+
280
+ .stn-date-range-field__required {
281
+ color: var(--stn-feedback-error);
282
+ font-weight: var(--stn-font-weight-bold);
283
+ line-height: 1;
284
+ margin-inline-start: var(--stn-space-2);
285
+ }
286
+
287
+ .stn-date-range-field__helper {
288
+ font-size: var(--stn-text-body-small-size);
289
+ line-height: var(--stn-line-height-tight);
290
+ color: var(--stn-text-secondary);
291
+ word-break: break-word;
292
+ white-space: nowrap;
293
+ margin-top: var(--stn-space-4);
294
+ }
295
+
296
+ .stn-date-range-field__helper--error {
297
+ color: var(--stn-feedback-error);
161
298
  }