@stn-uiux/pub-ui 0.1.77 → 0.1.78

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 (41) hide show
  1. package/dist/{chunk-2ZYBBVBT.js → chunk-36QC3ZAD.js} +2 -2
  2. package/dist/{chunk-2ZYBBVBT.js.map → chunk-36QC3ZAD.js.map} +1 -1
  3. package/dist/{chunk-75GHU6VI.js → chunk-G4SOYIHZ.js} +11 -7
  4. package/dist/chunk-G4SOYIHZ.js.map +1 -0
  5. package/dist/chunk-GYPBZAB2.js +9 -0
  6. package/dist/chunk-GYPBZAB2.js.map +1 -0
  7. package/dist/{chunk-3CYSR7V4.js → chunk-QGC3IK52.js} +2 -2
  8. package/dist/{chunk-3CYSR7V4.js.map → chunk-QGC3IK52.js.map} +1 -1
  9. package/dist/{chunk-7YKAIENZ.js → chunk-RVYQ7WL3.js} +2 -7
  10. package/dist/{chunk-7YKAIENZ.js.map → chunk-RVYQ7WL3.js.map} +1 -1
  11. package/dist/{chunk-FSSMH6VS.js → chunk-TEK632EJ.js} +9 -46
  12. package/dist/chunk-TEK632EJ.js.map +1 -0
  13. package/dist/cli.js +3 -3
  14. package/dist/data/index.d.ts +1 -1
  15. package/dist/data/index.js +6 -8
  16. package/dist/data/stnLayer0Background.d.ts +9 -43
  17. package/dist/data/stnLayer0Background.js +1 -3
  18. package/dist/data/stnLayout.d.ts +1 -1
  19. package/dist/data/stnLayout.js +1 -1
  20. package/dist/data/stnLogin.d.ts +1 -1
  21. package/dist/data/stnLogin.js +1 -1
  22. package/dist/data/stnPackageVersion.d.ts +2 -2
  23. package/dist/data/stnPackageVersion.js +1 -1
  24. package/dist/data/stnPopup.d.ts +8 -8
  25. package/dist/data/stnPopup.js +1 -1
  26. package/dist/data/stnSectionSide.d.ts +1 -5
  27. package/dist/data/stnSectionSide.js +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.js +6 -8
  30. package/package.json +1 -1
  31. package/styles/components/stn-label-prefix.css +4 -2
  32. package/styles/components/stn-popup.css +44 -104
  33. package/styles/layouts/stn-layer0-bg.css +92 -26
  34. package/styles/patterns/stn-section-side.css +1 -9
  35. package/styles/tokens/stn-colors-semantic.css +8 -1
  36. package/styles/tokens/stn-size-semantic.css +5 -0
  37. package/styles/tokens/stn-spacing-semantic.css +12 -0
  38. package/dist/chunk-75GHU6VI.js.map +0 -1
  39. package/dist/chunk-FSSMH6VS.js.map +0 -1
  40. package/dist/chunk-RSKMNZIS.js +0 -9
  41. package/dist/chunk-RSKMNZIS.js.map +0 -1
@@ -6,79 +6,45 @@ export { STN_LAYER0_BACKGROUND_ASSET_PATHS, STN_LAYER0_BACKGROUND_DEMO_IMAGES }
6
6
  * Dark: 80488 · 35369 · 84014 · 91183
7
7
  * @see StnLayer0Background · layouts/stn-layer0-bg.css
8
8
  */
9
- declare const STN_LAYER0_BACKGROUND_FIGMA: {
10
- readonly none: "40000040:41267";
11
- readonly noneDark: "40000040:80488";
12
- readonly showroomA: "40000042:186876";
13
- readonly showroomADark: "40002117:35369";
14
- readonly showroomB: "40000042:186860";
15
- readonly showroomBDark: "40000040:84014";
16
- readonly mapLight: "40000042:202895";
17
- readonly mapDark: "40000040:91183";
18
- readonly login: "40004209:78293";
19
- readonly loginDark: "40004209:78293";
20
- readonly dashboard: "40004209:78300";
21
- readonly dashboardDark: "40004209:78300";
22
- };
23
9
  type StnLayer0BackgroundKind = 'color' | 'gradient' | 'image';
24
- /** Figma 예제 프리셋 — color 1종 · gradient 1종 · image 7종 (light/dark 자동 전환) */
25
- type StnLayer0BackgroundPreset = 'none' | 'gradient' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard' | 'infomap' | 'infomap-none';
10
+ /** 바닥면 예제 프리셋 — color 1종 · gradient 1종 · image 5종 (light/dark 자동 전환) */
11
+ type StnLayer0BackgroundPreset = 'none' | 'gradient' | 'list' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard' | 'infomap' | 'infomap-none';
26
12
 
27
13
  declare const STN_LAYER0_BACKGROUND_INTRO = "\uD398\uC774\uC9C0 \uCD5C\uD558\uB2E8 \uB808\uBCA8(Level 0)\uC5D0 \uC704\uCE58\uD558\uB294 \uC2DC\uC2A4\uD15C \uBC14\uB2E5\uBA74 \uBC30\uACBD \uD328\uD134\uC785\uB2C8\uB2E4. \uB2E8\uC0C9 \uCEEC\uB7EC \uBC0F \uB9F5\u00B7\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uBC30\uACBD \uC774\uBBF8\uC9C0\uB97C `StnLayer0BackgroundPreset`\uC73C\uB85C \uC190\uC27D\uAC8C \uC801\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.";
28
14
  declare const STN_LAYER0_BACKGROUND_VARIANT_ROWS: readonly [{
29
15
  readonly preset: "none";
30
16
  readonly kind: "color";
31
- readonly figma: "40000040:41267";
32
- readonly figmaDark: "40000040:80488";
33
17
  readonly note: "Light gradient · Dark elevation surface-0 (gray-950)";
34
18
  }, {
35
- readonly preset: "dashboard";
36
- readonly kind: "image";
37
- readonly figma: "40004209:78300";
38
- readonly figmaDark: "40004209:78300";
39
- readonly note: "Dashboard · light/dark pair";
19
+ readonly preset: "list";
20
+ readonly kind: "gradient";
21
+ readonly note: "List view · 테마 반응형 바닥면 (Default: 앰비언트 gradient, Blue: infomap-none 3D 그래픽)";
40
22
  }, {
41
- readonly preset: "infomap";
42
- readonly kind: "image";
43
- readonly figma: "40004209:78300";
44
- readonly figmaDark: "40004209:78300";
45
- readonly note: "Infomap 3D Graphic · light/dark pair";
46
- }, {
47
- readonly preset: "infomap-none";
23
+ readonly preset: "dashboard";
48
24
  readonly kind: "image";
49
- readonly figma: "40004209:78300";
50
- readonly figmaDark: "40004209:78300";
51
- readonly note: "Infomap 3D Graphic (None/텍스트 없음) · light/dark pair";
25
+ readonly note: "Dashboard · light/dark pair (theme=\"blue\" 적용 시 infomap 그래픽으로 자동 전환)";
52
26
  }, {
53
27
  readonly preset: "showroom-a";
54
28
  readonly kind: "image";
55
- readonly figma: "40000042:186876";
56
- readonly figmaDark: "40002117:35369";
57
29
  readonly note: "Showroom A · dark logo stage";
58
30
  }, {
59
31
  readonly preset: "showroom-b";
60
32
  readonly kind: "image";
61
- readonly figma: "40000042:186860";
62
- readonly figmaDark: "40000040:84014";
63
33
  readonly note: "Showroom B · dark + radial vignette";
64
34
  }, {
65
35
  readonly preset: "map-light";
66
36
  readonly kind: "image";
67
- readonly figma: "40000042:202895";
68
- readonly figmaDark: "40000040:91183";
69
37
  readonly note: "Map light(+20% white) · Map dark";
70
38
  }, {
71
39
  readonly preset: "login";
72
40
  readonly kind: "image";
73
- readonly figma: "40004209:78293";
74
- readonly figmaDark: "40004209:78293";
75
41
  readonly note: "Login · light/dark pair";
76
42
  }];
77
43
  declare const STN_LAYER0_BACKGROUND_USAGE = "import {\n StnLayer,\n StnLayer0Background,\n StnLayer0BackgroundPreset,\n DashboardPageScaffold,\n} from '@stn-uiux/pub-ui-react'\n\n/** Map / Topology \u2014 wrapClassName\uB9CC (\uB9F5 \uBC30\uACBD\uC740 elevation CSS) */\n<DashboardPageScaffold\n shell=\"layer\"\n wrapClassName=\"stn-page--map-bg\"\n gnb={\u2026}\n header={\u2026}\n/>\n\n/** \uC77C\uBC18 \uD398\uC774\uC9C0 \u2014 L0 color (default = elevation-surface-0) */\n<StnLayer.Background>\n <StnLayer0Background color=\"default\" />\n <StnLayer.Content>{/* \uBCF8\uBB38 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** Figma image \uD504\uB9AC\uC14B \u2014 showroom \u00B7 map \u00B7 login */\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"map-light\" />\n <StnLayer.Content>{/* \uBCF8\uBB38 */}</StnLayer.Content>\n</StnLayer.Background>\n\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"login\" />\n <StnLayer.Content>{/* \uBCF8\uBB38 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** \uC9C1\uC811 \uC870\uD569 \u2014 light/dark \uC774\uBBF8\uC9C0 */\n<StnLayer.Background>\n <StnLayer0Background\n kind=\"image\"\n src=\"/assets/bg-light.png\"\n srcDark=\"/assets/bg-dark.png\"\n />\n <StnLayer.Content>\u2026</StnLayer.Content>\n</StnLayer.Background>";
78
44
  declare const STN_LAYER0_BACKGROUND_USAGE_HTML = "<!-- L0 background \u2014 color / image -->\n<div class=\"stn-elev-0 stn-layer0-bg\">\n <!-- color -->\n <div class=\"stn-layer0-bg color default\" aria-hidden=\"true\"></div>\n\n <!-- \uB610\uB294 image -->\n <div\n class=\"stn-layer0-bg image\"\n style=\"--stn-layer0-bg-image: url('/assets/bg-light.png')\"\n aria-hidden=\"true\"\n ></div>\n\n <main class=\"stn-elev-1\"><!-- L1 content --></main>\n</div>";
79
45
  declare const STN_LAYER0_MAP_LIGHT_OVERLAY = 0.2;
80
46
  /** Patterns → Background playground 프리셋 (UI 라벨 · 내부 variant) */
81
- type StnLayer0BackgroundPlaygroundPresetId = 'dashboard' | 'infomap' | 'infomap-none' | 'color' | 'gradient' | 'map' | 'topology' | 'none';
47
+ type StnLayer0BackgroundPlaygroundPresetId = 'list' | 'dashboard' | 'color' | 'gradient' | 'map' | 'topology' | 'none';
82
48
  declare const STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS: {
83
49
  id: StnLayer0BackgroundPlaygroundPresetId;
84
50
  label: string;
@@ -86,4 +52,4 @@ declare const STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS: {
86
52
  variant?: StnLayer0BackgroundPreset;
87
53
  }[];
88
54
 
89
- 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, type StnLayer0BackgroundKind, type StnLayer0BackgroundPlaygroundPresetId, type StnLayer0BackgroundPreset };
55
+ export { 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, type StnLayer0BackgroundKind, type StnLayer0BackgroundPlaygroundPresetId, type StnLayer0BackgroundPreset };
@@ -1,12 +1,11 @@
1
1
  import {
2
- STN_LAYER0_BACKGROUND_FIGMA,
3
2
  STN_LAYER0_BACKGROUND_INTRO,
4
3
  STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS,
5
4
  STN_LAYER0_BACKGROUND_USAGE,
6
5
  STN_LAYER0_BACKGROUND_USAGE_HTML,
7
6
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
8
7
  STN_LAYER0_MAP_LIGHT_OVERLAY
9
- } from "../chunk-FSSMH6VS.js";
8
+ } from "../chunk-TEK632EJ.js";
10
9
  import {
11
10
  STN_LAYER0_BACKGROUND_ASSET_PATHS,
12
11
  STN_LAYER0_BACKGROUND_DEMO_IMAGES
@@ -14,7 +13,6 @@ import {
14
13
  export {
15
14
  STN_LAYER0_BACKGROUND_ASSET_PATHS,
16
15
  STN_LAYER0_BACKGROUND_DEMO_IMAGES,
17
- STN_LAYER0_BACKGROUND_FIGMA,
18
16
  STN_LAYER0_BACKGROUND_INTRO,
19
17
  STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS,
20
18
  STN_LAYER0_BACKGROUND_USAGE,
@@ -78,7 +78,7 @@ type StnLnbSide = 'left' | 'right';
78
78
  /** 대시보드·맵 화면 내 고정 슬롯 */
79
79
  type StnLayoutRegion = 'top_right' | 'dashboard' | 'dashboard_left' | 'dashboard_right' | 'dashboard_body' | 'wrap_topology' | 'map' | 'dash_canvas';
80
80
  declare const STN_LAYOUT_PAGE_TREE: ".stn-wrap (legacy v1: #wrap)\n\u251C\u2500\u2500 .stn-side-nav (absolute overlay \u00B7 StnSideNavigation)\n\u2514\u2500\u2500 .stn-layer-1 (L1 \u00B7 \uB124\uBE44 \uC81C\uC678 \uC601\uC5ED)\n \u251C\u2500\u2500 .stn-layer-1__header (Header)\n \u2514\u2500\u2500 .stn-content-area / .stn-stack\n \u2514\u2500\u2500 .stn-stack \u2026";
81
- declare const STN_LAYOUT_LAYER_PAGE_TREE: ".stn-wrap (Root Shell \u00B7 data-stn-layer-mode=\"v2\")\n\u251C\u2500\u2500 StnLayer.Background (L0 \u00B7 layer0-bg)\n\u251C\u2500\u2500 .stn-side-nav / StnSideNavigation (absolute overlay \u00B7 wrap \uC9C1\uC18D)\n\u251C\u2500\u2500 [data-stn-layer-role=\"utility\"] (toast \u00B7 audio)\n\u2514\u2500\u2500 StnLayer.Content (.stn-layer-1) (L1 \u2014 \uD558\uB098)\n \u251C\u2500\u2500 .stn-layer-1__header\n \u2514\u2500\u2500 .stn-content-area / .stn-stack\n \u2514\u2500\u2500 lnb_box | content_box | .stn-stack";
81
+ declare const STN_LAYOUT_LAYER_PAGE_TREE: ".stn-wrap (Root Shell)\n\u251C\u2500\u2500 StnLayer.Background (L0 \u00B7 layer0-bg)\n\u251C\u2500\u2500 .stn-side-nav / StnSideNavigation (absolute overlay \u00B7 wrap \uC9C1\uC18D)\n\u251C\u2500\u2500 [data-stn-layer-role=\"utility\"] (toast \u00B7 audio)\n\u2514\u2500\u2500 StnLayer.Content (.stn-layer-1) (L1 \u2014 \uD558\uB098)\n \u251C\u2500\u2500 .stn-layer-1__header\n \u2514\u2500\u2500 .stn-content-area / .stn-stack\n \u2514\u2500\u2500 lnb_box | content_box | .stn-stack";
82
82
  declare const STN_LAYOUT_CONTENT_ROWS: {
83
83
  modifier: StnContentAreaModifier;
84
84
  pubClass: string;
@@ -27,7 +27,7 @@ import {
27
27
  applyLnbSideToModifiers,
28
28
  pubContentAreaClasses,
29
29
  pubLayoutRegionClass
30
- } from "../chunk-2ZYBBVBT.js";
30
+ } from "../chunk-36QC3ZAD.js";
31
31
  export {
32
32
  STN_ALERT_CENTER_PAGE_SCAFFOLD_USAGE,
33
33
  STN_LAYER_SHELL_USAGE,
@@ -9,6 +9,6 @@ declare const STN_LOGIN_ASSETS: {
9
9
  };
10
10
  declare const STN_LOGIN_INTRO = "\uB85C\uADF8\uC778 \uD398\uC774\uC9C0\uB294 LoginPageScaffold(\uD398\uC774\uC9C0) + StnLayer0BackgroundPreset(\uBC14\uB2E5) + StnLoginCard(\uCE74\uB4DC)\uC785\uB2C8\uB2E4. \uBC30\uACBD\u00B7\uB85C\uACE0\uB294 \uAC01 \uCEF4\uD3EC\uB10C\uD2B8\uC758 variant\uB97C \uBC14\uAFD4 \uC7A1\uC2B5\uB2C8\uB2E4. onLogin\uB9CC \uB118\uAE30\uBA74 \uAE30\uBCF8 \uC870\uB9BD(login \uBC30\uACBD \u00B7 \uAC00\uB85C XL \uB85C\uACE0)\uC774 \uB4E4\uC5B4\uAC11\uB2C8\uB2E4.";
11
11
  declare const STN_LOGIN_USAGE = "import { useState, type FormEvent } from 'react'\nimport {\n LoginPageScaffold,\n StnLayer0BackgroundPreset,\n StnLoginCard,\n StnLoginBrandStack,\n StnLoginFormStack,\n StnLoginFormFields,\n StnLoginFormLinks,\n StnLoginTextField,\n StnLogo,\n StnSegmented,\n StnButton,\n} from '@stn-uiux/pub-ui-react'\n\nfunction LoginPage() {\n const [mode, setMode] = useState<'normal' | 'social'>('normal')\n const [userId, setUserId] = useState('')\n const [password, setPassword] = useState('')\n\n function handleSubmit(e: FormEvent) {\n e.preventDefault()\n // \uB85C\uADF8\uC778 API \uD638\uCD9C\n }\n\n return (\n <LoginPageScaffold\n layer0={<StnLayer0BackgroundPreset variant=\"login\" />}\n cardGlow={true}\n >\n <StnLoginCard\n glow={true}\n brand={\n <StnLoginBrandStack>\n <StnLogo variant=\"vertical\" size=\"xl\" />\n <p className=\"stn-login-card__caption\">Server Resource Monitoring</p>\n </StnLoginBrandStack>\n }\n >\n <StnLoginFormStack onSubmit={handleSubmit}>\n <StnSegmented\n aria-label=\"\uB85C\uADF8\uC778 \uBC29\uC2DD\"\n value={mode}\n onChange={(v) => setMode(v as 'normal' | 'social')}\n options={[\n { value: 'normal', label: '\uC77C\uBC18 \uB85C\uADF8\uC778' },\n { value: 'social', label: '\uC18C\uC15C \uB85C\uADF8\uC778' },\n ]}\n />\n {mode === 'normal' && (\n <StnLoginFormFields>\n <StnLoginTextField\n icon=\"line/user\"\n name=\"username\"\n autoComplete=\"username\"\n placeholder=\"\uC544\uC774\uB514\"\n value={userId}\n onChange={(e) => setUserId(e.target.value)}\n aria-label=\"\uC544\uC774\uB514\"\n />\n <StnLoginTextField\n icon=\"line/lock\"\n type=\"password\"\n name=\"password\"\n autoComplete=\"current-password\"\n placeholder=\"\uBE44\uBC00\uBC88\uD638\"\n value={password}\n onChange={(e) => setPassword(e.target.value)}\n aria-label=\"\uBE44\uBC00\uBC88\uD638\"\n />\n </StnLoginFormFields>\n )}\n <StnButton type=\"submit\" size=\"xl\" fullWidth>\n \uB85C\uADF8\uC778\n </StnButton>\n <StnLoginFormLinks>\n <a href=\"#signup\">\uD68C\uC6D0\uAC00\uC785</a>\n <a href=\"#recover\">\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30</a>\n </StnLoginFormLinks>\n </StnLoginFormStack>\n </StnLoginCard>\n </LoginPageScaffold>\n )\n}";
12
- declare const STN_LOGIN_HTML = "<div class=\"stn-wrap stn-page--login\" data-stn-layer-mode=\"v2\">\n <div class=\"stn-layer0-bg image\" aria-hidden=\"true\"><!-- L0 login --></div>\n <main class=\"stn-elev-1\" data-stn-layer-role=\"content\">\n <div class=\"stn-login\">\n <div class=\"stn-login-card\">\n <div class=\"stn-login-card__brand\">\n <div class=\"stn-login-brand-stack\">\n <span class=\"stn-logo horizontal xl\">\n <img class=\"stn-logo__img light\" src=\"/@assets/svg/brand/infomap-logo-full.png\" alt=\"InfoMap SRM\" />\n <img class=\"stn-logo__img dark\" src=\"/@assets/svg/brand/infomap-logo-full-dark.png\" alt=\"\" />\n </span>\n <p class=\"stn-login-card__caption\">Server Resource Monitoring</p>\n </div>\n </div>\n <div class=\"stn-login-card__form\">\n <form class=\"stn-login-form-stack\">\n <div class=\"stn-segmented\" role=\"radiogroup\" aria-label=\"\uB85C\uADF8\uC778 \uBC29\uC2DD\">\n <button type=\"button\" class=\"stn-segmented__item active\" role=\"radio\" aria-checked=\"true\">\uC77C\uBC18 \uB85C\uADF8\uC778</button>\n <button type=\"button\" class=\"stn-segmented__item\" role=\"radio\" aria-checked=\"false\">\uC18C\uC15C \uB85C\uADF8\uC778</button>\n </div>\n <div class=\"stn-login-form-fields\">\n <div class=\"stn-login-text-field\">\n <span class=\"stn-icon-box md stn-login-text-field__icon-box\" aria-hidden>\n <span class=\"stn-icon stn-icon--masked\" style=\"background-color: currentColor; width: 16px; height: 16px;\"></span>\n </span>\n <input type=\"text\" class=\"stn-login-text-field__control\" placeholder=\"\uC544\uC774\uB514\" autocomplete=\"username\" />\n </div>\n <div class=\"stn-login-text-field\">\n <span class=\"stn-icon-box md stn-login-text-field__icon-box\" aria-hidden>\n <span class=\"stn-icon stn-icon--masked\" style=\"background-color: currentColor; width: 16px; height: 16px;\"></span>\n </span>\n <input type=\"password\" class=\"stn-login-text-field__control\" placeholder=\"\uBE44\uBC00\uBC88\uD638\" autocomplete=\"current-password\" />\n </div>\n </div>\n <button type=\"submit\" class=\"stn-btn contained xl full\">\uB85C\uADF8\uC778</button>\n <nav class=\"stn-login-form-links\" aria-label=\"\uACC4\uC815 \uAD00\uB9AC \uB9C1\uD06C\">\n <a href=\"#signup\">\uD68C\uC6D0\uAC00\uC785</a>\n <a href=\"#recover\">\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30</a>\n </nav>\n </form>\n </div>\n </div>\n </div>\n </main>\n</div>";
12
+ declare const STN_LOGIN_HTML = "<div class=\"stn-wrap stn-page--login\">\n <div class=\"stn-layer0-bg image\" aria-hidden=\"true\"><!-- L0 login --></div>\n <main class=\"stn-elev-1\" data-stn-layer-role=\"content\">\n <div class=\"stn-login\">\n <div class=\"stn-login-card\">\n <div class=\"stn-login-card__brand\">\n <div class=\"stn-login-brand-stack\">\n <span class=\"stn-logo horizontal xl\">\n <img class=\"stn-logo__img light\" src=\"/@assets/svg/brand/infomap-logo-full.png\" alt=\"InfoMap SRM\" />\n <img class=\"stn-logo__img dark\" src=\"/@assets/svg/brand/infomap-logo-full-dark.png\" alt=\"\" />\n </span>\n <p class=\"stn-login-card__caption\">Server Resource Monitoring</p>\n </div>\n </div>\n <div class=\"stn-login-card__form\">\n <form class=\"stn-login-form-stack\">\n <div class=\"stn-segmented\" role=\"radiogroup\" aria-label=\"\uB85C\uADF8\uC778 \uBC29\uC2DD\">\n <button type=\"button\" class=\"stn-segmented__item active\" role=\"radio\" aria-checked=\"true\">\uC77C\uBC18 \uB85C\uADF8\uC778</button>\n <button type=\"button\" class=\"stn-segmented__item\" role=\"radio\" aria-checked=\"false\">\uC18C\uC15C \uB85C\uADF8\uC778</button>\n </div>\n <div class=\"stn-login-form-fields\">\n <div class=\"stn-login-text-field\">\n <span class=\"stn-icon-box md stn-login-text-field__icon-box\" aria-hidden>\n <span class=\"stn-icon stn-icon--masked\" style=\"background-color: currentColor; width: 16px; height: 16px;\"></span>\n </span>\n <input type=\"text\" class=\"stn-login-text-field__control\" placeholder=\"\uC544\uC774\uB514\" autocomplete=\"username\" />\n </div>\n <div class=\"stn-login-text-field\">\n <span class=\"stn-icon-box md stn-login-text-field__icon-box\" aria-hidden>\n <span class=\"stn-icon stn-icon--masked\" style=\"background-color: currentColor; width: 16px; height: 16px;\"></span>\n </span>\n <input type=\"password\" class=\"stn-login-text-field__control\" placeholder=\"\uBE44\uBC00\uBC88\uD638\" autocomplete=\"current-password\" />\n </div>\n </div>\n <button type=\"submit\" class=\"stn-btn contained xl full\">\uB85C\uADF8\uC778</button>\n <nav class=\"stn-login-form-links\" aria-label=\"\uACC4\uC815 \uAD00\uB9AC \uB9C1\uD06C\">\n <a href=\"#signup\">\uD68C\uC6D0\uAC00\uC785</a>\n <a href=\"#recover\">\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30</a>\n </nav>\n </form>\n </div>\n </div>\n </div>\n </main>\n</div>";
13
13
 
14
14
  export { STN_LOGIN_ASSETS, STN_LOGIN_FIGMA, STN_LOGIN_HTML, STN_LOGIN_INTRO, STN_LOGIN_USAGE };
@@ -4,7 +4,7 @@ import {
4
4
  STN_LOGIN_HTML,
5
5
  STN_LOGIN_INTRO,
6
6
  STN_LOGIN_USAGE
7
- } from "../chunk-3CYSR7V4.js";
7
+ } from "../chunk-QGC3IK52.js";
8
8
  import "../chunk-NGUMR3D6.js";
9
9
  export {
10
10
  STN_LOGIN_ASSETS,
@@ -1,5 +1,5 @@
1
1
  /** Package version constants */
2
- declare const STN_UI_VERSION = "0.1.77";
3
- declare const STN_UI_VERSION_LABEL = "v0.1.77";
2
+ declare const STN_UI_VERSION = "0.1.78";
3
+ declare const STN_UI_VERSION_LABEL = "v0.1.78";
4
4
 
5
5
  export { STN_UI_VERSION, STN_UI_VERSION_LABEL };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  STN_UI_VERSION,
3
3
  STN_UI_VERSION_LABEL
4
- } from "../chunk-RSKMNZIS.js";
4
+ } from "../chunk-GYPBZAB2.js";
5
5
  export {
6
6
  STN_UI_VERSION,
7
7
  STN_UI_VERSION_LABEL
@@ -105,8 +105,8 @@ declare const STN_POPUP_PARTS: readonly [{
105
105
  readonly note: "56px · h4 16 SemiBold · theme title token";
106
106
  }, {
107
107
  readonly part: "Close";
108
- readonly selector: ".stn-pop__close";
109
- readonly note: "StnButton icon=\"line/x\" size=sm · top 14 / right 16";
108
+ readonly selector: "StnButton (line/x)";
109
+ readonly note: "StnButton icon=\"line/x\" size=sm (24px) · 헤더 Flex 우측";
110
110
  }, {
111
111
  readonly part: "Body";
112
112
  readonly selector: ".stn-pop__body";
@@ -157,13 +157,13 @@ declare const STN_POPUP_TOKEN_ROWS: readonly [{
157
157
  readonly resolvesTo: "56px";
158
158
  readonly usage: ".stn-pop__actions";
159
159
  }, {
160
- readonly token: "--stn-pop-close-size";
161
- readonly resolvesTo: "icon-size.xsmall (16px)";
162
- readonly usage: ".stn-pop__close hit";
160
+ readonly token: "--stn-size-24";
161
+ readonly resolvesTo: "24px";
162
+ readonly usage: "닫기 버튼 규격 (sm 24px)";
163
163
  }, {
164
- readonly token: "--stn-pop-close-icon";
165
- readonly resolvesTo: "icon-size.xsmall (16px)";
166
- readonly usage: ".stn-pop__close glyph";
164
+ readonly token: "--stn-size-16";
165
+ readonly resolvesTo: "16px";
166
+ readonly usage: "닫기 아이콘 규격 (16px)";
167
167
  }, {
168
168
  readonly token: "--stn-pop-surface";
169
169
  readonly resolvesTo: "gray.850 (dark) · white (light)";
@@ -12,7 +12,7 @@ import {
12
12
  STN_POPUP_USAGE,
13
13
  STN_POPUP_USAGE_HTML,
14
14
  resolveStnPopupSizeFromWidth
15
- } from "../chunk-75GHU6VI.js";
15
+ } from "../chunk-G4SOYIHZ.js";
16
16
  export {
17
17
  STN_POPUP_INTRO,
18
18
  STN_POPUP_INVENTORY_ROWS,
@@ -27,7 +27,7 @@ declare const STN_SECTION_SIDE_SPEC: readonly [{
27
27
  }, {
28
28
  readonly property: "Translucent Bg";
29
29
  readonly value: "`--stn-section-side-bg-translucent`";
30
- readonly note: "variant=\"translucent\" — light white-50 · dark black-50 (blur 8px)";
30
+ readonly note: "variant=\"translucent\" — light white-50 · dark black-25 (blur 8px)";
31
31
  }, {
32
32
  readonly property: "Border";
33
33
  readonly value: "`--stn-section-side-border`";
@@ -44,10 +44,6 @@ declare const STN_SECTION_SIDE_SPEC: readonly [{
44
44
  readonly property: "fill";
45
45
  readonly value: "`fill` prop → `.stn-section-side--fill`";
46
46
  readonly note: "list view — search+table 열 높이 · 하단 inset은 .stn-container padding-bottom";
47
- }, {
48
- readonly property: "variant";
49
- readonly value: "`variant=\"translucent\"`";
50
- readonly note: "글래스모피즘 반투명 블러 패널 (.stn-section-side.translucent)";
51
47
  }];
52
48
  declare const STN_SECTION_SIDE_USAGE = "import {\n StnSectionSide,\n StnTree,\n} from '@stn-uiux/pub-ui-react'\nimport { STN_TREE_DEMO } from '@stn-uiux/pub-ui/data/stnTree'\n\n<StnSectionSide style={{ height: 360 }}>\n <StnTree\n heading=\"FOLDER STRUCTURE\"\n nodes={STN_TREE_DEMO}\n defaultExpandedIds={['root', 'group-a', 'equip', 'group-b']}\n />\n</StnSectionSide>";
53
49
 
@@ -3,7 +3,7 @@ import {
3
3
  STN_SECTION_SIDE_INTRO,
4
4
  STN_SECTION_SIDE_SPEC,
5
5
  STN_SECTION_SIDE_USAGE
6
- } from "../chunk-7YKAIENZ.js";
6
+ } from "../chunk-RVYQ7WL3.js";
7
7
  export {
8
8
  STN_SECTION_SIDE_FIGMA,
9
9
  STN_SECTION_SIDE_INTRO,
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { STN_HEADER_TITLE_DEMO, STN_HEADER_TITLE_FIGMA, STN_HEADER_TITLE_FRAME,
22
22
  export { STN_ICONOGRAPHY_INTRO, STN_ICONOGRAPHY_PRIMITIVE_ROWS, STN_ICONOGRAPHY_SEMANTIC_ROWS, STN_ICON_HARDCODED_PX_AUDIT, STN_ICON_INVENTORY_CATEGORY_LABELS, STN_ICON_INVENTORY_ROWS, StnIconFigmaSize, StnIconInventoryCategory, StnIconInventoryRow, StnIconSizeStep, StnIconographyPrimitiveRow, StnIconographySemanticRow, iconographyPrimitiveToJson, iconographySemanticToJson } from './data/stnIconography.js';
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
- 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';
25
+ export { 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
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';
package/dist/index.js CHANGED
@@ -111,7 +111,7 @@ import {
111
111
  STN_SECTION_SIDE_INTRO,
112
112
  STN_SECTION_SIDE_SPEC,
113
113
  STN_SECTION_SIDE_USAGE
114
- } from "./chunk-7YKAIENZ.js";
114
+ } from "./chunk-RVYQ7WL3.js";
115
115
  import {
116
116
  STN_SEGMENTED_FIGMA,
117
117
  STN_SEGMENTED_HTML,
@@ -124,7 +124,7 @@ import {
124
124
  STN_LOGIN_HTML,
125
125
  STN_LOGIN_INTRO,
126
126
  STN_LOGIN_USAGE
127
- } from "./chunk-3CYSR7V4.js";
127
+ } from "./chunk-QGC3IK52.js";
128
128
  import {
129
129
  STN_MAP_DASHBOARD_OPTION_ROWS
130
130
  } from "./chunk-3DAZMM4T.js";
@@ -142,7 +142,7 @@ import {
142
142
  import {
143
143
  STN_UI_VERSION,
144
144
  STN_UI_VERSION_LABEL
145
- } from "./chunk-RSKMNZIS.js";
145
+ } from "./chunk-GYPBZAB2.js";
146
146
  import {
147
147
  STN_PAGE_ENTER_MOTION_INTRO,
148
148
  STN_PAGE_ENTER_MOTION_ROWS,
@@ -412,7 +412,7 @@ import {
412
412
  STN_POPUP_USAGE,
413
413
  STN_POPUP_USAGE_HTML,
414
414
  resolveStnPopupSizeFromWidth
415
- } from "./chunk-75GHU6VI.js";
415
+ } from "./chunk-G4SOYIHZ.js";
416
416
  import {
417
417
  STN_ELEVATION_Z_INDEX,
418
418
  STN_LAYER_DIM_MODAL_HTML,
@@ -423,14 +423,13 @@ import {
423
423
  STN_LAYER_SURFACE_ROWS
424
424
  } from "./chunk-EQ6LUBD6.js";
425
425
  import {
426
- STN_LAYER0_BACKGROUND_FIGMA,
427
426
  STN_LAYER0_BACKGROUND_INTRO,
428
427
  STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS,
429
428
  STN_LAYER0_BACKGROUND_USAGE,
430
429
  STN_LAYER0_BACKGROUND_USAGE_HTML,
431
430
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
432
431
  STN_LAYER0_MAP_LIGHT_OVERLAY
433
- } from "./chunk-FSSMH6VS.js";
432
+ } from "./chunk-TEK632EJ.js";
434
433
  import {
435
434
  STN_CDN_ASSET_BASE,
436
435
  STN_LAYER0_BACKGROUND_ASSET_PATHS,
@@ -465,7 +464,7 @@ import {
465
464
  applyLnbSideToModifiers,
466
465
  pubContentAreaClasses,
467
466
  pubLayoutRegionClass
468
- } from "./chunk-2ZYBBVBT.js";
467
+ } from "./chunk-36QC3ZAD.js";
469
468
  import {
470
469
  STN_LOADING_SKELETON_COLORS,
471
470
  STN_LOADING_SKELETON_INTRO,
@@ -688,7 +687,6 @@ export {
688
687
  STN_INPUT_WIDTH_PRESETS,
689
688
  STN_LAYER0_BACKGROUND_ASSET_PATHS,
690
689
  STN_LAYER0_BACKGROUND_DEMO_IMAGES,
691
- STN_LAYER0_BACKGROUND_FIGMA,
692
690
  STN_LAYER0_BACKGROUND_INTRO,
693
691
  STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS,
694
692
  STN_LAYER0_BACKGROUND_USAGE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stn-uiux/pub-ui",
3
- "version": "0.1.77",
3
+ "version": "0.1.78",
4
4
  "description": "STN Pub design system — tokens, specs, and CSS for product HTML / React apps",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -45,7 +45,7 @@
45
45
  .stn-label-prefix:has(.stn-dropdown.on),
46
46
  .stn-label-prefix:has(.stn-date-picker-popup),
47
47
  .stn-label-prefix:focus-within:has(.select_option) {
48
- overflow: visible !important;
48
+ overflow: visible;
49
49
  }
50
50
 
51
51
  /* StnLabelPrefix 내부 드롭다운: 컨트롤 영역 기준으로 팝업 정렬 (방안 1) */
@@ -175,6 +175,8 @@
175
175
  background-color: var(--stn-input-bg);
176
176
  }
177
177
 
178
+
179
+
178
180
  /* 6-2. Filled (배경 채움) */
179
181
  .stn-label-prefix.filled {
180
182
  border: var(--stn-size-1, 1px) solid var(--stn-input-filled-border, transparent);
@@ -202,7 +204,7 @@
202
204
  /* 6-5. Translucent (반투명 블러 배경) */
203
205
  .stn-label-prefix.translucent {
204
206
  border: var(--stn-size-1, 1px) solid var(--stn-label-prefix-border-translucent, var(--stn-border-subtle));
205
- background-color: var(--stn-label-prefix-bg-translucent, var(--stn-opacity-black-60));
207
+ background-color: var(--stn-label-prefix-bg-translucent, var(--stn-opacity-black-30));
206
208
  backdrop-filter: blur(var(--stn-label-prefix-translucent-blur, 8px));
207
209
  -webkit-backdrop-filter: blur(var(--stn-label-prefix-translucent-blur, 8px));
208
210
  }