@sellmate/design-system 0.0.43 → 0.0.44

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 (239) hide show
  1. package/dist/{esm/resolveColor-BYf-ybt2.js → cjs/color-Oz29vj7L.js} +6 -14
  2. package/dist/cjs/color-Oz29vj7L.js.map +1 -0
  3. package/dist/cjs/design-system.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/resolveColor-CauSLF0s.js +18 -0
  6. package/dist/{esm/resolveColor-BYf-ybt2.js.map → cjs/resolveColor-CauSLF0s.js.map} +1 -1
  7. package/dist/cjs/sd-badge.cjs.entry.js +3 -2
  8. package/dist/cjs/sd-badge.entry.cjs.js.map +1 -1
  9. package/dist/cjs/sd-button.sd-checkbox.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table-backup.sd-tooltip.sd-tooltip-portal.entry.cjs.js.map +1 -0
  10. package/dist/cjs/{sd-button_15.cjs.entry.js → sd-button_12.cjs.entry.js} +184 -175
  11. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-date-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/sd-date-range-picker.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-guide.cjs.entry.js +85 -0
  15. package/dist/cjs/sd-guide.entry.cjs.js.map +1 -0
  16. package/dist/cjs/sd-modal-card.cjs.entry.js +56 -0
  17. package/dist/cjs/sd-modal-card.entry.cjs.js.map +1 -0
  18. package/dist/cjs/sd-popover.cjs.entry.js +2 -3
  19. package/dist/cjs/sd-popover.entry.cjs.js.map +1 -1
  20. package/dist/cjs/sd-progress.cjs.entry.js +2 -2
  21. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-select-multiple.cjs.entry.js +2 -2
  23. package/dist/cjs/sd-select-option-group.cjs.entry.js +3 -3
  24. package/dist/cjs/sd-table.cjs.entry.js +242 -0
  25. package/dist/cjs/sd-table.entry.cjs.js.map +1 -0
  26. package/dist/cjs/sd-tag.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-tbody.sd-th.sd-tr.entry.cjs.js.map +1 -0
  28. package/dist/cjs/sd-tbody_3.cjs.entry.js +44 -0
  29. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  30. package/dist/collection/collection-manifest.json +1 -0
  31. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  32. package/dist/collection/components/sd-button/sd-button.css +6 -0
  33. package/dist/collection/components/sd-card/sd-card.js +1 -1
  34. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  35. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  36. package/dist/collection/components/sd-guide/sd-guide.css +6 -0
  37. package/dist/collection/components/sd-guide/sd-guide.js +25 -4
  38. package/dist/collection/components/sd-guide/sd-guide.js.map +1 -1
  39. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  40. package/dist/collection/components/sd-input/sd-input.js +2 -2
  41. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  42. package/dist/collection/components/sd-modal-card/sd-modal-card.css +50 -0
  43. package/dist/collection/components/sd-modal-card/sd-modal-card.js +387 -0
  44. package/dist/collection/components/sd-modal-card/sd-modal-card.js.map +1 -0
  45. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -17
  46. package/dist/collection/components/sd-pagination/sd-pagination.js.map +1 -1
  47. package/dist/collection/components/sd-popover/sd-popover.js +2 -3
  48. package/dist/collection/components/sd-popover/sd-popover.js.map +1 -1
  49. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  50. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  51. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  52. package/dist/collection/components/sd-select/sd-select.js +2 -2
  53. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +2 -2
  54. package/dist/collection/components/sd-select-multiple-group/sd-select-multiple-group.js +2 -2
  55. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  56. package/dist/collection/components/sd-table/sd-table.js +3 -3
  57. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +1 -1
  58. package/dist/collection/components/sd-table/sd-td/sd-td.js +2 -2
  59. package/dist/collection/components/sd-table/sd-th/sd-th.js +1 -1
  60. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +1 -1
  61. package/dist/collection/components/sd-table-backup/sd-table-backup.css +14 -0
  62. package/dist/collection/components/sd-table-backup/sd-table-backup.js +176 -27
  63. package/dist/collection/components/sd-table-backup/sd-table-backup.js.map +1 -1
  64. package/dist/collection/components/sd-tag/sd-tag.js +1 -1
  65. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  66. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  67. package/dist/components/{p-DdLgl05o.js → p-B6GiEilD.js} +3 -3
  68. package/dist/components/{p-DdLgl05o.js.map → p-B6GiEilD.js.map} +1 -1
  69. package/dist/components/{p-zBDALS_T.js → p-BBhUxTuK.js} +9 -9
  70. package/dist/components/{p-zBDALS_T.js.map → p-BBhUxTuK.js.map} +1 -1
  71. package/dist/components/{p-vpG6iign.js → p-BlDZogGu.js} +3 -3
  72. package/dist/components/{p-vpG6iign.js.map → p-BlDZogGu.js.map} +1 -1
  73. package/dist/components/{p-CJYeJzO3.js → p-Bn_wuPsh.js} +7 -7
  74. package/dist/components/{p-CJYeJzO3.js.map → p-Bn_wuPsh.js.map} +1 -1
  75. package/dist/components/{p-DEpODYm6.js → p-C9qV_qzP.js} +5 -18
  76. package/dist/components/p-C9qV_qzP.js.map +1 -0
  77. package/dist/components/{p-DURogU3W.js → p-CIkSynaQ.js} +3 -3
  78. package/dist/components/{p-DURogU3W.js.map → p-CIkSynaQ.js.map} +1 -1
  79. package/dist/components/{p-CXuU0Q0J.js → p-CMcI4ZlP.js} +4 -4
  80. package/dist/components/p-CMcI4ZlP.js.map +1 -0
  81. package/dist/components/{p-4n8y_ubX.js → p-Cb33bhDR.js} +3 -3
  82. package/dist/components/{p-4n8y_ubX.js.map → p-Cb33bhDR.js.map} +1 -1
  83. package/dist/components/{p-B9diVGL_.js → p-D2rvzY8X.js} +3 -3
  84. package/dist/components/{p-B9diVGL_.js.map → p-D2rvzY8X.js.map} +1 -1
  85. package/dist/components/{p-DkdbagIN.js → p-DCDoqfn8.js} +3 -3
  86. package/dist/components/{p-DkdbagIN.js.map → p-DCDoqfn8.js.map} +1 -1
  87. package/dist/components/{p-C5VIAyqc.js → p-DWfls6IE.js} +9 -9
  88. package/dist/components/{p-C5VIAyqc.js.map → p-DWfls6IE.js.map} +1 -1
  89. package/dist/components/{p-D1PUeI-N.js → p-DsXAGqf9.js} +3 -3
  90. package/dist/components/{p-D1PUeI-N.js.map → p-DsXAGqf9.js.map} +1 -1
  91. package/dist/components/{p-CrKCm3ZD.js → p-WhZES_rm.js} +5 -5
  92. package/dist/components/{p-CrKCm3ZD.js.map → p-WhZES_rm.js.map} +1 -1
  93. package/dist/components/{p-CgMn3XX-.js → p-lS2AF6uZ.js} +5 -5
  94. package/dist/components/{p-CgMn3XX-.js.map → p-lS2AF6uZ.js.map} +1 -1
  95. package/dist/components/{p-CgvMD0f4.js → p-t7JZlmXM.js} +3 -3
  96. package/dist/components/{p-CgvMD0f4.js.map → p-t7JZlmXM.js.map} +1 -1
  97. package/dist/components/sd-badge.js +1 -1
  98. package/dist/components/sd-button.js +1 -1
  99. package/dist/components/sd-card.js +1 -1
  100. package/dist/components/sd-checkbox.js +1 -1
  101. package/dist/components/sd-date-picker.js +4 -4
  102. package/dist/components/sd-date-range-picker.js +5 -5
  103. package/dist/components/sd-guide.js +10 -8
  104. package/dist/components/sd-guide.js.map +1 -1
  105. package/dist/components/sd-icon.js +1 -1
  106. package/dist/components/sd-input.js +1 -1
  107. package/dist/components/sd-loading-spinner.js +1 -1
  108. package/dist/components/sd-modal-card.d.ts +11 -0
  109. package/dist/components/sd-modal-card.js +95 -0
  110. package/dist/components/sd-modal-card.js.map +1 -0
  111. package/dist/components/sd-pagination.js +1 -1
  112. package/dist/components/sd-popover.js +5 -6
  113. package/dist/components/sd-popover.js.map +1 -1
  114. package/dist/components/sd-portal.js +1 -1
  115. package/dist/components/sd-progress.js +2 -2
  116. package/dist/components/sd-select-multiple-group.js +7 -7
  117. package/dist/components/sd-select-multiple.js +7 -7
  118. package/dist/components/sd-select-option-group.js +1 -1
  119. package/dist/components/sd-select-option.js +1 -1
  120. package/dist/components/sd-select.js +1 -1
  121. package/dist/components/sd-table-backup.js +131 -39
  122. package/dist/components/sd-table-backup.js.map +1 -1
  123. package/dist/components/sd-table.js +16 -16
  124. package/dist/components/sd-tag.js +1 -1
  125. package/dist/components/sd-tbody.js +1 -1
  126. package/dist/components/sd-td.js +2 -2
  127. package/dist/components/sd-th.js +1 -1
  128. package/dist/components/sd-tooltip-portal.js +1 -1
  129. package/dist/components/sd-tooltip.js +1 -1
  130. package/dist/components/sd-tr.js +1 -1
  131. package/dist/design-system/design-system.esm.js +1 -1
  132. package/dist/design-system/p-059ca6cb.entry.js +2 -0
  133. package/dist/design-system/p-0d776157.entry.js +2 -0
  134. package/dist/design-system/p-0d776157.entry.js.map +1 -0
  135. package/dist/design-system/{p-da63329a.entry.js → p-3574f319.entry.js} +2 -2
  136. package/dist/design-system/{p-90e25920.entry.js → p-390283f7.entry.js} +2 -2
  137. package/dist/design-system/p-4386db36.entry.js +2 -0
  138. package/dist/design-system/p-4386db36.entry.js.map +1 -0
  139. package/dist/design-system/p-6320b9c6.entry.js +2 -0
  140. package/dist/design-system/{p-8b64e66b.entry.js.map → p-6320b9c6.entry.js.map} +1 -1
  141. package/dist/design-system/p-7b4fe5bf.entry.js +2 -0
  142. package/dist/design-system/p-7e8db11c.entry.js +2 -0
  143. package/dist/design-system/p-7e8db11c.entry.js.map +1 -0
  144. package/dist/design-system/p-826c6517.entry.js +2 -0
  145. package/dist/design-system/p-826c6517.entry.js.map +1 -0
  146. package/dist/design-system/{p-e76b69e2.entry.js → p-8734ded6.entry.js} +2 -2
  147. package/dist/design-system/p-BoLmB6pG.js +2 -0
  148. package/dist/design-system/{p-BYf-ybt2.js.map → p-BoLmB6pG.js.map} +1 -1
  149. package/dist/design-system/{p-BYf-ybt2.js → p-CgyTlXBV.js} +2 -2
  150. package/dist/design-system/p-CgyTlXBV.js.map +1 -0
  151. package/dist/design-system/{p-e1eb49de.entry.js → p-ce8fe1fd.entry.js} +2 -2
  152. package/dist/design-system/{p-c70b5ef1.entry.js → p-d4b5575e.entry.js} +2 -2
  153. package/dist/design-system/p-d4e043c5.entry.js +2 -0
  154. package/dist/design-system/p-d4e043c5.entry.js.map +1 -0
  155. package/dist/design-system/{p-2d43c3ce.entry.js → p-db0f705b.entry.js} +2 -2
  156. package/dist/design-system/p-de32d163.entry.js +2 -0
  157. package/dist/design-system/p-de32d163.entry.js.map +1 -0
  158. package/dist/design-system/p-f9d01bdb.entry.js +2 -0
  159. package/dist/design-system/p-f9d01bdb.entry.js.map +1 -0
  160. package/dist/design-system/sd-badge.entry.esm.js.map +1 -1
  161. package/dist/design-system/sd-button.sd-checkbox.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table-backup.sd-tooltip.sd-tooltip-portal.entry.esm.js.map +1 -0
  162. package/dist/design-system/sd-guide.entry.esm.js.map +1 -0
  163. package/dist/design-system/sd-modal-card.entry.esm.js.map +1 -0
  164. package/dist/design-system/sd-popover.entry.esm.js.map +1 -1
  165. package/dist/design-system/sd-table.entry.esm.js.map +1 -0
  166. package/dist/design-system/sd-tbody.sd-th.sd-tr.entry.esm.js.map +1 -0
  167. package/dist/{cjs/resolveColor-DxvExwgo.js → esm/color-CgyTlXBV.js} +4 -17
  168. package/dist/esm/color-CgyTlXBV.js.map +1 -0
  169. package/dist/esm/design-system.js +1 -1
  170. package/dist/esm/loader.js +1 -1
  171. package/dist/esm/resolveColor-CswQ9y2Q.js +16 -0
  172. package/dist/{cjs/resolveColor-DxvExwgo.js.map → esm/resolveColor-CswQ9y2Q.js.map} +1 -1
  173. package/dist/esm/sd-badge.entry.js +3 -2
  174. package/dist/esm/sd-badge.entry.js.map +1 -1
  175. package/dist/esm/sd-button.sd-checkbox.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table-backup.sd-tooltip.sd-tooltip-portal.entry.js.map +1 -0
  176. package/dist/esm/{sd-button_15.entry.js → sd-button_12.entry.js} +183 -171
  177. package/dist/esm/sd-card.entry.js +1 -1
  178. package/dist/esm/sd-date-picker.entry.js +1 -1
  179. package/dist/esm/sd-date-range-picker.entry.js +2 -2
  180. package/dist/esm/sd-guide.entry.js +83 -0
  181. package/dist/esm/sd-guide.entry.js.map +1 -0
  182. package/dist/esm/sd-modal-card.entry.js +54 -0
  183. package/dist/esm/sd-modal-card.entry.js.map +1 -0
  184. package/dist/esm/sd-popover.entry.js +2 -3
  185. package/dist/esm/sd-popover.entry.js.map +1 -1
  186. package/dist/esm/sd-progress.entry.js +2 -2
  187. package/dist/esm/sd-select-multiple-group.entry.js +2 -2
  188. package/dist/esm/sd-select-multiple.entry.js +2 -2
  189. package/dist/esm/sd-select-option-group.entry.js +3 -3
  190. package/dist/esm/sd-table.entry.js +240 -0
  191. package/dist/esm/sd-table.entry.js.map +1 -0
  192. package/dist/esm/sd-tag.entry.js +1 -1
  193. package/dist/esm/sd-tbody.sd-th.sd-tr.entry.js.map +1 -0
  194. package/dist/esm/sd-tbody_3.entry.js +40 -0
  195. package/dist/esm/sd-td.entry.js +2 -2
  196. package/dist/types/components/sd-guide/sd-guide.d.ts +1 -0
  197. package/dist/types/components/sd-modal-card/sd-modal-card.d.ts +25 -0
  198. package/dist/types/components/sd-pagination/sd-pagination.d.ts +0 -1
  199. package/dist/types/components/sd-table-backup/sd-table-backup.d.ts +15 -0
  200. package/dist/types/components.d.ts +129 -0
  201. package/hydrate/index.js +234 -85
  202. package/hydrate/index.mjs +234 -85
  203. package/package.json +2 -2
  204. package/dist/cjs/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tbody.sd-th.sd-tooltip.sd-tooltip-portal.sd-tr.entry.cjs.js.map +0 -1
  205. package/dist/cjs/sd-loading-spinner.cjs.entry.js +0 -18
  206. package/dist/cjs/sd-loading-spinner.entry.cjs.js.map +0 -1
  207. package/dist/cjs/sd-table-backup.cjs.entry.js +0 -278
  208. package/dist/cjs/sd-table-backup.entry.cjs.js.map +0 -1
  209. package/dist/components/p-CXuU0Q0J.js.map +0 -1
  210. package/dist/components/p-DEpODYm6.js.map +0 -1
  211. package/dist/design-system/p-34d84584.entry.js +0 -2
  212. package/dist/design-system/p-34d84584.entry.js.map +0 -1
  213. package/dist/design-system/p-5eb63212.entry.js +0 -2
  214. package/dist/design-system/p-66a3fe4d.entry.js +0 -2
  215. package/dist/design-system/p-66a3fe4d.entry.js.map +0 -1
  216. package/dist/design-system/p-7dbd4fe6.entry.js +0 -2
  217. package/dist/design-system/p-874ce442.entry.js +0 -2
  218. package/dist/design-system/p-874ce442.entry.js.map +0 -1
  219. package/dist/design-system/p-8b64e66b.entry.js +0 -2
  220. package/dist/design-system/p-9e5946b6.entry.js +0 -2
  221. package/dist/design-system/p-9e5946b6.entry.js.map +0 -1
  222. package/dist/design-system/p-e572253b.entry.js +0 -2
  223. package/dist/design-system/p-e572253b.entry.js.map +0 -1
  224. package/dist/design-system/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tbody.sd-th.sd-tooltip.sd-tooltip-portal.sd-tr.entry.esm.js.map +0 -1
  225. package/dist/design-system/sd-loading-spinner.entry.esm.js.map +0 -1
  226. package/dist/design-system/sd-table-backup.entry.esm.js.map +0 -1
  227. package/dist/esm/sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tbody.sd-th.sd-tooltip.sd-tooltip-portal.sd-tr.entry.js.map +0 -1
  228. package/dist/esm/sd-loading-spinner.entry.js +0 -16
  229. package/dist/esm/sd-loading-spinner.entry.js.map +0 -1
  230. package/dist/esm/sd-table-backup.entry.js +0 -276
  231. package/dist/esm/sd-table-backup.entry.js.map +0 -1
  232. /package/dist/design-system/{p-5eb63212.entry.js.map → p-059ca6cb.entry.js.map} +0 -0
  233. /package/dist/design-system/{p-da63329a.entry.js.map → p-3574f319.entry.js.map} +0 -0
  234. /package/dist/design-system/{p-90e25920.entry.js.map → p-390283f7.entry.js.map} +0 -0
  235. /package/dist/design-system/{p-7dbd4fe6.entry.js.map → p-7b4fe5bf.entry.js.map} +0 -0
  236. /package/dist/design-system/{p-e76b69e2.entry.js.map → p-8734ded6.entry.js.map} +0 -0
  237. /package/dist/design-system/{p-e1eb49de.entry.js.map → p-ce8fe1fd.entry.js.map} +0 -0
  238. /package/dist/design-system/{p-c70b5ef1.entry.js.map → p-d4b5575e.entry.js.map} +0 -0
  239. /package/dist/design-system/{p-2d43c3ce.entry.js.map → p-db0f705b.entry.js.map} +0 -0
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-DXo1Fhkn.js');
4
- var resolveColor = require('./resolveColor-DxvExwgo.js');
4
+ var resolveColor = require('./resolveColor-CauSLF0s.js');
5
5
  var selectKeyboardNavigation = require('./select-keyboard-navigation-6fO_V4En.js');
6
6
  var tooltipArrow = require('./tooltipArrow-DNiGFQNW.js');
7
+ require('./color-Oz29vj7L.js');
7
8
 
8
- const sdButtonCss = ".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}.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}";
9
+ const sdButtonCss = "sd-button{display:inline-block;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}.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}";
9
10
 
10
11
  const ICON_SIZES = {
11
12
  xs: 12,
@@ -147,83 +148,6 @@ const SdCheckbox = class {
147
148
  };
148
149
  SdCheckbox.style = sdCheckboxCss;
149
150
 
150
- const sdGuideCss = "@charset \"UTF-8\";.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}.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-block;height:fit-content}sd-guide .sd-guide{display:inline-block}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 #12b553}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}";
151
-
152
- const GUIDE_LABEL = {
153
- help: '활용 TIP',
154
- pdf: 'PDF Guide',
155
- youtube: 'Video Guide',
156
- notion: '사용 가이드',
157
- event: 'Event Button',
158
- };
159
- const GUIDE_ICON = {
160
- help: {
161
- name: 'helpOutline',
162
- size: 20,
163
- color: resolveColor.colors.green_70,
164
- },
165
- pdf: { name: 'pdf', size: 20, color: resolveColor.colors.red_75 },
166
- youtube: { name: 'youtube', size: 20, color: resolveColor.colors.red_75 },
167
- notion: { name: 'notion', size: 16, color: resolveColor.colors.black },
168
- event: { name: 'event', size: 16, color: resolveColor.colors.brilliantblue_70 },
169
- };
170
- const SdGuide = class {
171
- constructor(hostRef) {
172
- index.registerInstance(this, hostRef);
173
- }
174
- get el() { return index.getElement(this); }
175
- type = 'help';
176
- label = '';
177
- message = '';
178
- guideUrl = '';
179
- popupWidth;
180
- popupShow = false;
181
- guideRef;
182
- handleClickGuide = () => {
183
- if (this.type === 'help') {
184
- this.popupShow = !this.popupShow;
185
- return;
186
- }
187
- if (this.guideUrl) {
188
- window.open(this.guideUrl, '_blank');
189
- }
190
- };
191
- get guideClass() {
192
- const classes = ['sd-guide', `sd-guide--${this.type}`];
193
- if (this.popupShow)
194
- classes.push('sd-guide--active');
195
- return classes.join(' ');
196
- }
197
- closeDropdown = () => {
198
- this.popupShow = false;
199
- };
200
- render() {
201
- const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];
202
- return (index.h(index.Host, { key: '151e2b8148ed0dc26f97fd81902be88edc10933a', style: {
203
- '--sd-guide-color': GUIDE_ICON[this.type].color,
204
- } }, index.h("sd-button", { key: '05d6fdf5721d1ef5be5646227b6db112560f944e', ref: el => (this.guideRef = el), class: this.guideClass, variant: this.popupShow ? 'primary' : 'outline', label: GUIDE_LABEL[this.type], size: "sm", color: this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45', icon: iconName, iconColor: this.popupShow ? 'white' : iconColor, iconSize: iconSize, noHover: this.popupShow, onSdClick: this.handleClickGuide }), this.type === 'help' && this.popupShow && (index.h("sd-portal", { key: '63b86edca7f72a5a74477140d01be873bc2a6fbc', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, index.h("div", { key: '8a5cae088afd50f005a10eebcf66ae57f3661710', class: "sd-guide__popup", style: { width: this.popupWidth ? this.popupWidth + 'px' : '426px' } }, index.h("sd-button", { key: '2734f07d8b9fcbbeaa2942c9219461f5888e38b0', class: "sd-guide__popup__close", icon: "close", color: resolveColor.colors.grey_65, size: "md", variant: "ghost", noHover: true,
205
- // buttonStyle={{ padding: '0px', minHeight: '0px' }}
206
- onSdClick: this.closeDropdown }), index.h("div", { key: '5b602905d247032b7bb09c1635de094505295178', class: "sd-guide__popup__header" }, index.h("sd-icon", { key: '9156d751748598fbe657626899d5e6730a0c0ba2', name: "helpOutline", size: 24, color: resolveColor.colors.green_65 }), index.h("h3", { key: '881b74e449725b1953b6a81c4c042748ae609319', class: "sd-guide__popup__title" }, this.label || GUIDE_LABEL[this.type])), index.h("ul", { key: '51a13a02e2c1beefcfc11a1cdc602f433572e157', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
207
- }
208
- // 현재 2depth까지만 스타일 적용
209
- renderListItem(message, depth = 0) {
210
- const listItems = [];
211
- if (Array.isArray(message)) {
212
- const depthMsg = message.map(msg => this.renderListItem(msg, depth + 1));
213
- listItems.push(...depthMsg.flat());
214
- }
215
- else {
216
- listItems.push(this.renderLi(message, depth));
217
- }
218
- return listItems;
219
- }
220
- renderLi = (message, depth) => {
221
- const listContent = message.replace(/ /gi, ' ');
222
- return (index.h("li", { class: `sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}` }, index.h("p", { innerHTML: listContent })));
223
- };
224
- };
225
- SdGuide.style = sdGuideCss;
226
-
227
151
  const Add8 = (props) => (index.h("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, index.h("path", { d: "M3.99969 0.633484C4.16537 0.633484 4.29948 0.767622 4.2995 0.933289V3.69989H7.06708C7.23245 3.70014 7.36672 3.8343 7.36688 3.99969C7.36688 4.16523 7.23255 4.29925 7.06708 4.2995H4.2995V7.06708C4.29925 7.23255 4.16523 7.36688 3.99969 7.36688C3.8343 7.36672 3.70014 7.23245 3.69989 7.06708V4.2995H0.933289C0.767622 4.29948 0.633484 4.16537 0.633484 3.99969C0.633648 3.83416 0.767724 3.69991 0.933289 3.69989H3.69989V0.933289C3.69991 0.767724 3.83416 0.633648 3.99969 0.633484Z", fill: "currentColor" })));
228
152
 
229
153
  const Add10 = (props) => (index.h("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, index.h("path", { d: "M5 0.766602C5.22088 0.766602 5.40034 0.946123 5.40039 1.16699V4.59961H8.83398C9.05461 4.59978 9.23317 4.77939 9.2334 5C9.2334 5.22081 9.05475 5.40022 8.83398 5.40039H5.40039V8.83398C5.40021 9.05475 5.22081 9.2334 5 9.2334C4.77939 9.23317 4.59979 9.05461 4.59961 8.83398V5.40039H1.16699C0.946123 5.40034 0.766602 5.22088 0.766602 5C0.766833 4.77931 0.946265 4.59966 1.16699 4.59961H4.59961V1.16699C4.59966 0.946265 4.77931 0.766833 5 0.766602Z", fill: "currentColor" })));
@@ -2233,7 +2157,7 @@ const SdIcon = class {
2233
2157
  }
2234
2158
  render() {
2235
2159
  const IconComponent = Icons[this.name]?.[this.size];
2236
- return (index.h("i", { key: '6e960b0cd16604be33d46a82e51f681cb3c16cbf', class: this.getIconClasses(), style: this.iconStyle }, index.h(IconComponent, { key: '61ed4a9607f3dcc656b991b0705e6623d1c690db', color: this.resolvedColor })));
2160
+ return (index.h("i", { key: '738453a8bc8d1b9bb67fbaaffb7de203c2982c30', class: this.getIconClasses(), style: this.iconStyle }, index.h(IconComponent, { key: '2f970609756be608b660a522949dd79cca64fcc8', color: this.resolvedColor })));
2237
2161
  }
2238
2162
  };
2239
2163
  SdIcon.style = sdIconCss;
@@ -2338,11 +2262,11 @@ const SdInput = class {
2338
2262
  '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,
2339
2263
  }
2340
2264
  : {};
2341
- return (index.h(index.Host, { key: '331f9b3473c6fbd88b05013dc9a3fdd8d88a8a43', style: inputWidth }, this.label && index.h("div", { key: '9f998c7e3e0350cb4c81fb40881bf60bd85262fd', class: "sd-input__label" }, this.label), index.h("label", { key: '201572ad47dcbae9da7ea68247e3af729c815578', class: {
2265
+ return (index.h(index.Host, { key: '87a102220530a2e06620619967f1925f193b4794', style: inputWidth }, this.label && index.h("div", { key: 'dec1ef5b27dadc7b2c6c0e9f5dab978b338b5a45', class: "sd-input__label" }, this.label), index.h("label", { key: '72ba8b8b0019fd1bfc222207df4b42735457873d', class: {
2342
2266
  'sd-input': true,
2343
2267
  [this.getInputStatus()]: true,
2344
2268
  'sd-input--barcode': !!this.barcode,
2345
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, index.h("slot", { key: '976c8e1a97dc03ffe30216f2b9a331da1e5e80bd', name: "prefix" }), index.h("input", { key: '42bb9cfd1864294550422f23f7989cf391da732a', ref: el => (this.nativeEl = el), class: `sd-input__native_element ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onChange: this.handleChange, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) }), index.h("slot", { key: '55a23ec021df0f071eeef45092cd71527ede09c5', name: "suffix" }), this.clearable && this.internalValue && (index.h("sd-icon", { key: 'a96f46a1b1fce96da2547c40173b3f044686813e', name: "close", color: "#888", class: "sd-input__clear-icon", onClick: () => {
2269
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, index.h("slot", { key: '7745177f5638351670adb3610325d44df156826e', name: "prefix" }), index.h("input", { key: '976949537b8071a409d94e93f803128946d73d48', ref: el => (this.nativeEl = el), class: `sd-input__native_element ${this.inputClass}`, type: "text", value: this.internalValue || '', placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onChange: this.handleChange, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event) }), index.h("slot", { key: 'b62387e0c2122cfb9f5599a108d54682df59fef6', name: "suffix" }), this.clearable && this.internalValue && (index.h("sd-icon", { key: 'b860d9c2387adf97d7317bba550b169ac9f4ac49', name: "close", color: "#888", class: "sd-input__clear-icon", onClick: () => {
2346
2270
  this.internalValue = '';
2347
2271
  this.sdChange?.emit(this.internalValue);
2348
2272
  this.sdInput?.emit(this.internalValue);
@@ -2355,6 +2279,18 @@ const SdInput = class {
2355
2279
  };
2356
2280
  SdInput.style = sdInputCss;
2357
2281
 
2282
+ 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}}";
2283
+
2284
+ const SdLoadingSpinner = class {
2285
+ constructor(hostRef) {
2286
+ index.registerInstance(this, hostRef);
2287
+ }
2288
+ render() {
2289
+ return (index.h(index.Host, { key: '54446b42c83eff572c2d0d63c367a7e407d722a5' }, index.h("svg", { key: '92ad1f0446dc5912a656512d09ab4b8b3b262156', class: "sd-loading-spinner text-positive", width: "72px", height: "72px", viewBox: "25 25 50 50" }, index.h("circle", { key: 'b9b0c2ea5233fb5f5c784d0262c6ba526dc00622', class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "5", "stroke-miterlimit": "10" }))));
2290
+ }
2291
+ };
2292
+ SdLoadingSpinner.style = sdLoadingSpinnerCss;
2293
+
2358
2294
  const sdPaginationCss = ".sd-pagination{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:8px;color:#555555;width:100%;font-size:12px}.sd-pagination .prepend-btns{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;width:60px}.sd-pagination .prepend-btns button{width:26px;height:26px;border:0;background:none}.sd-pagination .prepend-btns button:hover{border:1px solid #006ac1;border-radius:14px}.sd-pagination .append-btns{display:flex;flex-flow:row nowrap;align-items:center;gap:8px;width:60px}.sd-pagination .append-btns button{width:26px;height:26px;border:0;background:none}.sd-pagination .append-btns button:hover{border:1px solid #006ac1;border-radius:14px}.sd-pagination .pagination-btn{display:flex;align-items:center;justify-content:center;border-radius:14px;outline:none;border:none;cursor:pointer;height:26px;color:#555555;width:var(--pagination-btn-width, 26px)}.sd-pagination .pagination-btn--selected{background-color:#006ac1;color:white}.sd-pagination .pagination-btn:hover{border:1px solid #006ac1}.sd-pagination--simple .pagination-info{line-height:26px;display:flex;flex-flow:row nowrap;align-items:center;gap:8px}.sd-pagination--simple .pagination-info .current-page,.sd-pagination--simple .pagination-info .last-page{padding:0 2px}";
2359
2295
 
2360
2296
  const BUTTON_WIDTH = {
@@ -2374,12 +2310,6 @@ const SdPagination = class {
2374
2310
  lastPage = 1;
2375
2311
  simple = false;
2376
2312
  pageChange;
2377
- onPropChange() {
2378
- console.log('Pagination props changed', {
2379
- currentPage: this.currentPage,
2380
- lastPage: this.lastPage,
2381
- });
2382
- }
2383
2313
  get paginationClasses() {
2384
2314
  const classes = ['sd-pagination'];
2385
2315
  if (this.simple) {
@@ -2435,17 +2365,13 @@ const SdPagination = class {
2435
2365
  }
2436
2366
  }
2437
2367
  render() {
2438
- return (index.h("div", { key: 'c200da844c5cd3bac4693979edfd4936fca50e96', class: this.paginationClasses }, index.h("div", { key: 'aebfbdc184eb7c71e05db5fd42ec8b5f6bf3603f', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "pagination-info" }, index.h("span", { class: "current-page" }, this.currentPage), index.h("span", null, "/"), index.h("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
2368
+ return (index.h("div", { key: '3b65d74d4b70b8b3292a20daa5d89ffb7d9a66e7', class: this.paginationClasses }, index.h("div", { key: 'a3be2b1c24ac6ac7ecde25223d9208e63e558bf3', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "pagination-info" }, index.h("span", { class: "current-page" }, this.currentPage), index.h("span", null, "/"), index.h("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
2439
2369
  'pagination-btn': true,
2440
2370
  'pagination-btn--selected': this.currentPage === n,
2441
2371
  }, disabled: this.currentPage === n, style: {
2442
2372
  '--pagination-btn-width': `${this.buttonWidth}px`,
2443
- }, onClick: () => this.handlePageChange(n) }, n)))), index.h("div", { key: '9b15a86715af6e7f4aa89bd43494211449d7b683', class: "append-btns" }, this.renderNextButtons())));
2373
+ }, onClick: () => this.handlePageChange(n) }, n)))), index.h("div", { key: '9c145c18eacc2ab0115d162cbb50e5ad3ea62c80', class: "append-btns" }, this.renderNextButtons())));
2444
2374
  }
2445
- static get watchers() { return {
2446
- "currentPage": ["onPropChange"],
2447
- "lastPage": ["onPropChange"]
2448
- }; }
2449
2375
  };
2450
2376
  SdPagination.style = sdPaginationCss;
2451
2377
 
@@ -2567,7 +2493,7 @@ const SdPortal = class {
2567
2493
  this.sdClose.emit();
2568
2494
  }
2569
2495
  render() {
2570
- return index.h("slot", { key: '120ce8e686e5935293738aa5a470b960dfd518c5' });
2496
+ return index.h("slot", { key: 'b24b7f844564365e887dc8cee8b98e26a94961cd' });
2571
2497
  }
2572
2498
  };
2573
2499
 
@@ -2775,11 +2701,11 @@ const SdSelect = class extends selectKeyboardNavigation.BaseDropdownEvent {
2775
2701
  '--select-width': this.width || '200px',
2776
2702
  '--select-dropdown-height': this.dropdownHeight || '260px',
2777
2703
  };
2778
- return (index.h(index.Host, { key: '8706a1e60e18e90e05429bb838de6d3a4da6d4bc', style: style }, index.h("div", { key: 'fbec6760ae66d6ca43c504ab7ab6e1655d72b267', class: {
2704
+ return (index.h(index.Host, { key: '94880c07678eb6a478c9c80de0c42c5c7724936e', style: style }, index.h("div", { key: '872f918214118adb99b50533c323e9de7ca27353', class: {
2779
2705
  'sd-select': true,
2780
2706
  'sd-select--open': this.isOpen,
2781
2707
  'sd-select--disabled': this.disabled,
2782
- }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), index.h("div", { key: 'b8ecf2553fc65a009cda2fabe3d4fdafdd4cf57c', class: "sd-select__container" }, this.renderTrigger(), this.renderDropdown()))));
2708
+ }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), index.h("div", { key: '30e44d67c6d8b81c59c798ffa4de43337de6f195', class: "sd-select__container" }, this.renderTrigger(), this.renderDropdown()))));
2783
2709
  }
2784
2710
  renderLabel(label) {
2785
2711
  if (!label)
@@ -2850,7 +2776,7 @@ const SdSelectOption = class {
2850
2776
  }
2851
2777
  };
2852
2778
  render() {
2853
- return (index.h(index.Host, { key: '70e4b495a158c9da1b2a5d6298a5053f70b84a7b' }, index.h("div", { key: '6c37c08ce1cb4654bf8ea53ceb52daee1dcfe79f', class: {
2779
+ return (index.h(index.Host, { key: 'f1874b4e539573ddaa48cb2bdc9d13ea96bf350e' }, index.h("div", { key: '5a3bbd66f6623a1c02d5e1295bb974e82883b8a1', class: {
2854
2780
  'sd-select__option': true,
2855
2781
  'sd-select__option--selected': this.isSelected,
2856
2782
  'sd-select__option--disabled': !!this.option.disabled,
@@ -2872,7 +2798,7 @@ const SdSelectOption = class {
2872
2798
  };
2873
2799
  SdSelectOption.style = sdSelectOptionCss;
2874
2800
 
2875
- const sdTableCss = ".sd-table__wrapper .sd-table__container .sd-table__middle{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar{opacity:0;background:#e5e5e5}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar:horizontal{height:8px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar:vertical{width:8px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar-thumb{height:80px;background-color:#cccccc;border-radius:4px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar-track{background-color:transparent}.sd-table__wrapper{height:var(--table-height, auto);width:var(--table-width, 100%);color:#222222}.sd-table__wrapper .sd-table__container{width:100%;height:auto;border:1px solid #e1e1e1;border-radius:8px;font-size:12px;overflow:hidden}.sd-table__wrapper .sd-table__container .sd-table__middle{overflow:auto;will-change:scroll-position;height:var(--table-height, auto)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;position:relative}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--selectable td.sd-td--selected,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--selectable th.sd-th--selected{width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-header thead{position:sticky;top:0;z-index:120}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-left,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-right{position:sticky;background-color:#f5faff;z-index:110 !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-left,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-right{position:sticky;background-color:white;z-index:100 !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column .sticky-left{left:var(--sticky-left-offset, 0)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column .sticky-right{right:var(--sticky-right-offset, 0)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-cell{position:sticky;z-index:102;background-color:#f5faff}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-cell{position:sticky;z-index:101;background-color:white}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left th.sticky-left-edge,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left td.sticky-left-edge{overflow:visible}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left th.sticky-left-edge:after,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left td.sticky-left-edge:after{content:\"\";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:1;pointer-events:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right th.sticky-right-edge,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right td.sticky-right-edge{overflow:visible}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right th.sticky-right-edge:after,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right td.sticky-right-edge:after{content:\"\";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:1;pointer-events:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--no-data thead{opacity:0.4}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--no-data thead tr th.sd-th{border-bottom:1px solid rgba(225, 225, 225, 0.4) !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-td,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-th,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table .sd-th__content--label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead{height:36px}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr{width:100%}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th{background:#f5faff;height:36px;padding:0 16px;font-weight:500;vertical-align:middle;border-bottom:1px solid #e1e1e1;-webkit-user-select:none;user-select:none;position:relative}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th.sd-th .sd-th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:4px}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th.sd-th .sd-th__content--left{justify-content:flex-start}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th.sd-th .sd-th__content--center{justify-content:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th.sd-th .sd-th__content--right{justify-content:flex-end}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead sd-tr sd-th.sd-th .sd-th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:16px;cursor:col-resize;z-index:3;border-left:1px solid #cccccc;border-right:1px solid #cccccc}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody .sd-table__loading{position:absolute;top:0;left:0;width:100%;height:calc(var(--table-height, auto) - 36px);min-height:calc(100% - 36px);background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody sd-tr:last-of-type sd-td{border-bottom:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody sd-tr sd-td{height:44px;padding:0 16px;border-bottom:1px solid #e1e1e1;background:white;vertical-align:middle}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody sd-tr sd-td.sd-td--left{text-align:left}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody sd-tr sd-td.sd-td--center{text-align:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-tbody sd-tr sd-td.sd-td--right{text-align:right}.sd-table__wrapper .sd-table__container .sd-table__bottom{background:white;text-align:center}.sd-table__wrapper .sd-table__pagination{position:relative;background:#f9f9f9;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #e1e1e1;border-top:none;border-radius:8px}.sd-table__wrapper .sd-table__pagination sd-select{position:absolute;right:10px;top:50%;transform:translateY(-50%)}";
2801
+ const sdTableBackupCss = ".sd-table__wrapper .sd-table__container .sd-table__middle{overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar{opacity:0;background:#e5e5e5}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar:horizontal{height:8px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar:vertical{width:8px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar-thumb{height:80px;background-color:#cccccc;border-radius:4px}.sd-table__wrapper .sd-table__container .sd-table__middle::-webkit-scrollbar-track{background-color:transparent}.sd-table__wrapper{height:var(--table-height, auto);width:var(--table-width, 100%);color:#222222}.sd-table__wrapper .sd-table__container{width:100%;height:var(--table-height, auto);position:relative;border:1px solid #e1e1e1;border-radius:8px;font-size:12px;overflow:hidden;background:#ffffff}.sd-table__wrapper .sd-table__container .sd-table__middle{overflow:auto;will-change:scroll-position}.sd-table__wrapper .sd-table__container .sd-table__middle--scrollable{height:var(--table-height, auto)}.sd-table__wrapper .sd-table__container .sd-table__middle--loading{overflow:hidden !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody.sd-table-tbody--virtual-scroll{position:relative;height:var(--total-virtual-height, auto)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody.sd-table-tbody--virtual-scroll tr:not([aria-hidden=true]){width:100%}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody.sd-table-tbody--virtual-scroll tr[aria-hidden=true]{padding:0;border:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody.sd-table-tbody--virtual-scroll tr[aria-hidden=true] td{display:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--selectable td.sd-td--selected,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--selectable th.sd-th--selected{width:52px !important;max-width:52px !important;min-width:52px !important;padding:0 10px 0 24px;text-align:left}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-header thead{position:sticky;top:0;z-index:120}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-left,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-right{position:sticky;background-color:#f5faff;z-index:110 !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-left,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-right{position:sticky;background-color:white;z-index:100 !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column .sticky-left{left:var(--sticky-left-offset, 0)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column .sticky-right{right:var(--sticky-right-offset, 0)}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column th.sticky-cell{position:sticky;z-index:102;background-color:#f5faff}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--sticky-column td.sticky-cell{position:sticky;z-index:101;background-color:white}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left th.sticky-left-edge,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left td.sticky-left-edge{overflow:visible}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left th.sticky-left-edge:after,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-left td.sticky-left-edge:after{content:\"\";position:absolute;top:0;left:100%;right:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset 12px 0 20px -25px;opacity:1;pointer-events:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right th.sticky-right-edge,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right td.sticky-right-edge{overflow:visible}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right th.sticky-right-edge:after,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--scrolled-right td.sticky-right-edge:after{content:\"\";position:absolute;top:0;left:-20px;width:20px;height:100%;z-index:101 !important;box-shadow:inset -12px 0 20px -25px;opacity:1;pointer-events:none}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--no-data thead{opacity:0.4}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table--no-data thead tr th.sd-th{border-bottom:1px solid rgba(225, 225, 225, 0.4) !important}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-td,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table sd-th,.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table .sd-th__content--label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead{height:36px}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr{width:100%}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th{background:#f5faff;height:36px;padding:0 16px;font-weight:500;vertical-align:middle;border-bottom:1px solid #e1e1e1;-webkit-user-select:none;user-select:none;position:relative}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th.sd-th .sd-th__content{display:flex;flex-flow:row nowrap;align-items:center;gap:4px}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th.sd-th .sd-th__content--left{justify-content:flex-start}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th.sd-th .sd-th__content--center{justify-content:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th.sd-th .sd-th__content--right{justify-content:flex-end}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table thead tr th.sd-th .sd-th__resizer{position:absolute;top:50%;right:0;transform:translateY(-50%);width:4px;height:16px;cursor:col-resize;z-index:3;border-left:1px solid #cccccc;border-right:1px solid #cccccc}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody .sd-table__loading{position:absolute;top:0;left:0;width:100%;height:100%;min-height:100%;background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody tr td{height:44px;padding:0 16px;border-bottom:1px solid #e1e1e1;background:white;vertical-align:middle}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody tr td.sd-td--left{text-align:left}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody tr td.sd-td--center{text-align:center}.sd-table__wrapper .sd-table__container .sd-table__middle .sd-table tbody tr td.sd-td--right{text-align:right}.sd-table__wrapper .sd-table__container .sd-table__bottom{background:white;text-align:center}.sd-table__wrapper .sd-table__container .sd-table__bottom .sd-table__no-data{padding-top:15%;color:#888888}.sd-table__wrapper .sd-table__pagination{position:relative;background:#f9f9f9;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #e1e1e1;border-top:none;border-radius:8px}.sd-table__wrapper .sd-table__pagination sd-select{position:absolute;right:10px;top:50%;transform:translateY(-50%)}";
2876
2802
 
2877
2803
  const SdTable = class {
2878
2804
  constructor(hostRef) {
@@ -2904,6 +2830,9 @@ const SdTable = class {
2904
2830
  { label: '50개씩 보기', value: 50 },
2905
2831
  { label: '100개씩 보기', value: 100 },
2906
2832
  ];
2833
+ useVirtualScroll = false; // 가상 스크롤 사용 여부
2834
+ virtualRowHeight = 44; // 가상 스크롤 사용시 각 행의 높이 - 가상 스크롤 사용시 필수값
2835
+ virtualBufferSize = 5; // 가상 스크롤 위아래 버퍼 크기
2907
2836
  sdSelectChange;
2908
2837
  sdPageChange;
2909
2838
  sdRowsPerPageChange;
@@ -2913,23 +2842,42 @@ const SdTable = class {
2913
2842
  columnWidths = [];
2914
2843
  scrolledLeft = false;
2915
2844
  scrolledRight = false;
2845
+ virtualStartIndex = 0; // 렌더링 시작 인덱스
2846
+ virtualEndIndex = 0; // 렌더링 종료 인덱스
2847
+ scrollTopPosition = 0;
2848
+ scrollRequestAnimationFrame = null;
2849
+ scrollContainer = null;
2916
2850
  handleColumnsChange(newCols) {
2917
2851
  this.columnWidths = newCols.map(c => parseInt(c.width || '120', 10));
2918
2852
  }
2919
2853
  handleRowsChange(newRows) {
2920
2854
  this.innerRows = [...newRows];
2855
+ if (this.useVirtualScroll) {
2856
+ requestAnimationFrame(() => {
2857
+ this.calculateVisibleRange();
2858
+ });
2859
+ }
2921
2860
  }
2922
2861
  handleSelectedChange(newSelected) {
2923
2862
  this.innerSelected = new Set(newSelected);
2924
2863
  }
2925
2864
  handlePaginationChange(newVal) {
2926
- if (newVal?.page && newVal.page !== this.currentPage)
2865
+ if (newVal?.page && newVal.page !== this.currentPage) {
2927
2866
  this.currentPage = newVal.page;
2867
+ if (this.useVirtualScroll && this.scrollContainer) {
2868
+ this.scrollContainer.scrollTop = 0;
2869
+ this.scrollTopPosition = 0;
2870
+ this.calculateVisibleRange();
2871
+ }
2872
+ }
2928
2873
  }
2929
2874
  componentWillLoad() {
2930
2875
  this.innerRows = [...(this.rows || [])];
2931
2876
  this.innerSelected = new Set(this.selected);
2932
2877
  this.columnWidths = (this.columns || []).map(c => parseInt(c.width || '120', 10));
2878
+ if (this.pagination?.page) {
2879
+ this.currentPage = this.pagination.page;
2880
+ }
2933
2881
  }
2934
2882
  componentDidLoad() {
2935
2883
  // SSR 환경 체크
@@ -2938,14 +2886,30 @@ const SdTable = class {
2938
2886
  const middle = this.el.querySelector('.sd-table__middle');
2939
2887
  if (!middle)
2940
2888
  return;
2889
+ this.scrollContainer = middle;
2941
2890
  const onScroll = () => {
2942
- const { scrollLeft, scrollWidth, clientWidth } = middle;
2891
+ const { scrollLeft, scrollWidth, clientWidth, scrollTop } = middle;
2943
2892
  this.scrolledLeft = scrollLeft > 0;
2944
2893
  this.scrolledRight = scrollLeft + clientWidth < scrollWidth;
2894
+ if (this.useVirtualScroll) {
2895
+ if (this.scrollRequestAnimationFrame !== null) {
2896
+ cancelAnimationFrame(this.scrollRequestAnimationFrame);
2897
+ }
2898
+ this.scrollRequestAnimationFrame = requestAnimationFrame(() => {
2899
+ this.scrollTopPosition = scrollTop;
2900
+ this.calculateVisibleRange();
2901
+ this.scrollRequestAnimationFrame = null;
2902
+ });
2903
+ }
2945
2904
  };
2946
2905
  middle.addEventListener('scroll', onScroll, { passive: true });
2947
2906
  onScroll();
2948
2907
  }
2908
+ disconnectedCallback() {
2909
+ if (this.scrollRequestAnimationFrame !== null) {
2910
+ cancelAnimationFrame(this.scrollRequestAnimationFrame);
2911
+ }
2912
+ }
2949
2913
  // ----- Derived getters -----
2950
2914
  get visibleColumns() {
2951
2915
  return this.columns.filter(col => col.visible !== false);
@@ -2957,6 +2921,33 @@ const SdTable = class {
2957
2921
  const result = this.innerRows.slice((this.currentPage - 1) * rowsPerPage, this.currentPage * rowsPerPage);
2958
2922
  return result;
2959
2923
  }
2924
+ get virtualRows() {
2925
+ if (!this.useVirtualScroll) {
2926
+ return this.paginatedRows.map((row, idx) => ({ row, actualIndex: idx }));
2927
+ }
2928
+ return this.paginatedRows
2929
+ .slice(this.virtualStartIndex, this.virtualEndIndex + 1)
2930
+ .map((row, relativeIdx) => ({
2931
+ row,
2932
+ actualIndex: this.virtualStartIndex + relativeIdx,
2933
+ }));
2934
+ }
2935
+ get topSpacerHeight() {
2936
+ if (!this.useVirtualScroll || this.virtualStartIndex === 0)
2937
+ return 0;
2938
+ return this.virtualStartIndex * this.virtualRowHeight;
2939
+ }
2940
+ get bottomSpacerHeight() {
2941
+ if (!this.useVirtualScroll)
2942
+ return 0;
2943
+ const remainingRows = this.paginatedRows.length - this.virtualEndIndex - 1;
2944
+ return remainingRows > 0 ? remainingRows * this.virtualRowHeight : 0;
2945
+ }
2946
+ get totalVirtualHeight() {
2947
+ if (!this.useVirtualScroll)
2948
+ return 0;
2949
+ return this.paginatedRows.length * this.virtualRowHeight;
2950
+ }
2960
2951
  get lastPageNumber() {
2961
2952
  const { lastPage, rowsPerPage = this.rows.length } = this.pagination || {};
2962
2953
  return lastPage ?? Math.max(1, Math.ceil(this.rows.length / rowsPerPage));
@@ -2977,20 +2968,21 @@ const SdTable = class {
2977
2968
  .join(' ');
2978
2969
  }
2979
2970
  // ----- Selection -----
2980
- // private isRowSelected(row: Row): boolean {
2981
- // return Array.from(this.innerSelected).some(r => r[this.rowKey] === row[this.rowKey]);
2982
- // }
2983
- // private updateRowSelect(row: Row) {
2984
- // const selectedArray = Array.from(this.innerSelected);
2985
- // const exists = this.isRowSelected(row);
2986
- // const newSelected = exists
2987
- // ? selectedArray.filter(r => r[this.rowKey] !== row[this.rowKey])
2988
- // : [...selectedArray, row];
2989
- // // 동일 상태면 set하지 않음 → 불필요 렌더 방지
2990
- // if (newSelected.length === selectedArray.length) return;
2991
- // this.innerSelected = new Set(newSelected);
2992
- // this.sdSelectChange.emit(Array.from(this.innerSelected));
2993
- // }
2971
+ isRowSelected(row) {
2972
+ return Array.from(this.innerSelected).some(r => r[this.rowKey] === row[this.rowKey]);
2973
+ }
2974
+ updateRowSelect(row) {
2975
+ const selectedArray = Array.from(this.innerSelected);
2976
+ const exists = this.isRowSelected(row);
2977
+ const newSelected = exists
2978
+ ? selectedArray.filter(r => r[this.rowKey] !== row[this.rowKey])
2979
+ : [...selectedArray, row];
2980
+ // 동일 상태면 set하지 않음 → 불필요 렌더 방지
2981
+ if (newSelected.length === selectedArray.length)
2982
+ return;
2983
+ this.innerSelected = new Set(newSelected);
2984
+ this.sdSelectChange.emit(Array.from(this.innerSelected));
2985
+ }
2994
2986
  toggleSelectAll(checked) {
2995
2987
  if (checked) {
2996
2988
  const pageRows = new Set([...this.paginatedRows]);
@@ -3011,6 +3003,20 @@ const SdTable = class {
3011
3003
  return true; // 전부 선택됨
3012
3004
  return null; // 일부만 선택됨
3013
3005
  }
3006
+ calculateVisibleRange() {
3007
+ if (!this.useVirtualScroll) {
3008
+ this.virtualStartIndex = 0;
3009
+ this.virtualEndIndex = this.paginatedRows.length - 1;
3010
+ return;
3011
+ }
3012
+ const scrollTop = this.scrollTopPosition;
3013
+ const containerHeight = this.scrollContainer?.clientHeight || 0;
3014
+ const startIndex = Math.floor(scrollTop / this.virtualRowHeight);
3015
+ const visibleCount = Math.ceil(containerHeight / this.virtualRowHeight);
3016
+ const endIndex = startIndex + visibleCount;
3017
+ this.virtualStartIndex = Math.max(0, startIndex - this.virtualBufferSize);
3018
+ this.virtualEndIndex = Math.min(this.paginatedRows.length - 1, endIndex + this.virtualBufferSize);
3019
+ }
3014
3020
  // ----- Helpers -----
3015
3021
  getStickyStyle(colIdx) {
3016
3022
  const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) + (this.selectable ? 52 : 0);
@@ -3032,7 +3038,12 @@ const SdTable = class {
3032
3038
  const startX = event.clientX;
3033
3039
  const startWidth = this.columnWidths[index];
3034
3040
  const handleMouseMove = (moveEvent) => {
3035
- const newWidth = Math.max(startWidth + moveEvent.clientX - startX, 50);
3041
+ const targetColumn = this.columnWidths[index];
3042
+ if (!targetColumn)
3043
+ return;
3044
+ const minWidth = this.columns[index]?.minWidth || 50;
3045
+ const maxWidth = this.columns[index]?.maxWidth || 9999;
3046
+ const newWidth = Math.min(Math.max(startWidth + moveEvent.clientX - startX, minWidth), maxWidth);
3036
3047
  this.columnWidths = this.columnWidths.map((width, idx) => (idx === index ? newWidth : width));
3037
3048
  };
3038
3049
  const handleMouseUp = () => {
@@ -3042,20 +3053,20 @@ const SdTable = class {
3042
3053
  document.addEventListener('mousemove', handleMouseMove);
3043
3054
  document.addEventListener('mouseup', handleMouseUp);
3044
3055
  }
3045
- // private getCellValue(column: SdTableColumn, row: Row) {
3046
- // const { field, format, name } = column;
3047
- // const value = typeof field === 'function' ? field(row) : field ? row[field] : row[name];
3048
- // return format ? format(value, row) : value;
3049
- // }
3056
+ getCellValue(column, row) {
3057
+ const { field, format, name } = column;
3058
+ const value = typeof field === 'function' ? field(row) : field ? row[field] : row[name];
3059
+ return format ? format(value, row) : value;
3060
+ }
3050
3061
  // ----- Render -----
3051
3062
  renderHeader() {
3052
- return (index.h("thead", null, index.h("sd-tr", null, this.selectable && (index.h("sd-th", { class: {
3063
+ return (index.h("thead", null, index.h("tr", null, this.selectable && (index.h("th", { class: {
3053
3064
  'sd-th': true,
3054
3065
  'sd-th--selected': true,
3055
3066
  'sticky-left': Boolean(this.stickyColumn.left && this.stickyColumn.left > 0),
3056
3067
  }, style: {
3057
3068
  '--sticky-left-offset': '0px',
3058
- } }, index.h("sd-checkbox", { checked: this.isAllChecked, disabled: !this.paginatedRows.length, onSdChange: (e) => this.toggleSelectAll(e.detail) }))), this.visibleColumns.map((col, colIdx) => (index.h("sd-th", { key: col.name, class: {
3069
+ } }, index.h("sd-checkbox", { checked: this.isAllChecked, disabled: !this.paginatedRows.length, onSdChange: (e) => this.toggleSelectAll(e.detail) }))), this.visibleColumns.map((col, colIdx) => (index.h("th", { key: col.name, class: {
3059
3070
  'sd-th': true,
3060
3071
  [`${col.thClass}`]: Boolean(col.thClass),
3061
3072
  'sticky-left': Boolean(this.stickyColumn.left && colIdx < this.stickyColumn.left),
@@ -3063,13 +3074,50 @@ const SdTable = class {
3063
3074
  'sticky-left-edge': Boolean(this.stickyColumn.left && colIdx === this.stickyColumn.left - 1),
3064
3075
  'sticky-right-edge': Boolean(this.stickyColumn.right &&
3065
3076
  colIdx === this.visibleColumns.length - this.stickyColumn.right),
3066
- }, style: this.getStickyStyle(colIdx) }, index.h("div", { class: `sd-th__content sd-th__content--${col.align || 'left'}` }, index.h("slot", { name: `header-cell-${col.name}` }, index.h("div", { class: "sd-th__content--label" }, col.label)), col.usePageMoveIcon && index.h("sd-icon", { name: "pageMove", size: "12", color: "#006AC1" }), col.tooltip && (index.h("sd-tooltip", { ...col.tooltipOptions }, index.h("div", { slot: "content" }, col.tooltip.map(text => (index.h("p", null, text))))))), this.resizable && typeof window !== 'undefined' && (index.h("div", { class: "sd-th__resizer", onMouseDown: (evt) => this.handleResize(colIdx, evt) }))))))));
3077
+ }, style: { ...col.thStyle, ...this.getStickyStyle(colIdx) } }, index.h("div", { class: `sd-th__content sd-th__content--${col.align || 'left'}` }, index.h("slot", { name: `header-cell-${col.name}` }, index.h("div", { class: "sd-th__content--label" }, col.label)), col.usePageMoveIcon && index.h("sd-icon", { name: "pageMove", size: "12", color: "#006AC1" }), col.tooltip && (index.h("sd-tooltip", { ...col.tooltipOptions }, index.h("div", { slot: "content" }, col.tooltip.map(text => (index.h("p", null, text))))))), this.resizable && typeof window !== 'undefined' && (index.h("div", { class: "sd-th__resizer", onMouseDown: (evt) => this.handleResize(colIdx, evt) }))))))));
3078
+ }
3079
+ renderBody() {
3080
+ return (index.h("tbody", { ...(!this.paginatedRows.length && { part: 'tbody-empty' }), class: `sd-table-tbody ${this.useVirtualScroll ? 'sd-table-tbody--virtual-scroll' : ''}`, style: { '--total-virtual-height': `${this.totalVirtualHeight}px` } }, this.isLoading && (index.h("div", { class: "sd-table__loading" }, index.h("sd-loading-spinner", null))), this.useVirtualScroll && this.topSpacerHeight > 0 && (index.h("tr", { key: "virtual-top-spacer", style: {
3081
+ height: `${this.topSpacerHeight}px`,
3082
+ }, "aria-hidden": "true" })), this.paginatedRows.length > 0 &&
3083
+ this.virtualRows.map(({ row, actualIndex }) => this.renderRow(row, actualIndex)), this.useVirtualScroll && this.bottomSpacerHeight > 0 && (index.h("tr", { key: "virtual-bottom-spacer", style: {
3084
+ height: `${this.bottomSpacerHeight}px`,
3085
+ }, "aria-hidden": "true" }))));
3086
+ }
3087
+ renderRow(row, rowIdx) {
3088
+ return (index.h("tr", { key: row[this.rowKey], class: "hover:bg-Grey_Lighten-6", style: this.useVirtualScroll
3089
+ ? {
3090
+ height: `${this.virtualRowHeight}px`,
3091
+ }
3092
+ : {} }, this.selectable && (index.h("td", { class: {
3093
+ 'sd-td': true,
3094
+ 'sd-td--selected': true,
3095
+ 'sticky-left': Boolean(this.stickyColumn.left && this.stickyColumn.left > 0),
3096
+ }, style: {
3097
+ '--sticky-left-offset': '0px',
3098
+ } }, index.h("sd-checkbox", { checked: this.isRowSelected(row), disabled: !this.paginatedRows.length, onSdChange: () => this.updateRowSelect(row) }))), this.visibleColumns.map((column, colIdx) => {
3099
+ const rendered = this.bodyCellRenderer?.(column, row);
3100
+ return (index.h("td", { key: column.name, part: `td-${column.name}`, class: {
3101
+ 'sd-td': true,
3102
+ [`sd-td--${column.align || 'left'}`]: true,
3103
+ 'sticky-left': Boolean(this.stickyColumn.left && colIdx < this.stickyColumn.left),
3104
+ 'sticky-right': Boolean(this.stickyColumn.right && colIdx >= this.visibleColumns.length - this.stickyColumn.right),
3105
+ 'sticky-left-edge': Boolean(this.stickyColumn.left && colIdx === this.stickyColumn.left - 1),
3106
+ 'sticky-right-edge': Boolean(this.stickyColumn.right &&
3107
+ colIdx === this.visibleColumns.length - this.stickyColumn.right),
3108
+ [`${column.tdClass}`]: Boolean(column.tdClass),
3109
+ }, style: this.getStickyStyle(colIdx) }, index.h("slot", { name: `body-cell-${column.name}-${rowIdx}` }, rendered ? (typeof rendered === 'string' ? (index.h("span", { innerHTML: rendered })) : (rendered)) : (this.getCellValue(column, row)))));
3110
+ })));
3067
3111
  }
3068
3112
  render() {
3069
- return (index.h(index.Host, { key: 'f5a96627bda89ab76d03781d8a84931cfac9d4d9' }, index.h("div", { key: '8f96a9381579acb56b5551de90b2f1dcb02db2ef', class: "sd-table__wrapper", style: {
3113
+ return (index.h(index.Host, { key: 'd115d90e244b233e0387352e7c26b3dea94e26a5' }, index.h("div", { key: '8c4f4b675a8448e9acddc5411a6ab2cb3ef489c5', class: "sd-table__wrapper", style: {
3070
3114
  '--table-width': this.width,
3071
3115
  '--table-height': this.height,
3072
- } }, index.h("div", { key: 'acf8435ff60702d0b54477edcea0f7a92dfe66ca', class: "sd-table__container" }, index.h("div", { key: 'ec02d6ceb21021c1cb9605a5bda1d0f44fbbd5af', class: "sd-table__middle", role: "table" }, index.h("div", { key: '40544c9ab218f8931ce2add45e1d8adb83423472', part: "table", class: this.sdTableClasses }, this.renderHeader(), index.h("sd-tbody", { key: '706311e5a9ddddacadcf632b22a25871cc066ce3' }, index.h("slot", { key: 'f6c415352bb3b3f91acf5852e3b6b53bd6567238' })))), index.h("div", { key: '5b95f5bb444839da29ded159327c7e09f3a07a58', class: "sd-table__bottom" })), this.pagination && this.innerRows.length > 0 && (index.h("div", { key: 'bdfadea5466840f4185bef70e06392cbc4b9d87b', class: "sd-table__pagination" }, index.h("sd-pagination", { key: '0683704cd48839846201048097836b337e4cf534', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onPageChange: (e) => {
3116
+ } }, index.h("div", { key: 'dd5c88ed37ab202dacb295c503ff2184b6440f5b', class: "sd-table__container" }, index.h("div", { key: '5cf3e8b5c99a486e494803319d76a7e32cf0f9a9', class: {
3117
+ 'sd-table__middle': true,
3118
+ 'sd-table__middle--scrollable': this.paginatedRows.length > 0,
3119
+ 'sd-table__middle--loading': this.isLoading,
3120
+ } }, index.h("table", { key: 'e73f16d894af4ef1c9ed657db6c1bc98ce855961', part: "table", class: this.sdTableClasses }, this.renderHeader(), this.renderBody())), index.h("div", { key: '462ad10d70dcff218b39a68a610cef43fe976de6', class: "sd-table__bottom" }, !this.paginatedRows.length && (index.h("div", { key: '865e54d58c0f7b67d7ad6b323f671bb837e074e4', class: "sd-table__no-data" }, index.h("slot", { key: '29b4a7f1eeaf588a4e6eed9d58adfd366b0dcce0', name: "no-data" }, this.noDataLabel))))), this.pagination && this.innerRows.length > 0 && (index.h("div", { key: '870b309d1876ea9880342d1d5da70619bb8fcaad', class: "sd-table__pagination" }, index.h("sd-pagination", { key: '1f037172e2220912c9f81a106ae6dcc30e267273', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onPageChange: (e) => {
3073
3121
  if (!this.useInternalPagination) {
3074
3122
  this.sdPageChange.emit(e.detail);
3075
3123
  }
@@ -3077,7 +3125,7 @@ const SdTable = class {
3077
3125
  this.currentPage = e.detail;
3078
3126
  this.sdPageChange.emit(this.currentPage);
3079
3127
  }
3080
- } }), this.useRowsPerPageSelect && (index.h("sd-select", { key: '6a555c46a088cf181b820da1b3ab312bf5e50c04', value: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", onSdChange: (e) => {
3128
+ } }), this.useRowsPerPageSelect && (index.h("sd-select", { key: 'c767d22ce24a4c10886eeee8410362ac9391b22d', value: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", onSdChange: (e) => {
3081
3129
  const changedRowsPerPage = e.detail.value ? Number(e.detail.value) : 0;
3082
3130
  if (!this.useInternalPagination) {
3083
3131
  this.sdRowsPerPageChange.emit(changedRowsPerPage);
@@ -3106,31 +3154,7 @@ const SdTable = class {
3106
3154
  "pagination": ["handlePaginationChange"]
3107
3155
  }; }
3108
3156
  };
3109
- SdTable.style = sdTableCss;
3110
-
3111
- const sdTbodyCss = "sd-tbody{display:table-row-group}";
3112
-
3113
- const SdTbody = class {
3114
- constructor(hostRef) {
3115
- index.registerInstance(this, hostRef);
3116
- }
3117
- render() {
3118
- return (index.h(index.Host, { key: '210b6c0005314fab15c92697347a3f21dd70ef6f' }, index.h("slot", { key: 'ea78b27ab6c8b131d4940d1b2fea20d90e6393f3' })));
3119
- }
3120
- };
3121
- SdTbody.style = sdTbodyCss;
3122
-
3123
- const sdThCss = "sd-th{display:table-cell;padding:12px;font-weight:bold;text-align:left;border-bottom:2px solid #ddd;background-color:#f1f1f1}";
3124
-
3125
- const SdTh = class {
3126
- constructor(hostRef) {
3127
- index.registerInstance(this, hostRef);
3128
- }
3129
- render() {
3130
- return (index.h(index.Host, { key: '1c1c403a374a1d575739457ea011e72cbbae2a8a', role: "columnheader" }, index.h("slot", { key: 'f5653df6fc113940f3c6fae07a74b43f5f116dae' })));
3131
- }
3132
- };
3133
- SdTh.style = sdThCss;
3157
+ SdTable.style = sdTableBackupCss;
3134
3158
 
3135
3159
  const sdTooltipCss = "sd-tooltip [slot=content]{display:none}sd-tooltip .sd-tooltip{position:relative;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.sd-tooltip-menu{width:fit-content;padding:8px 16px;border-radius:4px;font-size:12px;position:relative;box-sizing:border-box;display:flex;align-items:start;justify-content:center;gap:12px}.sd-tooltip-menu--with-close{padding-right:12px !important}.sd-tooltip-menu__arrow{position:absolute;display:flex;width:9.6px;height:7.2px}.sd-tooltip-menu__arrow svg{width:100%;height:100%}.sd-tooltip-menu__arrow--top{bottom:-7.2px;left:50%;transform:translateX(-50%)}.sd-tooltip-menu__arrow--bottom{top:-7.2px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-tooltip-menu__arrow--left{right:-7.2px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-tooltip-menu__arrow--right{left:-7.2px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-tooltip-menu__content{line-height:20px;font-weight:500}.sd-tooltip-menu__content p{margin:0}.sd-tooltip-menu__close-button{padding-top:4px;display:flex}.sd-tooltip-menu__close-button button{padding:0;background:none;border:none;cursor:pointer}";
3136
3160
 
@@ -3180,20 +3204,20 @@ const SdTooltip = class {
3180
3204
  : {
3181
3205
  onClick: () => (this.showTooltip = !this.showTooltip),
3182
3206
  };
3183
- return (index.h(index.Fragment, { key: '11cc88df1f3afd9c6227f7e0bbf908605ab32f31' }, this.label ? (index.h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-tooltip", ...handleTrigger })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (index.h("sd-tooltip-portal", { key: 'b1c1d591b08d76b576ae307c752ff5399bf4e7ee', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, index.h("div", { key: '836d1ce210fb6358d92ac65a992ec111d53ef0a5', class: {
3207
+ return (index.h(index.Fragment, { key: 'fc892ba2872491bca673db93fed5c4b724c7141d' }, this.label ? (index.h("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-tooltip", ...handleTrigger })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (index.h("sd-tooltip-portal", { key: 'd6b8099b49ffc120c05bd797e3eb2c2c9c40238e', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, index.h("div", { key: '06eca5d091eec639a556472605140bdccf6c4869', class: {
3184
3208
  'sd-tooltip-menu': true,
3185
3209
  [`sd-tooltip-menu--${this.type}`]: true,
3186
3210
  [`sd-tooltip-menu--${this.placement}`]: true,
3187
3211
  'sd-tooltip-menu--with-close': this.useClose,
3188
3212
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
3189
3213
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
3190
- } }, index.h("i", { key: '43f7dfc3afde28f61d1b2a757f605c22712568dd', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '58ddae5a489c5ae5ca8208f3e1d2003373a68d4e', class: {
3214
+ } }, index.h("i", { key: '38ad3f0461c6578140e9a0f253c1f0cd5343f0bf', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '58b5d5e25512f191ee652c34815f8ad33a496a31', class: {
3191
3215
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
3192
- } })), index.h("div", { key: '259e21849cbd581f4b83247bb609efc3adffc62d', class: "sd-tooltip-menu__content", ref: el => {
3216
+ } })), index.h("div", { key: 'a29c4aa221aa9b833b9b0de101b658f5c5351ec0', class: "sd-tooltip-menu__content", ref: el => {
3193
3217
  if (el && this.slotContent && !el.hasChildNodes()) {
3194
3218
  el.appendChild(this.slotContent.cloneNode(true));
3195
3219
  }
3196
- } }, !this.slotContent && index.h("span", { key: '43aeb9bc7b62f880a80b14771a8a49f9af45dfe3' }, this.el.textContent)), this.useClose && (index.h("div", { key: '1d71390a6abec398a0f0be0955bc089116f880a0', class: "sd-tooltip-menu__close-button" }, index.h("button", { key: 'f3ff311db0b8633a2b7b692c9e6b51f5171bcaa7', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, index.h("sd-icon", { key: '6dc3a1234ba43406659707cb64b3fa21e96f25d2', name: "close", size: "12", color: "#AAAAAA" })))))))));
3220
+ } }, !this.slotContent && index.h("span", { key: 'a9e016d086156d522980b99187c9b040ccb232b9' }, this.el.textContent)), this.useClose && (index.h("div", { key: 'ae54793f18dcb7e759bd4ea2d7570cd56f45eb9a', class: "sd-tooltip-menu__close-button" }, index.h("button", { key: '1c3dc26d1bba1eaaed42757dae9a38613a86aea8', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, index.h("sd-icon", { key: '3b7f9dafaa7f1a3686f123a12acae6b35fd1849d', name: "close", size: "12", color: "#AAAAAA" })))))))));
3197
3221
  }
3198
3222
  };
3199
3223
  SdTooltip.style = sdTooltipCss;
@@ -3347,35 +3371,20 @@ const SdTooltipPortal = class {
3347
3371
  this.sdClose.emit();
3348
3372
  }
3349
3373
  render() {
3350
- return index.h("slot", { key: '918c09f6f9b248a6ba08e622c375b63adb36d0c3' });
3351
- }
3352
- };
3353
-
3354
- const sdTrCss = "sd-tr{display:table-row}";
3355
-
3356
- const SdTr = class {
3357
- constructor(hostRef) {
3358
- index.registerInstance(this, hostRef);
3359
- }
3360
- render() {
3361
- return (index.h(index.Host, { key: '2dc11b6c66458e889e231c422c06b5ddee7ae88a', role: "row" }, index.h("slot", { key: '66640e770921eda343e2798a0b167bae5db1fbca' })));
3374
+ return index.h("slot", { key: 'b8c60526ca9acb16821b1952b526fad452d1d5e7' });
3362
3375
  }
3363
3376
  };
3364
- SdTr.style = sdTrCss;
3365
3377
 
3366
3378
  exports.sd_button = SdButton;
3367
3379
  exports.sd_checkbox = SdCheckbox;
3368
- exports.sd_guide = SdGuide;
3369
3380
  exports.sd_icon = SdIcon;
3370
3381
  exports.sd_input = SdInput;
3382
+ exports.sd_loading_spinner = SdLoadingSpinner;
3371
3383
  exports.sd_pagination = SdPagination;
3372
3384
  exports.sd_portal = SdPortal;
3373
3385
  exports.sd_select = SdSelect;
3374
3386
  exports.sd_select_option = SdSelectOption;
3375
- exports.sd_table = SdTable;
3376
- exports.sd_tbody = SdTbody;
3377
- exports.sd_th = SdTh;
3387
+ exports.sd_table_backup = SdTable;
3378
3388
  exports.sd_tooltip = SdTooltip;
3379
3389
  exports.sd_tooltip_portal = SdTooltipPortal;
3380
- exports.sd_tr = SdTr;
3381
- //# sourceMappingURL=sd-button.sd-checkbox.sd-guide.sd-icon.sd-input.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table.sd-tbody.sd-th.sd-tooltip.sd-tooltip-portal.sd-tr.entry.cjs.js.map
3390
+ //# sourceMappingURL=sd-button.sd-checkbox.sd-icon.sd-input.sd-loading-spinner.sd-pagination.sd-portal.sd-select.sd-select-option.sd-table-backup.sd-tooltip.sd-tooltip-portal.entry.cjs.js.map