@sellmate/design-system 1.4.0 → 1.6.0

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 (355) hide show
  1. package/dist/cjs/{component.table-qOFez3z3.js → component.table-DIxmbGBT.js} +4 -1
  2. package/dist/cjs/design-system.cjs.js +2 -2
  3. package/dist/cjs/{index-Cw-78mnC.js → index-BGwB03Tk.js} +1 -1
  4. package/dist/cjs/index.cjs.js +2 -2
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/sanitize-inline-html-BZCCwH_U.js +65 -0
  7. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  10. package/dist/cjs/{sd-button.config-DH08UNfl.js → sd-button.config-BSHkfgdC.js} +17 -12
  11. package/dist/cjs/sd-button_2.cjs.entry.js +2 -2
  12. package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -7
  13. package/dist/cjs/sd-callout.cjs.entry.js +152 -0
  14. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-checkbox.cjs.entry.js +10 -5
  16. package/dist/cjs/sd-chip.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +5 -4
  19. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-date-picker_7.cjs.entry.js +13 -10
  21. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-divider.cjs.entry.js +27 -0
  23. package/dist/cjs/sd-dropdown-button.cjs.entry.js +49 -23
  24. package/dist/cjs/sd-field_3.cjs.entry.js +9 -9
  25. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-ghost-button.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-guide.cjs.entry.js +6 -5
  28. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  30. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  31. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-pagination_4.cjs.entry.js +31 -51
  33. package/dist/cjs/sd-popover.cjs.entry.js +5 -6
  34. package/dist/cjs/sd-popup.cjs.entry.js +7 -6
  35. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  36. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  37. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  38. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +7 -7
  39. package/dist/cjs/sd-select_3.cjs.entry.js +9 -9
  40. package/dist/cjs/sd-switch.cjs.entry.js +2 -2
  41. package/dist/cjs/sd-table.cjs.entry.js +26 -57
  42. package/dist/cjs/{sd-table.config-B7psrvV4.js → sd-table.config-BjJW74Zx.js} +7 -3
  43. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  44. package/dist/cjs/sd-tag.cjs.entry.js +5 -3
  45. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-text-link.cjs.entry.js +1 -1
  47. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  48. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  49. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  50. package/dist/cjs/{system-VmZRYp6V.js → system-CdAyz3ej.js} +15 -1
  51. package/dist/cjs/{tooltipArrow-BjSFKIUq.js → tooltipArrow-COD-SNZL.js} +1 -1
  52. package/dist/collection/collection-manifest.json +3 -1
  53. package/dist/collection/components/sd-calendar/sd-calendar.css +3 -1
  54. package/dist/collection/components/sd-calendar/sd-calendar.js +24 -3
  55. package/dist/collection/components/sd-callout/sd-callout.config.js +45 -0
  56. package/dist/collection/components/sd-callout/sd-callout.css +87 -0
  57. package/dist/collection/components/sd-callout/sd-callout.js +114 -0
  58. package/dist/collection/components/sd-card/sd-card.js +1 -1
  59. package/dist/collection/components/sd-checkbox/sd-checkbox.js +9 -4
  60. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  61. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  62. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +3 -2
  63. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  64. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  65. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  66. package/dist/collection/components/sd-divider/sd-divider.config.js +4 -0
  67. package/dist/collection/components/sd-divider/sd-divider.css +25 -0
  68. package/dist/collection/components/sd-divider/sd-divider.js +47 -0
  69. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +3 -3
  70. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +29 -10
  71. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +76 -16
  72. package/dist/collection/components/sd-field/sd-field.js +4 -4
  73. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  74. package/dist/collection/components/sd-guide/sd-guide.js +4 -3
  75. package/dist/collection/components/sd-input/sd-input.js +2 -2
  76. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  77. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  78. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  79. package/dist/collection/components/sd-modal-container/sd-modal-container.js +8 -0
  80. package/dist/collection/components/sd-number-input/sd-number-input.js +75 -4
  81. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  82. package/dist/collection/components/sd-popover/sd-popover.js +3 -24
  83. package/dist/collection/components/sd-popup/sd-popup.config.js +3 -4
  84. package/dist/collection/components/sd-popup/sd-popup.js +4 -2
  85. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  86. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  87. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  88. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  89. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  90. package/dist/collection/components/sd-select/sd-select.js +4 -4
  91. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  92. package/dist/collection/components/sd-table/sd-table.config.js +4 -1
  93. package/dist/collection/components/sd-table/sd-table.css +1 -1
  94. package/dist/collection/components/sd-table/sd-table.js +28 -59
  95. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  96. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  97. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +15 -5
  98. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +6 -5
  99. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +6 -7
  100. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +20 -40
  101. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  102. package/dist/collection/components/sd-tag/sd-tag.js +4 -2
  103. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  104. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  105. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  106. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  107. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  108. package/dist/collection/utils/html/sanitize-inline-html.js +61 -0
  109. package/dist/collection/utils/modal.js +2 -2
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/{p-DlREBZ-C.js → p-2aQ4cVXp.js} +1 -1
  112. package/dist/components/p-BCeq6-MU.js +1 -0
  113. package/dist/components/{p-wOAxmZ1V.js → p-BDJJQALT.js} +1 -1
  114. package/dist/components/p-BE-21GLH.js +1 -0
  115. package/dist/components/{p-DS7Ypvt5.js → p-BNUsawW7.js} +1 -1
  116. package/dist/components/{p-xX3QT-8K.js → p-BUW6I_d5.js} +1 -1
  117. package/dist/components/{p-FKKk7Bk8.js → p-BYRvYsiC.js} +1 -1
  118. package/dist/components/{p-Z5Vk33zf.js → p-BYU3wOaN.js} +1 -1
  119. package/dist/components/{p-BRk9YZBe.js → p-BZRMoE3E.js} +1 -1
  120. package/dist/components/{p-BjpbUGud.js → p-B_2U9h3P.js} +1 -1
  121. package/dist/{design-system/p-C29HUShl.js → components/p-BasCjDiE.js} +1 -1
  122. package/dist/components/p-BqYASycS.js +1 -0
  123. package/dist/components/{p-VuxN5d2D.js → p-CAP-9lnL.js} +1 -1
  124. package/dist/components/{p-CLxVZFEG.js → p-CARYLqH9.js} +1 -1
  125. package/dist/components/{p-BZabVWBD.js → p-CJRGLvgC.js} +1 -1
  126. package/dist/components/p-CK6jFkqR.js +1 -0
  127. package/dist/components/p-CRq8zgt_.js +1 -0
  128. package/dist/components/{p-BFC3Etk2.js → p-CSbyXQa9.js} +1 -1
  129. package/dist/components/p-CvfW21oo.js +1 -0
  130. package/dist/components/{p-CIUE4qr7.js → p-CwQTEZWO.js} +1 -1
  131. package/dist/components/{p-INdVvadB.js → p-Cye8r1MG.js} +1 -1
  132. package/dist/components/{p-JlZdKw4C.js → p-D4mjSR0u.js} +1 -1
  133. package/dist/components/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  134. package/dist/components/p-DGyTYauz.js +1 -0
  135. package/dist/components/{p-C3fqSH7A.js → p-DP0Dp12H.js} +1 -1
  136. package/dist/components/{p-BSfu4DO2.js → p-DQj-S8AC.js} +1 -1
  137. package/dist/components/{p-BwPmM1Pm.js → p-DSIM5Mkt.js} +1 -1
  138. package/dist/components/{p-t161LJqb.js → p-DZ_3ZYMC.js} +1 -1
  139. package/dist/components/{p-D7nYP2a4.js → p-DfKa36bs.js} +1 -1
  140. package/dist/components/p-DoREs-rv.js +1 -0
  141. package/dist/components/p-DopVneZA.js +1 -0
  142. package/dist/components/{p-CpgTSxf0.js → p-Dwko_Bx3.js} +1 -1
  143. package/dist/components/{p-Da5i_Sa6.js → p-EcuI_UmK.js} +1 -1
  144. package/dist/components/p-_zllPZMm.js +1 -0
  145. package/dist/components/p-j2khhcHY.js +1 -0
  146. package/dist/components/{p-BeBiPTbd.js → p-lOVBaLB7.js} +1 -1
  147. package/dist/components/{p-kSfaCwf1.js → p-pTx5xpqU.js} +1 -1
  148. package/dist/components/p-pwNG5WaX.js +1 -0
  149. package/dist/components/{p-Cx_d5vsS.js → p-sRzhIrJR.js} +1 -1
  150. package/dist/components/{p-BRxXhFqt.js → p-uVZjhyvS.js} +1 -1
  151. package/dist/components/{p-X-8I-A3g.js → p-z564gmGG.js} +1 -1
  152. package/dist/components/sd-action-modal.js +1 -1
  153. package/dist/components/sd-badge.js +1 -1
  154. package/dist/components/sd-barcode-input.js +1 -1
  155. package/dist/components/sd-button.js +1 -1
  156. package/dist/components/sd-calendar.js +1 -1
  157. package/dist/components/sd-callout.d.ts +11 -0
  158. package/dist/components/sd-callout.js +1 -0
  159. package/dist/components/sd-card.js +1 -1
  160. package/dist/components/sd-checkbox.js +1 -1
  161. package/dist/components/sd-chip.js +1 -1
  162. package/dist/components/sd-circle-progress.js +1 -1
  163. package/dist/components/sd-confirm-modal.js +1 -1
  164. package/dist/components/sd-date-box.js +1 -1
  165. package/dist/components/sd-date-picker-trigger.js +1 -1
  166. package/dist/components/sd-date-picker.js +1 -1
  167. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  168. package/dist/components/sd-date-range-picker.js +1 -1
  169. package/dist/components/sd-divider.d.ts +11 -0
  170. package/dist/components/sd-divider.js +1 -0
  171. package/dist/components/sd-dropdown-button.js +1 -1
  172. package/dist/components/sd-field.js +1 -1
  173. package/dist/components/sd-file-picker.js +1 -1
  174. package/dist/components/sd-floating-portal.js +1 -1
  175. package/dist/components/sd-form.js +1 -1
  176. package/dist/components/sd-ghost-button.js +1 -1
  177. package/dist/components/sd-guide.js +1 -1
  178. package/dist/components/sd-icon.js +1 -1
  179. package/dist/components/sd-input.js +1 -1
  180. package/dist/components/sd-key-value-table.js +1 -1
  181. package/dist/components/sd-linear-progress.js +1 -1
  182. package/dist/components/sd-loading-container.js +1 -1
  183. package/dist/components/sd-loading-modal.js +1 -1
  184. package/dist/components/sd-modal-container.js +1 -1
  185. package/dist/components/sd-number-input.js +1 -1
  186. package/dist/components/sd-pagination.js +1 -1
  187. package/dist/components/sd-popover.js +1 -1
  188. package/dist/components/sd-popup.js +1 -1
  189. package/dist/components/sd-portal.js +1 -1
  190. package/dist/components/sd-radio-button.js +1 -1
  191. package/dist/components/sd-radio-group.js +1 -1
  192. package/dist/components/sd-radio.js +1 -1
  193. package/dist/components/sd-select-list-item-search.js +1 -1
  194. package/dist/components/sd-select-list-item.js +1 -1
  195. package/dist/components/sd-select-listbox.js +1 -1
  196. package/dist/components/sd-select-trigger.js +1 -1
  197. package/dist/components/sd-select.js +1 -1
  198. package/dist/components/sd-switch.js +1 -1
  199. package/dist/components/sd-table.js +1 -1
  200. package/dist/components/sd-tabs.js +1 -1
  201. package/dist/components/sd-tag.js +1 -1
  202. package/dist/components/sd-tbody.js +1 -1
  203. package/dist/components/sd-td.js +1 -1
  204. package/dist/components/sd-text-link.js +1 -1
  205. package/dist/components/sd-textarea.js +1 -1
  206. package/dist/components/sd-thead.js +1 -1
  207. package/dist/components/sd-toast-container.js +1 -1
  208. package/dist/components/sd-toast.js +1 -1
  209. package/dist/components/sd-toggle.js +1 -1
  210. package/dist/components/sd-tooltip.js +1 -1
  211. package/dist/components/sd-tr.js +1 -1
  212. package/dist/design-system/design-system.css +1 -1
  213. package/dist/design-system/design-system.esm.js +1 -1
  214. package/dist/design-system/index.esm.js +1 -1
  215. package/dist/design-system/{p-522d1481.entry.js → p-07b0d118.entry.js} +1 -1
  216. package/dist/design-system/{p-d39e515d.entry.js → p-0964c79a.entry.js} +1 -1
  217. package/dist/design-system/{p-ae117afa.entry.js → p-1219699a.entry.js} +1 -1
  218. package/dist/design-system/{p-f7074386.entry.js → p-1743651a.entry.js} +1 -1
  219. package/dist/design-system/{p-481e6934.entry.js → p-17883b40.entry.js} +1 -1
  220. package/dist/design-system/p-18057222.entry.js +1 -0
  221. package/dist/design-system/{p-e611dcd4.entry.js → p-18d3ae55.entry.js} +1 -1
  222. package/dist/design-system/{p-fe3ae346.entry.js → p-1aafbc7b.entry.js} +1 -1
  223. package/dist/design-system/p-20a2e0d2.entry.js +1 -0
  224. package/dist/design-system/{p-399d416c.entry.js → p-25fad267.entry.js} +1 -1
  225. package/dist/design-system/p-2c0a8333.entry.js +1 -0
  226. package/dist/design-system/p-3a848c36.entry.js +1 -0
  227. package/dist/design-system/{p-3b8954d9.entry.js → p-4b43648c.entry.js} +1 -1
  228. package/dist/design-system/{p-32e2d71e.entry.js → p-4bd9f005.entry.js} +1 -1
  229. package/dist/design-system/p-4cf1c8ae.entry.js +1 -0
  230. package/dist/design-system/{p-9681b0ba.entry.js → p-521e5d2e.entry.js} +1 -1
  231. package/dist/design-system/p-54086285.entry.js +1 -0
  232. package/dist/design-system/{p-aeccfb2b.entry.js → p-696764b0.entry.js} +1 -1
  233. package/dist/design-system/p-70f47e43.entry.js +1 -0
  234. package/dist/design-system/{p-c7099e9e.entry.js → p-733aa107.entry.js} +1 -1
  235. package/dist/design-system/{p-a7ea1cf0.entry.js → p-7444d475.entry.js} +1 -1
  236. package/dist/design-system/{p-03badf68.entry.js → p-840f592d.entry.js} +1 -1
  237. package/dist/design-system/{p-dbeaeb31.entry.js → p-8d2815cf.entry.js} +1 -1
  238. package/dist/design-system/{p-42f7febe.entry.js → p-8fc49d2d.entry.js} +1 -1
  239. package/dist/design-system/{p-e8e64511.entry.js → p-95bbba4f.entry.js} +1 -1
  240. package/dist/design-system/p-969665c0.entry.js +1 -0
  241. package/dist/design-system/{p-e23dac79.entry.js → p-97b405aa.entry.js} +1 -1
  242. package/dist/design-system/p-C7p6g_sM.js +1 -0
  243. package/dist/design-system/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  244. package/dist/design-system/p-DGyTYauz.js +1 -0
  245. package/dist/design-system/p-DNWwGHho.js +2 -0
  246. package/dist/design-system/p-DopVneZA.js +1 -0
  247. package/dist/design-system/p-LIf7YMBN.js +1 -0
  248. package/dist/design-system/{p-9b9bf9db.entry.js → p-a5930cbd.entry.js} +1 -1
  249. package/dist/design-system/{p-84a94775.entry.js → p-a6c9baa5.entry.js} +1 -1
  250. package/dist/design-system/{p-4a91875c.entry.js → p-afdca5bb.entry.js} +1 -1
  251. package/dist/design-system/{p-00b2c850.entry.js → p-b08ca29b.entry.js} +1 -1
  252. package/dist/design-system/p-c5c4a66b.entry.js +1 -0
  253. package/dist/design-system/p-c73cadc7.entry.js +1 -0
  254. package/dist/design-system/{p-679bce6c.entry.js → p-d8292621.entry.js} +1 -1
  255. package/dist/design-system/{p-a98f9a29.entry.js → p-deec1ef0.entry.js} +1 -1
  256. package/dist/design-system/{p-11b904a3.entry.js → p-e6bd8ab1.entry.js} +1 -1
  257. package/dist/design-system/{p-e902a3f4.entry.js → p-e9079238.entry.js} +1 -1
  258. package/dist/design-system/p-ea17a361.entry.js +1 -0
  259. package/dist/design-system/{p-a71d4947.entry.js → p-eef5f8d7.entry.js} +1 -1
  260. package/dist/design-system/p-f97b75d3.entry.js +1 -0
  261. package/dist/design-system/{p-74bf0ed9.entry.js → p-ff33d019.entry.js} +1 -1
  262. package/dist/design-system/p-j2khhcHY.js +1 -0
  263. package/dist/esm/{component.table-DQFHAKL_.js → component.table-D6GUzecR.js} +4 -1
  264. package/dist/esm/design-system.js +3 -3
  265. package/dist/esm/{index-0U6dRjlq.js → index-DNWwGHho.js} +1 -1
  266. package/dist/esm/index.js +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/sanitize-inline-html-DopVneZA.js +63 -0
  269. package/dist/esm/sd-action-modal.entry.js +1 -1
  270. package/dist/esm/sd-badge.entry.js +1 -1
  271. package/dist/esm/sd-barcode-input.entry.js +1 -1
  272. package/dist/esm/{sd-button.config-BDjErF_K.js → sd-button.config-C7p6g_sM.js} +17 -12
  273. package/dist/esm/sd-button_2.entry.js +2 -2
  274. package/dist/esm/sd-calendar_2.entry.js +8 -7
  275. package/dist/esm/sd-callout.entry.js +150 -0
  276. package/dist/esm/sd-card.entry.js +2 -2
  277. package/dist/esm/sd-checkbox.entry.js +10 -5
  278. package/dist/esm/sd-chip.entry.js +2 -2
  279. package/dist/esm/sd-circle-progress.entry.js +3 -3
  280. package/dist/esm/sd-confirm-modal_2.entry.js +5 -4
  281. package/dist/esm/sd-date-box.entry.js +1 -1
  282. package/dist/esm/sd-date-picker_7.entry.js +13 -10
  283. package/dist/esm/sd-date-range-picker-calendar.entry.js +2 -2
  284. package/dist/esm/sd-divider.entry.js +25 -0
  285. package/dist/esm/sd-dropdown-button.entry.js +49 -23
  286. package/dist/esm/sd-field_3.entry.js +9 -9
  287. package/dist/esm/sd-form.entry.js +1 -1
  288. package/dist/esm/sd-ghost-button.entry.js +1 -1
  289. package/dist/esm/sd-guide.entry.js +6 -5
  290. package/dist/esm/sd-key-value-table.entry.js +3 -3
  291. package/dist/esm/sd-linear-progress.entry.js +3 -3
  292. package/dist/esm/sd-loading-container.entry.js +3 -3
  293. package/dist/esm/sd-modal-container.entry.js +1 -1
  294. package/dist/esm/sd-pagination_4.entry.js +31 -51
  295. package/dist/esm/sd-popover.entry.js +5 -6
  296. package/dist/esm/sd-popup.entry.js +7 -6
  297. package/dist/esm/sd-portal.entry.js +2 -2
  298. package/dist/esm/sd-radio-button.entry.js +1 -1
  299. package/dist/esm/sd-radio.entry.js +1 -1
  300. package/dist/esm/sd-select-list-item_2.entry.js +7 -7
  301. package/dist/esm/sd-select_3.entry.js +9 -9
  302. package/dist/esm/sd-switch.entry.js +2 -2
  303. package/dist/esm/{sd-table.config-DU7Pc6YH.js → sd-table.config-D9meRqTx.js} +7 -4
  304. package/dist/esm/sd-table.entry.js +26 -57
  305. package/dist/esm/sd-tabs.entry.js +2 -2
  306. package/dist/esm/sd-tag.entry.js +5 -3
  307. package/dist/esm/sd-td.entry.js +2 -2
  308. package/dist/esm/sd-text-link.entry.js +1 -1
  309. package/dist/esm/sd-toast-container.entry.js +2 -2
  310. package/dist/esm/sd-toast.entry.js +3 -3
  311. package/dist/esm/sd-toggle.entry.js +2 -2
  312. package/dist/esm/{system-GBlVDmy4.js → system-j2khhcHY.js} +15 -1
  313. package/dist/esm/{tooltipArrow-O5LOsHae.js → tooltipArrow-Cj3AqWK0.js} +1 -1
  314. package/dist/types/components/sd-calendar/sd-calendar.d.ts +1 -0
  315. package/dist/types/components/sd-callout/sd-callout.config.d.ts +34 -0
  316. package/dist/types/components/sd-callout/sd-callout.d.ts +11 -0
  317. package/dist/types/components/sd-divider/sd-divider.config.d.ts +3 -0
  318. package/dist/types/components/sd-divider/sd-divider.d.ts +5 -0
  319. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +5 -0
  320. package/dist/types/components/sd-number-input/sd-number-input.d.ts +4 -0
  321. package/dist/types/components/sd-popover/sd-popover.d.ts +0 -1
  322. package/dist/types/components/sd-table/sd-table.config.d.ts +2 -0
  323. package/dist/types/components/sd-table/sd-table.d.ts +1 -6
  324. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +1 -5
  325. package/dist/types/components.d.ts +123 -21
  326. package/dist/types/utils/html/sanitize-inline-html.d.ts +1 -0
  327. package/hydrate/index.js +477 -212
  328. package/hydrate/index.mjs +477 -212
  329. package/package.json +1 -1
  330. package/dist/components/p-BDVrZ5mV.js +0 -1
  331. package/dist/components/p-BjkROjjt.js +0 -1
  332. package/dist/components/p-Bs1Z5QtN.js +0 -1
  333. package/dist/components/p-CETxX4-M.js +0 -1
  334. package/dist/components/p-CyObYB-g.js +0 -1
  335. package/dist/components/p-DdLntfiw.js +0 -1
  336. package/dist/components/p-DhTcn6jX.js +0 -1
  337. package/dist/components/p-DiP0LJGq.js +0 -1
  338. package/dist/components/p-DwgaMhOM.js +0 -1
  339. package/dist/components/p-DykVq5VY.js +0 -1
  340. package/dist/components/p-GBlVDmy4.js +0 -1
  341. package/dist/components/p-oyZgWRnC.js +0 -1
  342. package/dist/design-system/p-0U6dRjlq.js +0 -2
  343. package/dist/design-system/p-29fd86d8.entry.js +0 -1
  344. package/dist/design-system/p-36d744fb.entry.js +0 -1
  345. package/dist/design-system/p-8f4ccae4.entry.js +0 -1
  346. package/dist/design-system/p-92f368a2.entry.js +0 -1
  347. package/dist/design-system/p-9f7f1b8b.entry.js +0 -1
  348. package/dist/design-system/p-BDjErF_K.js +0 -1
  349. package/dist/design-system/p-DykVq5VY.js +0 -1
  350. package/dist/design-system/p-GBlVDmy4.js +0 -1
  351. package/dist/design-system/p-a640e509.entry.js +0 -1
  352. package/dist/design-system/p-a97033a2.entry.js +0 -1
  353. package/dist/design-system/p-cc97f4b4.entry.js +0 -1
  354. package/dist/design-system/p-d890a680.entry.js +0 -1
  355. package/dist/design-system/p-fc5c4f85.entry.js +0 -1
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment, a as getElement, H as Host } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h, F as Fragment, a as getElement, H as Host } from './index-DNWwGHho.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
- import { r as resolveTableIconColor, d as resolveSortIconName, b as TABLE_BORDER, e as TABLE_HEADER_RESIZING_BAR, f as TABLE_HEADER_TYPOGRAPHY, g as TABLE_HEADER_COLORS, h as TABLE_HEADER_LAYOUT, T as TABLE_BODY_LAYOUT, i as TABLE_SEPARATOR, a as TABLE_BODY_TYPOGRAPHY } from './sd-table.config-DU7Pc6YH.js';
4
- import './component.table-DQFHAKL_.js';
5
- import './system-GBlVDmy4.js';
3
+ import { a as TABLE_SELECTABLE_COLUMN_WIDTH, r as resolveTableIconColor, e as resolveSortIconName, c as TABLE_BORDER, f as TABLE_HEADER_RESIZING_BAR, g as TABLE_HEADER_TYPOGRAPHY, h as TABLE_HEADER_COLORS, i as TABLE_HEADER_LAYOUT, T as TABLE_BODY_LAYOUT, j as TABLE_SEPARATOR, b as TABLE_BODY_TYPOGRAPHY } from './sd-table.config-D9meRqTx.js';
4
+ import './component.table-D6GUzecR.js';
5
+ import './system-j2khhcHY.js';
6
6
 
7
7
  const pagination = {
8
8
  height: "24",
@@ -152,13 +152,13 @@ const SdPagination = class {
152
152
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
153
153
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
154
154
  };
155
- return (h("div", { key: '251d9b3bcff3cf985d62b1a8717f622d209b3fa1', class: {
155
+ return (h("div", { key: '36a334a05ade253a6345e82d57647a4bab0c94cf', class: {
156
156
  'sd-pagination': true,
157
157
  'sd-pagination--simple': this.simple,
158
- }, style: cssVars }, h("div", { key: 'd143917676ccd97c1f4fc8e7220857d543efa5fd', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
158
+ }, style: cssVars }, h("div", { key: '50963e0cdf4da3078020207c0115ccebfe1881d6', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
159
159
  'sd-pagination__item': true,
160
160
  'sd-pagination__item--selected': this.currentPage === n,
161
- }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'e58053cef21c57d88f5b1357101507418b2db002', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
161
+ }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'a0d0b565cd2b5108c997888b2536ee740b167367', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
162
162
  }
163
163
  };
164
164
  SdPagination.style = sdPaginationCss();
@@ -213,9 +213,9 @@ const SdTbody = class {
213
213
  }
214
214
  }
215
215
  render() {
216
- return (h(Host, { key: 'bdb686445ce324c6254891a385d6175c8cac06df', slot: `${this.tableId}-body` }, h("tbody", { key: '21a7772f0d43a358d9ae17459f0ff296324bfd82', class: { tbody: true } }, [
216
+ return (h(Host, { key: 'cee6094ac768af309c39500cb337d8516de6aabe', slot: `${this.tableId}-body` }, h("tbody", { key: '50d46c6b102900b18a96c1e345afb4185e59e0ae', class: { tbody: true } }, [
217
217
  this.topSpacerHeight > 0 && (h("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
218
- h("slot", { key: 'e38d8fe5d67a91d3fa5a25be98195da104660005' }),
218
+ h("slot", { key: 'd4f8057c143b2f91146831fac2b4ba1162d36aeb' }),
219
219
  this.bottomSpacerHeight > 0 && (h("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
220
220
  ])));
221
221
  }
@@ -227,7 +227,7 @@ const SdTbody = class {
227
227
  };
228
228
  SdTbody.style = sdTbodyCss();
229
229
 
230
- const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
230
+ const sdTheadCss = () => `sd-thead{display:contents}sd-thead *{box-sizing:border-box}.thead{display:table-header-group;height:var(--table-header-height, 36px)}.thead--sticky{position:sticky;top:0;z-index:120}.tr{display:table-row;width:100%}.th{display:table-cell;background:var(--table-header-bg, #F5FAFF);height:var(--table-header-height, 36px);padding:0 var(--table-header-padding-x, 16px);font-family:var(--table-header-font-family, inherit);font-weight:var(--table-header-font-weight, 500);font-size:var(--table-header-font-size, 12px);line-height:var(--table-header-line-height, 20px);text-decoration:var(--table-header-text-decoration, none);vertical-align:middle;border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.th--selected sd-checkbox label{position:relative}.th--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.th.sticky-left{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;left:var(--sticky-left-offset, 0)}.th.sticky-right{position:sticky;background-color:var(--table-header-bg, #F5FAFF);z-index:110 !important;right:var(--sticky-right-offset, 0)}.th.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.th.sticky-left-edge.is-scrolled-left{overflow:visible}.th.sticky-left-edge.is-scrolled-left:after{opacity:1}.th.sticky-right-edge.is-scrolled-right{overflow:visible}.th.sticky-right-edge.is-scrolled-right:after{opacity:1}.th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--table-header-gap, 4px)}.th__content--left{justify-content:flex-start}.th__content--center{justify-content:center}.th__content--right{justify-content:flex-end}.th__content--label{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.th__bar{position:absolute;top:50%;right:0;transform:translateY(-50%);width:var(--table-border-width, 1px);height:var(--table-header-resizer-height, 16px);z-index:3;background-color:var(--table-header-resizer-color, #CCCCCC)}.th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:var(--table-header-resizer-height, 16px);cursor:col-resize;z-index:3;border-left:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC);border-right:var(--table-border-width, 1px) solid var(--table-header-resizer-color, #CCCCCC)}.th__resizer--left{right:auto;left:0}`;
231
231
 
232
232
  const SdThead = class {
233
233
  constructor(hostRef) {
@@ -328,7 +328,8 @@ const SdThead = class {
328
328
  if (this.tableEl?.getStickyStyleSync) {
329
329
  return this.tableEl.getStickyStyleSync(colIdx);
330
330
  }
331
- const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) + (this._selectable ? 52 : 0);
331
+ const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) +
332
+ (this._selectable ? TABLE_SELECTABLE_COLUMN_WIDTH : 0);
332
333
  const rightOffset = this.columnWidths
333
334
  .filter((_, i) => i >= this.visibleColumns.length - (this._stickyColumn.right || 0) && i > colIdx)
334
335
  .reduce((a, b) => a + b, 0);
@@ -389,16 +390,16 @@ const SdThead = class {
389
390
  '--table-border-color': TABLE_BORDER.color,
390
391
  '--table-border-width': `${TABLE_BORDER.width}px`,
391
392
  };
392
- return (h(Host, { key: 'c2852fc7d6fe9e8116fabbbcc140f4db8319bfdc', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: '970cb1c96145326f38b79636a72982b0e9c81fa0', class: {
393
+ return (h(Host, { key: '2b949f43561a2cd36b82de324d3d8c0d8a1d8431', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: '45918bfb1dc44bb0f45a0f1646bf2276b1ca74ec', class: {
393
394
  'thead': true,
394
395
  'thead--sticky': this._stickyHeader,
395
- } }, h("tr", { key: '839fb6e9fd68ef10dea1f1d470a6b3e707475a8d', class: "tr" }, this._selectable && (h("th", { key: 'd669372261627013bc1b39157139d180b3d1a6c1', class: {
396
+ } }, h("tr", { key: '3802f86a730041ca405071b243a99c28e04558d2', class: "tr" }, this._selectable && (h("th", { key: 'd60e1323fca90516f38cedfa6fc8bf17840fad5d', class: {
396
397
  'th': true,
397
398
  'th--selected': true,
398
399
  'sticky-left': true,
399
400
  'sticky-left-edge': stickyLeftCount === 0,
400
401
  'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
401
- }, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: '6263984430b4aa53e6ac24fb0f6a6c05838a71d5', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
402
+ }, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: '0c0b61405a8624cfc1d803f8ae8905d74d6c10f1', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), h("div", { key: 'b808a627e740a9c3a9f6f03e32cf90e598fd506f', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
402
403
  'th': true,
403
404
  [`${col.thClass}`]: Boolean(col.thClass),
404
405
  'sticky-left': true,
@@ -438,7 +439,7 @@ const SdThead = class {
438
439
  };
439
440
  SdThead.style = sdTheadCss();
440
441
 
441
- const sdTrCss = () => `sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.tr--no-hover:hover .td{background-color:white}.tr--separator:hover .td{background-color:var(--table-separator-color, #eeeeee)}.td{display:table-cell;height:var(--table-body-height, 44px);padding:var(--table-body-padding-y, 0) var(--table-body-padding-x, 16px);border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);background:white;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.td--left{text-align:left}.td--center{text-align:center}.td--right{text-align:right}.td--selected{position:relative;width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.td--selected sd-checkbox label{position:relative}.td--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.td.sticky-left{position:sticky;background-color:white;z-index:100 !important;left:var(--sticky-left-offset, 0)}.td.sticky-right{position:sticky;background-color:white;z-index:100 !important;right:var(--sticky-right-offset, 0)}.td.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-left-edge.is-scrolled-left{overflow:visible}.td.sticky-left-edge.is-scrolled-left:after{opacity:1}.td.sticky-right-edge.is-scrolled-right{overflow:visible}.td.sticky-right-edge.is-scrolled-right:after{opacity:1}.tr:hover .td.sticky-left,.tr:hover .td.sticky-right{background-color:#F9F9F9}.tr--no-hover:hover .td.sticky-left,.tr--no-hover:hover .td.sticky-right{background-color:white}.tr--separator:hover .td.sticky-left,.tr--separator:hover .td.sticky-right{background-color:var(--table-separator-color, #eeeeee)}.tr--separator .td--separator{height:var(--table-separator-width, 6px);padding:0;background-color:var(--table-separator-color, #eeeeee);border-bottom:none}.td.td--before-separator{border-bottom:none}.td--divider-left{border-left:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}.td--divider-right{border-right:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}`;
442
+ const sdTrCss = () => `sd-tr{display:contents}sd-tr *{box-sizing:border-box}.tr{display:table-row}.tr:hover .td{background-color:#F9F9F9}.tr--no-hover:hover .td{background-color:white}.tr--separator:hover .td{background-color:var(--table-separator-color, #eeeeee)}.td{display:table-cell;height:var(--table-body-height, 44px);padding:var(--table-body-padding-y, 0) var(--table-body-padding-x, 16px);border-bottom:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);background:white;vertical-align:middle;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.td--left{text-align:left}.td--center{text-align:center}.td--right{text-align:right}.td--selected{position:relative;width:var(--table-selectable-width, 48px) !important;max-width:var(--table-selectable-width, 48px) !important;min-width:var(--table-selectable-width, 48px) !important;text-align:center}.td--selected sd-checkbox label{position:relative}.td--selected sd-checkbox label:before{content:"";position:absolute;inset:-6px}.td.sticky-left{position:sticky;background-color:white;z-index:100 !important;left:var(--sticky-left-offset, 0)}.td.sticky-right{position:sticky;background-color:white;z-index:100 !important;right:var(--sticky-right-offset, 0)}.td.sticky-left-edge:after{content:"";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-right-edge:after{content:"";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:0;pointer-events:none;transition:opacity 0.2s}.td.sticky-left-edge.is-scrolled-left{overflow:visible}.td.sticky-left-edge.is-scrolled-left:after{opacity:1}.td.sticky-right-edge.is-scrolled-right{overflow:visible}.td.sticky-right-edge.is-scrolled-right:after{opacity:1}.tr:hover .td.sticky-left,.tr:hover .td.sticky-right{background-color:#F9F9F9}.tr--no-hover:hover .td.sticky-left,.tr--no-hover:hover .td.sticky-right{background-color:white}.tr--separator:hover .td.sticky-left,.tr--separator:hover .td.sticky-right{background-color:var(--table-separator-color, #eeeeee)}.tr--separator .td--separator{height:var(--table-separator-width, 6px);padding:0;background-color:var(--table-separator-color, #eeeeee);border-bottom:none}.tr--separator--dense .td--separator{height:var(--table-separator-dense-width, 4px)}.td--divider-left{border-left:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}.td--divider-right{border-right:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1)}`;
442
443
 
443
444
  const SdTr = class {
444
445
  constructor(hostRef) {
@@ -450,7 +451,7 @@ const SdTr = class {
450
451
  stickyColumn;
451
452
  rowKey = '';
452
453
  row = {};
453
- separator;
454
+ separator = null;
454
455
  tableId = '';
455
456
  columnWidths = [];
456
457
  isVisible = true;
@@ -462,8 +463,8 @@ const SdTr = class {
462
463
  _scrolledRight = false;
463
464
  _dense = false;
464
465
  tableEl = null;
465
- _prevRowKey = null;
466
466
  componentWillLoad() {
467
+ this.row = this.row ?? {};
467
468
  this.syncTableContext();
468
469
  this.columnWidths = this.columnWidths ?? [];
469
470
  this.resolveConfig();
@@ -472,20 +473,6 @@ const SdTr = class {
472
473
  }
473
474
  componentDidLoad() {
474
475
  this.syncTableContext();
475
- if (this.separator) {
476
- const prev = this.el.previousElementSibling;
477
- if (prev?.tagName?.toLowerCase() === 'sd-tr') {
478
- const prevRowKey = prev.rowKey;
479
- this._prevRowKey = prevRowKey;
480
- this.tableEl?.registerSeparatorSync?.(prevRowKey);
481
- }
482
- }
483
- }
484
- disconnectedCallback() {
485
- if (this._prevRowKey !== null) {
486
- this.tableEl?.unregisterSeparatorSync?.(this._prevRowKey);
487
- this._prevRowKey = null;
488
- }
489
476
  }
490
477
  syncTableContext() {
491
478
  // sd-table이 shadow:true이므로 fallback content로 렌더되면 closest가 경계를 못 넘는다.
@@ -627,17 +614,6 @@ const SdTr = class {
627
614
  .filter(Boolean)
628
615
  .map(c => [c, true]));
629
616
  }
630
- isVisualLastRowBeforeSeparator(col) {
631
- if (!this.tableEl?.isVisualLastRowBeforeSeparatorSync)
632
- return false;
633
- const fieldName = typeof col.field === 'string' ? col.field : col.name;
634
- return this.tableEl.isVisualLastRowBeforeSeparatorSync(this.rowKey, fieldName);
635
- }
636
- isVisualLastRowBeforeSeparatorForSelfRow() {
637
- if (!this.tableEl?.isVisualLastRowBeforeSeparatorSync)
638
- return false;
639
- return this.tableEl.isVisualLastRowBeforeSeparatorSync(this.rowKey, '');
640
- }
641
617
  render() {
642
618
  const stickyLeftCount = this._stickyColumn.left || 0;
643
619
  const stickyRightCount = this._stickyColumn.right || 0;
@@ -663,15 +639,16 @@ const SdTr = class {
663
639
  '--table-border-width': `${TABLE_BORDER.width}px`,
664
640
  '--table-separator-color': TABLE_SEPARATOR.color,
665
641
  '--table-separator-width': `${TABLE_SEPARATOR.width}px`,
642
+ '--table-separator-dense-width': `${TABLE_SEPARATOR.denseWidth}px`,
666
643
  };
667
- if (this.separator) {
644
+ if (this.separator != null) {
668
645
  const totalCols = this.visibleColumns.length + (this._selectable ? 1 : 0);
669
- return (h(Host, { style: rowStyle }, h("tr", { class: "tr tr--separator" }, h("td", { colSpan: totalCols, class: "td td--separator" }))));
646
+ const isDense = this.separator === 4;
647
+ return (h(Host, { style: rowStyle }, h("tr", { class: { 'tr': true, 'tr--separator': true, 'tr--separator--dense': isDense } }, h("td", { colSpan: totalCols, class: "td td--separator" }))));
670
648
  }
671
649
  return (h(Host, { style: rowStyle }, h("tr", { class: { 'tr': true, 'tr--no-hover': hasRowspan } }, this._selectable && (h("td", { class: {
672
650
  'td': true,
673
651
  'td--selected': true,
674
- 'td--before-separator': this.isVisualLastRowBeforeSeparatorForSelfRow(),
675
652
  'sticky-left': true,
676
653
  'sticky-left-edge': stickyLeftCount === 0,
677
654
  'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
@@ -684,7 +661,6 @@ const SdTr = class {
684
661
  return (h("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
685
662
  'td': true,
686
663
  [`td--${col.align || 'left'}`]: true,
687
- 'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
688
664
  'sticky-left': true,
689
665
  'sticky-left-edge': idx === stickyLeftCount - 1,
690
666
  'is-scrolled-left': idx === stickyLeftCount - 1 && this._scrolledLeft,
@@ -699,12 +675,14 @@ const SdTr = class {
699
675
  const span = this.getSpanFor(col);
700
676
  const sdCellClass = this.getCellClassFor(col);
701
677
  return (h("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
702
- 'td': true,
678
+ td: true,
703
679
  [`td--${col.align || 'left'}`]: true,
704
- 'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
705
680
  [`${col.tdClass}`]: Boolean(col.tdClass),
706
681
  ...this.expandCellClass(sdCellClass),
707
- }, style: { ...this.getStickyStyle(actualColIdx), ...this.getFramePaddingStyle(fieldName) } }, h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, h("span", null, this.getCellValue(col)))));
682
+ }, style: {
683
+ ...this.getStickyStyle(actualColIdx),
684
+ ...this.getFramePaddingStyle(fieldName),
685
+ } }, h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, h("span", null, this.getCellValue(col)))));
708
686
  }), stickyRightCols.map((col, relativeIdx) => {
709
687
  const actualColIdx = this.visibleColumns.length - stickyRightCount + relativeIdx;
710
688
  if (this.isCovered(actualColIdx))
@@ -715,13 +693,15 @@ const SdTr = class {
715
693
  return (h("td", { key: col.name, rowSpan: span?.rowspan, colSpan: span?.colspan, class: {
716
694
  'td': true,
717
695
  [`td--${col.align || 'left'}`]: true,
718
- 'td--before-separator': this.isVisualLastRowBeforeSeparator(col),
719
696
  'sticky-right': true,
720
697
  'sticky-right-edge': relativeIdx === 0,
721
698
  'is-scrolled-right': relativeIdx === 0 && this._scrolledRight,
722
699
  [`${col.tdClass}`]: Boolean(col.tdClass),
723
700
  ...this.expandCellClass(sdCellClass),
724
- }, style: { ...this.getStickyStyle(actualColIdx), ...this.getFramePaddingStyle(fieldName) } }, h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, h("span", null, this.getCellValue(col)))));
701
+ }, style: {
702
+ ...this.getStickyStyle(actualColIdx),
703
+ ...this.getFramePaddingStyle(fieldName),
704
+ } }, h("slot", { name: `${this.tableId}-${fieldName}-${this.rowKey}` }, h("span", null, this.getCellValue(col)))));
725
705
  }))));
726
706
  }
727
707
  };
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h, F as Fragment } from './index-0U6dRjlq.js';
2
- import { T as TooltipArrow } from './tooltipArrow-O5LOsHae.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h, F as Fragment } from './index-DNWwGHho.js';
2
+ import { T as TooltipArrow } from './tooltipArrow-Cj3AqWK0.js';
3
3
 
4
4
  const popover = {
5
5
  bg: "#07284A"};
@@ -31,7 +31,6 @@ const SdPopover = class {
31
31
  leftLink;
32
32
  button;
33
33
  menuClass = '';
34
- useClose = false;
35
34
  showChange;
36
35
  buttonEl;
37
36
  setShow = (next) => {
@@ -63,17 +62,17 @@ const SdPopover = class {
63
62
  const leftLink = this.leftLink;
64
63
  const button = this.button;
65
64
  const hasFooter = !!leftLink || !!button;
66
- return (h(Fragment, { key: 'b50da46efd85cdb48f66b24c591ab662a9fd62cb' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'a31d6c00a9b61826fa412247f603d78874a3dba6', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '11020f31a14dbb7325b30ebc48315b344662cf43', class: {
65
+ return (h(Fragment, { key: '7bf954f334ae12586a02b799139dc29421a86551' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'f785e5851cf126052d2c016220d9ff2376f2a9f3', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '5eb30ad12f0f1cb3f23ae90e6b51e9c545dee8fd', class: {
67
66
  'sd-floating-menu': true,
68
67
  'sd-floating-menu--popover': true,
69
68
  [`sd-floating-menu--${placement}`]: true,
70
69
  [menuClass]: menuClass !== '',
71
70
  }, style: {
72
71
  '--sd-floating-bg': popoverTokens.popover.bg,
73
- } }, h("i", { key: '51b35ade68a68c92b7488b97f2b1808d7fcf33e5', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: 'd491c997e07a2bb2d4a3ad3624d5098457f91c05' })), h("div", { key: '19bfc90b0c5da4fe736aad3b8b2061ac58d8efb4', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '31875711b7cd54c0c48f0017ac94365c3cc97821', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: '9c78a748831045f96fe48fd2ae9dcd85b1335aa0', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '787f0d2ac133bef9f72ce248b943b0ff9883db9e', class: {
72
+ } }, h("i", { key: '632639d52731fe47baf2860464013a4d0fd3c3d8', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '1f963e1a52b09803fd9f2d1f1ce7a07023951fc9' })), h("div", { key: '1c90735369085c465321e398775c4ce484190479', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '29584cd7bcb244c3fb6b0cb895a5c4b55093418a', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: '2c7a9671cbec98f0fb393b1d049bfecc1e8b8013', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '18667a0a8eaf8f022513b048095c24487dd4ae98', class: {
74
73
  'sd-floating-menu__buttons': true,
75
74
  'sd-floating-menu__buttons--with-link': !!leftLink,
76
- } }, leftLink && (h("sd-text-link", { key: '2000a926c2c808e6ee51f47905fadf8847553bfe', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: 'cca9d6bef231fe4c469d8895fefa8b6d5855a57c', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), this.useClose && (h("sd-ghost-button", { key: '032461787d74367ea047c088e08704ce7409f74b', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose })))))));
75
+ } }, leftLink && (h("sd-text-link", { key: 'efbeb3047ea9eb62eba2f5940ec4f71f46d1c479', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: '9044ee54225a7b441c85d1acf3355e2d3688f942', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: '4f37394444b692ff5a2b736fe3514e51eb49b601', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
77
76
  }
78
77
  };
79
78
  SdPopover.style = sdPopoverCss();
@@ -1,4 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
+ import { s as systemTokens } from './system-j2khhcHY.js';
2
3
 
3
4
  const popup$1 = {
4
5
  header: {
@@ -29,6 +30,7 @@ var popupTokens = {
29
30
  };
30
31
 
31
32
  const { popup } = popupTokens;
33
+ const shadowSpreadMd = systemTokens.shadow.spread.md;
32
34
  const POPUP_LAYOUT = {
33
35
  bodyBg: popup.bg,
34
36
  };
@@ -45,7 +47,6 @@ const POPUP_HEADER = {
45
47
  fontWeight: popup.header.typography.fontWeight,
46
48
  fontSize: Number(popup.header.typography.fontSize),
47
49
  lineHeight: Number(popup.header.typography.lineHeight),
48
- // TODO: 토큰 반영 후 교체
49
50
  height: 50,
50
51
  paddingX: 16,
51
52
  paddingY: 10,
@@ -55,11 +56,9 @@ const POPUP_FOOTER = {
55
56
  paddingX: Number(popup.footer.paddingX),
56
57
  paddingY: Number(popup.footer.paddingY),
57
58
  gap: Number(popup.footer.gap),
58
- // TODO: 토큰 반영 후 교체
59
59
  height: 52,
60
60
  slotHeight: 36,
61
- // TODO: shadow/spread/md 토큰 반영 교체
62
- shadow: '0 -2px 8px 0 rgba(0, 0, 0, 0.08)',
61
+ shadow: `${shadowSpreadMd.x}px ${shadowSpreadMd.y}px ${shadowSpreadMd.blur}px ${shadowSpreadMd.spread}px ${shadowSpreadMd.color}`,
63
62
  };
64
63
 
65
64
  const sdPopupCss = () => `sd-popup{display:block;width:100%;height:100%}sd-popup .sd-popup{display:flex;flex-direction:column;width:100%;height:100%;background:var(--sd-popup-bg);overflow:hidden;box-sizing:border-box}sd-popup .sd-popup__header{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:100%;height:var(--sd-popup-header-height);padding:var(--sd-popup-header-padding-y) var(--sd-popup-header-padding-x);background:var(--sd-popup-header-bg);box-sizing:border-box}sd-popup .sd-popup__title{margin:0;color:var(--sd-popup-header-title-color);font-family:var(--sd-popup-header-font-family);font-weight:var(--sd-popup-header-font-weight);font-size:var(--sd-popup-header-font-size);line-height:var(--sd-popup-header-line-height);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-popup .sd-popup__body{flex:1 1 auto;min-height:0;overflow:auto}sd-popup .sd-popup__footer{display:flex;align-items:center;flex-shrink:0;width:100%;height:var(--sd-popup-footer-height);padding:var(--sd-popup-footer-padding-y) var(--sd-popup-footer-padding-x);gap:var(--sd-popup-footer-gap);background:var(--sd-popup-footer-bg);box-shadow:var(--sd-popup-footer-shadow);box-sizing:border-box;position:relative;z-index:1}sd-popup .sd-popup__footer-slot{display:flex;align-items:center;height:var(--sd-popup-footer-slot-height)}sd-popup .sd-popup__footer-slot--left{justify-content:flex-start;flex:1 1 auto;min-width:0}sd-popup .sd-popup__footer-slot:empty{display:none}sd-popup .sd-popup__submit{flex-shrink:0;margin-left:auto}`;
@@ -75,6 +74,8 @@ const SdPopup = class {
75
74
  }
76
75
  popupTitle = '';
77
76
  type = 'default';
77
+ // 기본 footer 표시가 자연스러운 UX. prop 이름 변경(hideFooter 등)은 public API breaking 이라 별도 이슈로 분리.
78
+ // eslint-disable-next-line stencil/ban-default-true
78
79
  useFooter = true;
79
80
  submitButtonProps;
80
81
  submit;
@@ -102,7 +103,7 @@ const SdPopup = class {
102
103
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
103
104
  ...this.submitButtonProps,
104
105
  };
105
- return (h("div", { key: '0c9f1cd261fa533044309342cfbaae8f5b87ae31', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: 'd8aa4db4d150419f5653fd93e204cc4bd865c35e', class: "sd-popup__header" }, h("h2", { key: 'fce95fce48a91c3a2b60f0b1169113cd2ff157d6', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'c730895828c14a6a80fe6bebecb08f386cc84a78', class: "sd-popup__body" }, h("slot", { key: 'f3402c32fdc55794fb2c877a41c9f73e3c0d6d9f' })), this.useFooter && (h("footer", { key: '4b04ebc0dccc07dd9466c06c940d3444346603ba', class: "sd-popup__footer" }, h("div", { key: '78b35347121652d647e3601e6c6164e8e21288ca', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: '98836c28e7de97466cf4285c0458a8709c3788bb', name: "footer-left" })), h("sd-button", { key: 'd9ab45765c66a2f86aec2df9fc056fa1f4605259', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
106
+ return (h("div", { key: '77379698e76b000368df2d2b7345010cde3df7ba', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: 'e00d2292b718bfd21e491a09e5ea8c18fbb1a2c8', class: "sd-popup__header" }, h("h2", { key: 'b8bac8f58f7f916a3b6fe40a66d21318da45d4d3', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: '56e5b653539752b9fd0fa4694f7342914cd7abc6', class: "sd-popup__body" }, h("slot", { key: '183fafa8179a3350817ec6e3dea12281860f7639' })), this.useFooter && (h("footer", { key: 'd1b7fe2d67e5f3ad3b3f8e20408271fdaab86d93', class: "sd-popup__footer" }, h("div", { key: '7cc5d0bd9d314942d8d5f982f1f459c56fde4bc0', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: 'ffb52c9d679e4ddf9e50e012f8a9aa02b0cb1f95', name: "footer-left" })), h("sd-button", { key: '3ab8061bf4119a9351921a41c3d9cb942c00b5d1', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
106
107
  }
107
108
  };
108
109
  SdPopup.style = sdPopupCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const SdPortal = class {
4
4
  constructor(hostRef) {
@@ -225,7 +225,7 @@ const SdPortal = class {
225
225
  this.close.emit();
226
226
  }
227
227
  render() {
228
- return h("slot", { key: '1f46253fe0f70fda84643e8d3025c1fd47090f5c' });
228
+ return h("slot", { key: 'a227fa8a0639de7fd3a014762998692151284f87' });
229
229
  }
230
230
  static get watchers() { return {
231
231
  "open": [{
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const radioButton = {
4
4
  xs: {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const radio = {
4
4
  size: "16",
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
  import { e as LIST_ITEM_LAYOUT, g as LIST_ITEM_TYPOGRAPHY, h as LIST_ITEM_COLORS, i as SEARCH_DEBOUNCE_MS } from './sd-select.config-CxOCk_ge.js';
3
3
 
4
4
  const sdSelectListItemCss = () => `sd-select-list-item{display:block}sd-select-list-item .sd-select-list-item{display:flex;align-items:center;gap:var(--list-item-gap);padding:var(--list-item-padding-y) var(--list-item-padding-right) var(--list-item-padding-y) var(--list-item-padding-left);font-size:var(--list-item-font-size);line-height:var(--list-item-line-height);font-weight:var(--list-item-font-weight);background:var(--list-item-bg);color:var(--list-item-color);cursor:default;user-select:none}sd-select-list-item .sd-select-list-item--selectable{cursor:pointer}sd-select-list-item .sd-select-list-item--depth1-group{border-top:var(--list-item-border-top);font-weight:700}sd-select-list-item .sd-select-list-item--depth2-group{font-weight:500}sd-select-list-item .sd-select-list-item--focused.sd-select-list-item--selectable:not(.sd-select-list-item--disabled){background:var(--list-item-bg-hover);color:var(--list-item-color-hover)}sd-select-list-item .sd-select-list-item--selected:not(.sd-select-list-item--group){font-weight:var(--list-item-font-weight-selected);color:var(--list-item-color-selected)}sd-select-list-item .sd-select-list-item--selected.sd-select-list-item--focused{color:var(--list-item-color-hover)}sd-select-list-item .sd-select-list-item--disabled{color:var(--list-item-color-disabled);cursor:not-allowed}sd-select-list-item .sd-select-list-item__label{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-select-list-item .sd-select-list-item__count{flex-shrink:0;font-weight:500;color:var(--list-item-color-disabled)}sd-select-list-item .sd-select-list-item--group.sd-select-list-item--focused .sd-select-list-item__count{color:#ffffff}sd-select-list-item .sd-select-list-item__checkbox{flex-shrink:0}`;
@@ -77,7 +77,7 @@ const SdSelectListItem = class {
77
77
  return (
78
78
  // 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
79
79
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
80
- h("div", { key: '93e8bf04e69d9e6f066952570ed06076bdd17e57', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
80
+ h("div", { key: '33f5d4383d2bfac91507d72d98b8a73b380a70e8', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
81
81
  'sd-select-list-item': true,
82
82
  'sd-select-list-item--group': isGroup,
83
83
  'sd-select-list-item--depth1-group': isDepth1Group,
@@ -87,7 +87,7 @@ const SdSelectListItem = class {
87
87
  'sd-select-list-item--focused': this.isFocused,
88
88
  'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
89
89
  'sd-select-list-item--disabled': !!this.option.disabled,
90
- }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '2b6a17361c2e5c65c6dac21895ef397cadeec9a3', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), h("span", { key: '158e45d52b3b5394f7c4e2ffff97d23f83ce5e49', class: "sd-select-list-item__label" }, this.option.label), this.countInfo && (h("span", { key: '48adac9df92cd19f5e2b39bed828a9ad7c22c945', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
90
+ }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: 'a93dec7a45e140d7f715a6fc823c4438c58cdd8f', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), h("span", { key: '81b0bfdd0825b795f2638d6529e8c5fb346be6db', class: "sd-select-list-item__label" }, this.option.label), this.countInfo && (h("span", { key: '2e1425a5d6ab9082a30b4d9079be1d4104d95fc2', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
91
91
  }
92
92
  };
93
93
  SdSelectListItem.style = sdSelectListItemCss();
@@ -140,15 +140,15 @@ const SdSelectListItemSearch = class {
140
140
  clearTimeout(this.debounceTimer);
141
141
  }
142
142
  render() {
143
- return (h("div", { key: '0b8e55a2f39d72bc6fc5c7d8c6262c9fffb52ba7', class: {
143
+ return (h("div", { key: '8c0c85ac9c382e2978e32924c33a580a4fac3485', class: {
144
144
  'sd-select-list-item-search': true,
145
145
  'sd-select-list-item-search--scrolled': this.isScrolled,
146
- } }, h("div", { key: '30c4f5d6c8002579da129cebb06c026c278fb555', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: 'be9076a1fd6d7fd9a1990fd9e32aebd04c1bc4b4', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: 'c9400184f607d0385e5e8c25615e1a955256c6f4', ref: el => {
146
+ } }, h("div", { key: '92425ff6eab4cf16f96f45dabb8f07c27ad9e747', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: '253a40e4e624e828e351d08c1f05fb2d098c8b9b', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: 'b38735ae6e75b9fe19ceb3038c5b873ad42760ef', ref: el => {
147
147
  this.inputEl = el;
148
- }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: 'dcb18eff068dea3fcb9144c4dfd4500806f68753', type: "button", class: {
148
+ }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: '8045fef5d1821ea60ac261ee07f7eddf8a7a189d', type: "button", class: {
149
149
  'sd-select-list-item-search__clear': true,
150
150
  'sd-select-list-item-search__clear--hidden': this.searchText === '',
151
- }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: 'beb2cf23258aa1eaff2c9fdb63dae99570691af1', name: "close", size: 12, color: "#888888" })))));
151
+ }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: '110c0420fd17c51055cfc1815a528cf7c385d91e', name: "close", size: 12, color: "#888888" })))));
152
152
  }
153
153
  };
154
154
  SdSelectListItemSearch.style = sdSelectListItemSearchCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DNWwGHho.js';
2
2
  import { n as nanoid } from './index-CCwNgVmC.js';
3
3
  import { c as countLeaves, S as SEARCH_THRESHOLD, f as filterTree, E as EMPTY_MESSAGE, L as LIST_BOX_LAYOUT, a as SELECT_COLORS, b as SELECT_TYPOGRAPHY, d as SELECT_LAYOUT } from './sd-select.config-CxOCk_ge.js';
4
4
 
@@ -263,15 +263,15 @@ const SdSelect = class {
263
263
  this.closeDropdown();
264
264
  },
265
265
  };
266
- return (h("sd-field", { key: 'c433e21047632ae1e7901e11f6f9d83070f8d83c', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
266
+ return (h("sd-field", { key: '3c188cbdd8c612e78780d18c03acc382d32080c9', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
267
267
  this.hovered = true;
268
268
  }, onMouseLeave: () => {
269
269
  this.hovered = false;
270
- } }, h("div", { key: 'f04f2f331c27745035c35d96d5262398065589a8', class: "sd-select", ref: el => {
270
+ } }, h("div", { key: 'be596d399856ed966408ba1525fea9dbdf8fcc7e', class: "sd-select", ref: el => {
271
271
  this.triggerRef = el;
272
- } }, h("sd-select-trigger", { key: 'b66e83ff248618c815b155f27445f3da9e91361b', ref: el => {
272
+ } }, h("sd-select-trigger", { key: 'f8a29b1ac2469c60af8c7101d05157674566f00f', ref: el => {
273
273
  this.triggerComponentRef = el;
274
- }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: 'bd5b46d8e4849d235e39a9d9cfc549fdbe260076', ...portalProps }, h("sd-select-listbox", { key: '81266da14ee4e59b4cedd4b364c18fea4d3c4f7f', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
274
+ }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '3cef3f95f69b09d0e4e8f6b01615df4cca031cff', ...portalProps }, h("sd-select-listbox", { key: 'e8833c547aa2e8084754c7a439d3860df5c97e5b', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
275
275
  }
276
276
  static get watchers() { return {
277
277
  "isOpen": [{
@@ -635,9 +635,9 @@ const SdSelectListbox = class {
635
635
  '--listbox-max-height': this.maxHeight ?? '260px',
636
636
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
637
637
  };
638
- return (h("div", { key: '4173255a866459bf0aeb98d517263d12f1c39fa5', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '79e7d48d7234ebfd32d3cd242822dfa93a73c151', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '22981c1e049d0d526af06bb5b563de5130c14477', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
638
+ return (h("div", { key: '7505e221ddb890880f0ba5088c3fdc76700e3b2f', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '54b97ad40c5e7abe92b478689d09337843736652', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: 'f7417f923cc34cbb2c2a56ae70ed54701d013d3d', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
639
639
  this.listEl = el;
640
- } }, this.showSelectAll && (h("sd-select-list-item", { key: '7acd37c5663bb101d6853cbd6629a78d402d6cde', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
640
+ } }, this.showSelectAll && (h("sd-select-list-item", { key: '5e8cfcb1f9f0953b9eaa6fc73de992b52a0a23d7', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
641
641
  }
642
642
  static get watchers() { return {
643
643
  "searchKeyword": [{
@@ -697,7 +697,7 @@ const SdSelectTrigger = class {
697
697
  ? SELECT_COLORS.icon.disabled
698
698
  : SELECT_COLORS.icon.default,
699
699
  };
700
- return (h("div", { key: '6694f35a396f368d5df9860db30d817beddb8bec', ref: el => {
700
+ return (h("div", { key: '3a97ed909e3088528714682050a3986081e19433', ref: el => {
701
701
  this.triggerEl = el;
702
702
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
703
703
  'sd-select-trigger': true,
@@ -708,7 +708,7 @@ const SdSelectTrigger = class {
708
708
  e.preventDefault();
709
709
  this.handleClick();
710
710
  }
711
- }, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'd8ff247ca362a8fc3677d9803261343a1e891298', class: "sd-select-trigger__content" }, h("span", { key: 'cd81a7c7c135372aad80fa9391b160337632643c', class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택')), h("sd-icon", { key: '838c12e2a9ce06036eee766ffd2f88f3215b8420', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
711
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '986faba7d79980f0bcd10fff32495d2100e1805f', class: "sd-select-trigger__content" }, h("span", { key: 'c51b268186de7cdabcf06ac3d540ccb570c9e865', class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택')), h("sd-icon", { key: '8a03b400d5aef2e0ca9aeb4b1f6122db2932455a', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
712
712
  'sd-select-trigger__icon': true,
713
713
  'sd-select-trigger__icon--open': this.isOpen,
714
714
  } }))));
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  var switchTokens = {
4
4
  "switch": {
@@ -100,7 +100,7 @@ const SdSwitch = class {
100
100
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
101
101
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
102
102
  };
103
- return (h("label", { key: 'ebb195a1bb93ae476b4bf3e697623809d626eed6', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: 'a6de6298d35c54ad83dc6285b90e67c8d3564d15', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: '7881f46be572edcfc82888564a7f85ad4207dd8e', class: "sd-switch__track" }, h("div", { key: 'c08c9d5894a6f9ddf3ecdaaa9253628478479043', class: "sd-switch__knob" })), this.label && h("span", { key: '4e01b185502829d8fb647d3eafaaf6565489b2f3', class: "sd-switch__label" }, this.label)));
103
+ return (h("label", { key: '04674e9fc781ac58b2e68ae30cb90c948de8b5e3', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: 'b87970c38aa2ccbe3d8f91414c96c2f05aaaa818', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: 'd87bcaf8b16d17401215dd962875dc585f747d65', class: "sd-switch__track" }, h("div", { key: '408a034cd6b063d9cd968f647995cc77dfdd0577', class: "sd-switch__knob" })), this.label && h("span", { key: '58d7ab18329007eac2e23b0fcda66a841e4df0c2', class: "sd-switch__label" }, this.label)));
104
104
  }
105
105
  };
106
106
  SdSwitch.style = sdSwitchCss();
@@ -1,5 +1,5 @@
1
- import { t as tableTokens } from './component.table-DQFHAKL_.js';
2
- import { s as systemTokens } from './system-GBlVDmy4.js';
1
+ import { t as tableTokens } from './component.table-D6GUzecR.js';
2
+ import { s as systemTokens } from './system-j2khhcHY.js';
3
3
 
4
4
  // ── Header Tokens ──
5
5
  const TABLE_HEADER_LAYOUT = {
@@ -48,9 +48,12 @@ const TABLE_BORDER = {
48
48
  };
49
49
  const TABLE_SEPARATOR = {
50
50
  color: tableTokens.table.separator.color,
51
- width: tableTokens.table.separator.Width,
51
+ width: tableTokens.table.separator.width.default,
52
+ denseWidth: tableTokens.table.separator.width.dense,
52
53
  };
53
54
  const TABLE_RADIUS = tableTokens.table.radius;
55
+ // ── Selectable Column ──
56
+ const TABLE_SELECTABLE_COLUMN_WIDTH = 48;
54
57
  // ── Header Icon Color Defaults ──
55
58
  const ICON_DEFAULT_COLOR = {
56
59
  pageEdit: systemTokens.color.darkblue.strong,
@@ -63,4 +66,4 @@ const ICON_DEFAULT_COLOR = {
63
66
  const resolveTableIconColor = (name, override) => override ?? ICON_DEFAULT_COLOR[name];
64
67
  const resolveSortIconName = (sort) => sort === 'asc' ? 'arrowDown' : sort === 'desc' ? 'arrowUp' : 'updown';
65
68
 
66
- export { TABLE_BODY_LAYOUT as T, TABLE_BODY_TYPOGRAPHY as a, TABLE_BORDER as b, TABLE_RADIUS as c, resolveSortIconName as d, TABLE_HEADER_RESIZING_BAR as e, TABLE_HEADER_TYPOGRAPHY as f, TABLE_HEADER_COLORS as g, TABLE_HEADER_LAYOUT as h, TABLE_SEPARATOR as i, resolveTableIconColor as r };
69
+ export { TABLE_BODY_LAYOUT as T, TABLE_SELECTABLE_COLUMN_WIDTH as a, TABLE_BODY_TYPOGRAPHY as b, TABLE_BORDER as c, TABLE_RADIUS as d, resolveSortIconName as e, TABLE_HEADER_RESIZING_BAR as f, TABLE_HEADER_TYPOGRAPHY as g, TABLE_HEADER_COLORS as h, TABLE_HEADER_LAYOUT as i, TABLE_SEPARATOR as j, resolveTableIconColor as r };