@sellmate/design-system 1.0.61 → 1.0.63

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 (511) hide show
  1. package/dist/cjs/{component.modal-DmQUWbve.js → component.modal-BFelrSMx.js} +14 -0
  2. package/dist/cjs/constants-DJRV1upE.js +5 -0
  3. package/dist/cjs/design-system.cjs.js +3 -4
  4. package/dist/cjs/{index-BQt-JC6r.js → index-nsQP24mV.js} +130 -9
  5. package/dist/cjs/index.cjs.js +103 -32
  6. package/dist/cjs/loader.cjs.js +3 -4
  7. package/dist/cjs/sd-action-modal.cjs.entry.js +3 -3
  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-v2_2.cjs.entry.js +9 -8
  11. package/dist/cjs/sd-button_4.cjs.entry.js +56 -18
  12. package/dist/cjs/sd-calendar.cjs.entry.js +1 -1
  13. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-checkbox.cjs.entry.js +30 -5
  15. package/dist/cjs/sd-circle-progress.cjs.entry.js +71 -0
  16. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +186 -0
  17. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  18. package/dist/cjs/sd-date-picker-calendar.cjs.entry.js +3 -3
  19. package/dist/cjs/sd-date-picker-trigger.cjs.entry.js +4 -4
  20. package/dist/cjs/sd-date-picker.cjs.entry.js +4 -4
  21. package/dist/cjs/{sd-date-picker.config-DWC_aiD2.js → sd-date-picker.config-D8xSALVj.js} +3 -3
  22. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +3 -3
  23. package/dist/cjs/sd-date-range-picker.cjs.entry.js +4 -4
  24. package/dist/cjs/sd-dropdown-button.cjs.entry.js +10 -5
  25. package/dist/cjs/sd-file-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-ghost-button.cjs.entry.js +15 -6
  28. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  29. package/dist/cjs/sd-input_2.cjs.entry.js +7 -7
  30. package/dist/cjs/sd-loading-container.cjs.entry.js +29 -0
  31. package/dist/cjs/sd-modal-container.cjs.entry.js +45 -2
  32. package/dist/cjs/sd-number-input.cjs.entry.js +5 -10
  33. package/dist/cjs/{sd-select-v2.cjs.entry.js → sd-pagination_2.cjs.entry.js} +90 -4
  34. package/dist/cjs/sd-popover.cjs.entry.js +4 -4
  35. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  36. package/dist/cjs/sd-progress.cjs.entry.js +3 -3
  37. package/dist/cjs/sd-radio-button.cjs.entry.js +182 -0
  38. package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
  39. package/dist/cjs/sd-radio.cjs.entry.js +6 -6
  40. package/dist/cjs/sd-select-dropdown_2.cjs.entry.js +4 -4
  41. package/dist/cjs/sd-select-group.cjs.entry.js +3 -3
  42. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +2 -2
  43. package/dist/cjs/sd-select-multiple.cjs.entry.js +3 -3
  44. package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
  45. package/dist/cjs/sd-select-v2-list-item_4.cjs.entry.js +661 -0
  46. package/dist/cjs/sd-select.cjs.entry.js +179 -0
  47. package/dist/cjs/sd-switch.cjs.entry.js +110 -0
  48. package/dist/cjs/sd-table.cjs.entry.js +424 -651
  49. package/dist/cjs/sd-tabs.cjs.entry.js +3 -3
  50. package/dist/cjs/sd-tag.cjs.entry.js +6 -5
  51. package/dist/cjs/sd-tbody.cjs.entry.js +66 -0
  52. package/dist/cjs/sd-td.cjs.entry.js +58 -0
  53. package/dist/cjs/sd-text-link.cjs.entry.js +10 -12
  54. package/dist/cjs/sd-textarea.cjs.entry.js +2 -2
  55. package/dist/cjs/sd-thead.cjs.entry.js +179 -0
  56. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  57. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  58. package/dist/cjs/sd-toggle.cjs.entry.js +96 -13
  59. package/dist/cjs/sd-tr.cjs.entry.js +171 -0
  60. package/dist/cjs/table-test.cjs.entry.js +96 -0
  61. package/dist/cjs/{tooltipArrow-CRCpqOYA.js → tooltipArrow-DhevfDPX.js} +1 -1
  62. package/dist/collection/__mocks__/nanoid-non-secure.js +13 -0
  63. package/dist/collection/__mocks__/nanoid.js +1 -0
  64. package/dist/collection/collection-manifest.json +11 -4
  65. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  66. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  67. package/dist/collection/components/sd-barcode-input/sd-barcode-input.css +3 -0
  68. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  69. package/dist/collection/components/sd-button/sd-button.css +37 -37
  70. package/dist/collection/components/sd-button-v2/sd-button-v2.css +44 -44
  71. package/dist/collection/components/sd-button-v2/sd-button-v2.js +31 -6
  72. package/dist/collection/components/sd-card/sd-card.js +1 -1
  73. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +3 -0
  74. package/dist/collection/components/sd-checkbox/sd-checkbox.css +15 -0
  75. package/dist/collection/components/sd-checkbox/sd-checkbox.js +36 -2
  76. package/dist/collection/components/sd-circle-progress/sd-circle-progress.config.js +24 -0
  77. package/dist/collection/components/sd-circle-progress/sd-circle-progress.css +53 -0
  78. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +109 -0
  79. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +2 -2
  80. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  81. package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +1 -1
  82. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  83. package/dist/collection/components/sd-date-picker/sd-date-picker.config.js +1 -1
  84. package/dist/collection/components/sd-date-picker/sd-date-picker.js +5 -5
  85. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  86. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +5 -5
  87. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +5 -0
  88. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +46 -36
  89. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +4 -4
  90. package/dist/collection/components/sd-field/sd-field.config.js +21 -0
  91. package/dist/collection/components/sd-field/sd-field.css +19 -16
  92. package/dist/collection/components/sd-field/sd-field.js +46 -11
  93. package/dist/collection/components/sd-file-picker/sd-file-picker.js +5 -5
  94. package/dist/collection/components/sd-ghost-button/sd-ghost-button.config.js +7 -1
  95. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +3 -3
  96. package/dist/collection/components/sd-guide/sd-guide.css +37 -37
  97. package/dist/collection/components/sd-input/sd-input.css +3 -0
  98. package/dist/collection/components/sd-input/sd-input.js +2 -2
  99. package/dist/collection/components/sd-loading-container/sd-loading-container.config.js +1 -0
  100. package/dist/collection/components/sd-loading-container/sd-loading-container.css +40 -0
  101. package/dist/collection/components/sd-loading-container/sd-loading-container.js +83 -0
  102. package/dist/collection/components/sd-loading-modal/sd-loading-modal.config.js +31 -0
  103. package/dist/collection/components/sd-loading-modal/sd-loading-modal.css +37 -0
  104. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +184 -0
  105. package/dist/collection/components/sd-modal-container/sd-modal-container.js +89 -3
  106. package/dist/collection/components/sd-number-input/sd-number-input.config.js +0 -2
  107. package/dist/collection/components/sd-number-input/sd-number-input.css +0 -1
  108. package/dist/collection/components/sd-number-input/sd-number-input.js +3 -4
  109. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  110. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  111. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  112. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  113. package/dist/collection/components/sd-radio/sd-radio.config.js +1 -1
  114. package/dist/collection/components/sd-radio-button/sd-radio-button.config.js +45 -0
  115. package/dist/collection/components/sd-radio-button/sd-radio-button.css +71 -0
  116. package/dist/collection/components/{sd-radio-button-group/sd-radio-button-group.js → sd-radio-button/sd-radio-button.js} +49 -18
  117. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +2 -2
  118. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  119. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +3 -3
  120. package/dist/collection/components/sd-select/sd-select.css +4 -0
  121. package/dist/collection/components/sd-select-group/sd-select-group.css +4 -0
  122. package/dist/collection/components/sd-select-group/sd-select-group.js +1 -1
  123. package/dist/collection/components/sd-select-multiple/sd-select-multiple.css +4 -0
  124. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +1 -1
  125. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +4 -0
  126. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  127. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.js +2 -2
  128. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.css +4 -0
  129. package/dist/collection/components/sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.js +6 -3
  130. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.css +2 -3
  131. package/dist/collection/components/sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js +2 -1
  132. package/dist/collection/components/sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js +2 -2
  133. package/dist/collection/components/sd-select-v2/sd-select-v2.config.js +1 -0
  134. package/dist/collection/components/sd-select-v2/sd-select-v2.js +3 -3
  135. package/dist/collection/components/sd-switch/sd-switch.config.js +23 -0
  136. package/dist/collection/components/sd-switch/sd-switch.css +54 -0
  137. package/dist/collection/components/{sd-toggle-button/sd-toggle-button.js → sd-switch/sd-switch.js} +30 -27
  138. package/dist/collection/components/sd-table/constants.js +1 -0
  139. package/dist/collection/components/sd-table/sd-table.css +76 -248
  140. package/dist/collection/components/sd-table/sd-table.js +705 -700
  141. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +18 -0
  142. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +105 -0
  143. package/dist/collection/components/sd-table/sd-td/sd-td.css +15 -0
  144. package/dist/collection/components/sd-table/sd-td/sd-td.js +121 -0
  145. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +147 -0
  146. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +442 -0
  147. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +111 -0
  148. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +376 -0
  149. package/dist/collection/components/sd-tabs/sd-tabs.css +2 -1
  150. package/dist/collection/components/sd-tabs/sd-tabs.js +3 -3
  151. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  152. package/dist/collection/components/sd-text-link/sd-text-link.css +1 -0
  153. package/dist/collection/components/sd-text-link/sd-text-link.js +7 -13
  154. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  155. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  156. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  157. package/dist/collection/components/sd-toggle/sd-toggle.config.js +33 -0
  158. package/dist/collection/components/sd-toggle/sd-toggle.css +38 -50
  159. package/dist/collection/components/sd-toggle/sd-toggle.js +29 -12
  160. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  161. package/dist/collection/components/table-test/table-test.css +59 -0
  162. package/dist/collection/components/table-test/table-test.js +316 -0
  163. package/dist/collection/index.js +1 -0
  164. package/dist/collection/utils/loading.js +43 -0
  165. package/dist/collection/utils/modal.js +26 -0
  166. package/dist/components/index.js +1 -1
  167. package/dist/components/p-6LkBUj0w.js +1 -0
  168. package/dist/components/{p-DlujHEXS.js → p-6cueWz-l.js} +1 -1
  169. package/dist/components/{p-D0wZv01W.js → p-AKpbKrkW.js} +1 -1
  170. package/dist/components/p-B1S4ybd6.js +1 -0
  171. package/dist/components/{p-D93Cb_Vw.js → p-B6OgnOKC.js} +1 -1
  172. package/dist/components/{p-lKwhftf9.js → p-B6RvTdqt.js} +1 -1
  173. package/dist/components/p-BLC3AWW8.js +1 -0
  174. package/dist/components/{p-BUAwjF_Z.js → p-BZ7V5xV5.js} +1 -1
  175. package/dist/components/{p-BWgJ9XTj.js → p-BdsI1E5l.js} +1 -1
  176. package/dist/components/{p-DdBIc8AE.js → p-BgRPWxrz.js} +1 -1
  177. package/dist/components/{p-DCv5afjJ.js → p-Bh548Ckv.js} +1 -1
  178. package/dist/components/p-C2r48NLP.js +1 -0
  179. package/dist/components/{p-BtH5wWA5.js → p-CGXwtYAv.js} +1 -1
  180. package/dist/components/p-CGssy8eb.js +1 -0
  181. package/dist/components/{p-BHQirDZt.js → p-CRl8Anfr.js} +1 -1
  182. package/dist/components/p-CU095QAR.js +1 -0
  183. package/dist/components/p-CpclstHV.js +1 -0
  184. package/dist/components/{p-C2Yw3PoX.js → p-Cpu_hXwN.js} +1 -1
  185. package/dist/components/{p-gTPCqs3t.js → p-Cr_74QR7.js} +1 -1
  186. package/dist/components/{p-BsJy4pgR.js → p-D9FDutsj.js} +1 -1
  187. package/dist/components/p-DBnszF5F.js +1 -0
  188. package/dist/components/p-DOXMJi-V.js +1 -0
  189. package/dist/components/p-DRY8HJ-T.js +1 -0
  190. package/dist/components/{p-BVBMsoZP.js → p-DUqX35W_.js} +1 -1
  191. package/dist/components/{p-Ci3yfjxH.js → p-DgYBr7xb.js} +1 -1
  192. package/dist/components/{p-98NWgkAU.js → p-DpsDTjcN.js} +1 -1
  193. package/dist/components/p-DuYi4aqj.js +1 -0
  194. package/dist/components/{p-AdSqif48.js → p-DxzgCf_d.js} +1 -1
  195. package/dist/components/p-TMuoVuhE.js +1 -0
  196. package/dist/components/{p-CE1Hmoij.js → p-VXLJLI30.js} +1 -1
  197. package/dist/components/p-aC4HJHug.js +1 -0
  198. package/dist/components/p-bYCOh35g.js +1 -0
  199. package/dist/components/p-e35Du7-7.js +1 -0
  200. package/dist/components/p-e8HA30H_.js +1 -0
  201. package/dist/components/p-kZ5N_lFC.js +1 -0
  202. package/dist/components/{p-CqU3a1re.js → p-puZ1xlrr.js} +1 -1
  203. package/dist/components/p-sZMi_32I.js +1 -0
  204. package/dist/components/sd-action-modal.js +1 -1
  205. package/dist/components/sd-badge.js +1 -1
  206. package/dist/components/sd-barcode-input.js +1 -1
  207. package/dist/components/sd-button-v2.js +1 -1
  208. package/dist/components/sd-button.js +1 -1
  209. package/dist/components/sd-calendar.js +1 -1
  210. package/dist/components/sd-card.js +1 -1
  211. package/dist/components/sd-checkbox.js +1 -1
  212. package/dist/components/{sd-loading-spinner.d.ts → sd-circle-progress.d.ts} +4 -4
  213. package/dist/components/sd-circle-progress.js +1 -0
  214. package/dist/components/sd-confirm-modal.js +1 -1
  215. package/dist/components/sd-date-box.js +1 -1
  216. package/dist/components/sd-date-picker-calendar.js +1 -1
  217. package/dist/components/sd-date-picker-trigger.js +1 -1
  218. package/dist/components/sd-date-picker.js +1 -1
  219. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  220. package/dist/components/sd-date-range-picker.js +1 -1
  221. package/dist/components/sd-dropdown-button.js +1 -1
  222. package/dist/components/sd-field.js +1 -1
  223. package/dist/components/sd-file-picker.js +1 -1
  224. package/dist/components/sd-floating-portal.js +1 -1
  225. package/dist/components/sd-form.js +1 -1
  226. package/dist/components/sd-ghost-button.js +1 -1
  227. package/dist/components/sd-guide.js +1 -1
  228. package/dist/components/sd-icon.js +1 -1
  229. package/dist/components/sd-input.js +1 -1
  230. package/dist/components/{sd-radio-button-group.d.ts → sd-loading-container.d.ts} +4 -4
  231. package/dist/components/sd-loading-container.js +1 -0
  232. package/dist/components/{sd-toggle-button.d.ts → sd-loading-modal.d.ts} +4 -4
  233. package/dist/components/sd-loading-modal.js +1 -0
  234. package/dist/components/sd-modal-container.js +1 -1
  235. package/dist/components/sd-number-input.js +1 -1
  236. package/dist/components/sd-pagination.js +1 -1
  237. package/dist/components/sd-popover.js +1 -1
  238. package/dist/components/sd-portal.js +1 -1
  239. package/dist/components/sd-progress.js +1 -1
  240. package/dist/components/sd-radio-button.d.ts +11 -0
  241. package/dist/components/sd-radio-button.js +1 -0
  242. package/dist/components/sd-radio-group.js +1 -1
  243. package/dist/components/sd-radio.js +1 -1
  244. package/dist/components/sd-select-dropdown.js +1 -1
  245. package/dist/components/sd-select-group.js +1 -1
  246. package/dist/components/sd-select-multiple-group.js +1 -1
  247. package/dist/components/sd-select-multiple.js +1 -1
  248. package/dist/components/sd-select-option-group.js +1 -1
  249. package/dist/components/sd-select-option.js +1 -1
  250. package/dist/components/sd-select-search-input.js +1 -1
  251. package/dist/components/sd-select-v2-list-item-search.js +1 -1
  252. package/dist/components/sd-select-v2-list-item.js +1 -1
  253. package/dist/components/sd-select-v2-listbox.js +1 -1
  254. package/dist/components/sd-select-v2-trigger.js +1 -1
  255. package/dist/components/sd-select-v2.js +1 -1
  256. package/dist/components/sd-select.js +1 -1
  257. package/dist/components/sd-switch.d.ts +11 -0
  258. package/dist/components/sd-switch.js +1 -0
  259. package/dist/components/sd-table.js +1 -1
  260. package/dist/components/sd-tabs.js +1 -1
  261. package/dist/components/sd-tag.js +1 -1
  262. package/dist/components/sd-tbody.d.ts +11 -0
  263. package/dist/components/sd-tbody.js +1 -0
  264. package/dist/components/sd-td.d.ts +11 -0
  265. package/dist/components/sd-td.js +1 -0
  266. package/dist/components/sd-text-link.js +1 -1
  267. package/dist/components/sd-textarea.js +1 -1
  268. package/dist/components/sd-thead.d.ts +11 -0
  269. package/dist/components/sd-thead.js +1 -0
  270. package/dist/components/sd-toast-container.js +1 -1
  271. package/dist/components/sd-toast.js +1 -1
  272. package/dist/components/sd-toggle.js +1 -1
  273. package/dist/components/sd-tooltip.js +1 -1
  274. package/dist/components/sd-tr.d.ts +11 -0
  275. package/dist/components/sd-tr.js +1 -0
  276. package/dist/components/table-test.d.ts +11 -0
  277. package/dist/components/table-test.js +1 -0
  278. package/dist/design-system/design-system.css +1 -1
  279. package/dist/design-system/design-system.esm.js +1 -1
  280. package/dist/design-system/index.esm.js +1 -1
  281. package/dist/design-system/p-03099a57.entry.js +1 -0
  282. package/dist/design-system/p-04be87a4.entry.js +1 -0
  283. package/dist/design-system/{p-e9c28bdc.entry.js → p-09ba9dbc.entry.js} +1 -1
  284. package/dist/design-system/p-0ca594a4.entry.js +1 -0
  285. package/dist/design-system/p-0fbb6d92.entry.js +1 -0
  286. package/dist/design-system/p-12a03c88.entry.js +1 -0
  287. package/dist/design-system/p-15cda79c.entry.js +1 -0
  288. package/dist/design-system/p-1b9e427e.entry.js +1 -0
  289. package/dist/design-system/p-1cbe4b22.entry.js +1 -0
  290. package/dist/design-system/{p-a03ad24f.entry.js → p-1d310832.entry.js} +1 -1
  291. package/dist/design-system/p-2f64dd95.entry.js +1 -0
  292. package/dist/design-system/p-33e4ce64.entry.js +1 -0
  293. package/dist/design-system/{p-14b67a6e.entry.js → p-363da5ff.entry.js} +1 -1
  294. package/dist/design-system/p-3d341993.entry.js +1 -0
  295. package/dist/design-system/p-3f79f1d1.entry.js +1 -0
  296. package/dist/design-system/{p-c59191d3.entry.js → p-40495e05.entry.js} +1 -1
  297. package/dist/design-system/p-4128c17f.entry.js +1 -0
  298. package/dist/design-system/{p-614c9883.entry.js → p-4a53d7b0.entry.js} +1 -1
  299. package/dist/design-system/{p-9ae589c4.entry.js → p-4dcadde3.entry.js} +1 -1
  300. package/dist/design-system/{p-62992b73.entry.js → p-53bc77f8.entry.js} +1 -1
  301. package/dist/design-system/{p-28058050.entry.js → p-5a63febd.entry.js} +1 -1
  302. package/dist/design-system/p-656acb07.entry.js +1 -0
  303. package/dist/design-system/{p-30055371.entry.js → p-6c71d7b7.entry.js} +1 -1
  304. package/dist/design-system/{p-7a18a52b.entry.js → p-73acee07.entry.js} +1 -1
  305. package/dist/design-system/p-748ece8e.entry.js +1 -0
  306. package/dist/design-system/p-7e09fdd5.entry.js +1 -0
  307. package/dist/design-system/{p-4272b9e6.entry.js → p-84a329fb.entry.js} +1 -1
  308. package/dist/design-system/p-867ec4ee.entry.js +1 -0
  309. package/dist/design-system/p-8acf3b67.entry.js +1 -0
  310. package/dist/design-system/p-8d2328ae.entry.js +1 -0
  311. package/dist/design-system/{p-dee605b1.entry.js → p-9af7e19a.entry.js} +1 -1
  312. package/dist/design-system/p-BqHL8W3c.js +2 -0
  313. package/dist/design-system/{p-DSRYrM1n.js → p-COK6PVLC.js} +1 -1
  314. package/dist/design-system/p-DOXMJi-V.js +1 -0
  315. package/dist/design-system/{p-72b564ed.entry.js → p-a129711d.entry.js} +1 -1
  316. package/dist/design-system/p-a24c3431.entry.js +1 -0
  317. package/dist/design-system/p-a27718c1.entry.js +1 -0
  318. package/dist/design-system/{p-3d10be45.entry.js → p-a9a91e69.entry.js} +1 -1
  319. package/dist/design-system/p-ae1800c0.entry.js +1 -0
  320. package/dist/design-system/p-b1fe12f8.entry.js +1 -0
  321. package/dist/design-system/p-b60ae063.entry.js +1 -0
  322. package/dist/design-system/p-b6e02544.entry.js +1 -0
  323. package/dist/design-system/p-bYCOh35g.js +1 -0
  324. package/dist/design-system/{p-fa8b64c2.entry.js → p-c2f3470f.entry.js} +1 -1
  325. package/dist/design-system/{p-85e22acd.entry.js → p-c4e68815.entry.js} +1 -1
  326. package/dist/design-system/p-c98ed6ae.entry.js +1 -0
  327. package/dist/design-system/p-ca80379a.entry.js +1 -0
  328. package/dist/design-system/{p-5d2e8779.entry.js → p-d04551be.entry.js} +1 -1
  329. package/dist/design-system/p-e0f9e5b5.entry.js +1 -0
  330. package/dist/design-system/p-e1fdd540.entry.js +1 -0
  331. package/dist/design-system/{p-2bd887ca.entry.js → p-e33389b8.entry.js} +1 -1
  332. package/dist/design-system/p-e78faea6.entry.js +1 -0
  333. package/dist/design-system/p-e9f24d23.entry.js +1 -0
  334. package/dist/design-system/{p-00207f08.entry.js → p-ec79fefd.entry.js} +1 -1
  335. package/dist/design-system/{p-067b0b3c.entry.js → p-f3a60f61.entry.js} +1 -1
  336. package/dist/design-system/p-f9b9204d.entry.js +1 -0
  337. package/dist/design-system/{p-13fed1bd.entry.js → p-fd296c73.entry.js} +1 -1
  338. package/dist/design-system/p-sZMi_32I.js +1 -0
  339. package/dist/esm/{component.modal-mO5GcwI3.js → component.modal-DOXMJi-V.js} +14 -0
  340. package/dist/esm/constants-sZMi_32I.js +3 -0
  341. package/dist/esm/design-system.js +3 -4
  342. package/dist/esm/{index-DsU722JF.js → index-BqHL8W3c.js} +128 -10
  343. package/dist/esm/index.js +103 -33
  344. package/dist/esm/loader.js +3 -4
  345. package/dist/esm/sd-action-modal.entry.js +3 -3
  346. package/dist/esm/sd-badge.entry.js +2 -2
  347. package/dist/esm/sd-barcode-input.entry.js +3 -3
  348. package/dist/esm/sd-button-v2_2.entry.js +9 -8
  349. package/dist/esm/sd-button_4.entry.js +56 -18
  350. package/dist/esm/sd-calendar.entry.js +1 -1
  351. package/dist/esm/sd-card.entry.js +2 -2
  352. package/dist/esm/sd-checkbox.entry.js +30 -5
  353. package/dist/esm/sd-circle-progress.entry.js +69 -0
  354. package/dist/esm/sd-confirm-modal_2.entry.js +183 -0
  355. package/dist/esm/sd-date-box.entry.js +1 -1
  356. package/dist/esm/sd-date-picker-calendar.entry.js +3 -3
  357. package/dist/esm/sd-date-picker-trigger.entry.js +4 -4
  358. package/dist/esm/{sd-date-picker.config-C4i826lM.js → sd-date-picker.config-bYCOh35g.js} +3 -3
  359. package/dist/esm/sd-date-picker.entry.js +4 -4
  360. package/dist/esm/sd-date-range-picker-calendar.entry.js +3 -3
  361. package/dist/esm/sd-date-range-picker.entry.js +4 -4
  362. package/dist/esm/sd-dropdown-button.entry.js +10 -5
  363. package/dist/esm/sd-file-picker.entry.js +1 -1
  364. package/dist/esm/sd-form.entry.js +1 -1
  365. package/dist/esm/sd-ghost-button.entry.js +15 -6
  366. package/dist/esm/sd-guide.entry.js +2 -2
  367. package/dist/esm/sd-input_2.entry.js +7 -7
  368. package/dist/esm/sd-loading-container.entry.js +27 -0
  369. package/dist/esm/sd-modal-container.entry.js +45 -2
  370. package/dist/esm/sd-number-input.entry.js +5 -10
  371. package/dist/esm/{sd-select-v2.entry.js → sd-pagination_2.entry.js} +90 -5
  372. package/dist/esm/sd-popover.entry.js +4 -4
  373. package/dist/esm/sd-portal.entry.js +2 -2
  374. package/dist/esm/sd-progress.entry.js +3 -3
  375. package/dist/esm/sd-radio-button.entry.js +180 -0
  376. package/dist/esm/sd-radio-group.entry.js +1 -1
  377. package/dist/esm/sd-radio.entry.js +6 -6
  378. package/dist/esm/sd-select-dropdown_2.entry.js +4 -4
  379. package/dist/esm/sd-select-group.entry.js +3 -3
  380. package/dist/esm/sd-select-multiple-group.entry.js +2 -2
  381. package/dist/esm/sd-select-multiple.entry.js +3 -3
  382. package/dist/esm/sd-select-option-group.entry.js +4 -4
  383. package/dist/esm/sd-select-v2-list-item_4.entry.js +656 -0
  384. package/dist/esm/sd-select.entry.js +177 -0
  385. package/dist/esm/sd-switch.entry.js +108 -0
  386. package/dist/esm/sd-table.entry.js +424 -651
  387. package/dist/esm/sd-tabs.entry.js +3 -3
  388. package/dist/esm/sd-tag.entry.js +6 -5
  389. package/dist/esm/sd-tbody.entry.js +64 -0
  390. package/dist/esm/sd-td.entry.js +56 -0
  391. package/dist/esm/sd-text-link.entry.js +10 -12
  392. package/dist/esm/sd-textarea.entry.js +2 -2
  393. package/dist/esm/sd-thead.entry.js +177 -0
  394. package/dist/esm/sd-toast-container.entry.js +2 -2
  395. package/dist/esm/sd-toast.entry.js +3 -3
  396. package/dist/esm/sd-toggle.entry.js +96 -13
  397. package/dist/esm/sd-tr.entry.js +169 -0
  398. package/dist/esm/table-test.entry.js +94 -0
  399. package/dist/esm/{tooltipArrow-CJuzsrdH.js → tooltipArrow-BcsrQx1U.js} +1 -1
  400. package/dist/types/__mocks__/nanoid-non-secure.d.ts +2 -0
  401. package/dist/types/__mocks__/nanoid.d.ts +1 -0
  402. package/dist/types/components/sd-button-v2/sd-button-v2.d.ts +1 -0
  403. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +3 -0
  404. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -0
  405. package/dist/types/components/sd-circle-progress/sd-circle-progress.config.d.ts +9 -0
  406. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +8 -0
  407. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +1 -0
  408. package/dist/types/components/sd-field/sd-field.config.d.ts +9 -0
  409. package/dist/types/components/sd-field/sd-field.d.ts +2 -0
  410. package/dist/types/components/sd-ghost-button/sd-ghost-button.config.d.ts +1 -1
  411. package/dist/types/components/sd-loading-container/sd-loading-container.config.d.ts +4 -0
  412. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +8 -0
  413. package/dist/types/components/sd-loading-modal/sd-loading-modal.config.d.ts +25 -0
  414. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +15 -0
  415. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +10 -0
  416. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -2
  417. package/dist/types/components/sd-number-input/sd-number-input.config.d.ts +0 -1
  418. package/dist/types/components/sd-radio-button/sd-radio-button.config.d.ts +44 -0
  419. package/dist/types/components/{sd-radio-button-group/sd-radio-button-group.d.ts → sd-radio-button/sd-radio-button.d.ts} +4 -3
  420. package/dist/types/components/sd-select-v2/sd-select-v2.config.d.ts +1 -0
  421. package/dist/types/components/sd-switch/sd-switch.config.d.ts +22 -0
  422. package/dist/types/components/{sd-toggle-button/sd-toggle-button.d.ts → sd-switch/sd-switch.d.ts} +2 -6
  423. package/dist/types/components/sd-table/constants.d.ts +44 -0
  424. package/dist/types/components/sd-table/sd-table.d.ts +103 -115
  425. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +14 -0
  426. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +12 -0
  427. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +36 -0
  428. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +34 -0
  429. package/dist/types/components/sd-toggle/sd-toggle.config.d.ts +32 -0
  430. package/dist/types/components/sd-toggle/sd-toggle.d.ts +0 -3
  431. package/dist/types/components/table-test/table-test.d.ts +46 -0
  432. package/dist/types/components.d.ts +532 -141
  433. package/dist/types/index.d.ts +3 -1
  434. package/dist/types/utils/loading.d.ts +7 -0
  435. package/dist/types/utils/modal.d.ts +19 -3
  436. package/hydrate/index.js +2472 -971
  437. package/hydrate/index.mjs +2472 -971
  438. package/package.json +2 -2
  439. package/readme.md +1 -1
  440. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
  441. package/dist/cjs/sd-confirm-modal.cjs.entry.js +0 -106
  442. package/dist/cjs/sd-loading-spinner_3.cjs.entry.js +0 -283
  443. package/dist/cjs/sd-radio-button-group.cjs.entry.js +0 -57
  444. package/dist/cjs/sd-select-v2-list-item_2.cjs.entry.js +0 -150
  445. package/dist/cjs/sd-select-v2-listbox_2.cjs.entry.js +0 -353
  446. package/dist/cjs/sd-select-v2.config-7xBJQhvx.js +0 -171
  447. package/dist/cjs/sd-toggle-button.cjs.entry.js +0 -49
  448. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.css +0 -44
  449. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +0 -46
  450. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.css +0 -85
  451. package/dist/collection/components/sd-toggle-button/sd-toggle-button.css +0 -47
  452. package/dist/components/p-5OtzmjLh.js +0 -1
  453. package/dist/components/p-BFaIxm6b.js +0 -1
  454. package/dist/components/p-BP-QKaKz.js +0 -1
  455. package/dist/components/p-BSZadK9N.js +0 -1
  456. package/dist/components/p-BbtO5CEW.js +0 -1
  457. package/dist/components/p-BxPyZJaz.js +0 -1
  458. package/dist/components/p-C-qSDgVU.js +0 -1
  459. package/dist/components/p-C4i826lM.js +0 -1
  460. package/dist/components/p-CEa1HSpw.js +0 -1
  461. package/dist/components/p-CYRGa0VL.js +0 -1
  462. package/dist/components/p-ClgihpRm.js +0 -1
  463. package/dist/components/p-D-Y0-FQk.js +0 -1
  464. package/dist/components/p-D-pFdq6g.js +0 -1
  465. package/dist/components/p-DPipeCRI.js +0 -1
  466. package/dist/components/p-DSYw-7RA.js +0 -1
  467. package/dist/components/p-DXAB0k9r.js +0 -1
  468. package/dist/components/p-mO5GcwI3.js +0 -1
  469. package/dist/components/sd-loading-spinner.js +0 -1
  470. package/dist/components/sd-radio-button-group.js +0 -1
  471. package/dist/components/sd-toggle-button.js +0 -1
  472. package/dist/design-system/p-0e6f5a99.entry.js +0 -1
  473. package/dist/design-system/p-22a4972a.entry.js +0 -1
  474. package/dist/design-system/p-27df33c1.entry.js +0 -1
  475. package/dist/design-system/p-3ac6a626.entry.js +0 -1
  476. package/dist/design-system/p-3f04d68a.entry.js +0 -1
  477. package/dist/design-system/p-6610c16b.entry.js +0 -1
  478. package/dist/design-system/p-739ac181.entry.js +0 -1
  479. package/dist/design-system/p-7dce4241.entry.js +0 -1
  480. package/dist/design-system/p-7e4c0a36.entry.js +0 -1
  481. package/dist/design-system/p-8b5b2866.entry.js +0 -1
  482. package/dist/design-system/p-90f51f65.entry.js +0 -1
  483. package/dist/design-system/p-C3eQSZx-.js +0 -1
  484. package/dist/design-system/p-C4i826lM.js +0 -1
  485. package/dist/design-system/p-DQuL1Twl.js +0 -1
  486. package/dist/design-system/p-DsU722JF.js +0 -2
  487. package/dist/design-system/p-a6bc8512.entry.js +0 -1
  488. package/dist/design-system/p-afeb740a.entry.js +0 -1
  489. package/dist/design-system/p-b3e0e6f4.entry.js +0 -1
  490. package/dist/design-system/p-ba90dc5f.entry.js +0 -1
  491. package/dist/design-system/p-bad88292.entry.js +0 -1
  492. package/dist/design-system/p-cbb5575d.entry.js +0 -1
  493. package/dist/design-system/p-ce6a0b0f.entry.js +0 -1
  494. package/dist/design-system/p-d07448fe.entry.js +0 -1
  495. package/dist/design-system/p-d1a94401.entry.js +0 -1
  496. package/dist/design-system/p-d5b5cfc7.entry.js +0 -1
  497. package/dist/design-system/p-d75e0dc0.entry.js +0 -1
  498. package/dist/design-system/p-e9ed9c00.entry.js +0 -1
  499. package/dist/design-system/p-f8567970.entry.js +0 -1
  500. package/dist/design-system/p-fa22f13c.entry.js +0 -1
  501. package/dist/design-system/p-fbac6160.entry.js +0 -1
  502. package/dist/design-system/p-mO5GcwI3.js +0 -1
  503. package/dist/esm/app-globals-DQuL1Twl.js +0 -3
  504. package/dist/esm/sd-confirm-modal.entry.js +0 -104
  505. package/dist/esm/sd-loading-spinner_3.entry.js +0 -279
  506. package/dist/esm/sd-radio-button-group.entry.js +0 -55
  507. package/dist/esm/sd-select-v2-list-item_2.entry.js +0 -147
  508. package/dist/esm/sd-select-v2-listbox_2.entry.js +0 -350
  509. package/dist/esm/sd-select-v2.config-C3eQSZx-.js +0 -158
  510. package/dist/esm/sd-toggle-button.entry.js +0 -47
  511. package/dist/types/components/sd-loading-spinner/sd-loading-spinner.d.ts +0 -5
@@ -1,350 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DsU722JF.js';
2
- 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-v2.config-C3eQSZx-.js';
3
-
4
- const sdSelectV2ListboxCss = () => `sd-select-v2-listbox{display:block}sd-select-v2-listbox .sd-select-v2-listbox{display:flex;flex-direction:column;min-width:var(--listbox-trigger-width);max-width:var(--listbox-max-width);max-height:var(--listbox-max-height);width:fit-content;border-radius:var(--listbox-radius);background:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);overflow:hidden;outline:none}sd-select-v2-listbox .sd-select-v2-listbox__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:0}sd-select-v2-listbox .sd-select-v2-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}`;
5
-
6
- const SdSelectV2Listbox = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.optionSelect = createEvent(this, "sdOptionSelect", 7);
10
- }
11
- name = 'default';
12
- options = [];
13
- value = null;
14
- emitValue = false;
15
- triggerWidth = '200px';
16
- maxWidth = '640px';
17
- maxHeight = '260px';
18
- searchKeyword = '';
19
- isScrolled = false;
20
- focusedIndex = -1;
21
- optionSelect;
22
- listEl;
23
- lastScrolledIndex = -1;
24
- keydownAttached = false;
25
- suppressHover = false;
26
- get isDepth() {
27
- return this.name === 'default_depth' || this.name === 'multi_depth';
28
- }
29
- get isMulti() {
30
- return this.name === 'multi' || this.name === 'multi_depth';
31
- }
32
- get showSearch() {
33
- const count = this.isDepth ? countLeaves(this.options) : this.options.length;
34
- return count >= SEARCH_THRESHOLD;
35
- }
36
- get filteredOptions() {
37
- if (!this.searchKeyword)
38
- return this.options;
39
- if (this.isDepth)
40
- return filterTree(this.options, this.searchKeyword);
41
- const keyword = this.searchKeyword.toLowerCase();
42
- return this.options.filter(o => o.label.toLowerCase().includes(keyword));
43
- }
44
- get isEmpty() {
45
- if (this.isDepth)
46
- return countLeaves(this.filteredOptions) === 0 && this.filteredOptions.length === 0;
47
- return this.filteredOptions.length === 0;
48
- }
49
- getSelectedValues() {
50
- if (!this.value || !Array.isArray(this.value))
51
- return new Set();
52
- if (this.emitValue) {
53
- return new Set(this.value);
54
- }
55
- return new Set(this.value.map(s => s.value));
56
- }
57
- isOptionSelected(option) {
58
- if (this.isMulti) {
59
- return this.getSelectedValues().has(option.value);
60
- }
61
- if (this.emitValue) {
62
- return this.value === option.value;
63
- }
64
- if (this.value != null && typeof this.value === 'object' && !Array.isArray(this.value)) {
65
- return this.value.value === option.value;
66
- }
67
- return this.value === option.value;
68
- }
69
- getGroupSelectionState(option) {
70
- if (!this.isMulti || !option.children)
71
- return false;
72
- const selectedValues = this.getSelectedValues();
73
- if (selectedValues.size === 0)
74
- return false;
75
- const leaves = this.collectVisibleLeaves(option);
76
- if (leaves.length === 0)
77
- return false;
78
- const selectedCount = leaves.filter(l => selectedValues.has(l.value)).length;
79
- if (selectedCount === 0)
80
- return false;
81
- if (selectedCount === leaves.length)
82
- return true;
83
- return null;
84
- }
85
- getCountInfo(option) {
86
- if (!this.isMulti || !option.children)
87
- return undefined;
88
- const selectedValues = this.getSelectedValues();
89
- const leaves = this.collectVisibleLeaves(option);
90
- const selectedCount = leaves.filter(l => selectedValues.has(l.value)).length;
91
- return { selected: selectedCount, total: leaves.length };
92
- }
93
- findOriginalOption(value, options) {
94
- for (const opt of options) {
95
- if (opt.value === value)
96
- return opt;
97
- if (opt.children) {
98
- const found = this.findOriginalOption(value, opt.children);
99
- if (found)
100
- return found;
101
- }
102
- }
103
- return undefined;
104
- }
105
- collectLeaves(option) {
106
- if (!option.children)
107
- return [option];
108
- return option.children.flatMap(child => this.collectLeaves(child));
109
- }
110
- /**
111
- * Returns the leaves currently visible to the user for the given (possibly
112
- * filtered) option. When a group's own label matched the search keyword its
113
- * `children` is emptied by `filterTree`; in that case we fall back to the
114
- * full original subtree because the user has no way to deselect descendants
115
- * individually.
116
- */
117
- collectVisibleLeaves(option) {
118
- if (!option.children)
119
- return [option];
120
- if (option.children.length === 0) {
121
- const original = this.findOriginalOption(option.value, this.options);
122
- return original ? this.collectLeaves(original) : [];
123
- }
124
- return option.children.flatMap(child => this.collectVisibleLeaves(child));
125
- }
126
- get navigableOptions() {
127
- const items = [];
128
- const walk = (opts) => {
129
- for (const opt of opts) {
130
- const isGroup = !!opt.children;
131
- const isSelectable = !isGroup || this.isMulti;
132
- if (isSelectable && !opt.disabled)
133
- items.push(opt);
134
- if (isGroup && opt.children && opt.children.length > 0)
135
- walk(opt.children);
136
- }
137
- };
138
- walk(this.filteredOptions);
139
- return items;
140
- }
141
- isOptionFocused(option) {
142
- if (this.focusedIndex < 0)
143
- return false;
144
- const focused = this.navigableOptions[this.focusedIndex];
145
- // filterTree 가 매 호출마다 옵션 객체를 새로 복제하기 때문에 참조 비교
146
- // (=== / indexOf) 는 검색이 적용된 동안 항상 실패한다. 고유 식별자인
147
- // value 로 비교해야 한다.
148
- return !!focused && focused.value === option.value;
149
- }
150
- resetFocusOnFilter() {
151
- // 필터가 바뀌면 이전 인덱스가 가리키던 항목이 사라질 수 있으므로
152
- // 새 결과의 첫 항목으로 옮긴다. 결과가 비면 -1.
153
- const items = this.navigableOptions;
154
- this.focusedIndex = items.length > 0 ? 0 : -1;
155
- // 키보드 네비게이션 직후 마우스가 한 번도 안 움직인 채로 사용자가
156
- // 검색을 시작했다면 hover suppression 이 켜진 상태로 남아있을 수 있다.
157
- // 검색이라는 명백한 사용자 의도 전환 시점에 강제로 해제한다.
158
- if (this.suppressHover) {
159
- document.removeEventListener('mousemove', this.releaseHoverSuppress, true);
160
- this.suppressHover = false;
161
- }
162
- }
163
- handleSearchFilter = (e) => {
164
- this.searchKeyword = e.detail;
165
- };
166
- handleScroll = (e) => {
167
- this.isScrolled = e.target.scrollTop > 0;
168
- };
169
- emitOptionSelect(option) {
170
- this.optionSelect.emit({
171
- option,
172
- leaves: this.collectVisibleLeaves(option),
173
- });
174
- }
175
- handleOptionClick = (e) => {
176
- e.stopPropagation();
177
- this.emitOptionSelect(e.detail);
178
- };
179
- handleOptionHover = (option) => {
180
- if (this.suppressHover)
181
- return;
182
- const idx = this.navigableOptions.findIndex(o => o.value === option.value);
183
- if (idx >= 0)
184
- this.focusedIndex = idx;
185
- };
186
- releaseHoverSuppress = () => {
187
- this.suppressHover = false;
188
- document.removeEventListener('mousemove', this.releaseHoverSuppress, true);
189
- };
190
- handleKeyDown = (e) => {
191
- const items = this.navigableOptions;
192
- if (e.key === 'ArrowDown') {
193
- if (items.length === 0)
194
- return;
195
- e.preventDefault();
196
- e.stopPropagation();
197
- this.focusedIndex = this.focusedIndex < 0 ? 0 : (this.focusedIndex + 1) % items.length;
198
- this.beginHoverSuppression();
199
- }
200
- else if (e.key === 'ArrowUp') {
201
- if (items.length === 0)
202
- return;
203
- e.preventDefault();
204
- e.stopPropagation();
205
- this.focusedIndex = this.focusedIndex <= 0 ? items.length - 1 : this.focusedIndex - 1;
206
- this.beginHoverSuppression();
207
- }
208
- else if (e.key === 'Enter') {
209
- if (this.focusedIndex < 0 || this.focusedIndex >= items.length)
210
- return;
211
- e.preventDefault();
212
- e.stopPropagation();
213
- this.emitOptionSelect(items[this.focusedIndex]);
214
- }
215
- };
216
- /**
217
- * 키보드로 인덱스를 옮기면 자동 스크롤이 일어나는데, 정지한 마우스 커서
218
- * 아래로 다른 항목이 미끄러져 들어오면서 mouseenter 가 발화해 인덱스를
219
- * 다시 덮어쓰는 문제를 막는다. 실제로 마우스가 한 번이라도 움직이기 전까지
220
- * hover 갱신을 무시한다.
221
- */
222
- beginHoverSuppression() {
223
- if (this.suppressHover)
224
- return;
225
- this.suppressHover = true;
226
- document.addEventListener('mousemove', this.releaseHoverSuppress, true);
227
- }
228
- /**
229
- * 리스트 컨테이너 내부에서만 스크롤한다. `scrollIntoView` 는 조상 스크롤
230
- * 컨테이너(=문서 자체)까지 함께 스크롤시키므로 사용하지 않는다.
231
- */
232
- scrollFocusedIntoView() {
233
- const list = this.listEl;
234
- const focusedEl = list?.querySelector('.sd-select-v2-list-item--focused');
235
- if (!list || !focusedEl)
236
- return;
237
- const listRect = list.getBoundingClientRect();
238
- const itemRect = focusedEl.getBoundingClientRect();
239
- if (itemRect.top < listRect.top) {
240
- list.scrollTop += itemRect.top - listRect.top;
241
- }
242
- else if (itemRect.bottom > listRect.bottom) {
243
- list.scrollTop += itemRect.bottom - listRect.bottom;
244
- }
245
- }
246
- /**
247
- * sd-portal 이 슬롯 노드를 body 로 이동시키면서 disconnect → connect 가
248
- * 발생하므로, 키보드 리스너는 한 번만 실행되는 componentDidLoad 가 아니라
249
- * connectedCallback / disconnectedCallback 에 묶어 매번 재부착한다.
250
- * capture phase 로 잡아 포커스가 검색 input 에 있어도 ↑/↓/Enter 가
251
- * input 의 기본 동작(커서 이동)·페이지 스크롤보다 먼저 처리되도록 한다.
252
- */
253
- connectedCallback() {
254
- if (!this.keydownAttached) {
255
- document.addEventListener('keydown', this.handleKeyDown, true);
256
- this.keydownAttached = true;
257
- }
258
- }
259
- disconnectedCallback() {
260
- if (this.keydownAttached) {
261
- document.removeEventListener('keydown', this.handleKeyDown, true);
262
- this.keydownAttached = false;
263
- }
264
- if (this.suppressHover) {
265
- document.removeEventListener('mousemove', this.releaseHoverSuppress, true);
266
- this.suppressHover = false;
267
- }
268
- }
269
- componentDidRender() {
270
- if (this.focusedIndex !== this.lastScrolledIndex) {
271
- this.lastScrolledIndex = this.focusedIndex;
272
- if (this.focusedIndex >= 0)
273
- this.scrollFocusedIntoView();
274
- }
275
- }
276
- renderOptions(options, depth = 1) {
277
- return options.map(option => {
278
- const isGroup = !!option.children;
279
- return [
280
- h("sd-select-v2-list-item", { option: option, depth: depth, isSelected: isGroup ? this.getGroupSelectionState(option) : this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, countInfo: this.getCountInfo(option), onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) }),
281
- isGroup && option.children ? this.renderOptions(option.children, depth + 1) : null,
282
- ];
283
- });
284
- }
285
- render() {
286
- const cssVars = {
287
- '--listbox-trigger-width': this.triggerWidth,
288
- '--listbox-max-width': this.maxWidth,
289
- '--listbox-max-height': this.maxHeight,
290
- '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
291
- };
292
- return (h("div", { key: '92289973077789bd6f9657bb5b2e5567845bdc19', class: "sd-select-v2-listbox", style: cssVars }, this.showSearch && (h("sd-select-v2-list-item-search", { key: 'a26b9ba36f42165ab80347ea4f0194b98746a9a6', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: 'd563a179278ec5c6eaa0b4c71d18cc5055bbebb5', class: "sd-select-v2-listbox__list", onScroll: this.handleScroll, ref: el => {
293
- this.listEl = el;
294
- } }, this.isEmpty ? (h("div", { class: "sd-select-v2-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-v2-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
295
- }
296
- static get watchers() { return {
297
- "searchKeyword": [{
298
- "resetFocusOnFilter": 0
299
- }]
300
- }; }
301
- };
302
- SdSelectV2Listbox.style = sdSelectV2ListboxCss();
303
-
304
- const sdSelectV2TriggerCss = () => `sd-select-v2-trigger{display:block;width:100%;height:100%}sd-select-v2-trigger .sd-select-v2-trigger{display:flex;width:100%;height:100%;cursor:pointer;user-select:none;overflow:hidden;border-radius:3px}sd-select-v2-trigger .sd-select-v2-trigger--disabled{cursor:not-allowed}sd-select-v2-trigger .sd-select-v2-trigger__content{display:flex;align-items:center;gap:var(--trigger-gap);flex:1;padding:0 var(--trigger-padding-x);min-width:0}sd-select-v2-trigger .sd-select-v2-trigger__text{flex:1;font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-select-v2-trigger .sd-select-v2-trigger__icon{flex-shrink:0;transition:transform 0.2s ease}sd-select-v2-trigger .sd-select-v2-trigger__icon--open{transform:rotate(180deg)}`;
305
-
306
- const SdSelectV2Trigger = class {
307
- constructor(hostRef) {
308
- registerInstance(this, hostRef);
309
- this.triggerClick = createEvent(this, "sdTriggerClick", 7);
310
- }
311
- displayText = '';
312
- placeholder = '선택';
313
- disabled = false;
314
- isOpen = false;
315
- triggerClick;
316
- handleClick = () => {
317
- if (this.disabled)
318
- return;
319
- this.triggerClick.emit();
320
- };
321
- render() {
322
- const hasValue = !!this.displayText;
323
- const cssVars = {
324
- '--trigger-padding-x': `${SELECT_LAYOUT.paddingX}px`,
325
- '--trigger-gap': `${SELECT_LAYOUT.gap}px`,
326
- '--trigger-font-size': `${SELECT_TYPOGRAPHY.fontSize}px`,
327
- '--trigger-line-height': `${SELECT_TYPOGRAPHY.lineHeight}px`,
328
- '--trigger-font-weight': SELECT_TYPOGRAPHY.fontWeight,
329
- '--trigger-color': this.disabled
330
- ? SELECT_COLORS.text.disabled
331
- : hasValue
332
- ? SELECT_COLORS.text.default
333
- : SELECT_COLORS.icon.default,
334
- '--trigger-icon-color': this.disabled
335
- ? SELECT_COLORS.icon.disabled
336
- : SELECT_COLORS.icon.default,
337
- };
338
- return (h("div", { key: '02e382b2a1867fa8816c11e2d07bb042a15027fb', class: {
339
- 'sd-select-v2-trigger': true,
340
- 'sd-select-v2-trigger--open': this.isOpen,
341
- 'sd-select-v2-trigger--disabled': this.disabled,
342
- }, style: cssVars, onClick: this.handleClick }, h("div", { key: 'e08360c05f765ccc0c9dbefe8e402a66edd1c242', class: "sd-select-v2-trigger__content" }, h("span", { key: 'dc00441e24e17b9bb28a36892ff3564d4bb40a42', class: "sd-select-v2-trigger__text" }, hasValue ? this.displayText : this.placeholder), h("sd-icon", { key: '3d78221139a6df71aa349277ed0f8d73fbba23ba', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
343
- 'sd-select-v2-trigger__icon': true,
344
- 'sd-select-v2-trigger__icon--open': this.isOpen,
345
- } }))));
346
- }
347
- };
348
- SdSelectV2Trigger.style = sdSelectV2TriggerCss();
349
-
350
- export { SdSelectV2Listbox as sd_select_v2_listbox, SdSelectV2Trigger as sd_select_v2_trigger };
@@ -1,158 +0,0 @@
1
- const select = {
2
- paddingX: "12",
3
- icon: {
4
- "default": "#888888",
5
- disabled: "#BBBBBB"
6
- },
7
- gap: "8",
8
- typography: {
9
- fontWeight: "400",
10
- fontSize: "12",
11
- lineHeight: "20"},
12
- text: {
13
- "default": "#222222",
14
- disabled: "#888888"
15
- }};
16
- var selectTokens = {
17
- select: select
18
- };
19
-
20
- const listItem = {
21
- paddingY: "4",
22
- paddingRight: "12",
23
- gap: "8",
24
- paddingLeft: {
25
- depth1: "12",
26
- depth2: "20",
27
- depth3: "28"
28
- },
29
- typography: {
30
- fontWeight: "400",
31
- fontSize: "12",
32
- lineHeight: "20"},
33
- bg: {
34
- "default": "#FFFFFF",
35
- hover: "#0075FF"
36
- },
37
- content: {
38
- "default": "#222222",
39
- hover: "#FFFFFF",
40
- disabled: "#888888"
41
- },
42
- depth1: {
43
- bg: {
44
- "default": "#EFF6FF"},
45
- border: {
46
- color: "#E1E1E1",
47
- width: "1"
48
- }},
49
- depth2: {
50
- middle: {
51
- bg: "#F6F6F6"}
52
- }};
53
- var listItemTokens = {
54
- listItem: listItem
55
- };
56
-
57
- const listBox = {
58
- radius: "4"};
59
- var listBoxTokens = {
60
- listBox: listBox
61
- };
62
-
63
- // ── Select Trigger Tokens ──
64
- const SELECT_LAYOUT = {
65
- paddingX: selectTokens.select.paddingX,
66
- gap: selectTokens.select.gap};
67
- const SELECT_TYPOGRAPHY = {
68
- fontSize: selectTokens.select.typography.fontSize,
69
- lineHeight: selectTokens.select.typography.lineHeight,
70
- fontWeight: selectTokens.select.typography.fontWeight,
71
- };
72
- const SELECT_COLORS = {
73
- icon: {
74
- default: selectTokens.select.icon.default,
75
- disabled: selectTokens.select.icon.disabled,
76
- },
77
- text: {
78
- default: selectTokens.select.text.default,
79
- disabled: selectTokens.select.text.disabled,
80
- },
81
- };
82
- // ── ListItem Tokens ──
83
- const LIST_ITEM_LAYOUT = {
84
- paddingY: listItemTokens.listItem.paddingY,
85
- paddingRight: listItemTokens.listItem.paddingRight,
86
- paddingLeft: {
87
- depth1: listItemTokens.listItem.paddingLeft.depth1,
88
- depth2: listItemTokens.listItem.paddingLeft.depth2,
89
- depth3: listItemTokens.listItem.paddingLeft.depth3,
90
- },
91
- gap: listItemTokens.listItem.gap,
92
- };
93
- const LIST_ITEM_TYPOGRAPHY = {
94
- fontSize: listItemTokens.listItem.typography.fontSize,
95
- lineHeight: listItemTokens.listItem.typography.lineHeight,
96
- fontWeight: listItemTokens.listItem.typography.fontWeight,
97
- };
98
- const LIST_ITEM_COLORS = {
99
- bg: {
100
- default: listItemTokens.listItem.bg.default,
101
- hover: listItemTokens.listItem.bg.hover,
102
- },
103
- content: {
104
- default: listItemTokens.listItem.content.default,
105
- hover: listItemTokens.listItem.content.hover,
106
- disabled: listItemTokens.listItem.content.disabled,
107
- },
108
- depth1: {
109
- bg: listItemTokens.listItem.depth1.bg.default,
110
- border: listItemTokens.listItem.depth1.border.color,
111
- borderWidth: listItemTokens.listItem.depth1.border.width,
112
- },
113
- depth2: {
114
- bg: listItemTokens.listItem.depth2.middle.bg,
115
- }};
116
- // ── ListBox Tokens ──
117
- const LIST_BOX_LAYOUT = {
118
- radius: listBoxTokens.listBox.radius,
119
- };
120
- // ── Constants ──
121
- const SEARCH_THRESHOLD = 11;
122
- const SEARCH_DEBOUNCE_MS = 1000;
123
- const EMPTY_MESSAGE = '표시할 항목이 없습니다.';
124
- // ── Utilities ──
125
- function countLeaves(options) {
126
- return options.reduce((sum, option) => {
127
- if (option.children) {
128
- return sum + countLeaves(option.children);
129
- }
130
- return sum + 1;
131
- }, 0);
132
- }
133
- function filterTree(options, keyword) {
134
- const lowerKeyword = keyword.toLowerCase();
135
- return options.reduce((acc, option) => {
136
- const selfMatch = option.label.toLowerCase().includes(lowerKeyword);
137
- if (option.children) {
138
- // 그룹: 자식은 항상 추가로 필터링한다.
139
- // - 자식 중 일치하는 게 있으면 그 자식들만 노출
140
- // - 자식 매칭이 없더라도 그룹명이 매칭되면 그룹 헤더는 그대로 노출
141
- // (이때 children 은 빈 배열로 두고, 선택 동작은 collectVisibleLeaves
142
- // 의 fallback 이 원본 트리를 사용해 처리한다)
143
- const filteredChildren = filterTree(option.children, keyword);
144
- if (filteredChildren.length > 0) {
145
- acc.push({ ...option, children: filteredChildren });
146
- }
147
- else if (selfMatch) {
148
- acc.push({ ...option, children: [] });
149
- }
150
- }
151
- else if (selfMatch) {
152
- acc.push({ ...option });
153
- }
154
- return acc;
155
- }, []);
156
- }
157
-
158
- export { EMPTY_MESSAGE as E, LIST_BOX_LAYOUT as L, SEARCH_THRESHOLD as S, SELECT_COLORS as a, SELECT_TYPOGRAPHY as b, countLeaves as c, SELECT_LAYOUT as d, LIST_ITEM_LAYOUT as e, filterTree as f, LIST_ITEM_COLORS as g, LIST_ITEM_TYPOGRAPHY as h, SEARCH_DEBOUNCE_MS as i };
@@ -1,47 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DsU722JF.js';
2
-
3
- const sdToggleButtonCss = () => `sd-toggle-button{display:inline-block;line-height:0}.sd-toggle-button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:4px 12px;gap:6px;border-radius:14px;border:1px solid #888888;background-color:#FFFFFF;color:#737373;font-size:12px;line-height:20px;font-weight:400;cursor:pointer;transition:border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;white-space:nowrap;user-select:none;box-sizing:border-box}.sd-toggle-button--active{border-color:#0075FF;color:#0075FF}.sd-toggle-button--disabled{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888;cursor:not-allowed}.sd-toggle-button--disabled.sd-toggle-button--active{background-color:#EEEEEE;border-color:#CCCCCC;color:#888888}.sd-toggle-button:hover:not(.sd-toggle-button--disabled):not(.sd-toggle-button--active){border-color:#737373}.sd-toggle-button:hover:not(.sd-toggle-button--disabled).sd-toggle-button--active{border-color:#005CC9;color:#005CC9}`;
4
-
5
- const SdToggleButton = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.change = createEvent(this, "sdUpdate", 7);
9
- }
10
- value = false;
11
- label = '';
12
- disabled = false;
13
- isActive = false;
14
- change;
15
- componentWillLoad() {
16
- this.updateActiveState(this.value);
17
- }
18
- componentWillRender() {
19
- this.updateActiveState(this.value);
20
- }
21
- updateActiveState(value) {
22
- this.isActive = value;
23
- }
24
- get buttonClasses() {
25
- const classes = ['sd-toggle-button'];
26
- if (this.isActive) {
27
- classes.push('sd-toggle-button--active');
28
- }
29
- if (this.disabled) {
30
- classes.push('sd-toggle-button--disabled');
31
- }
32
- return classes.join(' ');
33
- }
34
- handleChange = () => {
35
- if (this.disabled)
36
- return;
37
- const newValue = !this.value;
38
- this.value = newValue;
39
- this.change.emit(newValue);
40
- };
41
- render() {
42
- return (h("label", { key: '0e933c52b633eec101beec8aa6ec888dc6bc3448', class: this.buttonClasses, "aria-label": this.label || 'toggle button' }, this.label, h("input", { key: '833e7c26895e310cb6322b7231345f76f0a409dc', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
43
- }
44
- };
45
- SdToggleButton.style = sdToggleButtonCss();
46
-
47
- export { SdToggleButton as sd_toggle_button };
@@ -1,5 +0,0 @@
1
- export declare class SdLoadingSpinner {
2
- color?: string;
3
- private get resolvedColor();
4
- render(): any;
5
- }