@stn-uiux/pub-ui 0.1.86 → 0.1.87

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 (37) hide show
  1. package/dist/chunk-7OZGRHFD.js +15 -0
  2. package/dist/chunk-7OZGRHFD.js.map +1 -0
  3. package/dist/chunk-I2Y7E4TU.js +15 -0
  4. package/dist/chunk-I2Y7E4TU.js.map +1 -0
  5. package/dist/chunk-PXTPAYC3.js +1 -0
  6. package/dist/chunk-ZGYPJEU3.js +9 -0
  7. package/dist/chunk-ZGYPJEU3.js.map +1 -0
  8. package/dist/cli.js +5 -5
  9. package/dist/data/index.d.ts +2 -0
  10. package/dist/data/index.js +55 -43
  11. package/dist/data/stnList.d.ts +19 -0
  12. package/dist/data/stnList.js +9 -0
  13. package/dist/data/stnList.js.map +1 -0
  14. package/dist/data/stnMenu.d.ts +22 -0
  15. package/dist/data/stnMenu.js +9 -0
  16. package/dist/data/stnMenu.js.map +1 -0
  17. package/dist/data/stnPackageVersion.d.ts +2 -2
  18. package/dist/data/stnPackageVersion.js +1 -1
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.js +55 -43
  21. package/package.json +1 -1
  22. package/styles/components/stn-badge.css +0 -14
  23. package/styles/components/stn-drawer.css +7 -1
  24. package/styles/components/stn-list.css +430 -0
  25. package/styles/components/stn-menu.css +467 -0
  26. package/styles/components/stn-topology.css +47 -51
  27. package/styles/layouts/stn-container.css +49 -5
  28. package/styles/layouts/stn-layer1-content.css +4 -1
  29. package/styles/patterns/stn-floating-toolbar.css +39 -0
  30. package/styles/style-pub.css +2 -0
  31. package/styles/tokens/stn-colors-semantic.css +26 -2
  32. package/styles/tokens/stn-size-semantic.css +22 -10
  33. package/styles/tokens/stn-size.css +1 -0
  34. package/dist/chunk-2PIUQUBN.js +0 -9
  35. package/dist/chunk-2PIUQUBN.js.map +0 -1
  36. package/dist/chunk-ERZPIKPF.js +0 -1
  37. /package/dist/{chunk-ERZPIKPF.js.map → chunk-PXTPAYC3.js.map} +0 -0
@@ -0,0 +1,15 @@
1
+ // src/data/stnMenu.ts
2
+ var STN_MENU_SIZES = [
3
+ { size: "xs", itemHeight: 24, paddingY: 2, paddingX: 6, fontSize: "caption", iconSize: 14, gap: 4, desc: "\uCD08\uC18C\uD615 \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274, \uD234\uD301 \uB0B4\uBD80 \uC561\uC158" },
4
+ { size: "sm", itemHeight: 28, paddingY: 4, paddingX: 6, fontSize: "caption", iconSize: 16, gap: 4, desc: "\uCEF4\uD329\uD2B8 \uB4DC\uB86D\uB2E4\uC6B4 \uBC0F \uBC00\uC9D1 \uD234\uBC14 \uC561\uC158 \uBA54\uB274 (dense)" },
5
+ { size: "md", itemHeight: 32, paddingY: 6, paddingX: 8, fontSize: "body-small (13px)", iconSize: 16, gap: 6, desc: "\uD45C\uC900 \uAE30\uBCF8 \uBA54\uB274 (\uB4DC\uB86D\uB2E4\uC6B4 \uC635\uC158 SSOT\uC640 100% \uB3D9\uC77C)" },
6
+ { size: "lg", itemHeight: 38, paddingY: 8, paddingX: 10, fontSize: "body-2 (14px)", iconSize: 18, gap: 8, desc: "\uD130\uCE58 \uBC0F \uC544\uBC14\uD0C0 \uD504\uB85C\uD544 \uC5F0\uB3D9 \uBA54\uB274" },
7
+ { size: "xl", itemHeight: 44, paddingY: 10, paddingX: 12, fontSize: "body-1 (16px)", iconSize: 20, gap: 10, desc: "\uB300\uD615 \uD558\uC774\uB77C\uC774\uD2B8 \uB0B4\uBE44\uAC8C\uC774\uC158 \uBA54\uB274" }
8
+ ];
9
+ var STN_MENU_INTRO = "StnMenu\uB294 \uBC84\uD2BC \uC575\uCEE4\uB9C1 \uB4DC\uB86D\uB2E4\uC6B4, \uC6B0\uD074\uB9AD \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274(Context Menu), \uC561\uC158 \uC2DC\uD2B8, \uADF8\uB8F9 \uCE74\uD14C\uACE0\uB9AC \uBA54\uB274\uB97C \uC81C\uACF5\uD558\uB294 STN \uB514\uC790\uC778 \uC2DC\uC2A4\uD15C \uD45C\uC900 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uB2E8\uCD95\uD0A4 \uD78C\uD2B8, \uCCB4\uD06C/\uB77C\uB514\uC624 \uBAA8\uB4DC, \uC544\uC774\uCF58 \uC778\uC14B \uC815\uB82C, \uC2A4\uD06C\uB864 \uC81C\uD55C(maxHeight), \uC704\uD5D8 \uC561\uC158(destructive)\uC744 \uC644\uBCBD\uD558\uAC8C \uC9C0\uC6D0\uD569\uB2C8\uB2E4.";
10
+
11
+ export {
12
+ STN_MENU_SIZES,
13
+ STN_MENU_INTRO
14
+ };
15
+ //# sourceMappingURL=chunk-7OZGRHFD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/stnMenu.ts"],"sourcesContent":["/**\n * StnMenu — STN 디자인 시스템 표준 메뉴 컴포넌트 데이터 규격 (SSOT)\n */\n\nexport type StnMenuSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport type StnMenuPadding = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport type StnMenuElevation = 0 | 1 | 2 | 3 | 4 | 5\n\nexport type StnMenuWidth =\n | 'w80'\n | 'w100'\n | 'w120'\n | 'w140'\n | 'w160'\n | 'w180'\n | 'w200'\n | 'full'\n\nexport type StnMenuItemRole = 'menuitem' | 'menuitemcheckbox' | 'menuitemradio'\n\nexport interface StnMenuSizeSpec {\n size: StnMenuSize\n itemHeight: number\n paddingY: number\n paddingX: number\n fontSize: string\n iconSize: number\n gap: number\n desc: string\n}\n\nexport const STN_MENU_SIZES: readonly StnMenuSizeSpec[] = [\n { size: 'xs', itemHeight: 24, paddingY: 2, paddingX: 6, fontSize: 'caption', iconSize: 14, gap: 4, desc: '초소형 컨텍스트 메뉴, 툴팁 내부 액션' },\n { size: 'sm', itemHeight: 28, paddingY: 4, paddingX: 6, fontSize: 'caption', iconSize: 16, gap: 4, desc: '컴팩트 드롭다운 및 밀집 툴바 액션 메뉴 (dense)' },\n { size: 'md', itemHeight: 32, paddingY: 6, paddingX: 8, fontSize: 'body-small (13px)', iconSize: 16, gap: 6, desc: '표준 기본 메뉴 (드롭다운 옵션 SSOT와 100% 동일)' },\n { size: 'lg', itemHeight: 38, paddingY: 8, paddingX: 10, fontSize: 'body-2 (14px)', iconSize: 18, gap: 8, desc: '터치 및 아바타 프로필 연동 메뉴' },\n { size: 'xl', itemHeight: 44, paddingY: 10, paddingX: 12, fontSize: 'body-1 (16px)', iconSize: 20, gap: 10, desc: '대형 하이라이트 내비게이션 메뉴' },\n] as const\n\nexport const STN_MENU_INTRO =\n 'StnMenu는 버튼 앵커링 드롭다운, 우클릭 컨텍스트 메뉴(Context Menu), 액션 시트, 그룹 카테고리 메뉴를 제공하는 STN 디자인 시스템 표준 컴포넌트입니다. 단축키 힌트, 체크/라디오 모드, 아이콘 인셋 정렬, 스크롤 제한(maxHeight), 위험 액션(destructive)을 완벽하게 지원합니다.'\n"],"mappings":";AAiCO,IAAM,iBAA6C;AAAA,EACxD,EAAE,MAAM,MAAM,YAAY,IAAI,UAAU,GAAG,UAAU,GAAG,UAAU,WAAW,UAAU,IAAI,KAAK,GAAG,MAAM,mGAAwB;AAAA,EACjI,EAAE,MAAM,MAAM,YAAY,IAAI,UAAU,GAAG,UAAU,GAAG,UAAU,WAAW,UAAU,IAAI,KAAK,GAAG,MAAM,iHAAiC;AAAA,EAC1I,EAAE,MAAM,MAAM,YAAY,IAAI,UAAU,GAAG,UAAU,GAAG,UAAU,qBAAqB,UAAU,IAAI,KAAK,GAAG,MAAM,8GAAmC;AAAA,EACtJ,EAAE,MAAM,MAAM,YAAY,IAAI,UAAU,GAAG,UAAU,IAAI,UAAU,iBAAiB,UAAU,IAAI,KAAK,GAAG,MAAM,sFAAqB;AAAA,EACrI,EAAE,MAAM,MAAM,YAAY,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,iBAAiB,UAAU,IAAI,KAAK,IAAI,MAAM,0FAAoB;AACxI;AAEO,IAAM,iBACX;","names":[]}
@@ -0,0 +1,15 @@
1
+ // src/data/stnList.ts
2
+ var STN_LIST_SIZES = [
3
+ { size: "xs", minHeight: 24, paddingY: 4, paddingX: 8, fontSize: "caption-small", desc: "\uCD08\uC18C\uD615 \uC790\uC6D0 \uD328\uB110, \uD234\uD301/\uB4DC\uB86D\uB2E4\uC6B4 \uB0B4\uBD80\uC6A9" },
4
+ { size: "sm", minHeight: 32, paddingY: 6, paddingX: 10, fontSize: "caption-medium", desc: "\uB9DD\uAD6C\uC131\uB3C4 \uC0AC\uC774\uB4DC\uBC14 \uC790\uC6D0 \uBAA9\uB85D \uBC0F \uCEF4\uD329\uD2B8 \uBA54\uB274\uC6A9" },
5
+ { size: "md", minHeight: 40, paddingY: 8, paddingX: 12, fontSize: "body-medium", desc: "\uD45C\uC900 \uAE30\uBCF8\uAC12, \uBAA8\uBC14\uC77C/PC \uACB8\uC6A9 1\uB2E8\xB72\uB2E8 \uD14D\uC2A4\uD2B8" },
6
+ { size: "lg", minHeight: 48, paddingY: 12, paddingX: 14, fontSize: "body-large", desc: "\uC544\uBC14\uD0C0/\uC544\uC774\uCF58 + 2\uB2E8 \uD14D\uC2A4\uD2B8 + \uC6B0\uCE21 \uB2E4\uC911 \uBC84\uD2BC" },
7
+ { size: "xl", minHeight: 56, paddingY: 16, paddingX: 16, fontSize: "title-medium", desc: "\uB300\uD615 \uCE74\uB4DC\uD615 \uD558\uC774\uB77C\uC774\uD2B8 \uBAA9\uB85D" }
8
+ ];
9
+ var STN_LIST_INTRO = "StnList\uB294 1\uCC28\uC6D0 \uBAA9\uB85D \uAD6C\uC870\uB97C \uD45C\uD604\uD558\uAE30 \uC704\uD55C STN \uB514\uC790\uC778 \uC2DC\uC2A4\uD15C \uD45C\uC900 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uACC4\uCE35\uD615 \uC911\uCCA9(Collapse), \uC6B0\uCE21 \uB2E4\uC911 \uC561\uC158, \uC2A4\uC704\uCE58/\uCCB4\uD06C\uBC15\uC2A4 \uB3C4\uD0B9, \uC2A4\uD2F0\uD0A4 \uD5E4\uB354, \uB300\uC6A9\uB7C9 \uAC00\uC0C1\uD654 \uC2A4\uD06C\uB864(Virtual)\uC744 \uC644\uBCBD\uD558\uAC8C \uC9C0\uC6D0\uD569\uB2C8\uB2E4.";
10
+
11
+ export {
12
+ STN_LIST_SIZES,
13
+ STN_LIST_INTRO
14
+ };
15
+ //# sourceMappingURL=chunk-I2Y7E4TU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/stnList.ts"],"sourcesContent":["/**\n * StnList — STN 디자인 시스템 표준 목록 컴포넌트 데이터 규격 (SSOT)\n */\n\nexport type StnListSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport type StnListPadding = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n\nexport type StnListWidth =\n | 'w80'\n | 'w100'\n | 'w120'\n | 'w140'\n | 'w160'\n | 'w180'\n | 'w200'\n | 'full'\n\nexport type StnListVariant = 'flat' | 'card' | 'bordered'\n\nexport interface StnListSizeSpec {\n size: StnListSize\n minHeight: number\n paddingY: number\n paddingX: number\n fontSize: string\n desc: string\n}\n\nexport const STN_LIST_SIZES: readonly StnListSizeSpec[] = [\n { size: 'xs', minHeight: 24, paddingY: 4, paddingX: 8, fontSize: 'caption-small', desc: '초소형 자원 패널, 툴팁/드롭다운 내부용' },\n { size: 'sm', minHeight: 32, paddingY: 6, paddingX: 10, fontSize: 'caption-medium', desc: '망구성도 사이드바 자원 목록 및 컴팩트 메뉴용' },\n { size: 'md', minHeight: 40, paddingY: 8, paddingX: 12, fontSize: 'body-medium', desc: '표준 기본값, 모바일/PC 겸용 1단·2단 텍스트' },\n { size: 'lg', minHeight: 48, paddingY: 12, paddingX: 14, fontSize: 'body-large', desc: '아바타/아이콘 + 2단 텍스트 + 우측 다중 버튼' },\n { size: 'xl', minHeight: 56, paddingY: 16, paddingX: 16, fontSize: 'title-medium', desc: '대형 카드형 하이라이트 목록' },\n] as const\n\nexport const STN_LIST_INTRO =\n 'StnList는 1차원 목록 구조를 표현하기 위한 STN 디자인 시스템 표준 컴포넌트입니다. 계층형 중첩(Collapse), 우측 다중 액션, 스위치/체크박스 도킹, 스티키 헤더, 대용량 가상화 스크롤(Virtual)을 완벽하게 지원합니다.'\n"],"mappings":";AA6BO,IAAM,iBAA6C;AAAA,EACxD,EAAE,MAAM,MAAM,WAAW,IAAI,UAAU,GAAG,UAAU,GAAG,UAAU,iBAAiB,MAAM,yGAAyB;AAAA,EACjH,EAAE,MAAM,MAAM,WAAW,IAAI,UAAU,GAAG,UAAU,IAAI,UAAU,kBAAkB,MAAM,2HAA4B;AAAA,EACtH,EAAE,MAAM,MAAM,WAAW,IAAI,UAAU,GAAG,UAAU,IAAI,UAAU,eAAe,MAAM,4GAA8B;AAAA,EACrH,EAAE,MAAM,MAAM,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,cAAc,MAAM,8GAA8B;AAAA,EACrH,EAAE,MAAM,MAAM,WAAW,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,gBAAgB,MAAM,8EAAkB;AAC7G;AAEO,IAAM,iBACX;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-PXTPAYC3.js.map
@@ -0,0 +1,9 @@
1
+ // src/data/stnPackageVersion.ts
2
+ var STN_UI_VERSION = "0.1.87";
3
+ var STN_UI_VERSION_LABEL = "v0.1.87";
4
+
5
+ export {
6
+ STN_UI_VERSION,
7
+ STN_UI_VERSION_LABEL
8
+ };
9
+ //# sourceMappingURL=chunk-ZGYPJEU3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.87'\nexport const STN_UI_VERSION_LABEL = 'v0.1.87'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
package/dist/cli.js CHANGED
@@ -1,3 +1,6 @@
1
+ import {
2
+ STN_TEXT_FIELD_USAGE
3
+ } from "./chunk-YJLOIDKY.js";
1
4
  import {
2
5
  STN_TOAST_REACT_USAGE
3
6
  } from "./chunk-U66BCO23.js";
@@ -12,8 +15,8 @@ import {
12
15
  STN_TABLE_REACT_EXAMPLE
13
16
  } from "./chunk-IOBNIUK3.js";
14
17
  import {
15
- STN_TEXT_FIELD_USAGE
16
- } from "./chunk-YJLOIDKY.js";
18
+ STN_SCROLL_USAGE
19
+ } from "./chunk-CHJATVOT.js";
17
20
  import {
18
21
  STN_SEARCH_REQUIREMENT_USAGE
19
22
  } from "./chunk-AE4CKAEK.js";
@@ -24,9 +27,6 @@ import {
24
27
  import {
25
28
  STN_POPUP_USAGE
26
29
  } from "./chunk-G4SOYIHZ.js";
27
- import {
28
- STN_SCROLL_USAGE
29
- } from "./chunk-CHJATVOT.js";
30
30
  import {
31
31
  STN_LOADING_SKELETON_USAGE
32
32
  } from "./chunk-5BGXBJXN.js";
@@ -71,5 +71,7 @@ export { STN_STEP_STATUS_SPEC, StnStepItem, StnStepStatus, StnStepperLineThickne
71
71
  export { STN_POPOVER_INTRO, STN_POPOVER_USAGE, StnPopoverHorizontalOrigin, StnPopoverOrigin, StnPopoverPosition, StnPopoverReference, StnPopoverVerticalOrigin } from './stnPopover.js';
72
72
  export { STN_STEP_CARDS_INTRO, StnStepCardItem } from './stnStepCards.js';
73
73
  export { STN_SPLIT_VIEW_INTRO, STN_SPLIT_VIEW_OVERLAY_PLACEMENTS, STN_SPLIT_VIEW_PADDINGS, STN_SPLIT_VIEW_SIDE_WIDTHS, StnSplitViewOverlayPlacement, StnSplitViewPadding, StnSplitViewSideWidth } from './stnSplitView.js';
74
+ export { STN_LIST_INTRO, STN_LIST_SIZES, StnListPadding, StnListSize, StnListSizeSpec, StnListVariant, StnListWidth } from './stnList.js';
75
+ export { STN_MENU_INTRO, STN_MENU_SIZES, StnMenuElevation, StnMenuItemRole, StnMenuPadding, StnMenuSize, StnMenuSizeSpec, StnMenuWidth } from './stnMenu.js';
74
76
  export { SYSTEM_ICON_DATA_URLS } from './stnSystemIconsData.generated.js';
75
77
  import 'react';
@@ -1,4 +1,4 @@
1
- import "../chunk-ERZPIKPF.js";
1
+ import "../chunk-PXTPAYC3.js";
2
2
  import {
3
3
  STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT,
4
4
  STN_TOGGLE_BUTTON_PLAYGROUND_INTRO,
@@ -29,6 +29,12 @@ import {
29
29
  typographyPrimitivesToJson,
30
30
  typographySemanticsToJson
31
31
  } from "../chunk-2TRZNWCA.js";
32
+ import {
33
+ STN_STEP_CARDS_INTRO
34
+ } from "../chunk-NYZMUDVK.js";
35
+ import {
36
+ STN_STEP_STATUS_SPEC
37
+ } from "../chunk-N4PVFFKV.js";
32
38
  import "../chunk-7ONB2WVN.js";
33
39
  import {
34
40
  STN_TEXT_AREA_HTML,
@@ -40,6 +46,15 @@ import {
40
46
  import {
41
47
  STN_TEXT_COLOR_ROWS
42
48
  } from "../chunk-4HUY6TN4.js";
49
+ import {
50
+ STN_SIZE_INTRO,
51
+ STN_SIZE_ROWS,
52
+ sizeTokensToJson
53
+ } from "../chunk-YI22T66L.js";
54
+ import {
55
+ STN_SIZE_SEMANTIC_INTRO,
56
+ STN_SIZE_SEMANTIC_ROWS
57
+ } from "../chunk-2FHXIAM3.js";
43
58
  import {
44
59
  STN_SLIDER_HTML,
45
60
  STN_SLIDER_INTRO,
@@ -69,11 +84,9 @@ import {
69
84
  STN_STATUS_DEMO_STEPS
70
85
  } from "../chunk-R6NCTORS.js";
71
86
  import {
72
- STN_STEP_CARDS_INTRO
73
- } from "../chunk-NYZMUDVK.js";
74
- import {
75
- STN_STEP_STATUS_SPEC
76
- } from "../chunk-N4PVFFKV.js";
87
+ STN_RADIUS_USECASE_INTRO,
88
+ STN_RADIUS_USECASE_ROWS
89
+ } from "../chunk-666SNAJT.js";
77
90
  import {
78
91
  STN_SECTION_SIDE_FIGMA,
79
92
  STN_SECTION_SIDE_INTRO,
@@ -93,14 +106,17 @@ import {
93
106
  STN_SIDE_NAV_SUB_ICON
94
107
  } from "../chunk-QIX7SYPC.js";
95
108
  import {
96
- STN_SIZE_INTRO,
97
- STN_SIZE_ROWS,
98
- sizeTokensToJson
99
- } from "../chunk-YI22T66L.js";
109
+ STN_PAGE_ENTER_MOTION_INTRO,
110
+ STN_PAGE_ENTER_MOTION_ROWS,
111
+ STN_PAGE_ENTER_MOTION_USAGE,
112
+ STN_PAGE_ENTER_MOTION_USAGE_HTML
113
+ } from "../chunk-R65PNEWS.js";
100
114
  import {
101
- STN_SIZE_SEMANTIC_INTRO,
102
- STN_SIZE_SEMANTIC_ROWS
103
- } from "../chunk-2FHXIAM3.js";
115
+ STN_PAGINATION_EXAMPLE,
116
+ STN_PAGINATION_FIGMA,
117
+ STN_PAGINATION_INTRO,
118
+ STN_PAGINATION_REACT
119
+ } from "../chunk-PE4ZB5QC.js";
104
120
  import {
105
121
  STN_POPOVER_INTRO,
106
122
  STN_POPOVER_USAGE
@@ -137,9 +153,9 @@ import {
137
153
  radiusSemanticToJson
138
154
  } from "../chunk-I7S5YLB3.js";
139
155
  import {
140
- STN_RADIUS_USECASE_INTRO,
141
- STN_RADIUS_USECASE_ROWS
142
- } from "../chunk-666SNAJT.js";
156
+ STN_LIST_INTRO,
157
+ STN_LIST_SIZES
158
+ } from "../chunk-I2Y7E4TU.js";
143
159
  import {
144
160
  STN_LIST_TABLE_FIGMA,
145
161
  STN_LIST_TABLE_FOOTER_MAX_ACTIONS,
@@ -156,6 +172,10 @@ import {
156
172
  import {
157
173
  STN_MAP_DASHBOARD_OPTION_ROWS
158
174
  } from "../chunk-3DAZMM4T.js";
175
+ import {
176
+ STN_MENU_INTRO,
177
+ STN_MENU_SIZES
178
+ } from "../chunk-7OZGRHFD.js";
159
179
  import {
160
180
  STN_MOTION_CONSTRAINT_ROWS,
161
181
  STN_MOTION_DELAY_ROWS,
@@ -170,19 +190,7 @@ import {
170
190
  import {
171
191
  STN_UI_VERSION,
172
192
  STN_UI_VERSION_LABEL
173
- } from "../chunk-2PIUQUBN.js";
174
- import {
175
- STN_PAGE_ENTER_MOTION_INTRO,
176
- STN_PAGE_ENTER_MOTION_ROWS,
177
- STN_PAGE_ENTER_MOTION_USAGE,
178
- STN_PAGE_ENTER_MOTION_USAGE_HTML
179
- } from "../chunk-R65PNEWS.js";
180
- import {
181
- STN_PAGINATION_EXAMPLE,
182
- STN_PAGINATION_FIGMA,
183
- STN_PAGINATION_INTRO,
184
- STN_PAGINATION_REACT
185
- } from "../chunk-PE4ZB5QC.js";
193
+ } from "../chunk-ZGYPJEU3.js";
186
194
  import {
187
195
  STN_HEADER_TITLE_DEMO,
188
196
  STN_HEADER_TITLE_FIGMA,
@@ -329,6 +337,14 @@ import {
329
337
  STN_GRADE_SEMANTIC_ROWS,
330
338
  STN_GRADE_SOURCE
331
339
  } from "../chunk-E26XJXQY.js";
340
+ import {
341
+ STN_TEXT_FIELD_FIGMA,
342
+ STN_TEXT_FIELD_HTML,
343
+ STN_TEXT_FIELD_INTRO,
344
+ STN_TEXT_FIELD_SIZE_ROWS,
345
+ STN_TEXT_FIELD_STATES,
346
+ STN_TEXT_FIELD_USAGE
347
+ } from "../chunk-YJLOIDKY.js";
332
348
  import {
333
349
  STN_TOAST_DEMO_MSG,
334
350
  STN_TOAST_ICON_SLUG,
@@ -400,13 +416,12 @@ import {
400
416
  STN_TABLE_TH_LABEL_FIGMA
401
417
  } from "../chunk-IOBNIUK3.js";
402
418
  import {
403
- STN_TEXT_FIELD_FIGMA,
404
- STN_TEXT_FIELD_HTML,
405
- STN_TEXT_FIELD_INTRO,
406
- STN_TEXT_FIELD_SIZE_ROWS,
407
- STN_TEXT_FIELD_STATES,
408
- STN_TEXT_FIELD_USAGE
409
- } from "../chunk-YJLOIDKY.js";
419
+ STN_SCROLL_FIGMA,
420
+ STN_SCROLL_INTRO,
421
+ STN_SCROLL_SPEC,
422
+ STN_SCROLL_USAGE,
423
+ STN_SCROLL_USAGE_HTML
424
+ } from "../chunk-CHJATVOT.js";
410
425
  import {
411
426
  STN_SEARCH_REQUIREMENT_DEMO_FIELDS,
412
427
  STN_SEARCH_REQUIREMENT_FIGMA,
@@ -437,13 +452,6 @@ import {
437
452
  STN_POPUP_USAGE_HTML,
438
453
  resolveStnPopupSizeFromWidth
439
454
  } from "../chunk-G4SOYIHZ.js";
440
- import {
441
- STN_SCROLL_FIGMA,
442
- STN_SCROLL_INTRO,
443
- STN_SCROLL_SPEC,
444
- STN_SCROLL_USAGE,
445
- STN_SCROLL_USAGE_HTML
446
- } from "../chunk-CHJATVOT.js";
447
455
  import {
448
456
  STN_LOADING_SKELETON_COLORS,
449
457
  STN_LOADING_SKELETON_INTRO,
@@ -771,6 +779,8 @@ export {
771
779
  STN_LAYOUT_SLOT_USAGE,
772
780
  STN_LAYOUT_WHEN_TO_USE,
773
781
  STN_LINE_HEIGHT_ROWS,
782
+ STN_LIST_INTRO,
783
+ STN_LIST_SIZES,
774
784
  STN_LIST_TABLE_FIGMA,
775
785
  STN_LIST_TABLE_FOOTER_MAX_ACTIONS,
776
786
  STN_LIST_TABLE_OPTION_ROWS,
@@ -786,6 +796,8 @@ export {
786
796
  STN_LOGIN_INTRO,
787
797
  STN_LOGIN_USAGE,
788
798
  STN_MAP_DASHBOARD_OPTION_ROWS,
799
+ STN_MENU_INTRO,
800
+ STN_MENU_SIZES,
789
801
  STN_MOTION_CONSTRAINT_ROWS,
790
802
  STN_MOTION_DELAY_ROWS,
791
803
  STN_MOTION_DISTANCE_ROWS,
@@ -0,0 +1,19 @@
1
+ /**
2
+ * StnList — STN 디자인 시스템 표준 목록 컴포넌트 데이터 규격 (SSOT)
3
+ */
4
+ type StnListSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ type StnListPadding = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ type StnListWidth = 'w80' | 'w100' | 'w120' | 'w140' | 'w160' | 'w180' | 'w200' | 'full';
7
+ type StnListVariant = 'flat' | 'card' | 'bordered';
8
+ interface StnListSizeSpec {
9
+ size: StnListSize;
10
+ minHeight: number;
11
+ paddingY: number;
12
+ paddingX: number;
13
+ fontSize: string;
14
+ desc: string;
15
+ }
16
+ declare const STN_LIST_SIZES: readonly StnListSizeSpec[];
17
+ declare const STN_LIST_INTRO = "StnList\uB294 1\uCC28\uC6D0 \uBAA9\uB85D \uAD6C\uC870\uB97C \uD45C\uD604\uD558\uAE30 \uC704\uD55C STN \uB514\uC790\uC778 \uC2DC\uC2A4\uD15C \uD45C\uC900 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uACC4\uCE35\uD615 \uC911\uCCA9(Collapse), \uC6B0\uCE21 \uB2E4\uC911 \uC561\uC158, \uC2A4\uC704\uCE58/\uCCB4\uD06C\uBC15\uC2A4 \uB3C4\uD0B9, \uC2A4\uD2F0\uD0A4 \uD5E4\uB354, \uB300\uC6A9\uB7C9 \uAC00\uC0C1\uD654 \uC2A4\uD06C\uB864(Virtual)\uC744 \uC644\uBCBD\uD558\uAC8C \uC9C0\uC6D0\uD569\uB2C8\uB2E4.";
18
+
19
+ export { STN_LIST_INTRO, STN_LIST_SIZES, type StnListPadding, type StnListSize, type StnListSizeSpec, type StnListVariant, type StnListWidth };
@@ -0,0 +1,9 @@
1
+ import {
2
+ STN_LIST_INTRO,
3
+ STN_LIST_SIZES
4
+ } from "../chunk-I2Y7E4TU.js";
5
+ export {
6
+ STN_LIST_INTRO,
7
+ STN_LIST_SIZES
8
+ };
9
+ //# sourceMappingURL=stnList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * StnMenu — STN 디자인 시스템 표준 메뉴 컴포넌트 데이터 규격 (SSOT)
3
+ */
4
+ type StnMenuSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ type StnMenuPadding = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ type StnMenuElevation = 0 | 1 | 2 | 3 | 4 | 5;
7
+ type StnMenuWidth = 'w80' | 'w100' | 'w120' | 'w140' | 'w160' | 'w180' | 'w200' | 'full';
8
+ type StnMenuItemRole = 'menuitem' | 'menuitemcheckbox' | 'menuitemradio';
9
+ interface StnMenuSizeSpec {
10
+ size: StnMenuSize;
11
+ itemHeight: number;
12
+ paddingY: number;
13
+ paddingX: number;
14
+ fontSize: string;
15
+ iconSize: number;
16
+ gap: number;
17
+ desc: string;
18
+ }
19
+ declare const STN_MENU_SIZES: readonly StnMenuSizeSpec[];
20
+ declare const STN_MENU_INTRO = "StnMenu\uB294 \uBC84\uD2BC \uC575\uCEE4\uB9C1 \uB4DC\uB86D\uB2E4\uC6B4, \uC6B0\uD074\uB9AD \uCEE8\uD14D\uC2A4\uD2B8 \uBA54\uB274(Context Menu), \uC561\uC158 \uC2DC\uD2B8, \uADF8\uB8F9 \uCE74\uD14C\uACE0\uB9AC \uBA54\uB274\uB97C \uC81C\uACF5\uD558\uB294 STN \uB514\uC790\uC778 \uC2DC\uC2A4\uD15C \uD45C\uC900 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uB2E8\uCD95\uD0A4 \uD78C\uD2B8, \uCCB4\uD06C/\uB77C\uB514\uC624 \uBAA8\uB4DC, \uC544\uC774\uCF58 \uC778\uC14B \uC815\uB82C, \uC2A4\uD06C\uB864 \uC81C\uD55C(maxHeight), \uC704\uD5D8 \uC561\uC158(destructive)\uC744 \uC644\uBCBD\uD558\uAC8C \uC9C0\uC6D0\uD569\uB2C8\uB2E4.";
21
+
22
+ export { STN_MENU_INTRO, STN_MENU_SIZES, type StnMenuElevation, type StnMenuItemRole, type StnMenuPadding, type StnMenuSize, type StnMenuSizeSpec, type StnMenuWidth };
@@ -0,0 +1,9 @@
1
+ import {
2
+ STN_MENU_INTRO,
3
+ STN_MENU_SIZES
4
+ } from "../chunk-7OZGRHFD.js";
5
+ export {
6
+ STN_MENU_INTRO,
7
+ STN_MENU_SIZES
8
+ };
9
+ //# sourceMappingURL=stnMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,5 @@
1
1
  /** Package version constants */
2
- declare const STN_UI_VERSION = "0.1.86";
3
- declare const STN_UI_VERSION_LABEL = "v0.1.86";
2
+ declare const STN_UI_VERSION = "0.1.87";
3
+ declare const STN_UI_VERSION_LABEL = "v0.1.87";
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-2PIUQUBN.js";
4
+ } from "../chunk-ZGYPJEU3.js";
5
5
  export {
6
6
  STN_UI_VERSION,
7
7
  STN_UI_VERSION_LABEL
package/dist/index.d.ts CHANGED
@@ -71,6 +71,8 @@ export { STN_STEP_STATUS_SPEC, StnStepItem, StnStepStatus, StnStepperLineThickne
71
71
  export { STN_POPOVER_INTRO, STN_POPOVER_USAGE, StnPopoverHorizontalOrigin, StnPopoverOrigin, StnPopoverPosition, StnPopoverReference, StnPopoverVerticalOrigin } from './data/stnPopover.js';
72
72
  export { STN_STEP_CARDS_INTRO, StnStepCardItem } from './data/stnStepCards.js';
73
73
  export { STN_SPLIT_VIEW_INTRO, STN_SPLIT_VIEW_OVERLAY_PLACEMENTS, STN_SPLIT_VIEW_PADDINGS, STN_SPLIT_VIEW_SIDE_WIDTHS, StnSplitViewOverlayPlacement, StnSplitViewPadding, StnSplitViewSideWidth } from './data/stnSplitView.js';
74
+ export { STN_LIST_INTRO, STN_LIST_SIZES, StnListPadding, StnListSize, StnListSizeSpec, StnListVariant, StnListWidth } from './data/stnList.js';
75
+ export { STN_MENU_INTRO, STN_MENU_SIZES, StnMenuElevation, StnMenuItemRole, StnMenuPadding, StnMenuSize, StnMenuSizeSpec, StnMenuWidth } from './data/stnMenu.js';
74
76
  export { STN_UI_CATALOG, STN_UI_COMPONENTS, STN_UI_FOUNDATIONS, StnUiComponentId, StnUiEntry, StnUiFoundationId } from './components.js';
75
77
  export { SYSTEM_ICON_DATA_URLS } from './data/stnSystemIconsData.generated.js';
76
78
  import 'react';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  STN_UI_COMPONENTS,
4
4
  STN_UI_FOUNDATIONS
5
5
  } from "./chunk-K6TWXWIO.js";
6
- import "./chunk-ERZPIKPF.js";
6
+ import "./chunk-PXTPAYC3.js";
7
7
  import {
8
8
  STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT,
9
9
  STN_TOGGLE_BUTTON_PLAYGROUND_INTRO,
@@ -34,6 +34,12 @@ import {
34
34
  typographyPrimitivesToJson,
35
35
  typographySemanticsToJson
36
36
  } from "./chunk-2TRZNWCA.js";
37
+ import {
38
+ STN_STEP_CARDS_INTRO
39
+ } from "./chunk-NYZMUDVK.js";
40
+ import {
41
+ STN_STEP_STATUS_SPEC
42
+ } from "./chunk-N4PVFFKV.js";
37
43
  import "./chunk-7ONB2WVN.js";
38
44
  import {
39
45
  STN_TEXT_AREA_HTML,
@@ -45,6 +51,15 @@ import {
45
51
  import {
46
52
  STN_TEXT_COLOR_ROWS
47
53
  } from "./chunk-4HUY6TN4.js";
54
+ import {
55
+ STN_SIZE_INTRO,
56
+ STN_SIZE_ROWS,
57
+ sizeTokensToJson
58
+ } from "./chunk-YI22T66L.js";
59
+ import {
60
+ STN_SIZE_SEMANTIC_INTRO,
61
+ STN_SIZE_SEMANTIC_ROWS
62
+ } from "./chunk-2FHXIAM3.js";
48
63
  import {
49
64
  STN_SLIDER_HTML,
50
65
  STN_SLIDER_INTRO,
@@ -74,11 +89,9 @@ import {
74
89
  STN_STATUS_DEMO_STEPS
75
90
  } from "./chunk-R6NCTORS.js";
76
91
  import {
77
- STN_STEP_CARDS_INTRO
78
- } from "./chunk-NYZMUDVK.js";
79
- import {
80
- STN_STEP_STATUS_SPEC
81
- } from "./chunk-N4PVFFKV.js";
92
+ STN_RADIUS_USECASE_INTRO,
93
+ STN_RADIUS_USECASE_ROWS
94
+ } from "./chunk-666SNAJT.js";
82
95
  import {
83
96
  STN_SECTION_SIDE_FIGMA,
84
97
  STN_SECTION_SIDE_INTRO,
@@ -98,14 +111,17 @@ import {
98
111
  STN_SIDE_NAV_SUB_ICON
99
112
  } from "./chunk-QIX7SYPC.js";
100
113
  import {
101
- STN_SIZE_INTRO,
102
- STN_SIZE_ROWS,
103
- sizeTokensToJson
104
- } from "./chunk-YI22T66L.js";
114
+ STN_PAGE_ENTER_MOTION_INTRO,
115
+ STN_PAGE_ENTER_MOTION_ROWS,
116
+ STN_PAGE_ENTER_MOTION_USAGE,
117
+ STN_PAGE_ENTER_MOTION_USAGE_HTML
118
+ } from "./chunk-R65PNEWS.js";
105
119
  import {
106
- STN_SIZE_SEMANTIC_INTRO,
107
- STN_SIZE_SEMANTIC_ROWS
108
- } from "./chunk-2FHXIAM3.js";
120
+ STN_PAGINATION_EXAMPLE,
121
+ STN_PAGINATION_FIGMA,
122
+ STN_PAGINATION_INTRO,
123
+ STN_PAGINATION_REACT
124
+ } from "./chunk-PE4ZB5QC.js";
109
125
  import {
110
126
  STN_POPOVER_INTRO,
111
127
  STN_POPOVER_USAGE
@@ -142,9 +158,9 @@ import {
142
158
  radiusSemanticToJson
143
159
  } from "./chunk-I7S5YLB3.js";
144
160
  import {
145
- STN_RADIUS_USECASE_INTRO,
146
- STN_RADIUS_USECASE_ROWS
147
- } from "./chunk-666SNAJT.js";
161
+ STN_LIST_INTRO,
162
+ STN_LIST_SIZES
163
+ } from "./chunk-I2Y7E4TU.js";
148
164
  import {
149
165
  STN_LIST_TABLE_FIGMA,
150
166
  STN_LIST_TABLE_FOOTER_MAX_ACTIONS,
@@ -161,6 +177,10 @@ import {
161
177
  import {
162
178
  STN_MAP_DASHBOARD_OPTION_ROWS
163
179
  } from "./chunk-3DAZMM4T.js";
180
+ import {
181
+ STN_MENU_INTRO,
182
+ STN_MENU_SIZES
183
+ } from "./chunk-7OZGRHFD.js";
164
184
  import {
165
185
  STN_MOTION_CONSTRAINT_ROWS,
166
186
  STN_MOTION_DELAY_ROWS,
@@ -175,19 +195,7 @@ import {
175
195
  import {
176
196
  STN_UI_VERSION,
177
197
  STN_UI_VERSION_LABEL
178
- } from "./chunk-2PIUQUBN.js";
179
- import {
180
- STN_PAGE_ENTER_MOTION_INTRO,
181
- STN_PAGE_ENTER_MOTION_ROWS,
182
- STN_PAGE_ENTER_MOTION_USAGE,
183
- STN_PAGE_ENTER_MOTION_USAGE_HTML
184
- } from "./chunk-R65PNEWS.js";
185
- import {
186
- STN_PAGINATION_EXAMPLE,
187
- STN_PAGINATION_FIGMA,
188
- STN_PAGINATION_INTRO,
189
- STN_PAGINATION_REACT
190
- } from "./chunk-PE4ZB5QC.js";
198
+ } from "./chunk-ZGYPJEU3.js";
191
199
  import {
192
200
  STN_HEADER_TITLE_DEMO,
193
201
  STN_HEADER_TITLE_FIGMA,
@@ -334,6 +342,14 @@ import {
334
342
  STN_GRADE_SEMANTIC_ROWS,
335
343
  STN_GRADE_SOURCE
336
344
  } from "./chunk-E26XJXQY.js";
345
+ import {
346
+ STN_TEXT_FIELD_FIGMA,
347
+ STN_TEXT_FIELD_HTML,
348
+ STN_TEXT_FIELD_INTRO,
349
+ STN_TEXT_FIELD_SIZE_ROWS,
350
+ STN_TEXT_FIELD_STATES,
351
+ STN_TEXT_FIELD_USAGE
352
+ } from "./chunk-YJLOIDKY.js";
337
353
  import {
338
354
  STN_TOAST_DEMO_MSG,
339
355
  STN_TOAST_ICON_SLUG,
@@ -405,13 +421,12 @@ import {
405
421
  STN_TABLE_TH_LABEL_FIGMA
406
422
  } from "./chunk-IOBNIUK3.js";
407
423
  import {
408
- STN_TEXT_FIELD_FIGMA,
409
- STN_TEXT_FIELD_HTML,
410
- STN_TEXT_FIELD_INTRO,
411
- STN_TEXT_FIELD_SIZE_ROWS,
412
- STN_TEXT_FIELD_STATES,
413
- STN_TEXT_FIELD_USAGE
414
- } from "./chunk-YJLOIDKY.js";
424
+ STN_SCROLL_FIGMA,
425
+ STN_SCROLL_INTRO,
426
+ STN_SCROLL_SPEC,
427
+ STN_SCROLL_USAGE,
428
+ STN_SCROLL_USAGE_HTML
429
+ } from "./chunk-CHJATVOT.js";
415
430
  import {
416
431
  STN_SEARCH_REQUIREMENT_DEMO_FIELDS,
417
432
  STN_SEARCH_REQUIREMENT_FIGMA,
@@ -442,13 +457,6 @@ import {
442
457
  STN_POPUP_USAGE_HTML,
443
458
  resolveStnPopupSizeFromWidth
444
459
  } from "./chunk-G4SOYIHZ.js";
445
- import {
446
- STN_SCROLL_FIGMA,
447
- STN_SCROLL_INTRO,
448
- STN_SCROLL_SPEC,
449
- STN_SCROLL_USAGE,
450
- STN_SCROLL_USAGE_HTML
451
- } from "./chunk-CHJATVOT.js";
452
460
  import {
453
461
  STN_LOADING_SKELETON_COLORS,
454
462
  STN_LOADING_SKELETON_INTRO,
@@ -776,6 +784,8 @@ export {
776
784
  STN_LAYOUT_SLOT_USAGE,
777
785
  STN_LAYOUT_WHEN_TO_USE,
778
786
  STN_LINE_HEIGHT_ROWS,
787
+ STN_LIST_INTRO,
788
+ STN_LIST_SIZES,
779
789
  STN_LIST_TABLE_FIGMA,
780
790
  STN_LIST_TABLE_FOOTER_MAX_ACTIONS,
781
791
  STN_LIST_TABLE_OPTION_ROWS,
@@ -791,6 +801,8 @@ export {
791
801
  STN_LOGIN_INTRO,
792
802
  STN_LOGIN_USAGE,
793
803
  STN_MAP_DASHBOARD_OPTION_ROWS,
804
+ STN_MENU_INTRO,
805
+ STN_MENU_SIZES,
794
806
  STN_MOTION_CONSTRAINT_ROWS,
795
807
  STN_MOTION_DELAY_ROWS,
796
808
  STN_MOTION_DISTANCE_ROWS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stn-uiux/pub-ui",
3
- "version": "0.1.86",
3
+ "version": "0.1.87",
4
4
  "description": "STN Pub design system — tokens, specs, and CSS for product HTML / React apps",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -312,17 +312,3 @@
312
312
  background-color: var(--stn-badge-solid-neutral);
313
313
  color: var(--stn-badge-solid-neutral-fg);
314
314
  }
315
-
316
- /* Inverted / Mono (다크: 흰색 배경 + 검은색 텍스트, 라이트: 검은색 배경 + 흰색 텍스트) */
317
- .stn-badge.inverted,
318
- .stn-badge--color-inverted {
319
- color: var(--stn-topology-badge-bg, var(--stn-neutral-90));
320
- background: var(--stn-opacity-white-10);
321
- }
322
- .stn-badge.solid.inverted,
323
- .stn-badge--solid.stn-badge--color-inverted {
324
- background-color: var(--stn-topology-badge-bg, var(--stn-neutral-90));
325
- color: var(--stn-topology-badge-text, var(--stn-static-white));
326
- border-color: var(--stn-topology-badge-border, var(--stn-elevation-surface-0));
327
- box-shadow: 0 0 8px color-mix(in srgb, var(--stn-topology-badge-bg, var(--stn-neutral-90)) 25%, transparent);
328
- }
@@ -124,7 +124,7 @@
124
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
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
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
- .stn-drawer--full { --stn-drawer-active-width: var(--stn-drawer-width-full, min(80vw, 1600px)); --stn-drawer-active-height: var(--stn-drawer-height-full, min(80vh, 900px)); }
127
+ .stn-drawer--full { --stn-drawer-active-width: var(--stn-drawer-width-full, min(96vw, 1920px)); --stn-drawer-active-height: var(--stn-drawer-height-full, min(96vh, 1080px)); }
128
128
 
129
129
  /* ── 6. Header, Body, Footer Subcomponents ── */
130
130
  .stn-drawer__head {
@@ -178,6 +178,12 @@
178
178
  .stn-drawer__body.gap-lg { gap: var(--stn-drawer-gap-lg); }
179
179
  .stn-drawer__body.gap-xl { gap: var(--stn-drawer-gap-xl); }
180
180
 
181
+ /* Drawer Body Surface Tone (.stn-drawer__body--subtle, .stn-drawer--subtle) */
182
+ .stn-drawer--subtle,
183
+ .stn-drawer__body--subtle {
184
+ background-color: var(--stn-drawer-bg-subtle, var(--stn-surface-subtle));
185
+ }
186
+
181
187
  .stn-drawer__footer {
182
188
  display: flex;
183
189
  align-items: center;