@sellmate/design-system 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/dist/cjs/{component.table-qOFez3z3.js → component.table-DIxmbGBT.js} +4 -1
  2. package/dist/cjs/design-system.cjs.js +2 -2
  3. package/dist/cjs/{index-Cw-78mnC.js → index-BGwB03Tk.js} +1 -1
  4. package/dist/cjs/index.cjs.js +2 -2
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/sanitize-inline-html-BZCCwH_U.js +65 -0
  7. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  10. package/dist/cjs/{sd-button.config-DH08UNfl.js → sd-button.config-BSHkfgdC.js} +17 -12
  11. package/dist/cjs/sd-button_2.cjs.entry.js +2 -2
  12. package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -7
  13. package/dist/cjs/sd-callout.cjs.entry.js +152 -0
  14. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-checkbox.cjs.entry.js +10 -5
  16. package/dist/cjs/sd-chip.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +5 -4
  19. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-date-picker_7.cjs.entry.js +13 -10
  21. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-divider.cjs.entry.js +27 -0
  23. package/dist/cjs/sd-dropdown-button.cjs.entry.js +49 -23
  24. package/dist/cjs/sd-field_3.cjs.entry.js +9 -9
  25. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-ghost-button.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-guide.cjs.entry.js +6 -5
  28. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  30. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  31. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-pagination_4.cjs.entry.js +31 -51
  33. package/dist/cjs/sd-popover.cjs.entry.js +5 -6
  34. package/dist/cjs/sd-popup.cjs.entry.js +7 -6
  35. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  36. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  37. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  38. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +7 -7
  39. package/dist/cjs/sd-select_3.cjs.entry.js +9 -9
  40. package/dist/cjs/sd-switch.cjs.entry.js +2 -2
  41. package/dist/cjs/sd-table.cjs.entry.js +26 -57
  42. package/dist/cjs/{sd-table.config-B7psrvV4.js → sd-table.config-BjJW74Zx.js} +7 -3
  43. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  44. package/dist/cjs/sd-tag.cjs.entry.js +5 -3
  45. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-text-link.cjs.entry.js +1 -1
  47. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  48. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  49. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  50. package/dist/cjs/{system-VmZRYp6V.js → system-CdAyz3ej.js} +15 -1
  51. package/dist/cjs/{tooltipArrow-BjSFKIUq.js → tooltipArrow-COD-SNZL.js} +1 -1
  52. package/dist/collection/collection-manifest.json +3 -1
  53. package/dist/collection/components/sd-calendar/sd-calendar.css +3 -1
  54. package/dist/collection/components/sd-calendar/sd-calendar.js +24 -3
  55. package/dist/collection/components/sd-callout/sd-callout.config.js +45 -0
  56. package/dist/collection/components/sd-callout/sd-callout.css +87 -0
  57. package/dist/collection/components/sd-callout/sd-callout.js +114 -0
  58. package/dist/collection/components/sd-card/sd-card.js +1 -1
  59. package/dist/collection/components/sd-checkbox/sd-checkbox.js +9 -4
  60. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  61. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  62. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +3 -2
  63. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  64. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  65. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  66. package/dist/collection/components/sd-divider/sd-divider.config.js +4 -0
  67. package/dist/collection/components/sd-divider/sd-divider.css +25 -0
  68. package/dist/collection/components/sd-divider/sd-divider.js +47 -0
  69. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +3 -3
  70. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +29 -10
  71. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +76 -16
  72. package/dist/collection/components/sd-field/sd-field.js +4 -4
  73. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  74. package/dist/collection/components/sd-guide/sd-guide.js +4 -3
  75. package/dist/collection/components/sd-input/sd-input.js +2 -2
  76. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  77. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  78. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  79. package/dist/collection/components/sd-modal-container/sd-modal-container.js +8 -0
  80. package/dist/collection/components/sd-number-input/sd-number-input.js +75 -4
  81. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  82. package/dist/collection/components/sd-popover/sd-popover.js +3 -24
  83. package/dist/collection/components/sd-popup/sd-popup.config.js +3 -4
  84. package/dist/collection/components/sd-popup/sd-popup.js +4 -2
  85. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  86. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  87. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  88. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  89. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  90. package/dist/collection/components/sd-select/sd-select.js +4 -4
  91. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  92. package/dist/collection/components/sd-table/sd-table.config.js +4 -1
  93. package/dist/collection/components/sd-table/sd-table.css +1 -1
  94. package/dist/collection/components/sd-table/sd-table.js +28 -59
  95. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  96. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  97. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +15 -5
  98. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +6 -5
  99. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +6 -7
  100. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +20 -40
  101. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  102. package/dist/collection/components/sd-tag/sd-tag.js +4 -2
  103. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  104. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  105. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  106. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  107. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  108. package/dist/collection/utils/html/sanitize-inline-html.js +61 -0
  109. package/dist/collection/utils/modal.js +2 -2
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/{p-DlREBZ-C.js → p-2aQ4cVXp.js} +1 -1
  112. package/dist/components/p-BCeq6-MU.js +1 -0
  113. package/dist/components/{p-wOAxmZ1V.js → p-BDJJQALT.js} +1 -1
  114. package/dist/components/p-BE-21GLH.js +1 -0
  115. package/dist/components/{p-DS7Ypvt5.js → p-BNUsawW7.js} +1 -1
  116. package/dist/components/{p-xX3QT-8K.js → p-BUW6I_d5.js} +1 -1
  117. package/dist/components/{p-FKKk7Bk8.js → p-BYRvYsiC.js} +1 -1
  118. package/dist/components/{p-Z5Vk33zf.js → p-BYU3wOaN.js} +1 -1
  119. package/dist/components/{p-BRk9YZBe.js → p-BZRMoE3E.js} +1 -1
  120. package/dist/components/{p-BjpbUGud.js → p-B_2U9h3P.js} +1 -1
  121. package/dist/{design-system/p-C29HUShl.js → components/p-BasCjDiE.js} +1 -1
  122. package/dist/components/p-BqYASycS.js +1 -0
  123. package/dist/components/{p-VuxN5d2D.js → p-CAP-9lnL.js} +1 -1
  124. package/dist/components/{p-CLxVZFEG.js → p-CARYLqH9.js} +1 -1
  125. package/dist/components/{p-BZabVWBD.js → p-CJRGLvgC.js} +1 -1
  126. package/dist/components/p-CK6jFkqR.js +1 -0
  127. package/dist/components/p-CRq8zgt_.js +1 -0
  128. package/dist/components/{p-BFC3Etk2.js → p-CSbyXQa9.js} +1 -1
  129. package/dist/components/p-CvfW21oo.js +1 -0
  130. package/dist/components/{p-CIUE4qr7.js → p-CwQTEZWO.js} +1 -1
  131. package/dist/components/{p-INdVvadB.js → p-Cye8r1MG.js} +1 -1
  132. package/dist/components/{p-JlZdKw4C.js → p-D4mjSR0u.js} +1 -1
  133. package/dist/components/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  134. package/dist/components/p-DGyTYauz.js +1 -0
  135. package/dist/components/{p-C3fqSH7A.js → p-DP0Dp12H.js} +1 -1
  136. package/dist/components/{p-BSfu4DO2.js → p-DQj-S8AC.js} +1 -1
  137. package/dist/components/{p-BwPmM1Pm.js → p-DSIM5Mkt.js} +1 -1
  138. package/dist/components/{p-t161LJqb.js → p-DZ_3ZYMC.js} +1 -1
  139. package/dist/components/{p-D7nYP2a4.js → p-DfKa36bs.js} +1 -1
  140. package/dist/components/p-DoREs-rv.js +1 -0
  141. package/dist/components/p-DopVneZA.js +1 -0
  142. package/dist/components/{p-CpgTSxf0.js → p-Dwko_Bx3.js} +1 -1
  143. package/dist/components/{p-Da5i_Sa6.js → p-EcuI_UmK.js} +1 -1
  144. package/dist/components/p-_zllPZMm.js +1 -0
  145. package/dist/components/p-j2khhcHY.js +1 -0
  146. package/dist/components/{p-BeBiPTbd.js → p-lOVBaLB7.js} +1 -1
  147. package/dist/components/{p-kSfaCwf1.js → p-pTx5xpqU.js} +1 -1
  148. package/dist/components/p-pwNG5WaX.js +1 -0
  149. package/dist/components/{p-Cx_d5vsS.js → p-sRzhIrJR.js} +1 -1
  150. package/dist/components/{p-BRxXhFqt.js → p-uVZjhyvS.js} +1 -1
  151. package/dist/components/{p-X-8I-A3g.js → p-z564gmGG.js} +1 -1
  152. package/dist/components/sd-action-modal.js +1 -1
  153. package/dist/components/sd-badge.js +1 -1
  154. package/dist/components/sd-barcode-input.js +1 -1
  155. package/dist/components/sd-button.js +1 -1
  156. package/dist/components/sd-calendar.js +1 -1
  157. package/dist/components/sd-callout.d.ts +11 -0
  158. package/dist/components/sd-callout.js +1 -0
  159. package/dist/components/sd-card.js +1 -1
  160. package/dist/components/sd-checkbox.js +1 -1
  161. package/dist/components/sd-chip.js +1 -1
  162. package/dist/components/sd-circle-progress.js +1 -1
  163. package/dist/components/sd-confirm-modal.js +1 -1
  164. package/dist/components/sd-date-box.js +1 -1
  165. package/dist/components/sd-date-picker-trigger.js +1 -1
  166. package/dist/components/sd-date-picker.js +1 -1
  167. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  168. package/dist/components/sd-date-range-picker.js +1 -1
  169. package/dist/components/sd-divider.d.ts +11 -0
  170. package/dist/components/sd-divider.js +1 -0
  171. package/dist/components/sd-dropdown-button.js +1 -1
  172. package/dist/components/sd-field.js +1 -1
  173. package/dist/components/sd-file-picker.js +1 -1
  174. package/dist/components/sd-floating-portal.js +1 -1
  175. package/dist/components/sd-form.js +1 -1
  176. package/dist/components/sd-ghost-button.js +1 -1
  177. package/dist/components/sd-guide.js +1 -1
  178. package/dist/components/sd-icon.js +1 -1
  179. package/dist/components/sd-input.js +1 -1
  180. package/dist/components/sd-key-value-table.js +1 -1
  181. package/dist/components/sd-linear-progress.js +1 -1
  182. package/dist/components/sd-loading-container.js +1 -1
  183. package/dist/components/sd-loading-modal.js +1 -1
  184. package/dist/components/sd-modal-container.js +1 -1
  185. package/dist/components/sd-number-input.js +1 -1
  186. package/dist/components/sd-pagination.js +1 -1
  187. package/dist/components/sd-popover.js +1 -1
  188. package/dist/components/sd-popup.js +1 -1
  189. package/dist/components/sd-portal.js +1 -1
  190. package/dist/components/sd-radio-button.js +1 -1
  191. package/dist/components/sd-radio-group.js +1 -1
  192. package/dist/components/sd-radio.js +1 -1
  193. package/dist/components/sd-select-list-item-search.js +1 -1
  194. package/dist/components/sd-select-list-item.js +1 -1
  195. package/dist/components/sd-select-listbox.js +1 -1
  196. package/dist/components/sd-select-trigger.js +1 -1
  197. package/dist/components/sd-select.js +1 -1
  198. package/dist/components/sd-switch.js +1 -1
  199. package/dist/components/sd-table.js +1 -1
  200. package/dist/components/sd-tabs.js +1 -1
  201. package/dist/components/sd-tag.js +1 -1
  202. package/dist/components/sd-tbody.js +1 -1
  203. package/dist/components/sd-td.js +1 -1
  204. package/dist/components/sd-text-link.js +1 -1
  205. package/dist/components/sd-textarea.js +1 -1
  206. package/dist/components/sd-thead.js +1 -1
  207. package/dist/components/sd-toast-container.js +1 -1
  208. package/dist/components/sd-toast.js +1 -1
  209. package/dist/components/sd-toggle.js +1 -1
  210. package/dist/components/sd-tooltip.js +1 -1
  211. package/dist/components/sd-tr.js +1 -1
  212. package/dist/design-system/design-system.css +1 -1
  213. package/dist/design-system/design-system.esm.js +1 -1
  214. package/dist/design-system/index.esm.js +1 -1
  215. package/dist/design-system/{p-522d1481.entry.js → p-07b0d118.entry.js} +1 -1
  216. package/dist/design-system/{p-d39e515d.entry.js → p-0964c79a.entry.js} +1 -1
  217. package/dist/design-system/{p-ae117afa.entry.js → p-1219699a.entry.js} +1 -1
  218. package/dist/design-system/{p-f7074386.entry.js → p-1743651a.entry.js} +1 -1
  219. package/dist/design-system/{p-481e6934.entry.js → p-17883b40.entry.js} +1 -1
  220. package/dist/design-system/p-18057222.entry.js +1 -0
  221. package/dist/design-system/{p-e611dcd4.entry.js → p-18d3ae55.entry.js} +1 -1
  222. package/dist/design-system/{p-fe3ae346.entry.js → p-1aafbc7b.entry.js} +1 -1
  223. package/dist/design-system/p-20a2e0d2.entry.js +1 -0
  224. package/dist/design-system/{p-399d416c.entry.js → p-25fad267.entry.js} +1 -1
  225. package/dist/design-system/p-2c0a8333.entry.js +1 -0
  226. package/dist/design-system/p-3a848c36.entry.js +1 -0
  227. package/dist/design-system/{p-3b8954d9.entry.js → p-4b43648c.entry.js} +1 -1
  228. package/dist/design-system/{p-32e2d71e.entry.js → p-4bd9f005.entry.js} +1 -1
  229. package/dist/design-system/p-4cf1c8ae.entry.js +1 -0
  230. package/dist/design-system/{p-9681b0ba.entry.js → p-521e5d2e.entry.js} +1 -1
  231. package/dist/design-system/p-54086285.entry.js +1 -0
  232. package/dist/design-system/{p-aeccfb2b.entry.js → p-696764b0.entry.js} +1 -1
  233. package/dist/design-system/p-70f47e43.entry.js +1 -0
  234. package/dist/design-system/{p-c7099e9e.entry.js → p-733aa107.entry.js} +1 -1
  235. package/dist/design-system/{p-a7ea1cf0.entry.js → p-7444d475.entry.js} +1 -1
  236. package/dist/design-system/{p-03badf68.entry.js → p-840f592d.entry.js} +1 -1
  237. package/dist/design-system/{p-dbeaeb31.entry.js → p-8d2815cf.entry.js} +1 -1
  238. package/dist/design-system/{p-42f7febe.entry.js → p-8fc49d2d.entry.js} +1 -1
  239. package/dist/design-system/{p-e8e64511.entry.js → p-95bbba4f.entry.js} +1 -1
  240. package/dist/design-system/p-969665c0.entry.js +1 -0
  241. package/dist/design-system/{p-e23dac79.entry.js → p-97b405aa.entry.js} +1 -1
  242. package/dist/design-system/p-C7p6g_sM.js +1 -0
  243. package/dist/design-system/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  244. package/dist/design-system/p-DGyTYauz.js +1 -0
  245. package/dist/design-system/p-DNWwGHho.js +2 -0
  246. package/dist/design-system/p-DopVneZA.js +1 -0
  247. package/dist/design-system/p-LIf7YMBN.js +1 -0
  248. package/dist/design-system/{p-9b9bf9db.entry.js → p-a5930cbd.entry.js} +1 -1
  249. package/dist/design-system/{p-84a94775.entry.js → p-a6c9baa5.entry.js} +1 -1
  250. package/dist/design-system/{p-4a91875c.entry.js → p-afdca5bb.entry.js} +1 -1
  251. package/dist/design-system/{p-00b2c850.entry.js → p-b08ca29b.entry.js} +1 -1
  252. package/dist/design-system/p-c5c4a66b.entry.js +1 -0
  253. package/dist/design-system/p-c73cadc7.entry.js +1 -0
  254. package/dist/design-system/{p-679bce6c.entry.js → p-d8292621.entry.js} +1 -1
  255. package/dist/design-system/{p-a98f9a29.entry.js → p-deec1ef0.entry.js} +1 -1
  256. package/dist/design-system/{p-11b904a3.entry.js → p-e6bd8ab1.entry.js} +1 -1
  257. package/dist/design-system/{p-e902a3f4.entry.js → p-e9079238.entry.js} +1 -1
  258. package/dist/design-system/p-ea17a361.entry.js +1 -0
  259. package/dist/design-system/{p-a71d4947.entry.js → p-eef5f8d7.entry.js} +1 -1
  260. package/dist/design-system/p-f97b75d3.entry.js +1 -0
  261. package/dist/design-system/{p-74bf0ed9.entry.js → p-ff33d019.entry.js} +1 -1
  262. package/dist/design-system/p-j2khhcHY.js +1 -0
  263. package/dist/esm/{component.table-DQFHAKL_.js → component.table-D6GUzecR.js} +4 -1
  264. package/dist/esm/design-system.js +3 -3
  265. package/dist/esm/{index-0U6dRjlq.js → index-DNWwGHho.js} +1 -1
  266. package/dist/esm/index.js +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/sanitize-inline-html-DopVneZA.js +63 -0
  269. package/dist/esm/sd-action-modal.entry.js +1 -1
  270. package/dist/esm/sd-badge.entry.js +1 -1
  271. package/dist/esm/sd-barcode-input.entry.js +1 -1
  272. package/dist/esm/{sd-button.config-BDjErF_K.js → sd-button.config-C7p6g_sM.js} +17 -12
  273. package/dist/esm/sd-button_2.entry.js +2 -2
  274. package/dist/esm/sd-calendar_2.entry.js +8 -7
  275. package/dist/esm/sd-callout.entry.js +150 -0
  276. package/dist/esm/sd-card.entry.js +2 -2
  277. package/dist/esm/sd-checkbox.entry.js +10 -5
  278. package/dist/esm/sd-chip.entry.js +2 -2
  279. package/dist/esm/sd-circle-progress.entry.js +3 -3
  280. package/dist/esm/sd-confirm-modal_2.entry.js +5 -4
  281. package/dist/esm/sd-date-box.entry.js +1 -1
  282. package/dist/esm/sd-date-picker_7.entry.js +13 -10
  283. package/dist/esm/sd-date-range-picker-calendar.entry.js +2 -2
  284. package/dist/esm/sd-divider.entry.js +25 -0
  285. package/dist/esm/sd-dropdown-button.entry.js +49 -23
  286. package/dist/esm/sd-field_3.entry.js +9 -9
  287. package/dist/esm/sd-form.entry.js +1 -1
  288. package/dist/esm/sd-ghost-button.entry.js +1 -1
  289. package/dist/esm/sd-guide.entry.js +6 -5
  290. package/dist/esm/sd-key-value-table.entry.js +3 -3
  291. package/dist/esm/sd-linear-progress.entry.js +3 -3
  292. package/dist/esm/sd-loading-container.entry.js +3 -3
  293. package/dist/esm/sd-modal-container.entry.js +1 -1
  294. package/dist/esm/sd-pagination_4.entry.js +31 -51
  295. package/dist/esm/sd-popover.entry.js +5 -6
  296. package/dist/esm/sd-popup.entry.js +7 -6
  297. package/dist/esm/sd-portal.entry.js +2 -2
  298. package/dist/esm/sd-radio-button.entry.js +1 -1
  299. package/dist/esm/sd-radio.entry.js +1 -1
  300. package/dist/esm/sd-select-list-item_2.entry.js +7 -7
  301. package/dist/esm/sd-select_3.entry.js +9 -9
  302. package/dist/esm/sd-switch.entry.js +2 -2
  303. package/dist/esm/{sd-table.config-DU7Pc6YH.js → sd-table.config-D9meRqTx.js} +7 -4
  304. package/dist/esm/sd-table.entry.js +26 -57
  305. package/dist/esm/sd-tabs.entry.js +2 -2
  306. package/dist/esm/sd-tag.entry.js +5 -3
  307. package/dist/esm/sd-td.entry.js +2 -2
  308. package/dist/esm/sd-text-link.entry.js +1 -1
  309. package/dist/esm/sd-toast-container.entry.js +2 -2
  310. package/dist/esm/sd-toast.entry.js +3 -3
  311. package/dist/esm/sd-toggle.entry.js +2 -2
  312. package/dist/esm/{system-GBlVDmy4.js → system-j2khhcHY.js} +15 -1
  313. package/dist/esm/{tooltipArrow-O5LOsHae.js → tooltipArrow-Cj3AqWK0.js} +1 -1
  314. package/dist/types/components/sd-calendar/sd-calendar.d.ts +1 -0
  315. package/dist/types/components/sd-callout/sd-callout.config.d.ts +34 -0
  316. package/dist/types/components/sd-callout/sd-callout.d.ts +11 -0
  317. package/dist/types/components/sd-divider/sd-divider.config.d.ts +3 -0
  318. package/dist/types/components/sd-divider/sd-divider.d.ts +5 -0
  319. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +5 -0
  320. package/dist/types/components/sd-number-input/sd-number-input.d.ts +4 -0
  321. package/dist/types/components/sd-popover/sd-popover.d.ts +0 -1
  322. package/dist/types/components/sd-table/sd-table.config.d.ts +2 -0
  323. package/dist/types/components/sd-table/sd-table.d.ts +1 -6
  324. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +1 -5
  325. package/dist/types/components.d.ts +123 -21
  326. package/dist/types/utils/html/sanitize-inline-html.d.ts +1 -0
  327. package/hydrate/index.js +477 -212
  328. package/hydrate/index.mjs +477 -212
  329. package/package.json +1 -1
  330. package/dist/components/p-BDVrZ5mV.js +0 -1
  331. package/dist/components/p-BjkROjjt.js +0 -1
  332. package/dist/components/p-Bs1Z5QtN.js +0 -1
  333. package/dist/components/p-CETxX4-M.js +0 -1
  334. package/dist/components/p-CyObYB-g.js +0 -1
  335. package/dist/components/p-DdLntfiw.js +0 -1
  336. package/dist/components/p-DhTcn6jX.js +0 -1
  337. package/dist/components/p-DiP0LJGq.js +0 -1
  338. package/dist/components/p-DwgaMhOM.js +0 -1
  339. package/dist/components/p-DykVq5VY.js +0 -1
  340. package/dist/components/p-GBlVDmy4.js +0 -1
  341. package/dist/components/p-oyZgWRnC.js +0 -1
  342. package/dist/design-system/p-0U6dRjlq.js +0 -2
  343. package/dist/design-system/p-29fd86d8.entry.js +0 -1
  344. package/dist/design-system/p-36d744fb.entry.js +0 -1
  345. package/dist/design-system/p-8f4ccae4.entry.js +0 -1
  346. package/dist/design-system/p-92f368a2.entry.js +0 -1
  347. package/dist/design-system/p-9f7f1b8b.entry.js +0 -1
  348. package/dist/design-system/p-BDjErF_K.js +0 -1
  349. package/dist/design-system/p-DykVq5VY.js +0 -1
  350. package/dist/design-system/p-GBlVDmy4.js +0 -1
  351. package/dist/design-system/p-a640e509.entry.js +0 -1
  352. package/dist/design-system/p-a97033a2.entry.js +0 -1
  353. package/dist/design-system/p-cc97f4b4.entry.js +0 -1
  354. package/dist/design-system/p-d890a680.entry.js +0 -1
  355. package/dist/design-system/p-fc5c4f85.entry.js +0 -1
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-DNWwGHho.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
- import { T as TABLE_BODY_LAYOUT, a as TABLE_BODY_TYPOGRAPHY, b as TABLE_BORDER, c as TABLE_RADIUS } from './sd-table.config-DU7Pc6YH.js';
4
- import './component.table-DQFHAKL_.js';
5
- import './system-GBlVDmy4.js';
3
+ import { T as TABLE_BODY_LAYOUT, a as TABLE_SELECTABLE_COLUMN_WIDTH, b as TABLE_BODY_TYPOGRAPHY, c as TABLE_BORDER, d as TABLE_RADIUS } from './sd-table.config-D9meRqTx.js';
4
+ import './component.table-D6GUzecR.js';
5
+ import './system-j2khhcHY.js';
6
6
 
7
7
  let urlAlphabet =
8
8
  'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
@@ -17,7 +17,7 @@ let nanoid = (size = 21) => {
17
17
  return id
18
18
  };
19
19
 
20
- const sdTableCss = () => `sd-table,:host{display:block;width:100%;max-width:100%;min-width:0}sd-table *,:host *{box-sizing:border-box}.sd-table__container{height:var(--table-height, 100%);width:var(--table-width, 100%);max-width:100%;min-width:0;color:#222222;display:flex;flex-direction:column}.sd-table__wrapper{width:100%;min-width:0;height:var(--table-container-height, 400px);border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);border-radius:var(--table-radius, 8px);overflow:hidden}.sd-table__wrapper--radius-use-top{border-radius:0 0 var(--table-radius, 8px) var(--table-radius, 8px)}.sd-table__scroll-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;font-family:var(--table-body-font-family, inherit);font-weight:var(--table-body-font-weight, 400);font-size:var(--table-body-font-size, 12px);line-height:var(--table-body-line-height, 20px);text-decoration:var(--table-body-text-decoration, none);overflow:auto;background:#FFFFFF}.sd-table__scroll-container--loading{overflow:hidden !important;pointer-events:none}.sd-table__scroll-container--no-data{overflow:hidden;pointer-events:none}.sd-table__no-data{position:absolute;top:36px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--table-body-font-size, 12px);color:#888888;pointer-events:none;z-index:200;background:rgba(255, 255, 255, 0.6)}.sd-table__no-data-header-overlay{position:absolute;top:0;left:0;right:0;height:36px;background:rgba(255, 255, 255, 0.6);z-index:210;pointer-events:none}.sd-table__no-data-content{pointer-events:auto;min-height:60px;width:100%;display:flex;align-items:center;justify-content:center}.sd-table__loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.sd-table--selectable sd-thead,.sd-table--selectable sd-tbody{--selectable:true}.sd-table--sticky-header sd-thead thead{position:sticky;top:0;z-index:120}.sd-table--sticky-column sd-thead,.sd-table--sticky-column sd-tbody{--sticky-column:true}.sd-table--scrolled-left sd-thead,.sd-table--scrolled-left sd-tbody{--scrolled-left:true}.sd-table--scrolled-right sd-thead,.sd-table--scrolled-right sd-tbody{--scrolled-right:true}.sd-table--resizable sd-thead{--resizable:true}.sd-table--no-data sd-thead{opacity:0.4}.sd-table__pagination{position:relative;background:#F9F9F9;height:48px;display:flex;align-items:center;justify-content:center;border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);margin-top:-1px;border-radius:var(--table-radius, 8px)}.sd-table__pagination sd-select{position:absolute;right:10px;top:50%;transform:translateY(-50%)}`;
20
+ const sdTableCss = () => `sd-table,:host{display:block;width:100%;max-width:100%;min-width:0}sd-table *,:host *{box-sizing:border-box}.sd-table__container{height:var(--table-height, 100%);width:var(--table-width, 100%);max-width:100%;min-width:0;color:#222222;display:flex;flex-direction:column}.sd-table__wrapper{width:100%;min-width:0;height:var(--table-container-height, 400px);border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);border-radius:var(--table-radius, 8px);overflow:hidden}.sd-table__wrapper--use-top{border-radius:0 0 var(--table-radius, 8px) var(--table-radius, 8px)}.sd-table__scroll-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;font-family:var(--table-body-font-family, inherit);font-weight:var(--table-body-font-weight, 400);font-size:var(--table-body-font-size, 12px);line-height:var(--table-body-line-height, 20px);text-decoration:var(--table-body-text-decoration, none);overflow:auto;background:#FFFFFF}.sd-table__scroll-container--loading{overflow:hidden !important;pointer-events:none}.sd-table__scroll-container--no-data{overflow:hidden;pointer-events:none}.sd-table__no-data{position:absolute;top:36px;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:var(--table-body-font-size, 12px);color:#888888;pointer-events:none;z-index:200;background:rgba(255, 255, 255, 0.6)}.sd-table__no-data-header-overlay{position:absolute;top:0;left:0;right:0;height:36px;background:rgba(255, 255, 255, 0.6);z-index:210;pointer-events:none}.sd-table__no-data-content{pointer-events:auto;min-height:60px;width:100%;display:flex;align-items:center;justify-content:center}.sd-table__loading{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255, 255, 255, 0.6);z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.sd-table{background-color:white;display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.sd-table--selectable sd-thead,.sd-table--selectable sd-tbody{--selectable:true}.sd-table--sticky-header sd-thead thead{position:sticky;top:0;z-index:120}.sd-table--sticky-column sd-thead,.sd-table--sticky-column sd-tbody{--sticky-column:true}.sd-table--scrolled-left sd-thead,.sd-table--scrolled-left sd-tbody{--scrolled-left:true}.sd-table--scrolled-right sd-thead,.sd-table--scrolled-right sd-tbody{--scrolled-right:true}.sd-table--resizable sd-thead{--resizable:true}.sd-table--no-data sd-thead{opacity:0.4}.sd-table__pagination{position:relative;background:#F9F9F9;height:48px;display:flex;align-items:center;justify-content:center;border:var(--table-border-width, 1px) solid var(--table-border-color, #E1E1E1);margin-top:-1px;border-radius:var(--table-radius, 8px)}.sd-table__pagination sd-select{position:absolute;right:10px;top:50%;transform:translateY(-50%)}`;
21
21
 
22
22
  const SdTable = class {
23
23
  constructor(hostRef) {
@@ -42,7 +42,7 @@ const SdTable = class {
42
42
  height;
43
43
  stickyHeader = false;
44
44
  stickyColumn = { left: 0, right: 0 };
45
- radius = 'default';
45
+ useTop = false;
46
46
  noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
47
47
  resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
48
48
  isLoading = false;
@@ -102,8 +102,6 @@ const SdTable = class {
102
102
  // 키: `${rowKey}::${field}` → sd-td의 sdClass 문자열
103
103
  // sd-tr가 td를 그릴 때 머지해서 셀-단위 커스텀 클래스를 적용한다.
104
104
  cellClassRegistry = new Map();
105
- // separator 직전 행의 시각적 인덱스 집합
106
- separatorPrevIndices = new Set();
107
105
  // rowKey 문자열 → rows 배열에서의 visual index.
108
106
  // rowspan 위쪽 행 스캔에서 "내 위에 있느냐"를 판정하기 위한 시각적 순서 소스.
109
107
  // rows prop이 있으면 채워지고, 없으면 비어 있어 Number(rowKey) fallback이 사용된다.
@@ -234,6 +232,10 @@ const SdTable = class {
234
232
  if (this.pagination?.rowsPerPage != null) {
235
233
  this.innerRowsPerPage = this.pagination.rowsPerPage;
236
234
  }
235
+ // host element 에 자식 컴포넌트(sd-thead/sd-tbody/sd-tr) 가 직접 접근하는 internal sync helpers 를 monkey-patch.
236
+ // 28개 메서드 전체를 typed interface 로 노출하면 코드 비용이 크고, 어차피 internal 이라 외부 사용자가 호출하지 않는다.
237
+ // 정식 @Method 노출로 옮기는 작업은 별도 이슈로 분리.
238
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
237
239
  const el = this.el;
238
240
  el.isRowSelectedSync = this.isRowSelectedSync.bind(this);
239
241
  el.updateRowSelectSync = this.updateRowSelectSync.bind(this);
@@ -252,9 +254,6 @@ const SdTable = class {
252
254
  el.unregisterSpanSync = this.unregisterSpanSync.bind(this);
253
255
  el.getSpanSync = this.getSpanSync.bind(this);
254
256
  el.isCoveredSync = this.isCoveredSync.bind(this);
255
- el.registerSeparatorSync = this.registerSeparatorSync.bind(this);
256
- el.unregisterSeparatorSync = this.unregisterSeparatorSync.bind(this);
257
- el.isVisualLastRowBeforeSeparatorSync = this.isVisualLastRowBeforeSeparatorSync.bind(this);
258
257
  el.hasRowspanSync = this.hasRowspanSync.bind(this);
259
258
  el.registerCellClassSync = this.registerCellClassSync.bind(this);
260
259
  el.unregisterCellClassSync = this.unregisterCellClassSync.bind(this);
@@ -350,7 +349,6 @@ const SdTable = class {
350
349
  }
351
350
  });
352
351
  }
353
- // light DOM(manual mode 자식)과 shadow DOM(autoThead/autoTbody fallback) 양쪽 모두에서 자식을 찾는다.
354
352
  queryChildEl(selector) {
355
353
  return (this.el.querySelector(selector) ??
356
354
  this.el.shadowRoot?.querySelector(selector) ??
@@ -378,12 +376,12 @@ const SdTable = class {
378
376
  refreshChildrenSelection() {
379
377
  const thead = this.queryChildEl('sd-thead');
380
378
  thead?.refreshSelection?.();
381
- this.queryAllTr().forEach(tr => tr?.refreshSelection?.());
379
+ this.queryAllTr().forEach(tr => tr.refreshSelection?.());
382
380
  }
383
381
  refreshChildrenConfig() {
384
382
  const thead = this.queryChildEl('sd-thead');
385
383
  thead?.refreshConfig?.();
386
- this.queryAllTr().forEach(tr => tr?.refreshConfig?.());
384
+ this.queryAllTr().forEach(tr => tr.refreshConfig?.());
387
385
  }
388
386
  maybeEmitVirtualReachEnd(start, end) {
389
387
  const threshold = Math.max(1, this.virtualEndThreshold);
@@ -415,6 +413,7 @@ const SdTable = class {
415
413
  this.vsEnd = end;
416
414
  const topHeight = start * this.effectiveRowHeight;
417
415
  const bottomHeight = Math.max(0, (this.rowCount - end) * this.effectiveRowHeight);
416
+ // setSpacersSync 는 sd-tbody 가 host element 에 monkey-patch 하는 internal sync helper.
418
417
  const tbody = this.queryChildEl('sd-tbody');
419
418
  tbody?.setSpacersSync?.(topHeight, bottomHeight);
420
419
  if (rangeChanged) {
@@ -535,7 +534,7 @@ const SdTable = class {
535
534
  this.updateRowsVisibility();
536
535
  }
537
536
  updateRowsVisibility() {
538
- this.queryAllTr().forEach(tr => tr?.updateVisibility?.());
537
+ this.queryAllTr().forEach(tr => tr.updateVisibility?.());
539
538
  }
540
539
  changeRowsPerPage(perPage) {
541
540
  const changedRowsPerPage = perPage != null && perPage !== '' ? Number(perPage) : 0;
@@ -574,7 +573,7 @@ const SdTable = class {
574
573
  this.columnWidths = this.columnWidths.map((width, idx) => (idx === index ? newWidth : width));
575
574
  const thead = this.queryChildEl('sd-thead');
576
575
  thead?.setColumnWidths?.(this.columnWidths);
577
- this.queryAllTr().forEach(tr => tr?.setColumnWidths?.(this.columnWidths));
576
+ this.queryAllTr().forEach(tr => tr.setColumnWidths?.(this.columnWidths));
578
577
  const stickyRightCount = this.stickyColumn?.right || 0;
579
578
  const visibleColCount = this.columns.filter(c => c.visible !== false).length;
580
579
  const isRightStickyEdgeResizer = stickyRightCount > 0 && index === visibleColCount - stickyRightCount;
@@ -594,7 +593,7 @@ const SdTable = class {
594
593
  getStickyStyleSync(colIdx) {
595
594
  const leftOffset = this.columnWidths
596
595
  .slice(0, colIdx)
597
- .reduce((a, b) => a + b, this.selectable ? 52 : 0);
596
+ .reduce((a, b) => a + b, this.selectable ? TABLE_SELECTABLE_COLUMN_WIDTH : 0);
598
597
  const rightOffset = this.columnWidths
599
598
  .filter((_, i) => i >=
600
599
  this.columns.filter(c => c.visible !== false).length -
@@ -629,9 +628,8 @@ const SdTable = class {
629
628
  // 경우가 있어, sd-tr의 @State (spansVersion)을 통해 재렌더를 강제한다.
630
629
  requestAllTrUpdate() {
631
630
  this.queryAllTr().forEach(tr => {
632
- const trAny = tr;
633
- if (typeof trAny.bumpSpansVersion === 'function') {
634
- trAny.bumpSpansVersion();
631
+ if (typeof tr.bumpSpansVersion === 'function') {
632
+ tr.bumpSpansVersion();
635
633
  }
636
634
  else {
637
635
  forceUpdate(tr);
@@ -745,36 +743,6 @@ const SdTable = class {
745
743
  }
746
744
  return false;
747
745
  }
748
- // rowspan을 반영한 셀의 시각적 하단 행 인덱스를 반환한다.
749
- // isVisualLastRowBeforeSeparatorSync 헬퍼.
750
- resolveVisualBottom(rowKey, field) {
751
- const myRowIdx = this.resolveRowIndex(rowKey);
752
- if (myRowIdx == null)
753
- return null;
754
- const span = this.spanRegistry.get(this.spanKey(rowKey, field));
755
- const rs = Math.max(1, span?.rowspan ?? 1);
756
- return myRowIdx + rs - 1;
757
- }
758
- registerSeparatorSync(prevRowKey) {
759
- const idx = this.resolveRowIndex(prevRowKey);
760
- if (idx != null)
761
- this.separatorPrevIndices.add(idx);
762
- }
763
- unregisterSeparatorSync(prevRowKey) {
764
- const idx = this.resolveRowIndex(prevRowKey);
765
- if (idx != null)
766
- this.separatorPrevIndices.delete(idx);
767
- }
768
- // 셀의 시각적 하단이 separator 바로 앞 행인지 판정.
769
- // 해당 셀에 border-bottom: none을 적용하기 위함.
770
- isVisualLastRowBeforeSeparatorSync(rowKey, field) {
771
- if (this.separatorPrevIndices.size === 0)
772
- return false;
773
- const visualBottom = this.resolveVisualBottom(rowKey, field);
774
- if (visualBottom == null)
775
- return false;
776
- return this.separatorPrevIndices.has(visualBottom);
777
- }
778
746
  setRowCountSync(count) {
779
747
  const safeCount = Math.max(0, Math.floor(this.toFiniteNumber(count, 0)));
780
748
  if (safeCount !== this.rowCount) {
@@ -870,26 +838,27 @@ const SdTable = class {
870
838
  '--table-body-font-size': `${TABLE_BODY_TYPOGRAPHY.fontSize}px`,
871
839
  '--table-body-line-height': `${TABLE_BODY_TYPOGRAPHY.lineHeight}px`,
872
840
  '--table-body-text-decoration': TABLE_BODY_TYPOGRAPHY.textDecoration,
841
+ '--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
873
842
  };
874
- return (h(Host, { key: '2b7c1eaf862c45c73751af6035a022e8ce0314b4', style: hostStyle }, h("div", { key: '35851e539eef8ff69ff03bd31f5d55d95eb8bf7a', class: "sd-table__container", style: {
843
+ return (h(Host, { key: '4596e04bd57aca00fa6378fd26ce33a06a795eaf', style: hostStyle }, h("div", { key: '11a20d327410b0be659cede32917164e036e796c', class: "sd-table__container", style: {
875
844
  '--table-width': this.width,
876
845
  '--table-height': effectiveTableHeight,
877
846
  '--table-container-height': `calc(${effectiveTableHeight} - ${paginationHeight}px)`,
878
- } }, h("div", { key: 'e3bf5576fd1b1ee9ffab5d240de904204f4288d5', class: {
847
+ } }, h("div", { key: 'f4f3acf584dc4eacdae25b11aa2b62b73ffab949', class: {
879
848
  'sd-table__wrapper': true,
880
- 'sd-table__wrapper--radius-use-top': this.radius === 'useTop',
881
- } }, h("div", { key: 'a67ebcb802a3ed443cca1fc33a00787642e08e84', class: {
849
+ 'sd-table__wrapper--use-top': this.useTop,
850
+ } }, h("div", { key: 'c8ab618b9c990a22b8e9466a5bfb5f02f4de8b12', class: {
882
851
  'sd-table__scroll-container': true,
883
852
  'sd-table__scroll-container--loading': this.isLoading,
884
853
  'sd-table__scroll-container--no-data': isNoData,
885
- } }, this.isLoading && (h("div", { key: '2cdaff94dab50598c05364930dd3e763a6f2f79a', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '49211d7555a38996d3fd9cfce0df50bb626fa1d6', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: '3da9d42ecedbdc63858a06040f0e22d265a8183b', class: "sd-table__no-data-header-overlay" }), h("div", { key: '20b5d8be682572a4ddbce21b6cd265894d014499', class: "sd-table__no-data" }, h("div", { key: 'a024fa084f4a137a70fe176cee6918b4f701fd42', class: "sd-table__no-data-content", ref: el => {
854
+ } }, this.isLoading && (h("div", { key: 'a696933a70799ba282fc743281d0af27fd691a2e', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: 'cba6ac47367ef6499bf338b9b757ee74fdd7e6c1', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: '6e22156bf5b0fb9814d9bf9cad57506758c6284b', class: "sd-table__no-data-header-overlay" }), h("div", { key: 'b72f9fabcc8acb8e700ad55acc4d7aff08355a1c', class: "sd-table__no-data" }, h("div", { key: '43f271a8803121362f16e8153748328658f073ec', class: "sd-table__no-data-content", ref: el => {
886
855
  this.noDataContentEl = el;
887
856
  if (el)
888
857
  this.syncNoDataContentObserver();
889
- } }, h("slot", { key: '9603eefa63fd5bc05dfa132c6be2302497d4c228', name: "no-data" }, h("span", { key: '0dad4e143d8251e375f748d1e5e1a77909fab164' }, this.resolvedNoDataLabel)))))), h("table", { key: '83325a8970f18bb9cf7a78dc665d16a24edc18da', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
858
+ } }, h("slot", { key: '4b8533115bbc81962b80c9c2533fe4b44a87193c', name: "no-data" }, h("span", { key: 'd94c4f7cf9eca7901b99434f712480a7b20c869a' }, this.resolvedNoDataLabel)))))), h("table", { key: 'a9a353aca09124ed8a82fcd2f8a0a7de09b234f5', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
890
859
  this.pagination.rowsPerPage > 0 &&
891
860
  this.rowCount > 0 &&
892
- !this.useVirtualScroll && (h("div", { key: '935b0f916cbc1de29a7f6b3805a5a3c25eaba467', class: "sd-table__pagination" }, h("sd-pagination", { key: '7faad5d0b2efe652a9ed989910551aa8bc5592ec', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: 'd514c41459a60ac47ffcd476a635c47386232c50', value: this.useInternalPagination
861
+ !this.useVirtualScroll && (h("div", { key: '8afeb9398c3d7540a54b9a3660fb9685ae1cddca', class: "sd-table__pagination" }, h("sd-pagination", { key: 'e2cbb3f7414f65b81ab2d33eaec5d9f28bed6cc8', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: 'ce723544dbc7e4cc0d77ced3b685b8575cf67e6f', value: this.useInternalPagination
893
862
  ? this.innerRowsPerPage
894
863
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
895
864
  if (!this.isRowsPerPageValue(e.detail))
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const tab = {
4
4
  main: {
@@ -186,7 +186,7 @@ const SdTabs = class {
186
186
  };
187
187
  }
188
188
  render() {
189
- return (h("div", { key: '880f1aa80c29f2d578ffe2d5e5e5e0c008c898d3', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
189
+ return (h("div", { key: '92384577bf4ce85de90ae05a32e44715e595fe16', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
190
190
  const badgeName = this.getBadgeName(tab);
191
191
  return (h("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
192
192
  if (e.key === 'Enter' || e.key === ' ') {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const tag = {
4
4
  xs: {
@@ -184,6 +184,8 @@ const SdTag = class {
184
184
  name = 'square_sm_grey';
185
185
  label = '';
186
186
  icon;
187
+ // 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
188
+ // eslint-disable-next-line stencil/ban-default-true
187
189
  isLeft = true;
188
190
  componentWillLoad() {
189
191
  this.name = this.name ?? 'square_sm_grey';
@@ -205,7 +207,7 @@ const SdTag = class {
205
207
  render() {
206
208
  const config = this.resolvedConfig;
207
209
  const iconNode = this.renderIcon(config.icon, config.iconSize);
208
- return (h("span", { key: '57f3c3f9ad53059fabff205cb44ffa3d1da9a711', class: "sd-tag", style: {
210
+ return (h("span", { key: 'c8b8b88e2c83401bb9d3e05004b0517d7e4a3a6a', class: "sd-tag", style: {
209
211
  '--sd-tag-background': config.background,
210
212
  '--sd-tag-content': config.content,
211
213
  '--sd-tag-height': config.height,
@@ -215,7 +217,7 @@ const SdTag = class {
215
217
  '--sd-tag-font-weight': config.fontWeight,
216
218
  '--sd-tag-line-height': config.lineHeight,
217
219
  '--sd-tag-radius': config.radius,
218
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '3360f36d18f073cd24699b6b8db2e731fda351ac', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
220
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '67094b09ab1d7b7e865c9f6b8017f8c5c3f8274a', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
219
221
  }
220
222
  };
221
223
  SdTag.style = sdTagCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-DNWwGHho.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
3
 
4
4
  const sdTdCss = () => `sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}`;
@@ -156,7 +156,7 @@ const SdTd = class {
156
156
  }
157
157
  }
158
158
  render() {
159
- return (h(Host, { key: '505b602b609050870e7e80df9157dbc50d0cb8c1', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: '9910f02d98ce5e115b2a380954dd0a994f9f1c12' })));
159
+ return (h(Host, { key: '1d7123e1f35cfb513a1fa89b4d60f8dde7715a2f', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: 'f7b9266106a6df93e2101ca9a324035960281a6f' })));
160
160
  }
161
161
  static get watchers() { return {
162
162
  "field": [{
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const textLink = {
4
4
  gap: "4",
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const DEFAULT_DURATION = 4000;
4
4
  const DEFAULT_MAX_VISIBLE = 3;
@@ -232,7 +232,7 @@ const SdToastContainer = class {
232
232
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
233
233
  const indexMap = new Map();
234
234
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
235
- return (h("div", { key: 'bc3c9591b6453eed7df462841e29784c29b3aeef', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
235
+ return (h("div", { key: '1de55d255b75842f52e3f0a147a69493ed1a7de5', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
236
236
  this.expanded = true;
237
237
  this.pauseTimers();
238
238
  }, onMouseLeave: () => {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const toast = {
4
4
  icon: "16",
@@ -82,12 +82,12 @@ const SdToast = class {
82
82
  const linkColor = typeConfig.linkColor ?? typeConfig.content;
83
83
  const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
84
84
  const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
85
- return (h("div", { key: 'db3ffaf51dc96c39c05558017f25929c679a59df', style: {
85
+ return (h("div", { key: '735fa3f949ee4c7d0178f999c02e90c829c133b4', style: {
86
86
  '--sd-toast-bg': typeConfig.bg,
87
87
  '--sd-toast-text': typeConfig.content,
88
88
  '--sd-toast-icon': iconColor,
89
89
  '--sd-toast-link': linkColor,
90
- } }, h("div", { key: '92344f5bb95b0d4787591207f2e017d7dd177091', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '991db58b2cb019dd3a787e000e9d8813014bbb09', class: "sd-toast__icon" }, h("sd-icon", { key: '24d53cd77fdea82ec07663a8968493ec2b794751', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '70cfad4ef389cca798be9baeac99bfc41efcc615', class: "sd-toast__content" }, h("span", { key: '5927023435b17dc25ee07630fc4ae4568aadd9b9', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '410c024fd81ebcc78175c1855a86f590566d1a81', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: 'd85287e7ef796a11f850a0ce5cde87f5881fa5c9', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '55a6bf6457bd89254f6eb01072d46a0edbb8b510', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
90
+ } }, h("div", { key: '4e483d858c3268bde838ddc5c5c9cb5065855326', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '007eded85c508bdd2da05b1c9d489ff2d03a4df9', class: "sd-toast__icon" }, h("sd-icon", { key: '099d5556f4b0a11f5162cb76a6166a2d662d9590', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '3825916248bc2385fe87c8aeb6d741b59738246f', class: "sd-toast__content" }, h("span", { key: 'fba817baf33179296f50d3fe4147cc99c38fbb83', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '39667765a9a72c761f0b464f78c7652e60e6dd16', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '3da2f9a5daf53de4400bfec79654b5795c3b6af4', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '2578d35dc11e06178c6902cb358bcdb8ccabbf36', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
91
91
  }
92
92
  };
93
93
  SdToast.style = sdToastCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0U6dRjlq.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-DNWwGHho.js';
2
2
 
3
3
  const toggle = {
4
4
  height: "28",
@@ -118,7 +118,7 @@ const SdToggle = class {
118
118
  '--sd-toggle-content-select': TOGGLE_COLORS.content.select,
119
119
  '--sd-toggle-content-disabled': TOGGLE_COLORS.content.disabled,
120
120
  };
121
- return (h("label", { key: 'b16577aa25863a9dc337314d9059328799c1cd1e', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, h("input", { key: '6130825b74df8a573f4e062671fd694508759e82', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
121
+ return (h("label", { key: 'f1b1b68270d523f7f3e40c8145f35e93df269d73', class: this.toggleClasses, style: cssVars, "aria-label": this.label || 'toggle' }, this.label, h("input", { key: '7e07c190916e19ffe8744f6b491e92e6bf8efd36', style: { display: 'none' }, type: "checkbox", onInput: this.handleChange })));
122
122
  }
123
123
  };
124
124
  SdToggle.style = sdToggleCss();
@@ -11,13 +11,27 @@ const color = {
11
11
  accent: "#0075FF",
12
12
  inverse: "#FFFFFF"
13
13
  },
14
+ divider: {
15
+ "default": "#E1E1E1"
16
+ },
14
17
  blue: {
15
18
  strong: "#0075FF"},
16
19
  darkblue: {
17
20
  strong: "#006AC1"},
18
21
  grey: {
19
22
  strong: "#737373"}};
23
+ const shadow = {
24
+ spread: {
25
+ md: {
26
+ x: "0",
27
+ y: "0",
28
+ blur: "24",
29
+ spread: "0",
30
+ color: "rgba(34,34,34,0.2)"}
31
+ }};
20
32
  var systemTokens = {
21
- color: color};
33
+ color: color,
34
+ shadow: shadow
35
+ };
22
36
 
23
37
  export { systemTokens as s };
@@ -1,4 +1,4 @@
1
- import { h } from './index-0U6dRjlq.js';
1
+ import { h } from './index-DNWwGHho.js';
2
2
 
3
3
  const TooltipArrow = (props) => (h("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, h("path", { d: "M8.83205 10.7519C8.43623 11.3457 7.56377 11.3457 7.16795 10.7519L1.04907e-06 -1.39876e-06L16 0L8.83205 10.7519Z", fill: "currentColor" })));
4
4
 
@@ -4,6 +4,7 @@ export declare class SdCalendar {
4
4
  value: string | null;
5
5
  selectable?: [string, string];
6
6
  events?: CalendarEventGroup[];
7
+ elevated: boolean;
7
8
  private currentYear;
8
9
  private currentMonth;
9
10
  update: EventEmitter<string>;
@@ -0,0 +1,34 @@
1
+ export type CalloutType = 'default' | 'danger';
2
+ export declare const CALLOUT_LAYOUT: {
3
+ readonly radius: `${string}px`;
4
+ readonly borderWidth: `${string}px`;
5
+ readonly bodyPaddingX: `${string}px`;
6
+ readonly bodyPaddingY: `${string}px`;
7
+ readonly bodyGap: `${string}px`;
8
+ readonly titlePaddingX: `${string}px`;
9
+ readonly titleGap: `${string}px`;
10
+ readonly titleIconSize: number;
11
+ };
12
+ export declare const CALLOUT_TYPOGRAPHY: {
13
+ readonly body: {
14
+ readonly fontFamily: string;
15
+ readonly fontSize: `${string}px`;
16
+ readonly fontWeight: string;
17
+ readonly lineHeight: `${string}px`;
18
+ };
19
+ readonly title: {
20
+ readonly fontFamily: string;
21
+ readonly fontSize: `${string}px`;
22
+ readonly fontWeight: string;
23
+ readonly lineHeight: `${string}px`;
24
+ };
25
+ };
26
+ export declare const CALLOUT_TYPE_CONFIG: Record<CalloutType, {
27
+ bg: string;
28
+ border: string;
29
+ content: string;
30
+ titleBg?: string;
31
+ titleColor?: string;
32
+ }>;
33
+ export declare const DANGER_TITLE_LABEL = "\uC8FC\uC758\uC0AC\uD56D";
34
+ export declare const TYPE_ICON: Record<CalloutType, IconName | undefined>;
@@ -0,0 +1,11 @@
1
+ import { type CalloutType } from './sd-callout.config';
2
+ export declare class SdCallout {
3
+ type: CalloutType;
4
+ message: (string | string[])[];
5
+ private get calloutStyle();
6
+ private renderListItem;
7
+ private renderLi;
8
+ private renderBody;
9
+ private renderTitle;
10
+ render(): any;
11
+ }
@@ -0,0 +1,3 @@
1
+ export declare const DIVIDER_COLORS: {
2
+ default: string;
3
+ };
@@ -0,0 +1,5 @@
1
+ export declare class SdDivider {
2
+ /** true면 수직 분할선, false면 수평 분할선 */
3
+ vertical: boolean;
4
+ render(): any;
5
+ }
@@ -7,6 +7,7 @@ export declare class SdDropdownButton extends BaseDropdownEvent {
7
7
  label: string;
8
8
  items: DropdownButtonItem[];
9
9
  disabled: boolean;
10
+ split: boolean;
10
11
  private static readonly CLOSE_ANIMATION_DURATION;
11
12
  isOpen: boolean;
12
13
  isAnimatingOut: boolean;
@@ -15,6 +16,7 @@ export declare class SdDropdownButton extends BaseDropdownEvent {
15
16
  private menuRef?;
16
17
  private closeAnimationTimer?;
17
18
  click: EventEmitter<DropdownButtonValue>;
19
+ buttonClick: EventEmitter<void>;
18
20
  dropDownShow: EventEmitter<{
19
21
  isOpen: boolean;
20
22
  }>;
@@ -30,9 +32,12 @@ export declare class SdDropdownButton extends BaseDropdownEvent {
30
32
  private get resolvedConfig();
31
33
  private getNextEnabledIndex;
32
34
  private toggleDropdown;
35
+ private handleButtonClick;
33
36
  private selectItem;
34
37
  private getTriggerClasses;
38
+ private getTriggerStyle;
35
39
  private getMenuItemClasses;
36
40
  private renderDropdown;
41
+ private renderChevron;
37
42
  render(): any;
38
43
  }
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { Rule } from '../../types/form';
3
+ import { SdTooltipProps } from '../sd-tooltip/sd-tooltip.config';
3
4
  import { type NumberInputSize } from './sd-number-input.config';
4
5
  import { type FieldAddonAlign } from '../sd-field/sd-field.config';
5
6
  export declare class SdNumberInput {
@@ -13,6 +14,9 @@ export declare class SdNumberInput {
13
14
  value?: string | number | null;
14
15
  label?: string;
15
16
  labelWidth: string | number;
17
+ icon?: IconProps;
18
+ labelTooltip: string;
19
+ labelTooltipProps: SdTooltipProps | null;
16
20
  addonLabel: string;
17
21
  addonAlign: FieldAddonAlign;
18
22
  placeholder: string;
@@ -28,7 +28,6 @@ export declare class SdPopover {
28
28
  leftLink?: PopoverLink;
29
29
  button?: PopoverButton;
30
30
  menuClass: string;
31
- useClose: boolean;
32
31
  showChange: EventEmitter<boolean>;
33
32
  private buttonEl?;
34
33
  private setShow;
@@ -44,6 +44,7 @@ export declare const TABLE_BORDER: {
44
44
  export declare const TABLE_SEPARATOR: {
45
45
  color: string;
46
46
  width: string;
47
+ denseWidth: string;
47
48
  };
48
49
  export declare const TABLE_RADIUS: string;
49
50
  export declare const TABLE_CONTENT: {
@@ -64,5 +65,6 @@ export declare const TABLE_KEY_VALUE: {
64
65
  bodyPadding: string;
65
66
  height: string;
66
67
  };
68
+ export declare const TABLE_SELECTABLE_COLUMN_WIDTH = 48;
67
69
  export declare const resolveTableIconColor: (name: IconName, override?: string) => string | undefined;
68
70
  export declare const resolveSortIconName: (sort: SdTableColumnSort) => IconName;
@@ -15,7 +15,7 @@ export declare class SdTable {
15
15
  height?: string;
16
16
  stickyHeader: boolean;
17
17
  stickyColumn: SdTableStickyColumn;
18
- radius: 'default' | 'useTop';
18
+ useTop: boolean;
19
19
  noDataLabel: string;
20
20
  resolvedNoDataLabel: string;
21
21
  isLoading: boolean;
@@ -63,7 +63,6 @@ export declare class SdTable {
63
63
  private spanRegistry;
64
64
  private useFrameRegistry;
65
65
  private cellClassRegistry;
66
- private separatorPrevIndices;
67
66
  private rowIndexMap;
68
67
  private rebuildRowIndexMap;
69
68
  private resolveRowIndex;
@@ -137,10 +136,6 @@ export declare class SdTable {
137
136
  getCellClassSync(rowKey: string, field: string): string | undefined;
138
137
  hasRowspanSync(): boolean;
139
138
  isCoveredSync(rowKey: string, colIdx: number, columns: SdTableColumn[]): boolean;
140
- private resolveVisualBottom;
141
- registerSeparatorSync(prevRowKey: string): void;
142
- unregisterSeparatorSync(prevRowKey: string): void;
143
- isVisualLastRowBeforeSeparatorSync(rowKey: string, field: string): boolean;
144
139
  setRowCountSync(count: number): void;
145
140
  setRowCount(count: number): Promise<void>;
146
141
  calculateVisibleRange(scrollTop: number, containerHeight: number): {
@@ -6,7 +6,7 @@ export declare class SdTr {
6
6
  stickyColumn?: SdTableStickyColumn;
7
7
  rowKey: string;
8
8
  row: Row;
9
- separator?: boolean;
9
+ separator?: '4' | '6' | 4 | 6 | null;
10
10
  tableId: string;
11
11
  columnWidths: number[];
12
12
  isVisible: boolean;
@@ -18,10 +18,8 @@ export declare class SdTr {
18
18
  private _scrolledRight;
19
19
  private _dense;
20
20
  private tableEl;
21
- private _prevRowKey;
22
21
  componentWillLoad(): void;
23
22
  componentDidLoad(): void;
24
- disconnectedCallback(): void;
25
23
  private syncTableContext;
26
24
  private resolveConfig;
27
25
  refreshConfig(): Promise<void>;
@@ -41,7 +39,5 @@ export declare class SdTr {
41
39
  private getCellClassFor;
42
40
  private getFramePaddingStyle;
43
41
  private expandCellClass;
44
- private isVisualLastRowBeforeSeparator;
45
- private isVisualLastRowBeforeSeparatorForSelfRow;
46
42
  render(): any;
47
43
  }