@sellmate/design-system 0.0.56 → 1.0.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 (494) hide show
  1. package/dist/cjs/{select-keyboard-navigation-6fO_V4En.js → base-dropdown-event-Dc6AuxR4.js} +26 -26
  2. package/dist/cjs/base-dropdown-event-Dc6AuxR4.js.map +1 -0
  3. package/dist/cjs/design-system.cjs.js +2 -2
  4. package/dist/cjs/{index-B7tkxTye.js → index-D_J8ScR5.js} +3 -3
  5. package/dist/cjs/index-D_J8ScR5.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/{resolveColor-DxvExwgo.js → resolveColor-B7Ku3IGq.js} +4 -5
  8. package/dist/{esm/resolveColor-BYf-ybt2.js.map → cjs/resolveColor-B7Ku3IGq.js.map} +1 -1
  9. package/dist/cjs/sd-badge.cjs.entry.js +4 -4
  10. package/dist/cjs/{sd-button_24.cjs.entry.js → sd-button_6.cjs.entry.js} +292 -2842
  11. package/dist/cjs/sd-card.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-checkbox.cjs.entry.js +89 -0
  13. package/dist/cjs/sd-date-box.cjs.entry.js +10 -10
  14. package/dist/cjs/sd-date-picker.cjs.entry.js +5 -5
  15. package/dist/cjs/sd-date-range-picker.cjs.entry.js +8 -8
  16. package/dist/cjs/sd-field_3.cjs.entry.js +422 -0
  17. package/dist/cjs/sd-file-picker.cjs.entry.js +121 -0
  18. package/dist/cjs/sd-form.cjs.entry.js +74 -0
  19. package/dist/cjs/sd-guide.cjs.entry.js +81 -0
  20. package/dist/cjs/sd-loading-spinner_2.cjs.entry.js +195 -0
  21. package/dist/cjs/sd-modal-card.cjs.entry.js +8 -8
  22. package/dist/cjs/sd-number-input.cjs.entry.js +261 -0
  23. package/dist/cjs/sd-popover.cjs.entry.js +7 -7
  24. package/dist/cjs/sd-progress.cjs.entry.js +3 -3
  25. package/dist/cjs/sd-radio-button-group.cjs.entry.js +8 -21
  26. package/dist/cjs/sd-radio-group.cjs.entry.js +71 -0
  27. package/dist/cjs/sd-select-dropdown_3.cjs.entry.js +266 -0
  28. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +446 -0
  29. package/dist/cjs/sd-select-multiple.cjs.entry.js +74 -152
  30. package/dist/cjs/sd-select-option-group.cjs.entry.js +69 -0
  31. package/dist/cjs/sd-table.cjs.entry.js +515 -85
  32. package/dist/cjs/sd-tabs.cjs.entry.js +66 -0
  33. package/dist/cjs/sd-tag.cjs.entry.js +57 -0
  34. package/dist/cjs/sd-toast-message.cjs.entry.js +61 -0
  35. package/dist/cjs/sd-toggle-button.cjs.entry.js +50 -0
  36. package/dist/cjs/sd-toggle.cjs.entry.js +46 -0
  37. package/dist/cjs/{tooltipArrow-8I9A3AOE.js → tooltipArrow-DU2DB2AD.js} +3 -3
  38. package/dist/cjs/{tooltipArrow-8I9A3AOE.js.map → tooltipArrow-DU2DB2AD.js.map} +1 -1
  39. package/dist/collection/collection-manifest.json +7 -8
  40. package/dist/collection/components/sd-badge/sd-badge.css +8 -9
  41. package/dist/collection/components/sd-badge/sd-badge.js +1 -2
  42. package/dist/collection/components/sd-badge/sd-badge.js.map +1 -1
  43. package/dist/collection/components/sd-button/sd-button.css +2 -1
  44. package/dist/collection/components/sd-button/sd-button.js +2 -34
  45. package/dist/collection/components/sd-button/sd-button.js.map +1 -1
  46. package/dist/collection/components/sd-card/sd-card.css +1 -0
  47. package/dist/collection/components/sd-card/sd-card.js +1 -1
  48. package/dist/collection/components/sd-checkbox/sd-checkbox.js +16 -16
  49. package/dist/collection/components/sd-checkbox/sd-checkbox.js.map +1 -1
  50. package/dist/collection/components/sd-date-box/sd-date-box.css +1 -0
  51. package/dist/collection/components/sd-date-box/sd-date-box.js +8 -8
  52. package/dist/collection/components/sd-date-box/sd-date-box.js.map +1 -1
  53. package/dist/collection/components/sd-date-picker/sd-date-picker.js +5 -5
  54. package/dist/collection/components/sd-date-picker/sd-date-picker.js.map +1 -1
  55. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.css +9 -6
  56. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +8 -8
  57. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js.map +1 -1
  58. package/dist/collection/components/sd-field/sd-field.css +100 -0
  59. package/dist/collection/components/sd-field/sd-field.js +472 -0
  60. package/dist/collection/components/sd-field/sd-field.js.map +1 -0
  61. package/dist/collection/components/sd-file-picker/sd-file-picker.css +6 -0
  62. package/dist/collection/components/sd-file-picker/sd-file-picker.js +8 -8
  63. package/dist/collection/components/sd-file-picker/sd-file-picker.js.map +1 -1
  64. package/dist/collection/components/sd-floating-portal/sd-floating-portal.css +103 -0
  65. package/dist/collection/components/{sd-tooltip-portal/sd-tooltip-portal.js → sd-floating-portal/sd-floating-portal.js} +18 -9
  66. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js.map +1 -0
  67. package/dist/collection/components/sd-form/sd-form.js +200 -0
  68. package/dist/collection/components/sd-form/sd-form.js.map +1 -0
  69. package/dist/collection/components/sd-guide/sd-guide.css +3 -2
  70. package/dist/collection/components/sd-guide/sd-guide.js +7 -8
  71. package/dist/collection/components/sd-guide/sd-guide.js.map +1 -1
  72. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  73. package/dist/collection/components/sd-input/sd-input.css +43 -100
  74. package/dist/collection/components/sd-input/sd-input.js +285 -114
  75. package/dist/collection/components/sd-input/sd-input.js.map +1 -1
  76. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  77. package/dist/collection/components/sd-modal-card/sd-modal-card.css +1 -0
  78. package/dist/collection/components/sd-modal-card/sd-modal-card.js +5 -5
  79. package/dist/collection/components/sd-modal-card/sd-modal-card.js.map +1 -1
  80. package/dist/collection/components/sd-number-input/sd-number-input.js +18 -84
  81. package/dist/collection/components/sd-number-input/sd-number-input.js.map +1 -1
  82. package/dist/collection/components/sd-pagination/sd-pagination.js +4 -3
  83. package/dist/collection/components/sd-pagination/sd-pagination.js.map +1 -1
  84. package/dist/collection/components/sd-popover/sd-popover.css +2 -2
  85. package/dist/collection/components/sd-popover/sd-popover.js +4 -5
  86. package/dist/collection/components/sd-popover/sd-popover.js.map +1 -1
  87. package/dist/collection/components/sd-portal/sd-portal.js +4 -4
  88. package/dist/collection/components/sd-portal/sd-portal.js.map +1 -1
  89. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  90. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.js +9 -30
  91. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.js.map +1 -1
  92. package/dist/collection/components/sd-radio-group/sd-radio-group.js +5 -5
  93. package/dist/collection/components/sd-radio-group/sd-radio-group.js.map +1 -1
  94. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.css +52 -0
  95. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +441 -0
  96. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js.map +1 -0
  97. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +4 -4
  98. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js.map +1 -1
  99. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.css +11 -3
  100. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +15 -15
  101. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js.map +1 -1
  102. package/dist/collection/components/sd-select/sd-select.css +9 -97
  103. package/dist/collection/components/sd-select/sd-select.js +320 -219
  104. package/dist/collection/components/sd-select/sd-select.js.map +1 -1
  105. package/dist/collection/components/sd-select-multiple/sd-select-multiple.css +16 -102
  106. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +328 -179
  107. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js.map +1 -1
  108. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +8 -45
  109. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +265 -47
  110. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js.map +1 -1
  111. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  112. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js.map +1 -1
  113. package/dist/collection/components/sd-table/sd-table.css +121 -30
  114. package/dist/collection/components/sd-table/sd-table.js +629 -92
  115. package/dist/collection/components/sd-table/sd-table.js.map +1 -1
  116. package/dist/collection/components/sd-tabs/sd-tabs.css +10 -7
  117. package/dist/collection/components/sd-tabs/sd-tabs.js +10 -17
  118. package/dist/collection/components/sd-tabs/sd-tabs.js.map +1 -1
  119. package/dist/collection/components/sd-tag/sd-tag.js +1 -1
  120. package/dist/collection/components/sd-textarea/sd-textarea.css +66 -0
  121. package/dist/collection/components/sd-textarea/sd-textarea.js +400 -0
  122. package/dist/collection/components/sd-textarea/sd-textarea.js.map +1 -0
  123. package/dist/collection/components/sd-toast-message/sd-toast-message.js +11 -11
  124. package/dist/collection/components/sd-toast-message/sd-toast-message.js.map +1 -1
  125. package/dist/collection/components/sd-toggle/sd-toggle.js +8 -14
  126. package/dist/collection/components/sd-toggle/sd-toggle.js.map +1 -1
  127. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +5 -5
  128. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js.map +1 -1
  129. package/dist/collection/components/sd-tooltip/sd-tooltip.css +6 -65
  130. package/dist/collection/components/sd-tooltip/sd-tooltip.js +12 -29
  131. package/dist/collection/components/sd-tooltip/sd-tooltip.js.map +1 -1
  132. package/dist/collection/types/select.js.map +1 -1
  133. package/dist/components/index.js +1 -1
  134. package/dist/components/p-7xekTQRB.js +104 -0
  135. package/dist/components/p-7xekTQRB.js.map +1 -0
  136. package/dist/components/{p-BDkKpeVz.js → p-BKSlQGJv.js} +3 -3
  137. package/dist/components/{p-BDkKpeVz.js.map → p-BKSlQGJv.js.map} +1 -1
  138. package/dist/components/{p-C5U6Otnl.js → p-CVMprLsE.js} +17 -15
  139. package/dist/components/p-CVMprLsE.js.map +1 -0
  140. package/dist/components/p-CdGD6AqM.js +92 -0
  141. package/dist/components/p-CdGD6AqM.js.map +1 -0
  142. package/dist/components/p-CpRkV7pg.js +201 -0
  143. package/dist/components/p-CpRkV7pg.js.map +1 -0
  144. package/dist/components/p-D2movWkD.js +289 -0
  145. package/dist/components/p-D2movWkD.js.map +1 -0
  146. package/dist/components/p-D54IEoI6.js +238 -0
  147. package/dist/components/p-D54IEoI6.js.map +1 -0
  148. package/dist/components/{p-B8yBkdjE.js → p-DbebUQwg.js} +7 -7
  149. package/dist/components/{p-B8yBkdjE.js.map → p-DbebUQwg.js.map} +1 -1
  150. package/dist/components/{p-BYf-ybt2.js → p-DcGvp3RM.js} +5 -5
  151. package/dist/components/p-DcGvp3RM.js.map +1 -0
  152. package/dist/components/{p-CfivfPAO.js → p-DdKGhMHk.js} +5 -5
  153. package/dist/components/{p-CfivfPAO.js.map → p-DdKGhMHk.js.map} +1 -1
  154. package/dist/components/{p-BxPT3VKO.js → p-DlJtPR_C.js} +12 -12
  155. package/dist/components/p-DlJtPR_C.js.map +1 -0
  156. package/dist/components/{p-BHHbLFXg.js → p-DnQF6htq.js} +5 -5
  157. package/dist/components/{p-BHHbLFXg.js.map → p-DnQF6htq.js.map} +1 -1
  158. package/dist/components/{p-BA38jFi5.js → p-DssRJcAn.js} +4 -4
  159. package/dist/components/{p-BA38jFi5.js.map → p-DssRJcAn.js.map} +1 -1
  160. package/dist/components/{p-B3H_uLbl.js → p-Dt-KAeBx.js} +3 -3
  161. package/dist/components/{p-B3H_uLbl.js.map → p-Dt-KAeBx.js.map} +1 -1
  162. package/dist/components/{p-BREduhZA.js → p-DxSmO6Tr.js} +8 -7
  163. package/dist/components/p-DxSmO6Tr.js.map +1 -0
  164. package/dist/components/{p-O3tgQfvT.js → p-JF61vPAh.js} +9 -9
  165. package/dist/components/p-JF61vPAh.js.map +1 -0
  166. package/dist/components/p-RhBqdixM.js +102 -0
  167. package/dist/components/p-RhBqdixM.js.map +1 -0
  168. package/dist/components/{p-Bj4u0G5b.js → p-UZEmuyIR.js} +19 -19
  169. package/dist/components/p-UZEmuyIR.js.map +1 -0
  170. package/dist/components/{p-CQBrru3e.js → p-YLoygqPr.js} +3 -3
  171. package/dist/components/p-YLoygqPr.js.map +1 -0
  172. package/dist/components/p-s4Mg_xSz.js +260 -0
  173. package/dist/components/p-s4Mg_xSz.js.map +1 -0
  174. package/dist/components/{p-w5tohH2H.js → p-zvZtN3nR.js} +8 -8
  175. package/dist/components/{p-w5tohH2H.js.map → p-zvZtN3nR.js.map} +1 -1
  176. package/dist/components/sd-badge.js +5 -5
  177. package/dist/components/sd-badge.js.map +1 -1
  178. package/dist/components/sd-button.js +1 -1
  179. package/dist/components/sd-card.js +3 -3
  180. package/dist/components/sd-card.js.map +1 -1
  181. package/dist/components/sd-checkbox.js +1 -1
  182. package/dist/components/sd-date-box.js +1 -1
  183. package/dist/components/sd-date-picker.js +37 -13
  184. package/dist/components/sd-date-picker.js.map +1 -1
  185. package/dist/components/sd-date-range-picker.js +41 -17
  186. package/dist/components/sd-date-range-picker.js.map +1 -1
  187. package/dist/components/{sd-td.d.ts → sd-field.d.ts} +4 -4
  188. package/dist/components/sd-field.js +9 -0
  189. package/dist/components/sd-field.js.map +1 -0
  190. package/dist/components/sd-file-picker.js +10 -10
  191. package/dist/components/sd-file-picker.js.map +1 -1
  192. package/dist/components/{sd-table-backup.d.ts → sd-floating-portal.d.ts} +4 -4
  193. package/dist/components/sd-floating-portal.js +9 -0
  194. package/dist/components/sd-floating-portal.js.map +1 -0
  195. package/dist/components/{sd-th.d.ts → sd-form.d.ts} +4 -4
  196. package/dist/components/sd-form.js +99 -0
  197. package/dist/components/sd-form.js.map +1 -0
  198. package/dist/components/sd-guide.js +12 -13
  199. package/dist/components/sd-guide.js.map +1 -1
  200. package/dist/components/sd-icon.js +1 -1
  201. package/dist/components/sd-input.js +1 -1
  202. package/dist/components/sd-loading-spinner.js +1 -1
  203. package/dist/components/sd-modal-card.js +10 -10
  204. package/dist/components/sd-modal-card.js.map +1 -1
  205. package/dist/components/sd-number-input.js +19 -43
  206. package/dist/components/sd-number-input.js.map +1 -1
  207. package/dist/components/sd-pagination.js +1 -1
  208. package/dist/components/sd-popover.js +14 -15
  209. package/dist/components/sd-popover.js.map +1 -1
  210. package/dist/components/sd-portal.js +1 -1
  211. package/dist/components/sd-progress.js +3 -3
  212. package/dist/components/sd-radio-button-group.js +10 -26
  213. package/dist/components/sd-radio-button-group.js.map +1 -1
  214. package/dist/components/sd-radio-group.js +5 -5
  215. package/dist/components/sd-radio-group.js.map +1 -1
  216. package/dist/components/{sd-tbody.d.ts → sd-select-dropdown.d.ts} +4 -4
  217. package/dist/components/sd-select-dropdown.js +9 -0
  218. package/dist/components/sd-select-dropdown.js.map +1 -0
  219. package/dist/components/sd-select-multiple-group.js +97 -40
  220. package/dist/components/sd-select-multiple-group.js.map +1 -1
  221. package/dist/components/sd-select-multiple.js +133 -168
  222. package/dist/components/sd-select-multiple.js.map +1 -1
  223. package/dist/components/sd-select-option-group.js +1 -1
  224. package/dist/components/sd-select-option.js +1 -1
  225. package/dist/components/sd-select-search-input.js +1 -1
  226. package/dist/components/sd-select.js +1 -1
  227. package/dist/components/sd-table.js +555 -113
  228. package/dist/components/sd-table.js.map +1 -1
  229. package/dist/components/sd-tabs.js +13 -16
  230. package/dist/components/sd-tabs.js.map +1 -1
  231. package/dist/components/sd-tag.js +1 -1
  232. package/dist/components/{sd-tr.d.ts → sd-textarea.d.ts} +4 -4
  233. package/dist/components/sd-textarea.js +145 -0
  234. package/dist/components/sd-textarea.js.map +1 -0
  235. package/dist/components/sd-toast-message.js +14 -14
  236. package/dist/components/sd-toast-message.js.map +1 -1
  237. package/dist/components/sd-toggle-button.js +5 -5
  238. package/dist/components/sd-toggle-button.js.map +1 -1
  239. package/dist/components/sd-toggle.js +9 -11
  240. package/dist/components/sd-toggle.js.map +1 -1
  241. package/dist/components/sd-tooltip.js +1 -1
  242. package/dist/design-system/design-system.css +1 -1
  243. package/dist/design-system/design-system.esm.js +1 -1
  244. package/dist/design-system/p-02e23509.entry.js +2 -0
  245. package/dist/design-system/p-02e23509.entry.js.map +1 -0
  246. package/dist/design-system/p-0a2f733d.entry.js +2 -0
  247. package/dist/design-system/p-0a2f733d.entry.js.map +1 -0
  248. package/dist/design-system/p-0d3f019d.entry.js +2 -0
  249. package/dist/design-system/p-0d3f019d.entry.js.map +1 -0
  250. package/dist/design-system/p-15dd1289.entry.js +2 -0
  251. package/dist/design-system/p-15dd1289.entry.js.map +1 -0
  252. package/dist/design-system/p-216c6543.entry.js +2 -0
  253. package/dist/design-system/p-216c6543.entry.js.map +1 -0
  254. package/dist/design-system/p-2400d67b.entry.js +2 -0
  255. package/dist/design-system/p-2400d67b.entry.js.map +1 -0
  256. package/dist/design-system/p-282f4087.entry.js +2 -0
  257. package/dist/design-system/{p-ddfe63b8.entry.js.map → p-282f4087.entry.js.map} +1 -1
  258. package/dist/design-system/{p-b5720c60.entry.js → p-388d5b9f.entry.js} +2 -2
  259. package/dist/design-system/p-4d7bb5b6.entry.js +2 -0
  260. package/dist/design-system/p-4d7bb5b6.entry.js.map +1 -0
  261. package/dist/design-system/p-53972259.entry.js +2 -0
  262. package/dist/design-system/p-53972259.entry.js.map +1 -0
  263. package/dist/design-system/p-6277b220.entry.js +2 -0
  264. package/dist/design-system/p-6277b220.entry.js.map +1 -0
  265. package/dist/design-system/p-652c4d37.entry.js +2 -0
  266. package/dist/design-system/p-652c4d37.entry.js.map +1 -0
  267. package/dist/design-system/p-661c4553.entry.js +2 -0
  268. package/dist/design-system/p-661c4553.entry.js.map +1 -0
  269. package/dist/design-system/p-686958c5.entry.js +2 -0
  270. package/dist/design-system/p-686958c5.entry.js.map +1 -0
  271. package/dist/design-system/p-811c5aa4.entry.js +2 -0
  272. package/dist/design-system/p-811c5aa4.entry.js.map +1 -0
  273. package/dist/design-system/p-827ca975.entry.js +2 -0
  274. package/dist/design-system/p-827ca975.entry.js.map +1 -0
  275. package/dist/design-system/p-8df72aa2.entry.js +2 -0
  276. package/dist/design-system/p-8df72aa2.entry.js.map +1 -0
  277. package/dist/design-system/p-9d2459ed.entry.js +2 -0
  278. package/dist/design-system/p-9d2459ed.entry.js.map +1 -0
  279. package/dist/design-system/p-BShXSO5x.js +2 -0
  280. package/dist/design-system/p-BShXSO5x.js.map +1 -0
  281. package/dist/design-system/{p-7X2nzJWz.js → p-C3qNZ7Qh.js} +3 -3
  282. package/dist/design-system/p-C3qNZ7Qh.js.map +1 -0
  283. package/dist/design-system/{p-CdbtuKYR.js → p-DPxE68eG.js} +2 -2
  284. package/dist/design-system/{p-CdbtuKYR.js.map → p-DPxE68eG.js.map} +1 -1
  285. package/dist/design-system/{p-BYf-ybt2.js → p-DcGvp3RM.js} +2 -2
  286. package/dist/design-system/{p-BYf-ybt2.js.map → p-DcGvp3RM.js.map} +1 -1
  287. package/dist/design-system/p-a7d4c6bd.entry.js +2 -0
  288. package/dist/design-system/p-a7d4c6bd.entry.js.map +1 -0
  289. package/dist/design-system/p-ac29c52c.entry.js +2 -0
  290. package/dist/design-system/p-ac29c52c.entry.js.map +1 -0
  291. package/dist/design-system/{p-7a424f6b.entry.js → p-b0277422.entry.js} +2 -2
  292. package/dist/design-system/p-b0277422.entry.js.map +1 -0
  293. package/dist/design-system/p-c25c4bd6.entry.js +2 -0
  294. package/dist/design-system/p-c25c4bd6.entry.js.map +1 -0
  295. package/dist/design-system/p-c3061828.entry.js +2 -0
  296. package/dist/design-system/p-c3061828.entry.js.map +1 -0
  297. package/dist/design-system/p-cde56c79.entry.js +2 -0
  298. package/dist/design-system/{p-5576f0f0.entry.js.map → p-cde56c79.entry.js.map} +1 -1
  299. package/dist/design-system/p-d77422e4.entry.js +2 -0
  300. package/dist/design-system/p-d77422e4.entry.js.map +1 -0
  301. package/dist/design-system/p-dc410414.entry.js +2 -0
  302. package/dist/design-system/p-dc410414.entry.js.map +1 -0
  303. package/dist/design-system/p-f254b09a.entry.js +2 -0
  304. package/dist/design-system/p-f254b09a.entry.js.map +1 -0
  305. package/dist/design-system/p-f3287206.entry.js +2 -0
  306. package/dist/design-system/p-f3287206.entry.js.map +1 -0
  307. package/dist/esm/{select-keyboard-navigation-C2JaR3A6.js → base-dropdown-event-BShXSO5x.js} +26 -26
  308. package/dist/esm/base-dropdown-event-BShXSO5x.js.map +1 -0
  309. package/dist/esm/design-system.js +3 -3
  310. package/dist/esm/{index-7X2nzJWz.js → index-C3qNZ7Qh.js} +3 -3
  311. package/dist/esm/index-C3qNZ7Qh.js.map +1 -0
  312. package/dist/esm/loader.js +3 -3
  313. package/dist/esm/{resolveColor-BYf-ybt2.js → resolveColor-DcGvp3RM.js} +5 -5
  314. package/dist/{cjs/resolveColor-DxvExwgo.js.map → esm/resolveColor-DcGvp3RM.js.map} +1 -1
  315. package/dist/esm/sd-badge.entry.js +4 -4
  316. package/dist/esm/sd-badge.entry.js.map +1 -1
  317. package/dist/esm/{sd-button_24.entry.js → sd-button_6.entry.js} +291 -2823
  318. package/dist/esm/sd-card.entry.js +3 -3
  319. package/dist/esm/sd-card.entry.js.map +1 -1
  320. package/dist/esm/sd-checkbox.entry.js +87 -0
  321. package/dist/esm/sd-checkbox.entry.js.map +1 -0
  322. package/dist/esm/sd-date-box.entry.js +10 -10
  323. package/dist/esm/sd-date-box.entry.js.map +1 -1
  324. package/dist/esm/sd-date-picker.entry.js +5 -5
  325. package/dist/esm/sd-date-picker.entry.js.map +1 -1
  326. package/dist/esm/sd-date-range-picker.entry.js +8 -8
  327. package/dist/esm/sd-date-range-picker.entry.js.map +1 -1
  328. package/dist/esm/sd-field_3.entry.js +418 -0
  329. package/dist/esm/sd-file-picker.entry.js +119 -0
  330. package/dist/esm/sd-file-picker.entry.js.map +1 -0
  331. package/dist/esm/sd-form.entry.js +72 -0
  332. package/dist/esm/sd-form.entry.js.map +1 -0
  333. package/dist/esm/sd-guide.entry.js +79 -0
  334. package/dist/esm/sd-guide.entry.js.map +1 -0
  335. package/dist/esm/sd-loading-spinner_2.entry.js +192 -0
  336. package/dist/esm/sd-modal-card.entry.js +8 -8
  337. package/dist/esm/sd-modal-card.entry.js.map +1 -1
  338. package/dist/esm/sd-number-input.entry.js +259 -0
  339. package/dist/esm/sd-number-input.entry.js.map +1 -0
  340. package/dist/esm/sd-popover.entry.js +7 -7
  341. package/dist/esm/sd-popover.entry.js.map +1 -1
  342. package/dist/esm/sd-progress.entry.js +3 -3
  343. package/dist/esm/sd-radio-button-group.entry.js +8 -21
  344. package/dist/esm/sd-radio-button-group.entry.js.map +1 -1
  345. package/dist/esm/sd-radio-group.entry.js +69 -0
  346. package/dist/esm/sd-radio-group.entry.js.map +1 -0
  347. package/dist/esm/sd-select-dropdown_3.entry.js +262 -0
  348. package/dist/esm/sd-select-multiple-group.entry.js +444 -0
  349. package/dist/esm/sd-select-multiple-group.entry.js.map +1 -0
  350. package/dist/esm/sd-select-multiple.entry.js +72 -150
  351. package/dist/esm/sd-select-multiple.entry.js.map +1 -1
  352. package/dist/esm/sd-select-option-group.entry.js +67 -0
  353. package/dist/esm/sd-select-option-group.entry.js.map +1 -0
  354. package/dist/esm/sd-table.entry.js +515 -85
  355. package/dist/esm/sd-table.entry.js.map +1 -1
  356. package/dist/esm/sd-tabs.entry.js +64 -0
  357. package/dist/esm/sd-tabs.entry.js.map +1 -0
  358. package/dist/esm/sd-tag.entry.js +55 -0
  359. package/dist/esm/sd-tag.entry.js.map +1 -0
  360. package/dist/esm/sd-toast-message.entry.js +59 -0
  361. package/dist/esm/sd-toast-message.entry.js.map +1 -0
  362. package/dist/esm/sd-toggle-button.entry.js +48 -0
  363. package/dist/esm/sd-toggle-button.entry.js.map +1 -0
  364. package/dist/esm/sd-toggle.entry.js +44 -0
  365. package/dist/esm/sd-toggle.entry.js.map +1 -0
  366. package/dist/esm/{tooltipArrow-DFRZWz6D.js → tooltipArrow-Ck_14rXC.js} +3 -3
  367. package/dist/esm/{tooltipArrow-DFRZWz6D.js.map → tooltipArrow-Ck_14rXC.js.map} +1 -1
  368. package/dist/types/components/sd-button/sd-button.d.ts +0 -3
  369. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
  370. package/dist/types/components/sd-date-box/sd-date-box.d.ts +2 -2
  371. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +1 -1
  372. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +1 -1
  373. package/dist/types/components/sd-field/sd-field.d.ts +34 -0
  374. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +1 -1
  375. package/dist/types/components/{sd-tooltip-portal/sd-tooltip-portal.d.ts → sd-floating-portal/sd-floating-portal.d.ts} +2 -2
  376. package/dist/types/components/sd-form/sd-form.d.ts +23 -0
  377. package/dist/types/components/sd-input/sd-input.d.ts +23 -14
  378. package/dist/types/components/sd-modal-card/sd-modal-card.d.ts +2 -2
  379. package/dist/types/components/sd-number-input/sd-number-input.d.ts +4 -14
  380. package/dist/types/components/sd-portal/sd-portal.d.ts +1 -1
  381. package/dist/types/components/sd-radio-button-group/sd-radio-button-group.d.ts +2 -4
  382. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +1 -1
  383. package/dist/types/components/sd-select/sd-select-dropdown/sd-select-dropdown.d.ts +41 -0
  384. package/dist/types/components/sd-select/sd-select-option/sd-select-option.d.ts +1 -1
  385. package/dist/types/components/sd-select/sd-select-search-input/sd-select-search-input.d.ts +4 -4
  386. package/dist/types/components/sd-select/sd-select.d.ts +28 -21
  387. package/dist/types/components/sd-select-multiple/sd-select-multiple.d.ts +26 -20
  388. package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +19 -4
  389. package/dist/types/components/sd-table/sd-table.d.ts +62 -3
  390. package/dist/types/components/sd-tabs/sd-tabs.d.ts +1 -2
  391. package/dist/types/components/sd-textarea/sd-textarea.d.ts +32 -0
  392. package/dist/types/components/sd-toast-message/sd-toast-message.d.ts +3 -3
  393. package/dist/types/components/sd-toggle/sd-toggle.d.ts +1 -2
  394. package/dist/types/components/sd-toggle-button/sd-toggle-button.d.ts +1 -1
  395. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -2
  396. package/dist/types/components.d.ts +703 -397
  397. package/dist/types/types/form.d.ts +1 -0
  398. package/dist/types/types/select.d.ts +1 -1
  399. package/hydrate/index.js +1397 -1325
  400. package/hydrate/index.mjs +1397 -1325
  401. package/package.json +4 -3
  402. package/dist/cjs/index-B7tkxTye.js.map +0 -1
  403. package/dist/cjs/sd-tbody_3.cjs.entry.js +0 -44
  404. package/dist/cjs/sd-td.cjs.entry.js +0 -26
  405. package/dist/cjs/select-keyboard-navigation-6fO_V4En.js.map +0 -1
  406. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +0 -3
  407. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +0 -18
  408. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js.map +0 -1
  409. package/dist/collection/components/sd-table/sd-td/sd-td.css +0 -9
  410. package/dist/collection/components/sd-table/sd-td/sd-td.js +0 -111
  411. package/dist/collection/components/sd-table/sd-td/sd-td.js.map +0 -1
  412. package/dist/collection/components/sd-table/sd-th/sd-th.css +0 -8
  413. package/dist/collection/components/sd-table/sd-th/sd-th.js +0 -18
  414. package/dist/collection/components/sd-table/sd-th/sd-th.js.map +0 -1
  415. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +0 -3
  416. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +0 -18
  417. package/dist/collection/components/sd-table/sd-tr/sd-tr.js.map +0 -1
  418. package/dist/collection/components/sd-table-backup/sd-table-backup.css +0 -309
  419. package/dist/collection/components/sd-table-backup/sd-table-backup.js +0 -1219
  420. package/dist/collection/components/sd-table-backup/sd-table-backup.js.map +0 -1
  421. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js.map +0 -1
  422. package/dist/components/p-6qJVnQg4.js +0 -34
  423. package/dist/components/p-6qJVnQg4.js.map +0 -1
  424. package/dist/components/p-BREduhZA.js.map +0 -1
  425. package/dist/components/p-BYf-ybt2.js.map +0 -1
  426. package/dist/components/p-Bj4u0G5b.js.map +0 -1
  427. package/dist/components/p-BxPT3VKO.js.map +0 -1
  428. package/dist/components/p-C4kdHNdl.js +0 -175
  429. package/dist/components/p-C4kdHNdl.js.map +0 -1
  430. package/dist/components/p-C5U6Otnl.js.map +0 -1
  431. package/dist/components/p-CNrsaSqW.js +0 -34
  432. package/dist/components/p-CNrsaSqW.js.map +0 -1
  433. package/dist/components/p-CQBrru3e.js.map +0 -1
  434. package/dist/components/p-D8KGixEs.js +0 -326
  435. package/dist/components/p-D8KGixEs.js.map +0 -1
  436. package/dist/components/p-DLrb7Zq3.js +0 -102
  437. package/dist/components/p-DLrb7Zq3.js.map +0 -1
  438. package/dist/components/p-K42WRBPA.js +0 -121
  439. package/dist/components/p-K42WRBPA.js.map +0 -1
  440. package/dist/components/p-O3tgQfvT.js.map +0 -1
  441. package/dist/components/p-QpwY2yqY.js +0 -78
  442. package/dist/components/p-QpwY2yqY.js.map +0 -1
  443. package/dist/components/p-xme-KFvK.js +0 -34
  444. package/dist/components/p-xme-KFvK.js.map +0 -1
  445. package/dist/components/sd-table-backup.js +0 -802
  446. package/dist/components/sd-table-backup.js.map +0 -1
  447. package/dist/components/sd-tbody.js +0 -9
  448. package/dist/components/sd-tbody.js.map +0 -1
  449. package/dist/components/sd-td.js +0 -50
  450. package/dist/components/sd-td.js.map +0 -1
  451. package/dist/components/sd-th.js +0 -9
  452. package/dist/components/sd-th.js.map +0 -1
  453. package/dist/components/sd-tooltip-portal.d.ts +0 -11
  454. package/dist/components/sd-tooltip-portal.js +0 -9
  455. package/dist/components/sd-tooltip-portal.js.map +0 -1
  456. package/dist/components/sd-tr.js +0 -9
  457. package/dist/components/sd-tr.js.map +0 -1
  458. package/dist/design-system/p-0893dbd0.entry.js +0 -2
  459. package/dist/design-system/p-0893dbd0.entry.js.map +0 -1
  460. package/dist/design-system/p-2633690f.entry.js +0 -2
  461. package/dist/design-system/p-2633690f.entry.js.map +0 -1
  462. package/dist/design-system/p-27985b84.entry.js +0 -2
  463. package/dist/design-system/p-27985b84.entry.js.map +0 -1
  464. package/dist/design-system/p-5576f0f0.entry.js +0 -2
  465. package/dist/design-system/p-7X2nzJWz.js.map +0 -1
  466. package/dist/design-system/p-7a424f6b.entry.js.map +0 -1
  467. package/dist/design-system/p-7ca988ab.entry.js +0 -2
  468. package/dist/design-system/p-7ca988ab.entry.js.map +0 -1
  469. package/dist/design-system/p-9ade8cd7.entry.js +0 -2
  470. package/dist/design-system/p-9ade8cd7.entry.js.map +0 -1
  471. package/dist/design-system/p-C2JaR3A6.js +0 -2
  472. package/dist/design-system/p-C2JaR3A6.js.map +0 -1
  473. package/dist/design-system/p-a7bdb6ba.entry.js +0 -2
  474. package/dist/design-system/p-a7bdb6ba.entry.js.map +0 -1
  475. package/dist/design-system/p-b1b828e6.entry.js +0 -2
  476. package/dist/design-system/p-b1b828e6.entry.js.map +0 -1
  477. package/dist/design-system/p-bdd9afaf.entry.js +0 -2
  478. package/dist/design-system/p-bdd9afaf.entry.js.map +0 -1
  479. package/dist/design-system/p-ddfe63b8.entry.js +0 -2
  480. package/dist/design-system/p-de826a92.entry.js +0 -2
  481. package/dist/design-system/p-de826a92.entry.js.map +0 -1
  482. package/dist/design-system/p-e180c69c.entry.js +0 -2
  483. package/dist/design-system/p-e180c69c.entry.js.map +0 -1
  484. package/dist/esm/index-7X2nzJWz.js.map +0 -1
  485. package/dist/esm/sd-tbody_3.entry.js +0 -40
  486. package/dist/esm/sd-td.entry.js +0 -24
  487. package/dist/esm/sd-td.entry.js.map +0 -1
  488. package/dist/esm/select-keyboard-navigation-C2JaR3A6.js.map +0 -1
  489. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +0 -3
  490. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +0 -7
  491. package/dist/types/components/sd-table/sd-th/sd-th.d.ts +0 -3
  492. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +0 -3
  493. package/dist/types/components/sd-table-backup/sd-table-backup.d.ts +0 -135
  494. /package/dist/design-system/{p-b5720c60.entry.js.map → p-388d5b9f.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sd-file-picker.js","sourceRoot":"","sources":["../../../src/components/sd-file-picker/sd-file-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ComponentInterface,\n Component,\n Element,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch,\n h,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-file-picker',\n styleUrl: 'sd-file-picker.scss',\n})\nexport class SdFilePicker implements ComponentInterface {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) value?: File[] | File | null = null;\n @Prop() placeholder: string = 'Click to upload';\n @Prop() disabled: boolean = false;\n @Prop() inline: boolean = false;\n @Prop() multiple: boolean = false;\n @Prop() accept?: string;\n @Prop() width?: number | string;\n\n @State() private internalValue: File[] | File | null = null;\n @State() private hovered: boolean = false;\n @State() private showTooltip: boolean = false;\n\n private fileInputRef?: HTMLInputElement;\n private fileNamesRef?: HTMLElement;\n\n @Event() sdChange!: EventEmitter<File[] | File | null>;\n\n @Watch('value')\n valueChanged(newValue: File[] | File | null) {\n this.internalValue = newValue;\n }\n\n componentDidLoad() {\n this.checkOverflow();\n }\n\n componentDidUpdate() {\n this.checkOverflow();\n }\n\n private handleFileChange = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const files = input.files;\n\n if (!files || files.length === 0) {\n return;\n }\n\n const fileArray = Array.from(files);\n\n if (this.multiple) {\n this.internalValue = fileArray;\n } else {\n this.internalValue = fileArray[0];\n }\n this.value = this.internalValue;\n this.sdChange?.emit(this.value);\n };\n\n private handleClear = (event: Event) => {\n event.stopPropagation();\n const clearedValue = this.multiple ? [] : null;\n this.value = clearedValue;\n this.internalValue = clearedValue;\n this.sdChange?.emit(clearedValue);\n\n if (this.fileInputRef) {\n this.fileInputRef.value = '';\n }\n };\n\n private handleClick = () => {\n if (this.disabled) return;\n this.fileInputRef?.click();\n };\n\n private getStatusClass(): string {\n if (this.disabled) return 'sd-file-picker--disabled';\n if (this.hasFiles()) return 'sd-file-picker--active';\n return '';\n }\n\n private hasFiles(): boolean {\n if (!this.internalValue) return false;\n if (Array.isArray(this.internalValue)) {\n return this.internalValue.length > 0;\n }\n return true;\n }\n\n private getDisplayText(): string {\n if (!this.hasFiles()) return this.placeholder;\n\n if (Array.isArray(this.internalValue)) {\n return this.internalValue.map(f => f.name).join(', ');\n }\n\n return this.internalValue?.name || this.placeholder;\n }\n\n private checkOverflow() {\n if (!this.fileNamesRef) return;\n const isOverflowing = this.fileNamesRef.scrollWidth > this.fileNamesRef.clientWidth;\n this.showTooltip = isOverflowing;\n }\n\n private getIconColor(): string {\n if (this.disabled) {\n return this.inline ? 'grey_45' : 'grey_55';\n }\n return 'grey_70';\n }\n\n render() {\n const hasFiles = this.hasFiles();\n const displayText = this.getDisplayText();\n\n return (\n <div\n class={{\n 'sd-file-picker': true,\n [this.getStatusClass()]: true,\n 'sd-file-picker--inline': this.inline,\n }}\n onClick={this.handleClick}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n >\n <input\n ref={el => (this.fileInputRef = el as HTMLInputElement)}\n type=\"file\"\n class=\"sd-file-picker__input\"\n disabled={this.disabled}\n multiple={this.multiple}\n accept={this.accept}\n onInput={this.handleFileChange}\n aria-label={this.placeholder}\n />\n\n <sd-icon name=\"attachFile\" size={16} color={this.getIconColor()} class=\"sd-file-picker__icon\" />\n\n <div\n ref={el => (this.fileNamesRef = el as HTMLElement)}\n class={{\n 'sd-file-picker__text': true,\n 'sd-file-picker__text--placeholder': !hasFiles,\n 'sd-file-picker__text--active': hasFiles,\n }}\n >\n {displayText}\n </div>\n\n {!this.disabled && hasFiles && (\n <sd-icon\n name=\"close\"\n size={12}\n color=\"#888888\"\n class=\"sd-file-picker__clear-icon\"\n onClick={this.handleClear}\n />\n )}\n\n {this.showTooltip && hasFiles && this.hovered && (\n <div class=\"sd-file-picker__tooltip\">{displayText}</div>\n )}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"sd-file-picker.js","sourceRoot":"","sources":["../../../src/components/sd-file-picker/sd-file-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ComponentInterface,\n Component,\n Element,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch,\n h,\n} from '@stencil/core';\n\n@Component({\n tag: 'sd-file-picker',\n styleUrl: 'sd-file-picker.scss',\n})\nexport class SdFilePicker implements ComponentInterface {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) value?: File[] | File | null = null;\n @Prop() placeholder: string = 'Click to upload';\n @Prop() disabled: boolean = false;\n @Prop() inline: boolean = false;\n @Prop() multiple: boolean = false;\n @Prop() accept?: string;\n @Prop() width?: number | string;\n\n @State() private internalValue: File[] | File | null = null;\n @State() private hovered: boolean = false;\n @State() private showTooltip: boolean = false;\n\n private fileInputRef?: HTMLInputElement;\n private fileNamesRef?: HTMLElement;\n\n @Event({ eventName: 'sdUpdate' }) update!: EventEmitter<File[] | File | null>;\n\n @Watch('value')\n valueChanged(newValue: File[] | File | null) {\n this.internalValue = newValue;\n }\n\n componentDidLoad() {\n this.checkOverflow();\n }\n\n componentDidUpdate() {\n this.checkOverflow();\n }\n\n private handleFileChange = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const files = input.files;\n\n if (!files || files.length === 0) {\n return;\n }\n\n const fileArray = Array.from(files);\n\n if (this.multiple) {\n this.internalValue = fileArray;\n } else {\n this.internalValue = fileArray[0];\n }\n this.value = this.internalValue;\n this.update?.emit(this.value);\n };\n\n private handleClear = (event: Event) => {\n event.stopPropagation();\n const clearedValue = this.multiple ? [] : null;\n this.value = clearedValue;\n this.internalValue = clearedValue;\n this.update?.emit(clearedValue);\n\n if (this.fileInputRef) {\n this.fileInputRef.value = '';\n }\n };\n\n private handleClick = () => {\n if (this.disabled) return;\n this.fileInputRef?.click();\n };\n\n private getStatusClass(): string {\n if (this.disabled) return 'sd-file-picker--disabled';\n if (this.hasFiles()) return 'sd-file-picker--active';\n return '';\n }\n\n private hasFiles(): boolean {\n if (!this.internalValue) return false;\n if (Array.isArray(this.internalValue)) {\n return this.internalValue.length > 0;\n }\n return true;\n }\n\n private getDisplayText(): string {\n if (!this.hasFiles()) return this.placeholder;\n\n if (Array.isArray(this.internalValue)) {\n return this.internalValue.map(f => f.name).join(', ');\n }\n\n return this.internalValue?.name || this.placeholder;\n }\n\n private checkOverflow() {\n if (!this.fileNamesRef) return;\n const isOverflowing = this.fileNamesRef.scrollWidth > this.fileNamesRef.clientWidth;\n this.showTooltip = isOverflowing;\n }\n\n private getIconColor(): string {\n if (this.disabled) {\n return this.inline ? 'grey_45' : 'grey_55';\n }\n return 'grey_70';\n }\n\n render() {\n const hasFiles = this.hasFiles();\n const displayText = this.getDisplayText();\n\n return (\n <div\n class={{\n 'sd-file-picker': true,\n [this.getStatusClass()]: true,\n 'sd-file-picker--inline': this.inline,\n }}\n onClick={this.handleClick}\n onMouseEnter={() => (this.hovered = true)}\n onMouseLeave={() => (this.hovered = false)}\n >\n <input\n ref={el => (this.fileInputRef = el as HTMLInputElement)}\n type=\"file\"\n class=\"sd-file-picker__input\"\n disabled={this.disabled}\n multiple={this.multiple}\n accept={this.accept}\n onInput={this.handleFileChange}\n aria-label={this.placeholder}\n />\n\n <sd-icon name=\"attachFile\" size={16} color={this.getIconColor()} class=\"sd-file-picker__icon\" />\n\n <div\n ref={el => (this.fileNamesRef = el as HTMLElement)}\n class={{\n 'sd-file-picker__text': true,\n 'sd-file-picker__text--placeholder': !hasFiles,\n 'sd-file-picker__text--active': hasFiles,\n }}\n >\n {displayText}\n </div>\n\n {!this.disabled && hasFiles && (\n <sd-icon\n name=\"close\"\n size={12}\n color=\"#888888\"\n class=\"sd-file-picker__clear-icon\"\n onClick={this.handleClear}\n />\n )}\n\n {this.showTooltip && hasFiles && this.hovered && (\n <div class=\"sd-file-picker__tooltip\">{displayText}</div>\n )}\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,103 @@
1
+ .sd-floating-menu {
2
+ width: fit-content;
3
+ padding: 12px 20px;
4
+ border-radius: 4px;
5
+ font-size: 12px;
6
+ position: relative;
7
+ box-sizing: border-box;
8
+ background: #07284a;
9
+ color: #ffffff;
10
+ }
11
+ .sd-floating-menu .sd-floating-menu__arrow {
12
+ color: #07284a;
13
+ }
14
+ .sd-floating-menu--default {
15
+ background: #07284a;
16
+ color: #ffffff;
17
+ }
18
+ .sd-floating-menu--default .sd-floating-menu__arrow {
19
+ color: #07284a;
20
+ }
21
+ .sd-floating-menu--caution {
22
+ background: #fce6e6;
23
+ color: #fb4444;
24
+ }
25
+ .sd-floating-menu--caution .sd-floating-menu__arrow {
26
+ color: #fce6e6;
27
+ }
28
+ .sd-floating-menu--notice {
29
+ background: #ffead7;
30
+ color: #ff6b00;
31
+ }
32
+ .sd-floating-menu--notice .sd-floating-menu__arrow {
33
+ color: #ffead7;
34
+ }
35
+ .sd-floating-menu--accent {
36
+ background: #e6f1ff;
37
+ color: #0075ff;
38
+ }
39
+ .sd-floating-menu--accent .sd-floating-menu__arrow {
40
+ color: #e6f1ff;
41
+ }
42
+ .sd-floating-menu__arrow {
43
+ position: absolute;
44
+ display: flex;
45
+ width: 9.6px;
46
+ height: 7.2px;
47
+ }
48
+ .sd-floating-menu__arrow svg {
49
+ width: 100%;
50
+ height: 100%;
51
+ }
52
+ .sd-floating-menu__arrow--top {
53
+ bottom: -7.2px;
54
+ left: 50%;
55
+ transform: translateX(-50%);
56
+ }
57
+ .sd-floating-menu__arrow--bottom {
58
+ top: -7.2px;
59
+ left: 50%;
60
+ transform: translateX(-50%) rotate(180deg);
61
+ }
62
+ .sd-floating-menu__arrow--left {
63
+ right: -7.2px;
64
+ top: 50%;
65
+ transform: translateY(-50%) rotate(-90deg);
66
+ }
67
+ .sd-floating-menu__arrow--right {
68
+ left: -7.2px;
69
+ top: 50%;
70
+ transform: translateY(-50%) rotate(90deg);
71
+ }
72
+ .sd-floating-menu__content {
73
+ font-size: 12px;
74
+ line-height: 20px;
75
+ }
76
+ .sd-floating-menu__content .sd-floating-menu__title {
77
+ font-weight: 700;
78
+ margin-bottom: 4px;
79
+ }
80
+ .sd-floating-menu__content .sd-floating-menu__messages {
81
+ font-weight: 500;
82
+ }
83
+ .sd-floating-menu__content .sd-floating-menu__buttons {
84
+ margin-top: 12px;
85
+ display: flex;
86
+ gap: 8px;
87
+ align-items: center;
88
+ }
89
+ .sd-floating-menu__content .sd-floating-menu__buttons--1 {
90
+ justify-content: flex-end;
91
+ }
92
+ .sd-floating-menu__content .sd-floating-menu__buttons--2 {
93
+ justify-content: space-between;
94
+ }
95
+ .sd-floating-menu__close-button {
96
+ position: absolute;
97
+ top: 16px;
98
+ right: 12px;
99
+ padding: 0;
100
+ background: none;
101
+ border: none;
102
+ cursor: pointer;
103
+ }
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- export class SdTooltipPortal {
2
+ export class SdFloatingPopover {
3
3
  el;
4
4
  to = 'body';
5
5
  parentRef = null;
@@ -7,7 +7,7 @@ export class SdTooltipPortal {
7
7
  zIndex = 9999;
8
8
  placement = 'bottom';
9
9
  open = false;
10
- sdClose;
10
+ close;
11
11
  container;
12
12
  wrapper;
13
13
  rafId;
@@ -86,7 +86,7 @@ export class SdTooltipPortal {
86
86
  if (!rect.width && !rect.height)
87
87
  return; // 요소가 보이지 않는 경우
88
88
  const [offsetX, offsetY] = this.offset;
89
- const ARROW_SIZE = SdTooltipPortal.ARROW_SIZE;
89
+ const ARROW_SIZE = SdFloatingPopover.ARROW_SIZE;
90
90
  let top = 0;
91
91
  let left = 0;
92
92
  switch (this.placement) {
@@ -141,13 +141,22 @@ export class SdTooltipPortal {
141
141
  }
142
142
  if (this.wrapper?.contains(e.target))
143
143
  return;
144
- this.sdClose.emit();
144
+ this.close.emit();
145
145
  }
146
146
  render() {
147
- return h("slot", { key: 'f26d3228d5c0965c2303e599259a6e93307009dc' });
147
+ return h("slot", { key: 'f2000891d7d3bd71982f591bf953d1421f67fb5e' });
148
+ }
149
+ static get is() { return "sd-floating-portal"; }
150
+ static get originalStyleUrls() {
151
+ return {
152
+ "$": ["sd-floating-portal.scss"]
153
+ };
154
+ }
155
+ static get styleUrls() {
156
+ return {
157
+ "$": ["sd-floating-portal.css"]
158
+ };
148
159
  }
149
- static get is() { return "sd-tooltip-portal"; }
150
- static get encapsulation() { return "shadow"; }
151
160
  static get properties() {
152
161
  return {
153
162
  "to": {
@@ -280,7 +289,7 @@ export class SdTooltipPortal {
280
289
  }
281
290
  static get events() {
282
291
  return [{
283
- "method": "sdClose",
292
+ "method": "close",
284
293
  "name": "sdClose",
285
294
  "bubbles": true,
286
295
  "cancelable": true,
@@ -325,4 +334,4 @@ export class SdTooltipPortal {
325
334
  }];
326
335
  }
327
336
  }
328
- //# sourceMappingURL=sd-tooltip-portal.js.map
337
+ //# sourceMappingURL=sd-floating-portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-floating-portal.js","sourceRoot":"","sources":["../../../src/components/sd-floating-portal/sd-floating-portal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAMzF,MAAM,OAAO,iBAAiB;IAClB,EAAE,CAAe;IACpB,EAAE,GAAyB,MAAM,CAAC;IAClC,SAAS,GAAuB,IAAI,CAAC;IACrC,MAAM,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,CAAC;IACtB,SAAS,GAAwC,QAAQ,CAAC;IAC1D,IAAI,GAAY,KAAK,CAAC;IAEG,KAAK,CAAsB;IAEpD,SAAS,CAAe;IACxB,OAAO,CAAe;IACtB,KAAK,CAAU;IACf,aAAa,GAAG,KAAK,CAAC;IAEtB,cAAc,CAAkB;IAChC,gBAAgB,CAAoB;IAEpC,MAAM,CAAU,UAAU,GAAG,IAAI,CAAC;IAE1C,gBAAgB;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,wBAAwB;QACxB,qBAAqB,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,aAAa;YACzD,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,6DAA6D;QAC7D,wCAAwC;QAExC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACrC,4BAA4B;YAC5B,qBAAqB,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC3C,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,IAAI,IAAI,CAAC,KAAK;YAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC;IAEO,gBAAgB;QACvB,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,OAAO,EAAE,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvD,CAAC;IAEO,aAAa;QACpB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACjC,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,cAAc;YAC1B,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3F,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,0BAA0B;IAG1B,cAAc;QACb,IAAI,IAAI,CAAC,KAAK;YAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,gBAAgB;YAEzD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;YAEhD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxB,KAAK,KAAK;oBACT,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;oBACnF,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC5F,MAAM;gBAEP,KAAK,QAAQ;oBACZ,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;oBAC1D,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC5F,MAAM;gBAEP,KAAK,MAAM;oBACV,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC5F,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;oBACpF,MAAM;gBAEP,KAAK,OAAO;oBACX,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC5F,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;oBAC1D,MAAM;YACR,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAQ,CAAC,KAAK,EAAE;gBAClC,GAAG,EAAE,GAAG,GAAG,IAAI;gBACf,IAAI,EAAE,GAAG,IAAI,IAAI;aACjB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,0BAA0B;IAClB,aAAa;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5C,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACb,CAAC,CAAC;IACJ,CAAC;IAEO,eAAe;QACtB,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,WAAW;IAEX,eAAe,CAAC,CAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CACtB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC;YACzD,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,CAAC,CAC7D,CAAC;IACH,CAAC;IAGD,iBAAiB,CAAC,CAAa;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,OAAO;QACR,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,MAAM;QACL,OAAO,8DAAa,CAAC;IACtB,CAAC","sourcesContent":["import { Component, Element, Event, EventEmitter, Listen, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'sd-floating-portal',\n styleUrl: 'sd-floating-portal.scss',\n})\nexport class SdFloatingPopover {\n @Element() el!: HTMLElement;\n @Prop() to: HTMLElement | string = 'body';\n @Prop() parentRef: HTMLElement | null = null;\n @Prop() offset: [number, number] = [0, 0];\n @Prop() zIndex: number = 9999;\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'bottom';\n @Prop() open: boolean = false;\n\n @Event({ eventName: 'sdClose' }) close!: EventEmitter<void>;\n\n private container?: HTMLElement;\n private wrapper?: HTMLElement;\n private rafId?: number;\n private isInsideClick = false;\n\n private resizeObserver?: ResizeObserver;\n private mutationObserver?: MutationObserver;\n\n private static readonly ARROW_SIZE = 11.2;\n\n componentDidLoad() {\n this.container = this.resolveContainer();\n this.createWrapper();\n this.moveSlotContent();\n\n // DOM이 완전히 렌더링된 후 위치 계산\n requestAnimationFrame(() => {\n this.updatePosition();\n if (this.wrapper) {\n this.wrapper.style.visibility = 'visible'; // 위치 계산 후 표시\n }\n });\n\n this.observeParent();\n }\n\n componentDidRender() {\n if (!this.wrapper) return;\n\n // this.wrapper.style.display = this.open ? 'block' : 'none';\n // if (this.open) this.updatePosition();\n\n if (this.open) {\n this.wrapper.style.display = 'block';\n // RAF를 사용해서 다음 프레임에 위치 업데이트\n requestAnimationFrame(() => {\n this.updatePosition();\n if (this.wrapper) {\n this.wrapper.style.visibility = 'visible';\n }\n });\n } else {\n this.wrapper.style.display = 'none';\n this.wrapper.style.visibility = 'hidden';\n }\n }\n\n disconnectedCallback() {\n if (this.rafId) cancelAnimationFrame(this.rafId);\n this.unobserveParent();\n this.wrapper?.remove();\n }\n\n private resolveContainer(): HTMLElement {\n const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;\n return el instanceof HTMLElement ? el : document.body;\n }\n\n private createWrapper() {\n this.wrapper = document.createElement('div');\n Object.assign(this.wrapper.style, {\n position: 'absolute',\n zIndex: this.zIndex.toString(),\n transition: 'opacity 0.4s',\n top: '-9999px',\n left: '-9999px',\n });\n this.container!.appendChild(this.wrapper);\n }\n\n private moveSlotContent() {\n if (!this.wrapper) return;\n const nodes = Array.from(this.el.childNodes).filter(n => n.nodeType !== Node.COMMENT_NODE);\n nodes.forEach(n => this.wrapper!.appendChild(n));\n }\n\n // 위치 갱신 (scroll / resize)\n @Listen('scroll', { target: 'window' })\n @Listen('resize', { target: 'window' })\n updatePosition() {\n if (this.rafId) cancelAnimationFrame(this.rafId);\n\n this.rafId = requestAnimationFrame(() => {\n if (!this.parentRef || !this.wrapper) return;\n\n const rect = this.parentRef.getBoundingClientRect();\n if (!rect.width && !rect.height) return; // 요소가 보이지 않는 경우\n\n const [offsetX, offsetY] = this.offset;\n const ARROW_SIZE = SdFloatingPopover.ARROW_SIZE;\n\n let top = 0;\n let left = 0;\n\n switch (this.placement) {\n case 'top':\n top = rect.top + window.scrollY - this.wrapper.offsetHeight + offsetY - ARROW_SIZE;\n left = rect.left + window.scrollX + rect.width / 2 - this.wrapper.offsetWidth / 2 + offsetX;\n break;\n\n case 'bottom':\n top = rect.bottom + window.scrollY + offsetY + ARROW_SIZE;\n left = rect.left + window.scrollX + rect.width / 2 - this.wrapper.offsetWidth / 2 + offsetX;\n break;\n\n case 'left':\n top = rect.top + window.scrollY + rect.height / 2 - this.wrapper.offsetHeight / 2 + offsetY;\n left = rect.left + window.scrollX - this.wrapper.offsetWidth - offsetX - ARROW_SIZE;\n break;\n\n case 'right':\n top = rect.top + window.scrollY + rect.height / 2 - this.wrapper.offsetHeight / 2 + offsetY;\n left = rect.right + window.scrollX + offsetX + ARROW_SIZE;\n break;\n }\n\n Object.assign(this.wrapper!.style, {\n top: `${top}px`,\n left: `${left}px`,\n });\n });\n }\n\n // parentRef의 이동 / 크기변경 감지\n private observeParent() {\n if (!this.parentRef) return;\n\n this.resizeObserver = new ResizeObserver(() => this.updatePosition());\n this.resizeObserver.observe(this.parentRef);\n\n this.mutationObserver = new MutationObserver(() => this.updatePosition());\n this.mutationObserver.observe(document.body, {\n childList: true,\n subtree: true,\n });\n }\n\n private unobserveParent() {\n this.resizeObserver?.disconnect();\n this.mutationObserver?.disconnect();\n }\n\n // 외부 클릭 감지\n @Listen('mousedown', { target: 'window' })\n handleMouseDown(e: MouseEvent) {\n this.isInsideClick = !!(\n (this.wrapper && this.wrapper.contains(e.target as Node)) ||\n (this.parentRef && this.parentRef.contains(e.target as Node))\n );\n }\n\n @Listen('click', { target: 'window' })\n handleWindowClick(e: MouseEvent) {\n if (this.isInsideClick) {\n this.isInsideClick = false;\n return;\n }\n if (this.wrapper?.contains(e.target as Node)) return;\n this.close.emit();\n }\n\n render() {\n return <slot></slot>;\n }\n}\n"]}
@@ -0,0 +1,200 @@
1
+ import { h } from "@stencil/core";
2
+ export class SdForm {
3
+ fields = [];
4
+ submitSuccess;
5
+ submitFail;
6
+ sortFieldsByDomOrder() {
7
+ this.fields.sort((a, b) => {
8
+ const elA = a.el;
9
+ const elB = b.el;
10
+ if (!elA || !elB)
11
+ return 0;
12
+ return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
13
+ });
14
+ }
15
+ async sdRegisterField(field) {
16
+ if (!field.name) {
17
+ console.warn('[sd-form] field.name is required');
18
+ return;
19
+ }
20
+ if (this.fields.find(f => f.name === field.name))
21
+ return;
22
+ this.fields.push(field);
23
+ this.sortFieldsByDomOrder();
24
+ }
25
+ async sdUnregisterField(name) {
26
+ this.fields = this.fields.filter(f => f.name !== name);
27
+ }
28
+ async sdValidate() {
29
+ const fieldValidationResults = await Promise.all(this.fields.map(async (field) => {
30
+ const valid = await field.sdValidate();
31
+ return {
32
+ field,
33
+ valid,
34
+ };
35
+ }));
36
+ const isInValid = fieldValidationResults.find(result => {
37
+ return !result.valid;
38
+ });
39
+ if (isInValid) {
40
+ isInValid.field.sdFocus();
41
+ isInValid.field.sdScrollIntoView?.();
42
+ }
43
+ return !isInValid;
44
+ }
45
+ async sdReset() {
46
+ this.fields.forEach(f => f.sdReset());
47
+ }
48
+ async sdResetValidation() {
49
+ this.fields.forEach(f => f.sdResetValidation());
50
+ }
51
+ async onSubmit(e) {
52
+ e.preventDefault();
53
+ const valid = await this.sdValidate();
54
+ if (!valid) {
55
+ this.submitFail.emit();
56
+ return;
57
+ }
58
+ this.submitSuccess.emit();
59
+ }
60
+ render() {
61
+ return (h("form", { key: '90203497cd0cb8910f35fd6ac91cb472f89a452f', onSubmit: e => this.onSubmit(e) }, h("slot", { key: '8776a3ecf66efffe1f01288e1e18b575d1778ef3' })));
62
+ }
63
+ static get is() { return "sd-form"; }
64
+ static get events() {
65
+ return [{
66
+ "method": "submitSuccess",
67
+ "name": "sdSubmit",
68
+ "bubbles": true,
69
+ "cancelable": true,
70
+ "composed": true,
71
+ "docs": {
72
+ "tags": [],
73
+ "text": ""
74
+ },
75
+ "complexType": {
76
+ "original": "void",
77
+ "resolved": "void",
78
+ "references": {}
79
+ }
80
+ }, {
81
+ "method": "submitFail",
82
+ "name": "sdValidationError",
83
+ "bubbles": true,
84
+ "cancelable": true,
85
+ "composed": true,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": ""
89
+ },
90
+ "complexType": {
91
+ "original": "void",
92
+ "resolved": "void",
93
+ "references": {}
94
+ }
95
+ }];
96
+ }
97
+ static get methods() {
98
+ return {
99
+ "sdRegisterField": {
100
+ "complexType": {
101
+ "signature": "(field: ValidatableField) => Promise<void>",
102
+ "parameters": [{
103
+ "name": "field",
104
+ "type": "ValidatableField",
105
+ "docs": ""
106
+ }],
107
+ "references": {
108
+ "Promise": {
109
+ "location": "global",
110
+ "id": "global::Promise"
111
+ },
112
+ "ValidatableField": {
113
+ "location": "local",
114
+ "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-form/sd-form.tsx",
115
+ "id": "src/components/sd-form/sd-form.tsx::ValidatableField"
116
+ }
117
+ },
118
+ "return": "Promise<void>"
119
+ },
120
+ "docs": {
121
+ "text": "",
122
+ "tags": []
123
+ }
124
+ },
125
+ "sdUnregisterField": {
126
+ "complexType": {
127
+ "signature": "(name: string) => Promise<void>",
128
+ "parameters": [{
129
+ "name": "name",
130
+ "type": "string",
131
+ "docs": ""
132
+ }],
133
+ "references": {
134
+ "Promise": {
135
+ "location": "global",
136
+ "id": "global::Promise"
137
+ }
138
+ },
139
+ "return": "Promise<void>"
140
+ },
141
+ "docs": {
142
+ "text": "",
143
+ "tags": []
144
+ }
145
+ },
146
+ "sdValidate": {
147
+ "complexType": {
148
+ "signature": "() => Promise<boolean>",
149
+ "parameters": [],
150
+ "references": {
151
+ "Promise": {
152
+ "location": "global",
153
+ "id": "global::Promise"
154
+ }
155
+ },
156
+ "return": "Promise<boolean>"
157
+ },
158
+ "docs": {
159
+ "text": "",
160
+ "tags": []
161
+ }
162
+ },
163
+ "sdReset": {
164
+ "complexType": {
165
+ "signature": "() => Promise<void>",
166
+ "parameters": [],
167
+ "references": {
168
+ "Promise": {
169
+ "location": "global",
170
+ "id": "global::Promise"
171
+ }
172
+ },
173
+ "return": "Promise<void>"
174
+ },
175
+ "docs": {
176
+ "text": "",
177
+ "tags": []
178
+ }
179
+ },
180
+ "sdResetValidation": {
181
+ "complexType": {
182
+ "signature": "() => Promise<void>",
183
+ "parameters": [],
184
+ "references": {
185
+ "Promise": {
186
+ "location": "global",
187
+ "id": "global::Promise"
188
+ }
189
+ },
190
+ "return": "Promise<void>"
191
+ },
192
+ "docs": {
193
+ "text": "",
194
+ "tags": []
195
+ }
196
+ }
197
+ };
198
+ }
199
+ }
200
+ //# sourceMappingURL=sd-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-form.js","sourceRoot":"","sources":["../../../src/components/sd-form/sd-form.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Method } from '@stencil/core';\nimport { Rule } from '../../components';\n\nexport interface ValidatableField {\n name: string;\n rules?: Rule[];\n sdValidate: () => Promise<boolean>;\n sdReset: () => void;\n sdResetValidation: () => void;\n sdFocus: () => void;\n}\n\n@Component({\n tag: 'sd-form',\n})\nexport class SdForm {\n private fields: ValidatableField[] = [];\n\n @Event({ eventName: 'sdSubmit' }) submitSuccess!: EventEmitter<void>;\n @Event({ eventName: 'sdValidationError' }) submitFail!: EventEmitter<void>;\n\n private sortFieldsByDomOrder() {\n this.fields.sort((a, b) => {\n const elA = (a as any).el;\n const elB = (b as any).el;\n if (!elA || !elB) return 0;\n return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n }\n\n @Method()\n async sdRegisterField(field: ValidatableField) {\n if (!field.name) {\n console.warn('[sd-form] field.name is required');\n return;\n }\n\n if (this.fields.find(f => f.name === field.name)) return;\n\n this.fields.push(field);\n this.sortFieldsByDomOrder();\n }\n\n @Method()\n async sdUnregisterField(name: string) {\n this.fields = this.fields.filter(f => f.name !== name);\n }\n\n @Method()\n async sdValidate(): Promise<boolean> {\n const fieldValidationResults = await Promise.all(\n this.fields.map(async field => {\n const valid = await field.sdValidate();\n return {\n field,\n valid,\n };\n }),\n );\n\n const isInValid = fieldValidationResults.find(result => {\n return !result.valid;\n });\n\n if (isInValid) {\n isInValid.field.sdFocus();\n (isInValid.field as any).sdScrollIntoView?.();\n }\n\n return !isInValid;\n }\n\n @Method()\n async sdReset() {\n this.fields.forEach(f => f.sdReset());\n }\n\n @Method()\n async sdResetValidation() {\n this.fields.forEach(f => f.sdResetValidation());\n }\n\n private async onSubmit(e: Event) {\n e.preventDefault();\n\n const valid = await this.sdValidate();\n if (!valid) {\n this.submitFail.emit();\n return;\n }\n\n this.submitSuccess.emit();\n }\n\n render() {\n return (\n <form onSubmit={e => this.onSubmit(e)}>\n <slot />\n </form>\n );\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  @charset "UTF-8";
2
2
  sd-button {
3
- display: inline-block;
3
+ display: inline-flex;
4
4
  width: fit-content;
5
5
  height: fit-content;
6
6
  }
@@ -19,6 +19,7 @@ sd-button {
19
19
  display: inline-flex;
20
20
  align-items: center;
21
21
  justify-content: center;
22
+ border: none;
22
23
  }
23
24
  .sd-button--xs {
24
25
  padding: 0 8px;
@@ -154,7 +155,7 @@ sd-guide .sd-guide .sd-button .sd-button__content .sd-button__label {
154
155
  margin-left: 4px;
155
156
  }
156
157
  sd-guide .sd-guide--active .sd-button {
157
- border: 1px solid #12b553;
158
+ border: 1px solid #00973c;
158
159
  }
159
160
  sd-guide .sd-guide--active .sd-button .sd-button__content .sd-button__label {
160
161
  color: white !important;
@@ -1,5 +1,4 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import colors from "../../styles/color.json";
3
2
  const GUIDE_LABEL = {
4
3
  help: '활용 TIP',
5
4
  pdf: 'PDF Guide',
@@ -11,12 +10,12 @@ const GUIDE_ICON = {
11
10
  help: {
12
11
  name: 'helpOutline',
13
12
  size: 20,
14
- color: colors.green_75,
13
+ color: 'green_75',
15
14
  },
16
- pdf: { name: 'pdf', size: 20, color: colors.red_75 },
17
- youtube: { name: 'youtube', size: 20, color: colors.red_75 },
18
- notion: { name: 'notion', size: 16, color: colors.black },
19
- event: { name: 'event', size: 16, color: colors.brilliantblue_70 },
15
+ pdf: { name: 'pdf', size: 20, color: 'red_75' },
16
+ youtube: { name: 'youtube', size: 20, color: 'red_75' },
17
+ notion: { name: 'notion', size: 16, color: 'black' },
18
+ event: { name: 'event', size: 16, color: 'brilliantblue_70' },
20
19
  };
21
20
  export class SdGuide {
22
21
  el;
@@ -48,9 +47,9 @@ export class SdGuide {
48
47
  };
49
48
  render() {
50
49
  const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];
51
- return (h(Host, { key: '73cc9c84ec4e921e83e9d0cde2971c5088cbb48f', style: {
50
+ return (h(Host, { key: 'a7a284528f1bf4c24cbf4c645c600bfdb8ac3397', style: {
52
51
  '--sd-guide-color': GUIDE_ICON[this.type].color,
53
- } }, h("sd-button", { key: '310afd874d062a91fab4b179a9a4e2f340a95175', ref: el => (this.guideRef = el), class: this.guideClass, variant: this.popupShow ? 'primary' : 'outline', label: this.label || GUIDE_LABEL[this.type], size: "sm", color: this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45', icon: iconName, iconColor: this.popupShow ? 'white' : iconColor, iconSize: iconSize, noHover: this.popupShow, onSdClick: this.handleClickGuide }), this.type === 'help' && this.popupShow && (h("sd-portal", { key: '133bb71a98efd9a15407aad915937caec728aa38', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '4a39145ce20e1e37ebc3f639712f635231f34f2d', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: 'e71a8217b3969db9fadf9083835402cf69e62c3c', class: "sd-guide__popup", style: { width: this.popupWidth ? this.popupWidth + 'px' : '426px' } }, h("sd-button", { key: 'f035ca961013d99305b0409f406fdd3063e11155', class: "sd-guide__popup__close", icon: "close", color: colors.grey_65, size: "md", variant: "ghost", noHover: true, onSdClick: this.closeDropdown }), h("div", { key: 'a3d505a21abd77e85fac45a792ca7bb2b2448a6a', class: "sd-guide__popup__header" }, h("sd-icon", { key: '785bfbe594936b56f407edd2349e19076cf6ece9', name: "helpOutline", size: 24, color: colors.green_65 }), h("h3", { key: 'da5dfaed05a11ccef574580a4c18341646d59e4f', class: "sd-guide__popup__title" }, this.popupTitle || GUIDE_LABEL[this.type])), h("ul", { key: '0faa4a71c1d77d21490436323c2d80c792397991', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
52
+ } }, h("sd-button", { key: '7a31bb752942f693d77e687b7ee433772f0fb968', ref: el => (this.guideRef = el), class: this.guideClass, variant: this.popupShow ? 'primary' : 'outline', label: this.label || GUIDE_LABEL[this.type], size: "sm", color: this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45', icon: iconName, iconColor: this.popupShow ? 'white' : iconColor, iconSize: iconSize, noHover: this.popupShow, onClick: this.handleClickGuide }), this.type === 'help' && this.popupShow && (h("sd-portal", { key: 'b90a2c0594d2b9a09aad39954400fc648b14b776', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '5f74f1b359de72ce3224a6d85971dc599e9eca11', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: 'c7f0fea72dec238904e6ec696f0de8d7b4d99139', class: "sd-guide__popup", style: { width: this.popupWidth ? this.popupWidth + 'px' : '426px' } }, h("sd-button", { key: '91d375b51051cc6689d57a22615ece587592d4cd', class: "sd-guide__popup__close", icon: "close", color: "grey_65", size: "md", variant: "ghost", noHover: true, onClick: this.closeDropdown }), h("div", { key: '182d31b38da2082c18ed6d25d6879e8e5d5fc839', class: "sd-guide__popup__header" }, h("sd-icon", { key: '21a45f953f436528e8a5a0d08af988cb7cbbbf0c', name: "helpOutline", size: 24, color: "green_65" }), h("h3", { key: 'f6f24e6584b585fb6719327fed01bff87df8b9b9', class: "sd-guide__popup__title" }, this.popupTitle || GUIDE_LABEL[this.type])), h("ul", { key: '87fc85b3bb2bdd0e902bd7dc81cd6e36447d5241', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
54
53
  }
55
54
  // 현재 2depth까지만 스타일 적용
56
55
  renderListItem(message, depth = 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-guide.js","sourceRoot":"","sources":["../../../src/components/sd-guide/sd-guide.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, h } from '@stencil/core';\nimport colors from '../../styles/color.json';\n\ntype GuideType = 'help' | 'pdf' | 'youtube' | 'notion' | 'event';\n\nconst GUIDE_LABEL = {\n help: '활용 TIP',\n pdf: 'PDF Guide',\n youtube: 'Video Guide',\n notion: '사용법 안내',\n event: 'Event Button',\n};\n\nconst GUIDE_ICON = {\n help: {\n name: 'helpOutline',\n size: 20,\n color: colors.green_75,\n },\n pdf: { name: 'pdf', size: 20, color: colors.red_75 },\n youtube: { name: 'youtube', size: 20, color: colors.red_75 },\n notion: { name: 'notion', size: 16, color: colors.black },\n event: { name: 'event', size: 16, color: colors.brilliantblue_70 },\n} as const;\n\n@Component({\n tag: 'sd-guide',\n styleUrl: 'sd-guide.scss',\n})\nexport class SdGuide {\n @Element() el!: HTMLElement;\n\n @Prop() type: GuideType = 'help';\n @Prop() label: string = '';\n @Prop() message: string | string[] = '';\n @Prop() guideUrl: string = '';\n @Prop() popupTitle: string = '';\n @Prop() popupWidth?: number;\n\n @State() popupShow: boolean = false;\n\n private guideRef?: HTMLElement;\n\n private handleClickGuide = () => {\n if (this.type === 'help') {\n this.popupShow = !this.popupShow;\n return;\n }\n\n if (this.guideUrl) {\n window.open(this.guideUrl, '_blank');\n }\n };\n\n private get guideClass(): string {\n const classes = ['sd-guide', `sd-guide--${this.type}`];\n\n if (this.popupShow) classes.push('sd-guide--active');\n\n return classes.join(' ');\n }\n\n closeDropdown = () => {\n this.popupShow = false;\n };\n\n render() {\n const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];\n\n return (\n <Host\n style={{\n '--sd-guide-color': GUIDE_ICON[this.type].color,\n }}\n >\n <sd-button\n ref={el => (this.guideRef = el as unknown as HTMLElement)}\n class={this.guideClass}\n variant={this.popupShow ? 'primary' : 'outline'}\n label={this.label || GUIDE_LABEL[this.type]}\n size=\"sm\"\n color={this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45'}\n icon={iconName}\n iconColor={this.popupShow ? 'white' : iconColor}\n iconSize={iconSize}\n noHover={this.popupShow}\n onSdClick={this.handleClickGuide}\n />\n {this.type === 'help' && this.popupShow && (\n <sd-portal\n open={this.popupShow}\n parentRef={this.guideRef}\n onSdClose={this.closeDropdown}\n offset={[0, 4]}\n >\n {/* \n 관련 일감: https://sellmate.atlassian.net/browse/SEL-6219\n portal 위치 잡는 컨테이너 추가 개발 이후에 삭제 필요\n */}\n <div style={{ position: 'absolute', width: '0px', height: '0px' }}>\n <div\n class=\"sd-guide__popup\"\n style={{ width: this.popupWidth ? this.popupWidth + 'px' : '426px' } as any}\n >\n <sd-button\n class=\"sd-guide__popup__close\"\n icon=\"close\"\n color={colors.grey_65}\n size=\"md\"\n variant=\"ghost\"\n noHover\n onSdClick={this.closeDropdown}\n />\n <div class=\"sd-guide__popup__header\">\n <sd-icon name=\"helpOutline\" size={24} color={colors.green_65} />\n <h3 class=\"sd-guide__popup__title\">{this.popupTitle || GUIDE_LABEL[this.type]}</h3>\n </div>\n <ul class=\"sd-guide__popup__list\">{this.renderListItem(this.message)}</ul>\n </div>\n </div>\n </sd-portal>\n )}\n </Host>\n );\n }\n\n // 현재 2depth까지만 스타일 적용\n renderListItem(message: string | string[], depth: number = 0): HTMLElement[] {\n const listItems: HTMLElement[] = [];\n\n if (Array.isArray(message)) {\n const depthMsg = message.map(msg => this.renderListItem(msg, depth + 1));\n listItems.push(...depthMsg.flat());\n } else {\n listItems.push(this.renderLi(message, depth));\n }\n\n return listItems;\n }\n\n renderLi = (message: string, depth: number) => {\n return (\n <li class={`sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}`}>\n <p innerHTML={message}></p>\n </li>\n );\n };\n}\n"]}
1
+ {"version":3,"file":"sd-guide.js","sourceRoot":"","sources":["../../../src/components/sd-guide/sd-guide.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, h } from '@stencil/core';\n\ntype GuideType = 'help' | 'pdf' | 'youtube' | 'notion' | 'event';\n\nconst GUIDE_LABEL = {\n help: '활용 TIP',\n pdf: 'PDF Guide',\n youtube: 'Video Guide',\n notion: '사용법 안내',\n event: 'Event Button',\n};\n\nconst GUIDE_ICON = {\n help: {\n name: 'helpOutline',\n size: 20,\n color: 'green_75',\n },\n pdf: { name: 'pdf', size: 20, color: 'red_75' },\n youtube: { name: 'youtube', size: 20, color: 'red_75' },\n notion: { name: 'notion', size: 16, color: 'black' },\n event: { name: 'event', size: 16, color: 'brilliantblue_70' },\n} as const;\n\n@Component({\n tag: 'sd-guide',\n styleUrl: 'sd-guide.scss',\n})\nexport class SdGuide {\n @Element() el!: HTMLElement;\n\n @Prop() type: GuideType = 'help';\n @Prop() label: string = '';\n @Prop() message: string | string[] = '';\n @Prop() guideUrl: string = '';\n @Prop() popupTitle: string = '';\n @Prop() popupWidth?: number;\n\n @State() popupShow: boolean = false;\n\n private guideRef?: HTMLElement;\n\n private handleClickGuide = () => {\n if (this.type === 'help') {\n this.popupShow = !this.popupShow;\n return;\n }\n\n if (this.guideUrl) {\n window.open(this.guideUrl, '_blank');\n }\n };\n\n private get guideClass(): string {\n const classes = ['sd-guide', `sd-guide--${this.type}`];\n\n if (this.popupShow) classes.push('sd-guide--active');\n\n return classes.join(' ');\n }\n\n closeDropdown = () => {\n this.popupShow = false;\n };\n\n render() {\n const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];\n\n return (\n <Host\n style={{\n '--sd-guide-color': GUIDE_ICON[this.type].color,\n }}\n >\n <sd-button\n ref={el => (this.guideRef = el as unknown as HTMLElement)}\n class={this.guideClass}\n variant={this.popupShow ? 'primary' : 'outline'}\n label={this.label || GUIDE_LABEL[this.type]}\n size=\"sm\"\n color={this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45'}\n icon={iconName}\n iconColor={this.popupShow ? 'white' : iconColor}\n iconSize={iconSize}\n noHover={this.popupShow}\n onClick={this.handleClickGuide}\n />\n {this.type === 'help' && this.popupShow && (\n <sd-portal\n open={this.popupShow}\n parentRef={this.guideRef}\n onSdClose={this.closeDropdown}\n offset={[0, 4]}\n >\n {/* \n 관련 일감: https://sellmate.atlassian.net/browse/SEL-6219\n portal 위치 잡는 컨테이너 추가 개발 이후에 삭제 필요\n */}\n <div style={{ position: 'absolute', width: '0px', height: '0px' }}>\n <div\n class=\"sd-guide__popup\"\n style={{ width: this.popupWidth ? this.popupWidth + 'px' : '426px' } as any}\n >\n <sd-button\n class=\"sd-guide__popup__close\"\n icon=\"close\"\n color=\"grey_65\"\n size=\"md\"\n variant=\"ghost\"\n noHover\n onClick={this.closeDropdown}\n />\n <div class=\"sd-guide__popup__header\">\n <sd-icon name=\"helpOutline\" size={24} color=\"green_65\" />\n <h3 class=\"sd-guide__popup__title\">{this.popupTitle || GUIDE_LABEL[this.type]}</h3>\n </div>\n <ul class=\"sd-guide__popup__list\">{this.renderListItem(this.message)}</ul>\n </div>\n </div>\n </sd-portal>\n )}\n </Host>\n );\n }\n\n // 현재 2depth까지만 스타일 적용\n renderListItem(message: string | string[], depth: number = 0): HTMLElement[] {\n const listItems: HTMLElement[] = [];\n\n if (Array.isArray(message)) {\n const depthMsg = message.map(msg => this.renderListItem(msg, depth + 1));\n listItems.push(...depthMsg.flat());\n } else {\n listItems.push(this.renderLi(message, depth));\n }\n\n return listItems;\n }\n\n renderLi = (message: string, depth: number) => {\n return (\n <li class={`sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}`}>\n <p innerHTML={message}></p>\n </li>\n );\n };\n}\n"]}
@@ -25,7 +25,7 @@ export class SdIcon {
25
25
  }
26
26
  render() {
27
27
  const IconComponent = Icons[this.name]?.[this.size];
28
- return (h("i", { key: '49cc8a7c8a0af18d920065232ef3e2127f6abb6c', class: this.getIconClasses(), style: this.iconStyle }, h(IconComponent, { key: 'cb8464e125ecfddc96621b57183fb26f37043f51', color: this.resolvedColor })));
28
+ return (h("i", { key: '851c9b6fd0ac6bc9393a21e95184e158bced5fe6', class: this.getIconClasses(), style: this.iconStyle }, h(IconComponent, { key: 'a10dcad82179ba12a9e9754b0b2cdd1ef548b4a5', color: this.resolvedColor })));
29
29
  }
30
30
  static get is() { return "sd-icon"; }
31
31
  static get originalStyleUrls() {