@stn-uiux/pub-ui 0.1.81 → 0.1.84

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 (112) hide show
  1. package/dist/{chunk-6FEWLKVE.js → chunk-2TRZNWCA.js} +32 -2
  2. package/dist/chunk-2TRZNWCA.js.map +1 -0
  3. package/dist/{chunk-AJLP3Y53.js → chunk-2VSSPMZ3.js} +2 -2
  4. package/dist/{chunk-AJLP3Y53.js.map → chunk-2VSSPMZ3.js.map} +1 -1
  5. package/dist/{chunk-AOS3IX4T.js → chunk-65B7YUTE.js} +2 -1
  6. package/dist/{chunk-AOS3IX4T.js.map → chunk-65B7YUTE.js.map} +1 -1
  7. package/dist/chunk-APXT43OG.js +232 -0
  8. package/dist/chunk-APXT43OG.js.map +1 -0
  9. package/dist/chunk-C5WP6UQO.js +107 -0
  10. package/dist/chunk-C5WP6UQO.js.map +1 -0
  11. package/dist/chunk-ERZPIKPF.js +1 -0
  12. package/dist/chunk-FLKGJJD5.js +45 -0
  13. package/dist/chunk-FLKGJJD5.js.map +1 -0
  14. package/dist/{chunk-N46UQH6L.js → chunk-K6TWXWIO.js} +11 -2
  15. package/dist/chunk-K6TWXWIO.js.map +1 -0
  16. package/dist/chunk-N4PVFFKV.js +38 -0
  17. package/dist/chunk-N4PVFFKV.js.map +1 -0
  18. package/dist/chunk-NYZMUDVK.js +12 -0
  19. package/dist/chunk-NYZMUDVK.js.map +1 -0
  20. package/dist/chunk-P22H2BFQ.js +9 -0
  21. package/dist/chunk-P22H2BFQ.js.map +1 -0
  22. package/dist/chunk-QJN2Z6RG.js +160 -0
  23. package/dist/chunk-QJN2Z6RG.js.map +1 -0
  24. package/dist/chunk-W7K3FSAX.js +24 -0
  25. package/dist/chunk-W7K3FSAX.js.map +1 -0
  26. package/dist/cli.js +17 -17
  27. package/dist/components.d.ts +1 -1
  28. package/dist/components.js +1 -1
  29. package/dist/data/index.d.ts +8 -3
  30. package/dist/data/index.js +148 -94
  31. package/dist/data/stnCard.d.ts +1 -1
  32. package/dist/data/stnCard.js +1 -1
  33. package/dist/data/stnChart.d.ts +35 -1
  34. package/dist/data/stnChart.js +7 -3
  35. package/dist/data/stnDatePicker.d.ts +41 -10
  36. package/dist/data/stnDatePicker.js +9 -3
  37. package/dist/data/stnEmptyState.d.ts +35 -0
  38. package/dist/data/stnEmptyState.js +19 -0
  39. package/dist/data/stnEmptyState.js.map +1 -0
  40. package/dist/data/stnPackageVersion.d.ts +2 -2
  41. package/dist/data/stnPackageVersion.js +1 -1
  42. package/dist/data/stnPopover.d.ts +18 -0
  43. package/dist/data/stnPopover.js +9 -0
  44. package/dist/data/stnPopover.js.map +1 -0
  45. package/dist/data/stnSplitView.d.ts +16 -0
  46. package/dist/data/stnSplitView.js +11 -0
  47. package/dist/data/stnSplitView.js.map +1 -0
  48. package/dist/data/stnStepCards.d.ts +32 -0
  49. package/dist/data/stnStepCards.js +7 -0
  50. package/dist/data/stnStepCards.js.map +1 -0
  51. package/dist/data/stnStepper.d.ts +78 -0
  52. package/dist/data/stnStepper.js +7 -0
  53. package/dist/data/stnStepper.js.map +1 -0
  54. package/dist/data/stnTree.d.ts +3 -0
  55. package/dist/data/stnTree.js +1 -1
  56. package/dist/data/stnTypography.d.ts +17 -1
  57. package/dist/data/stnTypography.js +7 -1
  58. package/dist/index.d.ts +8 -3
  59. package/dist/index.js +149 -95
  60. package/package.json +1 -1
  61. package/styles/@assets/images/empty-state/forbidden.png +0 -0
  62. package/styles/@assets/images/empty-state/load-failed.png +0 -0
  63. package/styles/@assets/images/empty-state/maintenance.png +0 -0
  64. package/styles/@assets/images/empty-state/network.png +0 -0
  65. package/styles/@assets/images/empty-state/no-data.png +0 -0
  66. package/styles/@assets/images/empty-state/not-found.png +0 -0
  67. package/styles/@assets/images/empty-state/search-empty.png +0 -0
  68. package/styles/@assets/images/empty-state/server-error.png +0 -0
  69. package/styles/@assets/images/empty-state/timeout.png +0 -0
  70. package/styles/@assets/images/empty-state/unauthorized.png +0 -0
  71. package/styles/components/stn-bar-chart.css +394 -0
  72. package/styles/components/stn-card.css +49 -13
  73. package/styles/components/stn-chart-common.css +243 -0
  74. package/styles/components/stn-chart.css +20 -0
  75. package/styles/components/stn-checkbox.css +1 -1
  76. package/styles/components/stn-combo-chart.css +279 -0
  77. package/styles/components/stn-date-picker.css +251 -44
  78. package/styles/components/stn-drawer.css +2 -2
  79. package/styles/components/stn-empty-state.css +238 -0
  80. package/styles/components/stn-line-chart.css +125 -0
  81. package/styles/components/stn-pie-chart.css +112 -0
  82. package/styles/components/stn-popover.css +52 -0
  83. package/styles/components/stn-radio.css +1 -1
  84. package/styles/components/stn-slider.css +1 -1
  85. package/styles/components/stn-stepper.css +570 -0
  86. package/styles/components/stn-switch.css +1 -1
  87. package/styles/components/stn-table.css +30 -0
  88. package/styles/components/stn-tooltip.css +1 -1
  89. package/styles/components/stn-widget.css +3 -116
  90. package/styles/layouts/stn-container.css +8 -0
  91. package/styles/layouts/stn-layer0-bg.css +18 -17
  92. package/styles/patterns/stn-split-view.css +130 -0
  93. package/styles/patterns/stn-step-cards.css +60 -0
  94. package/styles/patterns/stn-tree.css +9 -0
  95. package/styles/patterns/stn-widget-patterns.css +294 -0
  96. package/styles/style-pub.css +7 -0
  97. package/styles/tokens/stn-colors-semantic.css +194 -0
  98. package/styles/tokens/stn-size-semantic.css +84 -0
  99. package/styles/tokens/stn-size.css +1 -0
  100. package/styles/tokens/stn-spacing-semantic.css +55 -0
  101. package/styles/tokens/stn-typography-semantic.css +3 -0
  102. package/styles/tokens/stn-typography.css +16 -0
  103. package/dist/chunk-6FEWLKVE.js.map +0 -1
  104. package/dist/chunk-DGZVOSEM.js +0 -7
  105. package/dist/chunk-DGZVOSEM.js.map +0 -1
  106. package/dist/chunk-N46UQH6L.js.map +0 -1
  107. package/dist/chunk-PSVPO4FH.js +0 -9
  108. package/dist/chunk-PSVPO4FH.js.map +0 -1
  109. package/dist/chunk-WKQLAHIG.js +0 -1
  110. package/dist/chunk-YBNEQ5LB.js +0 -75
  111. package/dist/chunk-YBNEQ5LB.js.map +0 -1
  112. /package/dist/{chunk-WKQLAHIG.js.map → chunk-ERZPIKPF.js.map} +0 -0
@@ -2,13 +2,28 @@ type StnDateRange = {
2
2
  start: Date | null;
3
3
  end: Date | null;
4
4
  };
5
+ /** `range`는 두 달, `single`은 한 달. 고르는 방식은 같다. 한 번은 시작일, 같은 날을 다시 누르면 그날만, 다른 날이면 범위. */
6
+ type StnDatePickerMode = 'range' | 'single';
7
+ /** 단건에 시간을 켤 때 시·분·초 위치. 기간 검색은 항상 달력 아래. */
8
+ type StnDateTimePlacement = 'side' | 'bottom';
9
+ type StnDatePresetKind = 'today' | 'days7' | 'month1' | 'month3' | 'thisMonth' | 'prevMonth';
10
+ type StnDatePreset = {
11
+ id: string;
12
+ label: string;
13
+ getRange: (now: Date) => StnDateRange;
14
+ };
15
+ declare const STN_DATE_PRESET_LABEL: Record<StnDatePresetKind, string>;
16
+ /** 바로가기 하나. `label`을 비우면 오늘·7일·1개월·3개월·당월·전월 중 해당 이름을 쓴다. */
17
+ declare function createStnDatePreset(kind: StnDatePresetKind, label?: string): StnDatePreset;
18
+ /** 화면에 둘 바로가기만 고른다. 순서는 배열 순서이고, 빼면 버튼도 빠진다. */
19
+ declare function createStnDatePresets(kinds: readonly StnDatePresetKind[], labels?: Partial<Record<StnDatePresetKind, string>>): StnDatePreset[];
5
20
  declare const STN_DATE_PICKER_NAME = "Date range picker";
6
21
  declare const STN_DATE_PICKER_KO_NAME = "\uAE30\uAC04 \uC120\uD0DD \uB2EC\uB825";
7
- declare const STN_DATE_PICKER_INTRO = "\uB2EC\uB825 \uC544\uC774\uCF58 \uD074\uB9AD \uC2DC \uC5F4\uB9AC\uB294 **\uAE30\uAC04 \uC120\uD0DD \uD31D\uC5C5**\uC785\uB2C8\uB2E4. 2\uAC1C\uC6D4 \uB2EC\uB825 \u00B7 \uBC94\uC704 \uD558\uC774\uB77C\uC774\uD2B8 \u00B7 \uC2DC\u00B7\uBD84\u00B7\uCD08(optional) \u00B7 \uD655\uC778 \uBC84\uD2BC. \uD2B8\uB9AC\uAC70\uB294 `StnDateRangeField`\uC640 \uB3D9\uC77C \uC2A4\uCF00\uC77C(S/M/L)\uC774\uBA70, \uD1B5\uD569 \uC870\uB9BD\uC740 `StnDateRangePickerField` \u00B7 \uD31D\uC5C5\uB9CC \uC4F0\uB824\uBA74 `StnDateRangePicker`. Pub HTML `ant-picker-dropdown` \u00B7 `--calendar-*` \uD1A0\uD070.";
22
+ declare const STN_DATE_PICKER_INTRO = "\uB2EC\uB825 \uC544\uC774\uCF58 \uD074\uB9AD \uC2DC \uC5F4\uB9AC\uB294 **\uAE30\uAC04 \uC120\uD0DD \uD31D\uC5C5**\uC785\uB2C8\uB2E4. \uAE30\uBCF8\uC740 2\uAC1C\uC6D4 \uBC94\uC704\uC774\uACE0, `mode=\"single\"`\uC774\uBA74 \uB2EC\uB825 \uD55C \uB2EC\uC785\uB2C8\uB2E4. \uB2E8\uAC74\uC5D0 `showTime`\uC744 \uC8FC\uBA74 \uC2DC\u00B7\uBD84\u00B7\uCD08\uAC00 \uAE30\uBCF8\uC73C\uB85C \uB2EC\uB825 \uC624\uB978\uCABD\uC5D0 \uBD99\uACE0, `timePlacement=\"bottom\"`\uC774\uBA74 \uB2EC\uB825 \uC544\uB798\uC785\uB2C8\uB2E4. `presets`\uB294 \uC624\uB298\u00B77\uC77C\uCC98\uB7FC \uD558\uB2E8 \uBC84\uD2BC\uC774\uBA70, \uB2E8\uAC74\uC5D0\uC11C\uB3C4 \uADF8 \uAE30\uAC04 \uC804\uCCB4\uB97C \uACE0\uB985\uB2C8\uB2E4. \uD2B8\uB9AC\uAC70\uB294 `StnDateRangeField`\uC640 \uB3D9\uC77C \uC2A4\uCF00\uC77C(sm/md/lg)\uC774\uBA70, \uD1B5\uD569 \uC870\uB9BD\uC740 `StnDateRangePickerField` \u00B7 \uD31D\uC5C5\uB9CC \uC4F0\uB824\uBA74 `StnDateRangePicker`.";
8
23
  declare const STN_DATE_PICKER_PART_ROWS: readonly [{
9
24
  readonly part: "Trigger";
10
25
  readonly component: "StnDateRangeField";
11
- readonly note: "기간 표시 + 달력 아이콘 · TextField S/M/L 스케일";
26
+ readonly note: "기간 표시 + 달력 아이콘 · TextField sm/md/lg 스케일";
12
27
  }, {
13
28
  readonly part: "Field + popup";
14
29
  readonly component: "StnDateRangePickerField";
@@ -16,28 +31,44 @@ declare const STN_DATE_PICKER_PART_ROWS: readonly [{
16
31
  }, {
17
32
  readonly part: "Panel only";
18
33
  readonly component: "StnDateRangePicker";
19
- readonly note: "달력·시간·확인 UI만 · 커스텀 앵커에 연결";
34
+ readonly note: "달력·시간·취소·확인 UI만 · 커스텀 앵커에 연결";
20
35
  }];
21
36
  declare const STN_DATE_PICKER_SPEC: readonly [{
22
37
  readonly property: "Calendar";
23
- readonly value: "2 months side-by-side";
24
- readonly note: "범위 선택 · in-range 하이라이트";
38
+ readonly value: "range: 2 months · single: 1 month";
39
+ readonly note: "`mode` 기본 range";
40
+ }, {
41
+ readonly property: "Size";
42
+ readonly value: "sm · md · lg";
43
+ readonly note: "필드·달력 칸·패딩 토큰 스케일. 기본 md";
44
+ }, {
45
+ readonly property: "Hover preview";
46
+ readonly value: "start only → hover band";
47
+ readonly note: "시작일만 고른 뒤 다른 날 위에 올리면 범위 미리보기";
25
48
  }, {
26
49
  readonly property: "Time";
27
50
  readonly value: "optional `showTime`";
28
- readonly note: "시·분·초 컬럼";
51
+ readonly note: "기간은 달력 아래. 단건은 `timePlacement`로 오른쪽 또는 아래";
52
+ }, {
53
+ readonly property: "Presets";
54
+ readonly value: "optional `presets`";
55
+ readonly note: "하단 버튼 · 줄바꿈 · 단건에서도 기간 전체";
29
56
  }, {
30
57
  readonly property: "Apply";
31
58
  readonly value: "확인 button";
32
59
  readonly note: "적용 후 팝업 닫기";
60
+ }, {
61
+ readonly property: "Cancel";
62
+ readonly value: "취소 button · Esc · outside";
63
+ readonly note: "반영 없이 닫기";
33
64
  }, {
34
65
  readonly property: "CSS";
35
66
  readonly value: "stn-date-picker.css";
36
- readonly note: "--calendar-* 토큰";
67
+ readonly note: "--calendar-* · --stn-date-picker-* 토큰";
37
68
  }];
38
- declare const STN_DATE_PICKER_USAGE = "import { StnDateRangePickerField } from '@stn-uiux/pub-ui-react'\n\nconst [range, setRange] = useState({\n start: new Date('2024-02-07T09:22:34'),\n end: new Date('2024-03-07T09:22:34'),\n})\n\n<StnDateRangePickerField\n size=\"M\"\n value={range}\n onChange={setRange}\n showTime\n aria-label=\"Search period\"\n/>";
39
- declare const STN_DATE_PICKER_USAGE_HTML = "<button\n type=\"button\"\n class=\"stn-date-range-field md\"\n aria-label=\"Search period\"\n>\n <span class=\"stn-date-range-field__inner\">\n <span class=\"stn-date-range-field__text\">\n <span class=\"stn-date-range-field__value\">2024-02-07 09:22:34</span>\n <span class=\"stn-date-range-field__sep\" aria-hidden=\"true\">~</span>\n <span class=\"stn-date-range-field__value\">2024-03-07 09:22:34</span>\n </span>\n <span class=\"stn-date-range-field__icon\" aria-hidden=\"true\"></span>\n </span>\n</button>\n\n<!-- \uB2EC\uB825 \uD328\uB110 \u2014 stn-date-picker.css \u00B7 ant-picker-dropdown -->\n<div class=\"stn-date-picker ant-picker-dropdown\" role=\"dialog\" aria-label=\"\uAE30\uAC04 \uC120\uD0DD\">\n <!-- 2-month calendar \u00B7 showTime columns \u00B7 \uD655\uC778 button -->\n</div>";
69
+ declare const STN_DATE_PICKER_USAGE = "import { StnDateRangePickerField, createStnDatePresets } from '@stn-uiux/pub-ui-react'\n\nconst [range, setRange] = useState({\n start: new Date('2024-02-07T09:22:34'),\n end: new Date('2024-03-07T09:22:34'),\n})\n\n<StnDateRangePickerField\n size=\"md\"\n value={range}\n onChange={setRange}\n showTime\n aria-label=\"Search period\"\n/>\n\n// \uB2E8\uAC74 + \uC2DC\uAC04. \uBC14\uB85C\uAC00\uAE30\uB294 \uD654\uBA74\uC774 \uBC30\uC5F4\uB85C \uC815\uD55C\uB2E4.\n<StnDateRangePickerField\n mode=\"single\"\n showTime\n timePlacement=\"bottom\"\n presets={createStnDatePresets(['today', 'days7', 'month1', 'month3', 'thisMonth', 'prevMonth'])}\n value={day}\n onChange={setDay}\n/>";
70
+ declare const STN_DATE_PICKER_USAGE_HTML = "<button\n type=\"button\"\n class=\"stn-date-range-field md\"\n aria-label=\"Search period\"\n>\n <span class=\"stn-date-range-field__inner\">\n <span class=\"stn-date-range-field__text\">\n <span class=\"stn-date-range-field__value\">2024-02-07 09:22:34</span>\n <span class=\"stn-date-range-field__sep\" aria-hidden=\"true\">~</span>\n <span class=\"stn-date-range-field__value\">2024-03-07 09:22:34</span>\n </span>\n <span class=\"stn-date-range-field__icon\" aria-hidden=\"true\"></span>\n </span>\n</button>\n\n<!-- \uB2EC\uB825 \uD328\uB110 \u2014 stn-date-picker.css -->\n<div class=\"stn-date-picker-dropdown\" role=\"dialog\" aria-label=\"\uAE30\uAC04 \uC120\uD0DD\">\n <div class=\"stn-date-picker-dropdown__body\">\n <div class=\"stn-date-picker-dropdown__panels\">\n <div class=\"stn-date-picker-panel\">...</div>\n <div class=\"stn-date-picker-panel\">...</div>\n </div>\n <div class=\"stn-date-picker-time\">\n <div class=\"stn-date-picker-time__side\">...</div>\n <div class=\"stn-date-picker-time__side\">...</div>\n </div>\n <div class=\"stn-date-picker-footer\">\n <button type=\"button\" class=\"stn-btn text md\">\n <span class=\"stn-btn__label\">\uCDE8\uC18C</span>\n </button>\n <button type=\"button\" class=\"stn-btn text md\">\n <span class=\"stn-btn__label\">\uD655\uC778</span>\n </button>\n </div>\n </div>\n</div>";
40
71
  declare const STN_DATE_PICKER_PANEL_USAGE = "import { StnDateRangePicker } from '@stn-uiux/pub-ui-react'\n\n<StnDateRangePicker\n open\n value={{ start, end }}\n onChange={setDraft}\n onApply={(next) => { setRange(next); setOpen(false) }}\n onClose={() => setOpen(false)}\n showTime\n/>";
41
72
  declare const STN_DATE_PICKER_WEEKDAYS: readonly ["일", "월", "화", "수", "목", "금", "토"];
42
73
 
43
- export { STN_DATE_PICKER_INTRO, STN_DATE_PICKER_KO_NAME, STN_DATE_PICKER_NAME, STN_DATE_PICKER_PANEL_USAGE, STN_DATE_PICKER_PART_ROWS, STN_DATE_PICKER_SPEC, STN_DATE_PICKER_USAGE, STN_DATE_PICKER_USAGE_HTML, STN_DATE_PICKER_WEEKDAYS, type StnDateRange };
74
+ export { STN_DATE_PICKER_INTRO, STN_DATE_PICKER_KO_NAME, STN_DATE_PICKER_NAME, STN_DATE_PICKER_PANEL_USAGE, STN_DATE_PICKER_PART_ROWS, STN_DATE_PICKER_SPEC, STN_DATE_PICKER_USAGE, STN_DATE_PICKER_USAGE_HTML, STN_DATE_PICKER_WEEKDAYS, STN_DATE_PRESET_LABEL, type StnDatePickerMode, type StnDatePreset, type StnDatePresetKind, type StnDateRange, type StnDateTimePlacement, createStnDatePreset, createStnDatePresets };
@@ -7,8 +7,11 @@ import {
7
7
  STN_DATE_PICKER_SPEC,
8
8
  STN_DATE_PICKER_USAGE,
9
9
  STN_DATE_PICKER_USAGE_HTML,
10
- STN_DATE_PICKER_WEEKDAYS
11
- } from "../chunk-YBNEQ5LB.js";
10
+ STN_DATE_PICKER_WEEKDAYS,
11
+ STN_DATE_PRESET_LABEL,
12
+ createStnDatePreset,
13
+ createStnDatePresets
14
+ } from "../chunk-QJN2Z6RG.js";
12
15
  import "../chunk-5F63CMM7.js";
13
16
  export {
14
17
  STN_DATE_PICKER_INTRO,
@@ -19,6 +22,9 @@ export {
19
22
  STN_DATE_PICKER_SPEC,
20
23
  STN_DATE_PICKER_USAGE,
21
24
  STN_DATE_PICKER_USAGE_HTML,
22
- STN_DATE_PICKER_WEEKDAYS
25
+ STN_DATE_PICKER_WEEKDAYS,
26
+ STN_DATE_PRESET_LABEL,
27
+ createStnDatePreset,
28
+ createStnDatePresets
23
29
  };
24
30
  //# sourceMappingURL=stnDatePicker.js.map
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Empty State / Error page — 공통 빈·오류 상태 표면
3
+ * @see StnEmptyState (@stn-uiux/pub-ui-react)
4
+ * @see styles/components/stn-empty-state.css
5
+ */
6
+ declare const STN_EMPTY_STATE_GRAPHICS: Record<StnEmptyStateKind, string>;
7
+ declare const STN_EMPTY_STATE_INTRO = "\uC544\uC774\uCF58 \u00B7 3D \uC77C\uB7EC\uC2A4\uD2B8 \u00B7 \uC81C\uBAA9 \u00B7 \uC124\uBA85 \u00B7 \uC561\uC158 \uBC84\uD2BC\uC73C\uB85C \uAD6C\uC131\uB418\uB294 \uACF5\uD1B5 \uBE48\u00B7\uC624\uB958 \uC0C1\uD0DC\uC785\uB2C8\uB2E4. \uC704\uC82F \uBCF8\uBB38\uBD80\uD130 \uC804\uCCB4 \uD398\uC774\uC9C0(404 \uB4F1)\uAE4C\uC9C0 `kind` \uD504\uB9AC\uC14B \uB610\uB294 \uC2AC\uB86F\uC73C\uB85C \uC870\uB9BD\uD558\uBA70, 3D \uADF8\uB798\uD53D\uACFC \uC2EC\uBCFC \uC544\uC774\uCF58\uC744 \uC790\uC720\uB86D\uAC8C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.";
8
+ /** 대표 프리셋 10종 */
9
+ declare const STN_EMPTY_STATE_KINDS: readonly ["no-data", "not-found", "unauthorized", "forbidden", "server-error", "network", "timeout", "maintenance", "search-empty", "load-failed"];
10
+ type StnEmptyStateKind = (typeof STN_EMPTY_STATE_KINDS)[number];
11
+ type StnEmptyStateTone = 'neutral' | 'info' | 'warning' | 'error' | 'success';
12
+ type StnEmptyStateSize = 'sm' | 'md' | 'lg';
13
+ type StnEmptyStatePreset = {
14
+ kind: StnEmptyStateKind;
15
+ /** HTTP/상태 코드 표기 (문서·뱃지용, 선택) */
16
+ code?: string;
17
+ label: string;
18
+ title: string;
19
+ description: string;
20
+ /** Iconography slug (`line/…` · `fill/…`) */
21
+ icon: string;
22
+ /** 3D 일러스트 그래픽 이미지 (Data URL / static asset) */
23
+ graphic?: string;
24
+ tone: StnEmptyStateTone;
25
+ /** 기본 1차 액션 라벨 (문서·프리셋 제안) */
26
+ primaryActionLabel?: string;
27
+ /** 기본 2차 액션 라벨 */
28
+ secondaryActionLabel?: string;
29
+ };
30
+ declare const STN_EMPTY_STATE_PRESETS: Record<StnEmptyStateKind, StnEmptyStatePreset>;
31
+ declare const STN_EMPTY_STATE_KIND_ROWS: StnEmptyStatePreset[];
32
+ declare const STN_EMPTY_STATE_REACT_USAGE = "import { StnEmptyState, StnButton } from '@stn-uiux/pub-ui-react'\n\n{/* \uD504\uB9AC\uC14B + \uAE30\uBCF8 \uC561\uC158 */}\n<StnEmptyState\n kind=\"no-data\"\n primaryAction={{ label: '\uB418\uB3CC\uC544\uAC00\uAE30', onClick: () => history.back() }}\n/>\n\n{/* \uC804\uCCB4 \uD398\uC774\uC9C0 (404) */}\n<StnEmptyState\n kind=\"not-found\"\n size=\"lg\"\n fullPage\n primaryAction={{ label: '\uD648\uC73C\uB85C', onClick: () => navigate('/') }}\n secondaryAction={{ label: '\uB418\uB3CC\uC544\uAC00\uAE30', onClick: () => history.back() }}\n/>\n\n{/* \uC2AC\uB86F\uC73C\uB85C \uC644\uC804 \uCEE4\uC2A4\uD140 */}\n<StnEmptyState\n icon=\"line/database\"\n title=\"\uD45C\uC2DC\uD560 \uC7A5\uBE44\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.\"\n description=\"\uC7A5\uBE44\uB97C \uB4F1\uB85D\uD558\uBA74 \uC5EC\uAE30\uC5D0 \uD45C\uC2DC\uB429\uB2C8\uB2E4.\"\n tone=\"neutral\"\n actions={\n <>\n <StnButton variant=\"contained\">\uC7A5\uBE44 \uB4F1\uB85D</StnButton>\n <StnButton variant=\"outlined\">\uB418\uB3CC\uC544\uAC00\uAE30</StnButton>\n </>\n }\n/>";
33
+ declare const STN_EMPTY_STATE_USAGE_HTML = "<!-- \uACF5\uD1B5 empty / error \uC0C1\uD0DC \u00B7 stn-empty-state.css -->\n<div class=\"stn-empty-state md tone-neutral\" role=\"status\">\n <div class=\"stn-empty-state__icon\" aria-hidden=\"true\">\n <!-- StnIcon: fill/exclamation-circle -->\n </div>\n <div class=\"stn-empty-state__body\">\n <p class=\"stn-empty-state__title stn-text-title-2\">\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.</p>\n <p class=\"stn-empty-state__description stn-text-body-3 stn-text-color-secondary\">\n \uD45C\uC2DC\uD560 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\n </p>\n </div>\n <div class=\"stn-empty-state__actions\">\n <button type=\"button\" class=\"stn-btn contained md\">\uB418\uB3CC\uC544\uAC00\uAE30</button>\n </div>\n</div>\n\n<!-- \uC804\uCCB4 \uD398\uC774\uC9C0 404 -->\n<div class=\"stn-empty-state lg page tone-warning\" role=\"status\">\n \u2026\n</div>";
34
+
35
+ export { STN_EMPTY_STATE_GRAPHICS, STN_EMPTY_STATE_INTRO, STN_EMPTY_STATE_KINDS, STN_EMPTY_STATE_KIND_ROWS, STN_EMPTY_STATE_PRESETS, STN_EMPTY_STATE_REACT_USAGE, STN_EMPTY_STATE_USAGE_HTML, type StnEmptyStateKind, type StnEmptyStatePreset, type StnEmptyStateSize, type StnEmptyStateTone };
@@ -0,0 +1,19 @@
1
+ import {
2
+ STN_EMPTY_STATE_GRAPHICS,
3
+ STN_EMPTY_STATE_INTRO,
4
+ STN_EMPTY_STATE_KINDS,
5
+ STN_EMPTY_STATE_KIND_ROWS,
6
+ STN_EMPTY_STATE_PRESETS,
7
+ STN_EMPTY_STATE_REACT_USAGE,
8
+ STN_EMPTY_STATE_USAGE_HTML
9
+ } from "../chunk-APXT43OG.js";
10
+ export {
11
+ STN_EMPTY_STATE_GRAPHICS,
12
+ STN_EMPTY_STATE_INTRO,
13
+ STN_EMPTY_STATE_KINDS,
14
+ STN_EMPTY_STATE_KIND_ROWS,
15
+ STN_EMPTY_STATE_PRESETS,
16
+ STN_EMPTY_STATE_REACT_USAGE,
17
+ STN_EMPTY_STATE_USAGE_HTML
18
+ };
19
+ //# sourceMappingURL=stnEmptyState.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.80";
3
- declare const STN_UI_VERSION_LABEL = "v0.1.80";
2
+ declare const STN_UI_VERSION = "0.1.84";
3
+ declare const STN_UI_VERSION_LABEL = "v0.1.84";
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-PSVPO4FH.js";
4
+ } from "../chunk-P22H2BFQ.js";
5
5
  export {
6
6
  STN_UI_VERSION,
7
7
  STN_UI_VERSION_LABEL
@@ -0,0 +1,18 @@
1
+ /**
2
+ * StnPopover — Data & Types
3
+ */
4
+ type StnPopoverHorizontalOrigin = 'left' | 'center' | 'right' | number;
5
+ type StnPopoverVerticalOrigin = 'top' | 'center' | 'bottom' | number;
6
+ interface StnPopoverOrigin {
7
+ vertical: StnPopoverVerticalOrigin;
8
+ horizontal: StnPopoverHorizontalOrigin;
9
+ }
10
+ interface StnPopoverPosition {
11
+ top: number;
12
+ left: number;
13
+ }
14
+ type StnPopoverReference = 'anchorEl' | 'anchorPosition';
15
+ declare const STN_POPOVER_INTRO = "\uD2B9\uC815 \uC5D8\uB9AC\uBA3C\uD2B8(anchorEl) \uB610\uB294 \uD654\uBA74 \uC88C\uD45C(anchorPosition)\uB97C \uAE30\uC900\uC73C\uB85C \uC9C0\uC815\uB41C \uC704\uCE58(anchorOrigin \uBC0F transformOrigin)\uC5D0 \uB744\uC6B0\uB294 STN \uD45C\uC900 \uD50C\uB85C\uD305 \uD31D\uC624\uBC84 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4.";
16
+ declare const STN_POPOVER_USAGE = "import { useState } from 'react'\nimport { StnButton, StnPopover } from '@stn-uiux/pub-ui-react'\n\nexport function PopoverExample() {\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n const open = Boolean(anchorEl)\n\n return (\n <>\n <StnButton onClick={handleClick}>Open Popover</StnButton>\n <StnPopover\n open={open}\n anchorEl={anchorEl}\n onClose={handleClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n <div style={{ padding: 'var(--stn-space-16)' }}>\uD31D\uC624\uBC84 \uCF58\uD150\uCE20</div>\n </StnPopover>\n </>\n )\n}";
17
+
18
+ export { STN_POPOVER_INTRO, STN_POPOVER_USAGE, type StnPopoverHorizontalOrigin, type StnPopoverOrigin, type StnPopoverPosition, type StnPopoverReference, type StnPopoverVerticalOrigin };
@@ -0,0 +1,9 @@
1
+ import {
2
+ STN_POPOVER_INTRO,
3
+ STN_POPOVER_USAGE
4
+ } from "../chunk-FLKGJJD5.js";
5
+ export {
6
+ STN_POPOVER_INTRO,
7
+ STN_POPOVER_USAGE
8
+ };
9
+ //# sourceMappingURL=stnPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * STN Split View Pattern — Side + Stage shell (SSOT types)
3
+ * Store locator / 망구성도 / 캔버스 탐색: 중첩 Card 없이 좌 패널 + 우 스테이지.
4
+ */
5
+ type StnSplitViewSideWidth = 'sm' | 'md' | 'lg';
6
+ type StnSplitViewOverlayPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'center-left' | 'center-right';
7
+ declare const STN_SPLIT_VIEW_SIDE_WIDTHS: readonly StnSplitViewSideWidth[];
8
+ declare const STN_SPLIT_VIEW_OVERLAY_PLACEMENTS: readonly StnSplitViewOverlayPlacement[];
9
+ declare const STN_SPLIT_VIEW_INTRO: {
10
+ name: string;
11
+ slug: string;
12
+ kind: "pattern";
13
+ description: string;
14
+ };
15
+
16
+ export { STN_SPLIT_VIEW_INTRO, STN_SPLIT_VIEW_OVERLAY_PLACEMENTS, STN_SPLIT_VIEW_SIDE_WIDTHS, type StnSplitViewOverlayPlacement, type StnSplitViewSideWidth };
@@ -0,0 +1,11 @@
1
+ import {
2
+ STN_SPLIT_VIEW_INTRO,
3
+ STN_SPLIT_VIEW_OVERLAY_PLACEMENTS,
4
+ STN_SPLIT_VIEW_SIDE_WIDTHS
5
+ } from "../chunk-W7K3FSAX.js";
6
+ export {
7
+ STN_SPLIT_VIEW_INTRO,
8
+ STN_SPLIT_VIEW_OVERLAY_PLACEMENTS,
9
+ STN_SPLIT_VIEW_SIDE_WIDTHS
10
+ };
11
+ //# sourceMappingURL=stnSplitView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from 'react';
2
+ import { StnStepStatus } from './stnStepper.js';
3
+ export { StnStepperLineThickness, StnStepperSize } from './stnStepper.js';
4
+
5
+ /**
6
+ * STN Step Cards Pattern — SSOT Data & Type Definitions
7
+ */
8
+
9
+ interface StnStepCardItem {
10
+ key?: string | number;
11
+ /** 카드 제목 위 단계 라벨. 없으면 STEP 01 */
12
+ stepLabel?: ReactNode;
13
+ title: ReactNode;
14
+ /** 이 카드의 결과 제목. 없으면 StnStepCards의 resultLabel */
15
+ resultLabel?: ReactNode;
16
+ /** 결과 값. 없으면 상태 이름(성공·진행·대기·오류·경고) */
17
+ resultText?: ReactNode;
18
+ status?: StnStepStatus;
19
+ /** 이 카드의 버튼 문구. 없으면 StnStepCards의 actionLabel */
20
+ actionLabel?: ReactNode;
21
+ onAction?: () => void;
22
+ /** 결과를 열 수 있는 상태여도 버튼을 막는다 */
23
+ actionDisabled?: boolean;
24
+ }
25
+ declare const STN_STEP_CARDS_INTRO: {
26
+ name: string;
27
+ slug: string;
28
+ kind: "pattern";
29
+ description: string;
30
+ };
31
+
32
+ export { STN_STEP_CARDS_INTRO, type StnStepCardItem, StnStepStatus };
@@ -0,0 +1,7 @@
1
+ import {
2
+ STN_STEP_CARDS_INTRO
3
+ } from "../chunk-NYZMUDVK.js";
4
+ export {
5
+ STN_STEP_CARDS_INTRO
6
+ };
7
+ //# sourceMappingURL=stnStepCards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,78 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ /**
4
+ * STN Stepper — SSOT Data & Type Definitions
5
+ */
6
+
7
+ /** 가로/세로 진행 방향 */
8
+ type StnStepperOrientation = 'horizontal' | 'vertical';
9
+ /** 세로(vertical) 모드일 때 스텝 노드와 연결선의 위치 (left: 기본 왼쪽, right: 오른쪽) */
10
+ type StnStepperPosition = 'left' | 'right';
11
+ /** STN 표준 규격 크기 스케일 (GEMINI.md Rule 1 강제 준수: xs, sm, md, lg, xl) */
12
+ type StnStepperSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
13
+ /** 스텝 연결선 두께 설정 (1~4px 숫자 또는 'xs' | 'sm' | 'md' | 'lg' | 'xl' 프리셋, 커스텀 치수 문자열) */
14
+ type StnStepperLineThickness = StnStepperSize | 1 | 2 | 3 | 4 | (number & {}) | string;
15
+ /** 각 스텝의 5대 상태 (Status) */
16
+ type StnStepStatus = 'wait' | 'running' | 'success' | 'warning' | 'error';
17
+ /** 스텝 데이터 항목 정의 (Data-driven 배열용) */
18
+ interface StnStepItem {
19
+ /** 고유 키 (미지정 시 인덱스) */
20
+ key?: string | number;
21
+ /** 메인 스텝 제목 */
22
+ label: ReactNode;
23
+ /** 서브 캡션 설명 */
24
+ caption?: ReactNode;
25
+ /** 세로(vertical) 모드에서 펼쳐질 본문 내용 슬롯 (폼, 상세 설명, Continue/Back 버튼 등) */
26
+ content?: ReactNode;
27
+ /** 세로(vertical) 모드에서 본문 내용 강제 펼침 여부 (미지정 시 activeStep과 일치할 때 자동 펼침) */
28
+ expanded?: boolean;
29
+ /** 상태 직접 지정 (미지정 시 activeStep과 인덱스 비교로 자동 산출) */
30
+ status?: StnStepStatus;
31
+ /** 커스텀 아이콘 (StnIcon 문자열 이름 또는 ReactNode) */
32
+ icon?: string | ReactNode;
33
+ /** 에러 여부 또는 커스텀 에러 문구 */
34
+ error?: boolean | ReactNode;
35
+ /** 에러 발생 시 표시할 상세 안내 텍스트 */
36
+ errorText?: ReactNode;
37
+ /** 비활성화 여부 */
38
+ disabled?: boolean;
39
+ /** 선택 사항 라벨 (예: '선택 사항' 배지/텍스트) */
40
+ optional?: ReactNode;
41
+ /** 클릭 핸들러 (nonLinear 모드에서 동작) */
42
+ onClick?: () => void;
43
+ }
44
+ /** 5대 상태별 시각적 표현 및 시멘틱 토큰 매핑 명세 */
45
+ declare const STN_STEP_STATUS_SPEC: {
46
+ readonly success: {
47
+ readonly label: "완료 (Success)";
48
+ readonly token: "var(--stn-feedback-success)";
49
+ readonly icon: "line/check";
50
+ readonly desc: "성공적으로 완료된 단계";
51
+ };
52
+ readonly running: {
53
+ readonly label: "진행 중 (Running)";
54
+ readonly token: "var(--stn-primary)";
55
+ readonly icon: "spinner";
56
+ readonly desc: "현재 처리 중 또는 입력 진행 중인 단계";
57
+ };
58
+ readonly wait: {
59
+ readonly label: "대기 (Wait)";
60
+ readonly token: "var(--stn-border-default)";
61
+ readonly textToken: "var(--stn-text-tertiary)";
62
+ readonly desc: "아직 도달하지 않은 대기 단계";
63
+ };
64
+ readonly error: {
65
+ readonly label: "오류 (Error)";
66
+ readonly token: "var(--stn-feedback-error)";
67
+ readonly icon: "line/alert-circle";
68
+ readonly desc: "검증 실패 또는 실행 중 오류가 발생한 단계";
69
+ };
70
+ readonly warning: {
71
+ readonly label: "경고 (Warning)";
72
+ readonly token: "var(--stn-feedback-warning)";
73
+ readonly icon: "line/alert-triangle";
74
+ readonly desc: "주의가 필요하거나 추가 확인이 필요한 단계";
75
+ };
76
+ };
77
+
78
+ export { STN_STEP_STATUS_SPEC, type StnStepItem, type StnStepStatus, type StnStepperLineThickness, type StnStepperOrientation, type StnStepperPosition, type StnStepperSize };
@@ -0,0 +1,7 @@
1
+ import {
2
+ STN_STEP_STATUS_SPEC
3
+ } from "../chunk-N4PVFFKV.js";
4
+ export {
5
+ STN_STEP_STATUS_SPEC
6
+ };
7
+ //# sourceMappingURL=stnStepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -44,6 +44,9 @@ declare const STN_TREE_PARTS: readonly [{
44
44
  }, {
45
45
  readonly part: ".stn-tree__toggle";
46
46
  readonly role: "펼침/접힘 chevron (arrow-left 12)";
47
+ }, {
48
+ readonly part: ".stn-tree__cell--checkbox";
49
+ readonly role: "아이콘 좌측 선택 체크박스 셀 (`StnCheckbox`)";
47
50
  }, {
48
51
  readonly part: ".stn-tree__icon--root / --folder / --server";
49
52
  readonly role: "노드 종류별 16px 아이콘";
@@ -9,7 +9,7 @@ import {
9
9
  STN_TREE_SECTION_SIDE_FIGMA,
10
10
  STN_TREE_USAGE_HTML,
11
11
  describeTreePatternReact
12
- } from "../chunk-AOS3IX4T.js";
12
+ } from "../chunk-65B7YUTE.js";
13
13
  export {
14
14
  STN_TREE_DEMO,
15
15
  STN_TREE_FIGMA,
@@ -37,6 +37,22 @@ declare const STN_TYPOGRAPHY_PRIMITIVE_GROUPS: readonly [{
37
37
  readonly label: "line-height";
38
38
  readonly rows: StnTypographyPrimitiveRow[];
39
39
  }];
40
+ /**
41
+ * Responsive font scale — viewport 구간별 --stn-font-size-base 재지정.
42
+ * SSOT: tokens/typography/primitive.json (media blocks) → stn-typography.css
43
+ * 모든 --stn-font-size-* / --stn-text-*-size 가 base 비율(calc)이므로 base 하나로 일괄 스케일.
44
+ */
45
+ type StnFontScaleStepRow = {
46
+ bp: 'xl' | 'lg' | 'md';
47
+ range: string;
48
+ media: string;
49
+ cssVar: `--${string}`;
50
+ basePx: number;
51
+ };
52
+ declare const STN_FONT_SCALE_STEPS: readonly StnFontScaleStepRow[];
53
+ /** base 대비 실제 px (예: scalePx(14, 15) → 13.13) */
54
+ declare function scaleFontPx(designPx: number, basePx: number): number;
55
+ declare const STN_FONT_SCALE_USAGE = "/* 1) \uAE30\uBCF8 \u2014 \uD328\uD0A4\uC9C0 CSS\uB9CC \uBD88\uB7EC\uC624\uBA74 \uC790\uB3D9 \uC801\uC6A9 (\uCD94\uAC00 \uCF54\uB4DC \uC5C6\uC74C) */\n@import '@stn-uiux/pub-ui/styles.css';\n\n/* 2) \uB2E8\uACC4 \uAC12 \uC870\uC815 \u2014 \uD328\uD0A4\uC9C0 CSS \uB2E4\uC74C\uC5D0 \uC120\uC5B8 */\n:root {\n --stn-font-size-base-lg: 15.5px;\n --stn-font-size-base-md: 14.5px;\n}\n\n/* 3) \uBC18\uC751\uD615 \uCD95\uC18C \uB044\uAE30 \u2014 \uBAA8\uB4E0 \uD3ED\uC5D0\uC11C 16px \uACE0\uC815 */\n:root {\n --stn-font-size-base-lg: 16px;\n --stn-font-size-base-md: 16px;\n}\n\n/* \uCEF4\uD3EC\uB10C\uD2B8 CSS\uB294 \uD56D\uC0C1 \uD1A0\uD070\uB9CC \uCC38\uC870 \u2014 px \uC9C1\uC811 \uC9C0\uC815 \uC2DC \uC2A4\uCF00\uC77C\uC5D0\uC11C \uBE60\uC9D0 */\n.my-widget__title { font-size: var(--stn-text-title-medium-size); }";
40
56
  /** Canonical semantic text roles (KT taxonomy · Pub px). Use CSS vars in component styles. */
41
57
  declare const STN_TYPOGRAPHY_SEMANTIC_ROWS: StnTypographySemanticRow[];
42
58
  declare function typographyPrimitivesToJson(): Record<string, string>;
@@ -46,4 +62,4 @@ declare function typographySemanticsToJson(): Record<string, {
46
62
  usage: string;
47
63
  }>;
48
64
 
49
- export { STN_FONT_FAMILY_ROWS, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, type StnTypographyPrimitiveRow, type StnTypographySemanticRow, typographyPrimitivesToJson, typographySemanticsToJson };
65
+ export { STN_FONT_FAMILY_ROWS, STN_FONT_SCALE_STEPS, STN_FONT_SCALE_USAGE, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, type StnFontScaleStepRow, type StnTypographyPrimitiveRow, type StnTypographySemanticRow, scaleFontPx, typographyPrimitivesToJson, typographySemanticsToJson };
@@ -1,20 +1,26 @@
1
1
  import {
2
2
  STN_FONT_FAMILY_ROWS,
3
+ STN_FONT_SCALE_STEPS,
4
+ STN_FONT_SCALE_USAGE,
3
5
  STN_FONT_SIZE_ROWS,
4
6
  STN_FONT_WEIGHT_ROWS,
5
7
  STN_LINE_HEIGHT_ROWS,
6
8
  STN_TYPOGRAPHY_PRIMITIVE_GROUPS,
7
9
  STN_TYPOGRAPHY_SEMANTIC_ROWS,
10
+ scaleFontPx,
8
11
  typographyPrimitivesToJson,
9
12
  typographySemanticsToJson
10
- } from "../chunk-6FEWLKVE.js";
13
+ } from "../chunk-2TRZNWCA.js";
11
14
  export {
12
15
  STN_FONT_FAMILY_ROWS,
16
+ STN_FONT_SCALE_STEPS,
17
+ STN_FONT_SCALE_USAGE,
13
18
  STN_FONT_SIZE_ROWS,
14
19
  STN_FONT_WEIGHT_ROWS,
15
20
  STN_LINE_HEIGHT_ROWS,
16
21
  STN_TYPOGRAPHY_PRIMITIVE_GROUPS,
17
22
  STN_TYPOGRAPHY_SEMANTIC_ROWS,
23
+ scaleFontPx,
18
24
  typographyPrimitivesToJson,
19
25
  typographySemanticsToJson
20
26
  };
package/dist/index.d.ts CHANGED
@@ -5,14 +5,15 @@ export { STN_BREADCRUMB_DEMO_ITEMS, STN_BREADCRUMB_FIGMA, STN_BREADCRUMB_FIGMA_L
5
5
  export { STN_BREAKPOINT_INTRO, STN_BREAKPOINT_MEDIA, STN_BREAKPOINT_ROWS, StnBreakpointRow, breakpointTokensToJson } from './data/stnBreakpoint.js';
6
6
  export { STN_BUTTON_ICON_ONLY_INTRO, STN_BUTTON_ICON_ONLY_ROWS, STN_ICON_BUTTON_DEFAULT_SURFACE, STN_ICON_BUTTON_SURFACES, STN_ICON_BUTTON_VARIANTS, StnButtonIconOnlyRow, StnIconButtonSurface, StnIconButtonVariant } from './data/stnButtonIconOnly.js';
7
7
  export { STN_BUTTON_STATE_INTRO, STN_BUTTON_STATE_MATRIX, STN_BUTTON_STATE_STATES, STN_BUTTON_STATE_VARIANTS, STN_BUTTON_VARIANT_MAP, StnButtonFigmaVariant, StnButtonInteractionState, StnButtonPubStatus, StnButtonStateCell, getButtonStateCell } from './data/stnButtonStates.js';
8
- export { STN_CHART_INTRO } from './data/stnChart.js';
8
+ export { STN_CHART_COLOR_DEFINITIONS, STN_CHART_INTRO, STN_CHART_STATUS_DEFINITIONS, StnChartColorDefinition, StnChartStatus, StnChartStatusDefinition } from './data/stnChart.js';
9
9
  export { STN_CHECKBOX_FIGMA, STN_CHECKBOX_INTRO, STN_CHECKBOX_PLAYGROUND_DEFAULT, STN_CHECKBOX_PLAYGROUND_INTRO, STN_CHECKBOX_PLAYGROUND_PROPERTIES, STN_CHECKBOX_REACT_USAGE, STN_CHECKBOX_USAGE_HTML, StnCheckboxPlaygroundConfig, countCheckboxPlaygroundCombinations, describeCheckboxPlaygroundReact, listCheckboxPlaygroundMatrix } from './data/stnCheckbox.js';
10
10
  export { STN_CHIP_BORDER_ACCENTS, STN_CHIP_GRADE_LEGACY_CLASS, STN_CHIP_GRADE_ROWS, STN_CHIP_INTRO, STN_CHIP_METRICS, STN_CHIP_USAGE_ROWS, StnChipBorderAccent, StnChipGrade, StnChipLegacyGradeClass, StnChipUsageRow } from './data/stnChip.js';
11
11
  export { STN_ALL_PALETTE_ROWS, STN_BLUE_SCALE, STN_COBALT_SCALE, STN_COLOR_RATIO_SEGMENTS, STN_COLOR_RATIO_SEGMENTS_DARK, STN_COLOR_RATIO_SEGMENTS_LIGHT, STN_CYAN_SCALE, STN_GRAY_SCALE, STN_GREEN_SCALE, STN_OPACITY_BLACK_SCALE, STN_OPACITY_WHITE_SCALE, STN_ORANGE_SCALE, STN_PURPLE_SCALE, STN_RED_SCALE, STN_SEMANTIC_DARK_ROWS, STN_SEMANTIC_DS_ALIAS_DARK, STN_SEMANTIC_DS_ALIAS_LIGHT, STN_SEMANTIC_LIGHT_ROWS, STN_SEMANTIC_PRIMARY_DARK, STN_SEMANTIC_PRIMARY_LIGHT, STN_STATIC, STN_TEAL_SCALE, STN_YELLOW_SCALE, SemanticJsonEntry, StnColorRatioSegment, StnPaletteRow, StnSemanticTokenRow, hexToRgbString, paletteToJsonRecord, semanticPaletteToJsonRecord } from './data/stnColorPalette.js';
12
- export { STN_DATE_PICKER_INTRO, STN_DATE_PICKER_KO_NAME, STN_DATE_PICKER_NAME, STN_DATE_PICKER_PANEL_USAGE, STN_DATE_PICKER_PART_ROWS, STN_DATE_PICKER_SPEC, STN_DATE_PICKER_USAGE, STN_DATE_PICKER_USAGE_HTML, STN_DATE_PICKER_WEEKDAYS, StnDateRange } from './data/stnDatePicker.js';
12
+ export { STN_DATE_PICKER_INTRO, STN_DATE_PICKER_KO_NAME, STN_DATE_PICKER_NAME, STN_DATE_PICKER_PANEL_USAGE, STN_DATE_PICKER_PART_ROWS, STN_DATE_PICKER_SPEC, STN_DATE_PICKER_USAGE, STN_DATE_PICKER_USAGE_HTML, STN_DATE_PICKER_WEEKDAYS, STN_DATE_PRESET_LABEL, StnDatePickerMode, StnDatePreset, StnDatePresetKind, StnDateRange, StnDateTimePlacement, createStnDatePreset, createStnDatePresets } from './data/stnDatePicker.js';
13
13
  export { STN_DATE_RANGE_FIELD_DEMO, STN_DATE_RANGE_FIELD_FIGMA, STN_DATE_RANGE_FIELD_HTML, STN_DATE_RANGE_FIELD_INTRO, STN_DATE_RANGE_FIELD_NAME, STN_DATE_RANGE_FIELD_SIZE_ROWS, STN_DATE_RANGE_FIELD_USAGE, StnDateRangeFieldSize, formatStnDateRangeFieldValue, parseStnDateRangeFieldValue } from './data/stnDateRangeField.js';
14
14
  export { STN_DROPDOWN_HTML, STN_DROPDOWN_HTML_COUNTS, STN_DROPDOWN_INTRO, STN_DROPDOWN_INVENTORY, STN_DROPDOWN_MENU_INTRO, STN_DROPDOWN_MENU_USAGE, STN_DROPDOWN_SIZE_ROWS, STN_DROPDOWN_USAGE, StnDropdownDirection, StnDropdownHelperTextPosition, StnDropdownMode, StnDropdownModifier, StnDropdownNativeLayout, StnDropdownOption, StnDropdownSize, StnDropdownVariant } from './data/stnDropdown.js';
15
15
  export { STN_ELEVATION_LAYER_BG_INTRO, STN_ELEVATION_LAYER_INTRO, STN_ELEVATION_LAYER_INTRO_DARK, STN_ELEVATION_LAYER_INTRO_LIGHT, STN_ELEVATION_LAYER_STACK, STN_ELEVATION_LEVEL_ROWS, StnElevationLayerStackRow, StnElevationLevelRow, elevationTokensToJson, formatElevationSemanticDark, formatElevationSemanticLight } from './data/stnElevation.js';
16
+ export { STN_EMPTY_STATE_GRAPHICS, STN_EMPTY_STATE_INTRO, STN_EMPTY_STATE_KINDS, STN_EMPTY_STATE_KIND_ROWS, STN_EMPTY_STATE_PRESETS, STN_EMPTY_STATE_REACT_USAGE, STN_EMPTY_STATE_USAGE_HTML, StnEmptyStateKind, StnEmptyStatePreset, StnEmptyStateSize, StnEmptyStateTone } from './data/stnEmptyState.js';
16
17
  export { STN_FEEDBACK_BY_KIND, STN_FEEDBACK_SEMANTIC_ROWS, STN_FEEDBACK_SOURCE, StnFeedbackKind } from './data/stnFeedbackColors.js';
17
18
  export { STN_NAV_MENU_SUB_ICON, STN_SIDE_NAV_ITEM_INTRO, STN_SIDE_NAV_ITEM_STATES, STN_SIDE_NAV_SUB_ICON } from './data/stnSideNavItem.js';
18
19
  export { STN_SIDE_NAVIGATION_INTRO, STN_SIDE_NAVIGATION_USAGE, STN_SIDE_NAV_ITEM_USAGE } from './data/stnSideNavigation.js';
@@ -60,12 +61,16 @@ export { STN_TOAST_DEMO_MSG, STN_TOAST_ICON_SLUG, STN_TOAST_INTRO, STN_TOAST_KIN
60
61
  export { STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT, STN_TOGGLE_BUTTON_PLAYGROUND_INTRO, STN_TOGGLE_BUTTON_PLAYGROUND_PROPERTIES, STN_TOGGLE_BUTTON_REACT_USAGE, STN_TOGGLE_BUTTON_USAGE_HTML, StnToggleButtonPlaygroundConfig, countToggleButtonPlaygroundCombinations, describeToggleButtonPlaygroundReact, listToggleButtonPlaygroundMatrix } from './data/stnToggleButton.js';
61
62
  export { STN_TREE_DEMO, STN_TREE_FIGMA, STN_TREE_INTRO, STN_TREE_PARTS, STN_TREE_PATTERN_PLAYGROUND_DEFAULT, STN_TREE_PATTERN_PLAYGROUND_PROPERTIES, STN_TREE_REACT_EXAMPLE, STN_TREE_SECTION_SIDE_FIGMA, STN_TREE_USAGE_HTML, StnTreeDemoNode, StnTreePatternPlaygroundConfig, describeTreePatternReact } from './data/stnTree.js';
62
63
  export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './data/stnTypeScale.js';
63
- export { STN_FONT_FAMILY_ROWS, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnTypographyPrimitiveRow, StnTypographySemanticRow, typographyPrimitivesToJson, typographySemanticsToJson } from './data/stnTypography.js';
64
+ export { STN_FONT_FAMILY_ROWS, STN_FONT_SCALE_STEPS, STN_FONT_SCALE_USAGE, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnFontScaleStepRow, StnTypographyPrimitiveRow, StnTypographySemanticRow, scaleFontPx, typographyPrimitivesToJson, typographySemanticsToJson } from './data/stnTypography.js';
64
65
  export { STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './data/stnCard.js';
65
66
  export { STN_ALERT_CENTER_DASHBOARD_USAGE, STN_ALERT_CENTER_DASHBOARD_WIDGETS, STN_WIDGET_APPEARANCE_ROWS, STN_WIDGET_CHART_SLOT_HTML, STN_WIDGET_CHART_SLOT_REACT, STN_WIDGET_DISABILITY_STATUS_DEMO, STN_WIDGET_FIGMA, STN_WIDGET_FIGMA_DARK, STN_WIDGET_FIGMA_DARK_URL, STN_WIDGET_FIGMA_SHELL_HTML, STN_WIDGET_FIGMA_SHELL_REACT, STN_WIDGET_FIGMA_URL, STN_WIDGET_GRADE_ROW_DEMO, STN_WIDGET_HEADER_HTML, STN_WIDGET_HEADER_REACT, STN_WIDGET_INTRO, STN_WIDGET_KINDS, STN_WIDGET_SHELL_ROWS, STN_WIDGET_TOP5_BARS_DEMO, STN_WIDGET_TRAFFIC_BARS_DEMO, STN_WIDGET_USAGE, STN_WIDGET_USAGE_HTML, StnWidgetAppearance, StnWidgetAppearanceLegacy, StnWidgetAppearanceShell, StnWidgetAssetId, StnWidgetBackgroundMode, StnWidgetContentFamily, StnWidgetGradeRowGrade, StnWidgetKind, StnWidgetKindBodySlot, StnWidgetKindPreview, StnWidgetShell, buildStnWidgetKindUsage, getStnWidgetKind, isStnWidgetKindSlug, normalizeStnWidgetAppearance, resolveStnWidgetBackground, resolveStnWidgetKindAppearance, resolveStnWidgetKindBodySlot, stnWidgetSampleUrl } from './data/stnWidget.js';
66
67
  export { STN_STATUS_DEMO_STEPS, StnStatusDotState, StnStatusFlowStep, StnStatusFlowStepColor } from './data/stnStatus.js';
67
68
  export { StnTabIconPosition, StnTabIconSize, StnTabItem, StnTabPanelPadding, StnTabScrollButtons, StnTabsSize, StnTabsVariant } from './data/stnTabs.js';
68
69
  export { STN_DIVIDER_INTRO, STN_DIVIDER_ORIENTATIONS, STN_DIVIDER_TEXT_ALIGNS, STN_DIVIDER_VARIANTS, StnDividerOrientation, StnDividerTextAlign, StnDividerVariant } from './data/stnDivider.js';
70
+ export { STN_STEP_STATUS_SPEC, StnStepItem, StnStepStatus, StnStepperLineThickness, StnStepperOrientation, StnStepperPosition, StnStepperSize } from './data/stnStepper.js';
71
+ export { STN_POPOVER_INTRO, STN_POPOVER_USAGE, StnPopoverHorizontalOrigin, StnPopoverOrigin, StnPopoverPosition, StnPopoverReference, StnPopoverVerticalOrigin } from './data/stnPopover.js';
72
+ export { STN_STEP_CARDS_INTRO, StnStepCardItem } from './data/stnStepCards.js';
73
+ export { STN_SPLIT_VIEW_INTRO, STN_SPLIT_VIEW_OVERLAY_PLACEMENTS, STN_SPLIT_VIEW_SIDE_WIDTHS, StnSplitViewOverlayPlacement, StnSplitViewSideWidth } from './data/stnSplitView.js';
69
74
  export { STN_UI_CATALOG, STN_UI_COMPONENTS, STN_UI_FOUNDATIONS, StnUiComponentId, StnUiEntry, StnUiFoundationId } from './components.js';
70
75
  export { SYSTEM_ICON_DATA_URLS } from './data/stnSystemIconsData.generated.js';
71
76
  import 'react';