@sellmate/design-system 0.0.52 → 0.0.54

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 (361) hide show
  1. package/dist/cjs/design-system.cjs.js +5 -3
  2. package/dist/cjs/design-system.cjs.js.map +1 -1
  3. package/dist/cjs/{index-Bxead0A0.js → index-B7tkxTye.js} +11 -5
  4. package/dist/cjs/index-B7tkxTye.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +2 -0
  6. package/dist/cjs/loader.cjs.js +4 -2
  7. package/dist/cjs/loader.cjs.js.map +1 -1
  8. package/dist/cjs/sd-badge.cjs.entry.js +4 -4
  9. package/dist/cjs/{sd-button_15.cjs.entry.js → sd-button_23.cjs.entry.js} +1199 -94
  10. package/dist/cjs/sd-card.cjs.entry.js +4 -4
  11. package/dist/cjs/sd-date-box.cjs.entry.js +3 -3
  12. package/dist/cjs/sd-date-picker.cjs.entry.js +4 -4
  13. package/dist/cjs/sd-date-range-picker.cjs.entry.js +5 -5
  14. package/dist/cjs/sd-modal-card.cjs.entry.js +3 -3
  15. package/dist/cjs/sd-popover.cjs.entry.js +6 -6
  16. package/dist/cjs/sd-progress.cjs.entry.js +5 -5
  17. package/dist/cjs/sd-radio-button-group.cjs.entry.js +71 -0
  18. package/dist/cjs/sd-select-multiple.cjs.entry.js +8 -5
  19. package/dist/cjs/sd-table.cjs.entry.js +6 -6
  20. package/dist/cjs/sd-tbody_3.cjs.entry.js +10 -10
  21. package/dist/cjs/sd-td.cjs.entry.js +5 -5
  22. package/dist/cjs/{tooltipArrow-C7cIAuTo.js → tooltipArrow-8I9A3AOE.js} +3 -3
  23. package/dist/cjs/{tooltipArrow-C7cIAuTo.js.map → tooltipArrow-8I9A3AOE.js.map} +1 -1
  24. package/dist/collection/collection-manifest.json +8 -2
  25. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  26. package/dist/collection/components/sd-card/sd-card.js +1 -1
  27. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  28. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  29. package/dist/collection/components/sd-file-picker/sd-file-picker.css +95 -0
  30. package/dist/collection/components/sd-file-picker/sd-file-picker.js +299 -0
  31. package/dist/collection/components/sd-file-picker/sd-file-picker.js.map +1 -0
  32. package/dist/collection/components/sd-guide/sd-guide.js +3 -3
  33. package/dist/collection/components/sd-icon/sd-icon.css +1 -4
  34. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  35. package/dist/collection/components/sd-input/sd-input.css +1 -4
  36. package/dist/collection/components/sd-input/sd-input.js +2 -2
  37. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  38. package/dist/collection/components/sd-number-input/sd-number-input.css +128 -0
  39. package/dist/collection/components/sd-number-input/sd-number-input.js +744 -0
  40. package/dist/collection/components/sd-number-input/sd-number-input.js.map +1 -0
  41. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  42. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  43. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  44. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  45. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.css +71 -0
  46. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.js +214 -0
  47. package/dist/collection/components/sd-radio-button-group/sd-radio-button-group.js.map +1 -0
  48. package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
  49. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  50. package/dist/collection/components/sd-select/sd-select.js +28 -4
  51. package/dist/collection/components/sd-select/sd-select.js.map +1 -1
  52. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +26 -2
  53. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js.map +1 -1
  54. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.css +5 -0
  55. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +92 -43
  56. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js.map +1 -1
  57. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  58. package/dist/collection/components/sd-table/sd-table.js +3 -3
  59. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +1 -1
  60. package/dist/collection/components/sd-table/sd-td/sd-td.js +2 -2
  61. package/dist/collection/components/sd-table/sd-th/sd-th.js +1 -1
  62. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +1 -1
  63. package/dist/collection/components/sd-table-backup/sd-table-backup.js +4 -4
  64. package/dist/collection/components/sd-tabs/sd-tabs.css +83 -0
  65. package/dist/collection/components/sd-tabs/sd-tabs.js +180 -0
  66. package/dist/collection/components/sd-tabs/sd-tabs.js.map +1 -0
  67. package/dist/collection/components/sd-tag/sd-tag.js +1 -1
  68. package/dist/collection/components/sd-toast-message/sd-toast-message.css +66 -0
  69. package/dist/collection/components/sd-toast-message/sd-toast-message.js +248 -0
  70. package/dist/collection/components/sd-toast-message/sd-toast-message.js.map +1 -0
  71. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  72. package/dist/collection/components/sd-toggle-button/sd-toggle-button.css +46 -0
  73. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js +136 -0
  74. package/dist/collection/components/sd-toggle-button/sd-toggle-button.js.map +1 -0
  75. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  76. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  77. package/dist/components/index.js +1 -1
  78. package/dist/components/{p-DiehM5Y0.js → p-B05GJor3.js} +9 -9
  79. package/dist/components/p-B05GJor3.js.map +1 -0
  80. package/dist/components/{p-BpNH68jy.js → p-B3H_uLbl.js} +3 -3
  81. package/dist/components/{p-BpNH68jy.js.map → p-B3H_uLbl.js.map} +1 -1
  82. package/dist/components/{p-Dgxczhd0.js → p-BBNolp5g.js} +6 -6
  83. package/dist/components/{p-Dgxczhd0.js.map → p-BBNolp5g.js.map} +1 -1
  84. package/dist/components/{p-gnOKrd57.js → p-BDkKpeVz.js} +3 -3
  85. package/dist/components/{p-gnOKrd57.js.map → p-BDkKpeVz.js.map} +1 -1
  86. package/dist/components/p-BH3t01Im.js +109 -0
  87. package/dist/{design-system/sd-select-option-group.entry.esm.js.map → components/p-BH3t01Im.js.map} +1 -1
  88. package/dist/components/{p-S7M--xNH.js → p-BqxmCDlz.js} +18 -18
  89. package/dist/components/p-BqxmCDlz.js.map +1 -0
  90. package/dist/components/{p-DY6t0qQj.js → p-BwSVYr5L.js} +7 -7
  91. package/dist/components/p-BwSVYr5L.js.map +1 -0
  92. package/dist/components/{p-9kN1E6Ra.js → p-C5T02a4h.js} +27 -23
  93. package/dist/components/p-C5T02a4h.js.map +1 -0
  94. package/dist/components/{p-CkKxyn_K.js → p-C7kMNSz9.js} +9 -9
  95. package/dist/components/p-C7kMNSz9.js.map +1 -0
  96. package/dist/components/{p-BSUHSOXX.js → p-CEDtmtIo.js} +8 -8
  97. package/dist/components/p-CEDtmtIo.js.map +1 -0
  98. package/dist/components/p-CLMeZVRV.js +34 -0
  99. package/dist/components/p-CLMeZVRV.js.map +1 -0
  100. package/dist/components/p-CLNPwi8e.js +81 -0
  101. package/dist/components/p-CLNPwi8e.js.map +1 -0
  102. package/dist/components/{p-TFWJruz2.js → p-CQBrru3e.js} +11 -5
  103. package/dist/components/p-CQBrru3e.js.map +1 -0
  104. package/dist/components/{p-BsyfatBe.js → p-CV5tKC24.js} +8 -8
  105. package/dist/components/p-CV5tKC24.js.map +1 -0
  106. package/dist/components/{p-CJ0qTKU7.js → p-Cx3euWvk.js} +6 -6
  107. package/dist/components/{p-CJ0qTKU7.js.map → p-Cx3euWvk.js.map} +1 -1
  108. package/dist/components/{p-C6tAa8Q4.js → p-DY9yCaP9.js} +11 -11
  109. package/dist/components/p-DY9yCaP9.js.map +1 -0
  110. package/dist/components/{p-C171iavd.js → p-DdeknsBE.js} +8 -8
  111. package/dist/components/p-DdeknsBE.js.map +1 -0
  112. package/dist/components/{p-DyGUXuvD.js → p-GHGGjwP3.js} +12 -12
  113. package/dist/components/p-GHGGjwP3.js.map +1 -0
  114. package/dist/components/{p-1SxxSEqq.js → p-XAhTfI7Q.js} +11 -11
  115. package/dist/components/p-XAhTfI7Q.js.map +1 -0
  116. package/dist/components/p-at_j60O8.js +34 -0
  117. package/dist/components/p-at_j60O8.js.map +1 -0
  118. package/dist/components/sd-badge.js +6 -6
  119. package/dist/components/sd-badge.js.map +1 -1
  120. package/dist/components/sd-button.js +1 -1
  121. package/dist/components/sd-card.js +6 -6
  122. package/dist/components/sd-card.js.map +1 -1
  123. package/dist/components/sd-checkbox.js +1 -1
  124. package/dist/components/sd-date-box.js +1 -1
  125. package/dist/components/sd-date-picker.js +14 -14
  126. package/dist/components/sd-date-picker.js.map +1 -1
  127. package/dist/components/sd-date-range-picker.js +15 -15
  128. package/dist/components/sd-date-range-picker.js.map +1 -1
  129. package/dist/components/sd-file-picker.d.ts +11 -0
  130. package/dist/components/sd-file-picker.js +159 -0
  131. package/dist/components/sd-file-picker.js.map +1 -0
  132. package/dist/components/sd-guide.js +14 -14
  133. package/dist/components/sd-guide.js.map +1 -1
  134. package/dist/components/sd-icon.js +1 -1
  135. package/dist/components/sd-input.js +1 -1
  136. package/dist/components/sd-loading-spinner.js +1 -1
  137. package/dist/components/sd-modal-card.js +9 -9
  138. package/dist/components/sd-modal-card.js.map +1 -1
  139. package/dist/components/sd-number-input.d.ts +11 -0
  140. package/dist/components/sd-number-input.js +335 -0
  141. package/dist/components/sd-number-input.js.map +1 -0
  142. package/dist/components/sd-pagination.js +1 -1
  143. package/dist/components/sd-popover.js +14 -14
  144. package/dist/components/sd-popover.js.map +1 -1
  145. package/dist/components/sd-portal.js +1 -1
  146. package/dist/components/sd-progress.js +7 -7
  147. package/dist/components/sd-progress.js.map +1 -1
  148. package/dist/components/sd-radio-button-group.d.ts +11 -0
  149. package/dist/components/sd-radio-button-group.js +99 -0
  150. package/dist/components/sd-radio-button-group.js.map +1 -0
  151. package/dist/components/sd-radio-group.js +6 -6
  152. package/dist/components/sd-radio-group.js.map +1 -1
  153. package/dist/components/sd-select-multiple-group.js +88 -59
  154. package/dist/components/sd-select-multiple-group.js.map +1 -1
  155. package/dist/components/sd-select-multiple.js +23 -19
  156. package/dist/components/sd-select-multiple.js.map +1 -1
  157. package/dist/components/sd-select-option-group.js +1 -1
  158. package/dist/components/sd-select-option.js +1 -1
  159. package/dist/components/sd-select.js +1 -1
  160. package/dist/components/sd-table-backup.js +31 -31
  161. package/dist/components/sd-table-backup.js.map +1 -1
  162. package/dist/components/sd-table.js +34 -34
  163. package/dist/components/sd-table.js.map +1 -1
  164. package/dist/components/sd-tabs.d.ts +11 -0
  165. package/dist/components/sd-tabs.js +101 -0
  166. package/dist/components/sd-tabs.js.map +1 -0
  167. package/dist/components/sd-tag.js +1 -76
  168. package/dist/components/sd-tag.js.map +1 -1
  169. package/dist/components/sd-tbody.js +1 -1
  170. package/dist/components/sd-td.js +7 -7
  171. package/dist/components/sd-td.js.map +1 -1
  172. package/dist/components/sd-th.js +1 -1
  173. package/dist/components/sd-toast-message.d.ts +11 -0
  174. package/dist/components/sd-toast-message.js +101 -0
  175. package/dist/components/sd-toast-message.js.map +1 -0
  176. package/dist/components/sd-toggle-button.d.ts +11 -0
  177. package/dist/components/sd-toggle-button.js +74 -0
  178. package/dist/components/sd-toggle-button.js.map +1 -0
  179. package/dist/components/sd-toggle.js +6 -6
  180. package/dist/components/sd-toggle.js.map +1 -1
  181. package/dist/components/sd-tooltip-portal.js +1 -1
  182. package/dist/components/sd-tooltip.js +1 -1
  183. package/dist/components/sd-tr.js +1 -1
  184. package/dist/design-system/design-system.esm.js +1 -1
  185. package/dist/design-system/design-system.esm.js.map +1 -1
  186. package/dist/design-system/p-1fbc8e14.entry.js +2 -0
  187. package/dist/design-system/p-1fbc8e14.entry.js.map +1 -0
  188. package/dist/design-system/p-26266f8c.entry.js +2 -0
  189. package/dist/design-system/p-26266f8c.entry.js.map +1 -0
  190. package/dist/design-system/p-2df41cc3.entry.js +2 -0
  191. package/dist/design-system/p-2df41cc3.entry.js.map +1 -0
  192. package/dist/design-system/p-3cc7957d.entry.js +2 -0
  193. package/dist/design-system/p-3cc7957d.entry.js.map +1 -0
  194. package/dist/design-system/p-6b3c33c3.entry.js +2 -0
  195. package/dist/design-system/p-6b3c33c3.entry.js.map +1 -0
  196. package/dist/design-system/p-6ce950da.entry.js +2 -0
  197. package/dist/design-system/p-6ce950da.entry.js.map +1 -0
  198. package/dist/design-system/{p-ClyGLKUd.js → p-7X2nzJWz.js} +2 -2
  199. package/dist/design-system/p-7X2nzJWz.js.map +1 -0
  200. package/dist/design-system/{p-DXZjHQmQ.js → p-CdbtuKYR.js} +2 -2
  201. package/dist/design-system/{p-DXZjHQmQ.js.map → p-CdbtuKYR.js.map} +1 -1
  202. package/dist/design-system/p-a18c202d.entry.js +2 -0
  203. package/dist/design-system/p-a18c202d.entry.js.map +1 -0
  204. package/dist/design-system/p-b0668ce9.entry.js +2 -0
  205. package/dist/design-system/p-b0668ce9.entry.js.map +1 -0
  206. package/dist/design-system/p-be9c40a3.entry.js +2 -0
  207. package/dist/design-system/p-be9c40a3.entry.js.map +1 -0
  208. package/dist/design-system/p-db603dcb.entry.js +2 -0
  209. package/dist/design-system/p-db603dcb.entry.js.map +1 -0
  210. package/dist/design-system/p-ddb5a2f4.entry.js +2 -0
  211. package/dist/design-system/p-ddb5a2f4.entry.js.map +1 -0
  212. package/dist/design-system/p-e31182ad.entry.js +2 -0
  213. package/dist/design-system/p-e31182ad.entry.js.map +1 -0
  214. package/dist/design-system/p-f9e04bf9.entry.js +2 -0
  215. package/dist/design-system/p-f9e04bf9.entry.js.map +1 -0
  216. package/dist/design-system/p-fe8721b5.entry.js +2 -0
  217. package/dist/design-system/p-fe8721b5.entry.js.map +1 -0
  218. package/dist/esm/design-system.js +6 -4
  219. package/dist/esm/design-system.js.map +1 -1
  220. package/dist/esm/{index-ClyGLKUd.js → index-7X2nzJWz.js} +11 -5
  221. package/dist/esm/index-7X2nzJWz.js.map +1 -0
  222. package/dist/esm/index.js +2 -0
  223. package/dist/esm/loader.js +5 -3
  224. package/dist/esm/sd-badge.entry.js +4 -4
  225. package/dist/esm/sd-badge.entry.js.map +1 -1
  226. package/dist/esm/{sd-button_15.entry.js → sd-button_23.entry.js} +1192 -95
  227. package/dist/esm/sd-card.entry.js +4 -4
  228. package/dist/esm/sd-card.entry.js.map +1 -1
  229. package/dist/esm/sd-date-box.entry.js +3 -3
  230. package/dist/esm/sd-date-box.entry.js.map +1 -1
  231. package/dist/esm/sd-date-picker.entry.js +4 -4
  232. package/dist/esm/sd-date-picker.entry.js.map +1 -1
  233. package/dist/esm/sd-date-range-picker.entry.js +5 -5
  234. package/dist/esm/sd-date-range-picker.entry.js.map +1 -1
  235. package/dist/esm/sd-modal-card.entry.js +3 -3
  236. package/dist/esm/sd-modal-card.entry.js.map +1 -1
  237. package/dist/esm/sd-popover.entry.js +6 -6
  238. package/dist/esm/sd-popover.entry.js.map +1 -1
  239. package/dist/esm/sd-progress.entry.js +5 -5
  240. package/dist/esm/sd-progress.entry.js.map +1 -1
  241. package/dist/esm/sd-radio-button-group.entry.js +69 -0
  242. package/dist/esm/sd-radio-button-group.entry.js.map +1 -0
  243. package/dist/esm/sd-select-multiple.entry.js +8 -5
  244. package/dist/esm/sd-select-multiple.entry.js.map +1 -1
  245. package/dist/esm/sd-table.entry.js +6 -6
  246. package/dist/esm/sd-table.entry.js.map +1 -1
  247. package/dist/esm/sd-tbody_3.entry.js +10 -10
  248. package/dist/esm/sd-td.entry.js +5 -5
  249. package/dist/esm/sd-td.entry.js.map +1 -1
  250. package/dist/esm/{tooltipArrow-BwO7_hdW.js → tooltipArrow-DFRZWz6D.js} +3 -3
  251. package/dist/esm/{tooltipArrow-BwO7_hdW.js.map → tooltipArrow-DFRZWz6D.js.map} +1 -1
  252. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +29 -0
  253. package/dist/types/components/sd-number-input/sd-number-input.d.ts +58 -0
  254. package/dist/types/components/sd-radio-button-group/sd-radio-button-group.d.ts +24 -0
  255. package/dist/types/components/sd-select/sd-select.d.ts +1 -0
  256. package/dist/types/components/sd-select-multiple/sd-select-multiple.d.ts +1 -0
  257. package/dist/types/components/sd-select-multiple-group/sd-select-multiple-group.d.ts +2 -0
  258. package/dist/types/components/sd-tabs/sd-tabs.d.ts +22 -0
  259. package/dist/types/components/sd-toast-message/sd-toast-message.d.ts +19 -0
  260. package/dist/types/components/sd-toggle-button/sd-toggle-button.d.ts +14 -0
  261. package/dist/types/components.d.ts +456 -8
  262. package/dist/types/stencil-public-runtime.d.ts +43 -0
  263. package/hydrate/index.d.ts +12 -0
  264. package/hydrate/index.js +2637 -1823
  265. package/hydrate/index.mjs +2636 -1824
  266. package/package.json +2 -2
  267. package/dist/cjs/index-Bxead0A0.js.map +0 -1
  268. package/dist/cjs/sd-badge.entry.cjs.js.map +0 -1
  269. package/dist/cjs/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-radio-group.sd-select.sd-select-option.sd-table-backup.sd-toggle.sd-tooltip.sd-tooltip-portal.entry.cjs.js.map +0 -1
  270. package/dist/cjs/sd-card.entry.cjs.js.map +0 -1
  271. package/dist/cjs/sd-date-box.entry.cjs.js.map +0 -1
  272. package/dist/cjs/sd-date-picker.entry.cjs.js.map +0 -1
  273. package/dist/cjs/sd-date-range-picker.entry.cjs.js.map +0 -1
  274. package/dist/cjs/sd-modal-card.entry.cjs.js.map +0 -1
  275. package/dist/cjs/sd-popover.entry.cjs.js.map +0 -1
  276. package/dist/cjs/sd-progress.entry.cjs.js.map +0 -1
  277. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +0 -406
  278. package/dist/cjs/sd-select-multiple-group.entry.cjs.js.map +0 -1
  279. package/dist/cjs/sd-select-multiple.entry.cjs.js.map +0 -1
  280. package/dist/cjs/sd-select-option-group.cjs.entry.js +0 -69
  281. package/dist/cjs/sd-select-option-group.entry.cjs.js.map +0 -1
  282. package/dist/cjs/sd-table.entry.cjs.js.map +0 -1
  283. package/dist/cjs/sd-tag.cjs.entry.js +0 -57
  284. package/dist/cjs/sd-tag.entry.cjs.js.map +0 -1
  285. package/dist/cjs/sd-tbody.sd-th.sd-tr.entry.cjs.js.map +0 -1
  286. package/dist/cjs/sd-td.entry.cjs.js.map +0 -1
  287. package/dist/components/p-1SxxSEqq.js.map +0 -1
  288. package/dist/components/p-9kN1E6Ra.js.map +0 -1
  289. package/dist/components/p-BSUHSOXX.js.map +0 -1
  290. package/dist/components/p-BsyfatBe.js.map +0 -1
  291. package/dist/components/p-C171iavd.js.map +0 -1
  292. package/dist/components/p-C6tAa8Q4.js.map +0 -1
  293. package/dist/components/p-C9fSCxHc.js +0 -109
  294. package/dist/components/p-C9fSCxHc.js.map +0 -1
  295. package/dist/components/p-CkKxyn_K.js.map +0 -1
  296. package/dist/components/p-D8f0ASS6.js +0 -34
  297. package/dist/components/p-D8f0ASS6.js.map +0 -1
  298. package/dist/components/p-DY6t0qQj.js.map +0 -1
  299. package/dist/components/p-DiehM5Y0.js.map +0 -1
  300. package/dist/components/p-DyGUXuvD.js.map +0 -1
  301. package/dist/components/p-S7M--xNH.js.map +0 -1
  302. package/dist/components/p-TFWJruz2.js.map +0 -1
  303. package/dist/components/p-wQDv-v0B.js +0 -34
  304. package/dist/components/p-wQDv-v0B.js.map +0 -1
  305. package/dist/design-system/p-1ad40ed0.entry.js +0 -2
  306. package/dist/design-system/p-1ad40ed0.entry.js.map +0 -1
  307. package/dist/design-system/p-1b6aec43.entry.js +0 -2
  308. package/dist/design-system/p-1b6aec43.entry.js.map +0 -1
  309. package/dist/design-system/p-1e175d35.entry.js +0 -2
  310. package/dist/design-system/p-1e175d35.entry.js.map +0 -1
  311. package/dist/design-system/p-1efccd9d.entry.js +0 -2
  312. package/dist/design-system/p-1efccd9d.entry.js.map +0 -1
  313. package/dist/design-system/p-3d78a7c7.entry.js +0 -2
  314. package/dist/design-system/p-3d78a7c7.entry.js.map +0 -1
  315. package/dist/design-system/p-4828e65b.entry.js +0 -2
  316. package/dist/design-system/p-4828e65b.entry.js.map +0 -1
  317. package/dist/design-system/p-4e7bc094.entry.js +0 -2
  318. package/dist/design-system/p-4e7bc094.entry.js.map +0 -1
  319. package/dist/design-system/p-6d81e6f8.entry.js +0 -2
  320. package/dist/design-system/p-6d81e6f8.entry.js.map +0 -1
  321. package/dist/design-system/p-717a736c.entry.js +0 -2
  322. package/dist/design-system/p-717a736c.entry.js.map +0 -1
  323. package/dist/design-system/p-74f12ea0.entry.js +0 -2
  324. package/dist/design-system/p-74f12ea0.entry.js.map +0 -1
  325. package/dist/design-system/p-7d14540d.entry.js +0 -2
  326. package/dist/design-system/p-7d14540d.entry.js.map +0 -1
  327. package/dist/design-system/p-8d6d225d.entry.js +0 -2
  328. package/dist/design-system/p-8d6d225d.entry.js.map +0 -1
  329. package/dist/design-system/p-ClyGLKUd.js.map +0 -1
  330. package/dist/design-system/p-b892a722.entry.js +0 -2
  331. package/dist/design-system/p-b892a722.entry.js.map +0 -1
  332. package/dist/design-system/p-bc905ded.entry.js +0 -2
  333. package/dist/design-system/p-bc905ded.entry.js.map +0 -1
  334. package/dist/design-system/p-c7e8a2c0.entry.js +0 -2
  335. package/dist/design-system/p-c7e8a2c0.entry.js.map +0 -1
  336. package/dist/design-system/p-c9b70553.entry.js +0 -2
  337. package/dist/design-system/p-c9b70553.entry.js.map +0 -1
  338. package/dist/design-system/sd-badge.entry.esm.js.map +0 -1
  339. package/dist/design-system/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-radio-group.sd-select.sd-select-option.sd-table-backup.sd-toggle.sd-tooltip.sd-tooltip-portal.entry.esm.js.map +0 -1
  340. package/dist/design-system/sd-card.entry.esm.js.map +0 -1
  341. package/dist/design-system/sd-date-box.entry.esm.js.map +0 -1
  342. package/dist/design-system/sd-date-picker.entry.esm.js.map +0 -1
  343. package/dist/design-system/sd-date-range-picker.entry.esm.js.map +0 -1
  344. package/dist/design-system/sd-modal-card.entry.esm.js.map +0 -1
  345. package/dist/design-system/sd-popover.entry.esm.js.map +0 -1
  346. package/dist/design-system/sd-progress.entry.esm.js.map +0 -1
  347. package/dist/design-system/sd-select-multiple-group.entry.esm.js.map +0 -1
  348. package/dist/design-system/sd-select-multiple.entry.esm.js.map +0 -1
  349. package/dist/design-system/sd-table.entry.esm.js.map +0 -1
  350. package/dist/design-system/sd-tag.entry.esm.js.map +0 -1
  351. package/dist/design-system/sd-tbody.sd-th.sd-tr.entry.esm.js.map +0 -1
  352. package/dist/design-system/sd-td.entry.esm.js.map +0 -1
  353. package/dist/esm/index-ClyGLKUd.js.map +0 -1
  354. package/dist/esm/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-radio-group.sd-select.sd-select-option.sd-table-backup.sd-toggle.sd-tooltip.sd-tooltip-portal.entry.js.map +0 -1
  355. package/dist/esm/sd-select-multiple-group.entry.js +0 -404
  356. package/dist/esm/sd-select-multiple-group.entry.js.map +0 -1
  357. package/dist/esm/sd-select-option-group.entry.js +0 -67
  358. package/dist/esm/sd-select-option-group.entry.js.map +0 -1
  359. package/dist/esm/sd-tag.entry.js +0 -55
  360. package/dist/esm/sd-tag.entry.js.map +0 -1
  361. package/dist/esm/sd-tbody.sd-th.sd-tr.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"file":"p-C171iavd.js","mappings":";;AAAA,MAAM,OAAO,GAAG,0BAA0B;;MCM7B,IAAI,iBAAAA,kBAAA,CAAA,MAAA,IAAA,SAAAC,CAAA,CAAA;;;;;;;IAChB,MAAM,GAAA;QACL,QACC,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACP;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-table/sd-tr/sd-tr.scss?tag=sd-tr","src/components/sd-table/sd-tr/sd-tr.tsx"],"sourcesContent":["sd-tr {\r\n display: table-row;\r\n}\r\n","import { Component, Host, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'sd-tr',\r\n styleUrl: 'sd-tr.scss',\r\n})\r\nexport class SdTr {\r\n render() {\r\n return (\r\n <Host role=\"row\">\r\n <slot></slot>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-C6tAa8Q4.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-input/sd-input.scss?tag=sd-input","src/components/sd-input/sd-input.tsx"],"sourcesContent":["@import 'variables';\r\n@import '../sd-icon/sd-icon.scss';\r\n\r\n.sd-input {\r\n display: flex;\r\n width: var(--input-width, 100%);\r\n align-items: center;\r\n height: 28px;\r\n padding: 4px 8px;\r\n border: 1px solid $grey_55;\r\n border-radius: 4px;\r\n color: $grey_90;\r\n font-size: 12px;\r\n line-height: 20px;\r\n background: white;\r\n\r\n &--hovered,\r\n &--focused {\r\n border-color: $brilliantblue_75;\r\n box-shadow: 0 0 4px 0 #0071ff66;\r\n }\r\n\r\n &.sd-input--error {\r\n border-color: $red_70;\r\n }\r\n\r\n &.sd-input--pass {\r\n border-color: $green_65;\r\n }\r\n\r\n &.sd-input--barcode:not(.sd-input--disabled) {\r\n background-color: $olive_15;\r\n }\r\n\r\n &.sd-input--disabled {\r\n background-color: $grey_20 !important;\r\n border-color: $grey_45 !important;\r\n cursor: not-allowed !important;\r\n box-shadow: none !important;\r\n .sd-input__native_element {\r\n color: $grey_65 !important;\r\n }\r\n }\r\n\r\n .sd-input__native_element {\r\n display: block;\r\n width: 100%;\r\n height: 20px;\r\n line-height: 20px;\r\n border: none;\r\n outline: none;\r\n background: transparent;\r\n font-size: inherit;\r\n color: $grey_90;\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n padding-block: 0;\r\n padding-inline: 0;\r\n\r\n &::placeholder {\r\n font-size: 12px;\r\n height: 20px;\r\n line-height: 20px;\r\n color: $grey_55;\r\n }\r\n }\r\n\r\n .sd-input__clear-icon {\r\n cursor: pointer;\r\n margin-left: 8px;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Host,\r\n Prop,\r\n State,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Method,\r\n} from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'sd-input',\r\n styleUrl: 'sd-input.scss',\r\n})\r\nexport class SdInput {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop({ mutable: true }) value?: string | number | null = null;\r\n @Prop() label?: string;\r\n @Prop() placeholder: string = '입력해 주세요.';\r\n @Prop() disabled: boolean = false;\r\n @Prop() clearable: boolean = false;\r\n @Prop() width?: number | string;\r\n @Prop() barcode?: boolean = false;\r\n @Prop() rules?: Array<(value: string | number | null) => boolean | string>;\r\n @Prop() autoFocus: boolean = false;\r\n @Prop() status?: 'default' | 'pass' | 'error';\r\n @Prop() inputClass: string = '';\r\n @Prop() readonly: boolean = false;\r\n\r\n // props - custom styles\r\n @Prop() inputStyle: { [key: string]: string } = {};\r\n\r\n @State() private internalValue: string | number | null = null;\r\n @State() private error: boolean = false;\r\n @State() private focused: boolean = false;\r\n @State() private hovered: boolean = false;\r\n\r\n private nativeEl: HTMLInputElement | undefined = undefined;\r\n\r\n @Event() sdClick?: EventEmitter<string | number | null>;\r\n @Event() sdInput?: EventEmitter<string | number | null>;\r\n @Event() sdChange?: EventEmitter<string | number | null>;\r\n @Event() sdFocus?: EventEmitter<Event>;\r\n @Event() sdBlur?: EventEmitter<Event>;\r\n\r\n @Watch('value')\r\n valueChanged(newValue: string | number | null) {\r\n this.internalValue = newValue;\r\n }\r\n\r\n @Watch('internalValue')\r\n internalValueChanged(newValue: string | number | null) {\r\n if (newValue !== this.value) {\r\n this.value = newValue;\r\n this.sdInput?.emit(this.value);\r\n }\r\n\r\n if (!this.rules || this.rules.length === 0) return;\r\n this.error = false;\r\n for (const rule of this.rules) {\r\n const result = rule(newValue);\r\n if (result !== true) {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n @Method()\r\n async getNativeElement(): Promise<HTMLInputElement | null> {\r\n return this.nativeEl || null;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.value) {\r\n this.internalValue = this.value;\r\n }\r\n }\r\n\r\n private handleInput = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdInput?.emit(this.internalValue);\r\n };\r\n\r\n private handleChange = (event: Event) => {\r\n const target = event.target as HTMLInputElement;\r\n this.internalValue = target.value;\r\n this.sdChange?.emit(this.internalValue);\r\n };\r\n\r\n private handleFocus = (type: 'focus' | 'blur', event: Event) => {\r\n this.focused = type === 'focus';\r\n\r\n if (type === 'blur') this.sdBlur?.emit(event);\r\n else this.sdFocus?.emit(event);\r\n };\r\n\r\n getInputStatus() {\r\n // input 상태 우선순위: hovered > focused > status(상태 주입) > error(rules 검사)\r\n if (this.disabled) return 'sd-input--disabled';\r\n if (this.hovered) return 'sd-input--hovered';\r\n if (this.focused) return 'sd-input--focused';\r\n if (this.status) return `sd-input--${this.status}`;\r\n if (this.error) return 'sd-input--error';\r\n return '';\r\n }\r\n\r\n render() {\r\n const inputWidth = this.width\r\n ? {\r\n '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,\r\n }\r\n : {};\r\n\r\n return (\r\n <Host style={inputWidth}>\r\n {this.label && <div class=\"sd-input__label\">{this.label}</div>}\r\n <label\r\n class={{\r\n 'sd-input': true,\r\n [this.getInputStatus()]: true,\r\n 'sd-input--barcode': !!this.barcode,\r\n }}\r\n onMouseEnter={() => (this.hovered = true)}\r\n onMouseLeave={() => (this.hovered = false)}\r\n style={this.inputStyle}\r\n >\r\n <slot name=\"prefix\"></slot>\r\n <input\r\n ref={el => (this.nativeEl = el)}\r\n class={`sd-input__native_element ${this.inputClass}`}\r\n type=\"text\"\r\n value={this.internalValue || ''}\r\n placeholder={this.placeholder}\r\n disabled={this.disabled}\r\n readonly={this.readonly}\r\n autofocus={this.autoFocus}\r\n onInput={this.handleInput}\r\n onChange={this.handleChange}\r\n onFocus={event => this.handleFocus('focus', event)}\r\n onBlur={event => this.handleFocus('blur', event)}\r\n />\r\n <slot name=\"suffix\"></slot>\r\n {this.clearable && this.internalValue && (\r\n <sd-icon\r\n name=\"close\"\r\n color=\"#888\"\r\n class=\"sd-input__clear-icon\"\r\n onClick={() => {\r\n this.internalValue = '';\r\n this.sdChange?.emit(this.internalValue);\r\n this.sdInput?.emit(this.internalValue);\r\n }}\r\n />\r\n )}\r\n </label>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,109 +0,0 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h } from './p-TFWJruz2.js';
2
- import { d as defineCustomElement$2 } from './p-CkKxyn_K.js';
3
- import { d as defineCustomElement$1 } from './p-BsyfatBe.js';
4
-
5
- const sdSelectOptionGroupCss = "sd-select-option-group{display:block;height:fit-content}sd-select-option-group .sd-select__option-group{display:flex;padding:4px 12px;padding-left:12px;font-size:12px;line-height:20px;cursor:pointer}sd-select-option-group .sd-select__option-group.sd-select__option-group--group:not(.sd-select__option-group--use-checkbox),sd-select-option-group .sd-select__option-group.sd-select__option-group--subgroup:not(.sd-select__option-group--use-checkbox){cursor:default !important}sd-select-option-group .sd-select__option-group.sd-select__option-group--group{background-color:#f5faff !important;color:#333333 !important;font-weight:700}sd-select-option-group .sd-select__option-group.sd-select__option-group--subgroup{padding-left:20px;background-color:#f9f9f9 !important;color:#333333 !important;font-weight:500}sd-select-option-group .sd-select__option-group.sd-select__option-group--item{padding-left:28px}sd-select-option-group .sd-select__option-group sd-checkbox__bg{border-color:#888888}sd-select-option-group .sd-select__option-group__label-wrapper{display:flex;width:100%;column-gap:8px;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}sd-select-option-group .sd-select__option-group__label-wrapper sd-checkbox{flex-shrink:0}sd-select-option-group .sd-select__option-group__label-wrapper .sd-select__option-group-label{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sd-select-option-group .sd-select__option-group__label-wrapper .sd-select__option-group__count-indicator{width:fit-content;flex-shrink:0;font-size:12px;font-weight:500;color:#888888}sd-select-option-group .sd-select__option-group--focused{background-color:#e6f1ff}sd-select-option-group .sd-select__option-group--selected.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox),sd-select-option-group .sd-select__option-group--focused.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox){color:#0075ff;font-weight:700}sd-select-option-group .sd-select__option-group--disabled{color:#aaaaaa;cursor:not-allowed}sd-select-option-group .sd-select__option-group:hover:not(.sd-select__option-group--disabled){background-color:#0075ff;color:white}sd-select-option-group .sd-select__option-group:hover.sd-select__option-group--selected:not(.sd-select__option-group--group):not(.sd-select__option-group--subgroup) sd-checkbox .sd-checkbox__bg{border-color:white !important}";
6
-
7
- const SdSelectOptionGroup = /*@__PURE__*/ proxyCustomElement(class SdSelectOptionGroup extends H {
8
- constructor(registerHost) {
9
- super();
10
- if (registerHost !== false) {
11
- this.__registerHost();
12
- }
13
- this.optionClick = createEvent(this, "optionClick");
14
- }
15
- get el() { return this; }
16
- option;
17
- index;
18
- isSelected = false;
19
- isFocused = false;
20
- optionStyle;
21
- disabled = false;
22
- useCheckbox = false;
23
- useIndicator = true;
24
- countInfo = {
25
- selectedCount: 0,
26
- totalCount: 0,
27
- };
28
- isHovered = false;
29
- async isDisabled() {
30
- return !!this.option.disabled || this.option.type === 'group' || this.option.type === 'subgroup';
31
- }
32
- optionClick;
33
- handleClick = (option, isSelected, event) => {
34
- event.stopPropagation();
35
- if (option.type === 'group' || option.type === 'subgroup') {
36
- this.optionClick.emit({
37
- option: this.option,
38
- isSelected,
39
- index: this.index,
40
- event,
41
- });
42
- return;
43
- }
44
- if (!this.option.disabled && !this.disabled) {
45
- this.optionClick.emit({
46
- option: this.option,
47
- isSelected,
48
- index: this.index,
49
- event,
50
- });
51
- }
52
- };
53
- render() {
54
- return (h("div", { key: '2d1e55e35c77246a2df6856b2e7053cc21aabfc5', class: {
55
- 'sd-select__option-group': true,
56
- 'sd-select__option-group--selected': !!this.isSelected,
57
- 'sd-select__option-group--disabled': !!this.option.disabled,
58
- 'sd-select__option-group--focused': this.isFocused,
59
- 'sd-select__option-group--use-checkbox': this.useCheckbox,
60
- 'sd-select__option-group--group': this.option.type === 'group',
61
- 'sd-select__option-group--subgroup': this.option.type === 'subgroup',
62
- 'sd-select__option-group--item': this.option.type === 'item',
63
- }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, h("div", { key: '33ce9985f9c94502d103d81b3678abdb732dfadb', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (h("sd-checkbox", { key: '262ec7ac68b981b5a69c21a5785c2c4ff5db7966', checked: this.isSelected, disabled: this.option.disabled, onClick: e => {
64
- e.preventDefault();
65
- this.handleClick(this.option, this.isSelected, e);
66
- } })), h("span", { key: 'f9c89b082413da5914e166d53e1fd9bc269395ce', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (h("span", { key: 'eaec735454f0b3c102397352d7863662fa933b24', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
67
- }
68
- static get style() { return sdSelectOptionGroupCss; }
69
- }, [768, "sd-select-option-group", {
70
- "option": [16],
71
- "index": [2],
72
- "isSelected": [4, "is-selected"],
73
- "isFocused": [4, "is-focused"],
74
- "optionStyle": [16],
75
- "disabled": [4],
76
- "useCheckbox": [4, "use-checkbox"],
77
- "useIndicator": [4, "use-indicator"],
78
- "countInfo": [16],
79
- "isHovered": [32],
80
- "isDisabled": [64]
81
- }]);
82
- function defineCustomElement() {
83
- if (typeof customElements === "undefined") {
84
- return;
85
- }
86
- const components = ["sd-select-option-group", "sd-checkbox", "sd-icon"];
87
- components.forEach(tagName => { switch (tagName) {
88
- case "sd-select-option-group":
89
- if (!customElements.get(tagName)) {
90
- customElements.define(tagName, SdSelectOptionGroup);
91
- }
92
- break;
93
- case "sd-checkbox":
94
- if (!customElements.get(tagName)) {
95
- defineCustomElement$2();
96
- }
97
- break;
98
- case "sd-icon":
99
- if (!customElements.get(tagName)) {
100
- defineCustomElement$1();
101
- }
102
- break;
103
- } });
104
- }
105
-
106
- export { SdSelectOptionGroup as S, defineCustomElement as d };
107
- //# sourceMappingURL=p-C9fSCxHc.js.map
108
-
109
- //# sourceMappingURL=p-C9fSCxHc.js.map
@@ -1 +0,0 @@
1
- {"file":"p-C9fSCxHc.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.scss?tag=sd-select-option-group","src/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-select-option-group {\r\n display: block;\r\n height: fit-content;\r\n .sd-select__option-group {\r\n display: flex;\r\n padding: 4px 12px;\r\n padding-left: 12px;\r\n font-size: 12px;\r\n line-height: 20px;\r\n cursor: pointer;\r\n\r\n &.sd-select__option-group--group,\r\n &.sd-select__option-group--subgroup {\r\n &:not(.sd-select__option-group--use-checkbox) {\r\n cursor: default !important;\r\n }\r\n }\r\n\r\n &.sd-select__option-group--group {\r\n background-color: $brilliantblue_05 !important;\r\n color: $grey_90 !important;\r\n font-weight: 700;\r\n }\r\n\r\n &.sd-select__option-group--subgroup {\r\n padding-left: 20px;\r\n background-color: $grey_05 !important;\r\n color: $grey_90 !important;\r\n font-weight: 500;\r\n }\r\n\r\n &.sd-select__option-group--item {\r\n padding-left: 28px;\r\n }\r\n\r\n sd-checkbox {\r\n &__bg {\r\n border-color: $grey_65;\r\n }\r\n }\r\n\r\n &__label-wrapper {\r\n display: flex;\r\n width: 100%;\r\n column-gap: 8px;\r\n align-items: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n\r\n sd-checkbox {\r\n flex-shrink: 0;\r\n }\r\n\r\n .sd-select__option-group-label {\r\n flex: 0 1 auto;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n\r\n .sd-select__option-group__count-indicator {\r\n width: fit-content;\r\n flex-shrink: 0;\r\n font-size: 12px;\r\n font-weight: 500;\r\n color: $grey_65;\r\n }\r\n }\r\n\r\n &--focused {\r\n background-color: $brilliantblue_20;\r\n }\r\n\r\n &--selected,\r\n &--focused {\r\n &.sd-select__option-group--item:not(:hover):not(.sd-select__option-group--use-checkbox) {\r\n color: $brilliantblue_75;\r\n font-weight: 700;\r\n }\r\n }\r\n\r\n &--disabled {\r\n color: $grey_55;\r\n cursor: not-allowed;\r\n }\r\n\r\n &:hover {\r\n &:not(.sd-select__option-group--disabled) {\r\n background-color: $brilliantblue_75;\r\n color: white;\r\n }\r\n\r\n &.sd-select__option-group--selected {\r\n &:not(.sd-select__option-group--group):not(.sd-select__option-group--subgroup) {\r\n sd-checkbox {\r\n .sd-checkbox__bg {\r\n border-color: white !important;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\r\nimport { SelectOptionGroup } from '../../sd-select/sd-select';\r\n\r\n@Component({\r\n tag: 'sd-select-option-group',\r\n styleUrl: 'sd-select-option-group.scss',\r\n})\r\nexport class SdSelectOptionGroup {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() option!: SelectOptionGroup;\r\n @Prop() index!: number;\r\n @Prop() isSelected: boolean | null = false;\r\n @Prop() isFocused: boolean = false;\r\n @Prop() optionStyle?: { [key: string]: string };\r\n @Prop() disabled: boolean = false;\r\n @Prop() useCheckbox: boolean = false;\r\n @Prop() useIndicator?: boolean = true;\r\n @Prop() countInfo?: { selectedCount: number; totalCount: number } = {\r\n selectedCount: 0,\r\n totalCount: 0,\r\n };\r\n\r\n @State() isHovered: boolean = false;\r\n\r\n @Method()\r\n async isDisabled(): Promise<boolean> {\r\n return !!this.option.disabled || this.option.type === 'group' || this.option.type === 'subgroup';\r\n }\r\n\r\n @Event() optionClick!: EventEmitter<{\r\n option: SelectOptionGroup;\r\n isSelected: boolean | null;\r\n index: number;\r\n event: MouseEvent;\r\n }>;\r\n\r\n private handleClick = (\r\n option: SelectOptionGroup,\r\n isSelected: boolean | null,\r\n event: MouseEvent,\r\n ) => {\r\n event.stopPropagation();\r\n\r\n if (option.type === 'group' || option.type === 'subgroup') {\r\n this.optionClick.emit({\r\n option: this.option,\r\n isSelected,\r\n index: this.index,\r\n event,\r\n });\r\n return;\r\n }\r\n\r\n if (!this.option.disabled && !this.disabled) {\r\n this.optionClick.emit({\r\n option: this.option,\r\n isSelected,\r\n index: this.index,\r\n event,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <div\r\n class={{\r\n 'sd-select__option-group': true,\r\n 'sd-select__option-group--selected': !!this.isSelected,\r\n 'sd-select__option-group--disabled': !!this.option.disabled,\r\n 'sd-select__option-group--focused': this.isFocused,\r\n 'sd-select__option-group--use-checkbox': this.useCheckbox,\r\n 'sd-select__option-group--group': this.option.type === 'group',\r\n 'sd-select__option-group--subgroup': this.option.type === 'subgroup',\r\n 'sd-select__option-group--item': this.option.type === 'item',\r\n }}\r\n onMouseEnter={() => (this.isHovered = true)}\r\n onMouseLeave={() => (this.isHovered = false)}\r\n style={this.optionStyle}\r\n data-index={this.index}\r\n onClick={event => this.handleClick(this.option, this.isSelected, event)}\r\n >\r\n <div class=\"sd-select__option-group__label-wrapper\">\r\n {this.useCheckbox && (\r\n <sd-checkbox\r\n checked={this.isSelected}\r\n disabled={this.option.disabled}\r\n onClick={e => {\r\n e.preventDefault();\r\n this.handleClick(this.option, this.isSelected, e);\r\n }}\r\n ></sd-checkbox>\r\n )}\r\n <span class=\"sd-select__option-group-label\">{this.option.label}</span>\r\n {this.useIndicator && this.option.type !== 'item' && (\r\n <span class=\"sd-select__option-group__count-indicator\">{`(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`}</span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-CkKxyn_K.js","mappings":";;;AAAA,MAAM,aAAa,GAAG,0+CAA0+C;;MCQn/C,UAAU,iBAAAA,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AAId,IAAA,OAAO;;AAGP,IAAA,GAAG;;IAGH,QAAQ,GAAY,KAAK;;IAGzB,KAAK,GAAW,EAAE;;IAGT,SAAS,GAAmB,KAAK;;AAGzC,IAAA,QAAQ;IAEjB,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;IAGtC,mBAAmB,GAAA;AAClB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;;AAItC,IAAA,iBAAiB,CAAC,QAAqB,EAAA;AACtC,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;;AAGlC,IAAA,IAAY,eAAe,GAAA;AAC1B,QAAA,MAAM,OAAO,GAAG;YACf,aAAa;YACb,CAAgB,aAAA,EAAA,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,eAAe,GAAG,WAAW,CAAE,CAAA;SACtG;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;;AAGtC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;;AAGjB,IAAA,kBAAkB,CAAC,KAAkB,EAAA;AAC5C,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;AACf,aAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AACtC,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;AAChB,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;aAC7D;AACN,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;IAIhB,YAAY,GAAG,MAAK;QAC3B,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,QAAqB;AAEzB,QAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AACtC,YAAA,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO;;aAClB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;AAC3B,gBAAA,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC;;YAG3F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC,YAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3E,YAAA,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;;aACzB;AACN,YAAA,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS;;AAG3B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,KAAC;IAED,MAAM,GAAA;QACL,QACC,CACe,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAA,eAAA,EAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACvC,IAAI,EAAC,UAAU,EAAA,YAAA,EACH,IAAI,CAAC,KAAK,IAAI,UAAU,EACpC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAA,EAE3B,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU,EAC7B,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAC1B,EAAA,IAAI,CAAC,SAAS,KAAK,KAAK,IACxB,CACC,CAAA,SAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,EACjD,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,OAAO,EACzC,CAAA,IACC,IAAI,CACH,EACL,IAAI,CAAC,KAAK,IAAI,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,oBAAoB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CAC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-checkbox/sd-checkbox.scss?tag=sd-checkbox","src/components/sd-checkbox/sd-checkbox.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-checkbox {\r\n display: inline-block;\r\n height: 20px;\r\n line-height: 0;\r\n\r\n .sd-checkbox {\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 8px;\r\n height: 20px;\r\n max-height: 20px;\r\n\r\n > input {\r\n display: none;\r\n }\r\n\r\n &:hover {\r\n &.sd-checkbox--checked,\r\n &.sd-checkbox--indeterminate {\r\n .sd-checkbox__bg {\r\n border-color: $brilliantblue_80;\r\n background: $brilliantblue_80;\r\n }\r\n }\r\n\r\n &.sd-checkbox--unchecked {\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_25;\r\n }\r\n }\r\n\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n border: 1px solid transparent;\r\n background: $grey_20;\r\n }\r\n }\r\n }\r\n\r\n &__bg {\r\n width: 16px;\r\n height: 16px;\r\n border-radius: 2px;\r\n border: 1px solid $grey_65;\r\n box-sizing: border-box;\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n line-height: 0;\r\n }\r\n\r\n &__label {\r\n font-size: 12px;\r\n color: $grey_90;\r\n line-height: 20px;\r\n }\r\n\r\n &--checked,\r\n &--indeterminate {\r\n &.sd-checkbox--disabled {\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n\r\n .sd-checkbox__bg {\r\n border: 1px solid $brilliantblue_75;\r\n background: $brilliantblue_75;\r\n }\r\n }\r\n\r\n &--unchecked {\r\n .sd-checkbox__bg {\r\n background: white;\r\n }\r\n }\r\n\r\n &--disabled {\r\n cursor: not-allowed;\r\n .sd-checkbox__bg {\r\n background: $grey_20;\r\n border: 1px solid $grey_45 !important;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Prop, h, Element, Event, EventEmitter, State, Watch } from '@stencil/core';\r\n\r\nexport type CheckedType = boolean | any[] | null;\r\n\r\n@Component({\r\n tag: 'sd-checkbox',\r\n styleUrl: 'sd-checkbox.scss',\r\n})\r\nexport class SdCheckbox {\r\n @Element() el!: HTMLElement;\r\n\r\n /** 현재 선택 상태 또는 배열 형태의 값 */\r\n @Prop() checked!: CheckedType;\r\n\r\n /** 배열 모드에서의 개별 값 */\r\n @Prop() val?: any;\r\n\r\n /** 비활성화 여부 */\r\n @Prop() disabled: boolean = false;\r\n\r\n /** 표시할 라벨 텍스트 */\r\n @Prop() label: string = '';\r\n\r\n /** 내부 체크 상태 */\r\n @State() private isChecked: boolean | null = false;\r\n\r\n /** 값 변경 이벤트 */\r\n @Event() sdChange!: EventEmitter<CheckedType>;\r\n\r\n componentWillLoad() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n componentWillRender() {\r\n this.updateCheckedState(this.checked);\r\n }\r\n\r\n @Watch('checked')\r\n watchValueHandler(newValue: CheckedType) {\r\n this.updateCheckedState(newValue);\r\n }\r\n\r\n private get checkboxClasses(): string {\r\n const classes = [\r\n 'sd-checkbox',\r\n `sd-checkbox--${this.isChecked ? 'checked' : this.isChecked === null ? 'indeterminate' : 'unchecked'}`,\r\n ];\r\n\r\n if (this.disabled) {\r\n classes.push('sd-checkbox--disabled');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n private updateCheckedState(value: CheckedType) {\r\n if (value === null) {\r\n this.isChecked = null;\r\n } else if (typeof value === 'boolean') {\r\n this.isChecked = value;\r\n } else if (Array.isArray(value)) {\r\n this.isChecked = this.val !== undefined && value.includes(this.val);\r\n } else {\r\n this.isChecked = false;\r\n }\r\n }\r\n\r\n private handleChange = () => {\r\n if (this.disabled) return;\r\n\r\n let newValue: CheckedType;\r\n\r\n if (typeof this.checked === 'boolean') {\r\n newValue = !this.checked;\r\n } else if (Array.isArray(this.checked)) {\r\n if (this.val === undefined) {\r\n console.warn('A \"val\" property is required when using an array for the \"value\" property.');\r\n }\r\n\r\n const valueSet = new Set(this.checked);\r\n valueSet.has(this.val) ? valueSet.delete(this.val) : valueSet.add(this.val);\r\n newValue = Array.from(valueSet);\r\n } else {\r\n newValue = !this.isChecked;\r\n }\r\n\r\n this.sdChange.emit(newValue);\r\n };\r\n\r\n render() {\r\n return (\r\n <label\r\n aria-checked={this.isChecked === null ? 'mixed' : this.isChecked.toString()}\r\n aria-disabled={this.disabled.toString()}\r\n role=\"checkbox\"\r\n aria-label={this.label || 'checkbox'}\r\n class={this.checkboxClasses}\r\n >\r\n <input\r\n type=\"checkbox\"\r\n value={this.val}\r\n checked={!!this.isChecked}\r\n disabled={this.disabled}\r\n onChange={this.handleChange}\r\n name={this.label || 'checkbox'}\r\n />\r\n <div class=\"sd-checkbox__bg\">\r\n {this.isChecked !== false ? (\r\n <sd-icon\r\n name={this.isChecked === true ? 'check' : 'minus'}\r\n size={12}\r\n color={this.disabled ? '#888888' : 'white'}\r\n />\r\n ) : null}\r\n </div>\r\n {this.label && <span class=\"sd-checkbox__label\">{this.label}</span>}\r\n </label>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1,34 +0,0 @@
1
- import { p as proxyCustomElement, H, h, c as Host } from './p-TFWJruz2.js';
2
-
3
- const sdThCss = "sd-th{display:table-cell;padding:12px;font-weight:bold;text-align:left;border-bottom:2px solid #ddd;background-color:#f1f1f1}";
4
-
5
- const SdTh = /*@__PURE__*/ proxyCustomElement(class SdTh extends H {
6
- constructor(registerHost) {
7
- super();
8
- if (registerHost !== false) {
9
- this.__registerHost();
10
- }
11
- }
12
- render() {
13
- return (h(Host, { key: 'a9adef2bdfd7dd0a52a55fffb40db6511db5747e', role: "columnheader" }, h("slot", { key: 'd4af30df5d6a4a9140a9d10e0f3948de088f8c18' })));
14
- }
15
- static get style() { return sdThCss; }
16
- }, [260, "sd-th"]);
17
- function defineCustomElement() {
18
- if (typeof customElements === "undefined") {
19
- return;
20
- }
21
- const components = ["sd-th"];
22
- components.forEach(tagName => { switch (tagName) {
23
- case "sd-th":
24
- if (!customElements.get(tagName)) {
25
- customElements.define(tagName, SdTh);
26
- }
27
- break;
28
- } });
29
- }
30
-
31
- export { SdTh as S, defineCustomElement as d };
32
- //# sourceMappingURL=p-D8f0ASS6.js.map
33
-
34
- //# sourceMappingURL=p-D8f0ASS6.js.map
@@ -1 +0,0 @@
1
- {"file":"p-D8f0ASS6.js","mappings":";;AAAA,MAAM,OAAO,GAAG,+HAA+H;;MCMlI,IAAI,iBAAAA,kBAAA,CAAA,MAAA,IAAA,SAAAC,CAAA,CAAA;;;;;;;IAChB,MAAM,GAAA;QACL,QACC,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,cAAc,EAAA,EACxB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACP;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-table/sd-th/sd-th.scss?tag=sd-th","src/components/sd-table/sd-th/sd-th.tsx"],"sourcesContent":["sd-th {\r\n display: table-cell;\r\n padding: 12px;\r\n font-weight: bold;\r\n text-align: left;\r\n border-bottom: 2px solid #ddd;\r\n background-color: #f1f1f1;\r\n}\r\n","import { Component, Host, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'sd-th',\r\n styleUrl: 'sd-th.scss',\r\n})\r\nexport class SdTh {\r\n render() {\r\n return (\r\n <Host role=\"columnheader\">\r\n <slot></slot>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DY6t0qQj.js","mappings":";;AAAA,MAAM,YAAY,GAAG,w4EAAw4E;;MCSh5E,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;;IACb,IAAI,GAA2B,IAAI;IACnC,QAAQ,GAAY,KAAK;IACzB,QAAQ,GAAY,KAAK;IACzB,WAAW,GAAY,KAAK;IAC5B,SAAS,GAAY,KAAK;IAC1B,OAAO,GAAY,KAAK;IACxB,OAAO,GAAY,KAAK;IACxB,IAAI,GAAS,EAAE;AAEd,IAAA,OAAO;AACP,IAAA,WAAW;IAEZ,eAAe,GAAA;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE;QAEnC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGtB,eAAe,GAAA;AACtB,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE;QAEnC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGlC,MAAM,GAAA;QACL,QACC,CAAC,CAAA,IAAI,EACJ,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,KAAK,EAAE;AACN,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,cAAc,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;gBACpE,uBAAuB,EAAE,IAAI,CAAC,QAAQ;gBACtC,uBAAuB,EAAE,IAAI,CAAC,QAAQ;gBACtC,oBAAoB,EAAE,IAAI,CAAC,OAAO;gBAClC,yBAAyB,EAAE,IAAI,CAAC,WAAW;gBAC3C,uBAAuB,EAAE,IAAI,CAAC,SAAS;gBACvC,uBAAuB,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAA,yBAAyB,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;AAChD,gBAAA,uBAAuB,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK;aAC5C,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,EACrC,WAAW,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,EAAA,EAEzC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAChC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAE,EAAA,IAAI,CAAC,IAAI,CAAO,CAC5C,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-date-box/sd-date-box.scss?tag=sd-date-box&encapsulation=scoped","src/components/sd-date-box/sd-date-box.tsx"],"sourcesContent":["@import 'variables';\r\n\r\n:host(.sd-date-box) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 38px;\r\n height: 36px;\r\n font-size: 14px;\r\n position: relative;\r\n box-sizing: border-box;\r\n text-align: center;\r\n transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);\r\n border-radius: 14px;\r\n\r\n .sd-date-box__content {\r\n width: 28px;\r\n height: 28px;\r\n border-radius: 14px;\r\n position: relative;\r\n .sd-date-box__label {\r\n position: relative;\r\n z-index: 2;\r\n user-select: none;\r\n line-height: 28px;\r\n }\r\n }\r\n\r\n &.sd-date-box--disabled {\r\n color: $grey_45;\r\n cursor: default !important;\r\n pointer-events: none;\r\n }\r\n\r\n &:not(.sd-date-box--disabled) {\r\n cursor: pointer;\r\n }\r\n\r\n &.sd-hoverable {\r\n &:hover {\r\n .sd-date-box__content {\r\n background: $brilliantblue_25;\r\n }\r\n }\r\n }\r\n\r\n &.sd-date-box--in-range {\r\n &:not(.sd-date-box--disabled) {\r\n .sd-date-box__content {\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: -5px;\r\n width: calc(100% + 10px);\r\n height: 100%;\r\n background: $brilliantblue_25;\r\n }\r\n }\r\n }\r\n\r\n &.sd-date-box--type-start {\r\n .sd-date-box__content {\r\n &::before {\r\n left: auto !important;\r\n width: 19px !important;\r\n right: -5px;\r\n }\r\n }\r\n }\r\n\r\n &.sd-date-box--type-end {\r\n .sd-date-box__content {\r\n &::before {\r\n width: 19px !important;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.sd-date-box--selected,\r\n &.sd-date-box--type-start,\r\n &.sd-date-box--type-end {\r\n .sd-date-box__content {\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: $brilliantblue_75;\r\n border-radius: 14px;\r\n z-index: 1;\r\n }\r\n\r\n .sd-date-box__label {\r\n color: white;\r\n font-weight: 700;\r\n }\r\n }\r\n }\r\n\r\n &.sd-date-box--today:not(.sd-date-box--selected) {\r\n .sd-date-box__content {\r\n &::after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 28px;\r\n height: 28px;\r\n border: 1px solid $grey_30 !important;\r\n border-radius: 14px;\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\r\n\r\nexport type Type = 'start' | 'end' | '';\r\n\r\n@Component({\r\n tag: 'sd-date-box',\r\n styleUrl: 'sd-date-box.scss',\r\n scoped: true,\r\n})\r\nexport class SdDateBox {\r\n @Prop() date: number | string | null = null;\r\n @Prop() disabled: boolean = false;\r\n @Prop() selected: boolean = false;\r\n @Prop() isStartDate: boolean = false;\r\n @Prop() isEndDate: boolean = false;\r\n @Prop() isToday: boolean = false;\r\n @Prop() inRange: boolean = false;\r\n @Prop() type: Type = '';\r\n\r\n @Event() sdClick?: EventEmitter<number | string | null>;\r\n @Event() sdMouseOver?: EventEmitter<number | string | null>;\r\n\r\n private handleClickDate() {\r\n if (this.disabled) return;\r\n if (typeof this.date === 'string') return;\r\n\r\n this.sdClick?.emit(this.date);\r\n }\r\n\r\n private handleHoverDate() {\r\n if (typeof this.date === 'string') return;\r\n\r\n this.sdMouseOver?.emit(this.date);\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n role=\"button\"\r\n aria-disabled={this.disabled ? 'true' : 'false'}\r\n tabindex={this.disabled ? -1 : 0}\r\n class={{\r\n 'sd-date-box': true,\r\n 'sd-hoverable': !this.disabled || !this.selected || this.type === '',\r\n 'sd-date-box--disabled': this.disabled,\r\n 'sd-date-box--selected': this.selected,\r\n 'sd-date-box--today': this.isToday,\r\n 'sd-date-box--start-date': this.isStartDate,\r\n 'sd-date-box--end-date': this.isEndDate,\r\n 'sd-date-box--in-range': this.inRange,\r\n 'sd-date-box--type-start': this.type === 'start',\r\n 'sd-date-box--type-end': this.type === 'end',\r\n }}\r\n onClick={() => this.handleClickDate()}\r\n onMouseOver={() => this.handleHoverDate()}\r\n >\r\n <div class=\"sd-date-box__content\">\r\n <div class=\"sd-date-box__label\">{this.date}</div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DiehM5Y0.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,usEAAusE;;ACM3tE,MAAM,UAAU,GAAoC;AACnD,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;CACN;MAMY,QAAQ,iBAAAA,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;;;;;;;;;IAGZ,OAAO,GAAmB,SAAS;IACnC,IAAI,GAAe,IAAI;IACvB,KAAK,GAAW,SAAS;IACzB,KAAK,GAAW,EAAE;IAClB,QAAQ,GAAY,KAAK;IACzB,IAAI,GAAkC,QAAQ;AAC9C,IAAA,IAAI;AACJ,IAAA,SAAS;AACT,IAAA,QAAQ;AACR,IAAA,SAAS;IACT,OAAO,GAAY,KAAK;IACxB,KAAK,GAAW,EAAE;AACjB,IAAA,OAAO;AAER,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAI;AAC3C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YACvB;;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,KAAC;IAEO,gBAAgB,GAAA;AACvB,QAAA,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC;QAE7B,OAAO,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAE,CAAA,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,CAAE,CAAA,CAAC;AAE9C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;;AAGpC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;AACjD,YAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;;AAGrC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;;AAGpC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;;IAGzB,MAAM,GAAA;AACL,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;;QAE7C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAE9C,QACC,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAA,EAC/C,CACC,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,CAAE,CAAA,EACvC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,EAEzB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC7B,IAAI,CAAC,IAAI,KACT,CACC,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uCAAuC,EAC7C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAK,CAAC,EAC5D,KAAK,EACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,MAAM,GAAG,aAAa,GAE5E,CACX,EAEA,IAAI,CAAC,KAAK,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAO,EAE9D,IAAI,CAAC,SAAS,KACd,gEACC,KAAK,EAAC,wCAAwC,EAC9C,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAK,CAAC,EAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,MAAM,GAAG,aAAa,EAAA,CAChD,CACX,CACI,CACE,CACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-button/sd-button.scss?tag=sd-button","src/components/sd-button/sd-button.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-button {\r\n display: inline-block;\r\n width: fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.sd-button {\r\n text-decoration: none;\r\n cursor: pointer;\r\n border-radius: 4px;\r\n transition: all 0.2s ease-in-out;\r\n position: relative;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n box-sizing: border-box;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n &--xs {\r\n padding: 0 8px;\r\n font-size: 12px;\r\n font-weight: 500;\r\n line-height: 20px;\r\n min-height: 24px;\r\n }\r\n &--sm {\r\n padding: 0 12px;\r\n font-size: 12px;\r\n font-weight: 500;\r\n line-height: 20px;\r\n min-height: 28px;\r\n }\r\n &--md {\r\n padding: 0 20px;\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 26px;\r\n min-height: 34px;\r\n }\r\n &--lg {\r\n padding: 0 28px;\r\n font-size: 18px;\r\n font-weight: 500;\r\n line-height: 30px;\r\n min-height: 62px;\r\n }\r\n &--primary {\r\n background-color: var(--button-color);\r\n color: white;\r\n transition: filter 0.2s ease;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: #000000;\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.25;\r\n }\r\n }\r\n\r\n &--outline {\r\n background: white;\r\n border: 1px solid var(--button-color);\r\n color: var(--button-color);\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: var(--button-color);\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.15;\r\n }\r\n\r\n .sd-button__content {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n &--ghost {\r\n background-color: transparent;\r\n color: var(--button-color);\r\n border-color: transparent;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n background: var(--button-color);\r\n opacity: 0;\r\n transition: opacity 0.2s ease;\r\n z-index: 0;\r\n }\r\n\r\n &:hover:not(.sd-button--disabled):not(.sd-button--loading)::before {\r\n opacity: 0.15;\r\n }\r\n\r\n .sd-button__content {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n }\r\n &--disabled {\r\n border: 1px solid $grey_45;\r\n background: $grey_30;\r\n color: $grey_65;\r\n cursor: not-allowed !important;\r\n }\r\n &--icon-only {\r\n padding: 0;\r\n width: fit-content;\r\n height: fit-content;\r\n aspect-ratio: 1 / 1;\r\n }\r\n &--no-hover {\r\n &:hover::before {\r\n opacity: 0 !important;\r\n }\r\n }\r\n\r\n .sd-button__content {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 4px;\r\n\r\n z-index: 1;\r\n font-weight: 500;\r\n }\r\n}\r\n\r\n// /* Focus styles */\r\n// .sd-button:focus-visible {\r\n// outline: 2px solid $primary;\r\n// outline-offset: 2px;\r\n// }\r\n\r\n// /* High contrast mode support */\r\n// @media (prefers-contrast: high) {\r\n// .sd-button {\r\n// border-width: 2px;\r\n// }\r\n// }\r\n","import { Component, Prop, h, Element, Event, EventEmitter, Host } from '@stencil/core';\r\nimport { resolveColor } from '../../utils/color';\r\n\r\nexport type ButtonVariant = 'primary' | 'outline' | 'ghost';\r\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\r\n\r\nconst ICON_SIZES: { [key in ButtonSize]: number } = {\r\n xs: 12,\r\n sm: 16,\r\n md: 20,\r\n lg: 24,\r\n};\r\n\r\n@Component({\r\n tag: 'sd-button',\r\n styleUrl: 'sd-button.scss',\r\n})\r\nexport class SdButton {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() variant?: ButtonVariant = 'primary';\r\n @Prop() size: ButtonSize = 'sm';\r\n @Prop() color: string = '#025497';\r\n @Prop() label: string = '';\r\n @Prop() disabled: boolean = false;\r\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\r\n @Prop() icon?: IconName;\r\n @Prop() iconColor?: string;\r\n @Prop() iconSize?: number;\r\n @Prop() iconRight?: IconName;\r\n @Prop() noHover: boolean = false;\r\n @Prop() class: string = '';\r\n @Event() sdClick!: EventEmitter<MouseEvent>;\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return;\r\n }\r\n this.sdClick.emit(event);\r\n };\r\n\r\n private getButtonClasses(): string {\r\n const classes = ['sd-button'];\r\n\r\n classes.push(`sd-button--${this.variant}`);\r\n classes.push(`sd-button--${this.size}`);\r\n classes.push(`sd-button--color-${this.color}`);\r\n\r\n if (this.disabled) {\r\n classes.push('sd-button--disabled');\r\n }\r\n\r\n if (!this.label && (this.icon || this.iconRight)) {\r\n classes.push('sd-button--icon-only');\r\n }\r\n\r\n if (this.noHover) {\r\n classes.push('sd-button--no-hover');\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n\r\n render() {\r\n const buttonClasses = this.getButtonClasses();\r\n // 유틸로 색상 키 -> HEX 매핑 (없으면 원본 그대로)\r\n const resolvedColor = resolveColor(this.color);\r\n\r\n return (\r\n <Host style={{ '--button-color': resolvedColor }}>\r\n <button\r\n class={`${buttonClasses} ${this.class}`}\r\n type={this.type}\r\n disabled={this.disabled}\r\n onClick={this.handleClick}\r\n >\r\n <div class=\"sd-button__content\">\r\n {this.icon && (\r\n <sd-icon\r\n class=\"sd-button__icon sd-button__icon--left\"\r\n name={this.icon}\r\n size={this.iconSize ? this.iconSize : ICON_SIZES[this.size!]}\r\n color={\r\n this.iconColor ? this.iconColor : this.variant === 'primary' ? '#fff' : resolvedColor\r\n }\r\n ></sd-icon>\r\n )}\r\n\r\n {this.label && <div class=\"sd-button__label\">{this.label}</div>}\r\n\r\n {this.iconRight && (\r\n <sd-icon\r\n class=\"sd-button__icon sd-button__icon--right\"\r\n name={this.iconRight}\r\n size={ICON_SIZES[this.size!]}\r\n color={this.variant === 'primary' ? '#fff' : resolvedColor}\r\n ></sd-icon>\r\n )}\r\n </div>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DyGUXuvD.js","mappings":";;;;AAAA,MAAM,iBAAiB,GAAG,g0BAAg0B;;MCiB70B,cAAc,iBAAAA,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAGlB,IAAA,MAAM;AACN,IAAA,KAAK;IACL,UAAU,GAAY,KAAK;IAC3B,SAAS,GAAY,KAAK;AAC1B,IAAA,WAAW;IACX,QAAQ,GAAY,KAAK;IACzB,WAAW,GAAY,KAAK;IAE3B,SAAS,GAAY,KAAK;AAGnC,IAAA,MAAM,UAAU,GAAA;AACf,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;;AAGrB,IAAA,WAAW;AAMZ,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAI;QAC3C,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK;AACL,aAAA,CAAC;;AAEJ,KAAC;IAED,MAAM,GAAA;QACL,QACC,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACJ,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACC,KAAK,EAAE;AACN,gBAAA,mBAAmB,EAAE,IAAI;gBACzB,6BAA6B,EAAE,IAAI,CAAC,UAAU;AAC9C,gBAAA,6BAA6B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACrD,4BAA4B,EAAE,IAAI,CAAC,SAAS;gBAC5C,iCAAiC,EAAE,IAAI,CAAC,WAAW;AACnD,aAAA,EACD,YAAY,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAC3C,YAAY,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAC5C,KAAK,EAAE,IAAI,CAAC,WAAW,EACX,YAAA,EAAA,IAAI,CAAC,KAAK,EACtB,OAAO,EAAE,IAAI,CAAC,WAAW,EAExB,EAAA,IAAI,CAAC,WAAW,IAChB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,qCAAqC,EAAA,EAC/C,CAAA,CAAA,aAAA,EAAA,EACC,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;;;;;;;;YAQ9B,OAAO,EAAE,CAAC,IAAG;gBACZ,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,aAAC,EACa,CAAA,EACf,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,yBAAyB,EAAE,EAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAQ,CAC3D,KAEN,IAAI,CAAC,MAAM,CAAC,KAAK,CACjB,CACI,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-select/sd-select-option/sd-select-option.scss?tag=sd-select-option","src/components/sd-select/sd-select-option/sd-select-option.tsx"],"sourcesContent":["@import 'variables';\r\n\r\nsd-select-option {\r\n display: block;\r\n height: fit-content;\r\n line-height: 0;\r\n .sd-select__option {\r\n display: flex;\r\n padding: 4px 12px;\r\n font-size: 12px;\r\n line-height: 20px;\r\n cursor: pointer;\r\n\r\n &__checkbox-wrapper {\r\n display: flex;\r\n width: 100%;\r\n column-gap: 8px;\r\n align-items: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n &--focused {\r\n background-color: $brilliantblue_20;\r\n }\r\n\r\n &--selected,\r\n &--focused {\r\n &:not(:hover):not(.sd-select__option--use-checkbox) {\r\n color: $brilliantblue_75;\r\n font-weight: 700;\r\n }\r\n }\r\n\r\n &--disabled {\r\n color: $grey_55;\r\n cursor: not-allowed;\r\n }\r\n\r\n &:hover {\r\n &:not(.sd-select__option--disabled) {\r\n background-color: $brilliantblue_75;\r\n color: white;\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n h,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from '@stencil/core';\r\nimport type { SelectOption } from '../../../types/select';\r\n\r\n@Component({\r\n tag: 'sd-select-option',\r\n styleUrl: 'sd-select-option.scss',\r\n})\r\nexport class SdSelectOption {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() option!: SelectOption;\r\n @Prop() index!: number;\r\n @Prop() isSelected: boolean = false;\r\n @Prop() isFocused: boolean = false;\r\n @Prop() optionStyle?: { [key: string]: string };\r\n @Prop() disabled: boolean = false;\r\n @Prop() useCheckbox: boolean = false;\r\n\r\n @State() isHovered: boolean = false;\r\n\r\n @Method()\r\n async isDisabled(): Promise<boolean> {\r\n return !!this.option.disabled;\r\n }\r\n\r\n @Event() optionClick!: EventEmitter<{\r\n option: SelectOption;\r\n index: number;\r\n event: MouseEvent;\r\n }>;\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (!this.option.disabled && !this.disabled) {\r\n this.optionClick.emit({\r\n option: this.option,\r\n index: this.index,\r\n event,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div\r\n class={{\r\n 'sd-select__option': true,\r\n 'sd-select__option--selected': this.isSelected,\r\n 'sd-select__option--disabled': !!this.option.disabled,\r\n 'sd-select__option--focused': this.isFocused,\r\n 'sd-select__option--use-checkbox': this.useCheckbox,\r\n }}\r\n onMouseEnter={() => (this.isHovered = true)}\r\n onMouseLeave={() => (this.isHovered = false)}\r\n style={this.optionStyle}\r\n data-index={this.index}\r\n onClick={this.handleClick}\r\n >\r\n {this.useCheckbox ? (\r\n <div class=\"sd-select__option__checkbox-wrapper\">\r\n <sd-checkbox\r\n checked={this.isSelected}\r\n disabled={this.option.disabled}\r\n // checkboxStyle={\r\n // !this.isSelected\r\n // ? { borderColor: '#888' }\r\n // : this.isHovered\r\n // ? { borderColor: 'white' }\r\n // : { borderColor: '#0075ff' }\r\n // }\r\n onClick={e => {\r\n e.preventDefault();\r\n this.handleClick(e);\r\n }}\r\n ></sd-checkbox>\r\n <span class=\"sd-select__option-label\">{this.option.label}</span>\r\n </div>\r\n ) : (\r\n this.option.label\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-S7M--xNH.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sd-tooltip/sd-tooltip.scss?tag=sd-tooltip","src/components/sd-tooltip/sd-tooltip.tsx"],"sourcesContent":["sd-tooltip {\r\n [slot='content'] {\r\n display: none;\r\n }\r\n\r\n .sd-tooltip {\r\n position: relative;\r\n cursor: pointer;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}\r\n\r\n.sd-tooltip-menu {\r\n width: fit-content;\r\n padding: 8px 16px;\r\n border-radius: 4px;\r\n font-size: 12px;\r\n position: relative;\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: start;\r\n justify-content: center;\r\n gap: 12px;\r\n\r\n &--with-close {\r\n padding-right: 12px !important;\r\n }\r\n\r\n &__arrow {\r\n position: absolute;\r\n display: flex;\r\n width: 9.6px;\r\n height: 7.2px;\r\n svg {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n &--top {\r\n bottom: -7.2px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n }\r\n &--bottom {\r\n top: -7.2px;\r\n left: 50%;\r\n transform: translateX(-50%) rotate(180deg);\r\n }\r\n &--left {\r\n right: -7.2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(-90deg);\r\n }\r\n &--right {\r\n left: -7.2px;\r\n top: 50%;\r\n transform: translateY(-50%) rotate(90deg);\r\n }\r\n }\r\n\r\n &__content {\r\n line-height: 20px;\r\n font-weight: 500;\r\n\r\n p {\r\n margin: 0;\r\n }\r\n }\r\n\r\n &__close-button {\r\n padding-top: 4px;\r\n display: flex;\r\n button {\r\n padding: 0;\r\n background: none;\r\n border: none;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n","import { Component, Element, Fragment, Prop, State, h } from '@stencil/core';\r\nimport { HTMLStencilElement } from '@stencil/core/internal';\r\nimport { ButtonSize, ButtonVariant } from '../sd-button/sd-button';\r\nimport { TooltipArrow } from '../assets/tooltipArrow';\r\n\r\n@Component({\r\n tag: 'sd-tooltip',\r\n styleUrl: 'sd-tooltip.scss',\r\n})\r\nexport class SdTooltip {\r\n @Element() el!: HTMLElement;\r\n\r\n @Prop() trigger: 'hover' | 'click' = 'hover';\r\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Prop() color: string = '#01BB4B';\r\n @Prop() type: 'default' | 'caution' | 'notice' | 'accent' = 'default';\r\n\r\n @Prop() icon: IconName = 'helpOutline';\r\n @Prop() iconSize: number = 12;\r\n\r\n @Prop() label: string = '';\r\n @Prop() buttonSize: ButtonSize = 'sm';\r\n @Prop() buttonVariant: ButtonVariant = 'primary';\r\n\r\n @Prop() noHover: boolean = true;\r\n\r\n @Prop() useClose: boolean = false;\r\n\r\n @State() showTooltip: boolean = false;\r\n @State() slotContent: HTMLElement | null = null;\r\n\r\n private static readonly COLOR_OF_TYPE = {\r\n default: { background: 'oceanblue_85', text: 'white' },\r\n caution: { background: 'red_20', text: 'red_70' },\r\n notice: { background: 'orange_10', text: 'orange_65' },\r\n accent: { background: 'brilliantblue_20', text: 'brilliantblue_75' },\r\n };\r\n\r\n private buttonEl?: HTMLStencilElement;\r\n\r\n private handleClose = () => {\r\n this.showTooltip = false;\r\n };\r\n\r\n // 현재 tooltip popover가 조건부 렌더링이여서 초기 slot이 렌더링 되지 않은 시점에\r\n // 데이터 매핑에 실패 (light dom에 저장된 slot내용을 shadow dom을 찾지못해 매핑 실패)\r\n // 따라서 slot내용을 받은 후에 복제하여 state에 저장\r\n componentWillLoad() {\r\n const contentEl = this.el.querySelector('[slot=\"content\"]');\r\n if (contentEl) {\r\n this.slotContent = contentEl.cloneNode(true) as HTMLElement;\r\n }\r\n }\r\n\r\n render() {\r\n const handleTrigger =\r\n this.trigger === 'hover'\r\n ? {\r\n onMouseEnter: () => (this.showTooltip = true),\r\n onMouseLeave: () => (this.showTooltip = false),\r\n }\r\n : {\r\n onClick: () => (this.showTooltip = !this.showTooltip),\r\n };\r\n\r\n return (\r\n <Fragment>\r\n {this.label ? (\r\n <sd-button\r\n ref={el => (this.buttonEl = el)}\r\n label={this.label}\r\n icon={this.icon}\r\n size={this.buttonSize}\r\n color={this.color}\r\n variant={this.buttonVariant}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-button>\r\n ) : (\r\n <sd-icon\r\n ref={el => (this.buttonEl = el)}\r\n name={this.icon}\r\n size={this.iconSize}\r\n color={this.color}\r\n class=\"sd-tooltip\"\r\n {...handleTrigger}\r\n ></sd-icon>\r\n )}\r\n\r\n {this.showTooltip && (\r\n <sd-tooltip-portal\r\n parentRef={this.buttonEl}\r\n onSdClose={() => this.handleClose()}\r\n placement={this.placement}\r\n >\r\n <div\r\n class={{\r\n 'sd-tooltip-menu': true,\r\n [`sd-tooltip-menu--${this.type}`]: true,\r\n [`sd-tooltip-menu--${this.placement}`]: true,\r\n 'sd-tooltip-menu--with-close': this.useClose,\r\n [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,\r\n }}\r\n >\r\n <i class={`sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}`}>\r\n <TooltipArrow\r\n class={{\r\n [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,\r\n }}\r\n ></TooltipArrow>\r\n </i>\r\n\r\n <div\r\n class=\"sd-tooltip-menu__content\"\r\n ref={el => {\r\n if (el && this.slotContent && !el.hasChildNodes()) {\r\n el.appendChild(this.slotContent.cloneNode(true));\r\n }\r\n }}\r\n >\r\n {!this.slotContent && <span>{this.el.textContent}</span>}\r\n </div>\r\n\r\n {this.useClose && (\r\n <div class=\"sd-tooltip-menu__close-button\">\r\n <button\r\n type=\"button\"\r\n aria-label=\"Close tooltip\"\r\n title=\"Close tooltip\"\r\n onClick={() => this.handleClose()}\r\n >\r\n <sd-icon name=\"close\" size=\"12\" color=\"#AAAAAA\"></sd-icon>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n </sd-tooltip-portal>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n}\r\n"],"version":3}