@sellmate/design-system 0.0.48 → 0.0.50

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 (235) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-DXo1Fhkn.js → index-Bxead0A0.js} +4 -2
  3. package/dist/cjs/{index-DXo1Fhkn.js.map → index-Bxead0A0.js.map} +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/{esm/color-CgyTlXBV.js → cjs/resolveColor-DxvExwgo.js} +17 -4
  6. package/dist/{esm/resolveColor-CswQ9y2Q.js.map → cjs/resolveColor-DxvExwgo.js.map} +1 -1
  7. package/dist/cjs/sd-badge.cjs.entry.js +3 -4
  8. package/dist/cjs/sd-badge.entry.cjs.js.map +1 -1
  9. 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-tooltip.sd-tooltip-portal.entry.cjs.js.map +1 -0
  10. package/dist/cjs/{sd-button_12.cjs.entry.js → sd-button_14.cjs.entry.js} +356 -105
  11. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  12. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  13. package/dist/cjs/sd-date-picker.cjs.entry.js +2 -2
  14. package/dist/cjs/sd-date-range-picker.cjs.entry.js +3 -3
  15. package/dist/cjs/sd-modal-card.cjs.entry.js +2 -3
  16. package/dist/cjs/sd-modal-card.entry.cjs.js.map +1 -1
  17. package/dist/cjs/sd-popover.cjs.entry.js +4 -4
  18. package/dist/cjs/sd-progress.cjs.entry.js +3 -3
  19. package/dist/cjs/sd-select-multiple-group.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-select-multiple.cjs.entry.js +3 -3
  21. package/dist/cjs/sd-select-option-group.cjs.entry.js +4 -4
  22. package/dist/cjs/sd-table.cjs.entry.js +1 -1
  23. package/dist/cjs/sd-tag.cjs.entry.js +2 -2
  24. package/dist/cjs/sd-tbody_3.cjs.entry.js +4 -4
  25. package/dist/cjs/sd-td.cjs.entry.js +3 -3
  26. package/dist/cjs/{tooltipArrow-DNiGFQNW.js → tooltipArrow-C7cIAuTo.js} +3 -3
  27. package/dist/cjs/{tooltipArrow-DNiGFQNW.js.map → tooltipArrow-C7cIAuTo.js.map} +1 -1
  28. package/dist/collection/collection-manifest.json +1 -0
  29. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  30. package/dist/collection/components/sd-card/sd-card.js +1 -1
  31. package/dist/collection/components/sd-date-picker/sd-date-picker.js +1 -1
  32. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  33. package/dist/collection/components/sd-guide/sd-guide.js +3 -3
  34. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  35. package/dist/collection/components/sd-input/sd-input.js +2 -2
  36. package/dist/collection/components/sd-loading-spinner/sd-loading-spinner.js +1 -1
  37. package/dist/collection/components/sd-pagination/sd-pagination.js +2 -2
  38. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  39. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  40. package/dist/collection/components/sd-progress/sd-progress.js +2 -2
  41. package/dist/collection/components/sd-radio-group/sd-radio-group.css +76 -0
  42. package/dist/collection/components/sd-radio-group/sd-radio-group.js +214 -0
  43. package/dist/collection/components/sd-radio-group/sd-radio-group.js.map +1 -0
  44. package/dist/collection/components/sd-select/sd-select-option/sd-select-option.js +1 -1
  45. package/dist/collection/components/sd-select-multiple/sd-select-multiple.js +2 -2
  46. package/dist/collection/components/sd-select-multiple-group/sd-select-option-group/sd-select-option-group.js +3 -3
  47. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +1 -1
  48. package/dist/collection/components/sd-table/sd-td/sd-td.js +2 -2
  49. package/dist/collection/components/sd-table/sd-th/sd-th.js +1 -1
  50. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +1 -1
  51. package/dist/collection/components/sd-table-backup/sd-table-backup.css +17 -15
  52. package/dist/collection/components/sd-table-backup/sd-table-backup.js +194 -87
  53. package/dist/collection/components/sd-table-backup/sd-table-backup.js.map +1 -1
  54. package/dist/collection/components/sd-tag/sd-tag.js +1 -1
  55. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  56. package/dist/collection/components/sd-tooltip-portal/sd-tooltip-portal.js +1 -1
  57. package/dist/components/index.js +1 -1
  58. package/dist/components/{p-lS2AF6uZ.js → p-BIw-hGVo.js} +6 -6
  59. package/dist/components/{p-lS2AF6uZ.js.map → p-BIw-hGVo.js.map} +1 -1
  60. package/dist/components/{p-DsXAGqf9.js → p-BSUHSOXX.js} +4 -4
  61. package/dist/components/{p-DsXAGqf9.js.map → p-BSUHSOXX.js.map} +1 -1
  62. package/dist/components/{p-C9qV_qzP.js → p-BozMKCTh.js} +6 -6
  63. package/dist/components/{p-C9qV_qzP.js.map → p-BozMKCTh.js.map} +1 -1
  64. package/dist/components/{p-BvuTaRpn.js → p-BpNH68jy.js} +3 -3
  65. package/dist/components/{p-BvuTaRpn.js.map → p-BpNH68jy.js.map} +1 -1
  66. package/dist/components/{p-Cb33bhDR.js → p-C0CLTo3o.js} +4 -4
  67. package/dist/components/{p-Cb33bhDR.js.map → p-C0CLTo3o.js.map} +1 -1
  68. package/dist/components/{p-BlDZogGu.js → p-C171iavd.js} +4 -4
  69. package/dist/components/{p-BlDZogGu.js.map → p-C171iavd.js.map} +1 -1
  70. package/dist/components/{p-CIkSynaQ.js → p-C930Kn80.js} +4 -4
  71. package/dist/components/{p-CIkSynaQ.js.map → p-C930Kn80.js.map} +1 -1
  72. package/dist/components/{p-DWfls6IE.js → p-Cq-Qitdj.js} +11 -11
  73. package/dist/components/{p-DWfls6IE.js.map → p-Cq-Qitdj.js.map} +1 -1
  74. package/dist/components/{p-D2rvzY8X.js → p-D2YMmHfl.js} +4 -4
  75. package/dist/components/{p-D2rvzY8X.js.map → p-D2YMmHfl.js.map} +1 -1
  76. package/dist/components/{p-B6GiEilD.js → p-D2aGA3BX.js} +4 -4
  77. package/dist/components/{p-B6GiEilD.js.map → p-D2aGA3BX.js.map} +1 -1
  78. package/dist/components/{p-t7JZlmXM.js → p-D8f0ASS6.js} +4 -4
  79. package/dist/components/{p-t7JZlmXM.js.map → p-D8f0ASS6.js.map} +1 -1
  80. package/dist/components/{p-CMcI4ZlP.js → p-DC5fpNnQ.js} +4 -4
  81. package/dist/components/{p-CMcI4ZlP.js.map → p-DC5fpNnQ.js.map} +1 -1
  82. package/dist/components/{p-Cafw-qR4.js → p-DY6t0qQj.js} +3 -3
  83. package/dist/components/{p-Cafw-qR4.js.map → p-DY6t0qQj.js.map} +1 -1
  84. package/dist/components/{p-DCDoqfn8.js → p-LziGti_p.js} +4 -4
  85. package/dist/components/{p-DCDoqfn8.js.map → p-LziGti_p.js.map} +1 -1
  86. package/dist/components/{p-WhZES_rm.js → p-RZm_wGW3.js} +6 -6
  87. package/dist/components/{p-WhZES_rm.js.map → p-RZm_wGW3.js.map} +1 -1
  88. package/dist/components/{p-CbnL1UUF.js → p-TFWJruz2.js} +4 -3
  89. package/dist/components/p-TFWJruz2.js.map +1 -0
  90. package/dist/components/{p-Bn_wuPsh.js → p-X8rQBuZk.js} +8 -8
  91. package/dist/components/{p-Bn_wuPsh.js.map → p-X8rQBuZk.js.map} +1 -1
  92. package/dist/components/{p-BBhUxTuK.js → p-_spt_8fG.js} +9 -9
  93. package/dist/components/{p-BBhUxTuK.js.map → p-_spt_8fG.js.map} +1 -1
  94. package/dist/components/{p-wA4KCOG0.js → p-gnOKrd57.js} +3 -3
  95. package/dist/components/{p-wA4KCOG0.js.map → p-gnOKrd57.js.map} +1 -1
  96. package/dist/components/sd-badge.js +2 -2
  97. package/dist/components/sd-button.js +1 -1
  98. package/dist/components/sd-card.js +2 -2
  99. package/dist/components/sd-checkbox.js +1 -1
  100. package/dist/components/sd-date-box.js +1 -1
  101. package/dist/components/sd-date-picker.js +6 -6
  102. package/dist/components/sd-date-range-picker.js +7 -7
  103. package/dist/components/sd-guide.js +7 -7
  104. package/dist/components/sd-icon.js +1 -1
  105. package/dist/components/sd-input.js +1 -1
  106. package/dist/components/sd-loading-spinner.js +1 -1
  107. package/dist/components/sd-modal-card.js +3 -3
  108. package/dist/components/sd-pagination.js +1 -1
  109. package/dist/components/sd-popover.js +7 -7
  110. package/dist/components/sd-portal.js +1 -1
  111. package/dist/components/sd-progress.js +3 -3
  112. package/dist/components/sd-radio-group.d.ts +11 -0
  113. package/dist/components/sd-radio-group.js +99 -0
  114. package/dist/components/sd-radio-group.js.map +1 -0
  115. package/dist/components/sd-select-multiple-group.js +7 -7
  116. package/dist/components/sd-select-multiple.js +9 -9
  117. package/dist/components/sd-select-option-group.js +1 -1
  118. package/dist/components/sd-select-option.js +1 -1
  119. package/dist/components/sd-select.js +1 -1
  120. package/dist/components/sd-table-backup.js +206 -99
  121. package/dist/components/sd-table-backup.js.map +1 -1
  122. package/dist/components/sd-table.js +14 -14
  123. package/dist/components/sd-tag.js +2 -2
  124. package/dist/components/sd-tbody.js +1 -1
  125. package/dist/components/sd-td.js +3 -3
  126. package/dist/components/sd-th.js +1 -1
  127. package/dist/components/sd-tooltip-portal.js +1 -1
  128. package/dist/components/sd-tooltip.js +1 -1
  129. package/dist/components/sd-tr.js +1 -1
  130. package/dist/design-system/design-system.esm.js +1 -1
  131. package/dist/design-system/{p-390283f7.entry.js → p-037de6ce.entry.js} +2 -2
  132. package/dist/design-system/p-154958ba.entry.js +2 -0
  133. package/dist/design-system/p-1b6aec43.entry.js +2 -0
  134. package/dist/design-system/{p-ce8fe1fd.entry.js → p-1e175d35.entry.js} +2 -2
  135. package/dist/design-system/{p-826c6517.entry.js → p-2285c061.entry.js} +2 -2
  136. package/dist/design-system/p-24ef1055.entry.js +2 -0
  137. package/dist/design-system/p-24ef1055.entry.js.map +1 -0
  138. package/dist/design-system/{p-d4b5575e.entry.js → p-267985b3.entry.js} +2 -2
  139. package/dist/design-system/p-328d7e6c.entry.js +2 -0
  140. package/dist/design-system/p-4828e65b.entry.js +2 -0
  141. package/dist/design-system/{p-871c8d66.entry.js → p-6d81e6f8.entry.js} +2 -2
  142. package/dist/design-system/p-6f16399e.entry.js +2 -0
  143. package/dist/design-system/{p-6320b9c6.entry.js.map → p-6f16399e.entry.js.map} +1 -1
  144. package/dist/design-system/{p-3574f319.entry.js → p-8d1a2a13.entry.js} +2 -2
  145. package/dist/design-system/{p-CgyTlXBV.js → p-BYf-ybt2.js} +2 -2
  146. package/dist/design-system/{p-BoLmB6pG.js.map → p-BYf-ybt2.js.map} +1 -1
  147. package/dist/design-system/p-ClyGLKUd.js +3 -0
  148. package/dist/design-system/{p-B2T3tS5r.js.map → p-ClyGLKUd.js.map} +1 -1
  149. package/dist/design-system/p-DXZjHQmQ.js +2 -0
  150. package/dist/design-system/{p-BE6EMCXm.js.map → p-DXZjHQmQ.js.map} +1 -1
  151. package/dist/design-system/p-a73bb448.entry.js +2 -0
  152. package/dist/design-system/p-a73bb448.entry.js.map +1 -0
  153. package/dist/design-system/p-b892a722.entry.js +2 -0
  154. package/dist/design-system/p-b892a722.entry.js.map +1 -0
  155. package/dist/design-system/{p-8734ded6.entry.js → p-c7e8a2c0.entry.js} +2 -2
  156. package/dist/design-system/p-ecb38b6a.entry.js +2 -0
  157. package/dist/design-system/{p-db0f705b.entry.js.map → p-ecb38b6a.entry.js.map} +1 -1
  158. package/dist/design-system/sd-badge.entry.esm.js.map +1 -1
  159. 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-tooltip.sd-tooltip-portal.entry.esm.js.map +1 -0
  160. package/dist/design-system/sd-modal-card.entry.esm.js.map +1 -1
  161. package/dist/esm/design-system.js +3 -3
  162. package/dist/esm/{index-B2T3tS5r.js → index-ClyGLKUd.js} +4 -3
  163. package/dist/esm/{index-B2T3tS5r.js.map → index-ClyGLKUd.js.map} +1 -1
  164. package/dist/esm/loader.js +3 -3
  165. package/dist/{cjs/color-Oz29vj7L.js → esm/resolveColor-BYf-ybt2.js} +14 -6
  166. package/dist/{cjs/resolveColor-CauSLF0s.js.map → esm/resolveColor-BYf-ybt2.js.map} +1 -1
  167. package/dist/esm/sd-badge.entry.js +3 -4
  168. package/dist/esm/sd-badge.entry.js.map +1 -1
  169. 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-tooltip.sd-tooltip-portal.entry.js.map +1 -0
  170. package/dist/esm/{sd-button_12.entry.js → sd-button_14.entry.js} +355 -106
  171. package/dist/esm/sd-card.entry.js +2 -2
  172. package/dist/esm/sd-date-box.entry.js +1 -1
  173. package/dist/esm/sd-date-picker.entry.js +2 -2
  174. package/dist/esm/sd-date-range-picker.entry.js +3 -3
  175. package/dist/esm/sd-modal-card.entry.js +2 -3
  176. package/dist/esm/sd-modal-card.entry.js.map +1 -1
  177. package/dist/esm/sd-popover.entry.js +4 -4
  178. package/dist/esm/sd-progress.entry.js +3 -3
  179. package/dist/esm/sd-select-multiple-group.entry.js +1 -1
  180. package/dist/esm/sd-select-multiple.entry.js +3 -3
  181. package/dist/esm/sd-select-option-group.entry.js +4 -4
  182. package/dist/esm/sd-table.entry.js +1 -1
  183. package/dist/esm/sd-tag.entry.js +2 -2
  184. package/dist/esm/sd-tbody_3.entry.js +4 -4
  185. package/dist/esm/sd-td.entry.js +3 -3
  186. package/dist/esm/{tooltipArrow-Pa2XQhpp.js → tooltipArrow-BwO7_hdW.js} +3 -3
  187. package/dist/esm/{tooltipArrow-Pa2XQhpp.js.map → tooltipArrow-BwO7_hdW.js.map} +1 -1
  188. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +24 -0
  189. package/dist/types/components/sd-table-backup/sd-table-backup.d.ts +15 -0
  190. package/dist/types/components.d.ts +59 -0
  191. package/hydrate/index.js +320 -123
  192. package/hydrate/index.mjs +320 -123
  193. package/package.json +95 -95
  194. package/dist/cjs/color-Oz29vj7L.js.map +0 -1
  195. package/dist/cjs/resolveColor-CauSLF0s.js +0 -18
  196. 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 +0 -1
  197. package/dist/cjs/sd-guide.cjs.entry.js +0 -85
  198. package/dist/cjs/sd-guide.entry.cjs.js.map +0 -1
  199. package/dist/components/p-CbnL1UUF.js.map +0 -1
  200. package/dist/design-system/p-043b7fd1.entry.js +0 -2
  201. package/dist/design-system/p-043b7fd1.entry.js.map +0 -1
  202. package/dist/design-system/p-059ca6cb.entry.js +0 -2
  203. package/dist/design-system/p-0d776157.entry.js +0 -2
  204. package/dist/design-system/p-0d776157.entry.js.map +0 -1
  205. package/dist/design-system/p-4386db36.entry.js +0 -2
  206. package/dist/design-system/p-4386db36.entry.js.map +0 -1
  207. package/dist/design-system/p-6320b9c6.entry.js +0 -2
  208. package/dist/design-system/p-7b4fe5bf.entry.js +0 -2
  209. package/dist/design-system/p-7e8db11c.entry.js +0 -2
  210. package/dist/design-system/p-B2T3tS5r.js +0 -3
  211. package/dist/design-system/p-BE6EMCXm.js +0 -2
  212. package/dist/design-system/p-BoLmB6pG.js +0 -2
  213. package/dist/design-system/p-CgyTlXBV.js.map +0 -1
  214. package/dist/design-system/p-d4e043c5.entry.js +0 -2
  215. package/dist/design-system/p-db0f705b.entry.js +0 -2
  216. package/dist/design-system/p-f9d01bdb.entry.js +0 -2
  217. package/dist/design-system/p-f9d01bdb.entry.js.map +0 -1
  218. 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 +0 -1
  219. package/dist/design-system/sd-guide.entry.esm.js.map +0 -1
  220. package/dist/esm/color-CgyTlXBV.js.map +0 -1
  221. package/dist/esm/resolveColor-CswQ9y2Q.js +0 -16
  222. 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 +0 -1
  223. package/dist/esm/sd-guide.entry.js +0 -83
  224. package/dist/esm/sd-guide.entry.js.map +0 -1
  225. /package/dist/design-system/{p-390283f7.entry.js.map → p-037de6ce.entry.js.map} +0 -0
  226. /package/dist/design-system/{p-059ca6cb.entry.js.map → p-154958ba.entry.js.map} +0 -0
  227. /package/dist/design-system/{p-7b4fe5bf.entry.js.map → p-1b6aec43.entry.js.map} +0 -0
  228. /package/dist/design-system/{p-ce8fe1fd.entry.js.map → p-1e175d35.entry.js.map} +0 -0
  229. /package/dist/design-system/{p-826c6517.entry.js.map → p-2285c061.entry.js.map} +0 -0
  230. /package/dist/design-system/{p-d4b5575e.entry.js.map → p-267985b3.entry.js.map} +0 -0
  231. /package/dist/design-system/{p-7e8db11c.entry.js.map → p-328d7e6c.entry.js.map} +0 -0
  232. /package/dist/design-system/{p-d4e043c5.entry.js.map → p-4828e65b.entry.js.map} +0 -0
  233. /package/dist/design-system/{p-871c8d66.entry.js.map → p-6d81e6f8.entry.js.map} +0 -0
  234. /package/dist/design-system/{p-3574f319.entry.js.map → p-8d1a2a13.entry.js.map} +0 -0
  235. /package/dist/design-system/{p-8734ded6.entry.js.map → p-c7e8a2c0.entry.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -3339,6 +3339,15 @@ var registerComponents = (Cstrs) => {
3339
3339
  }
3340
3340
  };
3341
3341
  var win = window;
3342
+ var readTask = (cb) => {
3343
+ nextTick(() => {
3344
+ try {
3345
+ cb();
3346
+ } catch (e) {
3347
+ consoleError(e);
3348
+ }
3349
+ });
3350
+ };
3342
3351
  var writeTask = (cb) => {
3343
3352
  nextTick(() => {
3344
3353
  try {
@@ -3680,7 +3689,7 @@ class SdBadge {
3680
3689
  label = '';
3681
3690
  render() {
3682
3691
  const resolvedColor = resolveColor(this.color);
3683
- return (hAsync(Host, { key: 'b88fba271994742a1a1d3379db44e8a307c5a308' }, hAsync("div", { key: '961c25f3f87dc51cd670aa18706d5a5f3517f8bf', class: `sd-badge sd-badge--${this.size}`, style: { '--sd-badge-color': resolvedColor } }, hAsync("div", { key: '2de1b86cc1e714a436cb2d2810b2646a2ac4fd7c', class: "sd-badge__dot" }), hAsync("div", { key: '89943a046b33c105155236a7e0b411dfbcd72487', class: "sd-badge__label" }, this.label))));
3692
+ return (hAsync(Host, { key: '88cb068e4c73a9abb0c4b7c4321ec7d861ec1395' }, hAsync("div", { key: '09371f2e449a0f1db15fe08d7045313a86555f70', class: `sd-badge sd-badge--${this.size}`, style: { '--sd-badge-color': resolvedColor } }, hAsync("div", { key: '4e7bb2717bc999d06dfa861474a833448f497431', class: "sd-badge__dot" }), hAsync("div", { key: '0711cac45b6535cd67279785dfe6a89cbbd6739a', class: "sd-badge__label" }, this.label))));
3684
3693
  }
3685
3694
  static get style() { return sdBadgeCss; }
3686
3695
  static get cmpMeta() { return {
@@ -3787,7 +3796,7 @@ class SdCard {
3787
3796
  bordered = true;
3788
3797
  class = '';
3789
3798
  render() {
3790
- return (hAsync(Host, { key: 'b39b016a66f0df13d09ff3a1ce453bb5eda23b52' }, hAsync("div", { key: '2a22dcc5ede4067ecbb2bbbe985d95ffaee3a3a6', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.class}` }, hAsync("slot", { key: 'f73cae0097be43bcd666ade2db27c585090eca75' }))));
3799
+ return (hAsync(Host, { key: 'e9653557b36889a75002c32bde005c7b480b2f4b' }, hAsync("div", { key: 'e34f53b49bdc412eaf82dbe21918cd6599d1d2c6', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.class}` }, hAsync("slot", { key: 'b5d06b44a1a960fe12424f43a39647a4646610d6' }))));
3791
3800
  }
3792
3801
  static get style() { return sdCardCss; }
3793
3802
  static get cmpMeta() { return {
@@ -4098,7 +4107,7 @@ class SdDatePicker {
4098
4107
  this.isOpen = false;
4099
4108
  };
4100
4109
  render() {
4101
- return (hAsync(Host, { key: '67bc480db5e0f16fa5af8bd75b6dde76d457b4dd', class: "sd-date-picker" }, hAsync("sd-input", { key: 'd31e41161179efb1b961ea00f7333b048e43467a', ref: el => (this.inputEl = el), value: this.date, label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, inputClass: "text-center", onClick: () => this.openMenu() }, hAsync("sd-icon", { key: '1a3c2d291628a00d217a0b20ddeb38d8590706f7', slot: "prefix", name: "date", size: "16", color: "#737373", class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (hAsync("sd-portal", { key: '85b52726ad96ed74cb42e1eda4e014eb8095face', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.handleClose }, hAsync("div", { key: 'e398ac0094ef23907b7d3a7f88b37587207ade33', class: "sd-date-picker__menu" }, hAsync("div", { key: '328de8581f0cb895bb3e6e3758a7adedbad302de', class: "sd-date-picker__header" }, hAsync("div", { key: '633feae88e423ffa6fa6eb6841a937be3558ccc5', class: "year-nav" }, hAsync("button", { key: '89c3d4593c0a2c2917003a93ac1ff0176c611d72', type: "button", name: "prev-year", title: "Previous Year", onClick: () => this.setCurrentYear(this.currentYear - 1) }, hAsync("sd-icon", { key: '140655e36c73784f4704a51a89c79ae72d237218', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("span", { key: '3917a8caec91a855b9bf6f42b3c8e856d490817a', class: "year-nav__current" }, this.currentYear), hAsync("button", { key: 'b5a7e7903594482bff30c72afaca8609b04f8aea', type: "button", name: "next-year", title: "Next Year", onClick: () => this.setCurrentYear(this.currentYear + 1) }, hAsync("sd-icon", { key: '49364c66f35a9a5e724644963f3ab276245241af', name: "arrowRight", size: "12", color: "#CCCCCC" }))), hAsync("div", { key: '153ee788090ed23b32cec5f660eeda741076b2a6', class: "month-nav" }, hAsync("button", { key: '33f7a059d08bd761cc6ca083f5fd1980017e3f2d', type: "button", name: "prev-month", title: "Previous ", onClick: () => this.handleUpdateMonth('prev') }, hAsync("sd-icon", { key: 'c641505d42a0683bea0e6b7a3db9cf6352a78d4d', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("span", { key: '5fb032ee2040e4abd333dc640c3998e3288662f2', class: "month-nav__current" }, this.currentMonth, "\uC6D4"), hAsync("button", { key: 'da13b27ba6f74fae110383e294be1d01e0d74eb1', type: "button", name: "next-month", title: "Next Month", onClick: () => this.handleUpdateMonth('next') }, hAsync("sd-icon", { key: '223b006490c3f3a3d6d7036115da2b88e801dca7', name: "arrowRight", size: "12", color: "#CCCCCC" })))), hAsync("div", { key: '1251dd00b4cb02ebddaf1aa93e1fc8a351bee10f', class: "sd-date-picker__days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (hAsync("div", { key: day, class: "day" }, day)))), hAsync("div", { key: '474772b41df806093a4e578b67420adb6a973018', class: "sd-date-picker__body" }, [
4110
+ return (hAsync(Host, { key: '3fe32fb440e95d43a7ba5ae40eebfec5b1f292f7', class: "sd-date-picker" }, hAsync("sd-input", { key: '8aa313f14bd0305c0d28ba8e388c5c7d2ae2d3ec', ref: el => (this.inputEl = el), value: this.date, label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, inputClass: "text-center", onClick: () => this.openMenu() }, hAsync("sd-icon", { key: '350af44747b5f87c0e25dc01fc8aa25590363d5b', slot: "prefix", name: "date", size: "16", color: "#737373", class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (hAsync("sd-portal", { key: '1c05d0d0b9cd54bd67b1d4411bd3ad2aded758ba', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.handleClose }, hAsync("div", { key: '273c93d7b9635ebfab1350568f30da3f62996003', class: "sd-date-picker__menu" }, hAsync("div", { key: '9da1cf5d0dc35f00018a2718787007749a84ca99', class: "sd-date-picker__header" }, hAsync("div", { key: 'c2afcc7006276eca26d4f0d0c91350a0dee070cf', class: "year-nav" }, hAsync("button", { key: '1b53d6e96c6f9ab93d67440450b35be096e9607b', type: "button", name: "prev-year", title: "Previous Year", onClick: () => this.setCurrentYear(this.currentYear - 1) }, hAsync("sd-icon", { key: '7acd8f69406a83bcc9fef1745523d997d1b3f219', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("span", { key: 'ad5f412960af38938d6efea1f0909293c3c6682c', class: "year-nav__current" }, this.currentYear), hAsync("button", { key: 'fe2480d51d8a8a3b09d3d0d5e5c5c53982ebd20d', type: "button", name: "next-year", title: "Next Year", onClick: () => this.setCurrentYear(this.currentYear + 1) }, hAsync("sd-icon", { key: 'e7175f73e5efcef04a2b33a2ee7a57d2b025c3d8', name: "arrowRight", size: "12", color: "#CCCCCC" }))), hAsync("div", { key: '76dcf13a864dffcb6a49683b590c19efb05c7367', class: "month-nav" }, hAsync("button", { key: '2d300218750da2716e2558ff3145337ee6bcfa80', type: "button", name: "prev-month", title: "Previous ", onClick: () => this.handleUpdateMonth('prev') }, hAsync("sd-icon", { key: '1972506ecb42922b6c742bd34186bdbf23f8d6b5', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("span", { key: '3037310072a6dcb71f2e662fb1dcfa07d44f2a70', class: "month-nav__current" }, this.currentMonth, "\uC6D4"), hAsync("button", { key: '7cd60a470fd27f2028935748047f76945fc4fe99', type: "button", name: "next-month", title: "Next Month", onClick: () => this.handleUpdateMonth('next') }, hAsync("sd-icon", { key: 'd656f3dd638cab72e94f12036e77f46b9ab31c7f', name: "arrowRight", size: "12", color: "#CCCCCC" })))), hAsync("div", { key: '1710f916652929515916a122affda7cbdd311153', class: "sd-date-picker__days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (hAsync("div", { key: day, class: "day" }, day)))), hAsync("div", { key: '201f7499819e88f291a3889fcbe854d2e2145fde', class: "sd-date-picker__body" }, [
4102
4111
  ...this.calendar.prevMonthDays,
4103
4112
  ...this.calendar.days,
4104
4113
  ...this.calendar.afterMonthDays,
@@ -4271,9 +4280,9 @@ class SdDateRangePicker {
4271
4280
  this.isOpen = false;
4272
4281
  };
4273
4282
  render() {
4274
- return (hAsync(Host, { key: '01d8def2e141ae3767fb57880482845a5bfcc6ca', class: "sd-date-range-picker" }, hAsync("sd-input", { key: 'f3738314482ac84517958672d2f75cdc7cd6d354', ref: el => (this.inputEl = el), value: `${this.dateRange[0]} ~ ${this.dateRange[1]}`, label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, inputClass: "text-center", inputStyle: {
4283
+ return (hAsync(Host, { key: 'b5f7be556686c3bb50147ed0b28cd47698d90e5c', class: "sd-date-range-picker" }, hAsync("sd-input", { key: 'a457ab2b61354fe100fa31e1ab357649ceef63aa', ref: el => (this.inputEl = el), value: `${this.dateRange[0]} ~ ${this.dateRange[1]}`, label: this.label, "inside-label": true, readonly: true, disabled: this.disabled, inputClass: "text-center", inputStyle: {
4275
4284
  margin: '0 0 0 8px',
4276
- }, onClick: () => this.openMenu() }, hAsync("sd-icon", { key: '2ca7e4428256374866a74bf550fd7fc825fca4c1', slot: "prefix", name: "date", size: "16", color: "#737373", class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (hAsync("sd-portal", { key: '381b44e43ed021a1200854e445f113e02112b21b', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.handleClose }, hAsync("div", { key: '47f31a5136e236899ac861cdd66a0424ed9507ee', class: "sd-date-range-picker__menu" }, hAsync("div", { key: '3c5c4050f4ea36e93b7cc02e0935f3898bca7523', class: "sd-date-range-picker__header mb-16pxr flex flex-nowrap items-center justify-center" }, hAsync("button", { key: 'b5ddf46fbc15290df316697c99502a07499452fb', type: "button", name: "prev", title: "Previous", onClick: () => this.setPrevYear(this.prevYear - 1) }, hAsync("sd-icon", { key: 'fded6383fd7a90e80cba1b222a334764bcd1f4c2', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("div", { key: 'b8408d970c42fc373b5300ce91887010e78c29f9', class: "header-label" }, this.prevYear), hAsync("button", { key: 'bc4c97952e8ae30ad685de8f966e5b0445e5f6a0', type: "button", name: "next", title: "Next", onClick: () => this.setPrevYear(this.prevYear + 1) }, hAsync("sd-icon", { key: '7dff57a2d3c44a810ab078c9418155dbadb7988d', name: "arrowRight", size: "12", color: "#CCCCCC" }))), hAsync("div", { key: '9c43dd586c0f702490093204c06102186cf27ebe', class: "sd-date-range-picker__body" }, [this.prevCalendar, this.nextCalendar].map((calendar, index) => (hAsync(Fragment, null, index === 1 && hAsync("div", { class: "separator" }), hAsync("div", { key: index, class: "calendar-container" }, hAsync("div", { class: "calendar-header" }, hAsync("button", { type: "button", name: "month", title: "Month", class: index === 0 ? 'header-button-prev' : 'header-button-next', onClick: () => this.updateYearMonth(index === 0 ? 'prev' : 'next') }, hAsync("sd-icon", { name: index === 0 ? 'arrowLeft' : 'arrowRight', size: "12", color: "#CCCCCC" })), index === 0
4285
+ }, onClick: () => this.openMenu() }, hAsync("sd-icon", { key: 'cc068925914495e21172020763c18627d3c8e8a2', slot: "prefix", name: "date", size: "16", color: "#737373", class: "date-icon", onClick: () => this.openMenu() })), this.isOpen && (hAsync("sd-portal", { key: '0486ab86c422d98aa2e86bd4d327cc42f0e72ae9', open: this.isOpen, parentRef: this.inputEl, onSdClose: this.handleClose }, hAsync("div", { key: '8b86d95d279d6f3036f2aacc0421ec4f715d91e7', class: "sd-date-range-picker__menu" }, hAsync("div", { key: '0fa223b5fdc0a8195e1fbd433c235dc4473ad146', class: "sd-date-range-picker__header mb-16pxr flex flex-nowrap items-center justify-center" }, hAsync("button", { key: '2d512e7ffa9461f18ca67236a0539cdabcb384ac', type: "button", name: "prev", title: "Previous", onClick: () => this.setPrevYear(this.prevYear - 1) }, hAsync("sd-icon", { key: 'aa23e83e33bfaaaee02f771e9aa3e7f84fe7ceae', name: "arrowLeft", size: "12", color: "#CCCCCC" })), hAsync("div", { key: '5c6e6ea57120081b466faa827e7bb014b5d20905', class: "header-label" }, this.prevYear), hAsync("button", { key: '51f89a92ca77a98283a883316981b7df08e1fcef', type: "button", name: "next", title: "Next", onClick: () => this.setPrevYear(this.prevYear + 1) }, hAsync("sd-icon", { key: '19a594a16b65668db23f5e77e61db7182591ac57', name: "arrowRight", size: "12", color: "#CCCCCC" }))), hAsync("div", { key: '21073a5c2d4dd68aa4dce7be48eab0339dd3791d', class: "sd-date-range-picker__body" }, [this.prevCalendar, this.nextCalendar].map((calendar, index) => (hAsync(Fragment, null, index === 1 && hAsync("div", { class: "separator" }), hAsync("div", { key: index, class: "calendar-container" }, hAsync("div", { class: "calendar-header" }, hAsync("button", { type: "button", name: "month", title: "Month", class: index === 0 ? 'header-button-prev' : 'header-button-next', onClick: () => this.updateYearMonth(index === 0 ? 'prev' : 'next') }, hAsync("sd-icon", { name: index === 0 ? 'arrowLeft' : 'arrowRight', size: "12", color: "#CCCCCC" })), index === 0
4277
4286
  ? `${this.prevYear}.${String(this.prevMonth).padStart(2, '0')}`
4278
4287
  : `${this.nextYear}.${String(this.nextMonth).padStart(2, '0')}`), hAsync("div", { class: "calendar-days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (hAsync("sd-date-box", { key: day, date: day, disabled: true, class: "day" })))), hAsync("div", { class: "calendar-body mt-12pxr grid grid-cols-7 gap-y-8pxr" }, [...calendar.prevMonthDays, ...calendar.days, ...calendar.afterMonthDays].map((day, idx) => (hAsync("sd-date-box", { key: `prev${day}_${idx}`, date: !day ? '' : Number(day), selected: this.dateRange.some(date => date ===
4279
4288
  this.dateUtil.formatDate(index === 0 ? this.prevYear : this.nextYear, index === 0 ? this.prevMonth : this.nextMonth, Number(day))), type: this.getDateBoxType(this.dateUtil.formatDate(index === 0 ? this.prevYear : this.nextYear, index === 0 ? this.prevMonth : this.nextMonth, Number(day))), isToday: today ===
@@ -4356,11 +4365,11 @@ class SdGuide {
4356
4365
  };
4357
4366
  render() {
4358
4367
  const { name: iconName, size: iconSize, color: iconColor } = GUIDE_ICON[this.type];
4359
- return (hAsync(Host, { key: '8de1cc4591dd1294a374421965322d6a958c9797', style: {
4368
+ return (hAsync(Host, { key: 'd9bf823d000e8181c61798d9656c428c4a3cd6b6', style: {
4360
4369
  '--sd-guide-color': GUIDE_ICON[this.type].color,
4361
- } }, hAsync("sd-button", { key: '8dc820b941d8e3003f2440a4fa1ccd36be0a854e', ref: el => (this.guideRef = el), class: this.guideClass, variant: this.popupShow ? 'primary' : 'outline', label: this.label || GUIDE_LABEL[this.type], size: "sm", color: this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45', icon: iconName, iconColor: this.popupShow ? 'white' : iconColor, iconSize: iconSize, noHover: this.popupShow, onSdClick: this.handleClickGuide }), this.type === 'help' && this.popupShow && (hAsync("sd-portal", { key: 'd8cbafa686da33b2ced3a00fe13f673ebab247e5', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, hAsync("div", { key: 'f5048c842dcec0414ee747f69c2033b688ba1672', class: "sd-guide__popup", style: { width: this.popupWidth ? this.popupWidth + 'px' : '426px' } }, hAsync("sd-button", { key: 'a7cb87e50b7b9ff3a40742cd4881ac8c413f18a5', class: "sd-guide__popup__close", icon: "close", color: colors$1.grey_65, size: "md", variant: "ghost", noHover: true,
4370
+ } }, hAsync("sd-button", { key: 'fd25039c644bdd6e802624f2cbef3bfb4d797220', ref: el => (this.guideRef = el), class: this.guideClass, variant: this.popupShow ? 'primary' : 'outline', label: this.label || GUIDE_LABEL[this.type], size: "sm", color: this.popupShow ? GUIDE_ICON[this.type].color : 'grey_45', icon: iconName, iconColor: this.popupShow ? 'white' : iconColor, iconSize: iconSize, noHover: this.popupShow, onSdClick: this.handleClickGuide }), this.type === 'help' && this.popupShow && (hAsync("sd-portal", { key: '3bb296fa9a9419534af30fe3d2e2dd1bffe2aa53', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, hAsync("div", { key: '2aacb47b2acedceb9114737da8d061022fea27a8', class: "sd-guide__popup", style: { width: this.popupWidth ? this.popupWidth + 'px' : '426px' } }, hAsync("sd-button", { key: 'd4e3a1b49d15782a2b4cc50d6ebfc62ca19da555', class: "sd-guide__popup__close", icon: "close", color: colors$1.grey_65, size: "md", variant: "ghost", noHover: true,
4362
4371
  // buttonStyle={{ padding: '0px', minHeight: '0px' }}
4363
- onSdClick: this.closeDropdown }), hAsync("div", { key: 'dd2a7ceeb8fa28c2d430a2d10778b87db5bc576d', class: "sd-guide__popup__header" }, hAsync("sd-icon", { key: '40ccb8d9fc31c7f0c68ce4fd8aacbfdf7e4cf4dc', name: "helpOutline", size: 24, color: colors$1.green_65 }), hAsync("h3", { key: '55726b9de8d9cd996154700ffb0c5178face6916', class: "sd-guide__popup__title" }, this.popupTitle || GUIDE_LABEL[this.type])), hAsync("ul", { key: '3221ed8367735883cb65c8ab66b63d977eae24dd', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
4372
+ onSdClick: this.closeDropdown }), hAsync("div", { key: 'ca5d8332066af0bac3083443488c3ebe5c064931', class: "sd-guide__popup__header" }, hAsync("sd-icon", { key: '752a3ea8dde595e459b0681b317486c3896aa71f', name: "helpOutline", size: 24, color: colors$1.green_65 }), hAsync("h3", { key: '52d5bdae6b82d9aabbf8dc98c2f05379fb8ffe7d', class: "sd-guide__popup__title" }, this.popupTitle || GUIDE_LABEL[this.type])), hAsync("ul", { key: '07fe0fe4f2b9831721e95f318dfcd818ee11a415', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
4364
4373
  }
4365
4374
  // 현재 2depth까지만 스타일 적용
4366
4375
  renderListItem(message, depth = 0) {
@@ -6406,7 +6415,7 @@ class SdIcon {
6406
6415
  }
6407
6416
  render() {
6408
6417
  const IconComponent = Icons[this.name]?.[this.size];
6409
- return (hAsync("i", { key: '738453a8bc8d1b9bb67fbaaffb7de203c2982c30', class: this.getIconClasses(), style: this.iconStyle }, hAsync(IconComponent, { key: '2f970609756be608b660a522949dd79cca64fcc8', color: this.resolvedColor })));
6418
+ return (hAsync("i", { key: '856cad8bb2373b0d86734443144f79770c0715ec', class: this.getIconClasses(), style: this.iconStyle }, hAsync(IconComponent, { key: 'd2a06ebbda1317cb72fec996b3bf3008ba171070', color: this.resolvedColor })));
6410
6419
  }
6411
6420
  static get style() { return sdIconCss; }
6412
6421
  static get cmpMeta() { return {
@@ -6526,11 +6535,11 @@ class SdInput {
6526
6535
  '--input-width': typeof this.width === 'number' ? `${this.width}px` : this.width,
6527
6536
  }
6528
6537
  : {};
6529
- return (hAsync(Host, { key: '87a102220530a2e06620619967f1925f193b4794', style: inputWidth }, this.label && hAsync("div", { key: 'dec1ef5b27dadc7b2c6c0e9f5dab978b338b5a45', class: "sd-input__label" }, this.label), hAsync("label", { key: '72ba8b8b0019fd1bfc222207df4b42735457873d', class: {
6538
+ return (hAsync(Host, { key: '0fc9bec4559137ede7daa7f2da5df00595991d5a', style: inputWidth }, this.label && hAsync("div", { key: '3fd4e7d08aca431d7743ec4249a221c77f2fefd1', class: "sd-input__label" }, this.label), hAsync("label", { key: 'bc80c41ffcb1312261b1139dcd0c390db32932df', class: {
6530
6539
  'sd-input': true,
6531
6540
  [this.getInputStatus()]: true,
6532
6541
  'sd-input--barcode': !!this.barcode,
6533
- }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("slot", { key: '7745177f5638351670adb3610325d44df156826e', name: "prefix" }), hAsync("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) }), hAsync("slot", { key: 'b62387e0c2122cfb9f5599a108d54682df59fef6', name: "suffix" }), this.clearable && this.internalValue && (hAsync("sd-icon", { key: 'b860d9c2387adf97d7317bba550b169ac9f4ac49', name: "close", color: "#888", class: "sd-input__clear-icon", onClick: () => {
6542
+ }, onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: this.inputStyle }, hAsync("slot", { key: 'b1df6c52c2dc92adde26cd535b008d35bc1c73d2', name: "prefix" }), hAsync("input", { key: '5c02cca10b415521d569151c3b05cd9b2ae4b9b7', 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) }), hAsync("slot", { key: 'f85912a8f17712d0a4950a68d10d885556a1de44', name: "suffix" }), this.clearable && this.internalValue && (hAsync("sd-icon", { key: '3087e7d22f06e2b29d17b37d2e95bdcbcc511bd4', name: "close", color: "#888", class: "sd-input__clear-icon", onClick: () => {
6534
6543
  this.internalValue = '';
6535
6544
  this.sdChange?.emit(this.internalValue);
6536
6545
  this.sdInput?.emit(this.internalValue);
@@ -6577,7 +6586,7 @@ class SdLoadingSpinner {
6577
6586
  registerInstance(this, hostRef);
6578
6587
  }
6579
6588
  render() {
6580
- return (hAsync(Host, { key: '54446b42c83eff572c2d0d63c367a7e407d722a5' }, hAsync("svg", { key: '92ad1f0446dc5912a656512d09ab4b8b3b262156', class: "sd-loading-spinner text-positive", width: "72px", height: "72px", viewBox: "25 25 50 50" }, hAsync("circle", { key: 'b9b0c2ea5233fb5f5c784d0262c6ba526dc00622', class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "5", "stroke-miterlimit": "10" }))));
6589
+ return (hAsync(Host, { key: 'd064701b25e190fc5b7feefb542cbc7d30afc3f3' }, hAsync("svg", { key: 'ec37a9ebea3e5b48817c687fae543186bb3cf29a', class: "sd-loading-spinner text-positive", width: "72px", height: "72px", viewBox: "25 25 50 50" }, hAsync("circle", { key: '0b61caa65955019ddb08ed52a51718cf3f55a6e3', class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": "5", "stroke-miterlimit": "10" }))));
6581
6590
  }
6582
6591
  static get style() { return sdLoadingSpinnerCss; }
6583
6592
  static get cmpMeta() { return {
@@ -6729,12 +6738,12 @@ class SdPagination {
6729
6738
  }
6730
6739
  }
6731
6740
  render() {
6732
- return (hAsync("div", { key: '3b65d74d4b70b8b3292a20daa5d89ffb7d9a66e7', class: this.paginationClasses }, hAsync("div", { key: 'a3be2b1c24ac6ac7ecde25223d9208e63e558bf3', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (hAsync("div", { class: "pagination-info" }, hAsync("span", { class: "current-page" }, this.currentPage), hAsync("span", null, "/"), hAsync("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (hAsync("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
6741
+ return (hAsync("div", { key: 'c8c241301297c8281d02643f5a31c97f77706fff', class: this.paginationClasses }, hAsync("div", { key: '12ca5b852a648b168928934729d2215f6648bcc1', class: "prepend-btns" }, this.renderPrevButtons()), this.simple ? (hAsync("div", { class: "pagination-info" }, hAsync("span", { class: "current-page" }, this.currentPage), hAsync("span", null, "/"), hAsync("span", { class: "last-page" }, this.lastPage))) : (this.pageNumbers.map(n => (hAsync("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
6733
6742
  'pagination-btn': true,
6734
6743
  'pagination-btn--selected': this.currentPage === n,
6735
6744
  }, disabled: this.currentPage === n, style: {
6736
6745
  '--pagination-btn-width': `${this.buttonWidth}px`,
6737
- }, onClick: () => this.handlePageChange(n) }, n)))), hAsync("div", { key: '9c145c18eacc2ab0115d162cbb50e5ad3ea62c80', class: "append-btns" }, this.renderNextButtons())));
6746
+ }, onClick: () => this.handlePageChange(n) }, n)))), hAsync("div", { key: '0ff537ba6e5985be1e055f5b9eab5dd86dd11624', class: "append-btns" }, this.renderNextButtons())));
6738
6747
  }
6739
6748
  static get style() { return sdPaginationCss; }
6740
6749
  static get cmpMeta() { return {
@@ -6788,11 +6797,11 @@ class SdPopover {
6788
6797
  this.showPopover = false;
6789
6798
  };
6790
6799
  render() {
6791
- return (hAsync(Fragment, { key: '60031ca070a366a90f74d93908ec956076b4e8be' }, this.label ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })), this.showPopover && (hAsync("sd-tooltip-portal", { key: '199246e3638600c05ae9f9cab99c00540f2525ef', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: this.placement }, hAsync("div", { key: '204b3dcf316277e5b2ce4fab3273c7726f1485c7', class: {
6800
+ return (hAsync(Fragment, { key: '596dfc584e73c7d7093e15a91046e14b7801138a' }, this.label ? (hAsync("sd-button", { ref: el => (this.buttonEl = el), label: this.label, icon: this.icon, size: this.buttonSize, color: this.color, variant: this.buttonVariant, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-popover", onClick: () => (this.showPopover = !this.showPopover) })), this.showPopover && (hAsync("sd-tooltip-portal", { key: '9bf784d6946cd5fd8b6ecfd3a6e9d976f44a2a90', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: this.placement }, hAsync("div", { key: '409afdeee8e96ce019594cd2aaa16034e4339a35', class: {
6792
6801
  'sd-popover-menu': true,
6793
6802
  [`sd-popover-menu--${this.placement}`]: true,
6794
6803
  [this.menuClass]: !!this.menuClass,
6795
- } }, hAsync("i", { key: '344b1aace077490124078499dbcc08c3bc9af92d', class: `sd-popover-menu__arrow sd-popover-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: 'be3b82a87f9292d44177927330e0b7d7b1ba2c0f' })), hAsync("div", { key: 'ac1223f53514958384fa1b3e7f3bad84933436cd', class: "sd-popover-menu__content" }, this.menuTitle && hAsync("div", { key: 'a191a3fa975ff94711a6bbc7ab2fdc4bea0d5f9c', class: "sd-popover-menu__title" }, this.menuTitle), this.messages.length > 0 && (hAsync("div", { key: 'a830419f35e0cdf43cf4059d1a815d4b169a4625', class: "sd-popover-menu__messages" }, this.messages.map(message => (hAsync("div", null, message))))), this.buttons.length > 0 && (hAsync("div", { key: 'd66775a5ec5899caa040e0ae53a1bce0eea3c167', class: `sd-popover-menu__buttons sd-popover-menu__buttons--${this.buttons.length}` }, this.buttons.map(button => (hAsync("sd-button", { ...button })))))), this.useClose && (hAsync("button", { key: '19f1f43ec6908e51f3f5b07268f0c59c3f1db1fe', class: "sd-popover-menu__close-button", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: 'b658485e35e837c50886da6cf911d1b9d8f81ff1', name: "close", size: "12", color: "#AAAAAA" }))))))));
6804
+ } }, hAsync("i", { key: '2ff3545fb7b13c11d4f128616a68f0a230087447', class: `sd-popover-menu__arrow sd-popover-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: '3da84311b01c95d92b91327ce66e49e1d0243b37' })), hAsync("div", { key: 'aa861155d8c9194dffafd8b834e58108995f33ed', class: "sd-popover-menu__content" }, this.menuTitle && hAsync("div", { key: '534c0871ff6b909c87eba179be23c7e2fa4ce0e9', class: "sd-popover-menu__title" }, this.menuTitle), this.messages.length > 0 && (hAsync("div", { key: 'a601e50189ca95fa007e68edf64c1a0aa1e990d0', class: "sd-popover-menu__messages" }, this.messages.map(message => (hAsync("div", null, message))))), this.buttons.length > 0 && (hAsync("div", { key: '63ee5c3dcdf167e0b35b5ed96a516b91ff007355', class: `sd-popover-menu__buttons sd-popover-menu__buttons--${this.buttons.length}` }, this.buttons.map(button => (hAsync("sd-button", { ...button })))))), this.useClose && (hAsync("button", { key: '6f8f0a6dfd113603105652686b5426e3a0313d4e', class: "sd-popover-menu__close-button", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: '9f1aedb7e6e9e519fa890856ea9c185e393f5f43', name: "close", size: "12", color: "#AAAAAA" }))))))));
6796
6805
  }
6797
6806
  static get watchers() { return {
6798
6807
  "show": ["watchShowHandler"]
@@ -6943,7 +6952,7 @@ class SdPortal {
6943
6952
  this.sdClose.emit();
6944
6953
  }
6945
6954
  render() {
6946
- return hAsync("slot", { key: 'b24b7f844564365e887dc8cee8b98e26a94961cd' });
6955
+ return hAsync("slot", { key: '2f6a1908864a2b5bbe86127fbf41b6b44a599666' });
6947
6956
  }
6948
6957
  static get cmpMeta() { return {
6949
6958
  "$flags$": 772,
@@ -6980,10 +6989,10 @@ class SdProgress {
6980
6989
  error: '#FB4444',
6981
6990
  };
6982
6991
  render() {
6983
- return (hAsync(Host, { key: 'e5a1be5c3343e0645db107b076fac36d1a935ca7', style: {
6992
+ return (hAsync(Host, { key: 'fa4a0bdd1e76231bc3ff349c5e94a18f1d747bf4', style: {
6984
6993
  '--progress-color': this.statusColor[this.status],
6985
6994
  '--progress-percentage': `${this.percentage}%`,
6986
- } }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && hAsync("div", { key: 'd2676df17ad3474f88d3c0972802a7b373b5652e', class: "sd-progress__label" }, this.label)));
6995
+ } }, this.type === 'bar' ? this.renderBarProgress() : this.renderSpinnerProgress(), this.label && hAsync("div", { key: '2c356835e29ec88765f0be0efbe9ee416f1e27ea', class: "sd-progress__label" }, this.label)));
6987
6996
  }
6988
6997
  renderBarProgress() {
6989
6998
  return (hAsync("div", { class: `sd-progress__bar sd-progress__bar--${this.status}` }, hAsync("div", { class: ['sd-progress__bar__percent', this.percentage < 100 ? 'proceed' : ''].join(' ') }), hAsync("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--left" }, this.percentage, "%"), hAsync("div", { class: "sd-progress__bar__indicator sd-progress__bar__indicator--right" }, this.percentage, "%")));
@@ -7014,6 +7023,86 @@ class SdProgress {
7014
7023
  }; }
7015
7024
  }
7016
7025
 
7026
+ const sdRadioGroupCss = "sd-radio-group{display:inline-block}sd-radio-group .sd-radio-group{display:flex}sd-radio-group .sd-radio-group--vertical{flex-direction:column;gap:8px}sd-radio-group .sd-radio-group--horizontal{flex-direction:row;align-items:center;gap:20px}sd-radio-group .sd-radio-group__option{width:fit-content;display:flex;align-items:center;gap:8px;font-weight:400;font-size:12px;line-height:20px;cursor:pointer}sd-radio-group .sd-radio-group__option:has(input:disabled){cursor:default}sd-radio-group .sd-radio-group__option input{position:relative;appearance:none;margin:0;width:16px;height:16px;border:1px solid #888888;border-radius:50%;cursor:pointer;accent-color:#0075ff;background-color:white}sd-radio-group .sd-radio-group__option input:checked{border-color:#0075ff;background-color:white}sd-radio-group .sd-radio-group__option input:checked::before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:10px;height:10px;border-radius:50%;background-color:#0075ff}sd-radio-group .sd-radio-group__option input:disabled{cursor:default;border-color:#cccccc;background-color:#eeeeee}sd-radio-group .sd-radio-group__option input:disabled:checked::before{background-color:#cccccc}sd-radio-group .sd-radio-group__option input:not(:disabled):hover{border-color:#0075ff;background-color:#d9eaff}sd-radio-group .sd-radio-group__label{font-size:12px;color:#333333;line-height:20px;user-select:none}sd-radio-group .sd-radio-group__option--disabled .sd-radio-group__label{color:#888888}";
7027
+
7028
+ class SdRadioGroup {
7029
+ constructor(hostRef) {
7030
+ registerInstance(this, hostRef);
7031
+ this.sdChange = createEvent(this, "sdChange");
7032
+ }
7033
+ value;
7034
+ radioOptions = [];
7035
+ direction = 'vertical';
7036
+ disabled = false;
7037
+ name;
7038
+ selectedValue;
7039
+ sdChange;
7040
+ componentWillLoad() {
7041
+ if (this.value) {
7042
+ this.selectedValue = this.value;
7043
+ }
7044
+ }
7045
+ valueChanged(newValue) {
7046
+ this.selectedValue = newValue;
7047
+ }
7048
+ handleRadioChange = (optionValue, optionDisabled) => {
7049
+ if (this.disabled || optionDisabled)
7050
+ return;
7051
+ this.selectedValue = optionValue;
7052
+ this.value = optionValue;
7053
+ this.sdChange.emit(optionValue);
7054
+ };
7055
+ isOptionSelected(option) {
7056
+ return this.selectedValue === option.value;
7057
+ }
7058
+ isOptionDisabled(option) {
7059
+ return this.disabled || !!option.disabled;
7060
+ }
7061
+ getRadioClasses(option) {
7062
+ const classes = [
7063
+ 'sd-radio-group__option',
7064
+ this.isOptionSelected(option)
7065
+ ? 'sd-radio-group__option--selected'
7066
+ : 'sd-radio-group__option--unselected',
7067
+ ];
7068
+ if (this.isOptionDisabled(option)) {
7069
+ classes.push('sd-radio-group__option--disabled');
7070
+ }
7071
+ return classes.join(' ');
7072
+ }
7073
+ getGroupClasses() {
7074
+ const classes = ['sd-radio-group', `sd-radio-group--${this.direction}`];
7075
+ return classes.join(' ');
7076
+ }
7077
+ render() {
7078
+ const groupName = this.name || `sd-radio-group-${Math.random().toString(36).substring(2, 11)}`;
7079
+ return (hAsync("div", { key: 'd8f9d161395e7125bb65411ee6831e7e290900ba', class: this.getGroupClasses(), role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.radioOptions.map((option, index) => {
7080
+ const isSelected = this.isOptionSelected(option);
7081
+ const isDisabled = this.isOptionDisabled(option);
7082
+ return (hAsync("label", { key: `radio-${index}`, class: this.getRadioClasses(option), role: "radio", "aria-checked": isSelected.toString(), "aria-disabled": isDisabled.toString(), "aria-label": option.label || 'radio option' }, hAsync("input", { type: "radio", name: groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && hAsync("span", { class: "sd-radio-group__label" }, option.label)));
7083
+ })));
7084
+ }
7085
+ static get watchers() { return {
7086
+ "value": ["valueChanged"]
7087
+ }; }
7088
+ static get style() { return sdRadioGroupCss; }
7089
+ static get cmpMeta() { return {
7090
+ "$flags$": 768,
7091
+ "$tagName$": "sd-radio-group",
7092
+ "$members$": {
7093
+ "value": [1544],
7094
+ "radioOptions": [1040],
7095
+ "direction": [1],
7096
+ "disabled": [4],
7097
+ "name": [1],
7098
+ "selectedValue": [32]
7099
+ },
7100
+ "$listeners$": undefined,
7101
+ "$lazyBundleId$": "-",
7102
+ "$attrsToReflect$": [["value", "value"]]
7103
+ }; }
7104
+ }
7105
+
7017
7106
  class DropdownManager {
7018
7107
  static instance;
7019
7108
  activeDropdowns = new Set();
@@ -7611,11 +7700,11 @@ class SdSelectMultiple extends BaseDropdownEvent {
7611
7700
  '--select-width': this.width || '200px',
7612
7701
  '--select-dropdown-height': this.dropdownHeight || '260px',
7613
7702
  };
7614
- return (hAsync(Host, { key: '0e488c3906b12e73abc6e6216e14b2b4e6a130c8', style: style }, hAsync("div", { key: '714a95f446631269a19e44d098ef0dc81c7c6fd5', class: {
7703
+ return (hAsync(Host, { key: '356e513b8d7e856ed22d5358027b163463d55c1d', style: style }, hAsync("div", { key: '3a75650badea618ed89899de57fbd25c020df6d0', class: {
7615
7704
  'sd-select-multiple': true,
7616
7705
  'sd-select-multiple--open': this.isOpen,
7617
7706
  'sd-select-multiple--disabled': this.disabled,
7618
- }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: '08912b8586c926107cbcaed28b73bd6eb94d47d9', class: "sd-select-multiple__container" }, this.renderTrigger(), this.renderDropdown()))));
7707
+ }, ref: el => (this.selectRef = el) }, this.renderLabel(this.label), hAsync("div", { key: 'e42235a132e3c13e9a996206ab7f58698ab97fe1', class: "sd-select-multiple__container" }, this.renderTrigger(), this.renderDropdown()))));
7619
7708
  }
7620
7709
  renderLabel(label) {
7621
7710
  if (!label)
@@ -8145,7 +8234,7 @@ class SdSelectOption {
8145
8234
  }
8146
8235
  };
8147
8236
  render() {
8148
- return (hAsync(Host, { key: 'f1874b4e539573ddaa48cb2bdc9d13ea96bf350e' }, hAsync("div", { key: '5a3bbd66f6623a1c02d5e1295bb974e82883b8a1', class: {
8237
+ return (hAsync(Host, { key: '7cf5b51057f8eb7ad7cf7143225bcd842e5fa231' }, hAsync("div", { key: 'ab9e02db38a0717b9aeb85890b150a6e59a9f7ee', class: {
8149
8238
  'sd-select__option': true,
8150
8239
  'sd-select__option--selected': this.isSelected,
8151
8240
  'sd-select__option--disabled': !!this.option.disabled,
@@ -8231,7 +8320,7 @@ class SdSelectOptionGroup {
8231
8320
  }
8232
8321
  };
8233
8322
  render() {
8234
- return (hAsync("div", { key: 'e96411f172ed4ed5359fef2a124bf49df88e10ec', class: {
8323
+ return (hAsync("div", { key: '2d1e55e35c77246a2df6856b2e7053cc21aabfc5', class: {
8235
8324
  'sd-select__option-group': true,
8236
8325
  'sd-select__option-group--selected': !!this.isSelected,
8237
8326
  'sd-select__option-group--disabled': !!this.option.disabled,
@@ -8240,10 +8329,10 @@ class SdSelectOptionGroup {
8240
8329
  'sd-select__option-group--group': this.option.type === 'group',
8241
8330
  'sd-select__option-group--subgroup': this.option.type === 'subgroup',
8242
8331
  'sd-select__option-group--item': this.option.type === 'item',
8243
- }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, hAsync("div", { key: 'fa9464cac1ee58b46b983f17882eeb847e3dc9b7', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (hAsync("sd-checkbox", { key: 'f9a7ab839d566671d6ee9e7164424d307a81f2d6', checked: this.isSelected, disabled: this.option.disabled, onClick: e => {
8332
+ }, onMouseEnter: () => (this.isHovered = true), onMouseLeave: () => (this.isHovered = false), style: this.optionStyle, "data-index": this.index, onClick: event => this.handleClick(this.option, this.isSelected, event) }, hAsync("div", { key: '33ce9985f9c94502d103d81b3678abdb732dfadb', class: "sd-select__option-group__label-wrapper" }, this.useCheckbox && (hAsync("sd-checkbox", { key: '262ec7ac68b981b5a69c21a5785c2c4ff5db7966', checked: this.isSelected, disabled: this.option.disabled, onClick: e => {
8244
8333
  e.preventDefault();
8245
8334
  this.handleClick(this.option, this.isSelected, e);
8246
- } })), hAsync("span", { key: 'ee27fb5e2d14acf898c7ce1e22b8cbffe59cec31', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (hAsync("span", { key: 'aaf9552da0a665ac34848ab5649d5993133394c4', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
8335
+ } })), hAsync("span", { key: 'f9c89b082413da5914e166d53e1fd9bc269395ce', class: "sd-select__option-group-label" }, this.option.label), this.useIndicator && this.option.type !== 'item' && (hAsync("span", { key: 'eaec735454f0b3c102397352d7863662fa933b24', class: "sd-select__option-group__count-indicator" }, `(${this.countInfo?.selectedCount}/${this.countInfo?.totalCount})`)))));
8247
8336
  }
8248
8337
  static get style() { return sdSelectOptionGroupCss; }
8249
8338
  static get cmpMeta() { return {
@@ -8536,7 +8625,7 @@ let SdTable$1 = class SdTable {
8536
8625
  }; }
8537
8626
  };
8538
8627
 
8539
- 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-container-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-container-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, --table-container-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]:not(.sd-table__virtual-row-spacer) 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:var(--table-width, 100%);height:var(--table-container-height, 100%);min-height:var(--table-container-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%)}.sd-table__wrapper .sd-table__virtual-spacer,.sd-table__wrapper .sd-table__virtual-row-spacer{padding:0}.sd-table__wrapper .sd-table__virtual-spacer td,.sd-table__wrapper .sd-table__virtual-row-spacer td{padding:0;border:none}.sd-table__wrapper .sd-table__virtual-spacer .sd-table__skeleton,.sd-table__wrapper .sd-table__virtual-row-spacer .sd-table__skeleton{width:100%;height:100%;background-image:repeating-linear-gradient(0deg, rgba(246, 246, 246, 0.3) 0px, rgba(225, 225, 225, 0.5) calc(var(--row-height, 44px) / 2), rgba(246, 246, 246, 0.3) var(--row-height, 44px));background-size:100% 200%;animation:skeleton-loading 1.5s ease-in-out infinite;position:relative}.sd-table__wrapper .sd-table__virtual-spacer .sd-table__skeleton::before,.sd-table__wrapper .sd-table__virtual-row-spacer .sd-table__skeleton::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--row-height, 44px) - 1px), #e1e1e1 calc(var(--row-height, 44px) - 1px), #e1e1e1 var(--row-height, 44px));pointer-events:none}.sd-table__wrapper .sd-table__skeleton-cell{width:100%;height:20px;background:linear-gradient(90deg, rgba(246, 246, 246, 0.3) 0%, rgba(225, 225, 225, 0.5) 50%, rgba(246, 246, 246, 0.3) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}";
8628
+ 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-container-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;min-height:var(--table-container-height, auto)}.sd-table__wrapper .sd-table__container .sd-table__middle--scrollable{height:var(--table-container-height, auto)}.sd-table__wrapper .sd-table__container .sd-table__middle--loading{overflow:hidden !important;pointer-events:none}.sd-table__wrapper .sd-table__container .sd-table__middle--loading__spinner{position:absolute;top:0;left:0;width:100%;height:var(--table-container-height, 100%);min-height:var(--table-container-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{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, --table-container-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]:not(.sd-table__virtual-row-spacer) 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 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%)}.sd-table__wrapper .sd-table__virtual-spacer,.sd-table__wrapper .sd-table__virtual-row-spacer{padding:0 !important}.sd-table__wrapper .sd-table__virtual-spacer td,.sd-table__wrapper .sd-table__virtual-row-spacer td{padding:0 !important;border:none}.sd-table__wrapper .sd-table__virtual-spacer .sd-table__skeleton,.sd-table__wrapper .sd-table__virtual-row-spacer .sd-table__skeleton{width:100%;height:100%;background-image:repeating-linear-gradient(0deg, rgba(246, 246, 246, 0.3) 0px, rgba(225, 225, 225, 0.5) calc(var(--row-height, 44px) / 2), rgba(246, 246, 246, 0.3) var(--row-height, 44px));background-size:100% 200%;animation:skeleton-loading 1.5s ease-in-out infinite;position:relative}.sd-table__wrapper .sd-table__virtual-spacer .sd-table__skeleton::before,.sd-table__wrapper .sd-table__virtual-row-spacer .sd-table__skeleton::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--row-height, 44px) - 1px), #e1e1e1 calc(var(--row-height, 44px) - 1px), #e1e1e1 var(--row-height, 44px));pointer-events:none}.sd-table__wrapper .sd-table__skeleton-cell{width:100%;height:20px;background:linear-gradient(90deg, rgba(246, 246, 246, 0.3) 0%, rgba(225, 225, 225, 0.5) 50%, rgba(246, 246, 246, 0.3) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:0% 0%}50%{background-position:100% 100%}100%{background-position:0% 0%}}";
8540
8629
 
8541
8630
  class SdTable {
8542
8631
  constructor(hostRef) {
@@ -8595,6 +8684,7 @@ class SdTable {
8595
8684
  virtualStartColIdx = 0;
8596
8685
  virtualEndColIdx = 0;
8597
8686
  scrollLeftPosition = 0;
8687
+ // 가상 스크롤 Raf(Request Animation Frame) 관리
8598
8688
  scrollRequestAnimationFrame = null;
8599
8689
  scrollContainer = null;
8600
8690
  rafScheduled = false;
@@ -8602,19 +8692,39 @@ class SdTable {
8602
8692
  vertical: false,
8603
8693
  horizontal: false,
8604
8694
  };
8695
+ // 상태 캐시값
8696
+ cachedVisibleColumns = null;
8697
+ lastColumnsRef = null;
8698
+ cachedVirtualRows = null;
8699
+ cachedVirtualIndexKey = '';
8700
+ cachedColumnOrder = null;
8701
+ lastColumnOrderKey = '';
8702
+ // DOM 측정 캐시값
8703
+ cachedContainerHeight = 0;
8704
+ cachedContainerWidth = 0;
8705
+ // 스타일 캐시
8706
+ stickyStyleCache = new Map();
8707
+ // isAllChecked 캐시
8708
+ cachedIsAllChecked;
8709
+ lastSelectionKey = '';
8710
+ onScroll;
8605
8711
  handleColumnsChange(newCols) {
8606
8712
  this.columnWidths = newCols.map(c => parseInt(c.width || '120', 10));
8713
+ this.cleanUpVirtualCache();
8714
+ this.stickyStyleCache.clear();
8607
8715
  if (this.useVirtualScroll.horizontal) {
8608
8716
  this.scheduleUpdate('horizontal');
8609
8717
  }
8610
8718
  }
8611
8719
  handleColumnWidthsChange() {
8720
+ this.stickyStyleCache.clear();
8612
8721
  if (this.useVirtualScroll.horizontal) {
8613
8722
  this.scheduleUpdate('horizontal');
8614
8723
  }
8615
8724
  }
8616
8725
  handleRowsChange(newRows) {
8617
8726
  this.innerRows = [...newRows];
8727
+ this.cleanUpVirtualCache();
8618
8728
  if (this.useVirtualScroll.vertical) {
8619
8729
  this.scheduleUpdate('vertical');
8620
8730
  }
@@ -8622,11 +8732,19 @@ class SdTable {
8622
8732
  handleSelectedChange(newSelected) {
8623
8733
  this.innerSelected = new Set(newSelected);
8624
8734
  }
8735
+ cleanUpVirtualCache() {
8736
+ this.cachedVisibleColumns = null;
8737
+ this.lastColumnsRef = null;
8738
+ this.cachedVirtualRows = null;
8739
+ this.cachedVirtualIndexKey = '';
8740
+ this.cachedColumnOrder = null;
8741
+ this.lastColumnOrderKey = '';
8742
+ }
8625
8743
  handlePaginationChange(newVal) {
8626
8744
  if (newVal?.page && newVal.page !== this.currentPage) {
8627
8745
  this.currentPage = newVal.page;
8628
8746
  if (this.useVirtualScroll.vertical && this.scrollContainer) {
8629
- this.scrollContainer.scrollTop = 0;
8747
+ this.scrollContainer.scrollTo({ top: 0, behavior: 'instant' });
8630
8748
  this.scrollTopPosition = 0;
8631
8749
  this.calculateVisibleRange();
8632
8750
  }
@@ -8641,66 +8759,126 @@ class SdTable {
8641
8759
  }
8642
8760
  }
8643
8761
  componentDidLoad() {
8644
- // SSR 환경 체크
8645
- if (typeof window === 'undefined')
8646
- return;
8647
- const middle = this.el.querySelector('.sd-table__middle');
8648
- if (!middle)
8649
- return;
8650
- this.scrollContainer = middle;
8651
- const onScroll = () => {
8652
- const { scrollLeft, scrollWidth, clientWidth, scrollTop } = middle;
8653
- this.scrolledLeft = scrollLeft > 0;
8654
- this.scrolledRight = scrollLeft + clientWidth < scrollWidth;
8655
- // 실제 변경사항이 있을 때만 RAF 스케줄
8656
- const verticalChanged = this.useVirtualScroll.vertical && this.scrollTopPosition !== scrollTop;
8657
- const horizontalChanged = this.useVirtualScroll.horizontal && this.scrollLeftPosition !== scrollLeft;
8658
- if (verticalChanged || horizontalChanged) {
8659
- if (this.scrollRequestAnimationFrame !== null) {
8660
- cancelAnimationFrame(this.scrollRequestAnimationFrame);
8762
+ readTask(() => {
8763
+ const middle = this.el.querySelector('.sd-table__middle');
8764
+ if (!middle)
8765
+ return;
8766
+ this.onScroll = () => {
8767
+ const scrollLeft = middle.scrollLeft;
8768
+ const scrollWidth = middle.scrollWidth;
8769
+ const clientWidth = middle.clientWidth;
8770
+ const scrollTop = middle.scrollTop;
8771
+ const verticalChanged = this.useVirtualScroll.vertical && this.scrollTopPosition !== scrollTop;
8772
+ const horizontalChanged = this.useVirtualScroll.horizontal && this.scrollLeftPosition !== scrollLeft;
8773
+ const newScrolledLeft = scrollLeft > 0;
8774
+ const newScrolledRight = scrollLeft + clientWidth < scrollWidth;
8775
+ if (this.scrolledLeft !== newScrolledLeft || this.scrolledRight !== newScrolledRight) {
8776
+ this.scrolledLeft = newScrolledLeft;
8777
+ this.scrolledRight = newScrolledRight;
8661
8778
  }
8662
- this.scrollRequestAnimationFrame = requestAnimationFrame(() => {
8663
- if (verticalChanged) {
8664
- this.scrollTopPosition = scrollTop;
8779
+ if (verticalChanged || horizontalChanged) {
8780
+ if (this.scrollRequestAnimationFrame !== null) {
8781
+ cancelAnimationFrame(this.scrollRequestAnimationFrame);
8782
+ }
8783
+ this.scrollRequestAnimationFrame = requestAnimationFrame(() => {
8784
+ if (verticalChanged) {
8785
+ this.scrollTopPosition = scrollTop;
8786
+ this.calculateVisibleRange();
8787
+ }
8788
+ if (horizontalChanged) {
8789
+ this.scrollLeftPosition = scrollLeft;
8790
+ this.calculateVisibleColumnRange();
8791
+ }
8792
+ this.scrollRequestAnimationFrame = null;
8793
+ });
8794
+ }
8795
+ };
8796
+ this.scrollContainer = middle;
8797
+ requestAnimationFrame(() => {
8798
+ if (this.scrollContainer && this.onScroll) {
8799
+ this.cachedContainerHeight = this.scrollContainer.clientHeight;
8800
+ this.cachedContainerWidth = this.scrollContainer.clientWidth;
8801
+ middle.addEventListener('scroll', this.onScroll, { passive: true });
8802
+ if (this.useVirtualScroll.vertical) {
8665
8803
  this.calculateVisibleRange();
8666
8804
  }
8667
- if (horizontalChanged) {
8668
- this.scrollLeftPosition = scrollLeft;
8805
+ if (this.useVirtualScroll.horizontal) {
8669
8806
  this.calculateVisibleColumnRange();
8670
8807
  }
8671
- this.scrollRequestAnimationFrame = null;
8672
- });
8673
- }
8808
+ this.onScroll();
8809
+ }
8810
+ });
8811
+ });
8812
+ }
8813
+ changePage(page) {
8814
+ if (!this.useInternalPagination) {
8815
+ this.sdPageChange.emit(page);
8816
+ return;
8817
+ }
8818
+ this.currentPage = page;
8819
+ this.sdPageChange.emit(this.currentPage);
8820
+ }
8821
+ changeRowsPerPage(perPage) {
8822
+ const changedRowsPerPage = perPage ? Number(perPage) : 0;
8823
+ if (!this.useInternalPagination) {
8824
+ this.sdRowsPerPageChange.emit(changedRowsPerPage);
8825
+ return;
8826
+ }
8827
+ const newRowsPerPage = Number(perPage || 0);
8828
+ let newLastPage = Math.max(1, Math.ceil(this.innerRows.length / newRowsPerPage));
8829
+ let newCurrentPage = this.currentPage;
8830
+ if (newCurrentPage > newLastPage) {
8831
+ newCurrentPage = newLastPage;
8832
+ }
8833
+ this.pagination = {
8834
+ page: newCurrentPage,
8835
+ rowsPerPage: newRowsPerPage,
8836
+ lastPage: newLastPage,
8674
8837
  };
8675
- middle.addEventListener('scroll', onScroll, { passive: true });
8676
- onScroll();
8838
+ this.currentPage = newCurrentPage;
8839
+ this.sdRowsPerPageChange.emit(changedRowsPerPage);
8677
8840
  }
8678
8841
  disconnectedCallback() {
8842
+ if (this.scrollContainer && this.onScroll) {
8843
+ this.scrollContainer.removeEventListener('scroll', this.onScroll);
8844
+ }
8679
8845
  if (this.scrollRequestAnimationFrame !== null) {
8680
8846
  cancelAnimationFrame(this.scrollRequestAnimationFrame);
8681
8847
  }
8682
8848
  }
8683
8849
  // ----- Derived getters -----
8684
8850
  get visibleColumns() {
8685
- return this.columns.filter(col => col.visible !== false);
8851
+ if (this.cachedVisibleColumns && this.lastColumnsRef === this.columns) {
8852
+ return this.cachedVisibleColumns;
8853
+ }
8854
+ this.lastColumnsRef = this.columns;
8855
+ this.cachedVisibleColumns = this.columns.filter(col => col.visible !== false);
8856
+ return this.cachedVisibleColumns;
8686
8857
  }
8687
8858
  get paginatedRows() {
8688
8859
  if (!this.pagination || !this.useInternalPagination)
8689
8860
  return this.innerRows;
8690
8861
  const { rowsPerPage = this.rows.length } = this.pagination || {};
8691
- const result = this.innerRows.slice((this.currentPage - 1) * rowsPerPage, this.currentPage * rowsPerPage);
8692
- return result;
8862
+ return this.innerRows.slice((this.currentPage - 1) * rowsPerPage, this.currentPage * rowsPerPage);
8693
8863
  }
8694
8864
  get virtualRows() {
8865
+ const newVirtualIndexKey = `${this.virtualStartIndex}-${this.virtualEndIndex}`;
8866
+ if (this.cachedVirtualRows && this.cachedVirtualIndexKey === newVirtualIndexKey) {
8867
+ return this.cachedVirtualRows;
8868
+ }
8869
+ this.cachedVirtualIndexKey = newVirtualIndexKey;
8695
8870
  if (!this.useVirtualScroll.vertical) {
8696
- return this.paginatedRows.map((row, idx) => ({ row, actualIndex: idx }));
8871
+ this.cachedVirtualRows = this.paginatedRows.map((row, idx) => ({ row, actualIndex: idx }));
8697
8872
  }
8698
- return this.paginatedRows
8699
- .slice(this.virtualStartIndex, this.virtualEndIndex + 1)
8700
- .map((row, relativeIdx) => ({
8701
- row,
8702
- actualIndex: this.virtualStartIndex + relativeIdx,
8703
- }));
8873
+ else {
8874
+ this.cachedVirtualRows = this.paginatedRows
8875
+ .slice(this.virtualStartIndex, this.virtualEndIndex + 1)
8876
+ .map((row, relativeIdx) => ({
8877
+ row,
8878
+ actualIndex: this.virtualStartIndex + relativeIdx,
8879
+ }));
8880
+ }
8881
+ return this.cachedVirtualRows;
8704
8882
  }
8705
8883
  get topSpacerHeight() {
8706
8884
  if (!this.useVirtualScroll.vertical || this.virtualStartIndex === 0)
@@ -8773,6 +8951,7 @@ class SdTable {
8773
8951
  if (newSelected.length === selectedArray.length)
8774
8952
  return;
8775
8953
  this.innerSelected = new Set(newSelected);
8954
+ this.cachedIsAllChecked = undefined;
8776
8955
  this.sdSelectChange.emit(Array.from(this.innerSelected));
8777
8956
  }
8778
8957
  toggleSelectAll(checked) {
@@ -8784,16 +8963,29 @@ class SdTable {
8784
8963
  const currentPageKeys = this.paginatedRows.map(r => r[this.rowKey]);
8785
8964
  this.innerSelected = new Set([...this.innerSelected].filter(r => !currentPageKeys.includes(r[this.rowKey])));
8786
8965
  }
8966
+ this.cachedIsAllChecked = undefined;
8787
8967
  this.sdSelectChange.emit(Array.from(this.innerSelected));
8788
8968
  }
8789
8969
  get isAllChecked() {
8970
+ const selectionKey = `${this.paginatedRows.length}-${this.innerSelected.size}`;
8971
+ if (this.cachedIsAllChecked !== undefined && this.lastSelectionKey === selectionKey) {
8972
+ return this.cachedIsAllChecked;
8973
+ }
8790
8974
  const total = this.paginatedRows.length;
8791
8975
  const selectedCount = this.paginatedRows.filter(row => Array.from(this.innerSelected).some(selectedRow => selectedRow[this.rowKey] === row[this.rowKey])).length;
8792
- if (selectedCount === 0)
8793
- return false; // 아무것도 안 선택됨
8794
- if (selectedCount === total)
8795
- return true; // 전부 선택됨
8796
- return null; // 일부만 선택됨
8976
+ let result;
8977
+ if (selectedCount === 0) {
8978
+ result = false; // 아무것도 안 선택됨
8979
+ }
8980
+ else if (selectedCount === total) {
8981
+ result = true; // 전부 선택됨
8982
+ }
8983
+ else {
8984
+ result = null; // 일부만 선택됨
8985
+ }
8986
+ this.cachedIsAllChecked = result;
8987
+ this.lastSelectionKey = selectionKey;
8988
+ return result;
8797
8989
  }
8798
8990
  // RAF 통합 관리
8799
8991
  scheduleUpdate(type) {
@@ -8819,13 +9011,22 @@ class SdTable {
8819
9011
  return;
8820
9012
  }
8821
9013
  const scrollTop = this.scrollTopPosition;
8822
- const containerHeight = this.scrollContainer?.clientHeight || 0;
9014
+ let containerHeight = this.cachedContainerHeight;
9015
+ if (containerHeight === 0 && this.scrollContainer) {
9016
+ containerHeight = this.scrollContainer.clientHeight;
9017
+ this.cachedContainerHeight = containerHeight;
9018
+ }
9019
+ const bufferSize = this.virtualBufferSize.vertical || 5;
8823
9020
  const startIndex = Math.floor(scrollTop / this.virtualRowHeight);
8824
9021
  const visibleCount = Math.ceil(containerHeight / this.virtualRowHeight);
8825
- const endIndex = startIndex + visibleCount;
8826
- const bufferSize = this.virtualBufferSize.vertical || 5;
8827
- this.virtualStartIndex = Math.max(0, startIndex - bufferSize);
8828
- this.virtualEndIndex = Math.min(this.paginatedRows.length - 1, endIndex + bufferSize);
9022
+ const endIndex = startIndex + visibleCount - 1;
9023
+ const newStartIndex = Math.max(0, startIndex - bufferSize);
9024
+ const newEndIndex = Math.min(this.paginatedRows.length - 1, endIndex + bufferSize);
9025
+ // 실제로 변경된 경우에만 상태 업데이트
9026
+ if (this.virtualStartIndex !== newStartIndex || this.virtualEndIndex !== newEndIndex) {
9027
+ this.virtualStartIndex = newStartIndex;
9028
+ this.virtualEndIndex = newEndIndex;
9029
+ }
8829
9030
  }
8830
9031
  // 가로 가상 스크롤 렌더링 계산
8831
9032
  calculateVisibleColumnRange() {
@@ -8835,7 +9036,12 @@ class SdTable {
8835
9036
  return;
8836
9037
  }
8837
9038
  const scrollLeft = this.scrollLeftPosition;
8838
- const containerWidth = this.scrollContainer?.clientWidth || 0;
9039
+ // 캐시된 사용, 없으면 측정 후 캐시
9040
+ let containerWidth = this.cachedContainerWidth;
9041
+ if (containerWidth === 0 && this.scrollContainer) {
9042
+ containerWidth = this.scrollContainer.clientWidth;
9043
+ this.cachedContainerWidth = containerWidth;
9044
+ }
8839
9045
  const stickyLeftCount = this.stickyColumn.left || 0;
8840
9046
  const stickyRightCount = this.stickyColumn.right || 0;
8841
9047
  // 가상 스크롤 컬럼 - sticky column 제외
@@ -8875,22 +9081,34 @@ class SdTable {
8875
9081
  }
8876
9082
  }
8877
9083
  const bufferSize = this.virtualBufferSize.horizontal || 5;
8878
- this.virtualStartColIdx = Math.max(0, startIdx - bufferSize);
8879
- this.virtualEndColIdx = Math.min(virtualColumns.length - 1, endIdx + bufferSize);
9084
+ const newStartColIdx = Math.max(0, startIdx - bufferSize);
9085
+ const newEndColIdx = Math.min(virtualColumns.length - 1, endIdx + bufferSize);
9086
+ // 실제로 변경된 경우에만 상태 업데이트
9087
+ if (this.virtualStartColIdx !== newStartColIdx || this.virtualEndColIdx !== newEndColIdx) {
9088
+ this.virtualStartColIdx = newStartColIdx;
9089
+ this.virtualEndColIdx = newEndColIdx;
9090
+ }
8880
9091
  }
8881
9092
  // ----- Helpers -----
8882
9093
  getStickyStyle(colIdx) {
9094
+ // 캐시된 스타일이 있으면 반환
9095
+ if (this.stickyStyleCache.has(colIdx)) {
9096
+ return this.stickyStyleCache.get(colIdx);
9097
+ }
8883
9098
  const leftOffset = this.columnWidths.slice(0, colIdx).reduce((a, b) => a + b, 0) + (this.selectable ? 52 : 0);
8884
9099
  const rightOffset = this.columnWidths
8885
9100
  .filter((_, i) => i >= this.visibleColumns.length - (this.stickyColumn.right || 0) && i > colIdx)
8886
9101
  .reduce((a, b) => a + b, 0);
8887
- return {
9102
+ const style = {
8888
9103
  '--sticky-left-offset': `${leftOffset}px`,
8889
9104
  '--sticky-right-offset': `${rightOffset}px`,
8890
9105
  'width': `${this.columnWidths[colIdx]}px`,
8891
9106
  'minWidth': `${this.columnWidths[colIdx]}px`,
8892
9107
  'maxWidth': `${this.columnWidths[colIdx]}px`,
8893
9108
  };
9109
+ // 스타일 캐시에 저장
9110
+ this.stickyStyleCache.set(colIdx, style);
9111
+ return style;
8894
9112
  }
8895
9113
  handleResize(index, event) {
8896
9114
  // SSR 환경 체크
@@ -8920,6 +9138,10 @@ class SdTable {
8920
9138
  return format ? format(value, row) : value;
8921
9139
  }
8922
9140
  getColumnRenderedInOrder() {
9141
+ const orderKey = `${this.visibleColumns.length}-${this.virtualStartColIdx}-${this.virtualEndColIdx}`;
9142
+ if (this.cachedColumnOrder && this.lastColumnOrderKey === orderKey) {
9143
+ return this.cachedColumnOrder;
9144
+ }
8923
9145
  const stickyLeftCount = this.stickyColumn.left || 0;
8924
9146
  const stickyRightCount = this.stickyColumn.right || 0;
8925
9147
  // Sticky left 컬럼들
@@ -8930,13 +9152,15 @@ class SdTable {
8930
9152
  .slice(stickyLeftCount, this.visibleColumns.length - stickyRightCount)
8931
9153
  .slice(this.virtualStartColIdx, this.virtualEndColIdx + 1)
8932
9154
  : this.visibleColumns.slice(stickyLeftCount, this.visibleColumns.length - stickyRightCount);
8933
- return {
9155
+ this.cachedColumnOrder = {
8934
9156
  stickyLeftCount,
8935
9157
  stickyRightCount,
8936
9158
  stickyLeftCols,
8937
9159
  middleCols,
8938
9160
  stickyRightCols,
8939
9161
  };
9162
+ this.lastColumnOrderKey = orderKey;
9163
+ return this.cachedColumnOrder;
8940
9164
  }
8941
9165
  // ----- Render -----
8942
9166
  renderHead() {
@@ -8974,7 +9198,7 @@ class SdTable {
8974
9198
  }))));
8975
9199
  }
8976
9200
  renderBody() {
8977
- return (hAsync("tbody", { ...(!this.paginatedRows.length && { part: 'tbody-empty' }), class: `sd-table-tbody ${this.useVirtualScroll.vertical ? 'sd-table-tbody--virtual-scroll' : ''}`, style: { '--total-virtual-height': `${this.totalVirtualHeight}px` } }, this.isLoading && (hAsync("div", { class: "sd-table__loading" }, hAsync("sd-loading-spinner", null))), this.useVirtualScroll.vertical && this.topSpacerHeight > 0 && this.renderSpacerRow('top'), this.paginatedRows.length > 0 &&
9201
+ return (hAsync("tbody", { ...(!this.paginatedRows.length && { part: 'tbody-empty' }), class: `sd-table-tbody ${this.useVirtualScroll.vertical ? 'sd-table-tbody--virtual-scroll' : ''}`, style: { '--total-virtual-height': `${this.totalVirtualHeight}px` } }, this.useVirtualScroll.vertical && this.topSpacerHeight > 0 && this.renderSpacerRow('top'), this.paginatedRows.length > 0 &&
8978
9202
  this.virtualRows.map(({ row, actualIndex }) => this.renderRow(row, actualIndex)), this.useVirtualScroll.vertical &&
8979
9203
  this.bottomSpacerHeight > 0 &&
8980
9204
  this.renderSpacerRow('bottom')));
@@ -9044,44 +9268,16 @@ class SdTable {
9044
9268
  }, "aria-hidden": "true" }, hAsync("div", { class: "sd-table__skeleton-cell" })));
9045
9269
  }
9046
9270
  render() {
9047
- return (hAsync(Host, { key: '658ead41c51d9f031c0334d91cad9a06811721b9' }, hAsync("div", { key: 'c98a48d31b16cbd934e4ae47b55bcfeaa5db2520', class: "sd-table__wrapper", style: {
9271
+ return (hAsync(Host, { key: '85b4655b2ee298d535add2e43c2ef73b8c816716' }, hAsync("div", { key: '9fc71a34045a725db9fa19fec9954d1edb90f1e4', class: "sd-table__wrapper", style: {
9048
9272
  '--table-width': this.width,
9049
9273
  '--table-height': this.height,
9050
- } }, hAsync("div", { key: '080fc2b81b016c4876cf90502952e49a5e468534', class: "sd-table__container", style: {
9274
+ } }, hAsync("div", { key: 'dcb78c1bac32c68bc5ac81beece5ee8ca74025ba', class: "sd-table__container", style: {
9051
9275
  '--table-container-height': `calc(${this.height} - ${this.pagination && this.innerRows.length > 0 ? 48 : 0}px)`,
9052
- } }, hAsync("div", { key: 'd56754a7cd4acc0505bb36d2d8a116a20d19c0e4', class: {
9276
+ } }, hAsync("div", { key: 'e0bb087930f0cf07c06c6f5684a5b26fa5e25a02', class: {
9053
9277
  'sd-table__middle': true,
9054
9278
  'sd-table__middle--scrollable': this.paginatedRows.length > 0,
9055
9279
  'sd-table__middle--loading': this.isLoading,
9056
- } }, hAsync("table", { key: '39d620db8e2f9ea585f8c73222687f59aaa830e6', part: "table", class: this.sdTableClasses }, this.renderHead(), this.renderBody())), hAsync("div", { key: 'dcd87252620d5fb95deda064e2a7b4e6871c9dc1', class: "sd-table__bottom" }, !this.paginatedRows.length && (hAsync("div", { key: 'd31ea2dbc747385fb7f7a733725e0e34f24f4489', class: "sd-table__no-data" }, hAsync("slot", { key: '8375b5f42dafa7d430ad33226500d2a84b099990', name: "no-data" }, this.noDataLabel))))), this.pagination && this.innerRows.length > 0 && (hAsync("div", { key: '2b231be27d05c5bb52ff1c0ced255f10be449068', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: '45676f7c4c931896c6414fa8beb6a6c23e203e92', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onPageChange: (e) => {
9057
- if (!this.useInternalPagination) {
9058
- this.sdPageChange.emit(e.detail);
9059
- }
9060
- else {
9061
- this.currentPage = e.detail;
9062
- this.sdPageChange.emit(this.currentPage);
9063
- }
9064
- } }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: '3f65639b064a27993dc62a8e4a5dc86b16aec4f8', value: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", onSdChange: (e) => {
9065
- const changedRowsPerPage = e.detail.value ? Number(e.detail.value) : 0;
9066
- if (!this.useInternalPagination) {
9067
- this.sdRowsPerPageChange.emit(changedRowsPerPage);
9068
- }
9069
- else {
9070
- const newRowsPerPage = Number(e.detail.value || 0);
9071
- let newLastPage = Math.max(1, Math.ceil(this.innerRows.length / newRowsPerPage));
9072
- let newCurrentPage = this.currentPage;
9073
- if (newCurrentPage > newLastPage) {
9074
- newCurrentPage = newLastPage;
9075
- }
9076
- this.pagination = {
9077
- page: newCurrentPage,
9078
- rowsPerPage: newRowsPerPage,
9079
- lastPage: newLastPage,
9080
- };
9081
- this.currentPage = newCurrentPage;
9082
- this.sdRowsPerPageChange.emit(changedRowsPerPage);
9083
- }
9084
- } })))))));
9280
+ } }, this.isLoading && (hAsync("div", { key: '4f36b5fc670aa98774e565b000cc1623a6cae0af', class: "sd-table__middle--loading__spinner" }, hAsync("sd-loading-spinner", { key: '2e794ac56824bfad1f9f42482b75498e7f2ca70c' }))), hAsync("table", { key: 'a4017ae90c8f932c22b26d7f81c9fc13785e52d0', part: "table", class: this.sdTableClasses }, this.renderHead(), this.renderBody())), hAsync("div", { key: 'c7b008d66c47442d25a977d76b7b6dd266d7f008', class: "sd-table__bottom" }, !this.paginatedRows.length && (hAsync("div", { key: '20235f4747c2396710b44d46ea1da659156bb9ca', class: "sd-table__no-data" }, hAsync("slot", { key: '432a8669c4942eb92c4bce7f0b08cb9cb1f9f6e3', name: "no-data" }, this.noDataLabel))))), this.pagination && this.innerRows.length > 0 && (hAsync("div", { key: 'f9f6dc05c1004b03e10ece4c091d67ca564b1633', class: "sd-table__pagination" }, hAsync("sd-pagination", { key: 'd7efd361091fe9725e8c79289501506a779e1111', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (hAsync("sd-select", { key: '401d35d85c2fc78094c267f27d74055108179f9e', value: this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", onSdChange: (e) => this.changeRowsPerPage(e.detail.value) })))))));
9085
9281
  }
9086
9282
  static get watchers() { return {
9087
9283
  "columns": ["handleColumnsChange"],
@@ -9179,7 +9375,7 @@ class SdTag {
9179
9375
  }
9180
9376
  render() {
9181
9377
  const tagClasses = this.getTagClasses();
9182
- return (hAsync("span", { key: '674d187602c90a83016377bd8c25bd288aa819ec', class: tagClasses, style: {
9378
+ return (hAsync("span", { key: '982a1d00b05ea1978c001d0898b8d95a57f92ff5', class: tagClasses, style: {
9183
9379
  '--tag-bg-color': this.bgColor,
9184
9380
  '--tag-text-color': this.textColor,
9185
9381
  }, "aria-label": this.label || 'tag' }, this.renderContent()));
@@ -9209,7 +9405,7 @@ class SdTbody {
9209
9405
  registerInstance(this, hostRef);
9210
9406
  }
9211
9407
  render() {
9212
- return (hAsync(Host, { key: 'b94310b0ad1566cf9ccbac3ccdc5fbcdd2e53f8c' }, hAsync("slot", { key: '382fb835aa4516adad374443556084703b8560c3' })));
9408
+ return (hAsync(Host, { key: 'aa5030bb9713c355685de66e15db8b702744c0bc' }, hAsync("slot", { key: '2bfed556b78fc92f8f6b4c574f976a7f0a3c36a8' })));
9213
9409
  }
9214
9410
  static get style() { return sdTbodyCss; }
9215
9411
  static get cmpMeta() { return {
@@ -9233,11 +9429,11 @@ class SdTd {
9233
9429
  tdStyle;
9234
9430
  tdClass;
9235
9431
  render() {
9236
- return (hAsync(Host, { key: '87c947cf0092ac524cdfed0be5f1703685a64db6', role: "cell", class: {
9432
+ return (hAsync(Host, { key: '6459518995f28a8138b3f669876c90dd24e610c2', role: "cell", class: {
9237
9433
  'sd-td': true,
9238
9434
  [`sd-td--${this.align}`]: true,
9239
9435
  [this.tdClass || '']: Boolean(this.tdClass),
9240
- }, style: this.tdStyle }, hAsync("slot", { key: '4369629e345d8cc5bb17166d6877dba421522e4d' })));
9436
+ }, style: this.tdStyle }, hAsync("slot", { key: 'bf51d35dee9adb6a88b29a6c51be9f73ae1ab3b5' })));
9241
9437
  }
9242
9438
  static get style() { return sdTdCss; }
9243
9439
  static get cmpMeta() { return {
@@ -9262,7 +9458,7 @@ class SdTh {
9262
9458
  registerInstance(this, hostRef);
9263
9459
  }
9264
9460
  render() {
9265
- return (hAsync(Host, { key: 'cf30b704166adc6d7de5ade8d455d34ecf575199', role: "columnheader" }, hAsync("slot", { key: '7863306b924a749aba5ba55f70b8b3d5c205d133' })));
9461
+ return (hAsync(Host, { key: 'a9adef2bdfd7dd0a52a55fffb40db6511db5747e', role: "columnheader" }, hAsync("slot", { key: 'd4af30df5d6a4a9140a9d10e0f3948de088f8c18' })));
9266
9462
  }
9267
9463
  static get style() { return sdThCss; }
9268
9464
  static get cmpMeta() { return {
@@ -9323,20 +9519,20 @@ class SdTooltip {
9323
9519
  : {
9324
9520
  onClick: () => (this.showTooltip = !this.showTooltip),
9325
9521
  };
9326
- return (hAsync(Fragment, { key: 'fc892ba2872491bca673db93fed5c4b724c7141d' }, this.label ? (hAsync("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 })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (hAsync("sd-tooltip-portal", { key: 'd6b8099b49ffc120c05bd797e3eb2c2c9c40238e', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, hAsync("div", { key: '06eca5d091eec639a556472605140bdccf6c4869', class: {
9522
+ return (hAsync(Fragment, { key: 'ca1fc3ffdb493ee2aeb0ef9ef874a164d50a1d34' }, this.label ? (hAsync("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 })) : (hAsync("sd-icon", { ref: el => (this.buttonEl = el), name: this.icon, size: this.iconSize, color: this.color, class: "sd-tooltip", ...handleTrigger })), this.showTooltip && (hAsync("sd-tooltip-portal", { key: '840728261961211b5d12e6bf6c97aa044f97f133', parentRef: this.buttonEl, onSdClose: () => this.handleClose(), placement: this.placement }, hAsync("div", { key: '80933fad7b61af35ba41f171848c431ee4b0ff0e', class: {
9327
9523
  'sd-tooltip-menu': true,
9328
9524
  [`sd-tooltip-menu--${this.type}`]: true,
9329
9525
  [`sd-tooltip-menu--${this.placement}`]: true,
9330
9526
  'sd-tooltip-menu--with-close': this.useClose,
9331
9527
  [`bg-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
9332
9528
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].text}`]: true,
9333
- } }, hAsync("i", { key: '38ad3f0461c6578140e9a0f253c1f0cd5343f0bf', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: '58b5d5e25512f191ee652c34815f8ad33a496a31', class: {
9529
+ } }, hAsync("i", { key: 'c166fc91a2f49840dfea98c4ca1010892e571b48', class: `sd-tooltip-menu__arrow sd-tooltip-menu__arrow--${this.placement}` }, hAsync(TooltipArrow, { key: '58a04b43a4f3333aa9e34d2c1dda7f03e9493e21', class: {
9334
9530
  [`text-${SdTooltip.COLOR_OF_TYPE[this.type].background}`]: true,
9335
- } })), hAsync("div", { key: 'a29c4aa221aa9b833b9b0de101b658f5c5351ec0', class: "sd-tooltip-menu__content", ref: el => {
9531
+ } })), hAsync("div", { key: 'd49d44d196c266482974beef4da124f32ec39825', class: "sd-tooltip-menu__content", ref: el => {
9336
9532
  if (el && this.slotContent && !el.hasChildNodes()) {
9337
9533
  el.appendChild(this.slotContent.cloneNode(true));
9338
9534
  }
9339
- } }, !this.slotContent && hAsync("span", { key: 'a9e016d086156d522980b99187c9b040ccb232b9' }, this.el.textContent)), this.useClose && (hAsync("div", { key: 'ae54793f18dcb7e759bd4ea2d7570cd56f45eb9a', class: "sd-tooltip-menu__close-button" }, hAsync("button", { key: '1c3dc26d1bba1eaaed42757dae9a38613a86aea8', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: '3b7f9dafaa7f1a3686f123a12acae6b35fd1849d', name: "close", size: "12", color: "#AAAAAA" })))))))));
9535
+ } }, !this.slotContent && hAsync("span", { key: '5543dd3bc313e033379da9b3e0c4b4f929ec899c' }, this.el.textContent)), this.useClose && (hAsync("div", { key: 'e32069afe16667a1bbfcc2e57ef6f2888fd9a5d6', class: "sd-tooltip-menu__close-button" }, hAsync("button", { key: '913909f8479496c9344df5d64ba3eb9e5a073658', type: "button", "aria-label": "Close tooltip", title: "Close tooltip", onClick: () => this.handleClose() }, hAsync("sd-icon", { key: 'ebde71b66b5b805d8ca99911ecfe9e6319a1f9be', name: "close", size: "12", color: "#AAAAAA" })))))))));
9340
9536
  }
9341
9537
  static get style() { return sdTooltipCss; }
9342
9538
  static get cmpMeta() { return {
@@ -9512,7 +9708,7 @@ class SdTooltipPortal {
9512
9708
  this.sdClose.emit();
9513
9709
  }
9514
9710
  render() {
9515
- return hAsync("slot", { key: 'b8c60526ca9acb16821b1952b526fad452d1d5e7' });
9711
+ return hAsync("slot", { key: 'b8652906919bc46c2f36710de6e65b33276bf31a' });
9516
9712
  }
9517
9713
  static get cmpMeta() { return {
9518
9714
  "$flags$": 777,
@@ -9538,7 +9734,7 @@ class SdTr {
9538
9734
  registerInstance(this, hostRef);
9539
9735
  }
9540
9736
  render() {
9541
- return (hAsync(Host, { key: '2cfec32649fa440cb44f83392c439e58dcb24644', role: "row" }, hAsync("slot", { key: '0146af3690a7a6445b65893f86e0b9e5cd1d8a02' })));
9737
+ return (hAsync(Host, { key: '18a0e95b7264b495bd15aeb7c3a704dac938e140', role: "row" }, hAsync("slot", { key: '83ac4ded200f5e7b18a01d2055859e1093e34d6c' })));
9542
9738
  }
9543
9739
  static get style() { return sdTrCss; }
9544
9740
  static get cmpMeta() { return {
@@ -9568,6 +9764,7 @@ registerComponents([
9568
9764
  SdPopover,
9569
9765
  SdPortal,
9570
9766
  SdProgress,
9767
+ SdRadioGroup,
9571
9768
  SdSelect,
9572
9769
  SdSelectMultiple,
9573
9770
  SdSelectMultipleGroup,