@sellmate/design-system 1.26.1 → 1.27.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 (275) hide show
  1. package/dist/cjs/{component.modal-BFelrSMx.js → component.modal-CrZe2db_.js} +0 -14
  2. package/dist/cjs/component.overlay-CBhFnzM2.js +29 -0
  3. package/dist/cjs/{component.progress-Bmg3vAAy.js → component.progress-DimGJZAd.js} +1 -2
  4. package/dist/cjs/{component.table-DIxmbGBT.js → component.table-BrI3b--h.js} +4 -5
  5. package/dist/cjs/design-system.cjs.js +1 -1
  6. package/dist/cjs/{index-BuaQW9U4.js → index-BTqAmfdr.js} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/sd-action-modal.cjs.entry.js +12 -10
  9. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  11. package/dist/cjs/{sd-button.config-eTAJM2iW.js → sd-button.config-BH7gFPmM.js} +1 -2
  12. package/dist/cjs/sd-button_2.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-calendar_2.cjs.entry.js +1 -1
  14. package/dist/cjs/sd-callout.cjs.entry.js +1 -1
  15. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/sd-chip-input.cjs.entry.js +1 -1
  18. package/dist/cjs/sd-chip.cjs.entry.js +1 -1
  19. package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -16
  20. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +2 -2
  21. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  22. package/dist/cjs/sd-date-picker_7.cjs.entry.js +1 -1
  23. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-divider.cjs.entry.js +1 -1
  25. package/dist/cjs/sd-dropdown-button.cjs.entry.js +2 -2
  26. package/dist/cjs/sd-field_3.cjs.entry.js +2 -2
  27. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +2 -3
  29. package/dist/cjs/sd-guide.cjs.entry.js +1 -1
  30. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -3
  31. package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
  32. package/dist/cjs/sd-loading-container.cjs.entry.js +1 -1
  33. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  34. package/dist/cjs/sd-pagination_4.cjs.entry.js +3 -3
  35. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  36. package/dist/cjs/sd-popup.cjs.entry.js +8 -13
  37. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  38. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  39. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +1 -1
  40. package/dist/cjs/sd-select_3.cjs.entry.js +2 -2
  41. package/dist/cjs/sd-switch.cjs.entry.js +1 -1
  42. package/dist/cjs/sd-table.cjs.entry.js +4 -4
  43. package/dist/cjs/{sd-table.config-B7MuRLoR.js → sd-table.config-DzC55sap.js} +3 -3
  44. package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
  45. package/dist/cjs/sd-td.cjs.entry.js +1 -1
  46. package/dist/cjs/sd-text-link.cjs.entry.js +2 -3
  47. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  48. package/dist/cjs/sd-toast.cjs.entry.js +1 -1
  49. package/dist/cjs/sd-toggle.cjs.entry.js +2 -3
  50. package/dist/cjs/{tooltipArrow-VQq73W83.js → tooltipArrow-CiM3irtY.js} +1 -1
  51. package/dist/collection/components/sd-action-modal/sd-action-modal.config.js +10 -8
  52. package/dist/collection/components/sd-circle-progress/sd-circle-progress.config.js +4 -5
  53. package/dist/collection/components/sd-key-value-table/sd-key-value-table.config.js +1 -1
  54. package/dist/collection/components/sd-loading-modal/sd-loading-modal.config.js +3 -3
  55. package/dist/collection/components/sd-popup/sd-popup.config.js +6 -4
  56. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.css +16 -0
  57. package/dist/collection/components/sd-table/sd-table.config.js +3 -3
  58. package/dist/collection/components/sd-table/sd-table.css +16 -0
  59. package/dist/components/index.js +1 -1
  60. package/dist/components/{p-DiJvHjSG.js → p-7NIombHr.js} +1 -1
  61. package/dist/components/{p-346Z6-KH.js → p-B0NEmngm.js} +1 -1
  62. package/dist/components/{p-DoJxhlz2.js → p-B7Fy6FMY.js} +1 -1
  63. package/dist/components/{p-C3rOud8J.js → p-B8qPlbcL.js} +1 -1
  64. package/dist/components/{p-DNRm9_Bv.js → p-BArxAQLx.js} +1 -1
  65. package/dist/components/{p-DlBZuGIN.js → p-BIFt5zIX.js} +1 -1
  66. package/dist/components/{p-UIytIOVz.js → p-BJoG95Kt.js} +1 -1
  67. package/dist/components/{p-D3dq5pt5.js → p-BKBd44No.js} +1 -1
  68. package/dist/components/{p-DGBRubiD.js → p-BKg1YV-H.js} +1 -1
  69. package/dist/components/{p-D9tjoBhH.js → p-BL9Vy4Fd.js} +1 -1
  70. package/dist/components/p-BXcizROm.js +1 -0
  71. package/dist/components/{p-BTWJkT9Y.js → p-Bcp4vs0m.js} +1 -1
  72. package/dist/components/{p-B90EQBEX.js → p-BeR_5Fwe.js} +1 -1
  73. package/dist/components/p-BsJ3_flK.js +1 -0
  74. package/dist/components/{p-BVVYrEje.js → p-BuubsWWz.js} +1 -1
  75. package/dist/components/{p-BBRQlkBM.js → p-C-xm1A4R.js} +1 -1
  76. package/dist/components/{p-DhgwAPO4.js → p-CD0706HD.js} +1 -1
  77. package/dist/components/{p-c9mdxFTZ.js → p-CDiIm8f6.js} +1 -1
  78. package/dist/components/{p-BSnINeoq.js → p-CHvrvQsZ.js} +1 -1
  79. package/dist/components/{p-BNxNJ3CK.js → p-CJYl_ssf.js} +1 -1
  80. package/dist/components/{p-C3rAloxT.js → p-CbsRJTHs.js} +1 -1
  81. package/dist/components/{p-CaQ-qyG-.js → p-CrpzIzUy.js} +1 -1
  82. package/dist/components/p-Cw8yDfQh.js +1 -0
  83. package/dist/components/{p-k89ztBz6.js → p-CygiHfH3.js} +1 -1
  84. package/dist/{design-system/p-GXE2lEVj.js → components/p-D60P6BdJ.js} +1 -1
  85. package/dist/components/{p-D6GUzecR.js → p-D9tQwTWy.js} +1 -1
  86. package/dist/components/{p-j1n74q9u.js → p-DHINsZ60.js} +1 -1
  87. package/dist/components/{p-Dz70SQco.js → p-DJsKwChT.js} +1 -1
  88. package/dist/components/{p-C4Vfr3RI.js → p-DObwsGYE.js} +1 -1
  89. package/dist/components/{p-BnhzUsGP.js → p-DTEO2eLq.js} +1 -1
  90. package/dist/components/{p-DUHiXyfJ.js → p-DYHntcvV.js} +1 -1
  91. package/dist/components/p-De0OtxK5.js +1 -0
  92. package/dist/components/{p-BxiJsH7Z.js → p-DgK8EUjx.js} +1 -1
  93. package/dist/components/{p-BOTW76OV.js → p-DuMx_9he.js} +1 -1
  94. package/dist/components/{p-DsZ3vasC.js → p-Dv7x-UAd.js} +1 -1
  95. package/dist/components/p-KSTsd4qM.js +1 -0
  96. package/dist/components/{p-CBXH-GWN.js → p-P6SE7iQV.js} +1 -1
  97. package/dist/components/{p-D6AroYk-.js → p-V8hUcpnj.js} +1 -1
  98. package/dist/components/{p-DlROb9xa.js → p-b9Q4MYgR.js} +1 -1
  99. package/dist/components/{p-h-EFBJM4.js → p-hd2Gc2Z3.js} +1 -1
  100. package/dist/components/{p-B_12VhSA.js → p-mbe7jmT5.js} +1 -1
  101. package/dist/components/sd-action-modal.js +1 -1
  102. package/dist/components/sd-badge.js +1 -1
  103. package/dist/components/sd-barcode-input.js +1 -1
  104. package/dist/components/sd-button.js +1 -1
  105. package/dist/components/sd-calendar.js +1 -1
  106. package/dist/components/sd-callout.js +1 -1
  107. package/dist/components/sd-card.js +1 -1
  108. package/dist/components/sd-checkbox.js +1 -1
  109. package/dist/components/sd-chip-input.js +1 -1
  110. package/dist/components/sd-chip.js +1 -1
  111. package/dist/components/sd-circle-progress.js +1 -1
  112. package/dist/components/sd-confirm-modal.js +1 -1
  113. package/dist/components/sd-date-box.js +1 -1
  114. package/dist/components/sd-date-picker-trigger.js +1 -1
  115. package/dist/components/sd-date-picker.js +1 -1
  116. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  117. package/dist/components/sd-date-range-picker.js +1 -1
  118. package/dist/components/sd-divider.js +1 -1
  119. package/dist/components/sd-dropdown-button.js +1 -1
  120. package/dist/components/sd-field.js +1 -1
  121. package/dist/components/sd-file-picker.js +1 -1
  122. package/dist/components/sd-floating-portal.js +1 -1
  123. package/dist/components/sd-form.js +1 -1
  124. package/dist/components/sd-ghost-button.js +1 -1
  125. package/dist/components/sd-guide.js +1 -1
  126. package/dist/components/sd-icon.js +1 -1
  127. package/dist/components/sd-input.js +1 -1
  128. package/dist/components/sd-key-value-table.js +1 -1
  129. package/dist/components/sd-linear-progress.js +1 -1
  130. package/dist/components/sd-loading-container.js +1 -1
  131. package/dist/components/sd-loading-modal.js +1 -1
  132. package/dist/components/sd-modal-container.js +1 -1
  133. package/dist/components/sd-number-input.js +1 -1
  134. package/dist/components/sd-pagination.js +1 -1
  135. package/dist/components/sd-popover.js +1 -1
  136. package/dist/components/sd-popup.js +1 -1
  137. package/dist/components/sd-portal.js +1 -1
  138. package/dist/components/sd-radio-button.js +1 -1
  139. package/dist/components/sd-radio-group.js +1 -1
  140. package/dist/components/sd-radio.js +1 -1
  141. package/dist/components/sd-select-list-item-search.js +1 -1
  142. package/dist/components/sd-select-list-item.js +1 -1
  143. package/dist/components/sd-select-listbox.js +1 -1
  144. package/dist/components/sd-select-trigger.js +1 -1
  145. package/dist/components/sd-select.js +1 -1
  146. package/dist/components/sd-switch.js +1 -1
  147. package/dist/components/sd-table.js +1 -1
  148. package/dist/components/sd-tabs.js +1 -1
  149. package/dist/components/sd-tag.js +1 -1
  150. package/dist/components/sd-tbody.js +1 -1
  151. package/dist/components/sd-td.js +1 -1
  152. package/dist/components/sd-text-link.js +1 -1
  153. package/dist/components/sd-textarea.js +1 -1
  154. package/dist/components/sd-thead.js +1 -1
  155. package/dist/components/sd-toast-container.js +1 -1
  156. package/dist/components/sd-toast.js +1 -1
  157. package/dist/components/sd-toggle.js +1 -1
  158. package/dist/components/sd-tooltip.js +1 -1
  159. package/dist/components/sd-tr.js +1 -1
  160. package/dist/design-system/design-system.css +1 -1
  161. package/dist/design-system/design-system.esm.js +1 -1
  162. package/dist/design-system/{p-d6329729.entry.js → p-024c1605.entry.js} +1 -1
  163. package/dist/design-system/{p-f089fc54.entry.js → p-030b0602.entry.js} +1 -1
  164. package/dist/design-system/{p-d4097b87.entry.js → p-089235d2.entry.js} +1 -1
  165. package/dist/design-system/{p-9b53de38.entry.js → p-0dfdcfed.entry.js} +1 -1
  166. package/dist/design-system/{p-6e702726.entry.js → p-0f3d40f2.entry.js} +1 -1
  167. package/dist/design-system/{p-f910d33f.entry.js → p-12eabcc9.entry.js} +1 -1
  168. package/dist/design-system/{p-eb1233ff.entry.js → p-29b84d12.entry.js} +1 -1
  169. package/dist/design-system/{p-83a86e6d.entry.js → p-2b2aaa32.entry.js} +1 -1
  170. package/dist/design-system/{p-8c5451f2.entry.js → p-36275d32.entry.js} +1 -1
  171. package/dist/design-system/{p-25a11d7d.entry.js → p-3f347a3a.entry.js} +1 -1
  172. package/dist/design-system/{p-a76a8463.entry.js → p-4f4b3dab.entry.js} +1 -1
  173. package/dist/design-system/{p-352a72ef.entry.js → p-59ecccb2.entry.js} +1 -1
  174. package/dist/design-system/{p-7cf2305b.entry.js → p-6324bbde.entry.js} +1 -1
  175. package/dist/design-system/{p-3f16f44b.entry.js → p-63804698.entry.js} +1 -1
  176. package/dist/design-system/{p-90a360ca.entry.js → p-669dfbe4.entry.js} +1 -1
  177. package/dist/design-system/{p-43c47cd5.entry.js → p-66cb4a7c.entry.js} +1 -1
  178. package/dist/design-system/{p-0fcb6fb3.entry.js → p-7e1f14a6.entry.js} +1 -1
  179. package/dist/design-system/{p-250b8e5d.entry.js → p-8d340091.entry.js} +1 -1
  180. package/dist/design-system/{p-5b184e17.entry.js → p-8e428210.entry.js} +1 -1
  181. package/dist/design-system/{p-754c11a8.entry.js → p-93c7c640.entry.js} +1 -1
  182. package/dist/design-system/{p-8be26652.entry.js → p-9860b9d9.entry.js} +1 -1
  183. package/dist/design-system/{p-e77fe58a.entry.js → p-9991485c.entry.js} +1 -1
  184. package/dist/design-system/p-9adb306b.entry.js +1 -0
  185. package/dist/design-system/p-BXcizROm.js +1 -0
  186. package/dist/design-system/p-BwIs2-fm.js +2 -0
  187. package/dist/design-system/p-C2-fl-Dc.js +1 -0
  188. package/dist/design-system/p-Cw8yDfQh.js +1 -0
  189. package/dist/design-system/{p-D6GUzecR.js → p-D9tQwTWy.js} +1 -1
  190. package/dist/design-system/p-De0OtxK5.js +1 -0
  191. package/dist/design-system/{p-1680b427.entry.js → p-a2796cd6.entry.js} +1 -1
  192. package/dist/design-system/{p-c8e86fb4.entry.js → p-b0b9995e.entry.js} +1 -1
  193. package/dist/design-system/{p-992f9509.entry.js → p-b6a139b7.entry.js} +1 -1
  194. package/dist/design-system/{p-a32704bc.entry.js → p-b8394ddb.entry.js} +1 -1
  195. package/dist/design-system/{p-20bb91ed.entry.js → p-c561595a.entry.js} +1 -1
  196. package/dist/design-system/{p-3064d7c6.entry.js → p-c5bd0dc9.entry.js} +1 -1
  197. package/dist/design-system/{p-f9c0013c.entry.js → p-ceda6367.entry.js} +1 -1
  198. package/dist/design-system/{p-9761ef4a.entry.js → p-d6bb5c82.entry.js} +1 -1
  199. package/dist/design-system/{p-8001447c.entry.js → p-d7e1a303.entry.js} +1 -1
  200. package/dist/design-system/{p-c79bf2eb.entry.js → p-d87b75ff.entry.js} +1 -1
  201. package/dist/design-system/{p-ba5bb1ee.entry.js → p-df3faae8.entry.js} +1 -1
  202. package/dist/design-system/{p-a0349edd.entry.js → p-e0d4193a.entry.js} +1 -1
  203. package/dist/design-system/p-e0fa6937.entry.js +1 -0
  204. package/dist/design-system/{p-2646a746.entry.js → p-e2dabf85.entry.js} +1 -1
  205. package/dist/design-system/p-ef60be0f.entry.js +1 -0
  206. package/dist/design-system/{p-4d68b0a8.entry.js → p-f43dd680.entry.js} +1 -1
  207. package/dist/design-system/{p-89c8585f.entry.js → p-f7123e89.entry.js} +1 -1
  208. package/dist/esm/{component.modal-DOXMJi-V.js → component.modal-Cw8yDfQh.js} +0 -14
  209. package/dist/esm/component.overlay-De0OtxK5.js +27 -0
  210. package/dist/esm/{component.progress-D1vaasIp.js → component.progress-BG5nGnBi.js} +1 -2
  211. package/dist/esm/{component.table-D6GUzecR.js → component.table-D9tQwTWy.js} +4 -5
  212. package/dist/esm/design-system.js +2 -2
  213. package/dist/esm/{index-BZ5lcC25.js → index-BwIs2-fm.js} +1 -1
  214. package/dist/esm/loader.js +2 -2
  215. package/dist/esm/sd-action-modal.entry.js +12 -10
  216. package/dist/esm/sd-badge.entry.js +1 -1
  217. package/dist/esm/sd-barcode-input.entry.js +1 -1
  218. package/dist/esm/{sd-button.config-DjcjlPt7.js → sd-button.config-ClMlDGkX.js} +1 -2
  219. package/dist/esm/sd-button_2.entry.js +2 -2
  220. package/dist/esm/sd-calendar_2.entry.js +1 -1
  221. package/dist/esm/sd-callout.entry.js +1 -1
  222. package/dist/esm/sd-card.entry.js +1 -1
  223. package/dist/esm/sd-checkbox.entry.js +1 -1
  224. package/dist/esm/sd-chip-input.entry.js +1 -1
  225. package/dist/esm/sd-chip.entry.js +1 -1
  226. package/dist/esm/sd-circle-progress.entry.js +6 -16
  227. package/dist/esm/sd-confirm-modal_2.entry.js +2 -2
  228. package/dist/esm/sd-date-box.entry.js +1 -1
  229. package/dist/esm/sd-date-picker_7.entry.js +1 -1
  230. package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
  231. package/dist/esm/sd-divider.entry.js +1 -1
  232. package/dist/esm/sd-dropdown-button.entry.js +2 -2
  233. package/dist/esm/sd-field_3.entry.js +2 -2
  234. package/dist/esm/sd-form.entry.js +1 -1
  235. package/dist/esm/sd-ghost-button_3.entry.js +2 -3
  236. package/dist/esm/sd-guide.entry.js +1 -1
  237. package/dist/esm/sd-key-value-table.entry.js +3 -3
  238. package/dist/esm/sd-linear-progress.entry.js +2 -2
  239. package/dist/esm/sd-loading-container.entry.js +1 -1
  240. package/dist/esm/sd-modal-container.entry.js +1 -1
  241. package/dist/esm/sd-pagination_4.entry.js +3 -3
  242. package/dist/esm/sd-popover.entry.js +2 -2
  243. package/dist/esm/sd-popup.entry.js +8 -13
  244. package/dist/esm/sd-radio-button.entry.js +1 -1
  245. package/dist/esm/sd-radio.entry.js +1 -1
  246. package/dist/esm/sd-select-list-item_2.entry.js +1 -1
  247. package/dist/esm/sd-select_3.entry.js +2 -2
  248. package/dist/esm/sd-switch.entry.js +1 -1
  249. package/dist/esm/{sd-table.config-B3wuA5wX.js → sd-table.config-BbIWNUE2.js} +3 -3
  250. package/dist/esm/sd-table.entry.js +4 -4
  251. package/dist/esm/sd-tabs.entry.js +1 -1
  252. package/dist/esm/sd-td.entry.js +1 -1
  253. package/dist/esm/sd-text-link.entry.js +2 -3
  254. package/dist/esm/sd-toast-container.entry.js +1 -1
  255. package/dist/esm/sd-toast.entry.js +1 -1
  256. package/dist/esm/sd-toggle.entry.js +2 -3
  257. package/dist/esm/{tooltipArrow-ByHjyr3Z.js → tooltipArrow-CJxhdfqT.js} +1 -1
  258. package/hydrate/index.js +60 -69
  259. package/hydrate/index.mjs +60 -69
  260. package/package.json +1 -1
  261. package/dist/components/p-B3bERWUt.js +0 -1
  262. package/dist/components/p-CEVDmQdt.js +0 -1
  263. package/dist/components/p-Cmg10jpN.js +0 -1
  264. package/dist/components/p-DLZRxIKh.js +0 -1
  265. package/dist/components/p-DOXMJi-V.js +0 -1
  266. package/dist/design-system/p-12e7b9fc.entry.js +0 -1
  267. package/dist/design-system/p-BZ5lcC25.js +0 -2
  268. package/dist/design-system/p-Cmg10jpN.js +0 -1
  269. package/dist/design-system/p-DOXMJi-V.js +0 -1
  270. package/dist/design-system/p-c4e0c490.entry.js +0 -1
  271. package/dist/design-system/p-f418055d.entry.js +0 -1
  272. /package/dist/components/{p-D1vaasIp.js → p-BG5nGnBi.js} +0 -0
  273. /package/dist/components/{p-Dp6NByuZ.js → p-CGs6_91u.js} +0 -0
  274. /package/dist/design-system/{p-D1vaasIp.js → p-BG5nGnBi.js} +0 -0
  275. /package/dist/design-system/{p-DjcjlPt7.js → p-ClMlDGkX.js} +0 -0
@@ -1 +1 @@
1
- import{r as t,c as e,a as s,h as i}from"./p-BZ5lcC25.js";import{n as r}from"./p-CCwNgVmC.js";import{c as h,S as o,f as l,i as n,e as d,E as c,L as a,a as u,b as g,d as p}from"./p-CAFz8W8_.js";import{s as f}from"./p-BE4tnQ2Z.js";import"./p-U8VaRj9c.js";const b=class{constructor(s){t(this,s),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return s(this)}type="default";value=null;options=[];placeholder="선택";dropdownWidth="";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";useSearch=!1;allSelectedLabel="전체";useSelectAll=!1;isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=r();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.getNonDisabledLeaves(this.options),e=this.getSelectedOptions();if(t.length>0&&t.every((t=>e.some((e=>e.value===t.value)))))return this.allSelectedLabel??"전체";const s=this.flattenOptions(this.options);return this.value.map((t=>{if(null!=t&&"object"==typeof t){const e=t;return e.label??s.find((t=>t.value===e.value))?.label??""}return s.find((e=>e.value===t))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options);return t.find((t=>t.value===this.value))?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getNonDisabledLeaves(t){return t.flatMap((t=>t.disabled?[]:t.children?this.getNonDisabledLeaves(t.children):[t]))}getSelectedOptions(){const t=this.value;return null!=t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,e){const s=Number.parseFloat(t);return Number.isFinite(s)?s:e}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const t=this.triggerRef.getBoundingClientRect(),e=b.VIEWPORT_PADDING,s=b.PORTAL_OFFSET_Y,i=this.parsePixelValue(this.dropdownHeight,260),r=this.parsePixelValue(this.maxDropdownWidth,640),h=Math.max(window.innerHeight-t.bottom-e-s,0),o=Math.max(t.top-e-s,0),l=Math.max(h,o),n=Math.max(window.innerWidth-2*e,0);this.resolvedDropdownHeight=`${Math.min(i,l)}px`,this.resolvedMaxDropdownWidth=`${Math.min(r,n)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),b.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:e,leaves:s}=t;if(this.isMulti)this.handleMultiSelect(e,s);else{this.closeDropdown(),this.value=this.emitValue?e.value:e;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,e){const s=this.getSelectedOptions();let i;if(t.children)if(e.every((t=>s.some((e=>e.value===t.value))))){const t=new Set(e.map((t=>t.value)));i=s.filter((e=>!t.has(e.value)))}else{const t=new Set(s.map((t=>t.value))),r=e.filter((e=>!t.has(e.value)));i=[...s,...r]}else i=s.some((e=>e.value===t.value))?s.filter((e=>e.value!==t.value)):[...s,t];this.value=this.toMultiValue(i),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const t={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:b.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return i("sd-field",{key:"0864fe68a337d4bab526fa61570e856c8eff6d1c",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:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},i("div",{key:"781819ed75f47395e96fd6808766e6bb8c246fa5",class:"sd-select",ref:t=>{this.triggerRef=t}},i("sd-select-trigger",{key:"8cebad98f0cd4b333954a55857aec3fbb6f3d283",ref:t=>{this.triggerComponentRef=t},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)&&i("sd-portal",{key:"fe68f0b01256e1c1d3200f9f5fd17c2adf97f0e0",...t},i("sd-select-listbox",{key:"98368524ef06a6d752f2313756a89ae6e8c05955",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,useSearch:this.useSearch,useSelectAll:this.useSelectAll,triggerWidth:this.dropdownWidth||this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};b.style="sd-select{display:inline-flex}sd-select sd-portal{display:none}sd-select .sd-select{position:relative;width:100%;height:100%}";const x=class{constructor(s){t(this,s),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=e=>e.flatMap((e=>e.disabled?[]:e.children?t(e.children):[e]));return t(this.options)}get selectAllState(){if(!this.showSelectAll)return!1;const t=this.getAllNonDisabledLeaves();if(0===t.length)return!1;const e=this.getSelectedValues(),s=t.filter((t=>e.has(t.value))).length;return 0!==s&&(s===t.length||null)}get showSearch(){return!!this.useSearch&&(this.isDepth?h(this.options):this.options.length)>=o}get filteredOptions(){if(null==this.searchKeyword||""===this.searchKeyword)return this.options;if(this.isDepth)return l(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((e=>{const s=n(e.label)?d(e.label):e.label;return null!=s&&s.toLowerCase().includes(t)}))}get isEmpty(){return this.isDepth?0===h(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 e=this.getSelectedValues();if(0===e.size)return!1;const s=this.collectVisibleLeaves(t);if(0===s.length)return!1;const i=s.filter((t=>e.has(t.value))).length;return 0!==i&&(i===s.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const e=this.getSelectedValues(),s=this.collectVisibleLeaves(t);return{selected:s.filter((t=>e.has(t.value))).length,total:s.length}}findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}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 e=this.findOriginalOption(t.value,this.options);return e?this.collectLeaves(e).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const t=[];this.showSelectAll&&t.push(x.SELECT_ALL_OPTION);const e=s=>{for(const i of s){const s=!!i.children;(!s||this.isMulti)&&!i.disabled&&t.push(i),s&&i.children&&i.children.length>0&&e(i.children)}};return e(this.filteredOptions),t}isSelectAllOption(t){return this.showSelectAll&&t.value===x.SELECT_ALL_OPTION.value}emitSelectAll(){if(!this.showSelectAll)return;const t=this.getAllNonDisabledLeaves();this.optionSelect.emit({option:{...x.SELECT_ALL_OPTION,children:t},leaves:t})}handleSelectAllClick=t=>{t.stopPropagation(),this.emitSelectAll()};isOptionFocused(t){if(this.focusedIndex<0)return!1;const e=this.navigableOptions[this.focusedIndex];return null!=e&&e.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 e=this.navigableOptions.findIndex((e=>e.value===t.value));e>=0&&(this.focusedIndex=e)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const e=this.navigableOptions;if("ArrowDown"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%e.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?e.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=e.length)return;t.preventDefault(),t.stopPropagation();const s=e[this.focusedIndex];this.isSelectAllOption(s)?this.emitSelectAll():this.emitOptionSelect(s)}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,e=t?.querySelector(".sd-select-list-item--focused");if(!t||!e)return;const s=t.getBoundingClientRect(),i=e.getBoundingClientRect();i.top<s.top?t.scrollTop+=i.top-s.top:i.bottom>s.bottom&&(t.scrollTop+=i.bottom-s.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,e=1){return t.map((t=>{const s=!!t.children;return[i("sd-select-list-item",{option:t,depth:e,isSelected:s?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),s&&t.children?this.renderOptions(t.children,e+1):null]}))}render(){return i("div",{key:"bb8c7f22a164d29e30d2f9da7740883daef4fc27",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:"ac1b06b12ec20d2b9d57ca3b4074b3752b5da5e1",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"2c7735e7098090762f573d63c2673d6face702c1",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"5377511fd55f0d34056ad64707265dd2cc86afc4",option:x.SELECT_ALL_OPTION,depth:1,isSelected:this.selectAllState,isFocused:this.isOptionFocused(x.SELECT_ALL_OPTION),useCheckbox:!0,onSdListItemClick:this.handleSelectAllClick,onMouseEnter:()=>this.handleOptionHover(x.SELECT_ALL_OPTION)}),this.isEmpty?i("div",{class:"sd-select-listbox__empty"},c):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}]}}};x.style=":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}";const m=class{constructor(s){t(this,s),this.triggerClick=e(this,"sdTriggerClick",7),this.triggerFocus=e(this,"sdTriggerFocus",7),this.triggerBlur=e(this,"sdTriggerBlur",7)}displayText="";placeholder="선택";disabled=!1;isOpen=!1;triggerClick;triggerFocus;triggerBlur;triggerEl;async sdFocus(){this.disabled||this.triggerEl?.focus()}handleClick=()=>{this.disabled||this.triggerClick.emit()};handleFocus=()=>{this.triggerFocus.emit()};handleBlur=()=>{this.triggerBlur.emit()};render(){const t=""!==this.displayText;return i("div",{key:"b2f140907d6e4454a3adfb9d3dd9babd9058c178",ref:t=>{this.triggerEl=t},role:"button","aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false",tabindex:this.disabled?-1:0,class:{"sd-select-trigger":!0,"sd-select-trigger--open":this.isOpen,"sd-select-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${p.paddingX}px`,"--trigger-gap":`${p.gap}px`,"--trigger-font-size":`${g.fontSize}px`,"--trigger-line-height":`${g.lineHeight}px`,"--trigger-font-weight":g.fontWeight,"--trigger-color":this.disabled?u.text.disabled:t?u.text.default:u.icon.default,"--trigger-icon-color":this.disabled?u.icon.disabled:u.icon.default},onClick:this.handleClick,onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick())},onFocus:this.handleFocus,onBlur:this.handleBlur},i("div",{key:"6803bc50c5f62dce1b1e9d874559f8ca5fca7b75",class:"sd-select-trigger__content"},t&&n(this.displayText)?i("span",{class:"sd-select-trigger__text",ref:t=>t&&(t.innerHTML=f(this.displayText))}):i("span",{class:"sd-select-trigger__text"},t?this.displayText:this.placeholder??"선택"),i("sd-icon",{key:"397264b3179fb6699c1ee5454f76ac9d0779488c",name:"chevronDown",size:12,color:"var(--trigger-icon-color)",class:{"sd-select-trigger__icon":!0,"sd-select-trigger__icon--open":this.isOpen}})))}};m.style="sd-select-trigger{display:block;width:100%;height:100%}sd-select-trigger .sd-select-trigger{display:flex;width:100%;height:100%;cursor:pointer;user-select:none;overflow:hidden;border-radius:3px}sd-select-trigger .sd-select-trigger--disabled{cursor:not-allowed}sd-select-trigger .sd-select-trigger__content{display:flex;align-items:center;gap:var(--trigger-gap);flex:1;padding:0 var(--trigger-padding-x);min-width:0}sd-select-trigger .sd-select-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-trigger .sd-select-trigger__icon{flex-shrink:0;transition:transform 0.2s ease}sd-select-trigger .sd-select-trigger__icon--open{transform:rotate(180deg)}";export{b as sd_select,x as sd_select_listbox,m as sd_select_trigger}
1
+ import{r as t,c as e,a as s,h as i}from"./p-BwIs2-fm.js";import{n as r}from"./p-CCwNgVmC.js";import{c as h,S as o,f as l,i as n,e as c,E as d,L as a,a as u,b as g,d as p}from"./p-CAFz8W8_.js";import{s as f}from"./p-BE4tnQ2Z.js";import"./p-U8VaRj9c.js";const b=class{constructor(s){t(this,s),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return s(this)}type="default";value=null;options=[];placeholder="선택";dropdownWidth="";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";useSearch=!1;allSelectedLabel="전체";useSelectAll=!1;isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=r();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.getNonDisabledLeaves(this.options),e=this.getSelectedOptions();if(t.length>0&&t.every((t=>e.some((e=>e.value===t.value)))))return this.allSelectedLabel??"전체";const s=this.flattenOptions(this.options);return this.value.map((t=>{if(null!=t&&"object"==typeof t){const e=t;return e.label??s.find((t=>t.value===e.value))?.label??""}return s.find((e=>e.value===t))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options);return t.find((t=>t.value===this.value))?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getNonDisabledLeaves(t){return t.flatMap((t=>t.disabled?[]:t.children?this.getNonDisabledLeaves(t.children):[t]))}getSelectedOptions(){const t=this.value;return null!=t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,e){const s=Number.parseFloat(t);return Number.isFinite(s)?s:e}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const t=this.triggerRef.getBoundingClientRect(),e=b.VIEWPORT_PADDING,s=b.PORTAL_OFFSET_Y,i=this.parsePixelValue(this.dropdownHeight,260),r=this.parsePixelValue(this.maxDropdownWidth,640),h=Math.max(window.innerHeight-t.bottom-e-s,0),o=Math.max(t.top-e-s,0),l=Math.max(h,o),n=Math.max(window.innerWidth-2*e,0);this.resolvedDropdownHeight=`${Math.min(i,l)}px`,this.resolvedMaxDropdownWidth=`${Math.min(r,n)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),b.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:e,leaves:s}=t;if(this.isMulti)this.handleMultiSelect(e,s);else{this.closeDropdown(),this.value=this.emitValue?e.value:e;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,e){const s=this.getSelectedOptions();let i;if(t.children)if(e.every((t=>s.some((e=>e.value===t.value))))){const t=new Set(e.map((t=>t.value)));i=s.filter((e=>!t.has(e.value)))}else{const t=new Set(s.map((t=>t.value))),r=e.filter((e=>!t.has(e.value)));i=[...s,...r]}else i=s.some((e=>e.value===t.value))?s.filter((e=>e.value!==t.value)):[...s,t];this.value=this.toMultiValue(i),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const t={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:b.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return i("sd-field",{key:"0864fe68a337d4bab526fa61570e856c8eff6d1c",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:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},i("div",{key:"781819ed75f47395e96fd6808766e6bb8c246fa5",class:"sd-select",ref:t=>{this.triggerRef=t}},i("sd-select-trigger",{key:"8cebad98f0cd4b333954a55857aec3fbb6f3d283",ref:t=>{this.triggerComponentRef=t},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)&&i("sd-portal",{key:"fe68f0b01256e1c1d3200f9f5fd17c2adf97f0e0",...t},i("sd-select-listbox",{key:"98368524ef06a6d752f2313756a89ae6e8c05955",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,useSearch:this.useSearch,useSelectAll:this.useSelectAll,triggerWidth:this.dropdownWidth||this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};b.style="sd-select{display:inline-flex}sd-select sd-portal{display:none}sd-select .sd-select{position:relative;width:100%;height:100%}";const x=class{constructor(s){t(this,s),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=e=>e.flatMap((e=>e.disabled?[]:e.children?t(e.children):[e]));return t(this.options)}get selectAllState(){if(!this.showSelectAll)return!1;const t=this.getAllNonDisabledLeaves();if(0===t.length)return!1;const e=this.getSelectedValues(),s=t.filter((t=>e.has(t.value))).length;return 0!==s&&(s===t.length||null)}get showSearch(){return!!this.useSearch&&(this.isDepth?h(this.options):this.options.length)>=o}get filteredOptions(){if(null==this.searchKeyword||""===this.searchKeyword)return this.options;if(this.isDepth)return l(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((e=>{const s=n(e.label)?c(e.label):e.label;return null!=s&&s.toLowerCase().includes(t)}))}get isEmpty(){return this.isDepth?0===h(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 e=this.getSelectedValues();if(0===e.size)return!1;const s=this.collectVisibleLeaves(t);if(0===s.length)return!1;const i=s.filter((t=>e.has(t.value))).length;return 0!==i&&(i===s.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const e=this.getSelectedValues(),s=this.collectVisibleLeaves(t);return{selected:s.filter((t=>e.has(t.value))).length,total:s.length}}findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}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 e=this.findOriginalOption(t.value,this.options);return e?this.collectLeaves(e).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const t=[];this.showSelectAll&&t.push(x.SELECT_ALL_OPTION);const e=s=>{for(const i of s){const s=!!i.children;(!s||this.isMulti)&&!i.disabled&&t.push(i),s&&i.children&&i.children.length>0&&e(i.children)}};return e(this.filteredOptions),t}isSelectAllOption(t){return this.showSelectAll&&t.value===x.SELECT_ALL_OPTION.value}emitSelectAll(){if(!this.showSelectAll)return;const t=this.getAllNonDisabledLeaves();this.optionSelect.emit({option:{...x.SELECT_ALL_OPTION,children:t},leaves:t})}handleSelectAllClick=t=>{t.stopPropagation(),this.emitSelectAll()};isOptionFocused(t){if(this.focusedIndex<0)return!1;const e=this.navigableOptions[this.focusedIndex];return null!=e&&e.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 e=this.navigableOptions.findIndex((e=>e.value===t.value));e>=0&&(this.focusedIndex=e)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const e=this.navigableOptions;if("ArrowDown"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%e.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?e.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=e.length)return;t.preventDefault(),t.stopPropagation();const s=e[this.focusedIndex];this.isSelectAllOption(s)?this.emitSelectAll():this.emitOptionSelect(s)}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,e=t?.querySelector(".sd-select-list-item--focused");if(!t||!e)return;const s=t.getBoundingClientRect(),i=e.getBoundingClientRect();i.top<s.top?t.scrollTop+=i.top-s.top:i.bottom>s.bottom&&(t.scrollTop+=i.bottom-s.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,e=1){return t.map((t=>{const s=!!t.children;return[i("sd-select-list-item",{option:t,depth:e,isSelected:s?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),s&&t.children?this.renderOptions(t.children,e+1):null]}))}render(){return i("div",{key:"bb8c7f22a164d29e30d2f9da7740883daef4fc27",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:"ac1b06b12ec20d2b9d57ca3b4074b3752b5da5e1",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"2c7735e7098090762f573d63c2673d6face702c1",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"5377511fd55f0d34056ad64707265dd2cc86afc4",option:x.SELECT_ALL_OPTION,depth:1,isSelected:this.selectAllState,isFocused:this.isOptionFocused(x.SELECT_ALL_OPTION),useCheckbox:!0,onSdListItemClick:this.handleSelectAllClick,onMouseEnter:()=>this.handleOptionHover(x.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}]}}};x.style=":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__list::-webkit-scrollbar{opacity:0;width:8px;background:#E5E5E5}:host .sd-select-listbox__list::-webkit-scrollbar:horizontal{height:8px}:host .sd-select-listbox__list::-webkit-scrollbar-thumb{height:80px;background-color:#CCCCCC;border-radius:4px}:host .sd-select-listbox__list::-webkit-scrollbar-track{background-color:#E5E5E5}:host .sd-select-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}";const m=class{constructor(s){t(this,s),this.triggerClick=e(this,"sdTriggerClick",7),this.triggerFocus=e(this,"sdTriggerFocus",7),this.triggerBlur=e(this,"sdTriggerBlur",7)}displayText="";placeholder="선택";disabled=!1;isOpen=!1;triggerClick;triggerFocus;triggerBlur;triggerEl;async sdFocus(){this.disabled||this.triggerEl?.focus()}handleClick=()=>{this.disabled||this.triggerClick.emit()};handleFocus=()=>{this.triggerFocus.emit()};handleBlur=()=>{this.triggerBlur.emit()};render(){const t=""!==this.displayText;return i("div",{key:"b2f140907d6e4454a3adfb9d3dd9babd9058c178",ref:t=>{this.triggerEl=t},role:"button","aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false",tabindex:this.disabled?-1:0,class:{"sd-select-trigger":!0,"sd-select-trigger--open":this.isOpen,"sd-select-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${p.paddingX}px`,"--trigger-gap":`${p.gap}px`,"--trigger-font-size":`${g.fontSize}px`,"--trigger-line-height":`${g.lineHeight}px`,"--trigger-font-weight":g.fontWeight,"--trigger-color":this.disabled?u.text.disabled:t?u.text.default:u.icon.default,"--trigger-icon-color":this.disabled?u.icon.disabled:u.icon.default},onClick:this.handleClick,onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick())},onFocus:this.handleFocus,onBlur:this.handleBlur},i("div",{key:"6803bc50c5f62dce1b1e9d874559f8ca5fca7b75",class:"sd-select-trigger__content"},t&&n(this.displayText)?i("span",{class:"sd-select-trigger__text",ref:t=>t&&(t.innerHTML=f(this.displayText))}):i("span",{class:"sd-select-trigger__text"},t?this.displayText:this.placeholder??"선택"),i("sd-icon",{key:"397264b3179fb6699c1ee5454f76ac9d0779488c",name:"chevronDown",size:12,color:"var(--trigger-icon-color)",class:{"sd-select-trigger__icon":!0,"sd-select-trigger__icon--open":this.isOpen}})))}};m.style="sd-select-trigger{display:block;width:100%;height:100%}sd-select-trigger .sd-select-trigger{display:flex;width:100%;height:100%;cursor:pointer;user-select:none;overflow:hidden;border-radius:3px}sd-select-trigger .sd-select-trigger--disabled{cursor:not-allowed}sd-select-trigger .sd-select-trigger__content{display:flex;align-items:center;gap:var(--trigger-gap);flex:1;padding:0 var(--trigger-padding-x);min-width:0}sd-select-trigger .sd-select-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-trigger .sd-select-trigger__icon{flex-shrink:0;transition:transform 0.2s ease}sd-select-trigger .sd-select-trigger__icon--open{transform:rotate(180deg)}";export{b as sd_select,x as sd_select_listbox,m as sd_select_trigger}
@@ -12,20 +12,6 @@ const modal = {
12
12
  },
13
13
  bg: "#FFFFFF",
14
14
  action: {
15
- header: {
16
- paddingX: "24",
17
- paddingY: "20",
18
- gap: "12"
19
- },
20
- title: {
21
- color: "#033F59",
22
- typography: {
23
- fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
24
- fontWeight: "700",
25
- fontSize: "16",
26
- lineHeight: "26"
27
- }
28
- },
29
15
  body: {
30
16
  paddingX: "20",
31
17
  paddingBottom: "20"
@@ -0,0 +1,27 @@
1
+ const overlay = {
2
+ header: {
3
+ paddingX: "24",
4
+ paddingY: "20",
5
+ gap: "12",
6
+ title: {
7
+ color: "#033F59",
8
+ typography: {
9
+ fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
10
+ fontWeight: "700",
11
+ fontSize: "16",
12
+ lineHeight: "26"
13
+ }
14
+ }
15
+ },
16
+ footer: {
17
+ bg: {
18
+ "default": "#FFFFFF"},
19
+ paddingX: "20",
20
+ paddingY: "8",
21
+ gap: "16"}
22
+ };
23
+ var overlayTokens = {
24
+ overlay: overlay
25
+ };
26
+
27
+ export { overlayTokens as o };
@@ -14,8 +14,7 @@ const progress = {
14
14
  },
15
15
  bar: {
16
16
  text: "#FFFFFF"
17
- }
18
- };
17
+ }};
19
18
  var progressTokens = {
20
19
  progress: progress
21
20
  };
@@ -25,9 +25,9 @@ const table = {
25
25
  height: "32",
26
26
  paddingY: "6"
27
27
  },
28
- paddingX: "16",
29
- frame: {
30
- padding: "8"
28
+ paddingX: {
29
+ "default": "16",
30
+ frame: "8"
31
31
  },
32
32
  typography: {
33
33
  fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
@@ -47,8 +47,7 @@ const table = {
47
47
  radius: "8",
48
48
  keyValue: {
49
49
  body: {
50
- padding: "8"
51
- },
50
+ paddingY: "8"},
52
51
  height: "44",
53
52
  search: {
54
53
  paddingX: "32",
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-BZ5lcC25.js';
2
- export { s as setNonce } from './index-BZ5lcC25.js';
1
+ import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './index-BwIs2-fm.js';
2
+ export { s as setNonce } from './index-BwIs2-fm.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Browser v4.43.2 | MIT Licensed | https://stenciljs.com