sellmate-design-system-react 9.0.0-beta.74 → 9.0.0-beta.76

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 (40) hide show
  1. package/AGENTS.md +37 -2
  2. package/README.md +5 -5
  3. package/bin/sellmate-ds.mjs +91 -59
  4. package/dist/components/SCircleProgress/README.md +6 -3
  5. package/dist/components/SCircleProgress/SCircleProgress.d.ts +11 -3
  6. package/dist/components/SLauncherListBox/README.md +1 -1
  7. package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +2 -2
  8. package/dist/components/SLinearProgress/README.md +2 -2
  9. package/dist/components/SLinearProgress/SLinearProgress.d.ts +8 -2
  10. package/dist/components/SLogo/README.md +1 -0
  11. package/dist/components/SLogo/logo.config.d.ts +1 -1
  12. package/dist/components/SSelect/README.md +18 -2
  13. package/dist/components/SSelect/SSelect.d.ts +28 -5
  14. package/dist/components/SSelect/index.d.ts +1 -1
  15. package/dist/components/STable/README.md +29 -20
  16. package/dist/components/STable/STable.d.ts +47 -31
  17. package/dist/components/STable/index.d.ts +1 -1
  18. package/dist/index.cjs +167 -50
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.js +167 -50
  21. package/dist/index.js.map +1 -1
  22. package/dist/llms-full.txt +94 -31
  23. package/dist/llms.txt +39 -3
  24. package/dist/styles.css +16 -0
  25. package/dist/theme.css +3 -0
  26. package/eslint/index.mjs +42 -42
  27. package/eslint/lib/class-names.mjs +23 -25
  28. package/eslint/lib/table-column.mjs +11 -11
  29. package/eslint/rules/component-group-gap.mjs +32 -30
  30. package/eslint/rules/divider-vertical-height.mjs +22 -22
  31. package/eslint/rules/field-width-grade.mjs +50 -50
  32. package/eslint/rules/no-arbitrary-class.mjs +63 -20
  33. package/eslint/rules/no-off-scale-spacing.mjs +61 -41
  34. package/eslint/rules/no-raw-html-control.mjs +38 -36
  35. package/eslint/rules/prefer-typo-preset.mjs +23 -17
  36. package/eslint/rules/require-locale-number.mjs +14 -19
  37. package/eslint/rules/table-column-width.mjs +21 -17
  38. package/eslint/rules/table-numeric-align.mjs +14 -14
  39. package/eslint/scale.gen.mjs +1 -1
  40. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -3764,43 +3764,46 @@ var STROKE = 12;
3764
3764
  var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
3765
3765
  var COLOR_MAP = {
3766
3766
  primary: { arc: "var(--cmp-progress-color-active)", track: "var(--cmp-progress-color-track)" },
3767
- // inverse: 어두운 배경용 — arc 흰색, track 은 흰색 40%(회색 링)
3768
- inverse: { arc: "var(--color-white)", track: "rgba(255,255,255,0.4)" },
3769
- error: { arc: "var(--color-red-75)", track: "var(--cmp-progress-color-track)" },
3770
- complete: { arc: "#01BB4B", track: "var(--cmp-progress-color-track)" },
3767
+ // inverse: 어두운 배경용 — arc 는 반전색, track 은 반전색을 inverse-opacity 만큼만(회색 링)
3768
+ inverse: {
3769
+ arc: "var(--cmp-progress-inverse-color)",
3770
+ track: "color-mix(in srgb, var(--cmp-progress-inverse-color) var(--cmp-progress-inverse-opacity), transparent)"
3771
+ },
3772
+ warning: { arc: "var(--cmp-progress-color-warning)", track: "var(--cmp-progress-color-track)" },
3773
+ error: { arc: "var(--cmp-progress-color-error)", track: "var(--cmp-progress-color-track)" },
3774
+ complete: { arc: "var(--cmp-progress-color-success)", track: "var(--cmp-progress-color-track)" },
3771
3775
  // neutral: 콘텐츠가 아직 없는 자리를 채우는 용도 — arc 도 회색이라 진행률보다 "대기"로 읽힌다
3772
- neutral: { arc: "var(--color-grey-35)", track: "var(--cmp-progress-color-track)" }
3776
+ neutral: { arc: "var(--cmp-progress-color-neutral)", track: "var(--cmp-progress-color-track)" }
3773
3777
  };
3774
- var DEFAULT_SIZE = 80;
3775
3778
  var clamp = (v) => Number.isFinite(v) ? Math.max(0, Math.min(100, v)) : 0;
3776
3779
  var SCircleProgress = /* @__PURE__ */ forwardRef(
3777
3780
  function SCircleProgress2({
3778
3781
  value = 0,
3779
3782
  type = "primary",
3780
3783
  indeterminate = false,
3781
- size = DEFAULT_SIZE,
3784
+ size,
3782
3785
  label,
3783
3786
  innerValue = false,
3784
3787
  className,
3785
3788
  style
3786
3789
  }, ref) {
3787
3790
  const v = clamp(value);
3788
- const dimension = typeof size === "number" ? `${size}px` : size;
3791
+ const dimension = size === void 0 ? "var(--cmp-progress-circular-size)" : typeof size === "number" ? `${size}px` : size;
3789
3792
  const colors = COLOR_MAP[type];
3790
3793
  const c = VIEWBOX / 2;
3791
- const percentColor = v === 0 ? "var(--sys-color-fg-tertiary, #888888)" : colors.arc;
3794
+ const percentColor = v === 0 ? "var(--sys-color-fg-tertiary)" : colors.arc;
3792
3795
  const filled = v / 100 * CIRCUMFERENCE;
3793
3796
  const showPercent = !indeterminate;
3794
3797
  const percentNode = /* @__PURE__ */ jsxs(
3795
3798
  "span",
3796
3799
  {
3797
3800
  className: cn(
3798
- "text-center text-[16px] font-bold",
3801
+ "typo-heading-md text-center",
3799
3802
  innerValue ? (
3800
3803
  // leading-[normal]: 26px leading 은 폰트 content(19px) 위아래로 홀수(7px)만큼 남아
3801
3804
  // 3px/4px 로 쪼개지고 글자가 링 중심보다 위로 뜬다. (leading-normal 은 1.5 라 동일 문제)
3802
3805
  "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 leading-[normal]"
3803
- ) : "leading-[26px]"
3806
+ ) : void 0
3804
3807
  ),
3805
3808
  style: { color: percentColor },
3806
3809
  children: [
@@ -3866,7 +3869,7 @@ var SCircleProgress = /* @__PURE__ */ forwardRef(
3866
3869
  showPercent && innerValue && percentNode
3867
3870
  ] }),
3868
3871
  showPercent && !innerValue && percentNode,
3869
- label && /* @__PURE__ */ jsx("span", { className: "text-center text-[12px] font-normal leading-[20px] text-[color:var(--cmp-progress-color-label)]", children: label })
3872
+ label && /* @__PURE__ */ jsx("span", { className: "typo-feedback-sm-regular text-center text-[color:var(--cmp-progress-color-label)]", children: label })
3870
3873
  ]
3871
3874
  }
3872
3875
  );
@@ -6867,6 +6870,7 @@ var LOGO_NAMES = [
6867
6870
  "sellmate",
6868
6871
  "wms",
6869
6872
  "chat",
6873
+ "chatbot",
6870
6874
  "plm",
6871
6875
  "account",
6872
6876
  "people",
@@ -6945,6 +6949,62 @@ var LOGOS = {
6945
6949
  }
6946
6950
  ]
6947
6951
  },
6952
+ chatbot: {
6953
+ width: 677,
6954
+ color: "#FF7F22",
6955
+ paths: [
6956
+ {
6957
+ d: "M390.671 0.480769C399.628 0.480769 406.904 7.6325 406.904 16.4692V16.9499H396.889V16.4692C396.889 13.0956 394.116 10.3553 390.671 10.3553H375.492C371.281 10.3553 367.868 13.7156 367.868 17.8542V32.1458C367.868 36.274 371.27 39.6447 375.492 39.6447H390.671C394.116 39.6447 396.889 36.9044 396.889 33.5308V33.0501H406.904V33.5308C406.904 42.3675 399.628 49.5192 390.671 49.5192H374.543C365.334 49.5191 357.865 42.1642 357.865 33.0914V16.9086C357.865 7.83555 365.346 0.480901 374.543 0.480769H390.671Z"
6958
+ },
6959
+ {
6960
+ d: "M424.736 17.3011C426.112 16.6865 427.8 16.4288 429.51 16.4288H441.028C443.607 16.4288 445.823 16.6732 447.666 17.1715L448.03 17.2748L448.033 17.2758C449.945 17.8576 451.503 18.7331 452.68 19.9613L452.896 20.1914C453.953 21.3596 454.71 22.7984 455.19 24.4704C455.699 26.2456 455.942 28.33 455.942 30.6997V49.5192H445.677V29.6133C445.677 27.873 445.325 26.6761 444.687 25.9362L444.684 25.9324C444.09 25.2296 442.926 24.7944 441.028 24.7944H429.51C427.612 24.7944 426.448 25.2296 425.854 25.9324L425.851 25.9362C425.213 26.6761 424.861 27.873 424.861 29.6133V49.5192H414.596V1.44231H424.736V17.3011Z"
6961
+ },
6962
+ {
6963
+ d: "M577.104 0C584.878 8.26358e-05 591.215 6.3316 591.215 14.1207V14.7104C591.215 17.8799 590.164 20.8103 588.393 23.1708C592.146 25.5104 594.648 29.6549 594.648 34.3703V35.8229C594.647 43.1032 588.678 49.0383 581.332 49.0385C580.953 49.2574 565.272 49.1891 553.469 49.0967C549.777 49.0678 546.808 46.0642 546.808 42.3725V14.1207C546.808 9.66706 548.856 5.5708 552.415 2.86677C554.889 0.99021 557.835 3.90295e-05 560.919 0H577.104ZM555.838 39.0991C555.838 40.1612 556.699 41.0222 557.761 41.0222H581.332C584.215 41.022 586.562 38.6931 586.562 35.8314V34.3788C586.562 31.5171 584.215 29.1882 581.332 29.1879H555.838V39.0991ZM561.552 9.5459C558.496 9.54605 556.009 12.0341 556.009 15.0916V21.1538H578.643C581.269 20.7195 583.279 18.4313 583.279 15.6823V15.0916C583.279 12.034 580.792 9.54593 577.736 9.5459H561.552Z",
6964
+ evenOdd: true
6965
+ },
6966
+ {
6967
+ d: "M488.836 11.5385C498.697 11.5385 503.492 15.4781 503.492 23.5793V36.9976C503.492 45.6093 505.135 49.0385 488.836 49.0385H475.897C466.577 49.0385 461.231 44.3883 461.231 36.2868C461.231 27.5861 465.683 23.5352 475.231 23.5352H494.952C494.858 22.4033 494.494 21.6261 493.86 21.1933C492.82 20.4832 491.218 20.3501 488.638 20.3501H465.162V11.5385H488.836ZM476.084 32.3252C472.839 32.3252 469.677 32.6136 469.677 36.1647C469.677 38.9392 471.715 40.2268 476.084 40.2269H488.638C491.01 40.2269 493.278 40.3707 494.255 39.6494C495.129 39.0058 495.046 37.8078 495.046 36.9976V32.3252H476.084Z",
6968
+ evenOdd: true
6969
+ },
6970
+ {
6971
+ d: "M529.384 1.61415V11.0023H540.077V19.9284H529.384V49.0385H520.011L520 48.3859V19.9284H509.308V11.0023H520V0.961538H529.373L529.384 1.61415Z"
6972
+ },
6973
+ {
6974
+ d: "M627.328 12.5C635.417 12.5 642 18.9976 642 27.0048V34.5337C642 42.5408 635.417 49.0385 627.328 49.0385H614.364C606.275 49.0385 599.692 42.5408 599.692 34.5337V27.0048C599.692 18.9976 606.275 12.5 614.364 12.5H627.328ZM614.373 21.7896C611.451 21.7898 609.08 24.1331 609.08 27.0048V34.5337C609.08 37.4065 611.453 39.759 614.373 39.7592H627.338C630.259 39.7592 632.631 37.4066 632.631 34.5337V27.0048C632.631 24.133 630.26 21.7896 627.338 21.7896H614.373Z",
6975
+ evenOdd: true
6976
+ },
6977
+ {
6978
+ d: "M665.923 1.61415V11.0023H676.615V19.9284H665.923V49.0385H656.55L656.538 48.3859V19.9284H645.846V11.0023H656.538V0.961538H665.912L665.923 1.61415Z"
6979
+ }
6980
+ ],
6981
+ vertical: [
6982
+ {
6983
+ d: "M72.6294 70.3846C79.795 70.3846 85.6153 76.106 85.6154 83.1753V83.5599H77.6038V83.1753C77.6037 80.4765 75.3853 78.2843 72.6294 78.2843H60.4862C57.1171 78.2843 54.3872 80.9725 54.3872 84.2834V95.7167C54.3872 99.0192 57.1087 101.716 60.4862 101.716H72.6294C75.3853 101.716 77.6037 99.5235 77.6038 96.8247V96.4401H85.6154V96.8247C85.6153 103.894 79.795 109.615 72.6294 109.615H59.7267C52.3598 109.615 46.3846 103.731 46.3846 96.4731V83.5269C46.3846 76.2684 52.3691 70.3847 59.7267 70.3846H72.6294Z"
6984
+ },
6985
+ {
6986
+ d: "M99.8815 83.8409C100.982 83.3492 102.333 83.143 103.701 83.143H112.915C114.978 83.143 116.751 83.3386 118.225 83.7372L118.517 83.8199L118.519 83.8206C120.049 84.2861 121.295 84.9865 122.237 85.9691L122.409 86.1531C123.255 87.0877 123.861 88.2388 124.244 89.5763C124.652 90.9965 124.846 92.664 124.846 94.5598V109.615H116.634V93.6907C116.634 92.2984 116.353 91.3409 115.842 90.749L115.84 90.7459C115.365 90.1837 114.433 89.8355 112.915 89.8355H103.701C102.182 89.8355 101.251 90.1837 100.775 90.7459L100.773 90.749C100.263 91.3409 99.9814 92.2984 99.9814 93.6907V109.615H91.7693V71.1538H99.8815V83.8409Z"
6987
+ },
6988
+ {
6989
+ d: "M221.775 70C227.995 70.0001 233.064 75.0653 233.064 81.2966V81.7683C233.064 84.3039 232.224 86.6483 230.807 88.5367C233.809 90.4083 235.811 93.7239 235.811 97.4962V98.6584C235.81 104.483 231.035 109.231 225.158 109.231C224.855 109.406 212.31 109.351 202.868 109.277C199.914 109.254 197.538 106.851 197.538 103.898V81.2966C197.539 77.7336 199.177 74.4566 202.025 72.2934C204.004 70.7922 206.361 70 208.828 70H221.775ZM204.763 101.279C204.763 102.129 205.452 102.818 206.301 102.818H225.158C227.465 102.818 229.342 100.954 229.342 98.6651V97.503C229.342 95.2137 227.465 93.3505 225.158 93.3504H204.763V101.279ZM209.334 77.6367C206.889 77.6368 204.9 79.6272 204.9 82.0733V86.9231H223.006C225.108 86.5756 226.716 84.745 226.716 82.5458V82.0733C226.716 79.6272 224.726 77.6367 222.282 77.6367H209.334Z",
6990
+ evenOdd: true
6991
+ },
6992
+ {
6993
+ d: "M151.162 79.2308C159.05 79.2308 162.886 82.3825 162.886 88.8634V99.5981C162.886 106.487 164.201 109.231 151.162 109.231H140.81C133.354 109.231 129.077 105.511 129.077 99.0294C129.077 92.0689 132.639 88.8281 140.277 88.8281H156.054C155.979 87.9226 155.688 87.3009 155.18 86.9546C154.348 86.3866 153.066 86.2801 151.003 86.2801H132.222V79.2308H151.162ZM140.959 95.8601C138.363 95.8601 135.834 96.0909 135.834 98.9318C135.834 101.151 137.465 102.181 140.959 102.181H151.003C152.9 102.181 154.715 102.297 155.497 101.72C156.196 101.205 156.129 100.246 156.129 99.5981V95.8601H140.959Z",
6994
+ evenOdd: true
6995
+ },
6996
+ {
6997
+ d: "M183.6 71.2913V78.8018H192.154V85.9428H183.6V109.231H176.101L176.092 108.709V85.9428H167.538V78.8018H176.092V70.7692H183.591L183.6 71.2913Z"
6998
+ },
6999
+ {
7000
+ d: "M261.955 80C268.426 80 273.692 85.1981 273.692 91.6038V97.627C273.692 104.033 268.426 109.231 261.955 109.231H251.584C245.113 109.231 239.846 104.033 239.846 97.627V91.6038C239.846 85.1981 245.113 80 251.584 80H261.955ZM251.591 87.4316C249.254 87.4318 247.357 89.3065 247.357 91.6038V97.627C247.357 99.9252 249.254 101.807 251.591 101.807H261.963C264.3 101.807 266.198 99.9253 266.198 97.627V91.6038C266.198 89.3064 264.301 87.4317 261.963 87.4316H251.591Z",
7001
+ evenOdd: true
7002
+ },
7003
+ {
7004
+ d: "M292.831 71.2913V78.8018H301.385V85.9428H292.831V109.231H285.332L285.323 108.709V85.9428H276.769V78.8018H285.323V70.7692H292.822L292.831 71.2913Z"
7005
+ }
7006
+ ]
7007
+ },
6948
7008
  plm: {
6949
7009
  width: 511,
6950
7010
  color: "#50BFF0",
@@ -7285,6 +7345,7 @@ var SERVICE_LABEL = {
7285
7345
  sellmate: "Sellmate",
7286
7346
  wms: "Sellmate WMS",
7287
7347
  chat: "Sellmate Chat",
7348
+ chatbot: "Sellmate ChatBot",
7288
7349
  plm: "Sellmate PLM",
7289
7350
  account: "Sellmate Account",
7290
7351
  people: "Sellmate People",
@@ -7545,6 +7606,10 @@ function TreeBranch({ expanded, children }) {
7545
7606
  }
7546
7607
  );
7547
7608
  }
7609
+ function isRowControlClick(event) {
7610
+ const control = event.target.closest("[data-tree-control]");
7611
+ return control != null && event.currentTarget.contains(control);
7612
+ }
7548
7613
  function STreeAllItem({
7549
7614
  selected,
7550
7615
  indeterminate,
@@ -7567,14 +7632,16 @@ function STreeAllItem({
7567
7632
  "data-tree-row": rowId,
7568
7633
  tabIndex,
7569
7634
  onKeyDown,
7570
- onClick: onSelect,
7635
+ onClick: (event) => {
7636
+ if (!isRowControlClick(event)) onSelect(event);
7637
+ },
7571
7638
  className: cn(
7572
7639
  "group/tree-item box-border flex w-full cursor-pointer items-center overflow-hidden bg-(--cmp-tree-item-bg-default) px-(--cmp-tree-item-paddingX) text-left hover:bg-(--cmp-tree-item-bg-hover)",
7573
7640
  typography.rowHeight,
7574
7641
  border && "border-b border-(--cmp-tree-item-border-default)"
7575
7642
  ),
7576
7643
  children: /* @__PURE__ */ jsxs("div", { className: "box-border flex min-w-0 flex-1 items-center gap-(--cmp-tree-item-contentGap)", children: [
7577
- /* @__PURE__ */ jsx("span", { onClick: (event) => event.stopPropagation(), className: "flex shrink-0", children: /* @__PURE__ */ jsx(SCheckbox, { value: checkboxValue, onValueChange: () => onSelect() }) }),
7644
+ /* @__PURE__ */ jsx("span", { "data-tree-control": true, className: "flex shrink-0", children: /* @__PURE__ */ jsx(SCheckbox, { value: checkboxValue, onValueChange: () => onSelect() }) }),
7578
7645
  /* @__PURE__ */ jsx(
7579
7646
  "span",
7580
7647
  {
@@ -7605,6 +7672,10 @@ var STreeItemImpl = /* @__PURE__ */ forwardRef(function STreeItem({
7605
7672
  trailing,
7606
7673
  onToggle,
7607
7674
  onTreeSelect,
7675
+ // treeitem 은 포커스를 받을 수 있어야 한다. tab 순서는 STree 가 한 줄에만 0 을 줘서 정한다(roving).
7676
+ tabIndex = -1,
7677
+ // 줄 단위 키보드 조작(화살표·Enter·Space)은 줄 사이를 오가야 해서 STree 가 쥐고 내려준다
7678
+ onKeyDown,
7608
7679
  className,
7609
7680
  ...rest
7610
7681
  }, ref) {
@@ -7629,6 +7700,11 @@ var STreeItemImpl = /* @__PURE__ */ forwardRef(function STreeItem({
7629
7700
  onTreeSelect?.(node, event);
7630
7701
  };
7631
7702
  const handleRowClick = (event) => {
7703
+ if (isRowControlClick(event)) return;
7704
+ if (selectable && event.target.closest("[data-tree-label]")) {
7705
+ handleSelect(event);
7706
+ return;
7707
+ }
7632
7708
  if (hasChildren) onToggle?.(node, event);
7633
7709
  };
7634
7710
  return /* @__PURE__ */ jsxs(
@@ -7640,6 +7716,8 @@ var STreeItemImpl = /* @__PURE__ */ forwardRef(function STreeItem({
7640
7716
  "aria-expanded": hasChildren ? expanded : void 0,
7641
7717
  "aria-selected": selectable ? selected : void 0,
7642
7718
  "aria-disabled": node.disabled || void 0,
7719
+ tabIndex,
7720
+ onKeyDown,
7643
7721
  onClick: handleRowClick,
7644
7722
  className: cn(
7645
7723
  "group/tree-item box-border flex w-full items-center gap-(--cmp-tree-item-rowGap) overflow-hidden bg-(--cmp-tree-item-bg-default) px-(--cmp-tree-item-paddingX) text-left",
@@ -7685,7 +7763,7 @@ var STreeItemImpl = /* @__PURE__ */ forwardRef(function STreeItem({
7685
7763
  selectable && /* @__PURE__ */ jsx(
7686
7764
  "span",
7687
7765
  {
7688
- onClick: (event) => event.stopPropagation(),
7766
+ "data-tree-control": true,
7689
7767
  className: "flex shrink-0",
7690
7768
  "aria-hidden": node.disabled ? "true" : void 0,
7691
7769
  children: /* @__PURE__ */ jsx(
@@ -7701,11 +7779,7 @@ var STreeItemImpl = /* @__PURE__ */ forwardRef(function STreeItem({
7701
7779
  /* @__PURE__ */ jsx(
7702
7780
  "span",
7703
7781
  {
7704
- onClick: (event) => {
7705
- if (!selectable) return;
7706
- event.stopPropagation();
7707
- if (!node.disabled && selectable) onTreeSelect?.(node, event);
7708
- },
7782
+ "data-tree-label": true,
7709
7783
  className: cn(
7710
7784
  "block min-w-0 flex-1 truncate py-(--cmp-tree-item-paddingY) text-(--cmp-tree-item-text-default)",
7711
7785
  labelTypo,
@@ -8709,6 +8783,7 @@ var SContextAlert = /* @__PURE__ */ forwardRef(function SContextAlert2({ intent
8709
8783
  });
8710
8784
  var FILL_COLOR = {
8711
8785
  primary: "var(--cmp-progress-color-active)",
8786
+ warning: "var(--cmp-progress-color-warning)",
8712
8787
  error: "var(--cmp-progress-color-error)",
8713
8788
  complete: "var(--cmp-progress-color-success)"
8714
8789
  };
@@ -8717,20 +8792,20 @@ var SLinearProgress = /* @__PURE__ */ forwardRef(
8717
8792
  function SLinearProgress2({ value = 0, type = "primary", size = "sm", indeterminate = false, label, className, style }, ref) {
8718
8793
  const v = clamp2(value);
8719
8794
  const fill = FILL_COLOR[type];
8720
- const valueColor = v === 0 ? "var(--sys-color-fg-tertiary, #888888)" : fill;
8795
+ const valueColor = v === 0 ? "var(--sys-color-fg-tertiary)" : fill;
8721
8796
  const valueText = `${Math.round(v)}%`;
8722
8797
  const showValue = !indeterminate && size !== "xs";
8723
8798
  return /* @__PURE__ */ jsxs(
8724
8799
  "div",
8725
8800
  {
8726
8801
  ref,
8727
- className: cn("flex w-full flex-col gap-[12px]", className),
8802
+ className: cn("flex w-full flex-col gap-[var(--cmp-progress-linear-gap)]", className),
8728
8803
  style,
8729
8804
  children: [
8730
8805
  /* @__PURE__ */ jsxs(
8731
8806
  "div",
8732
8807
  {
8733
- className: "relative w-full overflow-hidden rounded-full bg-[var(--cmp-progress-color-track)]",
8808
+ className: "relative w-full overflow-hidden rounded-[var(--cmp-progress-linear-radius)] bg-[var(--cmp-progress-color-track)]",
8734
8809
  style: { height: `var(--cmp-progress-linear-height-${size})` },
8735
8810
  children: [
8736
8811
  /* @__PURE__ */ jsx(
@@ -8747,7 +8822,7 @@ var SLinearProgress = /* @__PURE__ */ forwardRef(
8747
8822
  /* @__PURE__ */ jsx(
8748
8823
  "span",
8749
8824
  {
8750
- className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 select-none text-center text-[12px] font-bold leading-[20px]",
8825
+ className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 typo-feedback-sm-bold select-none text-center",
8751
8826
  style: { color: valueColor },
8752
8827
  children: valueText
8753
8828
  }
@@ -8755,7 +8830,7 @@ var SLinearProgress = /* @__PURE__ */ forwardRef(
8755
8830
  /* @__PURE__ */ jsx(
8756
8831
  "span",
8757
8832
  {
8758
- className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 select-none text-center text-[12px] font-bold leading-[20px] text-[color:var(--cmp-progress-bar-text)]",
8833
+ className: "pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2 typo-feedback-sm-bold select-none text-center text-[color:var(--cmp-progress-bar-text)]",
8759
8834
  style: { clipPath: `inset(0 ${100 - v}% 0 0)` },
8760
8835
  children: valueText
8761
8836
  }
@@ -8764,7 +8839,7 @@ var SLinearProgress = /* @__PURE__ */ forwardRef(
8764
8839
  ]
8765
8840
  }
8766
8841
  ),
8767
- label && /* @__PURE__ */ jsx("span", { className: "text-center text-[12px] font-normal leading-[20px] text-[color:var(--cmp-progress-color-label)]", children: label })
8842
+ label && /* @__PURE__ */ jsx("span", { className: "typo-feedback-sm-regular text-center text-[color:var(--cmp-progress-color-label)]", children: label })
8768
8843
  ]
8769
8844
  }
8770
8845
  );
@@ -11679,6 +11754,7 @@ var LAUNCHER_SERVICES = [
11679
11754
  "sellmate",
11680
11755
  "wms",
11681
11756
  "chat",
11757
+ "chatbot",
11682
11758
  "plm",
11683
11759
  "account",
11684
11760
  "people",
@@ -11690,6 +11766,7 @@ var LAUNCHER_SERVICE_CATALOG = {
11690
11766
  sellmate: { name: "\uC140\uBA54\uC774\uD2B8" },
11691
11767
  wms: { name: "\uC140\uBA54\uC774\uD2B8 WMS" },
11692
11768
  chat: { name: "\uC140\uBA54\uC774\uD2B8 \uCC57" },
11769
+ chatbot: { name: "\uC140\uBA54\uC774\uD2B8 \uCC57\uBD07" },
11693
11770
  plm: { name: "\uC140\uBA54\uC774\uD2B8 PLM" },
11694
11771
  account: {
11695
11772
  name: "\uC140\uBA54\uC774\uD2B8 \uC5B4\uCE74\uC6B4\uD2B8",
@@ -15640,10 +15717,12 @@ var SSelectImpl = /* @__PURE__ */ forwardRef(function SSelect({
15640
15717
  }
15641
15718
  commitOpen(next);
15642
15719
  };
15720
+ const commitOpenRef = useRef(commitOpen);
15721
+ commitOpenRef.current = commitOpen;
15643
15722
  useEffect(() => {
15644
15723
  if (!insideModal || portalContainer == null || !pendingOpen) return;
15645
15724
  setPendingOpen(false);
15646
- commitOpen(true);
15725
+ commitOpenRef.current(true);
15647
15726
  }, [insideModal, pendingOpen, portalContainer]);
15648
15727
  const requestOpenRef = useRef(requestOpen);
15649
15728
  requestOpenRef.current = requestOpen;
@@ -15845,6 +15924,7 @@ var SSelectImpl = /* @__PURE__ */ forwardRef(function SSelect({
15845
15924
  return labelByValue.get(selected[0]) ?? valueOptions.get(selected[0])?.label ?? selected[0];
15846
15925
  })();
15847
15926
  const isPlaceholder = selected.length === 0;
15927
+ const showTriggerSpinner = loading2 && !effectiveDisabled;
15848
15928
  const showClear = clearable && !effectiveDisabled && !isPlaceholder;
15849
15929
  const handleClear = () => {
15850
15930
  emit3([]);
@@ -16019,6 +16099,7 @@ var SSelectImpl = /* @__PURE__ */ forwardRef(function SSelect({
16019
16099
  "aria-expanded": open,
16020
16100
  "aria-controls": open ? listboxId : void 0,
16021
16101
  "aria-activedescendant": open && focusedIndex >= 0 ? activeOptionId : void 0,
16102
+ "aria-busy": showTriggerSpinner || void 0,
16022
16103
  onClick: () => requestOpen(!open),
16023
16104
  onKeyDown: handleKeyDown,
16024
16105
  className: "flex h-full w-full cursor-pointer items-center justify-between gap-[8px] bg-transparent px-[12px] text-left text-[12px] leading-[20px] outline-none disabled:cursor-not-allowed",
@@ -16070,7 +16151,7 @@ var SSelectImpl = /* @__PURE__ */ forwardRef(function SSelect({
16070
16151
  ]
16071
16152
  }
16072
16153
  ),
16073
- /* @__PURE__ */ jsx(
16154
+ showTriggerSpinner ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "inline-flex shrink-0", "data-select-trigger-spinner": true, children: /* @__PURE__ */ jsx(SCircleProgress, { indeterminate: true, type: "neutral", size: 12 }) }) : /* @__PURE__ */ jsx(
16074
16155
  SIcon,
16075
16156
  {
16076
16157
  name: "chevronDown",
@@ -16186,12 +16267,15 @@ var SSelectImpl = /* @__PURE__ */ forwardRef(function SSelect({
16186
16267
  // 첫 페이지를 받는 중에는 "없다"고 단정하지 않는다 — 아래 로딩 표시가 대신 나온다.
16187
16268
  /* @__PURE__ */ jsx("div", { className: "px-[12px] py-[12px] text-left text-[12px] leading-[20px] text-[color:var(--cmp-listBoxItem-content-disabled)]", children: "\uD45C\uC2DC\uD560 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4." })
16188
16269
  ),
16189
- loading2 && /* @__PURE__ */ jsx(
16270
+ loading2 && /* @__PURE__ */ jsxs(
16190
16271
  "div",
16191
16272
  {
16192
16273
  role: "status",
16193
- className: "px-[12px] py-[12px] text-center text-[12px] leading-[20px] text-[color:var(--cmp-listBoxItem-content-disabled)]",
16194
- children: "\uBD88\uB7EC\uC624\uB294 \uC911..."
16274
+ className: "flex items-center justify-center gap-[8px] px-[12px] py-[12px] text-[12px] leading-[20px] text-[color:var(--cmp-listBoxItem-content-disabled)]",
16275
+ children: [
16276
+ /* @__PURE__ */ jsx(SCircleProgress, { indeterminate: true, type: "neutral", size: 16 }),
16277
+ "\uBD88\uB7EC\uC624\uB294 \uC911..."
16278
+ ]
16195
16279
  }
16196
16280
  )
16197
16281
  ]
@@ -16461,7 +16545,7 @@ var colWidthFromDef = (c) => {
16461
16545
  const px = typeof c.width === "number" ? c.width : parseInt(c.width, 10);
16462
16546
  return Number.isFinite(px) ? px : DEFAULT_COLUMN_WIDTH;
16463
16547
  };
16464
- var STable = /* @__PURE__ */ forwardRef(function STable2({
16548
+ var STableImpl = /* @__PURE__ */ forwardRef(function STable({
16465
16549
  columns = [],
16466
16550
  headerGroups,
16467
16551
  rows = [],
@@ -17571,6 +17655,7 @@ var STable = /* @__PURE__ */ forwardRef(function STable2({
17571
17655
  }
17572
17656
  );
17573
17657
  });
17658
+ var STable2 = STableImpl;
17574
17659
  var COUNT_NULL = "var(--cmp-table-bar-count-null)";
17575
17660
  var totalColor = (n) => n > 0 ? "var(--cmp-table-bar-count-total)" : COUNT_NULL;
17576
17661
  var selectedColor = (n) => n > 0 ? "var(--color-brilliantblue-75)" : COUNT_NULL;
@@ -18377,11 +18462,13 @@ function SCalendar({
18377
18462
  const base = value || today;
18378
18463
  const [y, setY] = useState(() => Number(base.split("-")[0]));
18379
18464
  const [m, setM] = useState(() => Number(base.split("-")[1]));
18380
- useEffect(() => {
18465
+ const [syncedValue, setSyncedValue] = useState(value);
18466
+ if (syncedValue !== value) {
18467
+ setSyncedValue(value);
18381
18468
  const b = value || today;
18382
18469
  setY(Number(b.split("-")[0]));
18383
18470
  setM(Number(b.split("-")[1]));
18384
- }, [value]);
18471
+ }
18385
18472
  const cells = useMemo(() => monthCells(y, m), [y, m]);
18386
18473
  const eventMap = useMemo(() => {
18387
18474
  const map = /* @__PURE__ */ new Map();
@@ -19704,6 +19791,7 @@ var SChipImpl = /* @__PURE__ */ forwardRef(function SChip({
19704
19791
  {
19705
19792
  ref: inputRef,
19706
19793
  role: "textbox",
19794
+ tabIndex: 0,
19707
19795
  contentEditable: !disabled,
19708
19796
  suppressContentEditableWarning: true,
19709
19797
  spellCheck: false,
@@ -22128,6 +22216,7 @@ var SToastContainer = /* @__PURE__ */ forwardRef(
22128
22216
  const [mounted2, setMounted] = useState(false);
22129
22217
  const timers = useRef(/* @__PURE__ */ new Map());
22130
22218
  const elRefs = useRef(/* @__PURE__ */ new Map());
22219
+ const resizeObserverRef = useRef(null);
22131
22220
  const [heights, setHeights] = useState(/* @__PURE__ */ new Map());
22132
22221
  const onShowRef = useRef(onShow);
22133
22222
  const onDismissRef = useRef(onDismiss);
@@ -22141,6 +22230,8 @@ var SToastContainer = /* @__PURE__ */ forwardRef(
22141
22230
  if (!liveIds.current.has(id)) return;
22142
22231
  liveIds.current.delete(id);
22143
22232
  setToasts((prev) => prev.filter((t) => t.id !== id));
22233
+ const el = elRefs.current.get(id);
22234
+ if (el) resizeObserverRef.current?.unobserve(el);
22144
22235
  elRefs.current.delete(id);
22145
22236
  setHeights((prev) => {
22146
22237
  if (!prev.has(id)) return prev;
@@ -22174,21 +22265,31 @@ var SToastContainer = /* @__PURE__ */ forwardRef(
22174
22265
  });
22175
22266
  return () => cancelAnimationFrame(raf);
22176
22267
  }, [toasts]);
22177
- useLayoutEffect(() => {
22178
- let changed = false;
22179
- const next = new Map(heights);
22180
- toasts.forEach((t) => {
22181
- const el = elRefs.current.get(t.id);
22182
- if (el) {
22268
+ useEffect(() => {
22269
+ if (typeof ResizeObserver === "undefined") return;
22270
+ const observer = new ResizeObserver((entries4) => {
22271
+ const measured = [];
22272
+ for (const entry of entries4) {
22273
+ const el = entry.target;
22274
+ const id = el.dataset.toastId;
22183
22275
  const h = el.offsetHeight;
22184
- if (h > 0 && next.get(t.id) !== h) {
22185
- next.set(t.id, h);
22186
- changed = true;
22187
- }
22276
+ if (id != null && h > 0 && liveIds.current.has(id)) measured.push([id, h]);
22188
22277
  }
22278
+ if (measured.length === 0) return;
22279
+ setHeights((prev) => {
22280
+ if (measured.every(([id, h]) => prev.get(id) === h)) return prev;
22281
+ const next = new Map(prev);
22282
+ for (const [id, h] of measured) next.set(id, h);
22283
+ return next;
22284
+ });
22189
22285
  });
22190
- if (changed) setHeights(next);
22191
- });
22286
+ resizeObserverRef.current = observer;
22287
+ elRefs.current.forEach((el) => observer.observe(el));
22288
+ return () => {
22289
+ observer.disconnect();
22290
+ resizeObserverRef.current = null;
22291
+ };
22292
+ }, []);
22192
22293
  const scheduleAutoClose = useCallback(
22193
22294
  (id, duration) => {
22194
22295
  if (duration > 0)
@@ -22327,8 +22428,11 @@ var SToastContainer = /* @__PURE__ */ forwardRef(
22327
22428
  children: toasts.map((entry) => /* @__PURE__ */ jsx(
22328
22429
  "div",
22329
22430
  {
22431
+ "data-toast-id": entry.id,
22330
22432
  ref: (el) => {
22331
- if (el) elRefs.current.set(entry.id, el);
22433
+ if (el == null || elRefs.current.get(entry.id) === el) return;
22434
+ elRefs.current.set(entry.id, el);
22435
+ resizeObserverRef.current?.observe(el);
22332
22436
  },
22333
22437
  style: itemStyle(entry),
22334
22438
  children: /* @__PURE__ */ jsx(SToast, { ...entry.options, onClose: () => startDismiss(entry.id) })
@@ -26649,7 +26753,16 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26649
26753
  const loading2 = effectiveAutocomplete ? loadingSuggestions && suggestions.length === 0 : loadingRecommendedItems && recommendedItems.length === 0;
26650
26754
  const isFieldEmpty = inputValue === "" && values.length > 0 && !focused;
26651
26755
  const isFieldFilled = inputValue !== "";
26756
+ const reopenDropdown = () => {
26757
+ setSuppressSuggestions(false);
26758
+ setSuppressRecommendations(false);
26759
+ };
26652
26760
  const onKeyDown = (e) => {
26761
+ if (e.key === "ArrowDown" && !showDropdown && (inputValue === "" ? suppressRecommendations : suppressSuggestions)) {
26762
+ e.preventDefault();
26763
+ reopenDropdown();
26764
+ return;
26765
+ }
26653
26766
  if (showDropdown && items.length > 0) {
26654
26767
  if (e.key === "ArrowDown") {
26655
26768
  e.preventDefault();
@@ -26727,10 +26840,10 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26727
26840
  "relative box-border flex w-full flex-wrap content-center items-center gap-(--cmp-chipInput-chip-gap)",
26728
26841
  size === "md" ? "min-h-(--cmp-chipInput-md-minHeight) px-(--cmp-chipInput-md-paddingX) py-(--cmp-chipInput-md-paddingY)" : "min-h-(--cmp-chipInput-sm-minHeight) px-(--cmp-chipInput-sm-paddingX) py-(--cmp-chipInput-sm-paddingY)"
26729
26842
  ),
26843
+ role: "presentation",
26730
26844
  onClick: () => {
26731
26845
  if (!disabled) {
26732
- setSuppressSuggestions(false);
26733
- setSuppressRecommendations(false);
26846
+ reopenDropdown();
26734
26847
  inputRef.current?.focus();
26735
26848
  }
26736
26849
  },
@@ -26861,6 +26974,7 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26861
26974
  metaPlacement === "end" && "ml-auto"
26862
26975
  ),
26863
26976
  "data-placement": metaPlacement,
26977
+ role: "presentation",
26864
26978
  onMouseDown: (e) => e.preventDefault(),
26865
26979
  children: [
26866
26980
  /* @__PURE__ */ jsx(
@@ -26917,6 +27031,7 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26917
27031
  {
26918
27032
  id: listboxId,
26919
27033
  role: "listbox",
27034
+ tabIndex: -1,
26920
27035
  className: "s-chip-input__suggestions flex w-full flex-col outline-none",
26921
27036
  onMouseDown: (e) => e.preventDefault(),
26922
27037
  children: [
@@ -26930,6 +27045,7 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26930
27045
  id: active ? activeOptionId : void 0,
26931
27046
  role: "option",
26932
27047
  "aria-selected": selected || active,
27048
+ tabIndex: -1,
26933
27049
  className: "rounded-full",
26934
27050
  style: active ? { outline: "2px solid var(--color-border-accent)", outlineOffset: 1 } : void 0,
26935
27051
  onMouseDown: (e) => {
@@ -26949,6 +27065,7 @@ var SChipInput = /* @__PURE__ */ forwardRef(function SChipInput2({
26949
27065
  id: active ? activeOptionId : void 0,
26950
27066
  role: "option",
26951
27067
  "aria-selected": selected || active,
27068
+ tabIndex: -1,
26952
27069
  className: cn(
26953
27070
  "s-chip-input__suggestion-item flex shrink-0 cursor-pointer items-center gap-sd-8 overflow-hidden text-ellipsis whitespace-nowrap px-sd-12 py-sd-4 text-12 leading-sd-20",
26954
27071
  selected ? "cursor-default overflow-visible font-bold text-(--cmp-listBoxItem-content-selected)" : active ? "bg-(--cmp-listBoxItem-bg-hover) font-medium text-(--cmp-listBoxItem-content-hover)" : "text-(--cmp-listBoxItem-content-default)"
@@ -28064,6 +28181,6 @@ function STimeRangePicker({
28064
28181
  );
28065
28182
  }
28066
28183
 
28067
- export { ACCOUNT_LIST_BOX_ICONS, ACCOUNT_LIST_BOX_ITEM_TONES, ACCOUNT_LIST_BOX_LABELS, ACCOUNT_LIST_BOX_LAYOUT, ACCOUNT_LIST_BOX_TONE_CONFIG, BADGE_COLORS, BAR_GAP, BAR_SIZE_MAX, BAR_SIZE_MIN, BUTTON_COLORS, BUTTON_SIZES, CALENDAR_BOARD_DAY_BG, CALENDAR_BOARD_DAY_COLORS, CALENDAR_BOARD_EVENT_COLORS, CALENDAR_BOARD_EVENT_PRESETS, CALENDAR_BOARD_MAX_VISIBLE_EVENTS, CHAT_ATTACHED_FILE_CONFIG, CHAT_FILE_CONFIG, CHAT_MESSAGE_DIRECTIONS, CHAT_MESSAGE_READ_STATUSES, CHAT_MESSAGE_VARIANTS, CHIP_COLORS, COLOR_KEYS, CONTEXT_ALERT_ICON_COLOR, CONTEXT_ALERT_INTENTS, CONTEXT_ALERT_SURFACE, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, GNB_SYSTEM_COLORS, GNB_SYSTEM_COLOR_CONFIG, GNB_SYSTEM_LAYOUT, GNB_SYSTEM_PLACEMENTS, GNB_SYSTEM_TOP_COLOR_CONFIG, ICONS, IMAGE_FITS, LAUNCHER_LIST_BOX_CONSOLE_HEIGHT, LAUNCHER_LIST_BOX_CONSOLE_ICON, LAUNCHER_LIST_BOX_CONSOLE_LABEL, LAUNCHER_LIST_BOX_LAYOUT, LAUNCHER_LIST_BOX_LOGO_HEIGHT, LAUNCHER_LIST_BOX_TRAILING_ICON, LAUNCHER_LIST_BOX_WIDTH, LAUNCHER_SERVICES, LAUNCHER_SERVICE_CATALOG, LOGO_DEFAULT_SIZE, LOGO_DIRECTIONS, LOGO_MODES, LOGO_NAMES, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, PAGE_CONTENT_WIDTHS, PAGE_HEADER_VARIANTS, PAGE_PADDINGS, RangeCalendar, SAccountListBox, SActionModal, SBadge, SBarChart, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCalendarBoard, SCallout, SCard, SChatAttachedFile2 as SChatAttachedFile, SChatFile2 as SChatFile, SChatInput2 as SChatInput, SChatMessage2 as SChatMessage, SChatSystemMessage2 as SChatSystemMessage, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SContextAlert, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDonutChart, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGnbSystem, SGnbSystemContext, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLauncherListBox, SLayout, SLayoutContext, SLineChart, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoginCard2 as SLoginCard, SLogo, SMeatballButton2 as SMeatballButton, SModal, SModalOutlet, SNumberInput, SPage, SPageHeader, SPagination, SPieChart, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, fileExtension, findGnbAncestors, findGnbRailValue, formatFileSize, isColorKey, isFieldWidthGrade, loading, normalizeExtension, resolveColor, useSLayout };
28184
+ export { ACCOUNT_LIST_BOX_ICONS, ACCOUNT_LIST_BOX_ITEM_TONES, ACCOUNT_LIST_BOX_LABELS, ACCOUNT_LIST_BOX_LAYOUT, ACCOUNT_LIST_BOX_TONE_CONFIG, BADGE_COLORS, BAR_GAP, BAR_SIZE_MAX, BAR_SIZE_MIN, BUTTON_COLORS, BUTTON_SIZES, CALENDAR_BOARD_DAY_BG, CALENDAR_BOARD_DAY_COLORS, CALENDAR_BOARD_EVENT_COLORS, CALENDAR_BOARD_EVENT_PRESETS, CALENDAR_BOARD_MAX_VISIBLE_EVENTS, CHAT_ATTACHED_FILE_CONFIG, CHAT_FILE_CONFIG, CHAT_MESSAGE_DIRECTIONS, CHAT_MESSAGE_READ_STATUSES, CHAT_MESSAGE_VARIANTS, CHIP_COLORS, COLOR_KEYS, CONTEXT_ALERT_ICON_COLOR, CONTEXT_ALERT_INTENTS, CONTEXT_ALERT_SURFACE, FIELD_WIDTH_GRADES, GNB_COLORS, GNB_COMMON, GNB_FOLD_MS, GNB_FULL_LOGO_WIDTH, GNB_HEADER, GNB_MENU, GNB_MENU_WIDTH, GNB_RAIL, GNB_RAIL_WIDTH, GNB_SYSTEM_COLORS, GNB_SYSTEM_COLOR_CONFIG, GNB_SYSTEM_LAYOUT, GNB_SYSTEM_PLACEMENTS, GNB_SYSTEM_TOP_COLOR_CONFIG, ICONS, IMAGE_FITS, LAUNCHER_LIST_BOX_CONSOLE_HEIGHT, LAUNCHER_LIST_BOX_CONSOLE_ICON, LAUNCHER_LIST_BOX_CONSOLE_LABEL, LAUNCHER_LIST_BOX_LAYOUT, LAUNCHER_LIST_BOX_LOGO_HEIGHT, LAUNCHER_LIST_BOX_TRAILING_ICON, LAUNCHER_LIST_BOX_WIDTH, LAUNCHER_SERVICES, LAUNCHER_SERVICE_CATALOG, LOGO_DEFAULT_SIZE, LOGO_DIRECTIONS, LOGO_MODES, LOGO_NAMES, PAGE_BACKGROUNDS, PAGE_CONTENT_HEIGHTS, PAGE_CONTENT_WIDTHS, PAGE_HEADER_VARIANTS, PAGE_PADDINGS, RangeCalendar, SAccountListBox, SActionModal, SBadge, SBarChart, SBarcodeInput, SButton, SCROLL_AREA_AXES, SCalendar, SCalendarBoard, SCallout, SCard, SChatAttachedFile2 as SChatAttachedFile, SChatFile2 as SChatFile, SChatInput2 as SChatInput, SChatMessage2 as SChatMessage, SChatSystemMessage2 as SChatSystemMessage, SCheckbox, SChip2 as SChip, SChipFilter, SChipInput, SCircleProgress, SConfirmModal, SContextAlert, SDatePicker, SDatePickerMonthListbox, SDatePickerYearListbox, SDateRangePicker, SDivider, SDonutChart, SDraggableGroup, SDraggableItem2 as SDraggableItem, SDraggableList, SDraggableProvider, SDrawer, SDropdownButton2 as SDropdownButton, SEDITOR_DEFAULT_FONT_SIZE, SEDITOR_HEADING_LABELS, SEDITOR_HEADING_LEVELS, SEditor, SExpansionItem, SExpansionList2 as SExpansionList, SField, SFilePicker, SForm, SGhostButton, SGnb, SGnbSystem, SGnbSystemContext, SGuide, SIcon, SImage, SInput, SKeyValueTable, SLAYOUT_MIN_WIDTH, SLauncherListBox, SLayout, SLayoutContext, SLineChart, SLinearProgress, SList2 as SList, SListItem2 as SListItem, SLoadingContainer, SLoadingModal, SLoginCard2 as SLoginCard, SLogo, SMeatballButton2 as SMeatballButton, SModal, SModalOutlet, SNumberInput, SPage, SPageHeader, SPagination, SPieChart, SPopover, SPopup, SPortal, SRadio, SRadioButton, SRadioCard, SRadioCardGroup, SRadioGroup, SSPLITTER_UNITS, SScrollArea, SSearchInput, SSectionHeaderCard2 as SSectionHeaderCard, SSelect2 as SSelect, SSplitter2 as SSplitter, SStepper, SSwitch, SSystemActionButton, STEPPER_SIZES, STable2 as STable, STableBar, STabs, STag, STextLink, STextarea, STimePicker, STimeRangePicker, SToast, SToastContainer, SToggle, STooltip2 as STooltip, STree2 as STree, STreeItem2 as STreeItem, SYSTEM_ACTION_BUTTON_COLORS, SYSTEM_ACTION_BUTTON_COLOR_CONFIG, SYSTEM_ACTION_BUTTON_LAYOUT, SYSTEM_ACTION_BUTTON_TYPES, SYSTEM_ACTION_BUTTON_TYPE_CONFIG, TAG_COLORS, TAG_SHAPES, TAG_SIZES, TIMEPICKER_SIZES, TIMEPICKER_SIZE_CONFIG, buttonPreset, cn, fieldWidthValue, fileExtension, findGnbAncestors, findGnbRailValue, formatFileSize, isColorKey, isFieldWidthGrade, loading, normalizeExtension, resolveColor, useSLayout };
28068
28185
  //# sourceMappingURL=index.js.map
28069
28186
  //# sourceMappingURL=index.js.map