svelte-firekit 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/README.md +365 -308
  2. package/dist/components/docs/doc-content.svelte +19 -0
  3. package/dist/components/docs/doc-content.svelte.d.ts +6 -0
  4. package/dist/components/docs/doc-header.svelte +24 -0
  5. package/dist/components/docs/doc-header.svelte.d.ts +13 -0
  6. package/dist/components/docs/doc-renderer.svelte +27 -0
  7. package/dist/components/docs/doc-renderer.svelte.d.ts +8 -0
  8. package/dist/components/docs/mobile-table-of-contents.svelte +42 -0
  9. package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +3 -0
  10. package/dist/components/docs/table-of-contents.svelte +33 -0
  11. package/dist/components/docs/table-of-contents.svelte.d.ts +4 -0
  12. package/dist/components/docs/toc.svelte.d.ts +16 -0
  13. package/dist/components/docs/toc.svelte.js +59 -0
  14. package/dist/components/{Collection.svelte → firekit/Collection.svelte} +2 -2
  15. package/dist/components/{Doc.svelte → firekit/Doc.svelte} +11 -11
  16. package/dist/components/{Doc.svelte.d.ts → firekit/Doc.svelte.d.ts} +1 -1
  17. package/dist/components/{Node.svelte → firekit/Node.svelte} +2 -2
  18. package/dist/components/{auth-guard.svelte → firekit/auth-guard.svelte} +5 -5
  19. package/dist/components/{auth-guard.svelte.d.ts → firekit/auth-guard.svelte.d.ts} +1 -1
  20. package/dist/components/{custom-guard.svelte → firekit/custom-guard.svelte} +5 -5
  21. package/dist/components/{custom-guard.svelte.d.ts → firekit/custom-guard.svelte.d.ts} +1 -1
  22. package/dist/components/{download-url.svelte → firekit/download-url.svelte} +2 -2
  23. package/dist/components/{firebase-app.svelte → firekit/firebase-app.svelte} +1 -1
  24. package/dist/components/{node-list.svelte → firekit/node-list.svelte} +2 -2
  25. package/dist/components/{signed-in.svelte → firekit/signed-in.svelte} +3 -3
  26. package/dist/components/{signed-in.svelte.d.ts → firekit/signed-in.svelte.d.ts} +1 -1
  27. package/dist/components/{signed-out.svelte → firekit/signed-out.svelte} +2 -2
  28. package/dist/components/{storage-list.svelte → firekit/storage-list.svelte} +2 -2
  29. package/dist/components/{upload-task.svelte → firekit/upload-task.svelte} +2 -2
  30. package/dist/components/nav/app-sidebar.svelte +175 -0
  31. package/dist/components/nav/app-sidebar.svelte.d.ts +9 -0
  32. package/dist/components/nav/auto-breadcrumb.svelte +41 -0
  33. package/dist/components/nav/auto-breadcrumb.svelte.d.ts +3 -0
  34. package/dist/components/nav/dark-mode-toggle.svelte +17 -0
  35. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +18 -0
  36. package/dist/components/nav/nav-components.svelte +24 -0
  37. package/dist/components/nav/nav-components.svelte.d.ts +11 -0
  38. package/dist/components/nav/nav-main.svelte +45 -0
  39. package/dist/components/nav/nav-main.svelte.d.ts +11 -0
  40. package/dist/components/nav/nav-secondary.svelte +32 -0
  41. package/dist/components/nav/nav-secondary.svelte.d.ts +14 -0
  42. package/dist/components/nav/site-header.svelte +32 -0
  43. package/dist/components/nav/site-header.svelte.d.ts +18 -0
  44. package/dist/components/ui/avatar/avatar-fallback.svelte +17 -0
  45. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
  46. package/dist/components/ui/avatar/avatar-image.svelte +17 -0
  47. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
  48. package/dist/components/ui/avatar/avatar.svelte +19 -0
  49. package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -0
  50. package/dist/components/ui/avatar/index.d.ts +4 -0
  51. package/dist/components/ui/avatar/index.js +6 -0
  52. package/dist/components/ui/badge/badge.svelte +50 -0
  53. package/dist/components/ui/badge/badge.svelte.d.ts +32 -0
  54. package/dist/components/ui/badge/index.d.ts +2 -0
  55. package/dist/components/ui/badge/index.js +2 -0
  56. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
  57. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  58. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +20 -0
  59. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  60. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
  61. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  62. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
  63. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  64. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
  65. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  66. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
  67. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  68. package/dist/components/ui/breadcrumb/breadcrumb.svelte +21 -0
  69. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  70. package/dist/components/ui/breadcrumb/index.d.ts +8 -0
  71. package/dist/components/ui/breadcrumb/index.js +10 -0
  72. package/dist/components/ui/button/button.svelte +80 -0
  73. package/dist/components/ui/button/button.svelte.d.ts +58 -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 +20 -0
  77. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  78. package/dist/components/ui/card/card-content.svelte +15 -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 +20 -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 +20 -0
  87. package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
  88. package/dist/components/ui/card/card.svelte +23 -0
  89. package/dist/components/ui/card/card.svelte.d.ts +5 -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/chart/chart-container.svelte +80 -0
  93. package/dist/components/ui/chart/chart-container.svelte.d.ts +9 -0
  94. package/dist/components/ui/chart/chart-style.svelte +36 -0
  95. package/dist/components/ui/chart/chart-style.svelte.d.ts +8 -0
  96. package/dist/components/ui/chart/chart-tooltip.svelte +159 -0
  97. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +27 -0
  98. package/dist/components/ui/chart/chart-utils.d.ts +36 -0
  99. package/dist/components/ui/chart/chart-utils.js +33 -0
  100. package/dist/components/ui/chart/index.d.ts +4 -0
  101. package/dist/components/ui/chart/index.js +4 -0
  102. package/dist/components/ui/checkbox/checkbox.svelte +36 -0
  103. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  104. package/dist/components/ui/checkbox/index.d.ts +2 -0
  105. package/dist/components/ui/checkbox/index.js +4 -0
  106. package/dist/components/ui/data-table/data-table.svelte.d.ts +40 -0
  107. package/dist/components/ui/data-table/data-table.svelte.js +110 -0
  108. package/dist/components/ui/data-table/flex-render.svelte +36 -0
  109. package/dist/components/ui/data-table/flex-render.svelte.d.ts +30 -0
  110. package/dist/components/ui/data-table/index.d.ts +3 -0
  111. package/dist/components/ui/data-table/index.js +3 -0
  112. package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
  113. package/dist/components/ui/data-table/render-helpers.js +99 -0
  114. package/dist/components/ui/dialog/dialog-close.svelte +7 -0
  115. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
  116. package/dist/components/ui/dialog/dialog-content.svelte +43 -0
  117. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +11 -0
  118. package/dist/components/ui/dialog/dialog-description.svelte +17 -0
  119. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  120. package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
  121. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  122. package/dist/components/ui/dialog/dialog-header.svelte +20 -0
  123. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  124. package/dist/components/ui/dialog/dialog-overlay.svelte +20 -0
  125. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  126. package/dist/components/ui/dialog/dialog-title.svelte +17 -0
  127. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  128. package/dist/components/ui/dialog/dialog-trigger.svelte +7 -0
  129. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  130. package/dist/components/ui/dialog/index.d.ts +11 -0
  131. package/dist/components/ui/dialog/index.js +14 -0
  132. package/dist/components/ui/drawer/drawer-close.svelte +7 -0
  133. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +4 -0
  134. package/dist/components/ui/drawer/drawer-content.svelte +37 -0
  135. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +7 -0
  136. package/dist/components/ui/drawer/drawer-description.svelte +17 -0
  137. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
  138. package/dist/components/ui/drawer/drawer-footer.svelte +20 -0
  139. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
  140. package/dist/components/ui/drawer/drawer-header.svelte +20 -0
  141. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
  142. package/dist/components/ui/drawer/drawer-nested.svelte +12 -0
  143. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
  144. package/dist/components/ui/drawer/drawer-overlay.svelte +20 -0
  145. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
  146. package/dist/components/ui/drawer/drawer-title.svelte +17 -0
  147. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
  148. package/dist/components/ui/drawer/drawer-trigger.svelte +7 -0
  149. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +4 -0
  150. package/dist/components/ui/drawer/drawer.svelte +12 -0
  151. package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
  152. package/dist/components/ui/drawer/index.d.ts +13 -0
  153. package/dist/components/ui/drawer/index.js +15 -0
  154. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +41 -0
  155. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  156. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +27 -0
  157. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +7 -0
  158. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
  159. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
  160. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  161. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  162. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
  163. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
  164. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +24 -0
  165. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  166. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  167. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  168. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +31 -0
  169. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  170. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
  171. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  172. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  173. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  174. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +20 -0
  175. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  176. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +29 -0
  177. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  178. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  179. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  180. package/dist/components/ui/dropdown-menu/index.d.ts +25 -0
  181. package/dist/components/ui/dropdown-menu/index.js +17 -0
  182. package/dist/components/ui/input/index.d.ts +2 -0
  183. package/dist/components/ui/input/index.js +4 -0
  184. package/dist/components/ui/input/input.svelte +51 -0
  185. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  186. package/dist/components/ui/label/index.d.ts +2 -0
  187. package/dist/components/ui/label/index.js +4 -0
  188. package/dist/components/ui/label/label.svelte +20 -0
  189. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  190. package/dist/components/ui/scroll-area/index.d.ts +3 -0
  191. package/dist/components/ui/scroll-area/index.js +5 -0
  192. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +31 -0
  193. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
  194. package/dist/components/ui/scroll-area/scroll-area.svelte +40 -0
  195. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +10 -0
  196. package/dist/components/ui/select/index.d.ts +11 -0
  197. package/dist/components/ui/select/index.js +14 -0
  198. package/dist/components/ui/select/select-content.svelte +40 -0
  199. package/dist/components/ui/select/select-content.svelte.d.ts +8 -0
  200. package/dist/components/ui/select/select-group-heading.svelte +21 -0
  201. package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
  202. package/dist/components/ui/select/select-group.svelte +7 -0
  203. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  204. package/dist/components/ui/select/select-item.svelte +38 -0
  205. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  206. package/dist/components/ui/select/select-label.svelte +20 -0
  207. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  208. package/dist/components/ui/select/select-scroll-down-button.svelte +20 -0
  209. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  210. package/dist/components/ui/select/select-scroll-up-button.svelte +20 -0
  211. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  212. package/dist/components/ui/select/select-separator.svelte +18 -0
  213. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  214. package/dist/components/ui/select/select-trigger.svelte +29 -0
  215. package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
  216. package/dist/components/ui/separator/index.d.ts +2 -0
  217. package/dist/components/ui/separator/index.js +4 -0
  218. package/dist/components/ui/separator/separator.svelte +20 -0
  219. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  220. package/dist/components/ui/sheet/index.d.ts +11 -0
  221. package/dist/components/ui/sheet/index.js +14 -0
  222. package/dist/components/ui/sheet/sheet-close.svelte +7 -0
  223. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  224. package/dist/components/ui/sheet/sheet-content.svelte +58 -0
  225. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +35 -0
  226. package/dist/components/ui/sheet/sheet-description.svelte +17 -0
  227. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
  228. package/dist/components/ui/sheet/sheet-footer.svelte +20 -0
  229. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
  230. package/dist/components/ui/sheet/sheet-header.svelte +20 -0
  231. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
  232. package/dist/components/ui/sheet/sheet-overlay.svelte +20 -0
  233. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
  234. package/dist/components/ui/sheet/sheet-title.svelte +17 -0
  235. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
  236. package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
  237. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  238. package/dist/components/ui/sidebar/constants.d.ts +6 -0
  239. package/dist/components/ui/sidebar/constants.js +6 -0
  240. package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
  241. package/dist/components/ui/sidebar/context.svelte.js +54 -0
  242. package/dist/components/ui/sidebar/index.d.ts +25 -0
  243. package/dist/components/ui/sidebar/index.js +27 -0
  244. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -0
  245. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
  246. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -0
  247. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
  248. package/dist/components/ui/sidebar/sidebar-group-action.svelte +36 -0
  249. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
  250. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -0
  251. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
  252. package/dist/components/ui/sidebar/sidebar-group-label.svelte +34 -0
  253. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
  254. package/dist/components/ui/sidebar/sidebar-group.svelte +21 -0
  255. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
  256. package/dist/components/ui/sidebar/sidebar-header.svelte +21 -0
  257. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
  258. package/dist/components/ui/sidebar/sidebar-input.svelte +21 -0
  259. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
  260. package/dist/components/ui/sidebar/sidebar-inset.svelte +24 -0
  261. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
  262. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
  263. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
  264. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
  265. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
  266. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +103 -0
  267. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
  268. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
  269. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
  270. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
  271. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  272. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
  273. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
  274. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +21 -0
  275. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
  276. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
  277. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
  278. package/dist/components/ui/sidebar/sidebar-menu.svelte +21 -0
  279. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
  280. package/dist/components/ui/sidebar/sidebar-provider.svelte +53 -0
  281. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
  282. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -0
  283. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
  284. package/dist/components/ui/sidebar/sidebar-separator.svelte +19 -0
  285. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
  286. package/dist/components/ui/sidebar/sidebar-trigger.svelte +35 -0
  287. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
  288. package/dist/components/ui/sidebar/sidebar.svelte +104 -0
  289. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
  290. package/dist/components/ui/skeleton/index.d.ts +2 -0
  291. package/dist/components/ui/skeleton/index.js +4 -0
  292. package/dist/components/ui/skeleton/skeleton.svelte +17 -0
  293. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  294. package/dist/components/ui/table/index.d.ts +9 -0
  295. package/dist/components/ui/table/index.js +11 -0
  296. package/dist/components/ui/table/table-body.svelte +20 -0
  297. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  298. package/dist/components/ui/table/table-caption.svelte +20 -0
  299. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  300. package/dist/components/ui/table/table-cell.svelte +20 -0
  301. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  302. package/dist/components/ui/table/table-footer.svelte +20 -0
  303. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  304. package/dist/components/ui/table/table-head.svelte +23 -0
  305. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  306. package/dist/components/ui/table/table-header.svelte +20 -0
  307. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  308. package/dist/components/ui/table/table-row.svelte +23 -0
  309. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  310. package/dist/components/ui/table/table.svelte +22 -0
  311. package/dist/components/ui/table/table.svelte.d.ts +5 -0
  312. package/dist/components/ui/tabs/index.d.ts +5 -0
  313. package/dist/components/ui/tabs/index.js +7 -0
  314. package/dist/components/ui/tabs/tabs-content.svelte +17 -0
  315. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  316. package/dist/components/ui/tabs/tabs-list.svelte +20 -0
  317. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
  318. package/dist/components/ui/tabs/tabs-trigger.svelte +20 -0
  319. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  320. package/dist/components/ui/tabs/tabs.svelte +19 -0
  321. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  322. package/dist/components/ui/toggle/index.d.ts +3 -0
  323. package/dist/components/ui/toggle/index.js +5 -0
  324. package/dist/components/ui/toggle/toggle.svelte +52 -0
  325. package/dist/components/ui/toggle/toggle.svelte.d.ts +43 -0
  326. package/dist/components/ui/toggle-group/index.d.ts +3 -0
  327. package/dist/components/ui/toggle-group/index.js +5 -0
  328. package/dist/components/ui/toggle-group/toggle-group-item.svelte +34 -0
  329. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +6 -0
  330. package/dist/components/ui/toggle-group/toggle-group.svelte +47 -0
  331. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +8 -0
  332. package/dist/components/ui/tooltip/index.d.ts +7 -0
  333. package/dist/components/ui/tooltip/index.js +9 -0
  334. package/dist/components/ui/tooltip/tooltip-content.svelte +47 -0
  335. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +7 -0
  336. package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  337. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  338. package/dist/hooks/is-mobile.svelte.d.ts +4 -0
  339. package/dist/hooks/is-mobile.svelte.js +7 -0
  340. package/dist/index.d.ts +12 -12
  341. package/dist/index.js +12 -12
  342. package/dist/services/auth.js +10 -0
  343. package/dist/types/docs.d.ts +67 -0
  344. package/dist/types/docs.js +1 -0
  345. package/dist/utils.d.ts +15 -0
  346. package/dist/utils.js +44 -0
  347. package/package.json +34 -6
  348. /package/dist/components/{Collection.svelte.d.ts → firekit/Collection.svelte.d.ts} +0 -0
  349. /package/dist/components/{Node.svelte.d.ts → firekit/Node.svelte.d.ts} +0 -0
  350. /package/dist/components/{download-url.svelte.d.ts → firekit/download-url.svelte.d.ts} +0 -0
  351. /package/dist/components/{firebase-app.svelte.d.ts → firekit/firebase-app.svelte.d.ts} +0 -0
  352. /package/dist/components/{node-list.svelte.d.ts → firekit/node-list.svelte.d.ts} +0 -0
  353. /package/dist/components/{signed-out.svelte.d.ts → firekit/signed-out.svelte.d.ts} +0 -0
  354. /package/dist/components/{storage-list.svelte.d.ts → firekit/storage-list.svelte.d.ts} +0 -0
  355. /package/dist/components/{upload-task.svelte.d.ts → firekit/upload-task.svelte.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ import { type VariantProps } from "tailwind-variants";
2
+ export declare const toggleVariants: import("tailwind-variants").TVReturnType<{
3
+ variant: {
4
+ default: string;
5
+ outline: string;
6
+ };
7
+ size: {
8
+ default: string;
9
+ sm: string;
10
+ lg: string;
11
+ };
12
+ }, undefined, "hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", {
13
+ variant: {
14
+ default: string;
15
+ outline: string;
16
+ };
17
+ size: {
18
+ default: string;
19
+ sm: string;
20
+ lg: string;
21
+ };
22
+ }, undefined, import("tailwind-variants").TVReturnType<{
23
+ variant: {
24
+ default: string;
25
+ outline: string;
26
+ };
27
+ size: {
28
+ default: string;
29
+ sm: string;
30
+ lg: string;
31
+ };
32
+ }, undefined, "hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-[color,box-shadow] focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", unknown, unknown, undefined>>;
33
+ export type ToggleVariant = VariantProps<typeof toggleVariants>["variant"];
34
+ export type ToggleSize = VariantProps<typeof toggleVariants>["size"];
35
+ export type ToggleVariants = VariantProps<typeof toggleVariants>;
36
+ import { Toggle as TogglePrimitive } from "bits-ui";
37
+ type $$ComponentProps = TogglePrimitive.RootProps & {
38
+ variant?: ToggleVariant;
39
+ size?: ToggleSize;
40
+ };
41
+ declare const Toggle: import("svelte").Component<$$ComponentProps, {}, "ref" | "pressed">;
42
+ type Toggle = ReturnType<typeof Toggle>;
43
+ export default Toggle;
@@ -0,0 +1,3 @@
1
+ import Root from "./toggle-group.svelte";
2
+ import Item from "./toggle-group-item.svelte";
3
+ export { Root, Item, Root as ToggleGroup, Item as ToggleGroupItem, };
@@ -0,0 +1,5 @@
1
+ import Root from "./toggle-group.svelte";
2
+ import Item from "./toggle-group-item.svelte";
3
+ export { Root, Item,
4
+ //
5
+ Root as ToggleGroup, Item as ToggleGroupItem, };
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
3
+ import { getToggleGroupCtx } from "./toggle-group.svelte";
4
+ import { cn } from "../../../utils.js";
5
+ import { type ToggleVariants, toggleVariants } from "../toggle/index.js";
6
+
7
+ let {
8
+ ref = $bindable(null),
9
+ value = $bindable(),
10
+ class: className,
11
+ size,
12
+ variant,
13
+ ...restProps
14
+ }: ToggleGroupPrimitive.ItemProps & ToggleVariants = $props();
15
+
16
+ const ctx = getToggleGroupCtx();
17
+ </script>
18
+
19
+ <ToggleGroupPrimitive.Item
20
+ bind:ref
21
+ data-slot="toggle-group-item"
22
+ data-variant={ctx.variant || variant}
23
+ data-size={ctx.size || size}
24
+ class={cn(
25
+ toggleVariants({
26
+ variant: ctx.variant || variant,
27
+ size: ctx.size || size,
28
+ }),
29
+ "min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",
30
+ className
31
+ )}
32
+ {value}
33
+ {...restProps}
34
+ />
@@ -0,0 +1,6 @@
1
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
2
+ import { type ToggleVariants } from "../toggle/index.js";
3
+ type $$ComponentProps = ToggleGroupPrimitive.ItemProps & ToggleVariants;
4
+ declare const ToggleGroupItem: import("svelte").Component<$$ComponentProps, {}, "value" | "ref">;
5
+ type ToggleGroupItem = ReturnType<typeof ToggleGroupItem>;
6
+ export default ToggleGroupItem;
@@ -0,0 +1,47 @@
1
+ <script lang="ts" module>
2
+ import { getContext, setContext } from "svelte";
3
+ import type { ToggleVariants } from "../toggle/index.js";
4
+ export function setToggleGroupCtx(props: ToggleVariants) {
5
+ setContext("toggleGroup", props);
6
+ }
7
+
8
+ export function getToggleGroupCtx() {
9
+ return getContext<ToggleVariants>("toggleGroup");
10
+ }
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
15
+ import { cn } from "../../../utils.js";
16
+
17
+ let {
18
+ ref = $bindable(null),
19
+ value = $bindable(),
20
+ class: className,
21
+ size = "default",
22
+ variant = "default",
23
+ ...restProps
24
+ }: ToggleGroupPrimitive.RootProps & ToggleVariants = $props();
25
+
26
+ setToggleGroupCtx({
27
+ variant,
28
+ size,
29
+ });
30
+ </script>
31
+
32
+ <!--
33
+ Discriminated Unions + Destructing (required for bindable) do not
34
+ get along, so we shut typescript up by casting `value` to `never`.
35
+ -->
36
+ <ToggleGroupPrimitive.Root
37
+ bind:value={value as never}
38
+ bind:ref
39
+ data-slot="toggle-group"
40
+ data-variant={variant}
41
+ data-size={size}
42
+ class={cn(
43
+ "group/toggle-group data-[variant=outline]:shadow-xs flex w-fit items-center rounded-md",
44
+ className
45
+ )}
46
+ {...restProps}
47
+ />
@@ -0,0 +1,8 @@
1
+ import type { ToggleVariants } from "../toggle/index.js";
2
+ export declare function setToggleGroupCtx(props: ToggleVariants): void;
3
+ export declare function getToggleGroupCtx(): ToggleVariants;
4
+ import { ToggleGroup as ToggleGroupPrimitive } from "bits-ui";
5
+ type $$ComponentProps = ToggleGroupPrimitive.RootProps & ToggleVariants;
6
+ declare const ToggleGroup: import("svelte").Component<$$ComponentProps, {}, "value" | "ref">;
7
+ type ToggleGroup = ReturnType<typeof ToggleGroup>;
8
+ export default ToggleGroup;
@@ -0,0 +1,7 @@
1
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
2
+ import Trigger from "./tooltip-trigger.svelte";
3
+ import Content from "./tooltip-content.svelte";
4
+ declare const Root: import("svelte").Component<TooltipPrimitive.RootProps, {}, "open">;
5
+ declare const Provider: import("svelte").Component<TooltipPrimitive.ProviderProps, {}, "">;
6
+ declare const Portal: import("svelte").Component<TooltipPrimitive.PortalProps, {}, "">;
7
+ export { Root, Trigger, Content, Provider, Portal, Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal, };
@@ -0,0 +1,9 @@
1
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
2
+ import Trigger from "./tooltip-trigger.svelte";
3
+ import Content from "./tooltip-content.svelte";
4
+ const Root = TooltipPrimitive.Root;
5
+ const Provider = TooltipPrimitive.Provider;
6
+ const Portal = TooltipPrimitive.Portal;
7
+ export { Root, Trigger, Content, Provider, Portal,
8
+ //
9
+ Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal, };
@@ -0,0 +1,47 @@
1
+ <script lang="ts">
2
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
3
+ import { cn } from "../../../utils.js";
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ sideOffset = 0,
9
+ side = "top",
10
+ children,
11
+ arrowClasses,
12
+ ...restProps
13
+ }: TooltipPrimitive.ContentProps & {
14
+ arrowClasses?: string;
15
+ } = $props();
16
+ </script>
17
+
18
+ <TooltipPrimitive.Portal>
19
+ <TooltipPrimitive.Content
20
+ bind:ref
21
+ data-slot="tooltip-content"
22
+ {sideOffset}
23
+ {side}
24
+ class={cn(
25
+ "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--bits-tooltip-content-transform-origin) z-50 w-fit text-balance rounded-md px-3 py-1.5 text-xs",
26
+ className
27
+ )}
28
+ {...restProps}
29
+ >
30
+ {@render children?.()}
31
+ <TooltipPrimitive.Arrow>
32
+ {#snippet child({ props })}
33
+ <div
34
+ class={cn(
35
+ "bg-primary z-50 size-2.5 rotate-45 rounded-[2px]",
36
+ "data-[side=top]:translate-x-1/2 data-[side=top]:translate-y-[calc(-50%_+_2px)]",
37
+ "data-[side=bottom]:-translate-x-1/2 data-[side=bottom]:-translate-y-[calc(-50%_+_1px)]",
38
+ "data-[side=right]:translate-x-[calc(50%_+_2px)] data-[side=right]:translate-y-1/2",
39
+ "data-[side=left]:-translate-y-[calc(50%_-_3px)]",
40
+ arrowClasses
41
+ )}
42
+ {...props}
43
+ ></div>
44
+ {/snippet}
45
+ </TooltipPrimitive.Arrow>
46
+ </TooltipPrimitive.Content>
47
+ </TooltipPrimitive.Portal>
@@ -0,0 +1,7 @@
1
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
2
+ type $$ComponentProps = TooltipPrimitive.ContentProps & {
3
+ arrowClasses?: string;
4
+ };
5
+ declare const TooltipContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
6
+ type TooltipContent = ReturnType<typeof TooltipContent>;
7
+ export default TooltipContent;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
3
+
4
+ let { ref = $bindable(null), ...restProps }: TooltipPrimitive.TriggerProps = $props();
5
+ </script>
6
+
7
+ <TooltipPrimitive.Trigger bind:ref data-slot="tooltip-trigger" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import { Tooltip as TooltipPrimitive } from "bits-ui";
2
+ declare const TooltipTrigger: import("svelte").Component<TooltipPrimitive.TriggerProps, {}, "ref">;
3
+ type TooltipTrigger = ReturnType<typeof TooltipTrigger>;
4
+ export default TooltipTrigger;
@@ -0,0 +1,4 @@
1
+ import { MediaQuery } from "svelte/reactivity";
2
+ export declare class IsMobile extends MediaQuery {
3
+ constructor(breakpoint?: number);
4
+ }
@@ -0,0 +1,7 @@
1
+ import { MediaQuery } from "svelte/reactivity";
2
+ const DEFAULT_MOBILE_BREAKPOINT = 768;
3
+ export class IsMobile extends MediaQuery {
4
+ constructor(breakpoint = DEFAULT_MOBILE_BREAKPOINT) {
5
+ super(`max-width: ${breakpoint - 1}px`);
6
+ }
7
+ }
package/dist/index.d.ts CHANGED
@@ -10,15 +10,15 @@ export { firekitDocMutations } from './services/mutations.js';
10
10
  export { firekitCollection, firekitCollectionGroup, firekitCollectionOnce } from './services/collection.svelte.js';
11
11
  export { firekitRealtimeDB, firekitRealtimeList } from './services/realtime.svelte.js';
12
12
  export { firekitStorageList, firekitUploadTask, firekitDownloadUrl } from './services/storage.svelte.js';
13
- export { default as FirebaseApp } from './components/firebase-app.svelte';
14
- export { default as AuthGuard } from './components/auth-guard.svelte';
15
- export { default as CustomGuard } from './components/custom-guard.svelte';
16
- export { default as SignedIn } from './components/signed-in.svelte';
17
- export { default as SignedOut } from './components/signed-out.svelte';
18
- export { default as Doc } from './components/Doc.svelte';
19
- export { default as Collection } from './components/Collection.svelte';
20
- export { default as Node } from './components/Node.svelte';
21
- export { default as NodeList } from './components/node-list.svelte';
22
- export { default as StorageList } from './components/storage-list.svelte';
23
- export { default as DownloadURL } from './components/download-url.svelte';
24
- export { default as UploadTask } from './components/upload-task.svelte';
13
+ export { default as FirebaseApp } from './components/firekit/firebase-app.svelte';
14
+ export { default as AuthGuard } from './components/firekit/auth-guard.svelte';
15
+ export { default as CustomGuard } from './components/firekit/custom-guard.svelte';
16
+ export { default as SignedIn } from './components/firekit/signed-in.svelte';
17
+ export { default as SignedOut } from './components/firekit/signed-out.svelte';
18
+ export { default as Doc } from './components/firekit/Doc.svelte';
19
+ export { default as Collection } from './components/firekit/Collection.svelte';
20
+ export { default as Node } from './components/firekit/Node.svelte';
21
+ export { default as NodeList } from './components/firekit/node-list.svelte';
22
+ export { default as StorageList } from './components/firekit/storage-list.svelte';
23
+ export { default as DownloadURL } from './components/firekit/download-url.svelte';
24
+ export { default as UploadTask } from './components/firekit/upload-task.svelte';
package/dist/index.js CHANGED
@@ -20,15 +20,15 @@ export { firekitRealtimeDB, firekitRealtimeList } from './services/realtime.svel
20
20
  // storage services
21
21
  export { firekitStorageList, firekitUploadTask, firekitDownloadUrl } from './services/storage.svelte.js';
22
22
  // Components
23
- export { default as FirebaseApp } from './components/firebase-app.svelte';
24
- export { default as AuthGuard } from './components/auth-guard.svelte';
25
- export { default as CustomGuard } from './components/custom-guard.svelte';
26
- export { default as SignedIn } from './components/signed-in.svelte';
27
- export { default as SignedOut } from './components/signed-out.svelte';
28
- export { default as Doc } from './components/Doc.svelte';
29
- export { default as Collection } from './components/Collection.svelte';
30
- export { default as Node } from './components/Node.svelte';
31
- export { default as NodeList } from './components/node-list.svelte';
32
- export { default as StorageList } from './components/storage-list.svelte';
33
- export { default as DownloadURL } from './components/download-url.svelte';
34
- export { default as UploadTask } from './components/upload-task.svelte';
23
+ export { default as FirebaseApp } from './components/firekit/firebase-app.svelte';
24
+ export { default as AuthGuard } from './components/firekit/auth-guard.svelte';
25
+ export { default as CustomGuard } from './components/firekit/custom-guard.svelte';
26
+ export { default as SignedIn } from './components/firekit/signed-in.svelte';
27
+ export { default as SignedOut } from './components/firekit/signed-out.svelte';
28
+ export { default as Doc } from './components/firekit/Doc.svelte';
29
+ export { default as Collection } from './components/firekit/Collection.svelte';
30
+ export { default as Node } from './components/firekit/Node.svelte';
31
+ export { default as NodeList } from './components/firekit/node-list.svelte';
32
+ export { default as StorageList } from './components/firekit/storage-list.svelte';
33
+ export { default as DownloadURL } from './components/firekit/download-url.svelte';
34
+ export { default as UploadTask } from './components/firekit/upload-task.svelte';
@@ -8,6 +8,7 @@ import { doc, setDoc, serverTimestamp } from 'firebase/firestore';
8
8
  import { firebaseService } from '../firebase.js';
9
9
  import { AuthErrorCode, FirekitAuthError } from '../types/auth.js';
10
10
  import { mapFirebaseUserToProfile, updateUserInFirestore, createGoogleProvider, createFacebookProvider, createAppleProvider, handleAuthError } from '../utils/index.js';
11
+ import { firekitPresence } from './presence.svelte.js';
11
12
  /**
12
13
  * Comprehensive Firebase Authentication service for Svelte applications.
13
14
  * Provides a complete authentication solution with automatic Firestore integration,
@@ -834,6 +835,15 @@ class FirekitAuth {
834
835
  throw new Error('Auth instance not available');
835
836
  }
836
837
  try {
838
+ // Set presence offline before signing out
839
+ try {
840
+ if (firekitPresence.initialized) {
841
+ await firekitPresence.setPresence('offline');
842
+ }
843
+ }
844
+ catch (presenceError) {
845
+ console.warn('Failed to set presence offline during sign out:', presenceError);
846
+ }
837
847
  // Clear reCAPTCHA verifiers
838
848
  this.recaptchaVerifiers.forEach((verifier) => verifier.clear());
839
849
  this.recaptchaVerifiers.clear();
@@ -0,0 +1,67 @@
1
+ import type { Component } from 'svelte';
2
+ export type Metadata = {
3
+ title: string;
4
+ description: string;
5
+ openGraph: {
6
+ title: string;
7
+ description: string;
8
+ type: 'article';
9
+ url: string;
10
+ images: Array<{
11
+ url: string;
12
+ width: number;
13
+ height: number;
14
+ alt: string;
15
+ }>;
16
+ };
17
+ twitter: {
18
+ card: 'summary_large_image';
19
+ title: string;
20
+ description: string;
21
+ images: string[];
22
+ creator: string;
23
+ };
24
+ };
25
+ export type DocMeta = {
26
+ title: string;
27
+ description: string;
28
+ slug: string;
29
+ component: boolean;
30
+ source: string;
31
+ bits?: string;
32
+ icon?: string;
33
+ label?: string;
34
+ disabled?: boolean;
35
+ external?: boolean;
36
+ order?: number;
37
+ lastModified?: string;
38
+ tags?: string[];
39
+ };
40
+ export type DocFile = {
41
+ default: Component;
42
+ metadata: DocMeta;
43
+ };
44
+ export type DocResolver = () => Promise<DocFile>;
45
+ export type TableOfContentsItem = {
46
+ title: string;
47
+ url: string;
48
+ items?: TableOfContentsItem[];
49
+ level?: number;
50
+ };
51
+ export type TableOfContents = {
52
+ items: TableOfContentsItem[];
53
+ };
54
+ export type DocsApiResponse = {
55
+ success: boolean;
56
+ data?: DocMeta[];
57
+ error?: string;
58
+ meta?: {
59
+ total: number;
60
+ lastModified: string;
61
+ };
62
+ };
63
+ export type DocMetaValidation = {
64
+ isValid: boolean;
65
+ errors: string[];
66
+ warnings: string[];
67
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ export type WithoutChild<T> = T extends {
4
+ child?: any;
5
+ } ? Omit<T, 'child'> : T;
6
+ export type WithoutChildren<T> = T extends {
7
+ children?: any;
8
+ } ? Omit<T, 'children'> : T;
9
+ export type WithoutChildrenOrChild<T> = WithoutChildren<WithoutChild<T>>;
10
+ export type WithElementRef<T, U extends HTMLElement = HTMLElement> = T & {
11
+ ref?: U | null;
12
+ };
13
+ export declare function slugFromPath(path: string): string;
14
+ export declare function getDoc(slug: string): Promise<import("./types/docs.js").DocFile>;
15
+ export declare function slugFromPathname(pathname: string): string;
package/dist/utils.js ADDED
@@ -0,0 +1,44 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { error } from '@sveltejs/kit';
4
+ export function cn(...inputs) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+ export function slugFromPath(path) {
8
+ return path.replace('/src/content/', '').replace('.md', '');
9
+ }
10
+ export async function getDoc(slug) {
11
+ const modules = import.meta.glob(`/src/content/**/*.md`);
12
+ const match = findMatch(slug, modules);
13
+ const doc = await match?.resolver?.();
14
+ if (!doc || !doc.metadata) {
15
+ error(404);
16
+ }
17
+ return doc;
18
+ }
19
+ function findMatch(slug, modules) {
20
+ let match = {};
21
+ for (const [path, resolver] of Object.entries(modules)) {
22
+ if (slugFromPath(path) === slug) {
23
+ match = { path, resolver: resolver };
24
+ break;
25
+ }
26
+ }
27
+ if (!match.path) {
28
+ match = getIndexDocIfExists(slug, modules);
29
+ }
30
+ return match;
31
+ }
32
+ export function slugFromPathname(pathname) {
33
+ return pathname.split('/').pop() ?? '';
34
+ }
35
+ function getIndexDocIfExists(slug, modules) {
36
+ let match = {};
37
+ for (const [path, resolver] of Object.entries(modules)) {
38
+ if (path.includes(`/${slug}/index.md`)) {
39
+ match = { path, resolver: resolver };
40
+ break;
41
+ }
42
+ }
43
+ return match;
44
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-firekit",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/code-gio/svelte-firekit.git"
18
+ "url": "git+https://github.com/code-gio/svelte-firekit.git"
19
19
  },
20
20
  "description": "A Svelte library for Firebase integration",
21
21
  "keywords": [
@@ -44,22 +44,50 @@
44
44
  },
45
45
  "peerDependencies": {
46
46
  "firebase": "^11.9.1",
47
- "svelte": "^5.0.0"
47
+ "svelte": "^5.0.0",
48
+ "@sveltejs/kit": "^2.16.0"
48
49
  },
49
50
  "devDependencies": {
51
+ "@dnd-kit-svelte/core": "^0.0.8",
52
+ "@dnd-kit-svelte/modifiers": "^0.0.8",
53
+ "@dnd-kit-svelte/sortable": "^0.0.8",
54
+ "@dnd-kit-svelte/utilities": "^0.0.8",
55
+ "@internationalized/date": "^3.8.2",
56
+ "@lucide/svelte": "^0.515.0",
50
57
  "@sveltejs/adapter-auto": "^6.0.0",
51
- "@sveltejs/kit": "^2.16.0",
52
58
  "@sveltejs/package": "^2.0.0",
53
59
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
60
+ "@tabler/icons-svelte": "^3.34.0",
61
+ "@tailwindcss/typography": "^0.5.15",
62
+ "@tailwindcss/vite": "^4.0.0",
63
+ "@tanstack/table-core": "^8.21.3",
64
+ "@types/d3-scale": "^4.0.9",
65
+ "@types/d3-shape": "^3.1.7",
66
+ "bits-ui": "^2.8.10",
67
+ "clsx": "^2.1.1",
68
+ "d3-scale": "^4.0.2",
69
+ "d3-shape": "^3.2.0",
70
+ "layerchart": "^2.0.0-next.27",
71
+ "mdsvex": "^0.12.6",
54
72
  "prettier": "^3.4.2",
55
73
  "prettier-plugin-svelte": "^3.3.3",
74
+ "prettier-plugin-tailwindcss": "^0.6.11",
56
75
  "publint": "^0.3.2",
76
+ "shiki": "^3.7.0",
57
77
  "svelte": "^5.0.0",
58
78
  "svelte-check": "^4.0.0",
79
+ "svelte-sonner": "^1.0.5",
80
+ "tailwind-merge": "^3.3.1",
81
+ "tailwind-variants": "^1.0.0",
82
+ "tailwindcss": "^4.0.0",
83
+ "tw-animate-css": "^1.3.4",
59
84
  "typescript": "^5.0.0",
60
- "vite": "^6.2.6"
85
+ "vaul-svelte": "^1.0.0-next.7",
86
+ "vite": "^6.2.6",
87
+ "zod": "^3.25.67"
61
88
  },
62
89
  "dependencies": {
63
- "firebase": "^11.9.1"
90
+ "firebase": "^11.9.1",
91
+ "mode-watcher": "^1.1.0"
64
92
  }
65
93
  }