@poodle64/ui 2026.8.7

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 (387) hide show
  1. package/README.md +624 -0
  2. package/dist/components/ui/alert/alert-description.svelte +23 -0
  3. package/dist/components/ui/alert/alert-description.svelte.d.ts +9 -0
  4. package/dist/components/ui/alert/alert-title.svelte +23 -0
  5. package/dist/components/ui/alert/alert-title.svelte.d.ts +9 -0
  6. package/dist/components/ui/alert/alert.svelte +46 -0
  7. package/dist/components/ui/alert/alert.svelte.d.ts +28 -0
  8. package/dist/components/ui/alert/index.d.ts +4 -0
  9. package/dist/components/ui/alert/index.js +4 -0
  10. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +27 -0
  11. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +9 -0
  12. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +27 -0
  13. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +9 -0
  14. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +39 -0
  15. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +11 -0
  16. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +20 -0
  17. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
  18. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +23 -0
  19. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
  20. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +23 -0
  21. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
  22. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte +23 -0
  23. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte.d.ts +5 -0
  24. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +20 -0
  25. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
  26. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte +7 -0
  27. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte.d.ts +3 -0
  28. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +20 -0
  29. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
  30. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
  31. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
  32. package/dist/components/ui/alert-dialog/alert-dialog.svelte +7 -0
  33. package/dist/components/ui/alert-dialog/alert-dialog.svelte.d.ts +3 -0
  34. package/dist/components/ui/alert-dialog/index.d.ts +13 -0
  35. package/dist/components/ui/alert-dialog/index.js +15 -0
  36. package/dist/components/ui/app-dialog/app-dialog.svelte +111 -0
  37. package/dist/components/ui/app-dialog/app-dialog.svelte.d.ts +41 -0
  38. package/dist/components/ui/app-dialog/index.d.ts +2 -0
  39. package/dist/components/ui/app-dialog/index.js +2 -0
  40. package/dist/components/ui/app-shell/app-nav.svelte +299 -0
  41. package/dist/components/ui/app-shell/app-nav.svelte.d.ts +22 -0
  42. package/dist/components/ui/app-shell/app-shell.svelte +675 -0
  43. package/dist/components/ui/app-shell/app-shell.svelte.d.ts +157 -0
  44. package/dist/components/ui/app-shell/index.d.ts +6 -0
  45. package/dist/components/ui/app-shell/index.js +6 -0
  46. package/dist/components/ui/app-shell/measure.d.ts +28 -0
  47. package/dist/components/ui/app-shell/measure.js +21 -0
  48. package/dist/components/ui/app-shell/texture.d.ts +32 -0
  49. package/dist/components/ui/app-shell/texture.js +27 -0
  50. package/dist/components/ui/app-shell/types.d.ts +134 -0
  51. package/dist/components/ui/app-shell/types.js +88 -0
  52. package/dist/components/ui/arc-gauge/arc-gauge.svelte +112 -0
  53. package/dist/components/ui/arc-gauge/arc-gauge.svelte.d.ts +15 -0
  54. package/dist/components/ui/arc-gauge/index.d.ts +3 -0
  55. package/dist/components/ui/arc-gauge/index.js +2 -0
  56. package/dist/components/ui/avatar/avatar-fallback.svelte +26 -0
  57. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
  58. package/dist/components/ui/avatar/avatar-image.svelte +17 -0
  59. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
  60. package/dist/components/ui/avatar/avatar.svelte +31 -0
  61. package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -0
  62. package/dist/components/ui/avatar/index.d.ts +4 -0
  63. package/dist/components/ui/avatar/index.js +6 -0
  64. package/dist/components/ui/badge/badge.svelte +50 -0
  65. package/dist/components/ui/badge/badge.svelte.d.ts +38 -0
  66. package/dist/components/ui/badge/index.d.ts +2 -0
  67. package/dist/components/ui/badge/index.js +2 -0
  68. package/dist/components/ui/bar-row/bar-row.svelte +42 -0
  69. package/dist/components/ui/bar-row/bar-row.svelte.d.ts +12 -0
  70. package/dist/components/ui/bar-row/index.d.ts +2 -0
  71. package/dist/components/ui/bar-row/index.js +2 -0
  72. package/dist/components/ui/button/button.svelte +89 -0
  73. package/dist/components/ui/button/button.svelte.d.ts +70 -0
  74. package/dist/components/ui/button/index.d.ts +2 -0
  75. package/dist/components/ui/button/index.js +4 -0
  76. package/dist/components/ui/card/card-action.svelte +23 -0
  77. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  78. package/dist/components/ui/card/card-content.svelte +20 -0
  79. package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
  80. package/dist/components/ui/card/card-description.svelte +20 -0
  81. package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
  82. package/dist/components/ui/card/card-footer.svelte +23 -0
  83. package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
  84. package/dist/components/ui/card/card-header.svelte +23 -0
  85. package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
  86. package/dist/components/ui/card/card-title.svelte +52 -0
  87. package/dist/components/ui/card/card-title.svelte.d.ts +8 -0
  88. package/dist/components/ui/card/card.svelte +25 -0
  89. package/dist/components/ui/card/card.svelte.d.ts +8 -0
  90. package/dist/components/ui/card/index.d.ts +8 -0
  91. package/dist/components/ui/card/index.js +10 -0
  92. package/dist/components/ui/checkbox/checkbox.svelte +36 -0
  93. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +8 -0
  94. package/dist/components/ui/checkbox/index.d.ts +2 -0
  95. package/dist/components/ui/checkbox/index.js +2 -0
  96. package/dist/components/ui/command/command-dialog.svelte +42 -0
  97. package/dist/components/ui/command/command-dialog.svelte.d.ts +14 -0
  98. package/dist/components/ui/command/command-empty.svelte +17 -0
  99. package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
  100. package/dist/components/ui/command/command-group.svelte +33 -0
  101. package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
  102. package/dist/components/ui/command/command-input.svelte +36 -0
  103. package/dist/components/ui/command/command-input.svelte.d.ts +4 -0
  104. package/dist/components/ui/command/command-item.svelte +27 -0
  105. package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
  106. package/dist/components/ui/command/command-link-item.svelte +20 -0
  107. package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
  108. package/dist/components/ui/command/command-list.svelte +20 -0
  109. package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
  110. package/dist/components/ui/command/command-loading.svelte +7 -0
  111. package/dist/components/ui/command/command-loading.svelte.d.ts +4 -0
  112. package/dist/components/ui/command/command-separator.svelte +17 -0
  113. package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
  114. package/dist/components/ui/command/command-shortcut.svelte +23 -0
  115. package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
  116. package/dist/components/ui/command/command.svelte +28 -0
  117. package/dist/components/ui/command/command.svelte.d.ts +8 -0
  118. package/dist/components/ui/command/index.d.ts +12 -0
  119. package/dist/components/ui/command/index.js +14 -0
  120. package/dist/components/ui/command-palette/command-palette.svelte +94 -0
  121. package/dist/components/ui/command-palette/command-palette.svelte.d.ts +40 -0
  122. package/dist/components/ui/command-palette/index.d.ts +3 -0
  123. package/dist/components/ui/command-palette/index.js +2 -0
  124. package/dist/components/ui/context-column/context-column.svelte +56 -0
  125. package/dist/components/ui/context-column/context-column.svelte.d.ts +14 -0
  126. package/dist/components/ui/context-column/index.d.ts +2 -0
  127. package/dist/components/ui/context-column/index.js +2 -0
  128. package/dist/components/ui/data-table/data-table.svelte.d.ts +40 -0
  129. package/dist/components/ui/data-table/data-table.svelte.js +110 -0
  130. package/dist/components/ui/data-table/flex-render.svelte +40 -0
  131. package/dist/components/ui/data-table/flex-render.svelte.d.ts +33 -0
  132. package/dist/components/ui/data-table/index.d.ts +3 -0
  133. package/dist/components/ui/data-table/index.js +3 -0
  134. package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
  135. package/dist/components/ui/data-table/render-helpers.js +99 -0
  136. package/dist/components/ui/data-table-tanstack/data-table-tanstack.svelte +247 -0
  137. package/dist/components/ui/data-table-tanstack/data-table-tanstack.svelte.d.ts +79 -0
  138. package/dist/components/ui/data-table-tanstack/index.d.ts +3 -0
  139. package/dist/components/ui/data-table-tanstack/index.js +2 -0
  140. package/dist/components/ui/data-table-toolbar/data-table-toolbar.svelte +102 -0
  141. package/dist/components/ui/data-table-toolbar/data-table-toolbar.svelte.d.ts +32 -0
  142. package/dist/components/ui/data-table-toolbar/index.d.ts +3 -0
  143. package/dist/components/ui/data-table-toolbar/index.js +2 -0
  144. package/dist/components/ui/detail-panel/detail-panel.svelte +95 -0
  145. package/dist/components/ui/detail-panel/detail-panel.svelte.d.ts +26 -0
  146. package/dist/components/ui/detail-panel/index.d.ts +2 -0
  147. package/dist/components/ui/detail-panel/index.js +2 -0
  148. package/dist/components/ui/dialog/dialog-close.svelte +11 -0
  149. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
  150. package/dist/components/ui/dialog/dialog-content.svelte +48 -0
  151. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +13 -0
  152. package/dist/components/ui/dialog/dialog-description.svelte +20 -0
  153. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  154. package/dist/components/ui/dialog/dialog-footer.svelte +35 -0
  155. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +8 -0
  156. package/dist/components/ui/dialog/dialog-header.svelte +20 -0
  157. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  158. package/dist/components/ui/dialog/dialog-overlay.svelte +20 -0
  159. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  160. package/dist/components/ui/dialog/dialog-portal.svelte +7 -0
  161. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +3 -0
  162. package/dist/components/ui/dialog/dialog-title.svelte +17 -0
  163. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  164. package/dist/components/ui/dialog/dialog-trigger.svelte +11 -0
  165. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  166. package/dist/components/ui/dialog/dialog.svelte +7 -0
  167. package/dist/components/ui/dialog/dialog.svelte.d.ts +3 -0
  168. package/dist/components/ui/dialog/index.d.ts +11 -0
  169. package/dist/components/ui/dialog/index.js +13 -0
  170. package/dist/components/ui/dialog-section/dialog-section.svelte +20 -0
  171. package/dist/components/ui/dialog-section/dialog-section.svelte.d.ts +8 -0
  172. package/dist/components/ui/dialog-section/index.d.ts +2 -0
  173. package/dist/components/ui/dialog-section/index.js +2 -0
  174. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +16 -0
  175. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +4 -0
  176. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +44 -0
  177. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  178. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +31 -0
  179. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -0
  180. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
  181. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
  182. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  183. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  184. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
  185. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
  186. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +27 -0
  187. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  188. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +7 -0
  189. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +3 -0
  190. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  191. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  192. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +34 -0
  193. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  194. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
  195. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  196. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +23 -0
  197. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  198. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +20 -0
  199. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  200. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +29 -0
  201. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  202. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +7 -0
  203. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +3 -0
  204. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  205. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  206. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +7 -0
  207. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +3 -0
  208. package/dist/components/ui/dropdown-menu/index.d.ts +18 -0
  209. package/dist/components/ui/dropdown-menu/index.js +18 -0
  210. package/dist/components/ui/empty-state/empty-state.svelte +44 -0
  211. package/dist/components/ui/empty-state/empty-state.svelte.d.ts +14 -0
  212. package/dist/components/ui/empty-state/index.d.ts +2 -0
  213. package/dist/components/ui/empty-state/index.js +2 -0
  214. package/dist/components/ui/error-state/error-state.svelte +52 -0
  215. package/dist/components/ui/error-state/error-state.svelte.d.ts +10 -0
  216. package/dist/components/ui/error-state/index.d.ts +2 -0
  217. package/dist/components/ui/error-state/index.js +2 -0
  218. package/dist/components/ui/info-tip/index.d.ts +2 -0
  219. package/dist/components/ui/info-tip/index.js +2 -0
  220. package/dist/components/ui/info-tip/info-tip.svelte +37 -0
  221. package/dist/components/ui/info-tip/info-tip.svelte.d.ts +10 -0
  222. package/dist/components/ui/input/index.d.ts +2 -0
  223. package/dist/components/ui/input/index.js +4 -0
  224. package/dist/components/ui/input/input.svelte +48 -0
  225. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  226. package/dist/components/ui/input-group/index.d.ts +7 -0
  227. package/dist/components/ui/input-group/index.js +9 -0
  228. package/dist/components/ui/input-group/input-group-addon.svelte +53 -0
  229. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +32 -0
  230. package/dist/components/ui/input-group/input-group-button.svelte +49 -0
  231. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +32 -0
  232. package/dist/components/ui/input-group/input-group-input.svelte +23 -0
  233. package/dist/components/ui/input-group/input-group-input.svelte.d.ts +11 -0
  234. package/dist/components/ui/input-group/input-group-text.svelte +22 -0
  235. package/dist/components/ui/input-group/input-group-text.svelte.d.ts +5 -0
  236. package/dist/components/ui/input-group/input-group-textarea.svelte +23 -0
  237. package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +3 -0
  238. package/dist/components/ui/input-group/input-group.svelte +24 -0
  239. package/dist/components/ui/input-group/input-group.svelte.d.ts +5 -0
  240. package/dist/components/ui/label/index.d.ts +2 -0
  241. package/dist/components/ui/label/index.js +4 -0
  242. package/dist/components/ui/label/label.svelte +20 -0
  243. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  244. package/dist/components/ui/loading-state/index.d.ts +2 -0
  245. package/dist/components/ui/loading-state/index.js +2 -0
  246. package/dist/components/ui/loading-state/loading-state.svelte +28 -0
  247. package/dist/components/ui/loading-state/loading-state.svelte.d.ts +8 -0
  248. package/dist/components/ui/page-header/index.d.ts +2 -0
  249. package/dist/components/ui/page-header/index.js +2 -0
  250. package/dist/components/ui/page-header/page-header.svelte +100 -0
  251. package/dist/components/ui/page-header/page-header.svelte.d.ts +17 -0
  252. package/dist/components/ui/panel/index.d.ts +2 -0
  253. package/dist/components/ui/panel/index.js +2 -0
  254. package/dist/components/ui/panel/panel.svelte +54 -0
  255. package/dist/components/ui/panel/panel.svelte.d.ts +16 -0
  256. package/dist/components/ui/password-input/index.d.ts +2 -0
  257. package/dist/components/ui/password-input/index.js +4 -0
  258. package/dist/components/ui/password-input/password-input.svelte +48 -0
  259. package/dist/components/ui/password-input/password-input.svelte.d.ts +8 -0
  260. package/dist/components/ui/popover/index.d.ts +4 -0
  261. package/dist/components/ui/popover/index.js +6 -0
  262. package/dist/components/ui/popover/popover-content.svelte +45 -0
  263. package/dist/components/ui/popover/popover-content.svelte.d.ts +7 -0
  264. package/dist/components/ui/popover/popover-trigger.svelte +7 -0
  265. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
  266. package/dist/components/ui/popover/popover.svelte +7 -0
  267. package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
  268. package/dist/components/ui/progress/index.d.ts +2 -0
  269. package/dist/components/ui/progress/index.js +4 -0
  270. package/dist/components/ui/progress/progress.svelte +30 -0
  271. package/dist/components/ui/progress/progress.svelte.d.ts +4 -0
  272. package/dist/components/ui/scorecard/index.d.ts +2 -0
  273. package/dist/components/ui/scorecard/index.js +2 -0
  274. package/dist/components/ui/scorecard/scorecard.svelte +35 -0
  275. package/dist/components/ui/scorecard/scorecard.svelte.d.ts +8 -0
  276. package/dist/components/ui/select/index.d.ts +12 -0
  277. package/dist/components/ui/select/index.js +14 -0
  278. package/dist/components/ui/select/select-content.svelte +45 -0
  279. package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
  280. package/dist/components/ui/select/select-group-heading.svelte +21 -0
  281. package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
  282. package/dist/components/ui/select/select-group.svelte +17 -0
  283. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  284. package/dist/components/ui/select/select-item.svelte +38 -0
  285. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  286. package/dist/components/ui/select/select-label.svelte +20 -0
  287. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  288. package/dist/components/ui/select/select-portal.svelte +7 -0
  289. package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
  290. package/dist/components/ui/select/select-scroll-down-button.svelte +23 -0
  291. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  292. package/dist/components/ui/select/select-scroll-up-button.svelte +23 -0
  293. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  294. package/dist/components/ui/select/select-separator.svelte +18 -0
  295. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  296. package/dist/components/ui/select/select-trigger.svelte +29 -0
  297. package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
  298. package/dist/components/ui/select/select.svelte +11 -0
  299. package/dist/components/ui/select/select.svelte.d.ts +3 -0
  300. package/dist/components/ui/separator/index.d.ts +2 -0
  301. package/dist/components/ui/separator/index.js +4 -0
  302. package/dist/components/ui/separator/separator.svelte +23 -0
  303. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  304. package/dist/components/ui/skeleton/index.d.ts +2 -0
  305. package/dist/components/ui/skeleton/index.js +4 -0
  306. package/dist/components/ui/skeleton/skeleton.svelte +17 -0
  307. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  308. package/dist/components/ui/sonner/index.d.ts +1 -0
  309. package/dist/components/ui/sonner/index.js +1 -0
  310. package/dist/components/ui/sonner/sonner.svelte +34 -0
  311. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  312. package/dist/components/ui/sparkline/index.d.ts +3 -0
  313. package/dist/components/ui/sparkline/index.js +2 -0
  314. package/dist/components/ui/sparkline/sparkline.svelte +90 -0
  315. package/dist/components/ui/sparkline/sparkline.svelte.d.ts +16 -0
  316. package/dist/components/ui/stat-card/index.d.ts +2 -0
  317. package/dist/components/ui/stat-card/index.js +2 -0
  318. package/dist/components/ui/stat-card/stat-card.svelte +77 -0
  319. package/dist/components/ui/stat-card/stat-card.svelte.d.ts +34 -0
  320. package/dist/components/ui/stat-list/index.d.ts +3 -0
  321. package/dist/components/ui/stat-list/index.js +2 -0
  322. package/dist/components/ui/stat-list/stat-list.svelte +80 -0
  323. package/dist/components/ui/stat-list/stat-list.svelte.d.ts +23 -0
  324. package/dist/components/ui/status/index.d.ts +1 -0
  325. package/dist/components/ui/status/index.js +1 -0
  326. package/dist/components/ui/status-badge/index.d.ts +3 -0
  327. package/dist/components/ui/status-badge/index.js +2 -0
  328. package/dist/components/ui/status-badge/status-badge.svelte +53 -0
  329. package/dist/components/ui/status-badge/status-badge.svelte.d.ts +39 -0
  330. package/dist/components/ui/switch/index.d.ts +2 -0
  331. package/dist/components/ui/switch/index.js +4 -0
  332. package/dist/components/ui/switch/switch.svelte +39 -0
  333. package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
  334. package/dist/components/ui/table/index.d.ts +10 -0
  335. package/dist/components/ui/table/index.js +12 -0
  336. package/dist/components/ui/table/table-body.svelte +20 -0
  337. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  338. package/dist/components/ui/table/table-caption.svelte +20 -0
  339. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  340. package/dist/components/ui/table/table-cell.svelte +20 -0
  341. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  342. package/dist/components/ui/table/table-classes.d.ts +15 -0
  343. package/dist/components/ui/table/table-classes.js +15 -0
  344. package/dist/components/ui/table/table-footer.svelte +20 -0
  345. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  346. package/dist/components/ui/table/table-head.svelte +23 -0
  347. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  348. package/dist/components/ui/table/table-header.svelte +20 -0
  349. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  350. package/dist/components/ui/table/table-row.svelte +23 -0
  351. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  352. package/dist/components/ui/table/table.svelte +37 -0
  353. package/dist/components/ui/table/table.svelte.d.ts +20 -0
  354. package/dist/components/ui/tabs/index.d.ts +5 -0
  355. package/dist/components/ui/tabs/index.js +7 -0
  356. package/dist/components/ui/tabs/tabs-content.svelte +13 -0
  357. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  358. package/dist/components/ui/tabs/tabs-list.svelte +16 -0
  359. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
  360. package/dist/components/ui/tabs/tabs-trigger.svelte +16 -0
  361. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  362. package/dist/components/ui/tabs/tabs.svelte +19 -0
  363. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  364. package/dist/components/ui/textarea/index.d.ts +2 -0
  365. package/dist/components/ui/textarea/index.js +4 -0
  366. package/dist/components/ui/textarea/textarea.svelte +22 -0
  367. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  368. package/dist/components/ui/tile-grid/index.d.ts +2 -0
  369. package/dist/components/ui/tile-grid/index.js +2 -0
  370. package/dist/components/ui/tile-grid/tile-grid.svelte +66 -0
  371. package/dist/components/ui/tile-grid/tile-grid.svelte.d.ts +43 -0
  372. package/dist/components/ui/tooltip/index.d.ts +6 -0
  373. package/dist/components/ui/tooltip/index.js +8 -0
  374. package/dist/components/ui/tooltip/tooltip-content.svelte +52 -0
  375. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +11 -0
  376. package/dist/components/ui/tooltip/tooltip-portal.svelte +7 -0
  377. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +4 -0
  378. package/dist/components/ui/tooltip/tooltip-provider.svelte +7 -0
  379. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +4 -0
  380. package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  381. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  382. package/dist/components/ui/tooltip/tooltip.svelte +7 -0
  383. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +4 -0
  384. package/dist/styles.css +961 -0
  385. package/dist/utils.d.ts +12 -0
  386. package/dist/utils.js +5 -0
  387. package/package.json +81 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The ⌘K palette, wired to the same navigation the shell renders.
3
+ *
4
+ * It ships beside AppShell because it had the identical coupling: the
5
+ * reference implementation imported its app's navigation module directly, so
6
+ * lifting the shell without it would have left the shell's search affordance
7
+ * pointing at nothing. One nav config now feeds both.
8
+ *
9
+ * The shortcut is bound here rather than in the consuming layout — every app
10
+ * that had a palette had re-typed the same `(metaKey || ctrlKey) && 'k'`
11
+ * handler, and one of them then needed a synthetic-keydown hack to reach it
12
+ * from the shell. Owning the binding removes both.
13
+ *
14
+ * let paletteOpen = $state(false);
15
+ * <AppShell {nav} onSearch={() => (paletteOpen = true)}>…</AppShell>
16
+ * <CommandPalette bind:open={paletteOpen} {nav} onNavigate={goto} />
17
+ */
18
+ import type { Snippet } from 'svelte';
19
+ import { type NavSource } from '../app-shell/types.js';
20
+ type $$ComponentProps = {
21
+ open?: boolean;
22
+ /** The same value passed to AppShell. Filter for permissions first. */
23
+ nav?: NavSource;
24
+ /**
25
+ * How to go somewhere. Apps pass SvelteKit's `goto` for a client-side
26
+ * transition; the default is a full navigation, so the palette works in an
27
+ * app with no router rather than silently doing nothing.
28
+ */
29
+ onNavigate?: (href: string) => void;
30
+ placeholder?: string;
31
+ navHeading?: string;
32
+ emptyText?: string;
33
+ /** Bind ⌘K / Ctrl-K to toggle. Turn off to drive `open` yourself. */
34
+ shortcut?: boolean;
35
+ /** Extra command groups: app-specific actions beneath the nav group. */
36
+ children?: Snippet;
37
+ };
38
+ declare const CommandPalette: import("svelte").Component<$$ComponentProps, {}, "open">;
39
+ type CommandPalette = ReturnType<typeof CommandPalette>;
40
+ export default CommandPalette;
@@ -0,0 +1,3 @@
1
+ export { default as CommandPalette } from './command-palette.svelte';
2
+ export { default } from './command-palette.svelte';
3
+ export type { NavChildItem, NavEntry, NavGroup, NavItem, NavSource } from '../app-shell/types.js';
@@ -0,0 +1,2 @@
1
+ export { default as CommandPalette } from './command-palette.svelte';
2
+ export { default } from './command-palette.svelte';
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { HTMLAttributes } from 'svelte/elements';
4
+ import { cn, type WithElementRef } from '../../../utils.js';
5
+ import StatList from '../stat-list/stat-list.svelte';
6
+ import type { StatItem } from '../stat-list/stat-list.svelte';
7
+
8
+ // The persistent right-hand context column, identical on every route. It holds
9
+ // one standing "At a glance" stat card and, on routes with a selectable table,
10
+ // the selected-row detail beneath it (a DetailPanel passed as the `detail`
11
+ // snippet). The stat card stays put; the detail flows in on select and leaves
12
+ // on deselect, so the column never changes shape.
13
+ //
14
+ // Width is clamped (shared-design-language §6) so a wide screen earns
15
+ // information, not emptiness. The column is a flex child of the page body row;
16
+ // the stat card is shrink-0 and any detail takes the remaining height with its
17
+ // own inner scroll.
18
+ //
19
+ // Below xl (1280px) the column is hidden so the primary pane keeps full width:
20
+ // a fixed nav rail plus a ~400px column would crush the content on a narrow
21
+ // screen. The proper narrow-viewport treatment (off-canvas nav, stacking panes)
22
+ // is a separate workstream; this is the regression guard until it lands.
23
+ let {
24
+ stats,
25
+ statsTitle = 'At a glance',
26
+ statsInfo,
27
+ detail,
28
+ /** The landmark's accessible name. `<aside>` with no name is exposed as
29
+ "complementary" alone — set this to identify which one. */
30
+ ariaLabel,
31
+ ref = $bindable(null),
32
+ class: className,
33
+ ...restProps
34
+ }: WithElementRef<HTMLAttributes<HTMLElement>> & {
35
+ stats: StatItem[];
36
+ statsTitle?: string;
37
+ statsInfo?: string;
38
+ detail?: Snippet;
39
+ ariaLabel?: string;
40
+ } = $props();
41
+ </script>
42
+
43
+ <aside
44
+ bind:this={ref}
45
+ aria-label={ariaLabel}
46
+ class={cn(
47
+ 'hidden max-h-full min-h-0 w-[clamp(360px,28vw,460px)] shrink-0 flex-col gap-5 xl:flex',
48
+ className
49
+ )}
50
+ {...restProps}
51
+ >
52
+ <StatList items={stats} title={statsTitle} info={statsInfo} />
53
+ {#if detail}
54
+ {@render detail()}
55
+ {/if}
56
+ </aside>
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import { type WithElementRef } from '../../../utils.js';
4
+ import type { StatItem } from '../stat-list/stat-list.svelte';
5
+ type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLElement>> & {
6
+ stats: StatItem[];
7
+ statsTitle?: string;
8
+ statsInfo?: string;
9
+ detail?: Snippet;
10
+ ariaLabel?: string;
11
+ };
12
+ declare const ContextColumn: import("svelte").Component<$$ComponentProps, {}, "ref">;
13
+ type ContextColumn = ReturnType<typeof ContextColumn>;
14
+ export default ContextColumn;
@@ -0,0 +1,2 @@
1
+ export { default as ContextColumn } from './context-column.svelte';
2
+ export { default } from './context-column.svelte';
@@ -0,0 +1,2 @@
1
+ export { default as ContextColumn } from './context-column.svelte';
2
+ export { default } from './context-column.svelte';
@@ -0,0 +1,40 @@
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 {};
@@ -0,0 +1,110 @@
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
+ }
@@ -0,0 +1,40 @@
1
+ <script
2
+ lang="ts"
3
+ generics="TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>"
4
+ >
5
+ import type { CellContext, ColumnDefTemplate, HeaderContext } from '@tanstack/table-core';
6
+ import { RenderComponentConfig, RenderSnippetConfig } from './render-helpers.js';
7
+ import type { Attachment } from 'svelte/attachments';
8
+ type Props = {
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>>
14
+ : never;
15
+ /** The result of the `getContext()` function of the header or cell */
16
+ context: TContext;
17
+
18
+ /** Used to pass attachments that can't be gotten through context */
19
+ attach?: Attachment;
20
+ };
21
+
22
+ let { content, context, attach }: Props = $props();
23
+ </script>
24
+
25
+ {#if typeof content === 'string'}
26
+ {content}
27
+ {:else if content instanceof Function}
28
+ <!-- It's unlikely that a CellContext will be passed to a Header -->
29
+ <!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
30
+ {@const result = content(context as any)}
31
+ {#if result instanceof RenderComponentConfig}
32
+ {@const { component: Component, props } = result}
33
+ <Component {...props} {attach} />
34
+ {:else if result instanceof RenderSnippetConfig}
35
+ {@const { snippet, params } = result}
36
+ {@render snippet({ ...params, attach })}
37
+ {:else}
38
+ {result}
39
+ {/if}
40
+ {/if}
@@ -0,0 +1,33 @@
1
+ import type { CellContext, ColumnDefTemplate, HeaderContext } from '@tanstack/table-core';
2
+ import type { Attachment } from 'svelte/attachments';
3
+ declare function $$render<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(): {
4
+ props: {
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;
7
+ /** The result of the `getContext()` function of the header or cell */
8
+ context: TContext;
9
+ /** Used to pass attachments that can't be gotten through context */
10
+ attach?: Attachment;
11
+ };
12
+ exports: {};
13
+ bindings: "";
14
+ slots: {};
15
+ events: {};
16
+ };
17
+ declare class __sveltets_Render<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>> {
18
+ props(): ReturnType<typeof $$render<TData, TValue, TContext>>['props'];
19
+ events(): ReturnType<typeof $$render<TData, TValue, TContext>>['events'];
20
+ slots(): ReturnType<typeof $$render<TData, TValue, TContext>>['slots'];
21
+ bindings(): "";
22
+ exports(): {};
23
+ }
24
+ interface $$IsomorphicComponent {
25
+ new <TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData, TValue, TContext>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData, TValue, TContext>['props']>, ReturnType<__sveltets_Render<TData, TValue, TContext>['events']>, ReturnType<__sveltets_Render<TData, TValue, TContext>['slots']>> & {
26
+ $$bindings?: ReturnType<__sveltets_Render<TData, TValue, TContext>['bindings']>;
27
+ } & ReturnType<__sveltets_Render<TData, TValue, TContext>['exports']>;
28
+ <TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(internal: unknown, props: ReturnType<__sveltets_Render<TData, TValue, TContext>['props']> & {}): ReturnType<__sveltets_Render<TData, TValue, TContext>['exports']>;
29
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
30
+ }
31
+ declare const FlexRender: $$IsomorphicComponent;
32
+ type FlexRender<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>> = InstanceType<typeof FlexRender<TData, TValue, TContext>>;
33
+ export default FlexRender;
@@ -0,0 +1,3 @@
1
+ export { default as FlexRender } from './flex-render.svelte';
2
+ export { renderComponent, renderSnippet } from './render-helpers.js';
3
+ export { createSvelteTable } from './data-table.svelte.js';
@@ -0,0 +1,3 @@
1
+ export { default as FlexRender } from './flex-render.svelte';
2
+ export { renderComponent, renderSnippet } from './render-helpers.js';
3
+ export { createSvelteTable } from './data-table.svelte.js';
@@ -0,0 +1,90 @@
1
+ import type { Component, ComponentProps, Snippet } from 'svelte';
2
+ /**
3
+ * A helper class to make it easy to identify Svelte components in
4
+ * `columnDef.cell` and `columnDef.header` properties.
5
+ *
6
+ * > NOTE: This class should only be used internally by the adapter. If you're
7
+ * reading this and you don't know what this is for, you probably don't need it.
8
+ *
9
+ * @example
10
+ * ```svelte
11
+ * {@const result = content(context as any)}
12
+ * {#if result instanceof RenderComponentConfig}
13
+ * {@const { component: Component, props } = result}
14
+ * <Component {...props} />
15
+ * {/if}
16
+ * ```
17
+ */
18
+ export declare class RenderComponentConfig<TComponent extends Component> {
19
+ component: TComponent;
20
+ props: ComponentProps<TComponent> | Record<string, never>;
21
+ constructor(component: TComponent, props?: ComponentProps<TComponent> | Record<string, never>);
22
+ }
23
+ /**
24
+ * A helper class to make it easy to identify Svelte Snippets in `columnDef.cell` and `columnDef.header` properties.
25
+ *
26
+ * > NOTE: This class should only be used internally by the adapter. If you're
27
+ * reading this and you don't know what this is for, you probably don't need it.
28
+ *
29
+ * @example
30
+ * ```svelte
31
+ * {@const result = content(context as any)}
32
+ * {#if result instanceof RenderSnippetConfig}
33
+ * {@const { snippet, params } = result}
34
+ * {@render snippet(params)}
35
+ * {/if}
36
+ * ```
37
+ */
38
+ export declare class RenderSnippetConfig<TProps> {
39
+ snippet: Snippet<[TProps]>;
40
+ params: TProps;
41
+ constructor(snippet: Snippet<[TProps]>, params: TProps);
42
+ }
43
+ /**
44
+ * A helper function to help create cells from Svelte components through ColumnDef's `cell` and `header` properties.
45
+ *
46
+ * This is only to be used with Svelte Components - use `renderSnippet` for Svelte Snippets.
47
+ *
48
+ * @param component A Svelte component
49
+ * @param props The props to pass to `component`
50
+ * @returns A `RenderComponentConfig` object that helps svelte-table know how to render the header/cell component.
51
+ * @example
52
+ * ```ts
53
+ * // +page.svelte
54
+ * const defaultColumns = [
55
+ * columnHelper.accessor('name', {
56
+ * header: header => renderComponent(SortHeader, { label: 'Name', header }),
57
+ * }),
58
+ * columnHelper.accessor('state', {
59
+ * header: header => renderComponent(SortHeader, { label: 'State', header }),
60
+ * }),
61
+ * ]
62
+ * ```
63
+ * @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
64
+ */
65
+ export declare function renderComponent<T extends Component<any>, Props extends ComponentProps<T>>(component: T, props?: Props): RenderComponentConfig<T>;
66
+ /**
67
+ * A helper function to help create cells from Svelte Snippets through ColumnDef's `cell` and `header` properties.
68
+ *
69
+ * The snippet must only take one parameter.
70
+ *
71
+ * This is only to be used with Snippets - use `renderComponent` for Svelte Components.
72
+ *
73
+ * @param snippet
74
+ * @param params
75
+ * @returns - A `RenderSnippetConfig` object that helps svelte-table know how to render the header/cell snippet.
76
+ * @example
77
+ * ```ts
78
+ * // +page.svelte
79
+ * const defaultColumns = [
80
+ * columnHelper.accessor('name', {
81
+ * cell: cell => renderSnippet(nameSnippet, { name: cell.row.name }),
82
+ * }),
83
+ * columnHelper.accessor('state', {
84
+ * cell: cell => renderSnippet(stateSnippet, { state: cell.row.state }),
85
+ * }),
86
+ * ]
87
+ * ```
88
+ * @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
89
+ */
90
+ export declare function renderSnippet<TProps>(snippet: Snippet<[TProps]>, params?: TProps): RenderSnippetConfig<TProps>;
@@ -0,0 +1,99 @@
1
+ /**
2
+ * A helper class to make it easy to identify Svelte components in
3
+ * `columnDef.cell` and `columnDef.header` properties.
4
+ *
5
+ * > NOTE: This class should only be used internally by the adapter. If you're
6
+ * reading this and you don't know what this is for, you probably don't need it.
7
+ *
8
+ * @example
9
+ * ```svelte
10
+ * {@const result = content(context as any)}
11
+ * {#if result instanceof RenderComponentConfig}
12
+ * {@const { component: Component, props } = result}
13
+ * <Component {...props} />
14
+ * {/if}
15
+ * ```
16
+ */
17
+ export class RenderComponentConfig {
18
+ component;
19
+ props;
20
+ constructor(component, props = {}) {
21
+ this.component = component;
22
+ this.props = props;
23
+ }
24
+ }
25
+ /**
26
+ * A helper class to make it easy to identify Svelte Snippets in `columnDef.cell` and `columnDef.header` properties.
27
+ *
28
+ * > NOTE: This class should only be used internally by the adapter. If you're
29
+ * reading this and you don't know what this is for, you probably don't need it.
30
+ *
31
+ * @example
32
+ * ```svelte
33
+ * {@const result = content(context as any)}
34
+ * {#if result instanceof RenderSnippetConfig}
35
+ * {@const { snippet, params } = result}
36
+ * {@render snippet(params)}
37
+ * {/if}
38
+ * ```
39
+ */
40
+ export class RenderSnippetConfig {
41
+ snippet;
42
+ params;
43
+ constructor(snippet, params) {
44
+ this.snippet = snippet;
45
+ this.params = params;
46
+ }
47
+ }
48
+ /**
49
+ * A helper function to help create cells from Svelte components through ColumnDef's `cell` and `header` properties.
50
+ *
51
+ * This is only to be used with Svelte Components - use `renderSnippet` for Svelte Snippets.
52
+ *
53
+ * @param component A Svelte component
54
+ * @param props The props to pass to `component`
55
+ * @returns A `RenderComponentConfig` object that helps svelte-table know how to render the header/cell component.
56
+ * @example
57
+ * ```ts
58
+ * // +page.svelte
59
+ * const defaultColumns = [
60
+ * columnHelper.accessor('name', {
61
+ * header: header => renderComponent(SortHeader, { label: 'Name', header }),
62
+ * }),
63
+ * columnHelper.accessor('state', {
64
+ * header: header => renderComponent(SortHeader, { label: 'State', header }),
65
+ * }),
66
+ * ]
67
+ * ```
68
+ * @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
69
+ */
70
+ export function renderComponent(component, props = {}) {
71
+ return new RenderComponentConfig(component, props);
72
+ }
73
+ /**
74
+ * A helper function to help create cells from Svelte Snippets through ColumnDef's `cell` and `header` properties.
75
+ *
76
+ * The snippet must only take one parameter.
77
+ *
78
+ * This is only to be used with Snippets - use `renderComponent` for Svelte Components.
79
+ *
80
+ * @param snippet
81
+ * @param params
82
+ * @returns - A `RenderSnippetConfig` object that helps svelte-table know how to render the header/cell snippet.
83
+ * @example
84
+ * ```ts
85
+ * // +page.svelte
86
+ * const defaultColumns = [
87
+ * columnHelper.accessor('name', {
88
+ * cell: cell => renderSnippet(nameSnippet, { name: cell.row.name }),
89
+ * }),
90
+ * columnHelper.accessor('state', {
91
+ * cell: cell => renderSnippet(stateSnippet, { state: cell.row.state }),
92
+ * }),
93
+ * ]
94
+ * ```
95
+ * @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
96
+ */
97
+ export function renderSnippet(snippet, params = {}) {
98
+ return new RenderSnippetConfig(snippet, params);
99
+ }