@sellmate/design-system 0.0.55 → 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 (495) 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 +4 -4
  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 +1 -1
  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 -3
  47. package/dist/collection/components/sd-card/sd-card.js +6 -6
  48. package/dist/collection/components/sd-card/sd-card.js.map +1 -1
  49. package/dist/collection/components/sd-checkbox/sd-checkbox.js +16 -16
  50. package/dist/collection/components/sd-checkbox/sd-checkbox.js.map +1 -1
  51. package/dist/collection/components/sd-date-box/sd-date-box.css +1 -0
  52. package/dist/collection/components/sd-date-box/sd-date-box.js +8 -8
  53. package/dist/collection/components/sd-date-box/sd-date-box.js.map +1 -1
  54. package/dist/collection/components/sd-date-picker/sd-date-picker.js +5 -5
  55. package/dist/collection/components/sd-date-picker/sd-date-picker.js.map +1 -1
  56. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.css +9 -6
  57. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +8 -8
  58. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js.map +1 -1
  59. package/dist/collection/components/sd-field/sd-field.css +100 -0
  60. package/dist/collection/components/sd-field/sd-field.js +472 -0
  61. package/dist/collection/components/sd-field/sd-field.js.map +1 -0
  62. package/dist/collection/components/sd-file-picker/sd-file-picker.css +6 -0
  63. package/dist/collection/components/sd-file-picker/sd-file-picker.js +8 -8
  64. package/dist/collection/components/sd-file-picker/sd-file-picker.js.map +1 -1
  65. package/dist/collection/components/sd-floating-portal/sd-floating-portal.css +103 -0
  66. package/dist/collection/components/{sd-tooltip-portal/sd-tooltip-portal.js → sd-floating-portal/sd-floating-portal.js} +18 -9
  67. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js.map +1 -0
  68. package/dist/collection/components/sd-form/sd-form.js +200 -0
  69. package/dist/collection/components/sd-form/sd-form.js.map +1 -0
  70. package/dist/collection/components/sd-guide/sd-guide.css +3 -2
  71. package/dist/collection/components/sd-guide/sd-guide.js +7 -8
  72. package/dist/collection/components/sd-guide/sd-guide.js.map +1 -1
  73. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  74. package/dist/collection/components/sd-input/sd-input.css +43 -100
  75. package/dist/collection/components/sd-input/sd-input.js +285 -114
  76. package/dist/collection/components/sd-input/sd-input.js.map +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-radio-button-group/sd-radio-button-group.js +9 -30
  90. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.js.map +1 -1
  91. package/dist/collection/components/sd-radio-group/sd-radio-group.js +5 -5
  92. package/dist/collection/components/sd-radio-group/sd-radio-group.js.map +1 -1
  93. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.css +52 -0
  94. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js +441 -0
  95. package/dist/collection/components/sd-select/sd-select-dropdown/sd-select-dropdown.js.map +1 -0
  96. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +4 -4
  97. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js.map +1 -1
  98. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.css +11 -3
  99. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js +15 -15
  100. package/dist/collection/components/sd-select/sd-select-search-input/sd-select-search-input.js.map +1 -1
  101. package/dist/collection/components/sd-select/sd-select.css +9 -97
  102. package/dist/collection/components/sd-select/sd-select.js +320 -219
  103. package/dist/collection/components/sd-select/sd-select.js.map +1 -1
  104. package/dist/collection/components/sd-select-multiple/sd-select-multiple.css +16 -102
  105. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +328 -179
  106. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js.map +1 -1
  107. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +8 -45
  108. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +265 -47
  109. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js.map +1 -1
  110. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  111. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js.map +1 -1
  112. package/dist/collection/components/sd-table/sd-table.css +121 -30
  113. package/dist/collection/components/sd-table/sd-table.js +629 -92
  114. package/dist/collection/components/sd-table/sd-table.js.map +1 -1
  115. package/dist/collection/components/sd-tabs/sd-tabs.css +10 -7
  116. package/dist/collection/components/sd-tabs/sd-tabs.js +10 -17
  117. package/dist/collection/components/sd-tabs/sd-tabs.js.map +1 -1
  118. package/dist/collection/components/sd-tag/sd-tag.js +1 -1
  119. package/dist/collection/components/sd-textarea/sd-textarea.css +66 -0
  120. package/dist/collection/components/sd-textarea/sd-textarea.js +400 -0
  121. package/dist/collection/components/sd-textarea/sd-textarea.js.map +1 -0
  122. package/dist/collection/components/sd-toast-message/sd-toast-message.js +11 -11
  123. package/dist/collection/components/sd-toast-message/sd-toast-message.js.map +1 -1
  124. package/dist/collection/components/sd-toggle/sd-toggle.js +8 -14
  125. package/dist/collection/components/sd-toggle/sd-toggle.js.map +1 -1
  126. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +5 -5
  127. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js.map +1 -1
  128. package/dist/collection/components/sd-tooltip/sd-tooltip.css +6 -65
  129. package/dist/collection/components/sd-tooltip/sd-tooltip.js +12 -29
  130. package/dist/collection/components/sd-tooltip/sd-tooltip.js.map +1 -1
  131. package/dist/collection/types/select.js.map +1 -1
  132. package/dist/components/index.js +1 -1
  133. package/dist/components/p-7xekTQRB.js +104 -0
  134. package/dist/components/p-7xekTQRB.js.map +1 -0
  135. package/dist/components/{p-BDkKpeVz.js → p-BKSlQGJv.js} +3 -3
  136. package/dist/components/{p-BDkKpeVz.js.map → p-BKSlQGJv.js.map} +1 -1
  137. package/dist/components/{p-njRAT-yp.js → p-CVMprLsE.js} +17 -15
  138. package/dist/components/p-CVMprLsE.js.map +1 -0
  139. package/dist/components/p-CdGD6AqM.js +92 -0
  140. package/dist/components/p-CdGD6AqM.js.map +1 -0
  141. package/dist/components/p-CpRkV7pg.js +201 -0
  142. package/dist/components/p-CpRkV7pg.js.map +1 -0
  143. package/dist/components/p-D2movWkD.js +289 -0
  144. package/dist/components/p-D2movWkD.js.map +1 -0
  145. package/dist/components/p-D54IEoI6.js +238 -0
  146. package/dist/components/p-D54IEoI6.js.map +1 -0
  147. package/dist/components/{p-D5BkkT2U.js → p-DbebUQwg.js} +7 -7
  148. package/dist/components/{p-D5BkkT2U.js.map → p-DbebUQwg.js.map} +1 -1
  149. package/dist/components/{p-BYf-ybt2.js → p-DcGvp3RM.js} +5 -5
  150. package/dist/components/p-DcGvp3RM.js.map +1 -0
  151. package/dist/components/{p-nqDJZ_gy.js → p-DdKGhMHk.js} +4 -4
  152. package/dist/components/{p-nqDJZ_gy.js.map → p-DdKGhMHk.js.map} +1 -1
  153. package/dist/components/{p-BxPT3VKO.js → p-DlJtPR_C.js} +12 -12
  154. package/dist/components/p-DlJtPR_C.js.map +1 -0
  155. package/dist/components/{p-vhe6g4Qt.js → p-DnQF6htq.js} +5 -5
  156. package/dist/components/{p-vhe6g4Qt.js.map → p-DnQF6htq.js.map} +1 -1
  157. package/dist/components/{p-BA38jFi5.js → p-DssRJcAn.js} +4 -4
  158. package/dist/components/{p-BA38jFi5.js.map → p-DssRJcAn.js.map} +1 -1
  159. package/dist/components/{p-B3H_uLbl.js → p-Dt-KAeBx.js} +3 -3
  160. package/dist/components/{p-B3H_uLbl.js.map → p-Dt-KAeBx.js.map} +1 -1
  161. package/dist/components/{p-DRGcUx0C.js → p-DxSmO6Tr.js} +8 -7
  162. package/dist/components/p-DxSmO6Tr.js.map +1 -0
  163. package/dist/components/{p-CWwMpVqI.js → p-JF61vPAh.js} +9 -9
  164. package/dist/components/p-JF61vPAh.js.map +1 -0
  165. package/dist/components/p-RhBqdixM.js +102 -0
  166. package/dist/components/p-RhBqdixM.js.map +1 -0
  167. package/dist/components/{p-CKhzpdPk.js → p-UZEmuyIR.js} +19 -19
  168. package/dist/components/p-UZEmuyIR.js.map +1 -0
  169. package/dist/components/{p-CQBrru3e.js → p-YLoygqPr.js} +3 -3
  170. package/dist/components/p-YLoygqPr.js.map +1 -0
  171. package/dist/components/p-s4Mg_xSz.js +260 -0
  172. package/dist/components/p-s4Mg_xSz.js.map +1 -0
  173. package/dist/components/{p-MRYVk6Qh.js → p-zvZtN3nR.js} +8 -8
  174. package/dist/components/{p-MRYVk6Qh.js.map → p-zvZtN3nR.js.map} +1 -1
  175. package/dist/components/sd-badge.js +5 -5
  176. package/dist/components/sd-badge.js.map +1 -1
  177. package/dist/components/sd-button.js +1 -1
  178. package/dist/components/sd-card.js +5 -5
  179. package/dist/components/sd-card.js.map +1 -1
  180. package/dist/components/sd-checkbox.js +1 -1
  181. package/dist/components/sd-date-box.js +1 -1
  182. package/dist/components/sd-date-picker.js +37 -13
  183. package/dist/components/sd-date-picker.js.map +1 -1
  184. package/dist/components/sd-date-range-picker.js +41 -17
  185. package/dist/components/sd-date-range-picker.js.map +1 -1
  186. package/dist/components/{sd-td.d.ts → sd-field.d.ts} +4 -4
  187. package/dist/components/sd-field.js +9 -0
  188. package/dist/components/sd-field.js.map +1 -0
  189. package/dist/components/sd-file-picker.js +10 -10
  190. package/dist/components/sd-file-picker.js.map +1 -1
  191. package/dist/components/{sd-table-backup.d.ts → sd-floating-portal.d.ts} +4 -4
  192. package/dist/components/sd-floating-portal.js +9 -0
  193. package/dist/components/sd-floating-portal.js.map +1 -0
  194. package/dist/components/{sd-th.d.ts → sd-form.d.ts} +4 -4
  195. package/dist/components/sd-form.js +99 -0
  196. package/dist/components/sd-form.js.map +1 -0
  197. package/dist/components/sd-guide.js +12 -13
  198. package/dist/components/sd-guide.js.map +1 -1
  199. package/dist/components/sd-icon.js +1 -1
  200. package/dist/components/sd-input.js +1 -1
  201. package/dist/components/sd-loading-spinner.js +1 -1
  202. package/dist/components/sd-modal-card.js +10 -10
  203. package/dist/components/sd-modal-card.js.map +1 -1
  204. package/dist/components/sd-number-input.js +19 -43
  205. package/dist/components/sd-number-input.js.map +1 -1
  206. package/dist/components/sd-pagination.js +1 -1
  207. package/dist/components/sd-popover.js +14 -15
  208. package/dist/components/sd-popover.js.map +1 -1
  209. package/dist/components/sd-portal.js +1 -1
  210. package/dist/components/sd-progress.js +1 -1
  211. package/dist/components/sd-radio-button-group.js +10 -26
  212. package/dist/components/sd-radio-button-group.js.map +1 -1
  213. package/dist/components/sd-radio-group.js +5 -5
  214. package/dist/components/sd-radio-group.js.map +1 -1
  215. package/dist/components/{sd-tbody.d.ts → sd-select-dropdown.d.ts} +4 -4
  216. package/dist/components/sd-select-dropdown.js +9 -0
  217. package/dist/components/sd-select-dropdown.js.map +1 -0
  218. package/dist/components/sd-select-multiple-group.js +97 -40
  219. package/dist/components/sd-select-multiple-group.js.map +1 -1
  220. package/dist/components/sd-select-multiple.js +133 -168
  221. package/dist/components/sd-select-multiple.js.map +1 -1
  222. package/dist/components/sd-select-option-group.js +1 -1
  223. package/dist/components/sd-select-option.js +1 -1
  224. package/dist/components/sd-select-search-input.js +1 -1
  225. package/dist/components/sd-select.js +1 -1
  226. package/dist/components/sd-table.js +555 -113
  227. package/dist/components/sd-table.js.map +1 -1
  228. package/dist/components/sd-tabs.js +13 -16
  229. package/dist/components/sd-tabs.js.map +1 -1
  230. package/dist/components/sd-tag.js +1 -1
  231. package/dist/components/{sd-tr.d.ts → sd-textarea.d.ts} +4 -4
  232. package/dist/components/sd-textarea.js +145 -0
  233. package/dist/components/sd-textarea.js.map +1 -0
  234. package/dist/components/sd-toast-message.js +14 -14
  235. package/dist/components/sd-toast-message.js.map +1 -1
  236. package/dist/components/sd-toggle-button.js +5 -5
  237. package/dist/components/sd-toggle-button.js.map +1 -1
  238. package/dist/components/sd-toggle.js +9 -11
  239. package/dist/components/sd-toggle.js.map +1 -1
  240. package/dist/components/sd-tooltip.js +1 -1
  241. package/dist/design-system/design-system.css +1 -1
  242. package/dist/design-system/design-system.esm.js +1 -1
  243. package/dist/design-system/p-02e23509.entry.js +2 -0
  244. package/dist/design-system/p-02e23509.entry.js.map +1 -0
  245. package/dist/design-system/p-0a2f733d.entry.js +2 -0
  246. package/dist/design-system/p-0a2f733d.entry.js.map +1 -0
  247. package/dist/design-system/p-0d3f019d.entry.js +2 -0
  248. package/dist/design-system/p-0d3f019d.entry.js.map +1 -0
  249. package/dist/design-system/p-15dd1289.entry.js +2 -0
  250. package/dist/design-system/p-15dd1289.entry.js.map +1 -0
  251. package/dist/design-system/p-216c6543.entry.js +2 -0
  252. package/dist/design-system/p-216c6543.entry.js.map +1 -0
  253. package/dist/design-system/p-2400d67b.entry.js +2 -0
  254. package/dist/design-system/p-2400d67b.entry.js.map +1 -0
  255. package/dist/design-system/p-282f4087.entry.js +2 -0
  256. package/dist/design-system/p-282f4087.entry.js.map +1 -0
  257. package/dist/design-system/{p-7b94b34e.entry.js → p-388d5b9f.entry.js} +2 -2
  258. package/dist/design-system/p-4d7bb5b6.entry.js +2 -0
  259. package/dist/design-system/p-4d7bb5b6.entry.js.map +1 -0
  260. package/dist/design-system/p-53972259.entry.js +2 -0
  261. package/dist/design-system/p-53972259.entry.js.map +1 -0
  262. package/dist/design-system/p-6277b220.entry.js +2 -0
  263. package/dist/design-system/p-6277b220.entry.js.map +1 -0
  264. package/dist/design-system/p-652c4d37.entry.js +2 -0
  265. package/dist/design-system/p-652c4d37.entry.js.map +1 -0
  266. package/dist/design-system/p-661c4553.entry.js +2 -0
  267. package/dist/design-system/p-661c4553.entry.js.map +1 -0
  268. package/dist/design-system/p-686958c5.entry.js +2 -0
  269. package/dist/design-system/p-686958c5.entry.js.map +1 -0
  270. package/dist/design-system/p-811c5aa4.entry.js +2 -0
  271. package/dist/design-system/p-811c5aa4.entry.js.map +1 -0
  272. package/dist/design-system/p-827ca975.entry.js +2 -0
  273. package/dist/design-system/p-827ca975.entry.js.map +1 -0
  274. package/dist/design-system/p-8df72aa2.entry.js +2 -0
  275. package/dist/design-system/p-8df72aa2.entry.js.map +1 -0
  276. package/dist/design-system/p-9d2459ed.entry.js +2 -0
  277. package/dist/design-system/p-9d2459ed.entry.js.map +1 -0
  278. package/dist/design-system/p-BShXSO5x.js +2 -0
  279. package/dist/design-system/p-BShXSO5x.js.map +1 -0
  280. package/dist/design-system/{p-7X2nzJWz.js → p-C3qNZ7Qh.js} +3 -3
  281. package/dist/design-system/p-C3qNZ7Qh.js.map +1 -0
  282. package/dist/design-system/{p-CdbtuKYR.js → p-DPxE68eG.js} +2 -2
  283. package/dist/design-system/{p-CdbtuKYR.js.map → p-DPxE68eG.js.map} +1 -1
  284. package/dist/design-system/{p-BYf-ybt2.js → p-DcGvp3RM.js} +2 -2
  285. package/dist/design-system/{p-BYf-ybt2.js.map → p-DcGvp3RM.js.map} +1 -1
  286. package/dist/design-system/p-a7d4c6bd.entry.js +2 -0
  287. package/dist/design-system/p-a7d4c6bd.entry.js.map +1 -0
  288. package/dist/design-system/p-ac29c52c.entry.js +2 -0
  289. package/dist/design-system/p-ac29c52c.entry.js.map +1 -0
  290. package/dist/design-system/{p-7a424f6b.entry.js → p-b0277422.entry.js} +2 -2
  291. package/dist/design-system/p-b0277422.entry.js.map +1 -0
  292. package/dist/design-system/p-c25c4bd6.entry.js +2 -0
  293. package/dist/design-system/p-c25c4bd6.entry.js.map +1 -0
  294. package/dist/design-system/p-c3061828.entry.js +2 -0
  295. package/dist/design-system/p-c3061828.entry.js.map +1 -0
  296. package/dist/design-system/p-cde56c79.entry.js +2 -0
  297. package/dist/design-system/{p-2c57bdea.entry.js.map → p-cde56c79.entry.js.map} +1 -1
  298. package/dist/design-system/p-d77422e4.entry.js +2 -0
  299. package/dist/design-system/p-d77422e4.entry.js.map +1 -0
  300. package/dist/design-system/p-dc410414.entry.js +2 -0
  301. package/dist/design-system/p-dc410414.entry.js.map +1 -0
  302. package/dist/design-system/p-f254b09a.entry.js +2 -0
  303. package/dist/design-system/p-f254b09a.entry.js.map +1 -0
  304. package/dist/design-system/p-f3287206.entry.js +2 -0
  305. package/dist/design-system/p-f3287206.entry.js.map +1 -0
  306. package/dist/esm/{select-keyboard-navigation-C2JaR3A6.js → base-dropdown-event-BShXSO5x.js} +26 -26
  307. package/dist/esm/base-dropdown-event-BShXSO5x.js.map +1 -0
  308. package/dist/esm/design-system.js +3 -3
  309. package/dist/esm/{index-7X2nzJWz.js → index-C3qNZ7Qh.js} +3 -3
  310. package/dist/esm/index-C3qNZ7Qh.js.map +1 -0
  311. package/dist/esm/loader.js +3 -3
  312. package/dist/esm/{resolveColor-BYf-ybt2.js → resolveColor-DcGvp3RM.js} +5 -5
  313. package/dist/{cjs/resolveColor-DxvExwgo.js.map → esm/resolveColor-DcGvp3RM.js.map} +1 -1
  314. package/dist/esm/sd-badge.entry.js +4 -4
  315. package/dist/esm/sd-badge.entry.js.map +1 -1
  316. package/dist/esm/{sd-button_24.entry.js → sd-button_6.entry.js} +291 -2823
  317. package/dist/esm/sd-card.entry.js +4 -4
  318. package/dist/esm/sd-card.entry.js.map +1 -1
  319. package/dist/esm/sd-checkbox.entry.js +87 -0
  320. package/dist/esm/sd-checkbox.entry.js.map +1 -0
  321. package/dist/esm/sd-date-box.entry.js +10 -10
  322. package/dist/esm/sd-date-box.entry.js.map +1 -1
  323. package/dist/esm/sd-date-picker.entry.js +5 -5
  324. package/dist/esm/sd-date-picker.entry.js.map +1 -1
  325. package/dist/esm/sd-date-range-picker.entry.js +8 -8
  326. package/dist/esm/sd-date-range-picker.entry.js.map +1 -1
  327. package/dist/esm/sd-field_3.entry.js +418 -0
  328. package/dist/esm/sd-file-picker.entry.js +119 -0
  329. package/dist/esm/sd-file-picker.entry.js.map +1 -0
  330. package/dist/esm/sd-form.entry.js +72 -0
  331. package/dist/esm/sd-form.entry.js.map +1 -0
  332. package/dist/esm/sd-guide.entry.js +79 -0
  333. package/dist/esm/sd-guide.entry.js.map +1 -0
  334. package/dist/esm/sd-loading-spinner_2.entry.js +192 -0
  335. package/dist/esm/sd-modal-card.entry.js +8 -8
  336. package/dist/esm/sd-modal-card.entry.js.map +1 -1
  337. package/dist/esm/sd-number-input.entry.js +259 -0
  338. package/dist/esm/sd-number-input.entry.js.map +1 -0
  339. package/dist/esm/sd-popover.entry.js +7 -7
  340. package/dist/esm/sd-popover.entry.js.map +1 -1
  341. package/dist/esm/sd-progress.entry.js +1 -1
  342. package/dist/esm/sd-radio-button-group.entry.js +8 -21
  343. package/dist/esm/sd-radio-button-group.entry.js.map +1 -1
  344. package/dist/esm/sd-radio-group.entry.js +69 -0
  345. package/dist/esm/sd-radio-group.entry.js.map +1 -0
  346. package/dist/esm/sd-select-dropdown_3.entry.js +262 -0
  347. package/dist/esm/sd-select-multiple-group.entry.js +444 -0
  348. package/dist/esm/sd-select-multiple-group.entry.js.map +1 -0
  349. package/dist/esm/sd-select-multiple.entry.js +72 -150
  350. package/dist/esm/sd-select-multiple.entry.js.map +1 -1
  351. package/dist/esm/sd-select-option-group.entry.js +67 -0
  352. package/dist/esm/sd-select-option-group.entry.js.map +1 -0
  353. package/dist/esm/sd-table.entry.js +515 -85
  354. package/dist/esm/sd-table.entry.js.map +1 -1
  355. package/dist/esm/sd-tabs.entry.js +64 -0
  356. package/dist/esm/sd-tabs.entry.js.map +1 -0
  357. package/dist/esm/sd-tag.entry.js +55 -0
  358. package/dist/esm/sd-tag.entry.js.map +1 -0
  359. package/dist/esm/sd-toast-message.entry.js +59 -0
  360. package/dist/esm/sd-toast-message.entry.js.map +1 -0
  361. package/dist/esm/sd-toggle-button.entry.js +48 -0
  362. package/dist/esm/sd-toggle-button.entry.js.map +1 -0
  363. package/dist/esm/sd-toggle.entry.js +44 -0
  364. package/dist/esm/sd-toggle.entry.js.map +1 -0
  365. package/dist/esm/{tooltipArrow-DFRZWz6D.js → tooltipArrow-Ck_14rXC.js} +3 -3
  366. package/dist/esm/{tooltipArrow-DFRZWz6D.js.map → tooltipArrow-Ck_14rXC.js.map} +1 -1
  367. package/dist/types/components/sd-button/sd-button.d.ts +0 -3
  368. package/dist/types/components/sd-card/sd-card.d.ts +1 -1
  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 +705 -399
  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 +1394 -1322
  400. package/hydrate/index.mjs +1394 -1322
  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-BESbtjDi.js +0 -102
  423. package/dist/components/p-BESbtjDi.js.map +0 -1
  424. package/dist/components/p-BLidMbc_.js +0 -34
  425. package/dist/components/p-BLidMbc_.js.map +0 -1
  426. package/dist/components/p-BYf-ybt2.js.map +0 -1
  427. package/dist/components/p-BxPT3VKO.js.map +0 -1
  428. package/dist/components/p-CKhzpdPk.js.map +0 -1
  429. package/dist/components/p-CQBrru3e.js.map +0 -1
  430. package/dist/components/p-CWwMpVqI.js.map +0 -1
  431. package/dist/components/p-CfKJNKMH.js +0 -175
  432. package/dist/components/p-CfKJNKMH.js.map +0 -1
  433. package/dist/components/p-DD9g6GYA.js +0 -34
  434. package/dist/components/p-DD9g6GYA.js.map +0 -1
  435. package/dist/components/p-DKoWHxRI.js +0 -34
  436. package/dist/components/p-DKoWHxRI.js.map +0 -1
  437. package/dist/components/p-DMqinLuj.js +0 -326
  438. package/dist/components/p-DMqinLuj.js.map +0 -1
  439. package/dist/components/p-DRGcUx0C.js.map +0 -1
  440. package/dist/components/p-DroKiQ6J.js +0 -121
  441. package/dist/components/p-DroKiQ6J.js.map +0 -1
  442. package/dist/components/p-QNYqIsvU.js +0 -78
  443. package/dist/components/p-QNYqIsvU.js.map +0 -1
  444. package/dist/components/p-njRAT-yp.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-0d2814dc.entry.js +0 -2
  459. package/dist/design-system/p-0d2814dc.entry.js.map +0 -1
  460. package/dist/design-system/p-27985b84.entry.js +0 -2
  461. package/dist/design-system/p-27985b84.entry.js.map +0 -1
  462. package/dist/design-system/p-2c57bdea.entry.js +0 -2
  463. package/dist/design-system/p-3bc4effa.entry.js +0 -2
  464. package/dist/design-system/p-3bc4effa.entry.js.map +0 -1
  465. package/dist/design-system/p-5acdd14a.entry.js +0 -2
  466. package/dist/design-system/p-5acdd14a.entry.js.map +0 -1
  467. package/dist/design-system/p-665c5c48.entry.js +0 -2
  468. package/dist/design-system/p-665c5c48.entry.js.map +0 -1
  469. package/dist/design-system/p-7X2nzJWz.js.map +0 -1
  470. package/dist/design-system/p-7a424f6b.entry.js.map +0 -1
  471. package/dist/design-system/p-97b271a7.entry.js +0 -2
  472. package/dist/design-system/p-97b271a7.entry.js.map +0 -1
  473. package/dist/design-system/p-9ade8cd7.entry.js +0 -2
  474. package/dist/design-system/p-9ade8cd7.entry.js.map +0 -1
  475. package/dist/design-system/p-C2JaR3A6.js +0 -2
  476. package/dist/design-system/p-C2JaR3A6.js.map +0 -1
  477. package/dist/design-system/p-b1b828e6.entry.js +0 -2
  478. package/dist/design-system/p-b1b828e6.entry.js.map +0 -1
  479. package/dist/design-system/p-de826a92.entry.js +0 -2
  480. package/dist/design-system/p-de826a92.entry.js.map +0 -1
  481. package/dist/design-system/p-e5065700.entry.js +0 -2
  482. package/dist/design-system/p-e5065700.entry.js.map +0 -1
  483. package/dist/design-system/p-fc3580fd.entry.js +0 -2
  484. package/dist/design-system/p-fc3580fd.entry.js.map +0 -1
  485. package/dist/esm/index-7X2nzJWz.js.map +0 -1
  486. package/dist/esm/sd-tbody_3.entry.js +0 -40
  487. package/dist/esm/sd-td.entry.js +0 -24
  488. package/dist/esm/sd-td.entry.js.map +0 -1
  489. package/dist/esm/select-keyboard-navigation-C2JaR3A6.js.map +0 -1
  490. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +0 -3
  491. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +0 -7
  492. package/dist/types/components/sd-table/sd-th/sd-th.d.ts +0 -3
  493. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +0 -3
  494. package/dist/types/components/sd-table-backup/sd-table-backup.d.ts +0 -135
  495. /package/dist/design-system/{p-7b94b34e.entry.js.map → p-388d5b9f.entry.js.map} +0 -0
@@ -0,0 +1,79 @@
1
+ import { r as registerInstance, a as getElement, h, H as Host } from './index-C3qNZ7Qh.js';
2
+
3
+ const sdGuideCss = () => `@charset "UTF-8";sd-button{display:inline-flex;width:fit-content;height:fit-content}.sd-button{text-decoration:none;cursor:pointer;border-radius:4px;transition:all 0.2s ease-in-out;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:none}.sd-button--xs{padding:0 8px;font-size:12px;font-weight:500;line-height:20px;min-height:24px}.sd-button--sm{padding:0 12px;font-size:12px;font-weight:500;line-height:20px;min-height:28px}.sd-button--md{padding:0 20px;font-size:16px;font-weight:500;line-height:26px;min-height:34px}.sd-button--lg{padding:0 28px;font-size:18px;font-weight:500;line-height:30px;min-height:62px}.sd-button--primary{background-color:var(--button-color);color:white;transition:filter 0.2s ease}.sd-button--primary::before{content:"";position:absolute;inset:0;background:#000000;opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--primary:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.25}.sd-button--outline{background:white;border:1px solid var(--button-color);color:var(--button-color)}.sd-button--outline::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--outline:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--outline .sd-button__content{position:relative;z-index:1}.sd-button--ghost{background-color:transparent;color:var(--button-color);border-color:transparent}.sd-button--ghost::before{content:"";position:absolute;inset:0;background:var(--button-color);opacity:0;transition:opacity 0.2s ease;z-index:0}.sd-button--ghost:hover:not(.sd-button--disabled):not(.sd-button--loading)::before{opacity:0.15}.sd-button--ghost .sd-button__content{position:relative;z-index:1}.sd-button--disabled{border:1px solid #cccccc;background:#e1e1e1;color:#888888;cursor:not-allowed !important}.sd-button--icon-only{padding:0;width:fit-content;height:fit-content;aspect-ratio:1/1}.sd-button--no-hover:hover::before{opacity:0 !important}.sd-button .sd-button__content{display:inline-flex;align-items:center;justify-content:center;gap:4px;z-index:1;font-weight:500}sd-guide{display:inline-flex;align-items:center}sd-guide .sd-guide{display:inline-flex}sd-guide .sd-guide .sd-button{padding:0 16px 0 12px;border-radius:16px;color:#333333 !important;display:flex;align-items:center;transition:none}sd-guide .sd-guide .sd-button .sd-button__content{color:#333333 !important}sd-guide .sd-guide .sd-button .sd-button__content .sd-button__label{color:#333333 !important;margin-left:4px}sd-guide .sd-guide--active .sd-button{border:1px solid #00973c}sd-guide .sd-guide--active .sd-button .sd-button__content .sd-button__label{color:white !important}.sd-guide__popup{position:relative;padding:20px 32px;border-radius:8px;box-shadow:4px 4px 24px 4px rgba(0, 0, 0, 0.1);background:white}.sd-guide__popup>.sd-guide__popup__close{position:absolute;top:12px;right:12px}.sd-guide__popup__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sd-guide__popup__header .sd-guide__popup__title{margin-top:0;font-size:16px;font-weight:700;line-height:26px;color:#333333}.sd-guide__popup__list{width:100%;padding:0;margin:0}.sd-guide__popup__list__item{display:flex;width:100%;align-items:start;list-style:none;color:#333333;font-size:12px;font-weight:400}.sd-guide__popup__list__item p{width:100%;padding:0;margin:0;word-wrap:break-word;word-break:break-word;white-space:normal;overflow-wrap:break-word;min-width:0}.sd-guide__popup__list__item::before{display:block;content:"-";width:6px;color:#333333;font-size:12px;font-weight:400;margin-left:10px;margin-right:12px;flex-shrink:0}.sd-guide__popup__list__item--depth-2::before{content:"•"}.sd-guide__popup__list__item--depth-2{padding-left:26px}`;
4
+
5
+ const GUIDE_LABEL = {
6
+ help: '활용 TIP',
7
+ pdf: 'PDF Guide',
8
+ youtube: 'Video Guide',
9
+ notion: '사용법 안내',
10
+ event: 'Event Button',
11
+ };
12
+ const GUIDE_ICON = {
13
+ help: {
14
+ name: 'helpOutline',
15
+ size: 20,
16
+ color: 'green_75',
17
+ },
18
+ pdf: { name: 'pdf', size: 20, color: 'red_75' },
19
+ youtube: { name: 'youtube', size: 20, color: 'red_75' },
20
+ notion: { name: 'notion', size: 16, color: 'black' },
21
+ event: { name: 'event', size: 16, color: 'brilliantblue_70' },
22
+ };
23
+ const SdGuide = class {
24
+ constructor(hostRef) {
25
+ registerInstance(this, hostRef);
26
+ }
27
+ get el() { return getElement(this); }
28
+ type = 'help';
29
+ label = '';
30
+ message = '';
31
+ guideUrl = '';
32
+ popupTitle = '';
33
+ popupWidth;
34
+ popupShow = false;
35
+ guideRef;
36
+ handleClickGuide = () => {
37
+ if (this.type === 'help') {
38
+ this.popupShow = !this.popupShow;
39
+ return;
40
+ }
41
+ if (this.guideUrl) {
42
+ window.open(this.guideUrl, '_blank');
43
+ }
44
+ };
45
+ get guideClass() {
46
+ const classes = ['sd-guide', `sd-guide--${this.type}`];
47
+ if (this.popupShow)
48
+ classes.push('sd-guide--active');
49
+ return classes.join(' ');
50
+ }
51
+ closeDropdown = () => {
52
+ this.popupShow = false;
53
+ };
54
+ render() {
55
+ const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];
56
+ return (h(Host, { key: 'a7a284528f1bf4c24cbf4c645c600bfdb8ac3397', style: {
57
+ '--sd-guide-color': GUIDE_ICON[this.type].color,
58
+ } }, 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))))))));
59
+ }
60
+ // 현재 2depth까지만 스타일 적용
61
+ renderListItem(message, depth = 0) {
62
+ const listItems = [];
63
+ if (Array.isArray(message)) {
64
+ const depthMsg = message.map(msg => this.renderListItem(msg, depth + 1));
65
+ listItems.push(...depthMsg.flat());
66
+ }
67
+ else {
68
+ listItems.push(this.renderLi(message, depth));
69
+ }
70
+ return listItems;
71
+ }
72
+ renderLi = (message, depth) => {
73
+ return (h("li", { class: `sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}` }, h("p", { innerHTML: message })));
74
+ };
75
+ };
76
+ SdGuide.style = sdGuideCss();
77
+
78
+ export { SdGuide as sd_guide };
79
+ //# sourceMappingURL=sd-guide.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-guide.entry.js","sources":["src/components/sd-guide/sd-guide.scss?tag=sd-guide","src/components/sd-guide/sd-guide.tsx"],"sourcesContent":["@import '../sd-button/sd-button.scss';\n\nsd-guide {\n display: inline-flex;\n align-items: center;\n .sd-guide {\n display: inline-flex;\n .sd-button {\n padding: 0 16px 0 12px;\n border-radius: 16px;\n color: $grey_90 !important;\n display: flex;\n align-items: center;\n transition: none;\n\n .sd-button__content {\n color: $grey_90 !important;\n\n .sd-button__label {\n color: $grey_90 !important;\n margin-left: 4px;\n }\n }\n }\n\n &--active {\n .sd-button {\n border: 1px solid $green_75;\n .sd-button__content {\n .sd-button__label {\n color: white !important;\n }\n }\n }\n }\n }\n}\n\n.sd-guide__popup {\n position: relative;\n padding: 20px 32px;\n border-radius: 8px;\n box-shadow: 4px 4px 24px 4px rgba(0, 0, 0, 0.1);\n background: white;\n\n > .sd-guide__popup__close {\n position: absolute;\n top: 12px;\n right: 12px;\n }\n\n &__header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 12px;\n\n .sd-guide__popup__title {\n margin-top: 0;\n font-size: 16px;\n font-weight: 700;\n line-height: 26px;\n color: $grey_90;\n }\n }\n\n &__list {\n width: 100%;\n padding: 0;\n margin: 0;\n\n &__item {\n display: flex;\n width: 100%;\n align-items: start;\n list-style: none;\n color: $grey_90;\n font-size: 12px;\n font-weight: 400;\n\n p {\n width: 100%;\n padding: 0;\n margin: 0;\n word-wrap: break-word;\n word-break: break-word;\n white-space: normal;\n overflow-wrap: break-word;\n min-width: 0;\n }\n\n &::before {\n display: block;\n content: '-';\n width: 6px;\n color: $grey_90;\n font-size: 12px;\n font-weight: 400;\n margin-left: 10px;\n margin-right: 12px;\n flex-shrink: 0;\n }\n\n &--depth-2 {\n &::before {\n content: '•';\n }\n padding-left: 26px;\n }\n }\n }\n}\n","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"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { r as registerInstance, h, H as Host, c as createEvent, a as getElement } from './index-C3qNZ7Qh.js';
2
+ import { r as resolveColor } from './resolveColor-DcGvp3RM.js';
3
+ import { B as BaseDropdownEvent, S as SelectKeyboardNavigation } from './base-dropdown-event-BShXSO5x.js';
4
+
5
+ const sdLoadingSpinnerCss = () => `sd-loading-spinner{display:block}sd-loading-spinner .sd-loading-spinner{animation:sd-loading-spin 2s linear infinite;transform-origin:center center}sd-loading-spinner .sd-loading-spinner .path{animation:sd-loading-spin-path 1.5s ease-in-out infinite}@keyframes sd-loading-spin{0%{transform:rotate3d(0, 0, 1, 0deg)}25%{transform:rotate3d(0, 0, 1, 90deg)}50%{transform:rotate3d(0, 0, 1, 180deg)}75%{transform:rotate3d(0, 0, 1, 270deg)}100%{transform:rotate3d(0, 0, 1, 359deg)}}@keyframes sd-loading-spin-path{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}`;
6
+
7
+ const SdLoadingSpinner = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ }
11
+ color = '#0075ff';
12
+ get resolvedColor() {
13
+ return resolveColor(this.color);
14
+ }
15
+ render() {
16
+ return (h(Host, { key: 'aa2f775cec2d077ec5c90f56dfe6fc7c07d66ed3' }, h("svg", { key: 'eb95e64d55a79a6937eec9b34cbe3ef538c773a5', class: "sd-loading-spinner", width: "72px", height: "72px", viewBox: "25 25 50 50", style: { color: this.resolvedColor } }, h("circle", { key: '3ce95d70dcdfe3a2ad83dc5fea1226e8e3948420', class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "5", "stroke-miterlimit": "10" }))));
17
+ }
18
+ };
19
+ SdLoadingSpinner.style = sdLoadingSpinnerCss();
20
+
21
+ const sdSelectCss = () => `sd-select{display:inline-flex;flex-flow:column nowrap;width:fit-content;height:fit-content}sd-select *:focus,sd-select *:focus-visible,sd-select *:focus-within{outline:none !important}sd-select .sd-select{width:100%}sd-select .sd-select .sd-select__trigger{padding:4px 28px 4px 12px;display:flex;width:100%;height:100%;align-items:center}sd-select .sd-select .sd-select__trigger .sd-select__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px;font-size:12px;font-weight:400;text-align:left}sd-select .sd-select .sd-select__trigger .sd-select__clear{margin:0 4px;width:8px;height:8px;background-color:transparent;outline:none;border:none}sd-select .sd-select .sd-select__arrow{position:absolute;top:8px;right:8px;width:12px;height:12px;color:#888888;transition:transform 0.3s ease;margin-left:8px}sd-select .sd-select .sd-select__arrow--open{transform:rotate(180deg)}`;
22
+
23
+ const SdSelect = class extends BaseDropdownEvent {
24
+ constructor(hostRef) {
25
+ super();
26
+ registerInstance(this, hostRef);
27
+ this.update = createEvent(this, "sdUpdate");
28
+ this.dropDownShow = createEvent(this, "sdDropDownShow");
29
+ }
30
+ get el() { return getElement(this); }
31
+ // props
32
+ value = null;
33
+ options = [];
34
+ placeholder = '선택';
35
+ optionPlaceholder = '옵션이 없습니다.';
36
+ width = '200px';
37
+ dropdownHeight = '260px';
38
+ autoFocus = false;
39
+ disabled = false;
40
+ clearable = false;
41
+ searchable = false;
42
+ // props - label
43
+ label = '';
44
+ insideLabel = false;
45
+ useLabelRequired = false;
46
+ labelTooltip = '';
47
+ labelTooltipProps = null;
48
+ // props - form
49
+ name;
50
+ rules = [];
51
+ error = false;
52
+ // props - custom slots
53
+ optionRenderer;
54
+ // states
55
+ isOpen = false;
56
+ itemIndex = -1;
57
+ isScrolled = false;
58
+ // events
59
+ update;
60
+ dropDownShow;
61
+ selectRef;
62
+ triggerRef;
63
+ formField;
64
+ filteredOptions = this.options;
65
+ dropDownWidth = this.width;
66
+ async sdOpen() {
67
+ this.isOpen = true;
68
+ }
69
+ async sdValidate() {
70
+ this.formField?.sdValidate();
71
+ }
72
+ async sdReset() {
73
+ this.formField?.sdReset();
74
+ }
75
+ async sdResetValidate() {
76
+ this.formField?.sdResetValidation();
77
+ }
78
+ async sdFocus() {
79
+ this.formField?.sdFocus();
80
+ }
81
+ async valueChanged() {
82
+ const selectedOption = this.getSelectedOption();
83
+ this.update?.emit({ value: selectedOption?.value || null, option: selectedOption || null });
84
+ }
85
+ async isOpenChanged() {
86
+ // Base class의 이벤트 관리 호출 - 다른 select와의 이벤트 충돌 방지
87
+ this.onDropdownToggle(this.isOpen);
88
+ this.dropDownShow?.emit({ isOpen: this.isOpen });
89
+ if (this.isOpen === false) {
90
+ await this.formField?.sdValidate();
91
+ }
92
+ }
93
+ componentWillLoad() {
94
+ this.initializeEvent(); // global dropdown Manager에 등록 + 이벤트 핸들러 초기화
95
+ }
96
+ componentDidLoad() {
97
+ if (this.autoFocus) {
98
+ this.selectRef?.focus();
99
+ }
100
+ }
101
+ // render 이후 label을 제외한 trigger의 너비를 기준으로 dropdown 너비 설정
102
+ componentDidRender() {
103
+ const trigger = this.triggerRef;
104
+ const rect = trigger?.getBoundingClientRect();
105
+ this.dropDownWidth = rect?.width ? `${rect.width}px` : this.width;
106
+ }
107
+ disconnectedCallback() {
108
+ this.cleanupEvent(); // global dropdown Manager에서 제거 + 이벤트 정리
109
+ }
110
+ handleDocumentClick(event) {
111
+ if (!this.selectRef?.contains(event.target)) {
112
+ this.isOpen = false;
113
+ }
114
+ }
115
+ handleDocumentKeydown(keyboardEvent) {
116
+ keyboardEvent.stopPropagation();
117
+ const targetKey = ['ArrowDown', 'ArrowUp', 'Enter', 'Escape'];
118
+ if (!targetKey.includes(keyboardEvent.key))
119
+ return;
120
+ keyboardEvent.preventDefault();
121
+ switch (keyboardEvent.key) {
122
+ case 'ArrowDown':
123
+ case 'ArrowUp':
124
+ const keyboardNavigation = new SelectKeyboardNavigation(this.searchable, this.filteredOptions);
125
+ const nextIndex = keyboardNavigation.getNextIndex(this.itemIndex, keyboardEvent.key);
126
+ this.itemIndex = nextIndex;
127
+ break;
128
+ case 'Enter':
129
+ const selectedOption = this.filteredOptions[this.itemIndex];
130
+ if (selectedOption && !selectedOption.disabled) {
131
+ this.value = selectedOption.value;
132
+ this.isOpen = false;
133
+ }
134
+ break;
135
+ case 'Escape':
136
+ this.isOpen = false;
137
+ break;
138
+ }
139
+ }
140
+ getSelectedOption() {
141
+ return this.options.find(option => option.value === this.value);
142
+ }
143
+ closeDropdown() {
144
+ this.isOpen = false;
145
+ }
146
+ handleTriggerClick = (event) => {
147
+ event.stopPropagation();
148
+ if (!this.disabled) {
149
+ this.isOpen = !this.isOpen;
150
+ this.dropDownShow?.emit({ isOpen: this.isOpen });
151
+ }
152
+ };
153
+ handleOptionClick = (detail) => {
154
+ const { option, event } = detail;
155
+ event.stopPropagation();
156
+ if (!option.disabled) {
157
+ this.value = option.value;
158
+ this.isOpen = false;
159
+ }
160
+ };
161
+ render() {
162
+ return (h("sd-field", { key: '507736637b3b7acee4bfef07eac7175c5e196c86', label: this.label, name: this.name, rules: this.rules, error: this.error, disabled: this.disabled, useLabelRequired: this.useLabelRequired, insideLabel: this.insideLabel, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), style: { '--field-width': this.width || '200px' } }, h("div", { key: 'd905202201f5977d04a929af507653900af3ee75', class: {
163
+ 'sd-select': true,
164
+ 'sd-select--disabled': this.disabled,
165
+ 'sd-select--error': !!this.error,
166
+ 'sd-select--label': !!this.label,
167
+ }, ref: el => (this.selectRef = el) }, this.renderTrigger(), this.renderDropdown())));
168
+ }
169
+ renderTrigger() {
170
+ const selectedOption = this.getSelectedOption();
171
+ 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) => {
172
+ event.stopPropagation();
173
+ this.value = null;
174
+ await this.formField?.sdValidate();
175
+ } })), h("sd-icon", { key: "arrow-icon", name: "arrowDown", color: "#888", class: { 'sd-select__arrow': true, 'sd-select__arrow--open': this.isOpen } })));
176
+ }
177
+ renderDropdown() {
178
+ if (this.isOpen === false)
179
+ return null;
180
+ const parentRef = (this.selectRef?.querySelector('.sd-select__trigger') ||
181
+ this.selectRef);
182
+ 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) })));
183
+ }
184
+ static get watchers() { return {
185
+ "value": ["valueChanged"],
186
+ "isOpen": ["isOpenChanged"]
187
+ }; }
188
+ };
189
+ SdSelect.style = sdSelectCss();
190
+
191
+ export { SdLoadingSpinner as sd_loading_spinner, SdSelect as sd_select };
192
+ //# sourceMappingURL=sd-loading-spinner.sd-select.entry.js.map
@@ -1,13 +1,13 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-7X2nzJWz.js';
2
- import { r as resolveColor } from './resolveColor-BYf-ybt2.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-C3qNZ7Qh.js';
2
+ import { r as resolveColor } from './resolveColor-DcGvp3RM.js';
3
3
 
4
- const sdModalCardCss = () => `sd-modal-card{display:block}sd-modal-card .sd-modal-card{position:relative;padding:40px 32px;border-radius:8px;box-shadow:4px 4px 24px 4px rgba(0, 0, 0, 0.2)}sd-modal-card .sd-modal-card__close-button{position:absolute;top:16px;right:16px;cursor:pointer}sd-modal-card .sd-modal-card sd-icon.sd-modal-card__icon{display:block;width:32px;height:32px;margin:0 auto 12px auto}sd-modal-card .sd-modal-card__title{color:var(--point-color);font-size:18px;font-weight:700;line-height:30px;text-align:center;margin:0 0 20px 0}sd-modal-card .sd-modal-card__message{color:#222222;font-weight:400;font-size:12px;line-height:22px;text-align:center;margin:0}sd-modal-card .sd-modal-card__button-container{display:flex;margin:32px auto 0 auto;justify-content:center;align-items:center;gap:8px}sd-modal-card .sd-modal-card__button-container.flex-column{flex-direction:column}sd-modal-card .sd-modal-card__button-container button.sd-modal-card__button{width:89px}`;
4
+ const sdModalCardCss = () => `sd-modal-card{display:block}sd-modal-card .sd-modal-card{position:relative;padding:40px 32px;border-radius:8px;box-shadow:4px 4px 24px 4px rgba(0, 0, 0, 0.2);background:white}sd-modal-card .sd-modal-card__close-button{position:absolute;top:16px;right:16px;cursor:pointer}sd-modal-card .sd-modal-card sd-icon.sd-modal-card__icon{display:block;width:32px;height:32px;margin:0 auto 12px auto}sd-modal-card .sd-modal-card__title{color:var(--point-color);font-size:18px;font-weight:700;line-height:30px;text-align:center;margin:0 0 20px 0}sd-modal-card .sd-modal-card__message{color:#222222;font-weight:400;font-size:12px;line-height:22px;text-align:center;margin:0}sd-modal-card .sd-modal-card__button-container{display:flex;margin:32px auto 0 auto;justify-content:center;align-items:center;gap:8px}sd-modal-card .sd-modal-card__button-container.flex-column{flex-direction:column}sd-modal-card .sd-modal-card__button-container button.sd-modal-card__button{width:89px}`;
5
5
 
6
6
  const SdModalCard = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
- this.sdClose = createEvent(this, "sdClose");
10
- this.sdConfirm = createEvent(this, "sdConfirm");
9
+ this.close = createEvent(this, "sdClose");
10
+ this.confirm = createEvent(this, "sdConfirm");
11
11
  }
12
12
  type = 'info';
13
13
  system = 'normal';
@@ -23,8 +23,8 @@ const SdModalCard = class {
23
23
  ];
24
24
  message = [];
25
25
  modalClass = '';
26
- sdClose;
27
- sdConfirm;
26
+ close;
27
+ confirm;
28
28
  get pointColor() {
29
29
  if (this.type !== 'normal') {
30
30
  return 'grey_95';
@@ -44,7 +44,7 @@ const SdModalCard = class {
44
44
  return modalClass;
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '83640de79f0c1a67ec114a048c3e8a691def5514', style: { '--point-color': this.pointColor } }, h("div", { key: 'fd741a11ac5c82a6b1d2c1972ec525596eb4c4f6', class: this.getModalClass }, this.useCloseButton && (h("sd-icon", { key: '144d5726721cdd28d56db268eb643f1ba5f66e57', class: "sd-modal-card__close-button", name: "close", size: "20", color: "grey_65", onClick: () => this.sdClose.emit() })), this.type !== 'normal' && (h("sd-icon", { key: '9d7dff32800d2f44e2c0753434dfd471c898200b', class: "sd-modal-card__icon", name: this.type === 'info' ? 'notificationOutline' : 'warningOutline', size: "32", color: this.type === 'info' ? 'brilliantblue_75' : 'red_75' })), h("h2", { key: 'c59db6982fb2369b3ca23990cd94f79547b4b758', class: "sd-modal-card__title" }, this.modalTitle), h("slot", { key: '1628852290bdb64ee99cd3f45318e3d25dde8e46' }, h("div", { key: 'a21d6157f28974f537938bf1acddcc33a5e3c5ca', class: `sd-modal-card__message-container` }, this.message.map(msg => (h("p", { class: "sd-modal-card__message" }, msg))))), h("div", { key: '336092ac86ab1e6ddd2af9a7f25b358ba694a036', class: `sd-modal-card__button-container flex-${this.buttonFlexDirection}` }, this.buttonProps.map(button => (h("sd-button", { class: 'sd-modal-card__button', variant: button.variant ? button.variant : 'outline', label: button.label, color: button.color, size: button.size, onClick: () => !button.type || button.type === 'confirm' ? this.sdConfirm.emit() : this.sdClose.emit(), ...(button.class && { class: button.class }) })))))));
47
+ return (h(Host, { key: 'e143942e62530660fb9a60dd70a418be197943b7', style: { '--point-color': this.pointColor } }, h("div", { key: '7033fb4220b84ed00eae6fa753fcfc676fc02a7f', class: this.getModalClass }, this.useCloseButton && (h("sd-icon", { key: 'e28d60dcd5281aa62fcd55f72d9eb7bb83767ca7', class: "sd-modal-card__close-button", name: "close", size: "20", color: "grey_65", onClick: () => this.close.emit() })), this.type !== 'normal' && (h("sd-icon", { key: 'e209095abf43af9885ccd63a9bc2183d24863f0c', class: "sd-modal-card__icon", name: this.type === 'info' ? 'notificationOutline' : 'warningOutline', size: "32", color: this.type === 'info' ? 'brilliantblue_75' : 'red_75' })), h("h2", { key: '5beac7a046be5afe446af94e9032dd9bb219cd60', class: "sd-modal-card__title" }, this.modalTitle), h("slot", { key: '83f5e5978ed9489888fdb5bc839eefb4ad99ce6c' }, h("div", { key: 'feaaee161b474b7464a51c515ac1fa5448b140f1', class: `sd-modal-card__message-container` }, this.message.map(msg => (h("p", { class: "sd-modal-card__message" }, msg))))), h("div", { key: 'cb2354ca63ab663aded356f4f931b40d64697209', class: `sd-modal-card__button-container flex-${this.buttonFlexDirection}` }, this.buttonProps.map(button => (h("sd-button", { class: 'sd-modal-card__button', variant: button.variant ? button.variant : 'outline', label: button.label, color: button.color, size: button.size, onClick: () => !button.type || button.type === 'confirm' ? this.confirm.emit() : this.close.emit(), ...(button.class && { class: button.class }) })))))));
48
48
  }
49
49
  };
50
50
  SdModalCard.style = sdModalCardCss();
@@ -1 +1 @@
1
- {"version":3,"file":"sd-modal-card.entry.js","sources":["src/components/sd-modal-card/sd-modal-card.scss?tag=sd-modal-card","src/components/sd-modal-card/sd-modal-card.tsx"],"sourcesContent":["@import 'variables';\n\nsd-modal-card {\n display: block;\n .sd-modal-card {\n position: relative;\n padding: 40px 32px;\n border-radius: 8px;\n box-shadow: 4px 4px 24px 4px rgba(0, 0, 0, 0.2);\n\n &__close-button {\n position: absolute;\n top: 16px;\n right: 16px;\n cursor: pointer;\n }\n\n sd-icon.sd-modal-card__icon {\n display: block;\n width: 32px;\n height: 32px;\n margin: 0 auto 12px auto;\n }\n\n &__title {\n color: var(--point-color);\n font-size: 18px;\n font-weight: 700;\n line-height: 30px;\n text-align: center;\n margin: 0 0 20px 0;\n }\n\n &__message {\n color: $grey_95;\n font-weight: 400;\n font-size: 12px;\n line-height: 22px;\n text-align: center;\n margin: 0;\n }\n\n &__button-container {\n display: flex;\n margin: 32px auto 0 auto;\n justify-content: center;\n align-items: center;\n gap: 8px;\n &.flex-column {\n flex-direction: column;\n }\n button.sd-modal-card__button {\n width: 89px;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\nimport { resolveColor } from '../../utils/color';\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\n\nexport interface SdModalCardButtonProps {\n label: string;\n color: string;\n size: ButtonSize;\n variant?: ButtonVariant;\n class?: string;\n type?: 'confirm' | 'cancel';\n}\n\n@Component({\n tag: 'sd-modal-card',\n styleUrl: 'sd-modal-card.scss',\n})\nexport class SdModalCard {\n @Prop() type: 'info' | 'warning' | 'normal' = 'info';\n @Prop() system: 'normal' | 'positive' | 'negative' = 'normal';\n @Prop() useCloseButton: boolean = true;\n @Prop() modalTitle: string = 'normal';\n @Prop() buttonFlexDirection: 'row' | 'column' = 'row';\n @Prop() buttonProps: SdModalCardButtonProps[] = [\n {\n label: '확인',\n color: 'grey_80',\n size: 'md',\n },\n ];\n @Prop() message: string[] = [];\n @Prop()\n modalClass: string = '';\n\n @Event() sdClose!: EventEmitter<MouseEvent>;\n @Event() sdConfirm!: EventEmitter<MouseEvent>;\n\n private get pointColor(): string {\n if (this.type !== 'normal') {\n return 'grey_95';\n }\n\n switch (this.system) {\n case 'positive':\n return resolveColor('brilliantblue_75');\n case 'negative':\n return resolveColor('red_75');\n default:\n return resolveColor('grey_95');\n }\n }\n\n private get getModalClass(): string {\n let modalClass = `sd-modal-card ${this.modalClass}`;\n modalClass += ' ' + `sd-modal-card-${this.system}`;\n return modalClass;\n }\n\n render() {\n return (\n <Host style={{ '--point-color': this.pointColor }}>\n <div class={this.getModalClass}>\n {this.useCloseButton && (\n <sd-icon\n class=\"sd-modal-card__close-button\"\n name=\"close\"\n size=\"20\"\n color=\"grey_65\"\n onClick={() => this.sdClose.emit()}\n />\n )}\n {this.type !== 'normal' && (\n <sd-icon\n class=\"sd-modal-card__icon\"\n name={this.type === 'info' ? 'notificationOutline' : 'warningOutline'}\n size=\"32\"\n color={this.type === 'info' ? 'brilliantblue_75' : 'red_75'}\n />\n )}\n <h2 class=\"sd-modal-card__title\">{this.modalTitle}</h2>\n <slot>\n <div class={`sd-modal-card__message-container`}>\n {this.message.map(msg => (\n <p class=\"sd-modal-card__message\">{msg}</p>\n ))}\n </div>\n </slot>\n <div class={`sd-modal-card__button-container flex-${this.buttonFlexDirection}`}>\n {this.buttonProps.map(button => (\n <sd-button\n class={'sd-modal-card__button'}\n variant={button.variant ? button.variant : 'outline'}\n label={button.label}\n color={button.color}\n size={button.size}\n onClick={() =>\n !button.type || button.type === 'confirm' ? this.sdConfirm.emit() : this.sdClose.emit()\n }\n {...(button.class && { class: button.class })}\n ></sd-button>\n ))}\n </div>\n </div>\n </Host>\n );\n }\n}\n\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// \"\n// >\n// <sd-modal-card id=\"1\"></sd-modal-card>\n// <sd-modal-card id=\"2\"></sd-modal-card>\n// <sd-modal-card id=\"3\"></sd-modal-card>\n// </div>\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// \"\n// >\n// <sd-modal-card id=\"4\"></sd-modal-card>\n// <sd-modal-card id=\"5\"></sd-modal-card>\n// <sd-modal-card id=\"6\"></sd-modal-card>\n// </div>\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// margin-bottom: 50px;\n// \"\n// >\n// <sd-modal-card id=\"7\"></sd-modal-card>\n// <sd-modal-card id=\"8\"></sd-modal-card>\n// <sd-modal-card id=\"9\"></sd-modal-card>\n// </div>\n// <script>\n// document.addEventListener('DOMContentLoaded', event => {\n// const modalCard1 = document.getElementById('1');\n// const modalCard2 = document.getElementById('2');\n// const modalCard3 = document.getElementById('3');\n// const modalCard4 = document.getElementById('4');\n// const modalCard5 = document.getElementById('5');\n// const modalCard6 = document.getElementById('6');\n// const modalCard7 = document.getElementById('7');\n// const modalCard8 = document.getElementById('8');\n// const modalCard9 = document.getElementById('9');\n// const message = [\n// 'Lorem ipsum dolor sit amet, consectetur adipisicing elit,',\n// 'incididunt ut labore et dolore magna aliqua.',\n// ];\n// const buttonProps = [\n// {\n// label: '취소',\n// color: 'grey_80',\n// size: 'md',\n// type: 'cancel',\n// },\n// {\n// label: '확인',\n// color: 'oceanblue_75',\n// size: 'md',\n// variant: 'primary',\n// },\n// ];\n// const colButtonProps = [\n// {\n// label: '확인',\n// color: 'oceanblue_75',\n// size: 'md',\n// variant: 'primary',\n// },\n// {\n// label: '취소',\n// color: 'grey_80',\n// size: 'md',\n// type: 'cancel',\n// },\n// ];\n// const handleClose = () => {\n// console.log('Modal closed');\n// };\n// const handleConfirm = () => {\n// console.log('Modal confirmed');\n// };\n// modalCard1.message = message;\n// modalCard2.message = message;\n// modalCard3.message = message;\n// modalCard4.message = message;\n// modalCard5.message = message;\n// modalCard6.message = message;\n// modalCard7.message = message;\n// modalCard8.message = message;\n// modalCard9.message = message;\n\n// modalCard4.type = 'warning';\n// modalCard5.type = 'warning';\n// modalCard6.type = 'warning';\n// modalCard7.type = 'normal';\n// modalCard8.type = 'normal';\n// modalCard9.type = 'normal';\n\n// modalCard8.system = 'positive';\n// modalCard9.system = 'negative';\n\n// modalCard2.buttonProps = buttonProps;\n// modalCard3.buttonProps = colButtonProps;\n// modalCard3.buttonFlexDirection = 'column';\n\n// const warningButtonProps = [buttonProps[0], { ...buttonProps[1], color: 'red_75' }];\n// const warningColButtonProps = [{ ...colButtonProps[0], color: 'red_75' }, colButtonProps[1]];\n// modalCard5.buttonProps = warningButtonProps;\n// modalCard6.buttonProps = warningColButtonProps;\n// modalCard6.buttonFlexDirection = 'column';\n\n// modalCard1.addEventListener('sdClose', handleClose);\n// modalCard2.addEventListener('sdClose', handleClose);\n// modalCard3.addEventListener('sdClose', handleClose);\n// modalCard1.addEventListener('sdConfirm', handleConfirm);\n// modalCard2.addEventListener('sdConfirm', handleConfirm);\n// modalCard3.addEventListener('sdConfirm', handleConfirm);\n// });\n// </script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-modal-card.entry.js","sources":["src/components/sd-modal-card/sd-modal-card.scss?tag=sd-modal-card","src/components/sd-modal-card/sd-modal-card.tsx"],"sourcesContent":["@import 'variables';\n\nsd-modal-card {\n display: block;\n .sd-modal-card {\n position: relative;\n padding: 40px 32px;\n border-radius: 8px;\n box-shadow: 4px 4px 24px 4px rgba(0, 0, 0, 0.2);\n background: white;\n\n &__close-button {\n position: absolute;\n top: 16px;\n right: 16px;\n cursor: pointer;\n }\n\n sd-icon.sd-modal-card__icon {\n display: block;\n width: 32px;\n height: 32px;\n margin: 0 auto 12px auto;\n }\n\n &__title {\n color: var(--point-color);\n font-size: 18px;\n font-weight: 700;\n line-height: 30px;\n text-align: center;\n margin: 0 0 20px 0;\n }\n\n &__message {\n color: $grey_95;\n font-weight: 400;\n font-size: 12px;\n line-height: 22px;\n text-align: center;\n margin: 0;\n }\n\n &__button-container {\n display: flex;\n margin: 32px auto 0 auto;\n justify-content: center;\n align-items: center;\n gap: 8px;\n &.flex-column {\n flex-direction: column;\n }\n button.sd-modal-card__button {\n width: 89px;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\nimport { resolveColor } from '../../utils/color';\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\n\nexport interface SdModalCardButtonProps {\n label: string;\n color: string;\n size: ButtonSize;\n variant?: ButtonVariant;\n class?: string;\n type?: 'confirm' | 'cancel';\n}\n\n@Component({\n tag: 'sd-modal-card',\n styleUrl: 'sd-modal-card.scss',\n})\nexport class SdModalCard {\n @Prop() type: 'info' | 'warning' | 'normal' = 'info';\n @Prop() system: 'normal' | 'positive' | 'negative' = 'normal';\n @Prop() useCloseButton: boolean = true;\n @Prop() modalTitle: string = 'normal';\n @Prop() buttonFlexDirection: 'row' | 'column' = 'row';\n @Prop() buttonProps: SdModalCardButtonProps[] = [\n {\n label: '확인',\n color: 'grey_80',\n size: 'md',\n },\n ];\n @Prop() message: string[] = [];\n @Prop()\n modalClass: string = '';\n\n @Event({ eventName: 'sdClose' }) close!: EventEmitter<MouseEvent>;\n @Event({ eventName: 'sdConfirm' }) confirm!: EventEmitter<MouseEvent>;\n\n private get pointColor(): string {\n if (this.type !== 'normal') {\n return 'grey_95';\n }\n\n switch (this.system) {\n case 'positive':\n return resolveColor('brilliantblue_75');\n case 'negative':\n return resolveColor('red_75');\n default:\n return resolveColor('grey_95');\n }\n }\n\n private get getModalClass(): string {\n let modalClass = `sd-modal-card ${this.modalClass}`;\n modalClass += ' ' + `sd-modal-card-${this.system}`;\n return modalClass;\n }\n\n render() {\n return (\n <Host style={{ '--point-color': this.pointColor }}>\n <div class={this.getModalClass}>\n {this.useCloseButton && (\n <sd-icon\n class=\"sd-modal-card__close-button\"\n name=\"close\"\n size=\"20\"\n color=\"grey_65\"\n onClick={() => this.close.emit()}\n />\n )}\n {this.type !== 'normal' && (\n <sd-icon\n class=\"sd-modal-card__icon\"\n name={this.type === 'info' ? 'notificationOutline' : 'warningOutline'}\n size=\"32\"\n color={this.type === 'info' ? 'brilliantblue_75' : 'red_75'}\n />\n )}\n <h2 class=\"sd-modal-card__title\">{this.modalTitle}</h2>\n <slot>\n <div class={`sd-modal-card__message-container`}>\n {this.message.map(msg => (\n <p class=\"sd-modal-card__message\">{msg}</p>\n ))}\n </div>\n </slot>\n <div class={`sd-modal-card__button-container flex-${this.buttonFlexDirection}`}>\n {this.buttonProps.map(button => (\n <sd-button\n class={'sd-modal-card__button'}\n variant={button.variant ? button.variant : 'outline'}\n label={button.label}\n color={button.color}\n size={button.size}\n onClick={() =>\n !button.type || button.type === 'confirm' ? this.confirm.emit() : this.close.emit()\n }\n {...(button.class && { class: button.class })}\n ></sd-button>\n ))}\n </div>\n </div>\n </Host>\n );\n }\n}\n\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// \"\n// >\n// <sd-modal-card id=\"1\"></sd-modal-card>\n// <sd-modal-card id=\"2\"></sd-modal-card>\n// <sd-modal-card id=\"3\"></sd-modal-card>\n// </div>\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// \"\n// >\n// <sd-modal-card id=\"4\"></sd-modal-card>\n// <sd-modal-card id=\"5\"></sd-modal-card>\n// <sd-modal-card id=\"6\"></sd-modal-card>\n// </div>\n// <div\n// style=\"\n// width: 100%;\n// display: flex;\n// justify-content: center;\n// align-items: center;\n// gap: 40px;\n// margin-top: 50px;\n// margin-bottom: 50px;\n// \"\n// >\n// <sd-modal-card id=\"7\"></sd-modal-card>\n// <sd-modal-card id=\"8\"></sd-modal-card>\n// <sd-modal-card id=\"9\"></sd-modal-card>\n// </div>\n// <script>\n// document.addEventListener('DOMContentLoaded', event => {\n// const modalCard1 = document.getElementById('1');\n// const modalCard2 = document.getElementById('2');\n// const modalCard3 = document.getElementById('3');\n// const modalCard4 = document.getElementById('4');\n// const modalCard5 = document.getElementById('5');\n// const modalCard6 = document.getElementById('6');\n// const modalCard7 = document.getElementById('7');\n// const modalCard8 = document.getElementById('8');\n// const modalCard9 = document.getElementById('9');\n// const message = [\n// 'Lorem ipsum dolor sit amet, consectetur adipisicing elit,',\n// 'incididunt ut labore et dolore magna aliqua.',\n// ];\n// const buttonProps = [\n// {\n// label: '취소',\n// color: 'grey_80',\n// size: 'md',\n// type: 'cancel',\n// },\n// {\n// label: '확인',\n// color: 'oceanblue_75',\n// size: 'md',\n// variant: 'primary',\n// },\n// ];\n// const colButtonProps = [\n// {\n// label: '확인',\n// color: 'oceanblue_75',\n// size: 'md',\n// variant: 'primary',\n// },\n// {\n// label: '취소',\n// color: 'grey_80',\n// size: 'md',\n// type: 'cancel',\n// },\n// ];\n// const handleClose = () => {\n// console.log('Modal closed');\n// };\n// const handleConfirm = () => {\n// console.log('Modal confirmed');\n// };\n// modalCard1.message = message;\n// modalCard2.message = message;\n// modalCard3.message = message;\n// modalCard4.message = message;\n// modalCard5.message = message;\n// modalCard6.message = message;\n// modalCard7.message = message;\n// modalCard8.message = message;\n// modalCard9.message = message;\n\n// modalCard4.type = 'warning';\n// modalCard5.type = 'warning';\n// modalCard6.type = 'warning';\n// modalCard7.type = 'normal';\n// modalCard8.type = 'normal';\n// modalCard9.type = 'normal';\n\n// modalCard8.system = 'positive';\n// modalCard9.system = 'negative';\n\n// modalCard2.buttonProps = buttonProps;\n// modalCard3.buttonProps = colButtonProps;\n// modalCard3.buttonFlexDirection = 'column';\n\n// const warningButtonProps = [buttonProps[0], { ...buttonProps[1], color: 'red_75' }];\n// const warningColButtonProps = [{ ...colButtonProps[0], color: 'red_75' }, colButtonProps[1]];\n// modalCard5.buttonProps = warningButtonProps;\n// modalCard6.buttonProps = warningColButtonProps;\n// modalCard6.buttonFlexDirection = 'column';\n\n// modalCard1.addEventListener('sdClose', handleClose);\n// modalCard2.addEventListener('sdClose', handleClose);\n// modalCard3.addEventListener('sdClose', handleClose);\n// modalCard1.addEventListener('sdConfirm', handleConfirm);\n// modalCard2.addEventListener('sdConfirm', handleConfirm);\n// modalCard3.addEventListener('sdConfirm', handleConfirm);\n// });\n// </script>\n"],"names":[],"mappings":"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"}