sellmate-design-system-react 9.0.0-beta.46 → 9.0.0-beta.47

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 (118) hide show
  1. package/AGENTS.md +16 -6
  2. package/README.md +13 -0
  3. package/dist/components/SChatAttachedFile/README.md +34 -0
  4. package/dist/components/SChatAttachedFile/SChatAttachedFile.d.ts +54 -0
  5. package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +43 -0
  6. package/dist/components/SChatAttachedFile/index.d.ts +2 -0
  7. package/dist/components/SChatMessage/README.md +3 -2
  8. package/dist/components/SChatMessage/SChatMessage.d.ts +7 -2
  9. package/dist/components/SChatSystemMessage/README.md +12 -0
  10. package/dist/components/SChatSystemMessage/SChatSystemMessage.d.ts +18 -0
  11. package/dist/components/SChatSystemMessage/index.d.ts +1 -0
  12. package/dist/components/SIcon/README.md +2 -0
  13. package/dist/components/SIcon/icons.gen.d.ts +3 -1
  14. package/dist/components/SSystemActionButton/README.md +20 -0
  15. package/dist/fonts/LICENSE.txt +94 -0
  16. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
  17. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
  18. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
  19. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
  20. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
  21. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
  22. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
  23. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
  24. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
  25. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
  26. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
  27. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
  28. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
  29. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
  30. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
  31. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
  32. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
  33. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
  34. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
  35. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
  36. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
  37. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
  38. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
  39. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
  40. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
  41. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
  42. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
  43. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
  44. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
  45. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
  46. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
  47. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
  48. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
  49. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
  50. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
  51. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
  52. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
  53. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
  54. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
  55. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
  56. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
  57. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
  58. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
  59. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
  60. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
  61. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
  62. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
  63. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
  64. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
  65. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
  66. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
  67. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
  68. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
  69. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
  70. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
  71. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
  72. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
  73. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
  74. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
  75. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
  76. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
  77. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
  78. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
  79. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
  80. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
  81. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
  82. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
  83. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
  84. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
  85. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
  86. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
  87. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
  88. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
  89. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
  90. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
  91. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
  92. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
  93. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
  94. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
  95. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
  96. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
  97. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
  98. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
  99. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
  100. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
  101. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
  102. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
  103. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
  104. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
  105. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
  106. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
  107. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
  108. package/dist/index.cjs +208 -54
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.d.ts +2 -0
  111. package/dist/index.js +202 -55
  112. package/dist/index.js.map +1 -1
  113. package/dist/llms-full.txt +85 -8
  114. package/dist/llms.txt +18 -8
  115. package/dist/pretendard.css +937 -0
  116. package/dist/styles.css +764 -2
  117. package/dist/theme.css +16 -0
  118. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -559,6 +559,27 @@ var Icon_attachFile = (p) => {
559
559
  }
560
560
  );
561
561
  };
562
+ var Icon_back = (p) => {
563
+ const { size = 24, ...rest } = p;
564
+ return /* @__PURE__ */ jsxRuntime.jsx(
565
+ "svg",
566
+ {
567
+ width: size,
568
+ height: size,
569
+ viewBox: "0 0 24 24",
570
+ fill: "none",
571
+ xmlns: "http://www.w3.org/2000/svg",
572
+ ...rest,
573
+ children: /* @__PURE__ */ jsxRuntime.jsx(
574
+ "path",
575
+ {
576
+ d: "M7.82001 2.38596C8.15933 2.14859 8.62646 2.23126 8.86395 2.57053C9.10129 2.90984 9.01864 3.37699 8.67938 3.61447L5.6286 5.75021H14.7497C18.6157 5.75021 21.7497 8.88422 21.7497 12.7502C21.7495 16.6161 18.6156 19.7502 14.7497 19.7502H4.9997C4.58572 19.75 4.24984 19.4142 4.2497 19.0002C4.2497 18.5861 4.58563 18.2504 4.9997 18.2502H14.7497C17.7872 18.2502 20.2495 15.7877 20.2497 12.7502C20.2497 9.71265 17.7873 7.25021 14.7497 7.25021H5.6286L8.67938 9.38596C9.01865 9.62345 9.10132 10.0906 8.86395 10.4299C8.62639 10.7689 8.15922 10.8518 7.82001 10.6145L3.98993 7.93381C2.99491 7.23718 2.99509 5.76338 3.98993 5.06662L7.82001 2.38596Z",
577
+ fill: "currentColor"
578
+ }
579
+ )
580
+ }
581
+ );
582
+ };
562
583
  var Icon_barcode = (p) => {
563
584
  const { size = 24, ...rest } = p;
564
585
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1347,6 +1368,29 @@ var Icon_copy = (p) => {
1347
1368
  }
1348
1369
  );
1349
1370
  };
1371
+ var Icon_counsel = (p) => {
1372
+ const { size = 24, ...rest } = p;
1373
+ return /* @__PURE__ */ jsxRuntime.jsx(
1374
+ "svg",
1375
+ {
1376
+ width: size,
1377
+ height: size,
1378
+ viewBox: "0 0 24 24",
1379
+ fill: "none",
1380
+ xmlns: "http://www.w3.org/2000/svg",
1381
+ ...rest,
1382
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1383
+ "path",
1384
+ {
1385
+ fillRule: "evenodd",
1386
+ clipRule: "evenodd",
1387
+ d: "M12 1.75C17.3848 1.75 21.75 6.11522 21.75 11.5V16C21.75 19.1756 19.1756 21.75 16 21.75H12.5C12.0858 21.75 11.75 21.4142 11.75 21C11.75 20.5858 12.0858 20.25 12.5 20.25H16C17.3042 20.25 18.4694 19.6611 19.249 18.7363C19.1669 18.7437 19.084 18.75 19 18.75H18C16.4812 18.75 15.25 17.5188 15.25 16V13C15.25 11.4812 16.4812 10.25 18 10.25H19C19.4269 10.25 19.8299 10.3498 20.1904 10.5234C19.7072 6.4275 16.2258 3.25 12 3.25C7.77412 3.25 4.29172 6.42744 3.80859 10.5234C4.16932 10.3496 4.57276 10.25 5 10.25H6C7.51878 10.25 8.75 11.4812 8.75 13V16C8.75 17.5188 7.51878 18.75 6 18.75H5C3.48122 18.75 2.25 17.5188 2.25 16V11.5C2.25 6.11522 6.61522 1.75 12 1.75ZM5 11.75C4.30964 11.75 3.75 12.3096 3.75 13V16C3.75 16.6904 4.30964 17.25 5 17.25H6C6.69036 17.25 7.25 16.6904 7.25 16V13C7.25 12.3096 6.69036 11.75 6 11.75H5ZM18 11.75C17.3096 11.75 16.75 12.3096 16.75 13V16C16.75 16.6904 17.3096 17.25 18 17.25H19C19.6904 17.25 20.25 16.6904 20.25 16V13C20.25 12.3096 19.6904 11.75 19 11.75H18Z",
1388
+ fill: "currentColor"
1389
+ }
1390
+ )
1391
+ }
1392
+ );
1393
+ };
1350
1394
  var Icon_coupon = (p) => {
1351
1395
  const { size = 24, ...rest } = p;
1352
1396
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1471,52 +1515,6 @@ var Icon_date = (p) => {
1471
1515
  }
1472
1516
  );
1473
1517
  };
1474
- var Icon_delete = (p) => {
1475
- const { size = 24, ...rest } = p;
1476
- return /* @__PURE__ */ jsxRuntime.jsxs(
1477
- "svg",
1478
- {
1479
- width: size,
1480
- height: size,
1481
- viewBox: "0 0 24 24",
1482
- fill: "none",
1483
- xmlns: "http://www.w3.org/2000/svg",
1484
- ...rest,
1485
- children: [
1486
- /* @__PURE__ */ jsxRuntime.jsx(
1487
- "path",
1488
- {
1489
- d: "M8.35254 10.7646C8.75858 10.6834 9.15395 10.9466 9.23535 11.3525L10.2354 16.3525C10.3166 16.7586 10.0534 17.1539 9.64746 17.2354C9.24142 17.3166 8.84605 17.0534 8.76465 16.6475L7.76465 11.6475C7.68344 11.2414 7.94658 10.8461 8.35254 10.7646Z",
1490
- fill: "currentColor"
1491
- }
1492
- ),
1493
- /* @__PURE__ */ jsxRuntime.jsx(
1494
- "path",
1495
- {
1496
- d: "M12 10.75C12.4142 10.75 12.75 11.0858 12.75 11.5V16.5C12.75 16.9142 12.4142 17.25 12 17.25C11.5858 17.25 11.25 16.9142 11.25 16.5V11.5C11.25 11.0858 11.5858 10.75 12 10.75Z",
1497
- fill: "currentColor"
1498
- }
1499
- ),
1500
- /* @__PURE__ */ jsxRuntime.jsx(
1501
- "path",
1502
- {
1503
- d: "M14.7646 11.3525C14.8461 10.9466 15.2414 10.6834 15.6475 10.7646C16.0534 10.8461 16.3166 11.2414 16.2354 11.6475L15.2354 16.6475C15.1539 17.0534 14.7586 17.3166 14.3525 17.2354C13.9466 17.1539 13.6834 16.7586 13.7646 16.3525L14.7646 11.3525Z",
1504
- fill: "currentColor"
1505
- }
1506
- ),
1507
- /* @__PURE__ */ jsxRuntime.jsx(
1508
- "path",
1509
- {
1510
- fillRule: "evenodd",
1511
- clipRule: "evenodd",
1512
- d: "M13 2.0498C13.9664 2.0498 14.7499 2.8334 14.75 3.7998V4.25H20C20.4142 4.25 20.75 4.58579 20.75 5V8C20.75 8.41421 20.4142 8.75 20 8.75H19.6445L17.999 19.6123C17.7952 20.9565 16.6398 21.9502 15.2803 21.9502H8.71973C7.36018 21.9502 6.20481 20.9565 6.00098 19.6123L4.35547 8.75H4C3.58579 8.75 3.25 8.41421 3.25 8V5C3.25 4.58579 3.58579 4.25 4 4.25H8.75V3.7998C8.75011 2.8334 9.53357 2.0498 10.5 2.0498H13ZM7.48438 19.3877C7.57717 19.9985 8.10188 20.4502 8.71973 20.4502H15.2803C15.8981 20.4502 16.4228 19.9985 16.5156 19.3877L18.1279 8.75H5.87207L7.48438 19.3877ZM4.75 7.25H19.25V5.75H4.75V7.25ZM10.5 3.5498C10.362 3.5498 10.2501 3.66182 10.25 3.7998V4.25H13.25V3.7998C13.2499 3.66182 13.138 3.5498 13 3.5498H10.5Z",
1513
- fill: "currentColor"
1514
- }
1515
- )
1516
- ]
1517
- }
1518
- );
1519
- };
1520
1518
  var Icon_dot = (p) => {
1521
1519
  const { size = 24, ...rest } = p;
1522
1520
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1791,6 +1789,29 @@ var Icon_history = (p) => {
1791
1789
  }
1792
1790
  );
1793
1791
  };
1792
+ var Icon_home = (p) => {
1793
+ const { size = 24, ...rest } = p;
1794
+ return /* @__PURE__ */ jsxRuntime.jsx(
1795
+ "svg",
1796
+ {
1797
+ width: size,
1798
+ height: size,
1799
+ viewBox: "0 0 24 24",
1800
+ fill: "none",
1801
+ xmlns: "http://www.w3.org/2000/svg",
1802
+ ...rest,
1803
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1804
+ "path",
1805
+ {
1806
+ fillRule: "evenodd",
1807
+ clipRule: "evenodd",
1808
+ d: "M10.8371 3.03041C11.5001 2.44103 12.5002 2.44103 13.1632 3.03041L21.4982 10.4396C21.8075 10.7148 21.8357 11.1887 21.5607 11.4982C21.2856 11.8075 20.8116 11.8355 20.5021 11.5607L19.7501 10.8917V20.0001C19.75 20.9664 18.9664 21.7501 18.0001 21.7501H16.5001C15.5338 21.7501 14.7503 20.9665 14.7501 20.0001V13.5001C14.7501 13.3621 14.6381 13.2502 14.5001 13.2501H9.50014C9.36207 13.2501 9.25014 13.3621 9.25014 13.5001V20.0001C9.24995 20.9664 8.46645 21.7501 7.50014 21.7501H6.00014C5.03376 21.7501 4.25033 20.9665 4.25014 20.0001V10.8917L3.49819 11.5607C3.18869 11.8356 2.71476 11.8074 2.43959 11.4982C2.16455 11.1886 2.19263 10.7148 2.50209 10.4396L10.8371 3.03041ZM12.1662 4.15151C12.0714 4.06731 11.9288 4.06731 11.8341 4.15151L5.75014 9.55873V20.0001C5.75033 20.1381 5.86219 20.2501 6.00014 20.2501H7.50014C7.63802 20.2501 7.74995 20.138 7.75014 20.0001V13.5001C7.75014 12.5336 8.53364 11.7501 9.50014 11.7501H14.5001C15.4666 11.7502 16.2501 12.5337 16.2501 13.5001V20.0001C16.2503 20.1381 16.3622 20.2501 16.5001 20.2501H18.0001C18.138 20.2501 18.25 20.138 18.2501 20.0001V9.55873L12.1662 4.15151Z",
1809
+ fill: "currentColor"
1810
+ }
1811
+ )
1812
+ }
1813
+ );
1814
+ };
1794
1815
  var Icon_image = (p) => {
1795
1816
  const { size = 24, ...rest } = p;
1796
1817
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3214,6 +3235,7 @@ var ICONS = {
3214
3235
  arrowUp: Icon_arrowUp,
3215
3236
  asterisk: Icon_asterisk,
3216
3237
  attachFile: Icon_attachFile,
3238
+ back: Icon_back,
3217
3239
  barcode: Icon_barcode,
3218
3240
  bell: Icon_bell,
3219
3241
  bellRinging: Icon_bellRinging,
@@ -3243,10 +3265,10 @@ var ICONS = {
3243
3265
  close: Icon_close,
3244
3266
  company: Icon_company,
3245
3267
  copy: Icon_copy,
3268
+ counsel: Icon_counsel,
3246
3269
  coupon: Icon_coupon,
3247
3270
  dashboard: Icon_dashboard,
3248
3271
  date: Icon_date,
3249
- delete: Icon_delete,
3250
3272
  dot: Icon_dot,
3251
3273
  download: Icon_download,
3252
3274
  drag: Icon_drag,
@@ -3257,6 +3279,7 @@ var ICONS = {
3257
3279
  helpFill: Icon_helpFill,
3258
3280
  helpOutline: Icon_helpOutline,
3259
3281
  history: Icon_history,
3282
+ home: Icon_home,
3260
3283
  image: Icon_image,
3261
3284
  inline: Icon_inline,
3262
3285
  launcher: Icon_launcher,
@@ -4751,6 +4774,91 @@ var SChatInputImpl = /* @__PURE__ */ react.forwardRef(function SChatInput({
4751
4774
  ] });
4752
4775
  });
4753
4776
  var SChatInput2 = /* @__PURE__ */ withDisplayName(SChatInputImpl, "SChatInput");
4777
+
4778
+ // src/components/SChatAttachedFile/chatAttachedFile.config.ts
4779
+ var CHAT_ATTACHED_FILE_VARIANTS = ["attached", "sent"];
4780
+ var CHAT_ATTACHED_FILE_CONFIG = {
4781
+ attached: {
4782
+ // 오른쪽 여백이 왼쪽보다 넓은 것은 제거 버튼이 자기 여백을 갖기 때문이다(시안 그대로).
4783
+ box: "h-[30px] gap-sd-8 pl-sd-4 pr-sd-8 bg-(--sys-color-bg-neutralLight) border-(--sys-color-border-default)",
4784
+ tile: "h-[20px] w-[20px] bg-(--sys-color-bg-frame)",
4785
+ iconSize: 16,
4786
+ nameTypo: "typo-body-sm-default"
4787
+ },
4788
+ sent: {
4789
+ box: "h-[56px] gap-sd-12 px-sd-12 bg-(--sys-color-bg-frame) border-(--sys-color-border-strong)",
4790
+ tile: "h-[28px] w-[28px] bg-(--sys-color-bg-accentFaint)",
4791
+ iconSize: 20,
4792
+ nameTypo: "typo-body-md-medium"
4793
+ }
4794
+ };
4795
+ var SIZE_UNITS = ["B", "KB", "MB", "GB", "TB"];
4796
+ function formatFileSize(bytes) {
4797
+ if (!Number.isFinite(bytes) || bytes < 0) return "";
4798
+ let value = bytes;
4799
+ let unit = 0;
4800
+ while (value >= 1024 && unit < SIZE_UNITS.length - 1) {
4801
+ value /= 1024;
4802
+ unit += 1;
4803
+ }
4804
+ return unit === 0 ? `${Math.round(value)}${SIZE_UNITS[0]}` : `${value.toFixed(1)}${SIZE_UNITS[unit]}`;
4805
+ }
4806
+ function normalizeExtension(extension) {
4807
+ return extension.trim().replace(/^\.+/, "").toLowerCase();
4808
+ }
4809
+ function fileExtension(name) {
4810
+ const dot = name.lastIndexOf(".");
4811
+ return dot > 0 && dot < name.length - 1 ? name.slice(dot + 1).toLowerCase() : "";
4812
+ }
4813
+ var SChatAttachedFileImpl = /* @__PURE__ */ react.forwardRef(
4814
+ function SChatAttachedFile({ variant, name, extension, size, onRemove, className, ...rest }, ref) {
4815
+ const preset = CHAT_ATTACHED_FILE_CONFIG[variant];
4816
+ const ext = extension != null ? normalizeExtension(extension) : fileExtension(name);
4817
+ const meta = [ext, size != null ? formatFileSize(size) : ""].filter(Boolean).join(" / ");
4818
+ const showMeta = variant === "sent" && meta !== "";
4819
+ const showRemove = variant === "attached" && onRemove != null;
4820
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4821
+ "div",
4822
+ {
4823
+ ref,
4824
+ className: cn(
4825
+ "inline-flex max-w-full items-center rounded-8 border",
4826
+ preset.box,
4827
+ className
4828
+ ),
4829
+ ...rest,
4830
+ children: [
4831
+ /* @__PURE__ */ jsxRuntime.jsx(
4832
+ "span",
4833
+ {
4834
+ className: cn(
4835
+ "grid shrink-0 place-items-center rounded-4",
4836
+ preset.tile,
4837
+ "text-(--sys-color-fg-accentLight)"
4838
+ ),
4839
+ children: /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: "attachFile", size: preset.iconSize })
4840
+ }
4841
+ ),
4842
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 flex-col", children: [
4843
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("truncate text-(--sys-color-fg-secondary)", preset.nameTypo), children: name }),
4844
+ showMeta && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "typo-body-sm-default truncate text-(--sys-color-fg-secondary)", children: meta })
4845
+ ] }),
4846
+ showRemove && /* @__PURE__ */ jsxRuntime.jsx(
4847
+ "button",
4848
+ {
4849
+ type: "button",
4850
+ "aria-label": `${name} \uC81C\uAC70`,
4851
+ onClick: onRemove,
4852
+ className: "ml-auto flex shrink-0 cursor-pointer items-center text-(--sys-color-fg-tertiary)",
4853
+ children: /* @__PURE__ */ jsxRuntime.jsx(SIcon, { name: "close", size: 16 })
4854
+ }
4855
+ )
4856
+ ]
4857
+ }
4858
+ );
4859
+ }
4860
+ );
4861
+ var SChatAttachedFile2 = /* @__PURE__ */ withDisplayName(SChatAttachedFileImpl, "SChatAttachedFile");
4754
4862
  var CHAT_MESSAGE_DIRECTIONS = ["incoming", "outgoing"];
4755
4863
  var CHAT_MESSAGE_VARIANTS = ["default", "template"];
4756
4864
  var BUBBLE_SURFACE = {
@@ -4810,7 +4918,7 @@ var SChatMessageImpl = /* @__PURE__ */ react.forwardRef(function SChatMessage({
4810
4918
  ...rest
4811
4919
  }, ref) {
4812
4920
  const outgoing = direction === "outgoing";
4813
- const surface = variant === "template" ? "template" : direction;
4921
+ const surface = direction === "outgoing" && variant === "template" ? "template" : direction;
4814
4922
  const bubbles = messages ?? [];
4815
4923
  return /* @__PURE__ */ jsxRuntime.jsxs(
4816
4924
  "div",
@@ -4863,6 +4971,37 @@ var SChatMessageImpl = /* @__PURE__ */ react.forwardRef(function SChatMessage({
4863
4971
  );
4864
4972
  });
4865
4973
  var SChatMessage2 = /* @__PURE__ */ withDisplayName(SChatMessageImpl, "SChatMessage");
4974
+ var SChatSystemMessageImpl = /* @__PURE__ */ react.forwardRef(
4975
+ function SChatSystemMessage({ message, className, ...rest }, ref) {
4976
+ const notices = message ?? [];
4977
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col items-center gap-sd-8", className), ...rest, children: notices.map((notice, i) => (
4978
+ // 알약은 문구 길이만큼만 차지하고, 길면 줄바꿈해 여러 줄로 선다.
4979
+ // 안내는 HTML 문자열을 허용하되 sanitizeInlineHtml 로 살균 후 innerHTML 렌더 (XSS 방어)
4980
+ /* @__PURE__ */ jsxRuntime.jsx(
4981
+ "span",
4982
+ {
4983
+ className: cn(
4984
+ // 라운드 15px 은 한 줄일 때 높이(20+4×2+1×2=30px)의 절반이다 — 한 줄에서는
4985
+ // 완전한 알약으로 보이고, 여러 줄이 돼도 모서리가 상자 높이를 따라 부풀지 않는다.
4986
+ // rounded-full 로 두면 두 줄부터 좌우가 커다란 반원이 되어 첫 글자가 안으로 밀린다.
4987
+ // 대응 토큰이 없어 값으로 둔다 (디자인팀 토큰 추가 요청 대상).
4988
+ "inline-flex max-w-full rounded-[15px] border",
4989
+ "border-(--sys-color-border-default) bg-(--sys-color-bg-neutralBright)",
4990
+ "typo-body-sm-default text-(--sys-color-fg-secondary)",
4991
+ "px-sd-16 py-sd-4 text-center",
4992
+ // 한글은 기본 규칙으로 두면 어절 한가운데서도 줄이 바뀐다 — 띄어쓰기에서만 끊고,
4993
+ // 끊을 자리가 없는 긴 토큰(URL·주문번호)만 흘려보낸다 (SChatMessage 말풍선과 같은 규칙).
4994
+ // 가운데 정렬이라 마지막 줄에 한 단어만 남으면 특히 눈에 띄므로 text-pretty 로 줄을 고른다.
4995
+ "break-keep wrap-break-word text-pretty"
4996
+ ),
4997
+ dangerouslySetInnerHTML: { __html: sanitizeInlineHtml(notice) }
4998
+ },
4999
+ i
5000
+ )
5001
+ )) });
5002
+ }
5003
+ );
5004
+ var SChatSystemMessage2 = /* @__PURE__ */ withDisplayName(SChatSystemMessageImpl, "SChatSystemMessage");
4866
5005
 
4867
5006
  // src/lib/z-index.ts
4868
5007
  var Z_INDEX = {
@@ -5818,7 +5957,11 @@ var SExpansionItem = /* @__PURE__ */ react.forwardRef(
5818
5957
  depth === 2 ? "pl-[36px]" : depth === 3 ? "pl-[56px]" : "pl-[16px]",
5819
5958
  isExpanded && cn(
5820
5959
  "text-(--cmp-listExpansionItem-title-text-expanded)",
5821
- isSelected && "bg-(--cmp-listExpansionItem-title-bg-expanded)"
5960
+ // 펼침 배경(파랑)은 bordered 일 때만. 카드처럼 테두리로 경계가 잡힌
5961
+ // 아이템에서만 배경이 선택 상태를 나타낸다.
5962
+ // 테두리 없는 리스트에서는 accentStripe 가 그 역할을 하므로,
5963
+ // 배경까지 깔면 항목 경계가 없는 목록에서 선택 표시가 두 겹이 된다.
5964
+ isSelected && bordered && "bg-(--cmp-listExpansionItem-title-bg-expanded)"
5822
5965
  )
5823
5966
  ),
5824
5967
  children: [
@@ -10636,11 +10779,15 @@ var SGnb = /* @__PURE__ */ react.forwardRef(function SGnb2({
10636
10779
  ...style
10637
10780
  };
10638
10781
  const hideAfterSlide = (hidden) => `visibility 0s linear ${hidden ? `${GNB_FOLD_MS}ms` : "0s"}`;
10639
- const sideFoldStyle = {
10640
- opacity: railFolded ? 0 : 1,
10641
- position: railFolded ? "absolute" : "static",
10642
- visibility: railFolded ? "hidden" : "visible",
10643
- transition: `opacity ${GNB_FOLD_MS}ms ease-out, ${hideAfterSlide(railFolded)}`
10782
+ const sideFoldStyle = railFolded ? {
10783
+ opacity: 0,
10784
+ position: "absolute",
10785
+ visibility: "hidden",
10786
+ transition: `opacity ${GNB_FOLD_MS}ms ease-out, ${hideAfterSlide(true)}`
10787
+ } : {
10788
+ opacity: 1,
10789
+ visibility: "visible",
10790
+ transition: `opacity ${GNB_FOLD_MS}ms ease-out, ${hideAfterSlide(false)}`
10644
10791
  };
10645
10792
  const launcherButton = onLauncherClick ? /* @__PURE__ */ jsxRuntime.jsx(
10646
10793
  SGhostButton,
@@ -23420,6 +23567,8 @@ exports.CALENDAR_BOARD_DAY_COLORS = CALENDAR_BOARD_DAY_COLORS;
23420
23567
  exports.CALENDAR_BOARD_EVENT_COLORS = CALENDAR_BOARD_EVENT_COLORS;
23421
23568
  exports.CALENDAR_BOARD_EVENT_PRESETS = CALENDAR_BOARD_EVENT_PRESETS;
23422
23569
  exports.CALENDAR_BOARD_MAX_VISIBLE_EVENTS = CALENDAR_BOARD_MAX_VISIBLE_EVENTS;
23570
+ exports.CHAT_ATTACHED_FILE_CONFIG = CHAT_ATTACHED_FILE_CONFIG;
23571
+ exports.CHAT_ATTACHED_FILE_VARIANTS = CHAT_ATTACHED_FILE_VARIANTS;
23423
23572
  exports.CHAT_MESSAGE_DIRECTIONS = CHAT_MESSAGE_DIRECTIONS;
23424
23573
  exports.CHAT_MESSAGE_READ_STATUSES = CHAT_MESSAGE_READ_STATUSES;
23425
23574
  exports.CHAT_MESSAGE_VARIANTS = CHAT_MESSAGE_VARIANTS;
@@ -23456,8 +23605,10 @@ exports.SCalendar = SCalendar;
23456
23605
  exports.SCalendarBoard = SCalendarBoard;
23457
23606
  exports.SCallout = SCallout;
23458
23607
  exports.SCard = SCard;
23608
+ exports.SChatAttachedFile = SChatAttachedFile2;
23459
23609
  exports.SChatInput = SChatInput2;
23460
23610
  exports.SChatMessage = SChatMessage2;
23611
+ exports.SChatSystemMessage = SChatSystemMessage2;
23461
23612
  exports.SCheckbox = SCheckbox;
23462
23613
  exports.SChip = SChip2;
23463
23614
  exports.SChipFilter = SChipFilter;
@@ -23554,11 +23705,14 @@ exports.TIMEPICKER_SIZE_CONFIG = TIMEPICKER_SIZE_CONFIG;
23554
23705
  exports.buttonPreset = buttonPreset;
23555
23706
  exports.cn = cn;
23556
23707
  exports.fieldWidthValue = fieldWidthValue;
23708
+ exports.fileExtension = fileExtension;
23557
23709
  exports.findGnbAncestors = findGnbAncestors;
23558
23710
  exports.findGnbRailValue = findGnbRailValue;
23711
+ exports.formatFileSize = formatFileSize;
23559
23712
  exports.isColorKey = isColorKey;
23560
23713
  exports.isFieldWidthGrade = isFieldWidthGrade;
23561
23714
  exports.loading = loading;
23715
+ exports.normalizeExtension = normalizeExtension;
23562
23716
  exports.resolveColor = resolveColor;
23563
23717
  exports.useSLayout = useSLayout;
23564
23718
  //# sourceMappingURL=index.cjs.map