@sellmate/design-system 1.0.76 → 1.0.77

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 (430) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-Dptupbm0.js → index-CaGGRpd8.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +2 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +2 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-button-v2_2.cjs.entry.js +3 -3
  8. package/dist/cjs/sd-button_4.cjs.entry.js +10 -13
  9. package/dist/cjs/sd-calendar.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +7 -4
  12. package/dist/cjs/sd-chip.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
  14. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +4 -4
  15. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  16. package/dist/cjs/sd-date-picker-calendar.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-date-picker-trigger.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-date-picker.cjs.entry.js +3 -3
  19. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +2 -2
  20. package/dist/cjs/sd-date-range-picker.cjs.entry.js +1 -1
  21. package/dist/cjs/sd-dropdown-button.cjs.entry.js +94 -7
  22. package/dist/cjs/sd-file-picker.cjs.entry.js +2 -2
  23. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-ghost-button.cjs.entry.js +3 -3
  25. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  26. package/dist/cjs/{sd-input_2.cjs.entry.js → sd-input.cjs.entry.js} +3 -43
  27. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  28. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  30. package/dist/cjs/sd-number-input.cjs.entry.js +4 -4
  31. package/dist/cjs/sd-pagination_5.cjs.entry.js +65 -33
  32. package/dist/cjs/sd-popover.cjs.entry.js +2 -2
  33. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  34. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  35. package/dist/cjs/sd-radio-group.cjs.entry.js +1 -1
  36. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  37. package/dist/cjs/{sd-select-v2-list-item_4.cjs.entry.js → sd-select-list-item_4.cjs.entry.js} +50 -50
  38. package/dist/cjs/sd-switch.cjs.entry.js +2 -2
  39. package/dist/cjs/sd-table.cjs.entry.js +21 -11
  40. package/dist/cjs/sd-table.config-hnNodd18.js +105 -0
  41. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  42. package/dist/cjs/sd-tag.cjs.entry.js +3 -3
  43. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  44. package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
  45. package/dist/cjs/sd-textarea.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  47. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  48. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  49. package/dist/cjs/{system-BbCUNhDJ.js → system-DRemSdU1.js} +7 -1
  50. package/dist/cjs/{tooltipArrow-DuANjCfc.js → tooltipArrow-BEff0q3z.js} +1 -1
  51. package/dist/collection/collection-manifest.json +11 -21
  52. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  53. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  54. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  55. package/dist/collection/components/sd-button-v2/sd-button-v2.js +2 -2
  56. package/dist/collection/components/sd-card/sd-card.js +1 -1
  57. package/dist/collection/components/sd-checkbox/sd-checkbox.js +6 -3
  58. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  59. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  60. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  61. package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +1 -1
  62. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  63. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  64. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  65. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
  66. package/dist/collection/components/sd-field/sd-field.js +5 -8
  67. package/dist/collection/components/sd-file-picker/sd-file-picker.js +1 -1
  68. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  69. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +2 -2
  70. package/dist/collection/components/sd-input/sd-input.js +2 -2
  71. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  72. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  73. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  74. package/dist/collection/components/sd-number-input/sd-number-input.js +3 -3
  75. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  76. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  77. package/dist/collection/components/{sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.css → sd-select/sd-select-list-item/sd-select-list-item.css} +13 -13
  78. package/dist/collection/components/{sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.js → sd-select/sd-select-list-item/sd-select-list-item.js} +28 -28
  79. package/dist/collection/components/{sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.css → sd-select/sd-select-list-item-search/sd-select-list-item-search.css} +11 -11
  80. package/dist/collection/components/{sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.js → sd-select/sd-select-list-item-search/sd-select-list-item-search.js} +13 -13
  81. package/dist/collection/components/{sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.css → sd-select/sd-select-listbox/sd-select-listbox.css} +3 -3
  82. package/dist/collection/components/{sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.js → sd-select/sd-select-listbox/sd-select-listbox.js} +35 -35
  83. package/dist/collection/components/{sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.css → sd-select/sd-select-trigger/sd-select-trigger.css} +7 -7
  84. package/dist/collection/components/{sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.js → sd-select/sd-select-trigger/sd-select-trigger.js} +12 -12
  85. package/dist/collection/components/sd-select/sd-select.css +3 -47
  86. package/dist/collection/components/sd-select/sd-select.js +413 -294
  87. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  88. package/dist/collection/components/sd-table/sd-table.config.js +81 -0
  89. package/dist/collection/components/sd-table/sd-table.css +16 -8
  90. package/dist/collection/components/sd-table/sd-table.js +18 -9
  91. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +0 -8
  92. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +3 -4
  93. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  94. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +16 -12
  95. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +52 -8
  96. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +3 -3
  97. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +15 -2
  98. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  99. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  100. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  101. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  102. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  103. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  104. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  105. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  106. package/dist/collection/utils/testing/index.js +2 -0
  107. package/dist/collection/utils/testing/mocks.js +35 -0
  108. package/dist/components/index.js +1 -1
  109. package/dist/components/p-B6KZfiQ5.js +1 -0
  110. package/dist/components/{p-6PsyRF61.js → p-BEOrkEV1.js} +1 -1
  111. package/dist/components/p-BJJvCBQs.js +1 -0
  112. package/dist/components/p-BM_PRj8W.js +1 -0
  113. package/dist/components/p-BR_ZAr48.js +1 -0
  114. package/dist/components/{p-BBD_1E3n.js → p-BeNJfxnb.js} +1 -1
  115. package/dist/components/{p-BLwIhCdO.js → p-BfoLbEZx.js} +1 -1
  116. package/dist/components/p-Bm8Fue-a.js +1 -0
  117. package/dist/components/{p-DaAhgdib.js → p-BynnUMVZ.js} +1 -1
  118. package/dist/components/{p-D5HLYqT-.js → p-C52iEAqd.js} +1 -1
  119. package/dist/components/{p-BQvugXhH.js → p-C8Dy_x5h.js} +1 -1
  120. package/dist/components/{p-CgMyz4NQ.js → p-CJAQuJik.js} +1 -1
  121. package/dist/components/{p-iAWNMLXh.js → p-CJqZcEqD.js} +1 -1
  122. package/dist/components/{p-d4UB2UF7.js → p-CNm5Qbf-.js} +1 -1
  123. package/dist/components/{p-B3xZdEDI.js → p-CQy5JErK.js} +1 -1
  124. package/dist/components/{p-BgFLSKqC.js → p-CZxeqYuw.js} +1 -1
  125. package/dist/components/{p-CUg9NH6y.js → p-CkgQbCMR.js} +1 -1
  126. package/dist/components/p-CvnC61M9.js +1 -0
  127. package/dist/components/{p-6LtMeKKA.js → p-D1SJ2TMu.js} +1 -1
  128. package/dist/components/{p-BXdEjuI_.js → p-D2FOkhao.js} +1 -1
  129. package/dist/components/{p-C7h8lwnU.js → p-D66nhMt3.js} +1 -1
  130. package/dist/components/p-DDDZWrWj.js +1 -0
  131. package/dist/components/{p-Csfj4h1A.js → p-DK3vj3bG.js} +1 -1
  132. package/dist/components/{p-CZPR_5mk.js → p-DcuLMUdl.js} +1 -1
  133. package/dist/components/p-DxXwz3cY.js +1 -0
  134. package/dist/components/p-NlCzTjK4.js +1 -0
  135. package/dist/components/{p-BZm6KN1s.js → p-RpjjrX78.js} +1 -1
  136. package/dist/components/{p-BM0sVq5Z.js → p-ZH78tQXS.js} +1 -1
  137. package/dist/components/{p-DQfNwvwx.js → p-ZLsQA11g.js} +1 -1
  138. package/dist/components/{p-DdJyzIYe.js → p-eGToaKCt.js} +1 -1
  139. package/dist/components/p-hTUSl23P.js +1 -0
  140. package/dist/components/p-mqa9-iql.js +1 -0
  141. package/dist/components/sd-action-modal.js +1 -1
  142. package/dist/components/sd-badge.js +1 -1
  143. package/dist/components/sd-barcode-input.js +1 -1
  144. package/dist/components/sd-button-v2.js +1 -1
  145. package/dist/components/sd-button.js +1 -1
  146. package/dist/components/sd-calendar.js +1 -1
  147. package/dist/components/sd-card.js +1 -1
  148. package/dist/components/sd-checkbox.js +1 -1
  149. package/dist/components/sd-chip.js +1 -1
  150. package/dist/components/sd-circle-progress.js +1 -1
  151. package/dist/components/sd-confirm-modal.js +1 -1
  152. package/dist/components/sd-date-box.js +1 -1
  153. package/dist/components/sd-date-picker-calendar.js +1 -1
  154. package/dist/components/sd-date-picker-trigger.js +1 -1
  155. package/dist/components/sd-date-picker.js +1 -1
  156. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  157. package/dist/components/sd-date-range-picker.js +1 -1
  158. package/dist/components/sd-dropdown-button.js +1 -1
  159. package/dist/components/sd-field.js +1 -1
  160. package/dist/components/sd-file-picker.js +1 -1
  161. package/dist/components/sd-floating-portal.js +1 -1
  162. package/dist/components/sd-form.js +1 -1
  163. package/dist/components/sd-ghost-button.js +1 -1
  164. package/dist/components/sd-guide.js +1 -1
  165. package/dist/components/sd-icon.js +1 -1
  166. package/dist/components/sd-input.js +1 -1
  167. package/dist/components/sd-linear-progress.js +1 -1
  168. package/dist/components/sd-loading-container.js +1 -1
  169. package/dist/components/sd-loading-modal.js +1 -1
  170. package/dist/components/sd-modal-container.js +1 -1
  171. package/dist/components/sd-number-input.js +1 -1
  172. package/dist/components/sd-pagination.js +1 -1
  173. package/dist/components/sd-popover.js +1 -1
  174. package/dist/components/sd-portal.js +1 -1
  175. package/dist/components/sd-radio-button.js +1 -1
  176. package/dist/components/sd-radio-group.js +1 -1
  177. package/dist/components/sd-radio.js +1 -1
  178. package/dist/components/sd-select-list-item-search.d.ts +11 -0
  179. package/dist/components/sd-select-list-item-search.js +1 -0
  180. package/dist/components/{sd-select-multiple.d.ts → sd-select-list-item.d.ts} +4 -4
  181. package/dist/components/sd-select-list-item.js +1 -0
  182. package/dist/components/{sd-select-option.d.ts → sd-select-listbox.d.ts} +4 -4
  183. package/dist/components/sd-select-listbox.js +1 -0
  184. package/dist/components/{sd-select-group.d.ts → sd-select-trigger.d.ts} +4 -4
  185. package/dist/components/sd-select-trigger.js +1 -0
  186. package/dist/components/sd-select.js +1 -1
  187. package/dist/components/sd-switch.js +1 -1
  188. package/dist/components/sd-table.js +1 -1
  189. package/dist/components/sd-tabs.js +1 -1
  190. package/dist/components/sd-tag.js +1 -1
  191. package/dist/components/sd-tbody.js +1 -1
  192. package/dist/components/sd-td.js +1 -1
  193. package/dist/components/sd-text-link.js +1 -1
  194. package/dist/components/sd-textarea.js +1 -1
  195. package/dist/components/sd-thead.js +1 -1
  196. package/dist/components/sd-toast-container.js +1 -1
  197. package/dist/components/sd-toast.js +1 -1
  198. package/dist/components/sd-toggle.js +1 -1
  199. package/dist/components/sd-tooltip.js +1 -1
  200. package/dist/components/sd-tr.js +1 -1
  201. package/dist/design-system/design-system.css +1 -1
  202. package/dist/design-system/design-system.esm.js +1 -1
  203. package/dist/design-system/{p-dad07e1a.entry.js → p-120df622.entry.js} +1 -1
  204. package/dist/design-system/{p-6af9e663.entry.js → p-28b727df.entry.js} +1 -1
  205. package/dist/design-system/{p-9466cd93.entry.js → p-2cd2fb76.entry.js} +1 -1
  206. package/dist/design-system/p-3f9d60a0.entry.js +1 -0
  207. package/dist/design-system/p-400b3676.entry.js +1 -0
  208. package/dist/design-system/{p-2eb910ec.entry.js → p-41ea33fb.entry.js} +1 -1
  209. package/dist/design-system/{p-c7bcb232.entry.js → p-42906763.entry.js} +1 -1
  210. package/dist/design-system/{p-7fe3a466.entry.js → p-42a8f8a2.entry.js} +1 -1
  211. package/dist/design-system/{p-506f2b68.entry.js → p-43ffe7b0.entry.js} +1 -1
  212. package/dist/design-system/p-4ad9a5b8.entry.js +1 -0
  213. package/dist/design-system/{p-3a9559ee.entry.js → p-504033e8.entry.js} +1 -1
  214. package/dist/design-system/p-64d3c984.entry.js +1 -0
  215. package/dist/design-system/{p-ce3d0f9c.entry.js → p-67f88b1a.entry.js} +1 -1
  216. package/dist/design-system/{p-6a3f8588.entry.js → p-68d0fa15.entry.js} +1 -1
  217. package/dist/design-system/{p-363c9451.entry.js → p-6dc47f4c.entry.js} +1 -1
  218. package/dist/design-system/{p-d6896893.entry.js → p-6f9b0b32.entry.js} +1 -1
  219. package/dist/design-system/{p-3ca5c303.entry.js → p-704dc1f1.entry.js} +1 -1
  220. package/dist/design-system/{p-17cd3a33.entry.js → p-732ee178.entry.js} +1 -1
  221. package/dist/design-system/{p-531a6a82.entry.js → p-7d892b68.entry.js} +1 -1
  222. package/dist/design-system/{p-c9eb70f5.entry.js → p-809e616c.entry.js} +1 -1
  223. package/dist/design-system/p-80c51996.entry.js +1 -0
  224. package/dist/design-system/{p-b745cd95.entry.js → p-889971bc.entry.js} +1 -1
  225. package/dist/design-system/{p-b683f2fe.entry.js → p-8abc2413.entry.js} +1 -1
  226. package/dist/design-system/{p-bb492ba7.entry.js → p-970f9ea5.entry.js} +1 -1
  227. package/dist/design-system/p-BHmXH7dZ.js +2 -0
  228. package/dist/design-system/{p-BgFLSKqC.js → p-CZxeqYuw.js} +1 -1
  229. package/dist/design-system/p-DDDZWrWj.js +1 -0
  230. package/dist/design-system/p-DG7d45mX.js +1 -0
  231. package/dist/design-system/{p-280dc548.entry.js → p-a69d6a99.entry.js} +1 -1
  232. package/dist/design-system/{p-49f78122.entry.js → p-ab5a94c8.entry.js} +1 -1
  233. package/dist/design-system/{p-f4a00276.entry.js → p-ae626d30.entry.js} +1 -1
  234. package/dist/design-system/p-b9a870bf.entry.js +1 -0
  235. package/dist/design-system/{p-97ebf578.entry.js → p-bab814c5.entry.js} +1 -1
  236. package/dist/design-system/{p-eb29dc9f.entry.js → p-c21f30de.entry.js} +1 -1
  237. package/dist/design-system/p-c863a31d.entry.js +1 -0
  238. package/dist/design-system/{p-a8bde8d9.entry.js → p-cab35b9a.entry.js} +1 -1
  239. package/dist/design-system/p-cea424f6.entry.js +1 -0
  240. package/dist/design-system/{p-34f7345b.entry.js → p-d8bb2cb4.entry.js} +1 -1
  241. package/dist/design-system/p-dd63e10f.entry.js +1 -0
  242. package/dist/design-system/{p-55b65a41.entry.js → p-e04302a2.entry.js} +1 -1
  243. package/dist/design-system/{p-5f6379e9.entry.js → p-e84d1bac.entry.js} +1 -1
  244. package/dist/design-system/{p-11029f6e.entry.js → p-ebbffddb.entry.js} +1 -1
  245. package/dist/design-system/{p-68d0d67e.entry.js → p-ec02b3e8.entry.js} +1 -1
  246. package/dist/design-system/{p-8ff967f7.entry.js → p-ed1c4625.entry.js} +1 -1
  247. package/dist/design-system/{p-fdb52620.entry.js → p-f06038fd.entry.js} +1 -1
  248. package/dist/design-system/{p-2cd2f2dd.entry.js → p-f80d10ad.entry.js} +1 -1
  249. package/dist/design-system/p-fbb7e090.entry.js +1 -0
  250. package/dist/design-system/{p-a9fc2c21.entry.js → p-feb84f87.entry.js} +1 -1
  251. package/dist/esm/design-system.js +3 -3
  252. package/dist/esm/{index-Bp7ytJz5.js → index-BHmXH7dZ.js} +1 -1
  253. package/dist/esm/loader.js +3 -3
  254. package/dist/esm/sd-action-modal.entry.js +2 -2
  255. package/dist/esm/sd-badge.entry.js +2 -2
  256. package/dist/esm/sd-barcode-input.entry.js +2 -2
  257. package/dist/esm/sd-button-v2_2.entry.js +3 -3
  258. package/dist/esm/sd-button_4.entry.js +10 -13
  259. package/dist/esm/sd-calendar.entry.js +1 -1
  260. package/dist/esm/sd-card.entry.js +2 -2
  261. package/dist/esm/sd-checkbox.entry.js +7 -4
  262. package/dist/esm/sd-chip.entry.js +2 -2
  263. package/dist/esm/sd-circle-progress.entry.js +3 -3
  264. package/dist/esm/sd-confirm-modal_2.entry.js +4 -4
  265. package/dist/esm/sd-date-box.entry.js +1 -1
  266. package/dist/esm/sd-date-picker-calendar.entry.js +2 -2
  267. package/dist/esm/sd-date-picker-trigger.entry.js +3 -3
  268. package/dist/esm/sd-date-picker.entry.js +3 -3
  269. package/dist/esm/sd-date-range-picker-calendar.entry.js +2 -2
  270. package/dist/esm/sd-date-range-picker.entry.js +1 -1
  271. package/dist/esm/sd-dropdown-button.entry.js +93 -6
  272. package/dist/esm/sd-file-picker.entry.js +2 -2
  273. package/dist/esm/sd-form.entry.js +1 -1
  274. package/dist/esm/sd-ghost-button.entry.js +3 -3
  275. package/dist/esm/sd-guide.entry.js +2 -2
  276. package/dist/esm/{sd-input_2.entry.js → sd-input.entry.js} +4 -43
  277. package/dist/esm/sd-linear-progress.entry.js +3 -3
  278. package/dist/esm/sd-loading-container.entry.js +3 -3
  279. package/dist/esm/sd-modal-container.entry.js +1 -1
  280. package/dist/esm/sd-number-input.entry.js +4 -4
  281. package/dist/esm/sd-pagination_5.entry.js +65 -33
  282. package/dist/esm/sd-popover.entry.js +2 -2
  283. package/dist/esm/sd-portal.entry.js +2 -2
  284. package/dist/esm/sd-radio-button.entry.js +1 -1
  285. package/dist/esm/sd-radio-group.entry.js +1 -1
  286. package/dist/esm/sd-radio.entry.js +1 -1
  287. package/dist/esm/{sd-select-v2-list-item_4.entry.js → sd-select-list-item_4.entry.js} +47 -47
  288. package/dist/esm/sd-switch.entry.js +2 -2
  289. package/dist/esm/sd-table.config-DKkzCQwJ.js +94 -0
  290. package/dist/esm/sd-table.entry.js +21 -11
  291. package/dist/esm/sd-tabs.entry.js +2 -2
  292. package/dist/esm/sd-tag.entry.js +3 -3
  293. package/dist/esm/sd-td.entry.js +2 -2
  294. package/dist/esm/sd-text-link.entry.js +4 -4
  295. package/dist/esm/sd-textarea.entry.js +2 -2
  296. package/dist/esm/sd-toast-container.entry.js +2 -2
  297. package/dist/esm/sd-toast.entry.js +3 -3
  298. package/dist/esm/sd-toggle.entry.js +2 -2
  299. package/dist/esm/{system-BgFLSKqC.js → system-CZxeqYuw.js} +7 -1
  300. package/dist/esm/{tooltipArrow-BHRQVawd.js → tooltipArrow-DZ-N5HBq.js} +1 -1
  301. package/dist/types/components/{sd-select-v2/sd-select-v2-list-item/sd-select-v2-list-item.d.ts → sd-select/sd-select-list-item/sd-select-list-item.d.ts} +4 -4
  302. package/dist/types/components/{sd-select-v2/sd-select-v2-list-item-search/sd-select-v2-list-item-search.d.ts → sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts} +1 -1
  303. package/dist/types/components/{sd-select-v2/sd-select-v2-listbox/sd-select-v2-listbox.d.ts → sd-select/sd-select-listbox/sd-select-listbox.d.ts} +6 -6
  304. package/dist/types/components/{sd-select-v2/sd-select-v2-trigger/sd-select-v2-trigger.d.ts → sd-select/sd-select-trigger/sd-select-trigger.d.ts} +1 -1
  305. package/dist/types/components/{sd-select-v2/sd-select-v2.config.d.ts → sd-select/sd-select.config.d.ts} +12 -12
  306. package/dist/types/components/sd-select/sd-select.d.ts +56 -84
  307. package/dist/types/components/sd-table/constants.d.ts +4 -1
  308. package/dist/types/components/sd-table/sd-table.config.d.ts +64 -0
  309. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +5 -0
  310. package/dist/types/components.d.ts +944 -2386
  311. package/dist/types/utils/testing/index.d.ts +2 -0
  312. package/dist/types/utils/testing/mocks.d.ts +4 -0
  313. package/hydrate/index.js +417 -2208
  314. package/hydrate/index.mjs +417 -2208
  315. package/package.json +1 -1
  316. package/dist/cjs/base-dropdown-event-BTPlZ1KF.js +0 -91
  317. package/dist/cjs/sd-progress.cjs.entry.js +0 -63
  318. package/dist/cjs/sd-select-dropdown_2.cjs.entry.js +0 -231
  319. package/dist/cjs/sd-select-group.cjs.entry.js +0 -332
  320. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +0 -458
  321. package/dist/cjs/sd-select-multiple.cjs.entry.js +0 -191
  322. package/dist/cjs/sd-select-option-group.cjs.entry.js +0 -68
  323. package/dist/cjs/sd-select.cjs.entry.js +0 -181
  324. package/dist/cjs/select-keyboard-navigation-CErfIrGV.js +0 -27
  325. package/dist/cjs/table-test.cjs.entry.js +0 -96
  326. package/dist/collection/components/sd-progress/sd-progress.css +0 -63
  327. package/dist/collection/components/sd-progress/sd-progress.js +0 -186
  328. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.css +0 -30
  329. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +0 -444
  330. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.css +0 -36
  331. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +0 -257
  332. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.css +0 -23
  333. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +0 -161
  334. package/dist/collection/components/sd-select-group/sd-select-group.css +0 -81
  335. package/dist/collection/components/sd-select-group/sd-select-group.js +0 -1061
  336. package/dist/collection/components/sd-select-multiple/sd-select-multiple.css +0 -54
  337. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +0 -770
  338. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +0 -79
  339. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +0 -1183
  340. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.css +0 -75
  341. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +0 -305
  342. package/dist/collection/components/sd-select-v2/sd-select-v2.css +0 -11
  343. package/dist/collection/components/sd-select-v2/sd-select-v2.js +0 -897
  344. package/dist/collection/components/table-test/table-test.css +0 -59
  345. package/dist/collection/components/table-test/table-test.js +0 -316
  346. package/dist/components/p-6AvsuYqF.js +0 -1
  347. package/dist/components/p-7DKZPPev.js +0 -1
  348. package/dist/components/p-9ZtJl4s6.js +0 -1
  349. package/dist/components/p-BRfPoWUn.js +0 -1
  350. package/dist/components/p-BZc6lwGD.js +0 -1
  351. package/dist/components/p-Btx5sC7s.js +0 -1
  352. package/dist/components/p-C-BOe23n.js +0 -1
  353. package/dist/components/p-CNAzAL53.js +0 -1
  354. package/dist/components/p-CqghR1aS.js +0 -1
  355. package/dist/components/p-Cy6HMEsK.js +0 -1
  356. package/dist/components/p-DAC3TaZV.js +0 -1
  357. package/dist/components/p-DBex-RJU.js +0 -1
  358. package/dist/components/p-DWMY9O2B.js +0 -1
  359. package/dist/components/p-DfOYYI9m.js +0 -1
  360. package/dist/components/p-eEC3ITv0.js +0 -1
  361. package/dist/components/p-nVHDJc9g.js +0 -1
  362. package/dist/components/p-rnbt1m4L.js +0 -1
  363. package/dist/components/sd-progress.d.ts +0 -11
  364. package/dist/components/sd-progress.js +0 -1
  365. package/dist/components/sd-select-dropdown.d.ts +0 -11
  366. package/dist/components/sd-select-dropdown.js +0 -1
  367. package/dist/components/sd-select-group.js +0 -1
  368. package/dist/components/sd-select-multiple-group.d.ts +0 -11
  369. package/dist/components/sd-select-multiple-group.js +0 -1
  370. package/dist/components/sd-select-multiple.js +0 -1
  371. package/dist/components/sd-select-option-group.d.ts +0 -11
  372. package/dist/components/sd-select-option-group.js +0 -1
  373. package/dist/components/sd-select-option.js +0 -1
  374. package/dist/components/sd-select-search-input.d.ts +0 -11
  375. package/dist/components/sd-select-search-input.js +0 -1
  376. package/dist/components/sd-select-v2-list-item-search.d.ts +0 -11
  377. package/dist/components/sd-select-v2-list-item-search.js +0 -1
  378. package/dist/components/sd-select-v2-list-item.d.ts +0 -11
  379. package/dist/components/sd-select-v2-list-item.js +0 -1
  380. package/dist/components/sd-select-v2-listbox.d.ts +0 -11
  381. package/dist/components/sd-select-v2-listbox.js +0 -1
  382. package/dist/components/sd-select-v2-trigger.d.ts +0 -11
  383. package/dist/components/sd-select-v2-trigger.js +0 -1
  384. package/dist/components/sd-select-v2.d.ts +0 -11
  385. package/dist/components/sd-select-v2.js +0 -1
  386. package/dist/components/table-test.d.ts +0 -11
  387. package/dist/components/table-test.js +0 -1
  388. package/dist/design-system/p-00612047.entry.js +0 -1
  389. package/dist/design-system/p-07adda3c.entry.js +0 -1
  390. package/dist/design-system/p-0e1b27cc.entry.js +0 -1
  391. package/dist/design-system/p-140b40ab.entry.js +0 -1
  392. package/dist/design-system/p-1573f415.entry.js +0 -1
  393. package/dist/design-system/p-1b9f6cef.entry.js +0 -1
  394. package/dist/design-system/p-1cc7d81f.entry.js +0 -1
  395. package/dist/design-system/p-1fa6c17f.entry.js +0 -1
  396. package/dist/design-system/p-4114eea3.entry.js +0 -1
  397. package/dist/design-system/p-5e300b77.entry.js +0 -1
  398. package/dist/design-system/p-711c59fc.entry.js +0 -1
  399. package/dist/design-system/p-850de8d4.entry.js +0 -1
  400. package/dist/design-system/p-9fee77f0.entry.js +0 -1
  401. package/dist/design-system/p-BPGLtKk5.js +0 -1
  402. package/dist/design-system/p-Bp7ytJz5.js +0 -2
  403. package/dist/design-system/p-CRdYeSBK.js +0 -1
  404. package/dist/design-system/p-Cy6HMEsK.js +0 -1
  405. package/dist/design-system/p-c521e731.entry.js +0 -1
  406. package/dist/design-system/p-ce2210ad.entry.js +0 -1
  407. package/dist/design-system/p-d1846df9.entry.js +0 -1
  408. package/dist/design-system/p-d52f25c6.entry.js +0 -1
  409. package/dist/design-system/p-dbcbbf1e.entry.js +0 -1
  410. package/dist/esm/base-dropdown-event-CRdYeSBK.js +0 -89
  411. package/dist/esm/sd-progress.entry.js +0 -61
  412. package/dist/esm/sd-select-dropdown_2.entry.js +0 -228
  413. package/dist/esm/sd-select-group.entry.js +0 -330
  414. package/dist/esm/sd-select-multiple-group.entry.js +0 -456
  415. package/dist/esm/sd-select-multiple.entry.js +0 -189
  416. package/dist/esm/sd-select-option-group.entry.js +0 -66
  417. package/dist/esm/sd-select.entry.js +0 -179
  418. package/dist/esm/select-keyboard-navigation-Cy6HMEsK.js +0 -25
  419. package/dist/esm/table-test.entry.js +0 -94
  420. package/dist/types/components/sd-progress/sd-progress.d.ts +0 -15
  421. package/dist/types/components/sd-select/sd-select-dropdown/sd-select-dropdown.d.ts +0 -41
  422. package/dist/types/components/sd-select/sd-select-option/sd-select-option.d.ts +0 -23
  423. package/dist/types/components/sd-select/sd-select-search-input/sd-select-search-input.d.ts +0 -11
  424. package/dist/types/components/sd-select-group/sd-select-group.d.ts +0 -86
  425. package/dist/types/components/sd-select-multiple/sd-select-multiple.d.ts +0 -64
  426. package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +0 -110
  427. package/dist/types/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.d.ts +0 -29
  428. package/dist/types/components/sd-select-v2/sd-select-v2.d.ts +0 -75
  429. package/dist/types/components/table-test/table-test.d.ts +0 -46
  430. /package/dist/collection/components/{sd-select-v2/sd-select-v2.config.js → sd-select/sd-select.config.js} +0 -0
@@ -1,169 +1,268 @@
1
1
  import { h, } from "@stencil/core";
2
- import { BaseDropdownEvent } from "../../utils/base-dropdown-event";
3
- import { SelectKeyboardNavigation } from "../../utils/select-keyboard-navigation";
4
2
  import { nanoid } from "nanoid/non-secure";
5
- /**
6
- * @deprecated sd-select-v2를 사용하세요.
7
- */
8
- export class SdSelect extends BaseDropdownEvent {
9
- constructor() {
10
- super();
11
- }
3
+ export class SdSelect {
4
+ static VIEWPORT_PADDING = 20;
5
+ static PORTAL_OFFSET_Y = 4;
6
+ static CLOSE_ANIMATION_DURATION = 150;
12
7
  el;
13
- // props
8
+ type = 'default';
14
9
  value = null;
15
10
  options = [];
16
11
  placeholder = '선택';
17
- optionPlaceholder = '선택지가 없습니다.';
18
- width = '200px';
12
+ maxDropdownWidth = '640px';
19
13
  dropdownHeight = '260px';
20
- autoFocus = false;
21
14
  disabled = false;
22
- clearable = false;
23
- searchable = false;
24
- // props - label
25
15
  label = '';
26
16
  labelWidth = '';
27
17
  addonLabel = '';
28
18
  addonAlign = 'start';
19
+ error = false;
20
+ hint = '';
21
+ errorMessage = '';
22
+ rules = [];
29
23
  icon = undefined;
30
24
  labelTooltip = '';
31
25
  labelTooltipProps = null;
32
- // props - form
33
- rules = [];
34
- error = false;
35
- // props - custom slots
36
- optionRenderer;
37
- // states
26
+ emitValue = false;
27
+ width = '';
28
+ useSearch = false;
29
+ allSelectedLabel = '전체';
30
+ useSelectAll = false;
38
31
  isOpen = false;
39
- itemIndex = -1;
40
- isScrolled = false;
41
- // events
32
+ isAnimatingOut = false;
33
+ triggerWidth = '200px';
34
+ resolvedDropdownHeight = '260px';
35
+ resolvedMaxDropdownWidth = '640px';
36
+ focused = false;
37
+ hovered = false;
42
38
  update;
43
39
  dropDownShow;
44
- selectRef;
45
- triggerRef;
46
- formField;
47
- filteredOptions = [];
48
- dropDownWidth = '200px';
49
- name = nanoid();
40
+ async sdFocus() {
41
+ if (this.disabled)
42
+ return;
43
+ await this.triggerComponentRef?.sdFocus();
44
+ }
50
45
  async sdOpen() {
46
+ // sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
47
+ await new Promise(resolve => setTimeout(resolve, 0));
48
+ if (this.disabled || this.isOpen)
49
+ return;
50
+ this.prepareDropdownGeometry();
51
+ if (this.closeAnimationTimer)
52
+ clearTimeout(this.closeAnimationTimer);
53
+ this.isAnimatingOut = false;
51
54
  this.isOpen = true;
52
55
  }
53
- async sdValidate() {
54
- this.formField?.sdValidate();
55
- }
56
- async sdReset() {
57
- this.formField?.sdReset();
58
- }
59
- async sdResetValidate() {
60
- this.formField?.sdResetValidation();
56
+ triggerRef;
57
+ triggerComponentRef;
58
+ closeAnimationTimer;
59
+ name = nanoid();
60
+ triggerHasFocus = false;
61
+ watchIsOpen(newValue) {
62
+ this.syncFocusedState(newValue);
63
+ this.dropDownShow.emit({ isOpen: newValue });
61
64
  }
62
- async sdFocus() {
63
- this.formField?.sdFocus();
65
+ get isMulti() {
66
+ return this.type === 'multi' || this.type === 'multi_depth';
64
67
  }
65
- async isOpenChanged() {
66
- // Base class의 이벤트 관리 호출 - 다른 select와의 이벤트 충돌 방지
67
- this.onDropdownToggle(this.isOpen);
68
- this.dropDownShow?.emit({ isOpen: this.isOpen });
69
- if (this.isOpen === false) {
70
- await this.formField?.sdValidate();
68
+ get displayText() {
69
+ if (this.isMulti) {
70
+ if (!Array.isArray(this.value) || this.value.length === 0)
71
+ return '';
72
+ const nonDisabledLeaves = this.getNonDisabledLeaves(this.options);
73
+ const selected = this.getSelectedOptions();
74
+ const allSelected = nonDisabledLeaves.length > 0 &&
75
+ nonDisabledLeaves.every(leaf => selected.some(s => s.value === leaf.value));
76
+ if (allSelected)
77
+ return this.allSelectedLabel ?? '전체';
78
+ const flat = this.flattenOptions(this.options);
79
+ return this.value
80
+ .map(item => {
81
+ if (item != null && typeof item === 'object') {
82
+ const opt = item;
83
+ return opt.label ?? flat.find(o => o.value === opt.value)?.label ?? '';
84
+ }
85
+ return flat.find(o => o.value === item)?.label ?? '';
86
+ })
87
+ .filter(Boolean)
88
+ .join(', ');
89
+ }
90
+ if (this.value == null)
91
+ return '';
92
+ if (!this.emitValue && typeof this.value === 'object' && !Array.isArray(this.value)) {
93
+ return this.value.label ?? '';
71
94
  }
95
+ const flat = this.flattenOptions(this.options);
96
+ const found = flat.find(o => o.value === this.value);
97
+ return found?.label ?? '';
72
98
  }
73
- componentWillLoad() {
74
- this.filteredOptions = this.options;
75
- this.dropDownWidth = this.width;
76
- this.initializeEvent();
99
+ flattenOptions(options) {
100
+ return options.flatMap(o => (o.children ? this.flattenOptions(o.children) : [o]));
77
101
  }
78
- componentDidLoad() {
79
- if (this.autoFocus) {
80
- this.selectRef?.focus();
102
+ getNonDisabledLeaves(options) {
103
+ return options.flatMap(o => {
104
+ if (o.disabled)
105
+ return [];
106
+ if (o.children)
107
+ return this.getNonDisabledLeaves(o.children);
108
+ return [o];
109
+ });
110
+ }
111
+ getSelectedOptions() {
112
+ const val = this.value;
113
+ if (!val || !Array.isArray(val))
114
+ return [];
115
+ if (this.emitValue) {
116
+ return val
117
+ .map(v => this.findOriginalOption(v, this.options))
118
+ .filter((o) => !!o);
81
119
  }
120
+ return val;
82
121
  }
83
- // render 이후 label을 제외한 trigger의 너비를 기준으로 dropdown 너비 설정
84
- componentDidRender() {
85
- const trigger = this.triggerRef;
86
- const rect = trigger?.getBoundingClientRect();
87
- this.dropDownWidth = rect?.width ? `${rect.width}px` : this.width;
122
+ toMultiValue(options) {
123
+ return this.emitValue ? options.map(o => o.value) : options;
88
124
  }
89
- disconnectedCallback() {
90
- this.cleanupEvent(); // global dropdown Manager에서 제거 + 이벤트 정리
125
+ parsePixelValue(value, fallback) {
126
+ const parsed = Number.parseFloat(value);
127
+ return Number.isFinite(parsed) ? parsed : fallback;
91
128
  }
92
- handleDocumentClick(event) {
93
- if (!this.selectRef?.contains(event.target)) {
94
- this.isOpen = false;
95
- }
129
+ updateDropdownViewportConstraints() {
130
+ if (!this.triggerRef)
131
+ return;
132
+ const triggerRect = this.triggerRef.getBoundingClientRect();
133
+ const viewportPadding = SdSelect.VIEWPORT_PADDING;
134
+ const offsetY = SdSelect.PORTAL_OFFSET_Y;
135
+ const preferredHeight = this.parsePixelValue(this.dropdownHeight, 260);
136
+ const preferredWidth = this.parsePixelValue(this.maxDropdownWidth, 640);
137
+ const availableBelow = Math.max(window.innerHeight - triggerRect.bottom - viewportPadding - offsetY, 0);
138
+ const availableAbove = Math.max(triggerRect.top - viewportPadding - offsetY, 0);
139
+ const availableHeight = Math.max(availableBelow, availableAbove);
140
+ const availableWidth = Math.max(window.innerWidth - viewportPadding * 2, 0);
141
+ this.resolvedDropdownHeight = `${Math.min(preferredHeight, availableHeight)}px`;
142
+ this.resolvedMaxDropdownWidth = `${Math.min(preferredWidth, availableWidth)}px`;
96
143
  }
97
- handleDocumentKeydown(keyboardEvent) {
98
- keyboardEvent.stopPropagation();
99
- const targetKey = ['ArrowDown', 'ArrowUp', 'Enter', 'Escape'];
100
- if (!targetKey.includes(keyboardEvent.key))
144
+ handleViewportResize = () => {
145
+ if (!this.isOpen)
101
146
  return;
102
- keyboardEvent.preventDefault();
103
- switch (keyboardEvent.key) {
104
- case 'ArrowDown':
105
- case 'ArrowUp':
106
- const keyboardNavigation = new SelectKeyboardNavigation(this.searchable, this.filteredOptions);
107
- const nextIndex = keyboardNavigation.getNextIndex(this.itemIndex, keyboardEvent.key);
108
- this.itemIndex = nextIndex;
109
- break;
110
- case 'Enter':
111
- const selectedOption = this.filteredOptions[this.itemIndex];
112
- if (selectedOption && !selectedOption.disabled) {
113
- this.value = selectedOption.value;
114
- this.isOpen = false;
115
- }
116
- break;
117
- case 'Escape':
118
- this.isOpen = false;
119
- break;
147
+ this.updateDropdownViewportConstraints();
148
+ };
149
+ findOriginalOption(value, options) {
150
+ for (const opt of options) {
151
+ if (opt.value === value)
152
+ return opt;
153
+ if (opt.children) {
154
+ const found = this.findOriginalOption(value, opt.children);
155
+ if (found)
156
+ return found;
157
+ }
120
158
  }
121
- }
122
- getSelectedOption() {
123
- return this.options.find(option => option.value === this.value);
159
+ return undefined;
124
160
  }
125
161
  closeDropdown() {
162
+ if (!this.isOpen)
163
+ return;
126
164
  this.isOpen = false;
165
+ this.isAnimatingOut = true;
166
+ if (this.closeAnimationTimer)
167
+ clearTimeout(this.closeAnimationTimer);
168
+ this.closeAnimationTimer = setTimeout(() => {
169
+ this.isAnimatingOut = false;
170
+ }, SdSelect.CLOSE_ANIMATION_DURATION);
127
171
  }
128
- handleTriggerClick = (event) => {
129
- event.stopPropagation();
130
- if (!this.disabled) {
131
- this.isOpen = !this.isOpen;
132
- this.dropDownShow?.emit({ isOpen: this.isOpen });
172
+ prepareDropdownGeometry() {
173
+ if (this.triggerRef) {
174
+ this.triggerWidth = `${this.triggerRef.offsetWidth}px`;
133
175
  }
176
+ this.updateDropdownViewportConstraints();
177
+ }
178
+ syncFocusedState(isOpen = this.isOpen) {
179
+ this.focused = isOpen || this.triggerHasFocus;
180
+ }
181
+ handleTriggerFocus = () => {
182
+ this.triggerHasFocus = true;
183
+ this.syncFocusedState();
184
+ };
185
+ handleTriggerBlur = () => {
186
+ this.triggerHasFocus = false;
187
+ this.syncFocusedState();
134
188
  };
135
- handleOptionClick = (detail) => {
136
- const { option, event } = detail;
137
- event.stopPropagation();
138
- if (!option.disabled) {
139
- this.value = option.value;
140
- this.isOpen = false;
141
- const selectedOption = this.getSelectedOption();
142
- this.update?.emit({ value: selectedOption?.value || null, option: selectedOption || null });
189
+ handleTriggerClick = () => {
190
+ if (this.isOpen) {
191
+ this.closeDropdown();
192
+ return;
143
193
  }
194
+ this.prepareDropdownGeometry();
195
+ if (this.closeAnimationTimer)
196
+ clearTimeout(this.closeAnimationTimer);
197
+ this.isAnimatingOut = false;
198
+ this.isOpen = true;
144
199
  };
145
- render() {
146
- return (h("sd-field", { key: '28b4667a386236c2486af08f636ede3dc6c41f91', label: this.label, labelWidth: this.labelWidth, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, icon: this.icon, addonLabel: this.addonLabel, addonAlign: this.addonAlign, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el) }, h("div", { key: 'ccee78ca4a773c521634e4054ce3b3d8e9713362', class: {
147
- 'sd-select': true,
148
- 'sd-select--disabled': this.disabled,
149
- 'sd-select--error': !!this.error,
150
- 'sd-select--label': !!this.label,
151
- }, ref: el => (this.selectRef = el) }, this.renderTrigger(), this.renderDropdown())));
200
+ emitUpdate(value) {
201
+ this.update.emit(value);
152
202
  }
153
- renderTrigger() {
154
- const selectedOption = this.getSelectedOption();
155
- return (h("div", { class: "sd-select__trigger", tabindex: this.disabled ? -1 : 0, onClick: this.handleTriggerClick, ref: el => (this.triggerRef = el) }, h("span", { class: "sd-select__value" }, selectedOption ? selectedOption.label : this.placeholder), this.clearable && selectedOption && !this.disabled && (h("sd-icon", { key: "clear-icon", name: "close", size: 10, color: "#888", class: "sd-select__clear", onClick: async (event) => {
156
- event.stopPropagation();
157
- this.value = null;
158
- await this.formField?.sdValidate();
159
- } })), h("sd-icon", { key: "arrow-icon", name: "arrowDown", color: "#888", class: { 'sd-select__arrow': true, 'sd-select__arrow--open': this.isOpen } })));
203
+ handleOptionSelect = (detail) => {
204
+ const { option, leaves } = detail;
205
+ if (this.isMulti) {
206
+ this.handleMultiSelect(option, leaves);
207
+ }
208
+ else {
209
+ this.closeDropdown();
210
+ this.value = this.emitValue ? option.value : option;
211
+ const nextValue = this.value;
212
+ requestAnimationFrame(() => {
213
+ this.emitUpdate(nextValue);
214
+ });
215
+ }
216
+ };
217
+ handleMultiSelect(option, leaves) {
218
+ const selected = this.getSelectedOptions();
219
+ const isGroup = !!option.children;
220
+ let newSelected;
221
+ if (isGroup) {
222
+ const allSelected = leaves.every(l => selected.some(s => s.value === l.value));
223
+ if (allSelected) {
224
+ const leafValues = new Set(leaves.map(l => l.value));
225
+ newSelected = selected.filter(s => !leafValues.has(s.value));
226
+ }
227
+ else {
228
+ const existing = new Set(selected.map(s => s.value));
229
+ const toAdd = leaves.filter(l => !existing.has(l.value));
230
+ newSelected = [...selected, ...toAdd];
231
+ }
232
+ }
233
+ else {
234
+ const exists = selected.some(s => s.value === option.value);
235
+ newSelected = exists ? selected.filter(s => s.value !== option.value) : [...selected, option];
236
+ }
237
+ this.value = this.toMultiValue(newSelected);
238
+ this.emitUpdate(this.value);
160
239
  }
161
- renderDropdown() {
162
- if (this.isOpen === false)
163
- return null;
164
- const parentRef = (this.selectRef?.querySelector('.sd-select__trigger') ||
165
- this.selectRef);
166
- return (h("sd-portal", { open: this.isOpen, parentRef: parentRef, onSdClose: this.closeDropdown }, h("sd-select-dropdown", { value: this.value, options: this.options, itemIndex: this.itemIndex, width: this.dropDownWidth, dropdownHeight: this.dropdownHeight, searchable: this.searchable, optionPlaceholder: this.optionPlaceholder, onSdOptionClick: ({ detail }) => this.handleOptionClick(detail), onSdOptionFiltered: ({ detail }) => (this.filteredOptions = detail) })));
240
+ connectedCallback() {
241
+ window.addEventListener('resize', this.handleViewportResize);
242
+ }
243
+ disconnectedCallback() {
244
+ window.removeEventListener('resize', this.handleViewportResize);
245
+ if (this.closeAnimationTimer)
246
+ clearTimeout(this.closeAnimationTimer);
247
+ }
248
+ render() {
249
+ const portalProps = {
250
+ open: this.isOpen,
251
+ parentRef: this.triggerRef,
252
+ viewportPadding: SdSelect.VIEWPORT_PADDING,
253
+ onSdClose: () => {
254
+ this.closeDropdown();
255
+ },
256
+ };
257
+ return (h("sd-field", { key: '76625e332090d20e2f66159bba5ee1b9a11320a6', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
258
+ this.hovered = true;
259
+ }, onMouseLeave: () => {
260
+ this.hovered = false;
261
+ } }, h("div", { key: '8a0ae8a5e05459128409dbe21779f5e3d91b3a04', class: "sd-select", ref: el => {
262
+ this.triggerRef = el;
263
+ } }, h("sd-select-trigger", { key: '6b47231914655a8e197e3b38cd8e37c5214efc17', ref: el => {
264
+ this.triggerComponentRef = el;
265
+ }, displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: 'eaed402d276cc94a1324ede9cbf09bc436f8a1db', ...portalProps }, h("sd-select-listbox", { key: 'a96f75e06d974c8fd88ac72f083fe4b0ef424a0b', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
167
266
  }
168
267
  static get is() { return "sd-select"; }
169
268
  static get originalStyleUrls() {
@@ -178,13 +277,47 @@ export class SdSelect extends BaseDropdownEvent {
178
277
  }
179
278
  static get properties() {
180
279
  return {
280
+ "type": {
281
+ "type": "string",
282
+ "mutable": false,
283
+ "complexType": {
284
+ "original": "SelectType",
285
+ "resolved": "\"default\" | \"default_depth\" | \"multi\" | \"multi_depth\"",
286
+ "references": {
287
+ "SelectType": {
288
+ "location": "import",
289
+ "path": "./sd-select.config",
290
+ "id": "src/components/sd-select/sd-select.config.ts::SelectType",
291
+ "referenceLocation": "SelectType"
292
+ }
293
+ }
294
+ },
295
+ "required": false,
296
+ "optional": false,
297
+ "docs": {
298
+ "tags": [],
299
+ "text": ""
300
+ },
301
+ "getter": false,
302
+ "setter": false,
303
+ "reflect": false,
304
+ "attribute": "type",
305
+ "defaultValue": "'default'"
306
+ },
181
307
  "value": {
182
308
  "type": "any",
183
309
  "mutable": true,
184
310
  "complexType": {
185
- "original": "string | number | null",
186
- "resolved": "null | number | string",
187
- "references": {}
311
+ "original": "SelectValue",
312
+ "resolved": "(string | number)[] | SelectOption | SelectOption[] | null | number | string",
313
+ "references": {
314
+ "SelectValue": {
315
+ "location": "import",
316
+ "path": "./sd-select.config",
317
+ "id": "src/components/sd-select/sd-select.config.ts::SelectValue",
318
+ "referenceLocation": "SelectValue"
319
+ }
320
+ }
188
321
  },
189
322
  "required": false,
190
323
  "optional": false,
@@ -200,15 +333,16 @@ export class SdSelect extends BaseDropdownEvent {
200
333
  },
201
334
  "options": {
202
335
  "type": "unknown",
203
- "mutable": true,
336
+ "mutable": false,
204
337
  "complexType": {
205
338
  "original": "SelectOption[]",
206
339
  "resolved": "SelectOption[]",
207
340
  "references": {
208
341
  "SelectOption": {
209
- "location": "local",
210
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-select/sd-select.tsx",
211
- "id": "src/components/sd-select/sd-select.tsx::SelectOption"
342
+ "location": "import",
343
+ "path": "./sd-select.config",
344
+ "id": "src/components/sd-select/sd-select.config.ts::SelectOption",
345
+ "referenceLocation": "SelectOption"
212
346
  }
213
347
  }
214
348
  },
@@ -242,7 +376,7 @@ export class SdSelect extends BaseDropdownEvent {
242
376
  "attribute": "placeholder",
243
377
  "defaultValue": "'\uC120\uD0DD'"
244
378
  },
245
- "optionPlaceholder": {
379
+ "maxDropdownWidth": {
246
380
  "type": "string",
247
381
  "mutable": false,
248
382
  "complexType": {
@@ -259,10 +393,10 @@ export class SdSelect extends BaseDropdownEvent {
259
393
  "getter": false,
260
394
  "setter": false,
261
395
  "reflect": false,
262
- "attribute": "option-placeholder",
263
- "defaultValue": "'\uC120\uD0DD\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.'"
396
+ "attribute": "max-dropdown-width",
397
+ "defaultValue": "'640px'"
264
398
  },
265
- "width": {
399
+ "dropdownHeight": {
266
400
  "type": "string",
267
401
  "mutable": false,
268
402
  "complexType": {
@@ -279,15 +413,15 @@ export class SdSelect extends BaseDropdownEvent {
279
413
  "getter": false,
280
414
  "setter": false,
281
415
  "reflect": false,
282
- "attribute": "width",
283
- "defaultValue": "'200px'"
416
+ "attribute": "dropdown-height",
417
+ "defaultValue": "'260px'"
284
418
  },
285
- "dropdownHeight": {
286
- "type": "string",
419
+ "disabled": {
420
+ "type": "boolean",
287
421
  "mutable": false,
288
422
  "complexType": {
289
- "original": "string",
290
- "resolved": "string",
423
+ "original": "boolean",
424
+ "resolved": "boolean",
291
425
  "references": {}
292
426
  },
293
427
  "required": false,
@@ -299,15 +433,15 @@ export class SdSelect extends BaseDropdownEvent {
299
433
  "getter": false,
300
434
  "setter": false,
301
435
  "reflect": false,
302
- "attribute": "dropdown-height",
303
- "defaultValue": "'260px'"
436
+ "attribute": "disabled",
437
+ "defaultValue": "false"
304
438
  },
305
- "autoFocus": {
306
- "type": "boolean",
439
+ "label": {
440
+ "type": "string",
307
441
  "mutable": false,
308
442
  "complexType": {
309
- "original": "boolean",
310
- "resolved": "boolean",
443
+ "original": "string",
444
+ "resolved": "string",
311
445
  "references": {}
312
446
  },
313
447
  "required": false,
@@ -319,15 +453,15 @@ export class SdSelect extends BaseDropdownEvent {
319
453
  "getter": false,
320
454
  "setter": false,
321
455
  "reflect": false,
322
- "attribute": "auto-focus",
323
- "defaultValue": "false"
456
+ "attribute": "label",
457
+ "defaultValue": "''"
324
458
  },
325
- "disabled": {
326
- "type": "boolean",
459
+ "labelWidth": {
460
+ "type": "any",
327
461
  "mutable": false,
328
462
  "complexType": {
329
- "original": "boolean",
330
- "resolved": "boolean",
463
+ "original": "string | number",
464
+ "resolved": "number | string",
331
465
  "references": {}
332
466
  },
333
467
  "required": false,
@@ -339,15 +473,15 @@ export class SdSelect extends BaseDropdownEvent {
339
473
  "getter": false,
340
474
  "setter": false,
341
475
  "reflect": false,
342
- "attribute": "disabled",
343
- "defaultValue": "false"
476
+ "attribute": "label-width",
477
+ "defaultValue": "''"
344
478
  },
345
- "clearable": {
346
- "type": "boolean",
479
+ "addonLabel": {
480
+ "type": "string",
347
481
  "mutable": false,
348
482
  "complexType": {
349
- "original": "boolean",
350
- "resolved": "boolean",
483
+ "original": "string",
484
+ "resolved": "string",
351
485
  "references": {}
352
486
  },
353
487
  "required": false,
@@ -359,16 +493,23 @@ export class SdSelect extends BaseDropdownEvent {
359
493
  "getter": false,
360
494
  "setter": false,
361
495
  "reflect": false,
362
- "attribute": "clearable",
363
- "defaultValue": "false"
496
+ "attribute": "addon-label",
497
+ "defaultValue": "''"
364
498
  },
365
- "searchable": {
366
- "type": "boolean",
499
+ "addonAlign": {
500
+ "type": "string",
367
501
  "mutable": false,
368
502
  "complexType": {
369
- "original": "boolean",
370
- "resolved": "boolean",
371
- "references": {}
503
+ "original": "FieldAddonAlign",
504
+ "resolved": "\"center\" | \"end\" | \"start\"",
505
+ "references": {
506
+ "FieldAddonAlign": {
507
+ "location": "import",
508
+ "path": "../sd-field/sd-field.config",
509
+ "id": "src/components/sd-field/sd-field.config.ts::FieldAddonAlign",
510
+ "referenceLocation": "FieldAddonAlign"
511
+ }
512
+ }
372
513
  },
373
514
  "required": false,
374
515
  "optional": false,
@@ -379,15 +520,15 @@ export class SdSelect extends BaseDropdownEvent {
379
520
  "getter": false,
380
521
  "setter": false,
381
522
  "reflect": false,
382
- "attribute": "searchable",
383
- "defaultValue": "false"
523
+ "attribute": "addon-align",
524
+ "defaultValue": "'start'"
384
525
  },
385
- "label": {
386
- "type": "string",
387
- "mutable": false,
526
+ "error": {
527
+ "type": "boolean",
528
+ "mutable": true,
388
529
  "complexType": {
389
- "original": "string",
390
- "resolved": "string",
530
+ "original": "boolean",
531
+ "resolved": "boolean",
391
532
  "references": {}
392
533
  },
393
534
  "required": false,
@@ -399,15 +540,15 @@ export class SdSelect extends BaseDropdownEvent {
399
540
  "getter": false,
400
541
  "setter": false,
401
542
  "reflect": false,
402
- "attribute": "label",
403
- "defaultValue": "''"
543
+ "attribute": "error",
544
+ "defaultValue": "false"
404
545
  },
405
- "labelWidth": {
406
- "type": "any",
546
+ "hint": {
547
+ "type": "string",
407
548
  "mutable": false,
408
549
  "complexType": {
409
- "original": "string | number",
410
- "resolved": "number | string",
550
+ "original": "string",
551
+ "resolved": "string",
411
552
  "references": {}
412
553
  },
413
554
  "required": false,
@@ -419,10 +560,10 @@ export class SdSelect extends BaseDropdownEvent {
419
560
  "getter": false,
420
561
  "setter": false,
421
562
  "reflect": false,
422
- "attribute": "label-width",
563
+ "attribute": "hint",
423
564
  "defaultValue": "''"
424
565
  },
425
- "addonLabel": {
566
+ "errorMessage": {
426
567
  "type": "string",
427
568
  "mutable": false,
428
569
  "complexType": {
@@ -439,35 +580,33 @@ export class SdSelect extends BaseDropdownEvent {
439
580
  "getter": false,
440
581
  "setter": false,
441
582
  "reflect": false,
442
- "attribute": "addon-label",
583
+ "attribute": "error-message",
443
584
  "defaultValue": "''"
444
585
  },
445
- "addonAlign": {
446
- "type": "string",
586
+ "rules": {
587
+ "type": "unknown",
447
588
  "mutable": false,
448
589
  "complexType": {
449
- "original": "FieldAddonAlign",
450
- "resolved": "\"center\" | \"end\" | \"start\"",
590
+ "original": "Rule[]",
591
+ "resolved": "Rule[] | undefined",
451
592
  "references": {
452
- "FieldAddonAlign": {
593
+ "Rule": {
453
594
  "location": "import",
454
- "path": "../sd-field/sd-field.config",
455
- "id": "src/components/sd-field/sd-field.config.ts::FieldAddonAlign",
456
- "referenceLocation": "FieldAddonAlign"
595
+ "path": "../../types/form",
596
+ "id": "src/types/form.d.ts::Rule",
597
+ "referenceLocation": "Rule"
457
598
  }
458
599
  }
459
600
  },
460
601
  "required": false,
461
- "optional": false,
602
+ "optional": true,
462
603
  "docs": {
463
604
  "tags": [],
464
605
  "text": ""
465
606
  },
466
607
  "getter": false,
467
608
  "setter": false,
468
- "reflect": false,
469
- "attribute": "addon-align",
470
- "defaultValue": "'start'"
609
+ "defaultValue": "[]"
471
610
  },
472
611
  "icon": {
473
612
  "type": "unknown",
@@ -537,41 +676,56 @@ export class SdSelect extends BaseDropdownEvent {
537
676
  "setter": false,
538
677
  "defaultValue": "null"
539
678
  },
540
- "rules": {
541
- "type": "unknown",
679
+ "emitValue": {
680
+ "type": "boolean",
542
681
  "mutable": false,
543
682
  "complexType": {
544
- "original": "Rule[]",
545
- "resolved": "Rule[] | undefined",
546
- "references": {
547
- "Rule": {
548
- "location": "import",
549
- "path": "../../components",
550
- "id": "src/components.d.ts::Rule",
551
- "referenceLocation": "Rule"
552
- }
553
- }
683
+ "original": "boolean",
684
+ "resolved": "boolean",
685
+ "references": {}
554
686
  },
555
687
  "required": false,
556
- "optional": true,
688
+ "optional": false,
557
689
  "docs": {
558
690
  "tags": [],
559
691
  "text": ""
560
692
  },
561
693
  "getter": false,
562
694
  "setter": false,
563
- "defaultValue": "[]"
695
+ "reflect": false,
696
+ "attribute": "emit-value",
697
+ "defaultValue": "false"
564
698
  },
565
- "error": {
699
+ "width": {
700
+ "type": "any",
701
+ "mutable": false,
702
+ "complexType": {
703
+ "original": "string | number",
704
+ "resolved": "number | string",
705
+ "references": {}
706
+ },
707
+ "required": false,
708
+ "optional": false,
709
+ "docs": {
710
+ "tags": [],
711
+ "text": ""
712
+ },
713
+ "getter": false,
714
+ "setter": false,
715
+ "reflect": false,
716
+ "attribute": "width",
717
+ "defaultValue": "''"
718
+ },
719
+ "useSearch": {
566
720
  "type": "boolean",
567
721
  "mutable": false,
568
722
  "complexType": {
569
723
  "original": "boolean",
570
- "resolved": "boolean | undefined",
724
+ "resolved": "boolean",
571
725
  "references": {}
572
726
  },
573
727
  "required": false,
574
- "optional": true,
728
+ "optional": false,
575
729
  "docs": {
576
730
  "tags": [],
577
731
  "text": ""
@@ -579,31 +733,48 @@ export class SdSelect extends BaseDropdownEvent {
579
733
  "getter": false,
580
734
  "setter": false,
581
735
  "reflect": false,
582
- "attribute": "error",
736
+ "attribute": "use-search",
583
737
  "defaultValue": "false"
584
738
  },
585
- "optionRenderer": {
586
- "type": "unknown",
739
+ "allSelectedLabel": {
740
+ "type": "string",
587
741
  "mutable": false,
588
742
  "complexType": {
589
- "original": "(option: SelectOption, index: number, isSelected: boolean) => any",
590
- "resolved": "((option: SelectOption, index: number, isSelected: boolean) => any) | undefined",
591
- "references": {
592
- "SelectOption": {
593
- "location": "local",
594
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-select/sd-select.tsx",
595
- "id": "src/components/sd-select/sd-select.tsx::SelectOption"
596
- }
597
- }
743
+ "original": "string",
744
+ "resolved": "string",
745
+ "references": {}
598
746
  },
599
747
  "required": false,
600
- "optional": true,
748
+ "optional": false,
749
+ "docs": {
750
+ "tags": [],
751
+ "text": ""
752
+ },
753
+ "getter": false,
754
+ "setter": false,
755
+ "reflect": false,
756
+ "attribute": "all-selected-label",
757
+ "defaultValue": "'\uC804\uCCB4'"
758
+ },
759
+ "useSelectAll": {
760
+ "type": "boolean",
761
+ "mutable": false,
762
+ "complexType": {
763
+ "original": "boolean",
764
+ "resolved": "boolean",
765
+ "references": {}
766
+ },
767
+ "required": false,
768
+ "optional": false,
601
769
  "docs": {
602
770
  "tags": [],
603
771
  "text": ""
604
772
  },
605
773
  "getter": false,
606
- "setter": false
774
+ "setter": false,
775
+ "reflect": false,
776
+ "attribute": "use-select-all",
777
+ "defaultValue": "false"
607
778
  },
608
779
  "name": {
609
780
  "type": "string",
@@ -630,8 +801,12 @@ export class SdSelect extends BaseDropdownEvent {
630
801
  static get states() {
631
802
  return {
632
803
  "isOpen": {},
633
- "itemIndex": {},
634
- "isScrolled": {}
804
+ "isAnimatingOut": {},
805
+ "triggerWidth": {},
806
+ "resolvedDropdownHeight": {},
807
+ "resolvedMaxDropdownWidth": {},
808
+ "focused": {},
809
+ "hovered": {}
635
810
  };
636
811
  }
637
812
  static get events() {
@@ -646,13 +821,14 @@ export class SdSelect extends BaseDropdownEvent {
646
821
  "text": ""
647
822
  },
648
823
  "complexType": {
649
- "original": "SelectEvents['sdUpdate']",
650
- "resolved": "{ value: string | number | null; option: SelectOption | null; }",
824
+ "original": "SelectValue",
825
+ "resolved": "(string | number)[] | SelectOption | SelectOption[] | null | number | string",
651
826
  "references": {
652
- "SelectEvents": {
653
- "location": "local",
654
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-select/sd-select.tsx",
655
- "id": "src/components/sd-select/sd-select.tsx::SelectEvents"
827
+ "SelectValue": {
828
+ "location": "import",
829
+ "path": "./sd-select.config",
830
+ "id": "src/components/sd-select/sd-select.config.ts::SelectValue",
831
+ "referenceLocation": "SelectValue"
656
832
  }
657
833
  }
658
834
  }
@@ -667,72 +843,15 @@ export class SdSelect extends BaseDropdownEvent {
667
843
  "text": ""
668
844
  },
669
845
  "complexType": {
670
- "original": "SelectEvents['dropDownShow']",
846
+ "original": "{ isOpen: boolean }",
671
847
  "resolved": "{ isOpen: boolean; }",
672
- "references": {
673
- "SelectEvents": {
674
- "location": "local",
675
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-select/sd-select.tsx",
676
- "id": "src/components/sd-select/sd-select.tsx::SelectEvents"
677
- }
678
- }
848
+ "references": {}
679
849
  }
680
850
  }];
681
851
  }
682
852
  static get methods() {
683
853
  return {
684
- "sdOpen": {
685
- "complexType": {
686
- "signature": "() => Promise<void>",
687
- "parameters": [],
688
- "references": {
689
- "Promise": {
690
- "location": "global",
691
- "id": "global::Promise"
692
- }
693
- },
694
- "return": "Promise<void>"
695
- },
696
- "docs": {
697
- "text": "",
698
- "tags": []
699
- }
700
- },
701
- "sdValidate": {
702
- "complexType": {
703
- "signature": "() => Promise<void>",
704
- "parameters": [],
705
- "references": {
706
- "Promise": {
707
- "location": "global",
708
- "id": "global::Promise"
709
- }
710
- },
711
- "return": "Promise<void>"
712
- },
713
- "docs": {
714
- "text": "",
715
- "tags": []
716
- }
717
- },
718
- "sdReset": {
719
- "complexType": {
720
- "signature": "() => Promise<void>",
721
- "parameters": [],
722
- "references": {
723
- "Promise": {
724
- "location": "global",
725
- "id": "global::Promise"
726
- }
727
- },
728
- "return": "Promise<void>"
729
- },
730
- "docs": {
731
- "text": "",
732
- "tags": []
733
- }
734
- },
735
- "sdResetValidate": {
854
+ "sdFocus": {
736
855
  "complexType": {
737
856
  "signature": "() => Promise<void>",
738
857
  "parameters": [],
@@ -749,7 +868,7 @@ export class SdSelect extends BaseDropdownEvent {
749
868
  "tags": []
750
869
  }
751
870
  },
752
- "sdFocus": {
871
+ "sdOpen": {
753
872
  "complexType": {
754
873
  "signature": "() => Promise<void>",
755
874
  "parameters": [],
@@ -772,7 +891,7 @@ export class SdSelect extends BaseDropdownEvent {
772
891
  static get watchers() {
773
892
  return [{
774
893
  "propName": "isOpen",
775
- "methodName": "isOpenChanged"
894
+ "methodName": "watchIsOpen"
776
895
  }];
777
896
  }
778
897
  }