@sellmate/design-system 1.8.0 → 1.10.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 (388) hide show
  1. package/dist/cjs/{component.datepicker-Cw_-oidk.js → component.datepicker-CUQbDSku.js} +0 -1
  2. package/dist/cjs/component.field-YIQ9TAhV.js +61 -0
  3. package/dist/cjs/{component.textinput-BpXDeZPD.js → component.textinput-Bb-nU5xI.js} +3 -2
  4. package/dist/cjs/design-system.cjs.js +2 -2
  5. package/dist/cjs/{index-BGwB03Tk.js → index-C63F8C0_.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-badge.cjs.entry.js +2 -2
  9. package/dist/cjs/sd-barcode-input.cjs.entry.js +3 -3
  10. package/dist/cjs/{sd-button.config-BSHkfgdC.js → sd-button.config-eTAJM2iW.js} +17 -4
  11. package/dist/cjs/sd-button_2.cjs.entry.js +7 -6
  12. package/dist/cjs/sd-calendar_2.cjs.entry.js +10 -9
  13. package/dist/cjs/sd-callout.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-checkbox.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-chip-input.cjs.entry.js +274 -0
  17. package/dist/cjs/sd-chip.cjs.entry.js +15 -87
  18. package/dist/cjs/sd-chip.config-DiLoRpct.js +71 -0
  19. package/dist/cjs/sd-circle-progress.cjs.entry.js +2 -2
  20. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +4 -4
  21. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  22. package/dist/cjs/{sd-date-picker.config-D3lTpa6W.js → sd-date-picker.config-CtXmufyj.js} +6 -2
  23. package/dist/cjs/sd-date-picker_7.cjs.entry.js +34 -48
  24. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +4 -4
  25. package/dist/cjs/sd-divider.cjs.entry.js +2 -2
  26. package/dist/cjs/sd-dropdown-button.cjs.entry.js +10 -6
  27. package/dist/cjs/sd-field_3.cjs.entry.js +15 -56
  28. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  29. package/dist/cjs/sd-ghost-button_2.cjs.entry.js +407 -0
  30. package/dist/cjs/sd-guide.cjs.entry.js +1 -1
  31. package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
  33. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  34. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  35. package/dist/cjs/sd-pagination_4.cjs.entry.js +9 -9
  36. package/dist/cjs/sd-popover.cjs.entry.js +8 -7
  37. package/dist/cjs/sd-popup.cjs.entry.js +2 -2
  38. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  39. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  40. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  41. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +9 -8
  42. package/dist/cjs/{sd-select.config-B19ptCT2.js → sd-select.config-DrJ4LNVz.js} +24 -13
  43. package/dist/cjs/sd-select_3.cjs.entry.js +16 -13
  44. package/dist/cjs/sd-switch.cjs.entry.js +2 -2
  45. package/dist/cjs/sd-table.cjs.entry.js +7 -7
  46. package/dist/cjs/sd-tabs.cjs.entry.js +6 -3
  47. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  48. package/dist/cjs/sd-text-link.cjs.entry.js +20 -20
  49. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  50. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  51. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  52. package/dist/cjs/{tooltipArrow-COD-SNZL.js → tooltipArrow-DONQ8MML.js} +1 -1
  53. package/dist/cjs/{useDatePicker-dCuEgvjX.js → useDatePicker-iMd6WToc.js} +1 -1
  54. package/dist/collection/collection-manifest.json +1 -0
  55. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  56. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  57. package/dist/collection/components/sd-button/sd-button.config.js +10 -2
  58. package/dist/collection/components/sd-button/sd-button.css +6 -5
  59. package/dist/collection/components/sd-button/sd-button.js +5 -4
  60. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  61. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  62. package/dist/collection/components/sd-card/sd-card.js +1 -1
  63. package/dist/collection/components/sd-chip/sd-chip.config.js +0 -1
  64. package/dist/collection/components/sd-chip/sd-chip.css +5 -0
  65. package/dist/collection/components/sd-chip/sd-chip.js +7 -5
  66. package/dist/collection/components/sd-chip-input/sd-chip-input.config.js +48 -0
  67. package/dist/collection/components/sd-chip-input/sd-chip-input.css +92 -0
  68. package/dist/collection/components/sd-chip-input/sd-chip-input.js +709 -0
  69. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  70. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  71. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  72. package/dist/collection/components/sd-date-picker/sd-date-picker.config.js +5 -1
  73. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  74. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  75. package/dist/collection/components/sd-divider/sd-divider.js +1 -1
  76. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +3 -2
  77. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +4 -0
  78. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +5 -3
  79. package/dist/collection/components/sd-field/sd-field.js +6 -5
  80. package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +11 -10
  81. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  82. package/dist/collection/components/sd-ghost-button/sd-ghost-button.css +21 -0
  83. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +27 -2
  84. package/dist/collection/components/sd-input/sd-input.js +2 -2
  85. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  86. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  87. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  88. package/dist/collection/components/sd-number-input/sd-number-input.config.js +4 -3
  89. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  90. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  91. package/dist/collection/components/sd-popover/sd-popover.js +5 -5
  92. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  93. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  94. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +4 -3
  95. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  96. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +7 -4
  97. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +4 -3
  98. package/dist/collection/components/sd-select/sd-select.config.js +17 -10
  99. package/dist/collection/components/sd-select/sd-select.js +5 -6
  100. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  101. package/dist/collection/components/sd-table/sd-table.js +6 -6
  102. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  103. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  104. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
  105. package/dist/collection/components/sd-tabs/sd-tabs.css +27 -0
  106. package/dist/collection/components/sd-tabs/sd-tabs.js +24 -1
  107. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  108. package/dist/collection/components/sd-text-link/sd-text-link.config.js +4 -4
  109. package/dist/collection/components/sd-text-link/sd-text-link.js +11 -11
  110. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  111. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  112. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  113. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  114. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  115. package/dist/components/index.js +1 -1
  116. package/dist/components/p-0KaFFbD8.js +1 -0
  117. package/dist/components/{p-p4bNikji.js → p-4XivETkt.js} +1 -1
  118. package/dist/components/p-AmkZCF9y.js +1 -0
  119. package/dist/components/p-BA8i1i5_.js +1 -0
  120. package/dist/components/{p-DQj-S8AC.js → p-BNkExhYB.js} +1 -1
  121. package/dist/components/p-BOJJ_sQS.js +1 -0
  122. package/dist/components/p-B_FQcRtk.js +1 -0
  123. package/dist/components/{p-lOVBaLB7.js → p-BcsFHQH8.js} +1 -1
  124. package/dist/components/p-BnaD56dI.js +1 -0
  125. package/dist/components/p-Bq9q5LoZ.js +1 -0
  126. package/dist/components/p-BwUUaGFU.js +1 -0
  127. package/dist/components/{p-DnW8EAqd.js → p-BysikR_g.js} +1 -1
  128. package/dist/components/p-C5wgHjtx.js +1 -0
  129. package/dist/components/{p-gqfJ-KUj.js → p-C79Cowjq.js} +1 -1
  130. package/dist/components/{p-Cye8r1MG.js → p-CFL9Rfh8.js} +1 -1
  131. package/dist/components/{p-uVZjhyvS.js → p-CJdrq8cV.js} +1 -1
  132. package/dist/components/{p-DCFqtVBm.js → p-CJr5BdNN.js} +1 -1
  133. package/dist/components/p-CWlwx4xx.js +1 -0
  134. package/dist/components/p-CWz_dfBG.js +1 -0
  135. package/dist/components/{p-D6cUtm8p.js → p-CjVOfLam.js} +1 -1
  136. package/dist/components/{p-wLoP3KMv.js → p-Ck9bJZTm.js} +1 -1
  137. package/dist/components/{p-CwQTEZWO.js → p-CkQzw2e0.js} +1 -1
  138. package/dist/components/p-CqvS2J1B.js +1 -0
  139. package/dist/components/p-CyGi6aGo.js +1 -0
  140. package/dist/components/p-Cz9ralVS.js +1 -0
  141. package/dist/components/{p-y_6iWhDy.js → p-D4TisqIF.js} +1 -1
  142. package/dist/components/p-D5O7fZYw.js +1 -0
  143. package/dist/components/p-DApxX0af.js +1 -0
  144. package/dist/components/p-DR0N8_Vt.js +1 -0
  145. package/dist/components/p-DUhqd8c7.js +1 -0
  146. package/dist/components/{p-BasCjDiE.js → p-DjS-dtF5.js} +1 -1
  147. package/dist/components/p-DmbwfZF7.js +1 -0
  148. package/dist/components/p-Dp6NByuZ.js +1 -0
  149. package/dist/components/{p-Bx9dlLbs.js → p-Dt9-l05k.js} +1 -1
  150. package/dist/components/{p-DhmsCQrB.js → p-DwU-e9i1.js} +1 -1
  151. package/dist/components/{p-BWJtQGYo.js → p-Dwl1u73P.js} +1 -1
  152. package/dist/components/{p-EcuI_UmK.js → p-NaAHdFVI.js} +1 -1
  153. package/dist/components/{p-ByhWX2NK.js → p-e0ABNkP6.js} +1 -1
  154. package/dist/components/{p-B45aOf4I.js → p-ipduET5U.js} +1 -1
  155. package/dist/components/{p-DKwnEkHE.js → p-jtJFHONo.js} +1 -1
  156. package/dist/components/p-laVsm9VM.js +1 -0
  157. package/dist/components/{p-CTuKWVTh.js → p-pfGv13eX.js} +1 -1
  158. package/dist/components/p-siTDlOb6.js +1 -0
  159. package/dist/components/sd-action-modal.js +1 -1
  160. package/dist/components/sd-badge.js +1 -1
  161. package/dist/components/sd-barcode-input.js +1 -1
  162. package/dist/components/sd-button.js +1 -1
  163. package/dist/components/sd-calendar.js +1 -1
  164. package/dist/components/sd-callout.js +1 -1
  165. package/dist/components/sd-card.js +1 -1
  166. package/dist/components/sd-checkbox.js +1 -1
  167. package/dist/components/sd-chip-input.d.ts +11 -0
  168. package/dist/components/sd-chip-input.js +1 -0
  169. package/dist/components/sd-chip.js +1 -1
  170. package/dist/components/sd-circle-progress.js +1 -1
  171. package/dist/components/sd-confirm-modal.js +1 -1
  172. package/dist/components/sd-date-box.js +1 -1
  173. package/dist/components/sd-date-picker-trigger.js +1 -1
  174. package/dist/components/sd-date-picker.js +1 -1
  175. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  176. package/dist/components/sd-date-range-picker.js +1 -1
  177. package/dist/components/sd-divider.js +1 -1
  178. package/dist/components/sd-dropdown-button.js +1 -1
  179. package/dist/components/sd-field.js +1 -1
  180. package/dist/components/sd-file-picker.js +1 -1
  181. package/dist/components/sd-floating-portal.js +1 -1
  182. package/dist/components/sd-form.js +1 -1
  183. package/dist/components/sd-ghost-button.js +1 -1
  184. package/dist/components/sd-guide.js +1 -1
  185. package/dist/components/sd-icon.js +1 -1
  186. package/dist/components/sd-input.js +1 -1
  187. package/dist/components/sd-key-value-table.js +1 -1
  188. package/dist/components/sd-linear-progress.js +1 -1
  189. package/dist/components/sd-loading-container.js +1 -1
  190. package/dist/components/sd-loading-modal.js +1 -1
  191. package/dist/components/sd-modal-container.js +1 -1
  192. package/dist/components/sd-number-input.js +1 -1
  193. package/dist/components/sd-pagination.js +1 -1
  194. package/dist/components/sd-popover.js +1 -1
  195. package/dist/components/sd-popup.js +1 -1
  196. package/dist/components/sd-portal.js +1 -1
  197. package/dist/components/sd-radio-button.js +1 -1
  198. package/dist/components/sd-radio-group.js +1 -1
  199. package/dist/components/sd-radio.js +1 -1
  200. package/dist/components/sd-select-list-item-search.js +1 -1
  201. package/dist/components/sd-select-list-item.js +1 -1
  202. package/dist/components/sd-select-listbox.js +1 -1
  203. package/dist/components/sd-select-trigger.js +1 -1
  204. package/dist/components/sd-select.js +1 -1
  205. package/dist/components/sd-switch.js +1 -1
  206. package/dist/components/sd-table.js +1 -1
  207. package/dist/components/sd-tabs.js +1 -1
  208. package/dist/components/sd-tag.js +1 -1
  209. package/dist/components/sd-tbody.js +1 -1
  210. package/dist/components/sd-td.js +1 -1
  211. package/dist/components/sd-text-link.js +1 -1
  212. package/dist/components/sd-textarea.js +1 -1
  213. package/dist/components/sd-thead.js +1 -1
  214. package/dist/components/sd-toast-container.js +1 -1
  215. package/dist/components/sd-toast.js +1 -1
  216. package/dist/components/sd-toggle.js +1 -1
  217. package/dist/components/sd-tooltip.js +1 -1
  218. package/dist/components/sd-tr.js +1 -1
  219. package/dist/design-system/design-system.css +1 -1
  220. package/dist/design-system/design-system.esm.js +1 -1
  221. package/dist/design-system/{p-e81cb8c9.entry.js → p-0ac4d17b.entry.js} +1 -1
  222. package/dist/design-system/p-12c1ddfc.entry.js +1 -0
  223. package/dist/design-system/{p-5d5d8220.entry.js → p-15518cf5.entry.js} +1 -1
  224. package/dist/design-system/{p-07b0d118.entry.js → p-20ebfd9e.entry.js} +1 -1
  225. package/dist/design-system/{p-ff33d019.entry.js → p-24cb3aef.entry.js} +1 -1
  226. package/dist/design-system/{p-ea586c5e.entry.js → p-27f61c1f.entry.js} +1 -1
  227. package/dist/design-system/{p-db826b91.entry.js → p-2ef3cd00.entry.js} +1 -1
  228. package/dist/design-system/p-2f53e2f9.entry.js +1 -0
  229. package/dist/design-system/{p-78b0b759.entry.js → p-36b8f224.entry.js} +1 -1
  230. package/dist/design-system/{p-eb18d812.entry.js → p-3bd59260.entry.js} +1 -1
  231. package/dist/design-system/p-4fd59127.entry.js +1 -0
  232. package/dist/design-system/p-5b2dd552.entry.js +1 -0
  233. package/dist/design-system/{p-0de5a53b.entry.js → p-5deefcbc.entry.js} +1 -1
  234. package/dist/design-system/{p-a5930cbd.entry.js → p-6ebd85ae.entry.js} +1 -1
  235. package/dist/design-system/{p-f14962bd.entry.js → p-7440fbe7.entry.js} +1 -1
  236. package/dist/design-system/p-798c0f9b.entry.js +1 -0
  237. package/dist/design-system/{p-cce38339.entry.js → p-7b01d78b.entry.js} +1 -1
  238. package/dist/design-system/p-7ca9a6c9.entry.js +1 -0
  239. package/dist/design-system/p-90cc9785.entry.js +1 -0
  240. package/dist/design-system/p-9f899376.entry.js +1 -0
  241. package/dist/design-system/p-9ff473b2.entry.js +1 -0
  242. package/dist/design-system/p-BOJJ_sQS.js +1 -0
  243. package/dist/design-system/p-BpO2YWvq.js +2 -0
  244. package/dist/design-system/{p-BGtUaScP.js → p-BqWuC4-J.js} +1 -1
  245. package/dist/design-system/{p-LIf7YMBN.js → p-CcVraVK0.js} +1 -1
  246. package/dist/design-system/p-DDj5KTBF.js +1 -0
  247. package/dist/design-system/p-DjcjlPt7.js +1 -0
  248. package/dist/design-system/p-DtrsLG0Z.js +1 -0
  249. package/dist/design-system/p-a1f248ed.entry.js +1 -0
  250. package/dist/design-system/{p-9e75a5dc.entry.js → p-a4fff652.entry.js} +1 -1
  251. package/dist/design-system/{p-cffa6da7.entry.js → p-a9892cbe.entry.js} +1 -1
  252. package/dist/design-system/{p-1219699a.entry.js → p-acaaf137.entry.js} +1 -1
  253. package/dist/design-system/{p-18d3ae55.entry.js → p-b1d1f1d3.entry.js} +1 -1
  254. package/dist/design-system/{p-d8292621.entry.js → p-b456b9ac.entry.js} +1 -1
  255. package/dist/design-system/{p-1632a28d.entry.js → p-b495f26c.entry.js} +1 -1
  256. package/dist/design-system/p-b63c672a.entry.js +1 -0
  257. package/dist/design-system/{p-8528ba1e.entry.js → p-bbae006c.entry.js} +1 -1
  258. package/dist/design-system/p-bbb51afa.entry.js +1 -0
  259. package/dist/design-system/{p-8fc49d2d.entry.js → p-cad22f63.entry.js} +1 -1
  260. package/dist/design-system/p-d24F7UcR.js +1 -0
  261. package/dist/design-system/p-d40ffa84.entry.js +1 -0
  262. package/dist/design-system/{p-ByhWX2NK.js → p-e0ABNkP6.js} +1 -1
  263. package/dist/design-system/{p-aa28712a.entry.js → p-e4944ae6.entry.js} +1 -1
  264. package/dist/design-system/{p-2c0a8333.entry.js → p-e5f1156c.entry.js} +1 -1
  265. package/dist/design-system/p-f4597b6e.entry.js +1 -0
  266. package/dist/design-system/p-f462bc54.entry.js +1 -0
  267. package/dist/design-system/{p-4b43648c.entry.js → p-f5eb4e2f.entry.js} +1 -1
  268. package/dist/design-system/{p-e6bd8ab1.entry.js → p-f8b6b169.entry.js} +1 -1
  269. package/dist/design-system/{p-1aafbc7b.entry.js → p-fcd3961f.entry.js} +1 -1
  270. package/dist/design-system/{p-25fad267.entry.js → p-ff24fcb2.entry.js} +1 -1
  271. package/dist/design-system/p-laVsm9VM.js +1 -0
  272. package/dist/esm/{component.datepicker-BQn6le_Y.js → component.datepicker-laVsm9VM.js} +0 -1
  273. package/dist/esm/component.field-BOJJ_sQS.js +59 -0
  274. package/dist/esm/{component.textinput-ByhWX2NK.js → component.textinput-e0ABNkP6.js} +3 -2
  275. package/dist/esm/design-system.js +3 -3
  276. package/dist/esm/{index-DNWwGHho.js → index-BpO2YWvq.js} +1 -1
  277. package/dist/esm/loader.js +3 -3
  278. package/dist/esm/sd-action-modal.entry.js +1 -1
  279. package/dist/esm/sd-badge.entry.js +2 -2
  280. package/dist/esm/sd-barcode-input.entry.js +3 -3
  281. package/dist/esm/{sd-button.config-C7p6g_sM.js → sd-button.config-DjcjlPt7.js} +16 -4
  282. package/dist/esm/sd-button_2.entry.js +7 -6
  283. package/dist/esm/sd-calendar_2.entry.js +10 -9
  284. package/dist/esm/sd-callout.entry.js +2 -2
  285. package/dist/esm/sd-card.entry.js +2 -2
  286. package/dist/esm/sd-checkbox.entry.js +1 -1
  287. package/dist/esm/sd-chip-input.entry.js +272 -0
  288. package/dist/esm/sd-chip.config-DDj5KTBF.js +67 -0
  289. package/dist/esm/sd-chip.entry.js +10 -82
  290. package/dist/esm/sd-circle-progress.entry.js +2 -2
  291. package/dist/esm/sd-confirm-modal_2.entry.js +4 -4
  292. package/dist/esm/sd-date-box.entry.js +1 -1
  293. package/dist/esm/{sd-date-picker.config-CGEE3DkI.js → sd-date-picker.config-6dvDZPGx.js} +6 -2
  294. package/dist/esm/sd-date-picker_7.entry.js +34 -48
  295. package/dist/esm/sd-date-range-picker-calendar.entry.js +4 -4
  296. package/dist/esm/sd-divider.entry.js +2 -2
  297. package/dist/esm/sd-dropdown-button.entry.js +10 -6
  298. package/dist/esm/sd-field_3.entry.js +12 -53
  299. package/dist/esm/sd-form.entry.js +1 -1
  300. package/dist/esm/sd-ghost-button_2.entry.js +404 -0
  301. package/dist/esm/sd-guide.entry.js +1 -1
  302. package/dist/esm/sd-key-value-table.entry.js +1 -1
  303. package/dist/esm/sd-linear-progress.entry.js +2 -2
  304. package/dist/esm/sd-loading-container.entry.js +3 -3
  305. package/dist/esm/sd-modal-container.entry.js +1 -1
  306. package/dist/esm/sd-pagination_4.entry.js +9 -9
  307. package/dist/esm/sd-popover.entry.js +8 -7
  308. package/dist/esm/sd-popup.entry.js +2 -2
  309. package/dist/esm/sd-portal.entry.js +2 -2
  310. package/dist/esm/sd-radio-button.entry.js +1 -1
  311. package/dist/esm/sd-radio.entry.js +1 -1
  312. package/dist/esm/sd-select-list-item_2.entry.js +9 -8
  313. package/dist/esm/{sd-select.config-CxOCk_ge.js → sd-select.config-DtrsLG0Z.js} +23 -14
  314. package/dist/esm/sd-select_3.entry.js +16 -13
  315. package/dist/esm/sd-switch.entry.js +2 -2
  316. package/dist/esm/sd-table.entry.js +7 -7
  317. package/dist/esm/sd-tabs.entry.js +6 -3
  318. package/dist/esm/sd-td.entry.js +2 -2
  319. package/dist/esm/sd-text-link.entry.js +20 -20
  320. package/dist/esm/sd-toast-container.entry.js +2 -2
  321. package/dist/esm/sd-toast.entry.js +3 -3
  322. package/dist/esm/sd-toggle.entry.js +2 -2
  323. package/dist/esm/{tooltipArrow-Cj3AqWK0.js → tooltipArrow-DrrY_fPj.js} +1 -1
  324. package/dist/esm/{useDatePicker-D5RmWGOp.js → useDatePicker-DoUg--aq.js} +1 -1
  325. package/dist/types/components/sd-barcode-input/sd-barcode-input.config.d.ts +0 -2
  326. package/dist/types/components/sd-button/sd-button.config.d.ts +10 -2
  327. package/dist/types/components/sd-chip/sd-chip.config.d.ts +0 -1
  328. package/dist/types/components/sd-chip-input/sd-chip-input.config.d.ts +34 -0
  329. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +53 -0
  330. package/dist/types/components/sd-date-picker/sd-date-picker.config.d.ts +1 -1
  331. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +9 -1
  332. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +1 -0
  333. package/dist/types/components/sd-input/sd-input.config.d.ts +0 -2
  334. package/dist/types/components/sd-number-input/sd-number-input.config.d.ts +2 -2
  335. package/dist/types/components/sd-popover/sd-popover.d.ts +1 -1
  336. package/dist/types/components/sd-select/sd-select.config.d.ts +2 -0
  337. package/dist/types/components/sd-tabs/sd-tabs.d.ts +1 -0
  338. package/dist/types/components/sd-text-link/sd-text-link.d.ts +1 -1
  339. package/dist/types/components/sd-textarea/sd-textarea.config.d.ts +0 -2
  340. package/dist/types/components.d.ts +217 -7
  341. package/hydrate/index.js +591 -251
  342. package/hydrate/index.mjs +591 -251
  343. package/package.json +1 -1
  344. package/dist/cjs/sd-ghost-button.cjs.entry.js +0 -179
  345. package/dist/cjs/sd-tag.cjs.entry.js +0 -227
  346. package/dist/components/p-2z2c2umH.js +0 -1
  347. package/dist/components/p-B6G64i5a.js +0 -1
  348. package/dist/components/p-B6JOxZKP.js +0 -1
  349. package/dist/components/p-B6L3bPm2.js +0 -1
  350. package/dist/components/p-BQn6le_Y.js +0 -1
  351. package/dist/components/p-Bhh7ig9Q.js +0 -1
  352. package/dist/components/p-C4uWhzoG.js +0 -1
  353. package/dist/components/p-C8c6MuKQ.js +0 -1
  354. package/dist/components/p-CkR5oiLy.js +0 -1
  355. package/dist/components/p-CvfW21oo.js +0 -1
  356. package/dist/components/p-D7g33VZR.js +0 -1
  357. package/dist/components/p-DISZkQqT.js +0 -1
  358. package/dist/components/p-DMrXwfmf.js +0 -1
  359. package/dist/components/p-DP0Dp12H.js +0 -1
  360. package/dist/components/p-DhtKHJ7-.js +0 -1
  361. package/dist/components/p-DmDGMDzt.js +0 -1
  362. package/dist/components/p-DoREs-rv.js +0 -1
  363. package/dist/components/p-I9SoAcVO.js +0 -1
  364. package/dist/components/p-cX2DD74L.js +0 -1
  365. package/dist/components/p-f10Mw7qM.js +0 -1
  366. package/dist/components/p-pwNG5WaX.js +0 -1
  367. package/dist/design-system/p-18057222.entry.js +0 -1
  368. package/dist/design-system/p-25204798.entry.js +0 -1
  369. package/dist/design-system/p-3e2b5e01.entry.js +0 -1
  370. package/dist/design-system/p-46faa7ed.entry.js +0 -1
  371. package/dist/design-system/p-4c3ead1b.entry.js +0 -1
  372. package/dist/design-system/p-5c4fd9c1.entry.js +0 -1
  373. package/dist/design-system/p-60b80bf3.entry.js +0 -1
  374. package/dist/design-system/p-74b3e95b.entry.js +0 -1
  375. package/dist/design-system/p-8674d868.entry.js +0 -1
  376. package/dist/design-system/p-95bbba4f.entry.js +0 -1
  377. package/dist/design-system/p-9d34518e.entry.js +0 -1
  378. package/dist/design-system/p-BQn6le_Y.js +0 -1
  379. package/dist/design-system/p-C7p6g_sM.js +0 -1
  380. package/dist/design-system/p-CxOCk_ge.js +0 -1
  381. package/dist/design-system/p-DNWwGHho.js +0 -2
  382. package/dist/design-system/p-TF8_Lyhq.js +0 -1
  383. package/dist/design-system/p-c1bac61e.entry.js +0 -1
  384. package/dist/design-system/p-cf685d90.entry.js +0 -1
  385. package/dist/design-system/p-deec1ef0.entry.js +0 -1
  386. package/dist/design-system/p-f3dff8b8.entry.js +0 -1
  387. package/dist/esm/sd-ghost-button.entry.js +0 -177
  388. package/dist/esm/sd-tag.entry.js +0 -225
@@ -41,15 +41,15 @@ export class SdSelectListItemSearch {
41
41
  clearTimeout(this.debounceTimer);
42
42
  }
43
43
  render() {
44
- return (h("div", { key: '8c0c85ac9c382e2978e32924c33a580a4fac3485', class: {
44
+ return (h("div", { key: '6cf78c7d616dc21a7a6e806c184322d12cacb50d', class: {
45
45
  'sd-select-list-item-search': true,
46
46
  'sd-select-list-item-search--scrolled': this.isScrolled,
47
- } }, 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 => {
47
+ } }, h("div", { key: 'dd9fa44fed1f3ec7a222dacaa710cdf32ddbe6fc', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: '2d65a81b7b6160ac4e93016adea0da43d5d01ec8', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: '0d5c4bb09778518aa17a210a2d1a9eb620a1dd7b', ref: el => {
48
48
  this.inputEl = el;
49
- }, 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: {
49
+ }, 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: 'e9708437f310788bf8b9a4d358dea9b83cc88ed8', type: "button", class: {
50
50
  'sd-select-list-item-search__clear': true,
51
51
  'sd-select-list-item-search__clear--hidden': this.searchText === '',
52
- }, 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" })))));
52
+ }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: 'ed8b1c93809f823205f357b059a8b556e0278b1c', name: "close", size: 12, color: "#888888" })))));
53
53
  }
54
54
  static get is() { return "sd-select-list-item-search"; }
55
55
  static get originalStyleUrls() {
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- import { LIST_BOX_LAYOUT, SEARCH_THRESHOLD, EMPTY_MESSAGE, countLeaves, filterTree, } from "../sd-select.config";
2
+ import { LIST_BOX_LAYOUT, SEARCH_THRESHOLD, EMPTY_MESSAGE, countLeaves, filterTree, isHtmlLabel, extractText, } from "../sd-select.config";
3
3
  export class SdSelectListbox {
4
4
  type = 'default';
5
5
  options = [];
@@ -67,7 +67,10 @@ export class SdSelectListbox {
67
67
  if (this.isDepth)
68
68
  return filterTree(this.options, this.searchKeyword);
69
69
  const keyword = this.searchKeyword.toLowerCase();
70
- return this.options.filter(o => o.label.toLowerCase().includes(keyword));
70
+ return this.options.filter(o => {
71
+ const labelText = isHtmlLabel(o.label) ? extractText(o.label) : o.label;
72
+ return labelText.toLowerCase().includes(keyword);
73
+ });
71
74
  }
72
75
  get isEmpty() {
73
76
  if (this.isDepth)
@@ -348,9 +351,9 @@ export class SdSelectListbox {
348
351
  '--listbox-max-height': this.maxHeight ?? '260px',
349
352
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
350
353
  };
351
- return (h("div", { key: '49f10bc8511fedcc0224729593498273088e16a3', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '2eab7f77c0e900f90a79b2b2e9a7e60da2349409', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '46407c47a1d24ee8d997060c2b54f2443c163700', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
354
+ return (h("div", { key: '6c2cbad13f8aaa8c0552068c7cbc35a147bee77d', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '052d783e27e2458aa397c77fe891dad4a440f09e', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: 'bba95f3c4475d01a65562ba079c8666e3325195d', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
352
355
  this.listEl = el;
353
- } }, this.showSelectAll && (h("sd-select-list-item", { key: '9c4a35e6515fb9bc9cd4feafc69a44c432b75139', 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) })))))));
356
+ } }, this.showSelectAll && (h("sd-select-list-item", { key: '2f55bbacbed71952903599db0739773176ac55fd', 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) })))))));
354
357
  }
355
358
  static get is() { return "sd-select-listbox"; }
356
359
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
- import { SELECT_LAYOUT, SELECT_TYPOGRAPHY, SELECT_COLORS } from "../sd-select.config";
2
+ import { SELECT_LAYOUT, SELECT_TYPOGRAPHY, SELECT_COLORS, isHtmlLabel } from "../sd-select.config";
3
+ import { sanitizeInlineHtml } from "../../../utils/html/sanitize-inline-html";
3
4
  export class SdSelectTrigger {
4
5
  displayText = '';
5
6
  placeholder = '선택';
@@ -42,7 +43,7 @@ export class SdSelectTrigger {
42
43
  ? SELECT_COLORS.icon.disabled
43
44
  : SELECT_COLORS.icon.default,
44
45
  };
45
- return (h("div", { key: '3a97ed909e3088528714682050a3986081e19433', ref: el => {
46
+ return (h("div", { key: 'b5a4f750c00889d0d9b985211063fc6b20bc2e38', ref: el => {
46
47
  this.triggerEl = el;
47
48
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
48
49
  'sd-select-trigger': true,
@@ -53,7 +54,7 @@ export class SdSelectTrigger {
53
54
  e.preventDefault();
54
55
  this.handleClick();
55
56
  }
56
- }, 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: {
57
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'be0b61c0550618602ef016504fa1672f7520fa93', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), h("sd-icon", { key: '9d60c3eeae54ce6ed9609534e3530d0349d1a3ff', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
57
58
  'sd-select-trigger__icon': true,
58
59
  'sd-select-trigger__icon--open': this.isOpen,
59
60
  } }))));
@@ -3,17 +3,17 @@ import listItemTokens from "../../tokens/generated/component.listItem.json";
3
3
  import listBoxTokens from "../../tokens/generated/component.listBox.json";
4
4
  // ── Select Trigger Tokens ──
5
5
  export const SELECT_LAYOUT = {
6
- height: selectTokens.select.height,
7
- radius: selectTokens.select.radius,
8
- borderWidth: selectTokens.select.borderWidth,
9
- paddingX: selectTokens.select.paddingX,
10
- gap: selectTokens.select.gap,
11
- iconSize: selectTokens.select.size.icon,
6
+ height: selectTokens.select.sm.height,
7
+ radius: selectTokens.select.sm.radius,
8
+ borderWidth: selectTokens.select.sm.borderWidth,
9
+ paddingX: selectTokens.select.sm.paddingX,
10
+ gap: selectTokens.select.sm.gap,
11
+ iconSize: selectTokens.select.sm.icon,
12
12
  };
13
13
  export const SELECT_TYPOGRAPHY = {
14
- fontSize: selectTokens.select.typography.fontSize,
15
- lineHeight: selectTokens.select.typography.lineHeight,
16
- fontWeight: selectTokens.select.typography.fontWeight,
14
+ fontSize: selectTokens.select.sm.typography.fontSize,
15
+ lineHeight: selectTokens.select.sm.typography.lineHeight,
16
+ fontWeight: selectTokens.select.sm.typography.fontWeight,
17
17
  };
18
18
  export const SELECT_COLORS = {
19
19
  icon: {
@@ -85,6 +85,12 @@ export const SEARCH_DEBOUNCE_MS = 1000;
85
85
  export const MAX_DROPDOWN_WIDTH = '640px';
86
86
  export const EMPTY_MESSAGE = '표시할 항목이 없습니다.';
87
87
  // ── Utilities ──
88
+ export function isHtmlLabel(label) {
89
+ return /<[a-z][\s\S]*>/i.test(label);
90
+ }
91
+ export function extractText(html) {
92
+ return html.replace(/<[^>]*>/g, '');
93
+ }
88
94
  export function countLeaves(options) {
89
95
  return options.reduce((sum, option) => {
90
96
  if (option.children) {
@@ -96,7 +102,8 @@ export function countLeaves(options) {
96
102
  export function filterTree(options, keyword) {
97
103
  const lowerKeyword = keyword.toLowerCase();
98
104
  return options.reduce((acc, option) => {
99
- const selfMatch = option.label.toLowerCase().includes(lowerKeyword);
105
+ const labelText = isHtmlLabel(option.label) ? extractText(option.label) : option.label;
106
+ const selfMatch = labelText.toLowerCase().includes(lowerKeyword);
100
107
  if (option.children) {
101
108
  // 그룹: 자식은 항상 추가로 필터링한다.
102
109
  // - 자식 중 일치하는 게 있으면 그 자식들만 노출
@@ -93,8 +93,7 @@ export class SdSelect {
93
93
  return this.value.label ?? '';
94
94
  }
95
95
  const flat = this.flattenOptions(this.options);
96
- const found = flat.find(o => o.value === this.value);
97
- return found?.label ?? '';
96
+ return flat.find(o => o.value === this.value)?.label ?? '';
98
97
  }
99
98
  flattenOptions(options) {
100
99
  return options.flatMap(o => (o.children ? this.flattenOptions(o.children) : [o]));
@@ -254,15 +253,15 @@ export class SdSelect {
254
253
  this.closeDropdown();
255
254
  },
256
255
  };
257
- 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: () => {
256
+ return (h("sd-field", { key: 'd3c3175067494715963592806a150bebadd8970c', 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: () => {
258
257
  this.hovered = true;
259
258
  }, onMouseLeave: () => {
260
259
  this.hovered = false;
261
- } }, h("div", { key: 'be596d399856ed966408ba1525fea9dbdf8fcc7e', class: "sd-select", ref: el => {
260
+ } }, h("div", { key: 'c291b661a968375c341d26ac48f7ff7fd4947e3e', class: "sd-select", ref: el => {
262
261
  this.triggerRef = el;
263
- } }, h("sd-select-trigger", { key: 'f8a29b1ac2469c60af8c7101d05157674566f00f', ref: el => {
262
+ } }, h("sd-select-trigger", { key: '45da184f72f989d9c6be05479fec7a616f168ddf', ref: el => {
264
263
  this.triggerComponentRef = el;
265
- }, 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) })))));
264
+ }, 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: 'bd7a612cf9ef74e157336a8de0170cebb61074dc', ...portalProps }, h("sd-select-listbox", { key: '8117fab3ef6b2f5f77e74a234c6b21dfc2549df1', 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) })))));
266
265
  }
267
266
  static get is() { return "sd-select"; }
268
267
  static get originalStyleUrls() {
@@ -40,7 +40,7 @@ export class SdSwitch {
40
40
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
41
41
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
42
42
  };
43
- 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)));
43
+ return (h("label", { key: '54ebe92b29a80537e2e4380ffe096a252f883d10', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: 'd18abbbf293434f07ae7dfa18b983b47cac1b774', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: '76fef910e632b541c0b33c508e6001529df5614f', class: "sd-switch__track" }, h("div", { key: 'a66f4ecca5787f00febe19216a93ec62916e0541', class: "sd-switch__knob" })), this.label && h("span", { key: '948d2b7afc6e171ee329752cb85f8e361f6bbed8', class: "sd-switch__label" }, this.label)));
44
44
  }
45
45
  static get is() { return "sd-switch"; }
46
46
  static get originalStyleUrls() {
@@ -818,24 +818,24 @@ export class SdTable {
818
818
  '--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
819
819
  '--table-host-height': hostHeight,
820
820
  };
821
- return (h(Host, { key: '57f92f3d10b928ca964c2ac9917f7dd64991591f', style: hostStyle }, h("div", { key: 'ea3de705492e1c6c7f99d251e9d6e07136c72ce1', class: "sd-table__container", style: {
821
+ return (h(Host, { key: '164ba96033be0195fa50e3d4d684059b9c471479', style: hostStyle }, h("div", { key: '2f1a1be73f86c72e7caa46981ee691d29bb237c7', class: "sd-table__container", style: {
822
822
  '--table-width': this.width,
823
823
  '--pagination-height': `${paginationHeight}px`,
824
- } }, h("div", { key: '12ef88f9b81c94980806038924b194d143d3895a', class: {
824
+ } }, h("div", { key: '16976d24d4c21714183f9691b06c503b86388c54', class: {
825
825
  'sd-table__wrapper': true,
826
826
  'sd-table__wrapper--use-top': this.useTop,
827
- } }, h("div", { key: 'b592db122ecf7f22903c9a49ebfb36138f7e18d6', class: {
827
+ } }, h("div", { key: 'fdd0dcfbff4c3a5e441d720d2e1a39a69c51f9cf', class: {
828
828
  'sd-table__scroll-container': true,
829
829
  'sd-table__scroll-container--loading': this.isLoading,
830
830
  'sd-table__scroll-container--no-data': isNoData,
831
- } }, this.isLoading && (h("div", { key: '5e6badf9334ed7390f19d3c5df7335ea0efa25c4', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '70bd57550b67c5d737bf8c6e7984703b963637f9', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: '280a829ddf5275c62a8310d3fe6914863e6b79d5', class: "sd-table__no-data-header-overlay" }), h("div", { key: '35f7584702b61c076ebcf61d16fedb30390e7cca', class: "sd-table__no-data" }, h("div", { key: 'a67af0bf322ebfa55fc515a63b6c299676fa4aa5', class: "sd-table__no-data-content", ref: el => {
831
+ } }, this.isLoading && (h("div", { key: 'facb26c0d1651d4a2a6e0dee5c1b8ca73586de89', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '844b92fc9fc38f95d51092b698b67b685bcba076', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: '458c8e24b85c0e7c99afe940c3d5856e63bc582a', class: "sd-table__no-data-header-overlay" }), h("div", { key: 'bd29a77ac11da7e5d513955a4c4baa0dd89a623d', class: "sd-table__no-data" }, h("div", { key: '7db0e8e3888e97638f3c78d560e844cc0f8b2944', class: "sd-table__no-data-content", ref: el => {
832
832
  this.noDataContentEl = el;
833
833
  if (el)
834
834
  this.syncNoDataContentObserver();
835
- } }, h("slot", { key: '5bc8cf68c461359358edddfa085ee4121d6a3c24', name: "no-data" }, h("span", { key: '01cb29dc03a084530ef47170515066da65110aa3' }, this.resolvedNoDataLabel)))))), h("table", { key: 'e0f05c5ceab477809b0b26ddf2dc7a3fc5963076', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
835
+ } }, h("slot", { key: 'fa175041907d4af7e5e0db7cad6e9a3e16e96901', name: "no-data" }, h("span", { key: '3fae3a23d86dc543502f74574a4b5c3f026b9992' }, this.resolvedNoDataLabel)))))), h("table", { key: '9ae98e0697e045b308f7e584fb496692acade8ba', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
836
836
  this.pagination.rowsPerPage > 0 &&
837
837
  this.rowCount > 0 &&
838
- !this.useVirtualScroll && (h("div", { key: '6f06c639cfc61e6be21ca9b598054ad17a07b879', class: "sd-table__pagination" }, h("sd-pagination", { key: '2edf2f1b0db1a34b080c82c99da5ff416fb6a325', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: '427db7075794819ebe0ce11e063480e87defc8b9', value: this.useInternalPagination
838
+ !this.useVirtualScroll && (h("div", { key: 'a0da779351490332035ec784bc301ea2cb017afd', class: "sd-table__pagination" }, h("sd-pagination", { key: '8c3bcd06e1644afaebabd3762cdb03900f727142', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: '4bff157ac6e0fb5efe03663d4bbf58d67f8308b6', value: this.useInternalPagination
839
839
  ? this.innerRowsPerPage
840
840
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
841
841
  if (!this.isRowsPerPageValue(e.detail))
@@ -45,9 +45,9 @@ export class SdTbody {
45
45
  }
46
46
  }
47
47
  render() {
48
- return (h(Host, { key: 'cee6094ac768af309c39500cb337d8516de6aabe', slot: `${this.tableId}-body` }, h("tbody", { key: '50d46c6b102900b18a96c1e345afb4185e59e0ae', class: { tbody: true } }, [
48
+ return (h(Host, { key: 'bc05db24c914d72f0480e0d6d9b594e21cf03153', slot: `${this.tableId}-body` }, h("tbody", { key: 'ba4eb8fcbc184bcd245f47093ca5acfacc3aebf3', class: { tbody: true } }, [
49
49
  this.topSpacerHeight > 0 && (h("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
50
- h("slot", { key: 'd4f8057c143b2f91146831fac2b4ba1162d36aeb' }),
50
+ h("slot", { key: '3c9d25b226dfb20b044a718416d3cdda13eff798' }),
51
51
  this.bottomSpacerHeight > 0 && (h("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
52
52
  ])));
53
53
  }
@@ -150,7 +150,7 @@ export class SdTd {
150
150
  }
151
151
  }
152
152
  render() {
153
- return (h(Host, { key: '1d7123e1f35cfb513a1fa89b4d60f8dde7715a2f', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: 'f7b9266106a6df93e2101ca9a324035960281a6f' })));
153
+ return (h(Host, { key: '95f97474c4d00a35085c558bf43593322a9f69e7', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: 'f67d1e8b125c10446dac3abdfa0da01bfb83f470' })));
154
154
  }
155
155
  static get is() { return "sd-td"; }
156
156
  static get originalStyleUrls() {
@@ -158,16 +158,16 @@ export class SdThead {
158
158
  '--table-border-color': TABLE_BORDER.color,
159
159
  '--table-border-width': `${TABLE_BORDER.width}px`,
160
160
  };
161
- return (h(Host, { key: '2b949f43561a2cd36b82de324d3d8c0d8a1d8431', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: '45918bfb1dc44bb0f45a0f1646bf2276b1ca74ec', class: {
161
+ return (h(Host, { key: '822abd0e5ff71d9e55b6478d56c9277009983deb', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: '7c690c49eb0d9be48637b8a6e92287fac22bf377', class: {
162
162
  'thead': true,
163
163
  'thead--sticky': this._stickyHeader,
164
- } }, h("tr", { key: '3802f86a730041ca405071b243a99c28e04558d2', class: "tr" }, this._selectable && (h("th", { key: 'd60e1323fca90516f38cedfa6fc8bf17840fad5d', class: {
164
+ } }, h("tr", { key: '81c64bb5b06d7e8525ebceaf6a229034e90f7a48', class: "tr" }, this._selectable && (h("th", { key: 'fe00535fb5cd54d053c17b3d3a6fa8869d483b8b', class: {
165
165
  'th': true,
166
166
  'th--selected': true,
167
167
  'sticky-left': true,
168
168
  'sticky-left-edge': stickyLeftCount === 0,
169
169
  'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
170
- }, 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: {
170
+ }, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: 'de1a3ddf9b3df06d8cc9b85431c31ff84b7b8218', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), h("div", { key: 'afe516ce212b24abcb075b6e6eb661ffcb6ce297', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
171
171
  'th': true,
172
172
  [`${col.thClass}`]: Boolean(col.thClass),
173
173
  'sticky-left': true,
@@ -115,4 +115,31 @@ sd-tabs .sd-tabs--sub .sd-tabs__label {
115
115
  }
116
116
  sd-tabs .sd-tabs--sub .sd-tabs__label::before {
117
117
  font-weight: var(--sd-tabs-sub-font-weight-default);
118
+ }
119
+ sd-tabs .sd-tabs--vertical {
120
+ flex-direction: column;
121
+ align-items: stretch;
122
+ width: fit-content;
123
+ border-bottom: none;
124
+ border-right: var(--sd-tabs-main-border-width) solid var(--sd-tabs-main-selected-border);
125
+ }
126
+ sd-tabs .sd-tabs--vertical .sd-tabs__tab {
127
+ justify-content: flex-start;
128
+ border-bottom: var(--sd-tabs-main-border-width) solid var(--sd-tabs-main-default-border);
129
+ border-right: none;
130
+ border-top-right-radius: 0;
131
+ border-bottom-left-radius: var(--sd-tabs-main-radius);
132
+ }
133
+ sd-tabs .sd-tabs--vertical .sd-tabs__tab--selected {
134
+ border-color: var(--sd-tabs-main-selected-border);
135
+ }
136
+ sd-tabs .sd-tabs--vertical.sd-tabs--sub {
137
+ gap: 16px;
138
+ border-right: none;
139
+ }
140
+ sd-tabs .sd-tabs--vertical.sd-tabs--sub .sd-tabs__tab {
141
+ justify-content: center;
142
+ width: 100%;
143
+ border: none;
144
+ border-radius: 0;
118
145
  }
@@ -5,6 +5,7 @@ export class SdTabs {
5
5
  tabs = [];
6
6
  size = 'md';
7
7
  isSub = false;
8
+ vertical = false;
8
9
  update;
9
10
  valueChanged(newValue) {
10
11
  this.value = newValue;
@@ -27,6 +28,8 @@ export class SdTabs {
27
28
  const classes = ['sd-tabs', `sd-tabs--${this.size ?? 'md'}`];
28
29
  if (this.isSub)
29
30
  classes.push('sd-tabs--sub');
31
+ if (this.vertical)
32
+ classes.push('sd-tabs--vertical');
30
33
  return classes.join(' ');
31
34
  }
32
35
  getBadgeName(tab) {
@@ -67,7 +70,7 @@ export class SdTabs {
67
70
  };
68
71
  }
69
72
  render() {
70
- return (h("div", { key: '92384577bf4ce85de90ae05a32e44715e595fe16', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
73
+ return (h("div", { key: '277188138dd50992b468b35f723cc3f852ad38c3', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
71
74
  const badgeName = this.getBadgeName(tab);
72
75
  return (h("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
73
76
  if (e.key === 'Enter' || e.key === ' ') {
@@ -180,6 +183,26 @@ export class SdTabs {
180
183
  "reflect": true,
181
184
  "attribute": "is-sub",
182
185
  "defaultValue": "false"
186
+ },
187
+ "vertical": {
188
+ "type": "boolean",
189
+ "mutable": false,
190
+ "complexType": {
191
+ "original": "boolean",
192
+ "resolved": "boolean",
193
+ "references": {}
194
+ },
195
+ "required": false,
196
+ "optional": false,
197
+ "docs": {
198
+ "tags": [],
199
+ "text": ""
200
+ },
201
+ "getter": false,
202
+ "setter": false,
203
+ "reflect": true,
204
+ "attribute": "vertical",
205
+ "defaultValue": "false"
183
206
  }
184
207
  };
185
208
  }
@@ -27,7 +27,7 @@ export class SdTag {
27
27
  render() {
28
28
  const config = this.resolvedConfig;
29
29
  const iconNode = this.renderIcon(config.icon, config.iconSize);
30
- return (h("span", { key: '945a8a13f4891b5174e48e262b2a108674da7198', class: "sd-tag", style: {
30
+ return (h("span", { key: 'f5dd5e267ffdde104f36ec7f19390357dbf03610', class: "sd-tag", style: {
31
31
  '--sd-tag-background': config.background,
32
32
  '--sd-tag-content': config.content,
33
33
  '--sd-tag-height': config.height,
@@ -37,7 +37,7 @@ export class SdTag {
37
37
  '--sd-tag-font-weight': config.fontWeight,
38
38
  '--sd-tag-line-height': config.lineHeight,
39
39
  '--sd-tag-radius': config.radius,
40
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '441932c2eb85eea471838db541fb95302527df23', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
40
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '53c649171b1bba53bf71bbf8f382c0678f1a3a6f', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
41
41
  }
42
42
  static get is() { return "sd-tag"; }
43
43
  static get originalStyleUrls() {
@@ -1,14 +1,14 @@
1
1
  import textLinkTokens from "../../tokens/generated/component.textLink.json";
2
2
  export const TEXT_LINK_LAYOUT = {
3
- gap: textLinkTokens.textLink.gap,
4
- iconSize: Number(textLinkTokens.textLink.size.icon),
3
+ gap: textLinkTokens.textLink.sm.gap,
4
+ iconSize: Number(textLinkTokens.textLink.sm.icon),
5
5
  arrowFrame: 16, // TODO: 토큰 반영 후 교체
6
6
  arrowIconSize: 12, // TODO: 토큰 반영 후 교체
7
7
  arrowColor: '#888888', // TODO: 토큰 반영 후 교체 (grey_65)
8
8
  };
9
9
  export const TEXT_LINK_TYPOGRAPHY = {
10
- default: textLinkTokens.textLink.typography.default,
11
- underline: textLinkTokens.textLink.typography.underline,
10
+ default: textLinkTokens.textLink.sm.typography.default,
11
+ underline: textLinkTokens.textLink.sm.typography.underline,
12
12
  };
13
13
  export const TEXT_LINK_COLORS = {
14
14
  content: textLinkTokens.textLink.content,
@@ -5,7 +5,7 @@ export class SdTextLink {
5
5
  icon = '';
6
6
  iconColor = '';
7
7
  labelClass = '';
8
- useArrow = false;
8
+ rightArrow = 'none';
9
9
  underline = false;
10
10
  disabled = false;
11
11
  click;
@@ -27,7 +27,7 @@ export class SdTextLink {
27
27
  '--sd-text-link-text-decoration': typo.textDecoration,
28
28
  ...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
29
29
  };
30
- return (h("span", { key: '23ddcce86220acc4e6c8a585e4240ecb7baee9f8', role: "button", tabindex: this.disabled ? -1 : 0, class: {
30
+ return (h("span", { key: '26955b1626c09a6712b42454c6fb057e3a28a5b5', role: "button", tabindex: this.disabled ? -1 : 0, class: {
31
31
  'sd-text-link': true,
32
32
  'sd-text-link--disabled': this.disabled,
33
33
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -35,13 +35,13 @@ export class SdTextLink {
35
35
  e.preventDefault();
36
36
  this.handleClick();
37
37
  }
38
- } }, this.icon && (h("sd-icon", { key: 'd265458a74db086efa270fd165fa5fa9855b708b', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '9cb7e5909036aea5b70496fbe5ca69ce10ab3035', class: labelClassName }, this.label), this.useArrow && (h("span", { key: '5ebe27c5929095d1799d81e930b2efa8d616f5bd', class: "sd-text-link__arrow", style: {
38
+ } }, this.icon && (h("sd-icon", { key: 'caa180d6b2cdc054c4c2becc486ac0bb5f1abdf7', name: this.icon, size: TEXT_LINK_LAYOUT.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '65940e935169cfc2fabe1b52ec8a70111f726519', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: 'e7c988784da2b38087f35a209f9bd912b742a688', class: "sd-text-link__arrow", style: {
39
39
  width: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
40
40
  height: `${TEXT_LINK_LAYOUT.arrowFrame}px`,
41
41
  display: 'inline-flex',
42
42
  alignItems: 'center',
43
43
  justifyContent: 'center',
44
- } }, h("sd-icon", { key: '5fc735391386ac733b77bfac6947cccc61fad198', name: "chevronRight", size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
44
+ } }, h("sd-icon", { key: '29da741e45513a6d33876c4ed4316cb6d6418266', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_LAYOUT.arrowIconSize, color: arrowColor })))));
45
45
  }
46
46
  static get is() { return "sd-text-link"; }
47
47
  static get originalStyleUrls() {
@@ -136,12 +136,12 @@ export class SdTextLink {
136
136
  "attribute": "label-class",
137
137
  "defaultValue": "''"
138
138
  },
139
- "useArrow": {
140
- "type": "boolean",
139
+ "rightArrow": {
140
+ "type": "string",
141
141
  "mutable": false,
142
142
  "complexType": {
143
- "original": "boolean",
144
- "resolved": "boolean",
143
+ "original": "'none' | 'chevron' | 'caret'",
144
+ "resolved": "\"caret\" | \"chevron\" | \"none\"",
145
145
  "references": {}
146
146
  },
147
147
  "required": false,
@@ -152,9 +152,9 @@ export class SdTextLink {
152
152
  },
153
153
  "getter": false,
154
154
  "setter": false,
155
- "reflect": true,
156
- "attribute": "use-arrow",
157
- "defaultValue": "false"
155
+ "reflect": false,
156
+ "attribute": "right-arrow",
157
+ "defaultValue": "'none'"
158
158
  },
159
159
  "underline": {
160
160
  "type": "boolean",
@@ -105,7 +105,7 @@ export class SdTextarea {
105
105
  '--sd-system-size-field-sm-height': 'auto',
106
106
  '--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
107
107
  };
108
- return (h("sd-field", { key: '1f1a6ed592df92b4aa0aacfbc1ba8926b93b7066', 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, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '63b4847968e5a1ceb309b7d0950da33927e25244', class: "sd-textarea__content" }, h("textarea", { key: '89d81a7792c3b5a4a1bcaa0f7bd73e0b3a0bd192', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
108
+ return (h("sd-field", { key: '2a1cd03e4f0fa5457b3164f1b6b71d808633414c', 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, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: 'b4e25ced8e583ed3d6e8a6026db0d3a2f198acb4', class: "sd-textarea__content" }, h("textarea", { key: '4faeceee380a7ab9a4ff337d16f46c4d7f42fa50', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
109
109
  }
110
110
  static get is() { return "sd-textarea"; }
111
111
  static get originalStyleUrls() {
@@ -17,12 +17,12 @@ export class SdToast {
17
17
  const linkColor = typeConfig.linkColor ?? typeConfig.content;
18
18
  const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
19
19
  const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
20
- return (h("div", { key: '735fa3f949ee4c7d0178f999c02e90c829c133b4', style: {
20
+ return (h("div", { key: '82c8063406a534e60c985d3c8321612077f75623', style: {
21
21
  '--sd-toast-bg': typeConfig.bg,
22
22
  '--sd-toast-text': typeConfig.content,
23
23
  '--sd-toast-icon': iconColor,
24
24
  '--sd-toast-link': linkColor,
25
- } }, h("div", { key: '4e483d858c3268bde838ddc5c5c9cb5065855326', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '007eded85c508bdd2da05b1c9d489ff2d03a4df9', class: "sd-toast__icon" }, h("sd-icon", { key: '099d5556f4b0a11f5162cb76a6166a2d662d9590', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '3825916248bc2385fe87c8aeb6d741b59738246f', class: "sd-toast__content" }, h("span", { key: 'fba817baf33179296f50d3fe4147cc99c38fbb83', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '39667765a9a72c761f0b464f78c7652e60e6dd16', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '3da2f9a5daf53de4400bfec79654b5795c3b6af4', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '2578d35dc11e06178c6902cb358bcdb8ccabbf36', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
25
+ } }, h("div", { key: 'e83c5b7ddc0edec3fb9e29325dcb52e3295fad4d', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: 'd249e5915f0c92a0a2cff43dee5c61d809ffc7f0', class: "sd-toast__icon" }, h("sd-icon", { key: '088da81d0083cc0ca72f2bf59392a72d3f2ed4de', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '5cad9a3a81b00d8926d92d9895c4cca1389dc63b', class: "sd-toast__content" }, h("span", { key: '1fbc72aac70fbb3bb630ad10343ea2c8f76f924c', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '769a85fa539bab8b478ef999cab615285a842085', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '77612614898b6abdade4b4599987cbb90bc09c4e', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '3bef6c0e7f3dec3f2b1f493f9c979a121bc897e9', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
26
26
  }
27
27
  static get is() { return "sd-toast"; }
28
28
  static get originalStyleUrls() {
@@ -216,7 +216,7 @@ export class SdToastContainer {
216
216
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
217
217
  const indexMap = new Map();
218
218
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
219
- return (h("div", { key: '1de55d255b75842f52e3f0a147a69493ed1a7de5', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
219
+ return (h("div", { key: '2b0bc86b7e2ea19a44f3c0b870ce5dec1de3a140', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
220
220
  this.expanded = true;
221
221
  this.pauseTimers();
222
222
  }, onMouseLeave: () => {
@@ -45,7 +45,7 @@ export class SdToggle {
45
45
  '--sd-toggle-content-select': TOGGLE_COLORS.content.select,
46
46
  '--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
47
47
  };
48
- return (h("label", { key: 'f1b1b68270d523f7f3e40c8145f35e93df269d73', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, h("input", { key: '7e07c190916e19ffe8744f6b491e92e6bf8efd36', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
48
+ return (h("label", { key: 'f61e80701bc85205794aec0c960965d29b94a247', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, h("input", { key: '26a31febfdae6bebe55291d3454a177366dc3db0', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
49
49
  }
50
50
  static get is() { return "sd-toggle"; }
51
51
  static get originalStyleUrls() {
@@ -84,14 +84,14 @@ export class SdTooltip {
84
84
  const hasLabel = this.label !== undefined && this.label !== '';
85
85
  const divTrigger = trigger === 'hover' ? hoverTrigger : hasLabel ? {} : { onClick: toggleTooltip };
86
86
  const buttonClickTrigger = trigger === 'click' && hasLabel ? { onSdClick: toggleTooltip } : {};
87
- return (h(Fragment, { key: '0ffbc5e61b4b5ab9bf1fda1c064de63c1467bb37' }, h("div", { key: 'c74bff7fde9c1f139435c2b37f69e7ee7492ec91', class: `sd-tooltip-trigger ${this.sdClass !== undefined && this.sdClass !== '' ? this.sdClass : ''}`, ...divTrigger }, hasLabel ? (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-tooltip", ...buttonClickTrigger })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (h("sd-floating-portal", { key: '3a83a7d7a33fbdd720a52149b2a156ecc72c087b', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, h("div", { key: 'abb63e4db76edae3df1d16d756e20a61284db87f', ref: el => (this.menuEl = el), class: {
87
+ return (h(Fragment, { key: 'dab010e285f9cf77097b2d18115d1c8dbb462933' }, h("div", { key: 'c49d1f8d55898cedc462fd321ab47d8a82360ae8', class: `sd-tooltip-trigger ${this.sdClass !== undefined && this.sdClass !== '' ? this.sdClass : ''}`, ...divTrigger }, hasLabel ? (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-tooltip", ...buttonClickTrigger })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (h("sd-floating-portal", { key: '53dbdd7df43e2eacf23c2e1b97bf901b225eab1e', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, h("div", { key: '3130ace8e25b783d49fde3b682249a8cf1783cde', ref: el => (this.menuEl = el), class: {
88
88
  'sd-floating-menu': true,
89
89
  [`sd-floating-menu--${tooltipType}`]: true,
90
90
  [`sd-floating-menu--${placement}`]: true,
91
91
  }, style: {
92
92
  '--sd-floating-bg': typeConfig.bg,
93
93
  '--sd-floating-content': typeConfig.content,
94
- }, onMouseEnter: () => this.show(), onMouseLeave: () => this.startHideTimer() }, h("i", { key: 'c29052cc7ed0e514ed27a7f576585d8865728cd4', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '9602237020591571cd76d3afa9e1c6383f7f421f' })), h("div", { key: '29091435fa3008eaf352b831eb4345ed9d6a5d86', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
94
+ }, onMouseEnter: () => this.show(), onMouseLeave: () => this.startHideTimer() }, h("i", { key: '2120f9056ef18218b2ba55d5c921fef9c9a04d67', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '557f9ae13f101416d962a84438690078fa7bd16f' })), h("div", { key: '54fb0f3cf0f228184f2eca54a5f3364084b6f834', class: "sd-floating-menu__content", innerHTML: this.slotContentHTML }))))));
95
95
  }
96
96
  static get is() { return "sd-tooltip"; }
97
97
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-pwNG5WaX.js";import{c as t}from"./p-DRVnqiWc.js";let n=null;function e(t,n){void 0!==n&&(void 0!==n.position&&t.setAttribute("position",n.position),null!=n.maxVisible&&t.setAttribute("max-visible",n.maxVisible+""),null!=n.defaultDuration&&t.setAttribute("default-duration",n.defaultDuration+""),null!=n.zIndex&&t.setAttribute("z-index",n.zIndex+""))}function o(t){return n&&document.body.contains(n)?(e(n,t),n):(n=document.createElement("sd-toast-container"),e(n,t),document.body.appendChild(n),n)}function i(t){return"function"==typeof t.create?Promise.resolve():new Promise((n=>{const e=()=>{"function"==typeof t.create?n():requestAnimationFrame(e)};requestAnimationFrame(e)}))}const c={async create(t,n,e){const{globalOptions:s,...r}=e??{},c=o(s);return await i(c),c.create({message:t,type:n,...r})},async dismiss(t){if(null!=n)return await i(n),n.dismiss(t)},async dismissAll(){if(null!=n)return await i(n),n.dismissAll()},configure(t){o(t)}},u="sd-modal-container";let d=null;const l={ok:"confirm",cancel:"cancel",close:"close"};class m{modalId;okFn;cancelFn;closeFn;clickFn;dismissedFn;containerRef;pendingActions=[];dismissRequested=!1;constructor(t,n){this.modalId=t,this.containerRef=n}onOk(t){return this.okFn=t,this}onCancel(t){return this.cancelFn=t,this}onClose(t){return this.closeFn=t,this}onClick(t){return this.clickFn=t,this}onDismissed(t){return this.dismissedFn=t,this}update(t){return this.runOrQueue((()=>{this.containerRef?.update(this.modalId,t)})),this}ok(){return this.dismiss("ok")}cancel(){return this.dismiss("cancel")}close(){return this.dismiss("close")}dismiss(t="close"){if(this.dismissRequested)return this;this.dismissRequested=!0;const n=l[t];return this.runOrQueue((()=>{this.containerRef?.dismissById(this.modalId,n)})),this}_triggerOk(){this.okFn?.()}_triggerCancel(){this.cancelFn?.()}_triggerClose(){this.closeFn?.()}_triggerClick(){this.clickFn?.()}_triggerDismissed(){this.dismissedFn?.()}_setId(t){this.modalId=t;const n=[...this.pendingActions];this.pendingActions=[],n.forEach((t=>t()))}_setContainer(t){this.containerRef=t}runOrQueue(t){""===this.modalId||null==this.containerRef?this.pendingActions.push(t):t()}}function f(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdModal] Browser APIs are unavailable. Use `sdModal` only on the client.")}function h(){if(f(),function(){if(!customElements.get(u))throw Error("[sdModal] `sd-modal-container` is not registered. Call `defineCustomElements(window)` before using `sdModal`.")}(),d&&d.isConnected)return d;const t=document.createElement(u);return t.setAttribute("auto-remove",""),document.body.appendChild(t),d=t,t}async function w(t){if(await customElements.whenDefined(u),"function"==typeof t.open)return Promise.resolve();throw Error("[sdModal] `sd-modal-container` is registered but not ready to open dialogs.")}function p(){return new m("")}function y(t,n){const{component:e,persistent:s}=n,o=h(),i={persistent:s};t._setContainer(o),w(o).then((async()=>{const n=await o.createCustom(e,i,t);t._setId(n)}))}const E={confirm(t){const n=h(),e=new m("",n);return w(n).then((async()=>{const s=await n.open(t,e);e._setId(s)})),e},loading(t={}){const n=h(),e=new m("",n);return w(n).then((async()=>{const s=await n.openLoading(t,e);e._setId(s)})),e},create(t){const n=p();return y(n,t),n},configure(n){f(),t(n)}},C="sd-loading-container";let k=null;async function A(t){const n=(function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdLoading] Browser APIs are unavailable. Use `sdLoading` only on the client.")}(),function(){if(!customElements.get(C))throw Error("[sdLoading] `sd-loading-container` is not registered. Call `defineCustomElements(window)` before using `sdLoading`.")}(),k&&document.body.contains(k)||(k=document.createElement(C),document.body.appendChild(k)),k);await customElements.whenDefined(C),t(n)}const P={show(t={}){A((n=>{n.show?.(t)}))},hide(){k&&A((t=>{t.hide?.()}))}};export{y as _attachSdModalWithRef,p as _createSdModalRef,P as sdLoading,E as sdModal,c as sdToast}
1
+ export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-siTDlOb6.js";import{c as t}from"./p-DRVnqiWc.js";let n=null;function e(t,n){void 0!==n&&(void 0!==n.position&&t.setAttribute("position",n.position),null!=n.maxVisible&&t.setAttribute("max-visible",n.maxVisible+""),null!=n.defaultDuration&&t.setAttribute("default-duration",n.defaultDuration+""),null!=n.zIndex&&t.setAttribute("z-index",n.zIndex+""))}function i(t){return n&&document.body.contains(n)?(e(n,t),n):(n=document.createElement("sd-toast-container"),e(n,t),document.body.appendChild(n),n)}function o(t){return"function"==typeof t.create?Promise.resolve():new Promise((n=>{const e=()=>{"function"==typeof t.create?n():requestAnimationFrame(e)};requestAnimationFrame(e)}))}const c={async create(t,n,e){const{globalOptions:s,...r}=e??{},c=i(s);return await o(c),c.create({message:t,type:n,...r})},async dismiss(t){if(null!=n)return await o(n),n.dismiss(t)},async dismissAll(){if(null!=n)return await o(n),n.dismissAll()},configure(t){i(t)}},u="sd-modal-container";let d=null;const l={ok:"confirm",cancel:"cancel",close:"close"};class m{modalId;okFn;cancelFn;closeFn;clickFn;dismissedFn;containerRef;pendingActions=[];dismissRequested=!1;constructor(t,n){this.modalId=t,this.containerRef=n}onOk(t){return this.okFn=t,this}onCancel(t){return this.cancelFn=t,this}onClose(t){return this.closeFn=t,this}onClick(t){return this.clickFn=t,this}onDismissed(t){return this.dismissedFn=t,this}update(t){return this.runOrQueue((()=>{this.containerRef?.update(this.modalId,t)})),this}ok(){return this.dismiss("ok")}cancel(){return this.dismiss("cancel")}close(){return this.dismiss("close")}dismiss(t="close"){if(this.dismissRequested)return this;this.dismissRequested=!0;const n=l[t];return this.runOrQueue((()=>{this.containerRef?.dismissById(this.modalId,n)})),this}_triggerOk(){this.okFn?.()}_triggerCancel(){this.cancelFn?.()}_triggerClose(){this.closeFn?.()}_triggerClick(){this.clickFn?.()}_triggerDismissed(){this.dismissedFn?.()}_setId(t){this.modalId=t;const n=[...this.pendingActions];this.pendingActions=[],n.forEach((t=>t()))}_setContainer(t){this.containerRef=t}runOrQueue(t){""===this.modalId||null==this.containerRef?this.pendingActions.push(t):t()}}function f(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdModal] Browser APIs are unavailable. Use `sdModal` only on the client.")}function h(){if(f(),function(){if(!customElements.get(u))throw Error("[sdModal] `sd-modal-container` is not registered. Call `defineCustomElements(window)` before using `sdModal`.")}(),d&&d.isConnected)return d;const t=document.createElement(u);return t.setAttribute("auto-remove",""),document.body.appendChild(t),d=t,t}async function w(t){if(await customElements.whenDefined(u),"function"==typeof t.open)return Promise.resolve();throw Error("[sdModal] `sd-modal-container` is registered but not ready to open dialogs.")}function p(){return new m("")}function y(t,n){const{component:e,persistent:s}=n,i=h(),o={persistent:s};t._setContainer(i),w(i).then((async()=>{const n=await i.createCustom(e,o,t);t._setId(n)}))}const E={confirm(t){const n=h(),e=new m("",n);return w(n).then((async()=>{const s=await n.open(t,e);e._setId(s)})),e},loading(t={}){const n=h(),e=new m("",n);return w(n).then((async()=>{const s=await n.openLoading(t,e);e._setId(s)})),e},create(t){const n=p();return y(n,t),n},configure(n){f(),t(n)}},C="sd-loading-container";let k=null;async function A(t){const n=(function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof customElements)throw Error("[sdLoading] Browser APIs are unavailable. Use `sdLoading` only on the client.")}(),function(){if(!customElements.get(C))throw Error("[sdLoading] `sd-loading-container` is not registered. Call `defineCustomElements(window)` before using `sdLoading`.")}(),k&&document.body.contains(k)||(k=document.createElement(C),document.body.appendChild(k)),k);await customElements.whenDefined(C),t(n)}const P={show(t={}){A((n=>{n.show?.(t)}))},hide(){k&&A((t=>{t.hide?.()}))}};export{y as _attachSdModalWithRef,p as _createSdModalRef,P as sdLoading,E as sdModal,c as sdToast}
@@ -0,0 +1 @@
1
+ import{p as t,H as s,c as e,h as i,t as h}from"./p-siTDlOb6.js";import{c as o,d as r,f as l,i as n,e as c,E as d,g as a}from"./p-C5wgHjtx.js";import{d as u}from"./p-CFL9Rfh8.js";import{d as m}from"./p-BNkExhYB.js";import{d as p}from"./p-DmbwfZF7.js";import{d as f}from"./p-NaAHdFVI.js";const x=t(class t extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.optionSelect=e(this,"sdOptionSelect",7)}type="default";options=[];value=null;emitValue=!1;useSearch=!1;useSelectAll=!1;triggerWidth="200px";maxWidth="640px";maxHeight="260px";searchKeyword="";isScrolled=!1;focusedIndex=-1;optionSelect;listEl;lastScrolledIndex=-1;keydownAttached=!1;suppressHover=!1;get isDepth(){return"default_depth"===this.type||"multi_depth"===this.type}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}static SELECT_ALL_OPTION={value:"__select_all__",label:"전체"};get showSelectAll(){return this.useSelectAll&&this.isMulti&&this.getAllNonDisabledLeaves().length>0}getAllNonDisabledLeaves(){const t=s=>s.flatMap((s=>s.disabled?[]:s.children?t(s.children):[s]));return t(this.options)}get selectAllState(){if(!this.showSelectAll)return!1;const t=this.getAllNonDisabledLeaves();if(0===t.length)return!1;const s=this.getSelectedValues(),e=t.filter((t=>s.has(t.value))).length;return 0!==e&&(e===t.length||null)}get showSearch(){return!!this.useSearch&&(this.isDepth?o(this.options):this.options.length)>=r}get filteredOptions(){if(""===this.searchKeyword)return this.options;if(this.isDepth)return l(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((s=>(n(s.label)?c(s.label):s.label).toLowerCase().includes(t)))}get isEmpty(){return this.isDepth?0===o(this.filteredOptions)&&0===this.filteredOptions.length:0===this.filteredOptions.length}getSelectedValues(){return null!=this.value&&Array.isArray(this.value)?this.emitValue?new Set(this.value):new Set(this.value.map((t=>t.value))):new Set}isOptionSelected(t){return this.isMulti?this.getSelectedValues().has(t.value):this.emitValue||null==this.value||"object"!=typeof this.value||Array.isArray(this.value)?this.value===t.value:this.value.value===t.value}getGroupSelectionState(t){if(!this.isMulti||!t.children)return!1;const s=this.getSelectedValues();if(0===s.size)return!1;const e=this.collectVisibleLeaves(t);if(0===e.length)return!1;const i=e.filter((t=>s.has(t.value))).length;return 0!==i&&(i===e.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const s=this.getSelectedValues(),e=this.collectVisibleLeaves(t);return{selected:e.filter((t=>s.has(t.value))).length,total:e.length}}findOriginalOption(t,s){for(const e of s){if(e.value===t)return e;if(e.children){const s=this.findOriginalOption(t,e.children);if(s)return s}}}collectLeaves(t){return t.children?t.children.flatMap((t=>this.collectLeaves(t))):[t]}collectVisibleLeaves(t){if(t.disabled)return[];if(!t.children)return[t];if(0===t.children.length){const s=this.findOriginalOption(t.value,this.options);return s?this.collectLeaves(s).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const s=[];this.showSelectAll&&s.push(t.SELECT_ALL_OPTION);const e=t=>{for(const i of t){const t=!!i.children;(!t||this.isMulti)&&!i.disabled&&s.push(i),t&&i.children&&i.children.length>0&&e(i.children)}};return e(this.filteredOptions),s}isSelectAllOption(s){return this.showSelectAll&&s.value===t.SELECT_ALL_OPTION.value}emitSelectAll(){if(!this.showSelectAll)return;const s=this.getAllNonDisabledLeaves();this.optionSelect.emit({option:{...t.SELECT_ALL_OPTION,children:s},leaves:s})}handleSelectAllClick=t=>{t.stopPropagation(),this.emitSelectAll()};isOptionFocused(t){if(this.focusedIndex<0)return!1;const s=this.navigableOptions[this.focusedIndex];return null!=s&&s.value===t.value}resetFocusOnFilter(){this.focusedIndex=this.navigableOptions.length>0?0:-1,this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}handleSearchFilter=t=>{this.searchKeyword=t.detail};handleScroll=t=>{this.isScrolled=t.target.scrollTop>0};emitOptionSelect(t){this.optionSelect.emit({option:t,leaves:this.collectVisibleLeaves(t)})}handleOptionClick=t=>{t.stopPropagation(),this.emitOptionSelect(t.detail)};handleOptionHover=t=>{if(this.suppressHover)return;const s=this.navigableOptions.findIndex((s=>s.value===t.value));s>=0&&(this.focusedIndex=s)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const s=this.navigableOptions;if("ArrowDown"===t.key){if(0===s.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%s.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===s.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?s.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=s.length)return;t.preventDefault(),t.stopPropagation();const e=s[this.focusedIndex];this.isSelectAllOption(e)?this.emitSelectAll():this.emitOptionSelect(e)}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,s=t?.querySelector(".sd-select-list-item--focused");if(!t||!s)return;const e=t.getBoundingClientRect(),i=s.getBoundingClientRect();i.top<e.top?t.scrollTop+=i.top-e.top:i.bottom>e.bottom&&(t.scrollTop+=i.bottom-e.bottom)}connectedCallback(){this.keydownAttached||(document.addEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!0)}disconnectedCallback(){this.keydownAttached&&(document.removeEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!1),this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}componentDidRender(){this.focusedIndex!==this.lastScrolledIndex&&(this.lastScrolledIndex=this.focusedIndex,this.focusedIndex>=0&&this.scrollFocusedIntoView())}renderOptions(t,s=1){return t.map((t=>{const e=!!t.children;return[i("sd-select-list-item",{option:t,depth:s,isSelected:e?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),e&&t.children?this.renderOptions(t.children,s+1):null]}))}render(){return i("div",{key:"6c2cbad13f8aaa8c0552068c7cbc35a147bee77d",class:"sd-select-listbox",style:{"--listbox-trigger-width":this.triggerWidth??"200px","--listbox-max-width":this.maxWidth??"640px","--listbox-max-height":this.maxHeight??"260px","--listbox-radius":`${a.radius}px`}},this.showSearch&&i("sd-select-list-item-search",{key:"052d783e27e2458aa397c77fe891dad4a440f09e",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"bba95f3c4475d01a65562ba079c8666e3325195d",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"2f55bbacbed71952903599db0739773176ac55fd",option:t.SELECT_ALL_OPTION,depth:1,isSelected:this.selectAllState,isFocused:this.isOptionFocused(t.SELECT_ALL_OPTION),useCheckbox:!0,onSdListItemClick:this.handleSelectAllClick,onMouseEnter:()=>this.handleOptionHover(t.SELECT_ALL_OPTION)}),this.isEmpty?i("div",{class:"sd-select-listbox__empty"},d):this.isDepth?this.renderOptions(this.filteredOptions):this.filteredOptions.map((t=>i("sd-select-list-item",{option:t,depth:1,isSelected:this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)})))))}static get watchers(){return{searchKeyword:[{resetFocusOnFilter:0}]}}static get style(){return":host{display:block}:host .sd-select-listbox{display:flex;flex-direction:column;width:var(--listbox-trigger-width);max-width:var(--listbox-max-width);max-height:var(--listbox-max-height);border-radius:var(--listbox-radius);background:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);overflow:hidden;outline:none}:host .sd-select-listbox__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:0}:host .sd-select-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}"}},[513,"sd-select-listbox",{type:[1],options:[16],value:[8],emitValue:[4,"emit-value"],useSearch:[4,"use-search"],useSelectAll:[4,"use-select-all"],triggerWidth:[1,"trigger-width"],maxWidth:[1,"max-width"],maxHeight:[1,"max-height"],searchKeyword:[32],isScrolled:[32],focusedIndex:[32]},void 0,{searchKeyword:[{resetFocusOnFilter:0}]}]);function b(){"undefined"!=typeof customElements&&["sd-select-listbox","sd-checkbox","sd-icon","sd-select-list-item","sd-select-list-item-search"].forEach((t=>{switch(t){case"sd-select-listbox":customElements.get(h(t))||customElements.define(h(t),x);break;case"sd-checkbox":customElements.get(h(t))||u();break;case"sd-icon":customElements.get(h(t))||m();break;case"sd-select-list-item":customElements.get(h(t))||p();break;case"sd-select-list-item-search":customElements.get(h(t))||f()}}))}export{x as S,b as d}