negodesign 0.0.71 → 0.0.72

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 (392) hide show
  1. package/README.md +115 -23
  2. package/dist/components/NegoDesign.svelte +7 -2
  3. package/dist/components/core/carousel/badge/ui/CarouselBadge.svelte +3 -5
  4. package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +2 -2
  5. package/dist/components/core/carousel/highlights/ui/CarouselHighlights.svelte +2 -2
  6. package/dist/components/core/carousel/product/ui/CarouselProduct.svelte +2 -2
  7. package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte +2 -2
  8. package/dist/components/core/datatable/data/columns-create.d.ts +1 -1
  9. package/dist/components/core/datatable/data/data-table.d.ts +3 -3
  10. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +2 -2
  11. package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +2 -1
  12. package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -2
  13. package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -2
  14. package/dist/components/core/datatable/ui/DataTableActions.svelte +1 -1
  15. package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +1 -1
  16. package/dist/components/core/datatable/ui/DataTableContent.svelte +1 -1
  17. package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +1 -1
  18. package/dist/components/core/datatable/ui/DataTableCore.svelte +23 -26
  19. package/dist/components/core/datatable/ui/DataTableListFilter.svelte +3 -2
  20. package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
  21. package/dist/components/core/datatable/ui/DataTableListPagination.svelte +1 -1
  22. package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
  23. package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +1 -1
  24. package/dist/components/core/panel/LeftHero.svelte +2 -2
  25. package/dist/components/core/sidebar/data/nav-top-bar-sidebar.d.ts +13 -4
  26. package/dist/components/core/sidebar/ui/navbar/NavMenuBarSidebar.svelte +3 -3
  27. package/dist/components/core/sidebar/ui/navbar/NavMenuTopBarSidebar.svelte +0 -2
  28. package/dist/components/core/sidebar/ui/navbar/nav-menu-header-sidebar.svelte +4 -5
  29. package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +0 -1
  30. package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +2 -3
  31. package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +3 -1
  32. package/dist/components/ui/avatar/avatar-fallback.svelte +22 -12
  33. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +3 -2
  34. package/dist/components/ui/avatar/avatar-image.svelte +31 -9
  35. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +3 -2
  36. package/dist/components/ui/avatar/avatar.svelte +23 -9
  37. package/dist/components/ui/avatar/avatar.svelte.d.ts +6 -3
  38. package/dist/components/ui/avatar/context.svelte.d.ts +7 -0
  39. package/dist/components/ui/avatar/context.svelte.js +10 -0
  40. package/dist/components/ui/badge/badge.svelte +24 -26
  41. package/dist/components/ui/badge/badge.svelte.d.ts +15 -33
  42. package/dist/components/ui/button/button.svelte +35 -31
  43. package/dist/components/ui/button/button.svelte.d.ts +24 -61
  44. package/dist/components/ui/carousel/autoplay.d.ts +7 -0
  45. package/dist/components/ui/carousel/autoplay.js +7 -0
  46. package/dist/components/ui/carousel/carousel-content.svelte +31 -17
  47. package/dist/components/ui/carousel/carousel-item.svelte +2 -3
  48. package/dist/components/ui/carousel/carousel-next.svelte +1 -1
  49. package/dist/components/ui/carousel/carousel-previous.svelte +1 -1
  50. package/dist/components/ui/carousel/carousel.svelte +155 -30
  51. package/dist/components/ui/carousel/context.d.ts +23 -14
  52. package/dist/components/ui/carousel/context.js +4 -4
  53. package/dist/components/ui/carousel/index.d.ts +2 -0
  54. package/dist/components/ui/carousel/index.js +1 -0
  55. package/dist/components/ui/checkbox/checkbox.svelte +74 -17
  56. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +17 -2
  57. package/dist/components/ui/collapsible/collapsible-content.svelte +27 -3
  58. package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +8 -2
  59. package/dist/components/ui/collapsible/collapsible-trigger.svelte +48 -3
  60. package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +10 -2
  61. package/dist/components/ui/collapsible/collapsible.svelte +62 -6
  62. package/dist/components/ui/collapsible/collapsible.svelte.d.ts +21 -2
  63. package/dist/components/ui/data-table/data-table.svelte.d.ts +2 -40
  64. package/dist/components/ui/data-table/data-table.svelte.js +1 -110
  65. package/dist/components/ui/data-table/flex-render.svelte +5 -5
  66. package/dist/components/ui/data-table/flex-render.svelte.d.ts +2 -2
  67. package/dist/components/ui/data-table/index.d.ts +2 -1
  68. package/dist/components/ui/data-table/index.js +1 -1
  69. package/dist/components/ui/data-table/table-core.svelte.d.ts +117 -0
  70. package/dist/components/ui/data-table/table-core.svelte.js +260 -0
  71. package/dist/components/ui/drawer/drawer-close.svelte +38 -3
  72. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +10 -2
  73. package/dist/components/ui/drawer/drawer-content.svelte +67 -18
  74. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +5 -4
  75. package/dist/components/ui/drawer/drawer-description.svelte +9 -6
  76. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +3 -2
  77. package/dist/components/ui/drawer/drawer-nested.svelte +28 -5
  78. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +8 -1
  79. package/dist/components/ui/drawer/drawer-overlay.svelte +18 -9
  80. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +3 -2
  81. package/dist/components/ui/drawer/drawer-portal.svelte +16 -3
  82. package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -1
  83. package/dist/components/ui/drawer/drawer-title.svelte +9 -6
  84. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +3 -2
  85. package/dist/components/ui/drawer/drawer-trigger.svelte +39 -3
  86. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +10 -2
  87. package/dist/components/ui/drawer/drawer.svelte +67 -4
  88. package/dist/components/ui/drawer/drawer.svelte.d.ts +23 -1
  89. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +18 -8
  90. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +8 -2
  91. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +53 -28
  92. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -3
  93. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +93 -17
  94. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -6
  95. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.d.ts +26 -0
  96. package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.js +27 -0
  97. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +14 -8
  98. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +6 -3
  99. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +18 -3
  100. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +7 -2
  101. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +42 -8
  102. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +9 -2
  103. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +9 -5
  104. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +5 -2
  105. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +3 -3
  106. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +5 -1
  107. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +36 -8
  108. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +9 -2
  109. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +59 -23
  110. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +12 -2
  111. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +11 -7
  112. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +6 -2
  113. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +26 -9
  114. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +8 -2
  115. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +39 -11
  116. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -2
  117. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +73 -3
  118. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +8 -1
  119. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +65 -3
  120. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +12 -2
  121. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +50 -3
  122. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +9 -1
  123. package/dist/components/ui/empty/empty-content.svelte +2 -5
  124. package/dist/components/ui/empty/empty-description.svelte +2 -5
  125. package/dist/components/ui/empty/empty-header.svelte +2 -2
  126. package/dist/components/ui/empty/empty-media.svelte +17 -16
  127. package/dist/components/ui/empty/empty-media.svelte.d.ts +10 -19
  128. package/dist/components/ui/empty/empty-title.svelte +2 -2
  129. package/dist/components/ui/empty/empty.svelte +2 -5
  130. package/dist/components/ui/input-otp/context.svelte.d.ts +22 -0
  131. package/dist/components/ui/input-otp/context.svelte.js +8 -0
  132. package/dist/components/ui/input-otp/input-otp-group.svelte +5 -2
  133. package/dist/components/ui/input-otp/input-otp-separator.svelte +5 -5
  134. package/dist/components/ui/input-otp/input-otp-slot.svelte +50 -17
  135. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +7 -2
  136. package/dist/components/ui/input-otp/input-otp.svelte +167 -8
  137. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +17 -2
  138. package/dist/components/ui/label/label.svelte +10 -10
  139. package/dist/components/ui/label/label.svelte.d.ts +3 -2
  140. package/dist/components/ui/language-switcher/language-switcher.svelte +4 -3
  141. package/dist/components/ui/light-switch/light-switch.svelte +12 -6
  142. package/dist/components/ui/phone-input/country-selector.svelte +64 -78
  143. package/dist/components/ui/phone-input/country-selector.svelte.d.ts +6 -6
  144. package/dist/components/ui/phone-input/flag.svelte +3 -12
  145. package/dist/components/ui/phone-input/flag.svelte.d.ts +1 -1
  146. package/dist/components/ui/phone-input/flags.d.ts +2 -1
  147. package/dist/components/ui/phone-input/flags.js +4 -8
  148. package/dist/components/ui/phone-input/index.d.ts +1 -1
  149. package/dist/components/ui/phone-input/phone-input.svelte +106 -21
  150. package/dist/components/ui/phone-input/phone-input.svelte.d.ts +1 -2
  151. package/dist/components/ui/phone-input/types.d.ts +16 -1
  152. package/dist/components/ui/popover/popover-close.svelte +22 -3
  153. package/dist/components/ui/popover/popover-close.svelte.d.ts +7 -2
  154. package/dist/components/ui/popover/popover-content.svelte +80 -18
  155. package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -6
  156. package/dist/components/ui/popover/popover-context.svelte.d.ts +13 -0
  157. package/dist/components/ui/popover/popover-context.svelte.js +13 -0
  158. package/dist/components/ui/popover/popover-portal.svelte +3 -3
  159. package/dist/components/ui/popover/popover-portal.svelte.d.ts +5 -1
  160. package/dist/components/ui/popover/popover-trigger.svelte +62 -10
  161. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +12 -2
  162. package/dist/components/ui/popover/popover.svelte +50 -3
  163. package/dist/components/ui/popover/popover.svelte.d.ts +9 -1
  164. package/dist/components/ui/separator/separator.svelte +17 -11
  165. package/dist/components/ui/separator/separator.svelte.d.ts +7 -2
  166. package/dist/components/ui/sidebar/context.svelte.d.ts +15 -23
  167. package/dist/components/ui/sidebar/context.svelte.js +33 -21
  168. package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
  169. package/dist/components/ui/sidebar/sidebar-footer.svelte +1 -1
  170. package/dist/components/ui/sidebar/sidebar-group-content.svelte +1 -1
  171. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +3 -2
  172. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +35 -66
  173. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +9 -38
  174. package/dist/components/ui/sidebar/sidebar-provider.svelte +28 -18
  175. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +3 -0
  176. package/dist/components/ui/sidebar/sidebar-rail.svelte +1 -1
  177. package/dist/components/ui/sidebar/sidebar-separator.svelte +11 -8
  178. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +3 -11
  179. package/dist/components/ui/sidebar/sidebar-trigger.svelte +2 -2
  180. package/dist/components/ui/sidebar/sidebar.svelte +34 -23
  181. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +1 -1
  182. package/dist/components/ui/skeleton/skeleton.svelte +7 -4
  183. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +1 -1
  184. package/dist/components/ui/star-rating/star-rating-star.svelte +57 -31
  185. package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +1 -1
  186. package/dist/components/ui/star-rating/star-rating.svelte +143 -13
  187. package/dist/components/ui/star-rating/star-rating.svelte.d.ts +31 -2
  188. package/dist/components/ui/star-rating/types.d.ts +6 -1
  189. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +26 -9
  190. package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +9 -2
  191. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +15 -8
  192. package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +8 -2
  193. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +65 -34
  194. package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +14 -2
  195. package/dist/components/ui/underline-tabs/underline-tabs.svelte +49 -20
  196. package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +10 -2
  197. package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +6 -59
  198. package/dist/docs/ApiTable.svelte +42 -0
  199. package/dist/docs/ApiTable.svelte.d.ts +7 -0
  200. package/dist/docs/CodeBlock.svelte +26 -0
  201. package/dist/docs/CodeBlock.svelte.d.ts +7 -0
  202. package/dist/docs/DocsHeader.svelte +25 -0
  203. package/dist/docs/DocsHeader.svelte.d.ts +6 -0
  204. package/dist/docs/DocsSidebar.svelte +99 -0
  205. package/dist/docs/DocsSidebar.svelte.d.ts +3 -0
  206. package/dist/docs/components.d.ts +27 -0
  207. package/dist/docs/components.js +897 -0
  208. package/dist/globals.css +466 -1590
  209. package/dist/styles/globals.css +136 -2
  210. package/dist/theme.svelte.d.ts +7 -0
  211. package/dist/theme.svelte.js +33 -0
  212. package/dist/utils.d.ts +4 -4
  213. package/dist/utils.js +18 -3
  214. package/package.json +4 -34
  215. package/dist/components/ui/chart/chart-container.svelte +0 -80
  216. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  217. package/dist/components/ui/chart/chart-style.svelte +0 -37
  218. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  219. package/dist/components/ui/chart/chart-tooltip.svelte +0 -184
  220. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  221. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  222. package/dist/components/ui/chart/chart-utils.js +0 -38
  223. package/dist/components/ui/chart/index.d.ts +0 -4
  224. package/dist/components/ui/chart/index.js +0 -4
  225. package/dist/components/ui/command/command-dialog.svelte +0 -42
  226. package/dist/components/ui/command/command-dialog.svelte.d.ts +0 -14
  227. package/dist/components/ui/command/command-empty.svelte +0 -17
  228. package/dist/components/ui/command/command-empty.svelte.d.ts +0 -4
  229. package/dist/components/ui/command/command-group.svelte +0 -33
  230. package/dist/components/ui/command/command-group.svelte.d.ts +0 -7
  231. package/dist/components/ui/command/command-input.svelte +0 -33
  232. package/dist/components/ui/command/command-input.svelte.d.ts +0 -4
  233. package/dist/components/ui/command/command-item.svelte +0 -27
  234. package/dist/components/ui/command/command-item.svelte.d.ts +0 -4
  235. package/dist/components/ui/command/command-link-item.svelte +0 -20
  236. package/dist/components/ui/command/command-link-item.svelte.d.ts +0 -4
  237. package/dist/components/ui/command/command-list.svelte +0 -20
  238. package/dist/components/ui/command/command-list.svelte.d.ts +0 -4
  239. package/dist/components/ui/command/command-loading.svelte +0 -7
  240. package/dist/components/ui/command/command-loading.svelte.d.ts +0 -4
  241. package/dist/components/ui/command/command-separator.svelte +0 -17
  242. package/dist/components/ui/command/command-separator.svelte.d.ts +0 -4
  243. package/dist/components/ui/command/command-shortcut.svelte +0 -23
  244. package/dist/components/ui/command/command-shortcut.svelte.d.ts +0 -5
  245. package/dist/components/ui/command/command.svelte +0 -28
  246. package/dist/components/ui/command/command.svelte.d.ts +0 -8
  247. package/dist/components/ui/command/index.d.ts +0 -12
  248. package/dist/components/ui/command/index.js +0 -14
  249. package/dist/components/ui/dialog/dialog-close.svelte +0 -11
  250. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  251. package/dist/components/ui/dialog/dialog-content.svelte +0 -48
  252. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -13
  253. package/dist/components/ui/dialog/dialog-description.svelte +0 -20
  254. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  255. package/dist/components/ui/dialog/dialog-footer.svelte +0 -32
  256. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -8
  257. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  258. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  259. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  260. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  261. package/dist/components/ui/dialog/dialog-portal.svelte +0 -7
  262. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +0 -3
  263. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  264. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  265. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -11
  266. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  267. package/dist/components/ui/dialog/dialog.svelte +0 -7
  268. package/dist/components/ui/dialog/dialog.svelte.d.ts +0 -3
  269. package/dist/components/ui/dialog/index.d.ts +0 -11
  270. package/dist/components/ui/dialog/index.js +0 -13
  271. package/dist/components/ui/input-group/index.d.ts +0 -7
  272. package/dist/components/ui/input-group/index.js +0 -9
  273. package/dist/components/ui/input-group/input-group-addon.svelte +0 -59
  274. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +0 -38
  275. package/dist/components/ui/input-group/input-group-button.svelte +0 -49
  276. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +0 -32
  277. package/dist/components/ui/input-group/input-group-input.svelte +0 -23
  278. package/dist/components/ui/input-group/input-group-input.svelte.d.ts +0 -11
  279. package/dist/components/ui/input-group/input-group-text.svelte +0 -22
  280. package/dist/components/ui/input-group/input-group-text.svelte.d.ts +0 -5
  281. package/dist/components/ui/input-group/input-group-textarea.svelte +0 -23
  282. package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +0 -3
  283. package/dist/components/ui/input-group/input-group.svelte +0 -24
  284. package/dist/components/ui/input-group/input-group.svelte.d.ts +0 -5
  285. package/dist/components/ui/navigation-menu/index.d.ts +0 -9
  286. package/dist/components/ui/navigation-menu/index.js +0 -11
  287. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +0 -20
  288. package/dist/components/ui/navigation-menu/navigation-menu-content.svelte.d.ts +0 -4
  289. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +0 -22
  290. package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte.d.ts +0 -4
  291. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +0 -17
  292. package/dist/components/ui/navigation-menu/navigation-menu-item.svelte.d.ts +0 -4
  293. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +0 -17
  294. package/dist/components/ui/navigation-menu/navigation-menu-link.svelte.d.ts +0 -4
  295. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +0 -20
  296. package/dist/components/ui/navigation-menu/navigation-menu-list.svelte.d.ts +0 -4
  297. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +0 -30
  298. package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +0 -5
  299. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +0 -22
  300. package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte.d.ts +0 -4
  301. package/dist/components/ui/navigation-menu/navigation-menu.svelte +0 -31
  302. package/dist/components/ui/navigation-menu/navigation-menu.svelte.d.ts +0 -7
  303. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  304. package/dist/components/ui/scroll-area/index.js +0 -5
  305. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -30
  306. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  307. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -43
  308. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -11
  309. package/dist/components/ui/select/index.d.ts +0 -12
  310. package/dist/components/ui/select/index.js +0 -14
  311. package/dist/components/ui/select/select-content.svelte +0 -45
  312. package/dist/components/ui/select/select-content.svelte.d.ts +0 -11
  313. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  314. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  315. package/dist/components/ui/select/select-group.svelte +0 -17
  316. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  317. package/dist/components/ui/select/select-item.svelte +0 -41
  318. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  319. package/dist/components/ui/select/select-label.svelte +0 -20
  320. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  321. package/dist/components/ui/select/select-portal.svelte +0 -7
  322. package/dist/components/ui/select/select-portal.svelte.d.ts +0 -3
  323. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -21
  324. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  325. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -21
  326. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  327. package/dist/components/ui/select/select-separator.svelte +0 -18
  328. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  329. package/dist/components/ui/select/select-trigger.svelte +0 -30
  330. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  331. package/dist/components/ui/select/select.svelte +0 -11
  332. package/dist/components/ui/select/select.svelte.d.ts +0 -3
  333. package/dist/components/ui/sheet/index.d.ts +0 -11
  334. package/dist/components/ui/sheet/index.js +0 -13
  335. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  336. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  337. package/dist/components/ui/sheet/sheet-content.svelte +0 -56
  338. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -15
  339. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  340. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  341. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  342. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  343. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  344. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  345. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -17
  346. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  347. package/dist/components/ui/sheet/sheet-portal.svelte +0 -7
  348. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +0 -3
  349. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  350. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  351. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  352. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  353. package/dist/components/ui/sheet/sheet.svelte +0 -7
  354. package/dist/components/ui/sheet/sheet.svelte.d.ts +0 -3
  355. package/dist/components/ui/spinner/index.d.ts +0 -1
  356. package/dist/components/ui/spinner/index.js +0 -1
  357. package/dist/components/ui/spinner/spinner.svelte +0 -26
  358. package/dist/components/ui/spinner/spinner.svelte.d.ts +0 -4
  359. package/dist/components/ui/tabs/index.d.ts +0 -5
  360. package/dist/components/ui/tabs/index.js +0 -7
  361. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  362. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  363. package/dist/components/ui/tabs/tabs-list.svelte +0 -40
  364. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -25
  365. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -23
  366. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  367. package/dist/components/ui/tabs/tabs.svelte +0 -19
  368. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  369. package/dist/components/ui/textarea/index.d.ts +0 -2
  370. package/dist/components/ui/textarea/index.js +0 -4
  371. package/dist/components/ui/textarea/textarea.svelte +0 -23
  372. package/dist/components/ui/textarea/textarea.svelte.d.ts +0 -5
  373. package/dist/components/ui/tooltip/index.d.ts +0 -6
  374. package/dist/components/ui/tooltip/index.js +0 -8
  375. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -52
  376. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -11
  377. package/dist/components/ui/tooltip/tooltip-portal.svelte +0 -7
  378. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +0 -4
  379. package/dist/components/ui/tooltip/tooltip-provider.svelte +0 -7
  380. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +0 -4
  381. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  382. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -25
  383. package/dist/components/ui/tooltip/tooltip.svelte +0 -7
  384. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +0 -25
  385. package/dist/vitest-examples/Welcome.svelte +0 -8
  386. package/dist/vitest-examples/Welcome.svelte.d.ts +0 -13
  387. package/dist/vitest-examples/Welcome.svelte.spec.d.ts +0 -1
  388. package/dist/vitest-examples/Welcome.svelte.spec.js +0 -11
  389. package/dist/vitest-examples/greet.d.ts +0 -1
  390. package/dist/vitest-examples/greet.js +0 -3
  391. package/dist/vitest-examples/greet.spec.d.ts +0 -1
  392. package/dist/vitest-examples/greet.spec.js +0 -7
@@ -1,4 +1,23 @@
1
- import { Collapsible as CollapsiblePrimitive } from "bits-ui";
2
- declare const Collapsible: import("svelte").Component<CollapsiblePrimitive.RootProps, {}, "ref" | "open">;
1
+ export type CollapsibleContext = {
2
+ get open(): boolean;
3
+ get disabled(): boolean;
4
+ toggle: () => void;
5
+ };
6
+ export declare function setCollapsibleContext(ctx: CollapsibleContext): CollapsibleContext;
7
+ export declare function useCollapsibleContext(): CollapsibleContext;
8
+ import type { Snippet } from "svelte";
9
+ type $$ComponentProps = {
10
+ defaultOpen?: boolean;
11
+ open?: boolean;
12
+ disabled?: boolean;
13
+ class?: string;
14
+ children?: Snippet<[{
15
+ props: Record<string, unknown>;
16
+ }]>;
17
+ child?: Snippet<[{
18
+ props: Record<string, unknown>;
19
+ }]>;
20
+ };
21
+ declare const Collapsible: import("svelte").Component<$$ComponentProps, {}, "open">;
3
22
  type Collapsible = ReturnType<typeof Collapsible>;
4
23
  export default Collapsible;
@@ -1,40 +1,2 @@
1
- import { type RowData, type TableOptions } from "@tanstack/table-core";
2
- /**
3
- * Creates a reactive TanStack table object for Svelte.
4
- * @param options Table options to create the table with.
5
- * @returns A reactive table object.
6
- * @example
7
- * ```svelte
8
- * <script>
9
- * const table = createSvelteTable({ ... })
10
- * </script>
11
- *
12
- * <table>
13
- * <thead>
14
- * {#each table.getHeaderGroups() as headerGroup}
15
- * <tr>
16
- * {#each headerGroup.headers as header}
17
- * <th colspan={header.colSpan}>
18
- * <FlexRender content={header.column.columnDef.header} context={header.getContext()} />
19
- * </th>
20
- * {/each}
21
- * </tr>
22
- * {/each}
23
- * </thead>
24
- * <!-- ... -->
25
- * </table>
26
- * ```
27
- */
28
- export declare function createSvelteTable<TData extends RowData>(options: TableOptions<TData>): import("@tanstack/table-core").Table<TData>;
29
- type MaybeThunk<T extends object> = T | (() => T | null | undefined);
30
- type Intersection<T extends readonly unknown[]> = (T extends [infer H, ...infer R] ? H & Intersection<R> : unknown) & {};
31
- /**
32
- * Lazily merges several objects (or thunks) while preserving
33
- * getter semantics from every source.
34
- *
35
- * Proxy-based to avoid known WebKit recursion issue.
36
- */
37
- export declare function mergeObjects<Sources extends readonly MaybeThunk<any>[]>(...sources: Sources): Intersection<{
38
- [K in keyof Sources]: Sources[K];
39
- }>;
40
- export {};
1
+ export { createSvelteTable, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, } from "./table-core.svelte.js";
2
+ export type { Cell, CellContext, Column, ColumnDef, ColumnDefTemplate, ColumnFiltersState, HeaderContext, PaginationState, Row, RowModel, RowSelectionState, SortingState, SvelteTableOptions, Table, TableState, Updater, VisibilityState, } from "./table-core.svelte.js";
@@ -1,110 +1 @@
1
- import { createTable, } from "@tanstack/table-core";
2
- /**
3
- * Creates a reactive TanStack table object for Svelte.
4
- * @param options Table options to create the table with.
5
- * @returns A reactive table object.
6
- * @example
7
- * ```svelte
8
- * <script>
9
- * const table = createSvelteTable({ ... })
10
- * </script>
11
- *
12
- * <table>
13
- * <thead>
14
- * {#each table.getHeaderGroups() as headerGroup}
15
- * <tr>
16
- * {#each headerGroup.headers as header}
17
- * <th colspan={header.colSpan}>
18
- * <FlexRender content={header.column.columnDef.header} context={header.getContext()} />
19
- * </th>
20
- * {/each}
21
- * </tr>
22
- * {/each}
23
- * </thead>
24
- * <!-- ... -->
25
- * </table>
26
- * ```
27
- */
28
- export function createSvelteTable(options) {
29
- const resolvedOptions = mergeObjects({
30
- state: {},
31
- onStateChange() { },
32
- renderFallbackValue: null,
33
- mergeOptions: (defaultOptions, options) => {
34
- return mergeObjects(defaultOptions, options);
35
- },
36
- }, options);
37
- const table = createTable(resolvedOptions);
38
- let state = $state(table.initialState);
39
- function updateOptions() {
40
- table.setOptions(() => {
41
- return mergeObjects(resolvedOptions, options, {
42
- state: mergeObjects(state, options.state || {}),
43
- onStateChange: (updater) => {
44
- if (updater instanceof Function)
45
- state = updater(state);
46
- else
47
- state = mergeObjects(state, updater);
48
- options.onStateChange?.(updater);
49
- },
50
- });
51
- });
52
- }
53
- updateOptions();
54
- $effect.pre(() => {
55
- updateOptions();
56
- });
57
- return table;
58
- }
59
- /**
60
- * Lazily merges several objects (or thunks) while preserving
61
- * getter semantics from every source.
62
- *
63
- * Proxy-based to avoid known WebKit recursion issue.
64
- */
65
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
- export function mergeObjects(...sources) {
67
- const resolve = (src) => typeof src === "function" ? (src() ?? undefined) : src;
68
- const findSourceWithKey = (key) => {
69
- for (let i = sources.length - 1; i >= 0; i--) {
70
- const obj = resolve(sources[i]);
71
- if (obj && key in obj)
72
- return obj;
73
- }
74
- return undefined;
75
- };
76
- return new Proxy(Object.create(null), {
77
- get(_, key) {
78
- const src = findSourceWithKey(key);
79
- return src?.[key];
80
- },
81
- has(_, key) {
82
- return !!findSourceWithKey(key);
83
- },
84
- ownKeys() {
85
- // eslint-disable-next-line svelte/prefer-svelte-reactivity
86
- const all = new Set();
87
- for (const s of sources) {
88
- const obj = resolve(s);
89
- if (obj) {
90
- for (const k of Reflect.ownKeys(obj)) {
91
- all.add(k);
92
- }
93
- }
94
- }
95
- return [...all];
96
- },
97
- getOwnPropertyDescriptor(_, key) {
98
- const src = findSourceWithKey(key);
99
- if (!src)
100
- return undefined;
101
- return {
102
- configurable: true,
103
- enumerable: true,
104
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
105
- value: src[key],
106
- writable: true,
107
- };
108
- },
109
- });
110
- }
1
+ export { createSvelteTable, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, } from "./table-core.svelte.js";
@@ -2,15 +2,15 @@
2
2
  lang="ts"
3
3
  generics="TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>"
4
4
  >
5
- import type { CellContext, ColumnDefTemplate, HeaderContext } from "@tanstack/table-core";
5
+ import type { CellContext, ColumnDefTemplate, HeaderContext } from "./table-core.svelte.js";
6
6
  import { RenderComponentConfig, RenderSnippetConfig } from "./render-helpers.js";
7
7
  import type { Attachment } from "svelte/attachments";
8
8
  type Props = {
9
9
  /** The cell or header field of the current cell's column definition. */
10
- content?: TContext extends HeaderContext<TData, TValue>
11
- ? ColumnDefTemplate<HeaderContext<TData, TValue>>
12
- : TContext extends CellContext<TData, TValue>
13
- ? ColumnDefTemplate<CellContext<TData, TValue>>
10
+ content?: TContext extends CellContext<TData, TValue>
11
+ ? ColumnDefTemplate<CellContext<TData, TValue>>
12
+ : TContext extends HeaderContext<TData, TValue>
13
+ ? ColumnDefTemplate<HeaderContext<TData, TValue>>
14
14
  : never;
15
15
  /** The result of the `getContext()` function of the header or cell */
16
16
  context: TContext;
@@ -1,9 +1,9 @@
1
- import type { CellContext, ColumnDefTemplate, HeaderContext } from "@tanstack/table-core";
1
+ import type { CellContext, ColumnDefTemplate, HeaderContext } from "./table-core.svelte.js";
2
2
  import type { Attachment } from "svelte/attachments";
3
3
  declare function $$render<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(): {
4
4
  props: {
5
5
  /** The cell or header field of the current cell's column definition. */
6
- content?: TContext extends HeaderContext<TData, TValue> ? ColumnDefTemplate<HeaderContext<TData, TValue>> : TContext extends CellContext<TData, TValue> ? ColumnDefTemplate<CellContext<TData, TValue>> : never;
6
+ content?: TContext extends CellContext<TData, TValue> ? ColumnDefTemplate<CellContext<TData, TValue>> : TContext extends HeaderContext<TData, TValue> ? ColumnDefTemplate<HeaderContext<TData, TValue>> : never;
7
7
  /** The result of the `getContext()` function of the header or cell */
8
8
  context: TContext;
9
9
  /** Used to pass attachments that can't be gotten through context */
@@ -1,3 +1,4 @@
1
1
  export { default as FlexRender } from "./flex-render.svelte";
2
2
  export { renderComponent, renderSnippet } from "./render-helpers.js";
3
- export { createSvelteTable } from "./data-table.svelte.js";
3
+ export { createSvelteTable, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, } from "./data-table.svelte.js";
4
+ export type { Cell, CellContext, Column, ColumnDef, ColumnDefTemplate, ColumnFiltersState, HeaderContext, PaginationState, Row, RowModel, RowSelectionState, SortingState, Table, TableState, Updater, VisibilityState, } from "./table-core.svelte.js";
@@ -1,3 +1,3 @@
1
1
  export { default as FlexRender } from "./flex-render.svelte";
2
2
  export { renderComponent, renderSnippet } from "./render-helpers.js";
3
- export { createSvelteTable } from "./data-table.svelte.js";
3
+ export { createSvelteTable, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, } from "./data-table.svelte.js";
@@ -0,0 +1,117 @@
1
+ export type Updater<T> = T | ((prev: T) => T);
2
+ export type SortingState = {
3
+ id: string;
4
+ desc: boolean;
5
+ }[];
6
+ export type ColumnFiltersState = {
7
+ id: string;
8
+ value: unknown;
9
+ }[];
10
+ export type RowSelectionState = Record<string, boolean>;
11
+ export type PaginationState = {
12
+ pageIndex: number;
13
+ pageSize: number;
14
+ };
15
+ export type VisibilityState = Record<string, boolean>;
16
+ export type TableState = {
17
+ sorting: SortingState;
18
+ pagination: PaginationState;
19
+ columnVisibility: VisibilityState;
20
+ rowSelection: RowSelectionState;
21
+ columnFilters: ColumnFiltersState;
22
+ };
23
+ export type ColumnDefTemplate<TProps extends object> = string | ((props: TProps) => unknown) | null;
24
+ export type ColumnDef<T, Value = unknown> = {
25
+ id?: string;
26
+ accessorKey?: string;
27
+ header?: ColumnDefTemplate<HeaderContext<T, Value>>;
28
+ cell?: ColumnDefTemplate<CellContext<T, Value>>;
29
+ size?: number;
30
+ minSize?: number;
31
+ enableSorting?: boolean;
32
+ enableHiding?: boolean;
33
+ };
34
+ export type Column<T, Value = unknown> = {
35
+ id: string;
36
+ columnDef: ColumnDef<T, Value>;
37
+ getCanHide(): boolean;
38
+ getIsVisible(): boolean;
39
+ toggleVisibility(value: boolean): void;
40
+ getFilterValue(): unknown;
41
+ setFilterValue(value: unknown): void;
42
+ };
43
+ export type Cell<T, Value = unknown> = {
44
+ id: string;
45
+ column: Column<T, Value>;
46
+ getContext(): CellContext<T, Value>;
47
+ };
48
+ export type Row<T> = {
49
+ id: string;
50
+ original: T;
51
+ getIsSelected(): boolean;
52
+ toggleSelected(value?: boolean): void;
53
+ getVisibleCells(): Cell<T>[];
54
+ };
55
+ export type CellContext<T, Value = unknown> = {
56
+ row: Row<T>;
57
+ cell?: Cell<T, Value>;
58
+ column: Column<T, Value>;
59
+ table: Table<T>;
60
+ getValue: () => Value;
61
+ renderValue: () => Value;
62
+ };
63
+ export type HeaderContext<T, Value = unknown> = {
64
+ column: Column<T, Value>;
65
+ header?: unknown;
66
+ table: Table<T>;
67
+ };
68
+ export type RowModel<T> = {
69
+ rows: Row<T>[];
70
+ };
71
+ export type Table<T> = {
72
+ getHeaderGroups(): {
73
+ id: string;
74
+ headers: {
75
+ id: string;
76
+ isPlaceholder: boolean;
77
+ column: Column<T>;
78
+ getContext(): HeaderContext<T>;
79
+ }[];
80
+ }[];
81
+ getRowModel(): RowModel<T>;
82
+ getFilteredRowModel(): RowModel<T>;
83
+ getFilteredSelectedRowModel(): RowModel<T>;
84
+ getSelectedRowModel(): RowModel<T>;
85
+ getAllColumns(): Column<T>[];
86
+ getColumn(id: string): Column<T> | undefined;
87
+ getIsAllPageRowsSelected(): boolean;
88
+ getIsSomePageRowsSelected(): boolean;
89
+ toggleAllPageRowsSelected(value?: boolean): void;
90
+ toggleAllRowsSelected(value?: boolean): void;
91
+ getCanPreviousPage(): boolean;
92
+ getCanNextPage(): boolean;
93
+ previousPage(): void;
94
+ nextPage(): void;
95
+ setPageIndex(index: number): void;
96
+ getState(): TableState;
97
+ };
98
+ export type SvelteTableOptions<T> = {
99
+ data: T[];
100
+ columns: ColumnDef<T>[];
101
+ state?: Partial<TableState>;
102
+ onSortingChange?: Updater<SortingState>;
103
+ onPaginationChange?: Updater<PaginationState>;
104
+ onColumnVisibilityChange?: Updater<VisibilityState>;
105
+ onRowSelectionChange?: Updater<RowSelectionState>;
106
+ onColumnFiltersChange?: Updater<ColumnFiltersState>;
107
+ getCoreRowModel?: unknown;
108
+ getSortedRowModel?: unknown;
109
+ getFilteredRowModel?: unknown;
110
+ getPaginationRowModel?: unknown;
111
+ getRowId?: (original: T) => string;
112
+ };
113
+ export declare function createSvelteTable<T>(options: SvelteTableOptions<T>): Table<T>;
114
+ export declare function getCoreRowModel<T>(): () => unknown;
115
+ export declare function getSortedRowModel<T>(): () => unknown;
116
+ export declare function getFilteredRowModel<T>(): () => unknown;
117
+ export declare function getPaginationRowModel<T>(): () => unknown;
@@ -0,0 +1,260 @@
1
+ export function createSvelteTable(options) {
2
+ const tableState = $state({
3
+ sorting: [],
4
+ pagination: { pageIndex: 0, pageSize: 10 },
5
+ columnVisibility: {},
6
+ rowSelection: {},
7
+ columnFilters: [],
8
+ });
9
+ const stateHandlers = {
10
+ sorting: options.onSortingChange,
11
+ pagination: options.onPaginationChange,
12
+ columnVisibility: options.onColumnVisibilityChange,
13
+ rowSelection: options.onRowSelectionChange,
14
+ columnFilters: options.onColumnFiltersChange,
15
+ };
16
+ function readState(key) {
17
+ const s = options.state;
18
+ if (s && key in s)
19
+ return s[key];
20
+ return tableState[key];
21
+ }
22
+ function updateState(key, updater) {
23
+ const next = typeof updater === "function"
24
+ ? updater(readState(key))
25
+ : updater;
26
+ tableState[key] = next;
27
+ const handler = stateHandlers[key];
28
+ if (typeof handler === "function")
29
+ handler(updater);
30
+ }
31
+ function getColumnId(def, index) {
32
+ return (def.id ?? def.accessorKey ?? `col_${index}`);
33
+ }
34
+ function getAccessorValue(original, def) {
35
+ if (def.accessorKey != null)
36
+ return original[def.accessorKey];
37
+ return undefined;
38
+ }
39
+ function makeColumn(def, colId) {
40
+ return {
41
+ id: colId,
42
+ columnDef: def,
43
+ getCanHide() {
44
+ return def.enableHiding !== false;
45
+ },
46
+ getIsVisible() {
47
+ return readState("columnVisibility")[colId] !== false;
48
+ },
49
+ toggleVisibility(value) {
50
+ updateState("columnVisibility", (prev) => ({ ...prev, [colId]: value }));
51
+ },
52
+ getFilterValue() {
53
+ const filter = readState("columnFilters").find((f) => f.id === colId);
54
+ return filter?.value;
55
+ },
56
+ setFilterValue(value) {
57
+ updateState("columnFilters", (prev) => {
58
+ const next = prev.filter((f) => f.id !== colId);
59
+ if (value !== undefined)
60
+ next.push({ id: colId, value });
61
+ return next;
62
+ });
63
+ },
64
+ };
65
+ }
66
+ function makeCell(rowId, original, column, row, table) {
67
+ const id = `row_${rowId}_cell_${String(column.id)}`;
68
+ const cellObj = {
69
+ id,
70
+ column,
71
+ getContext() {
72
+ return {
73
+ row,
74
+ cell: cellObj,
75
+ column,
76
+ table,
77
+ getValue: () => getAccessorValue(original, column.columnDef),
78
+ renderValue: () => getAccessorValue(original, column.columnDef),
79
+ };
80
+ },
81
+ };
82
+ return cellObj;
83
+ }
84
+ function makeRow(index, original, table) {
85
+ const rowId = getRowId(index, original);
86
+ const rowObj = {
87
+ id: rowId,
88
+ original,
89
+ getIsSelected() {
90
+ return readState("rowSelection")[rowId] === true;
91
+ },
92
+ toggleSelected(value) {
93
+ updateState("rowSelection", (prev) => {
94
+ const next = value ?? !(prev[rowId] === true);
95
+ return { ...prev, [rowId]: next };
96
+ });
97
+ },
98
+ getVisibleCells() {
99
+ return getVisibleColumns().map((column) => makeCell(rowId, original, column, rowObj, table));
100
+ },
101
+ };
102
+ return rowObj;
103
+ }
104
+ function getRowId(index, original) {
105
+ if (options.getRowId)
106
+ return String(options.getRowId(original));
107
+ for (const def of options.columns) {
108
+ if (def.accessorKey != null) {
109
+ const value = original[def.accessorKey];
110
+ if (value != null)
111
+ return String(value);
112
+ }
113
+ }
114
+ return String(index);
115
+ }
116
+ function getAllColumns() {
117
+ return options.columns.map((def, index) => makeColumn(def, getColumnId(def, index)));
118
+ }
119
+ function getColumn(id) {
120
+ return getAllColumns().find((column) => column.id === id);
121
+ }
122
+ function getVisibleColumns() {
123
+ return getAllColumns().filter((column) => column.getIsVisible());
124
+ }
125
+ function getAllRows() {
126
+ return options.data.map((original, index) => makeRow(index, original, table));
127
+ }
128
+ function applyFilters(rows) {
129
+ const filters = readState("columnFilters");
130
+ if (!filters.length)
131
+ return rows;
132
+ return rows.filter((row) => filters.every((filter) => {
133
+ const column = getColumn(filter.id);
134
+ if (!column || column.columnDef.accessorKey == null)
135
+ return true;
136
+ const value = getAccessorValue(row.original, column.columnDef);
137
+ return String(value ?? "")
138
+ .toLowerCase()
139
+ .includes(String(filter.value).toLowerCase());
140
+ }));
141
+ }
142
+ function applySorting(rows) {
143
+ const sorting = readState("sorting");
144
+ if (!sorting.length)
145
+ return rows;
146
+ const sort = sorting[0];
147
+ const column = getColumn(sort.id);
148
+ if (!column || column.columnDef.enableSorting === false || column.columnDef.accessorKey == null)
149
+ return rows;
150
+ const key = column.columnDef.accessorKey;
151
+ const dir = sort.desc ? -1 : 1;
152
+ return [...rows].sort((a, b) => {
153
+ const av = a.original[key];
154
+ const bv = b.original[key];
155
+ if (typeof av === "number" && typeof bv === "number") {
156
+ return av < bv ? -dir : av > bv ? dir : 0;
157
+ }
158
+ return dir * String(av ?? "").localeCompare(String(bv ?? ""));
159
+ });
160
+ }
161
+ function getFilteredRows() {
162
+ return applySorting(applyFilters(getAllRows()));
163
+ }
164
+ function getPageRows() {
165
+ const rows = getFilteredRows();
166
+ const { pageIndex, pageSize } = readState("pagination");
167
+ const start = pageIndex * pageSize;
168
+ return rows.slice(start, start + pageSize);
169
+ }
170
+ const table = {
171
+ getHeaderGroups() {
172
+ const headers = getVisibleColumns().map((column) => ({
173
+ id: `header-${column.id}`,
174
+ isPlaceholder: false,
175
+ column,
176
+ getContext() {
177
+ return { column, table };
178
+ },
179
+ }));
180
+ return [{ id: "0", headers }];
181
+ },
182
+ getRowModel() {
183
+ return { rows: getPageRows() };
184
+ },
185
+ getFilteredRowModel() {
186
+ return { rows: getFilteredRows() };
187
+ },
188
+ getFilteredSelectedRowModel() {
189
+ return { rows: getFilteredRows().filter((row) => row.getIsSelected()) };
190
+ },
191
+ getSelectedRowModel() {
192
+ return { rows: getAllRows().filter((row) => row.getIsSelected()) };
193
+ },
194
+ getAllColumns() {
195
+ return getAllColumns();
196
+ },
197
+ getColumn(id) {
198
+ return getColumn(id);
199
+ },
200
+ getIsAllPageRowsSelected() {
201
+ const rows = getPageRows();
202
+ return rows.length > 0 && rows.every((row) => row.getIsSelected());
203
+ },
204
+ getIsSomePageRowsSelected() {
205
+ return getPageRows().some((row) => row.getIsSelected());
206
+ },
207
+ toggleAllPageRowsSelected(value) {
208
+ const rows = getPageRows();
209
+ const next = value ?? !(rows.length > 0 && rows.every((row) => row.getIsSelected()));
210
+ updateState("rowSelection", (prev) => {
211
+ const copy = { ...prev };
212
+ for (const row of rows)
213
+ copy[row.id] = next;
214
+ return copy;
215
+ });
216
+ },
217
+ toggleAllRowsSelected(value) {
218
+ const rows = getAllRows();
219
+ const next = value ?? !(rows.length > 0 && rows.every((row) => row.getIsSelected()));
220
+ updateState("rowSelection", (prev) => {
221
+ const copy = { ...prev };
222
+ for (const row of rows)
223
+ copy[row.id] = next;
224
+ return copy;
225
+ });
226
+ },
227
+ getCanPreviousPage() {
228
+ return readState("pagination").pageIndex > 0;
229
+ },
230
+ getCanNextPage() {
231
+ const { pageIndex, pageSize } = readState("pagination");
232
+ return (pageIndex + 1) * pageSize < getFilteredRows().length;
233
+ },
234
+ previousPage() {
235
+ updateState("pagination", (prev) => ({ ...prev, pageIndex: Math.max(0, prev.pageIndex - 1) }));
236
+ },
237
+ nextPage() {
238
+ updateState("pagination", (prev) => ({ ...prev, pageIndex: prev.pageIndex + 1 }));
239
+ },
240
+ setPageIndex(index) {
241
+ updateState("pagination", (prev) => ({ ...prev, pageIndex: index }));
242
+ },
243
+ getState() {
244
+ return tableState;
245
+ },
246
+ };
247
+ return table;
248
+ }
249
+ export function getCoreRowModel() {
250
+ return () => ({});
251
+ }
252
+ export function getSortedRowModel() {
253
+ return () => ({});
254
+ }
255
+ export function getFilteredRowModel() {
256
+ return () => ({});
257
+ }
258
+ export function getPaginationRowModel() {
259
+ return () => ({});
260
+ }
@@ -1,7 +1,42 @@
1
1
  <script lang="ts">
2
- import { Drawer as DrawerPrimitive } from "vaul-svelte";
2
+ import type { Snippet } from "svelte";
3
+ import type { HTMLButtonAttributes } from "svelte/elements";
4
+ import { useDrawerContext } from "./drawer.svelte";
3
5
 
4
- let { ref = $bindable(null), ...restProps }: DrawerPrimitive.CloseProps = $props();
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ children,
10
+ child,
11
+ onclick,
12
+ ...restProps
13
+ }: HTMLButtonAttributes & {
14
+ children?: Snippet;
15
+ child?: Snippet<[{ props: Record<string, unknown> }]>;
16
+ ref?: HTMLButtonElement | null;
17
+ } = $props();
18
+
19
+ const drawer = useDrawerContext();
20
+
21
+ function handleClick(event: MouseEvent & { currentTarget: HTMLButtonElement }) {
22
+ onclick?.(event);
23
+ drawer.setOpen(false);
24
+ }
25
+
26
+ const closeProps = $derived({
27
+ ...restProps,
28
+ class: className,
29
+ "data-slot": "drawer-close",
30
+ "data-state": drawer.open ? "open" : "closed",
31
+ type: "button" as const,
32
+ onclick: handleClick,
33
+ });
5
34
  </script>
6
35
 
7
- <DrawerPrimitive.Close bind:ref data-slot="drawer-close" {...restProps} />
36
+ {#if child}
37
+ {@render child({ props: closeProps })}
38
+ {:else}
39
+ <button bind:this={ref} {...closeProps}>
40
+ {@render children?.()}
41
+ </button>
42
+ {/if}
@@ -1,4 +1,12 @@
1
- import { Drawer as DrawerPrimitive } from "vaul-svelte";
2
- declare const DrawerClose: import("svelte").Component<DrawerPrimitive.TriggerProps, {}, "ref">;
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLButtonAttributes } from "svelte/elements";
3
+ type $$ComponentProps = HTMLButtonAttributes & {
4
+ children?: Snippet;
5
+ child?: Snippet<[{
6
+ props: Record<string, unknown>;
7
+ }]>;
8
+ ref?: HTMLButtonElement | null;
9
+ };
10
+ declare const DrawerClose: import("svelte").Component<$$ComponentProps, {}, "ref">;
3
11
  type DrawerClose = ReturnType<typeof DrawerClose>;
4
12
  export default DrawerClose;