svelte-firekit 0.0.15 → 0.0.16

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 (333) hide show
  1. package/README.md +34 -87
  2. package/dist/{firebase/auth → auth}/auth.js +1 -2
  3. package/dist/auth/user.svelte.d.ts +94 -0
  4. package/dist/auth/user.svelte.js +134 -0
  5. package/dist/config.d.ts +2 -2
  6. package/dist/config.js +44 -28
  7. package/dist/{firebase/firebase.d.ts → firebase.d.ts} +1 -2
  8. package/dist/{firebase/firebase.js → firebase.js} +1 -4
  9. package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.js +1 -1
  10. package/dist/{firebase/firestore → firestore}/collection.svelte.js +1 -1
  11. package/dist/{firebase/firestore → firestore}/doc.svelte.js +1 -1
  12. package/dist/{firebase/firestore → firestore}/document-mutations.svelte.js +11 -11
  13. package/dist/index.d.ts +10 -23
  14. package/dist/index.js +10 -28
  15. package/package.json +10 -26
  16. package/dist/auth/auth.svelte +0 -65
  17. package/dist/auth/auth.svelte.d.ts +0 -2
  18. package/dist/auth/require-auth.svelte +0 -52
  19. package/dist/auth/require-auth.svelte.d.ts +0 -11
  20. package/dist/auth/require-no-auth.svelte +0 -42
  21. package/dist/auth/require-no-auth.svelte.d.ts +0 -6
  22. package/dist/auth/reset-password.svelte +0 -33
  23. package/dist/auth/reset-password.svelte.d.ts +0 -8
  24. package/dist/auth/sign-in.svelte +0 -61
  25. package/dist/auth/sign-in.svelte.d.ts +0 -15
  26. package/dist/auth/sign-up.svelte +0 -72
  27. package/dist/auth/sign-up.svelte.d.ts +0 -18
  28. package/dist/components/app/nav/app-sidebar.svelte +0 -35
  29. package/dist/components/app/nav/app-sidebar.svelte.d.ts +0 -8
  30. package/dist/components/app/nav/breadcrumb.svelte +0 -42
  31. package/dist/components/app/nav/breadcrumb.svelte.d.ts +0 -19
  32. package/dist/components/auth/google-sign-in.svelte +0 -62
  33. package/dist/components/auth/google-sign-in.svelte.d.ts +0 -4
  34. package/dist/components/auth/reset-password-form.svelte +0 -59
  35. package/dist/components/auth/reset-password-form.svelte.d.ts +0 -4
  36. package/dist/components/auth/sign-in-form.svelte +0 -92
  37. package/dist/components/auth/sign-in-form.svelte.d.ts +0 -9
  38. package/dist/components/auth/sign-up-form.svelte +0 -138
  39. package/dist/components/auth/sign-up-form.svelte.d.ts +0 -12
  40. package/dist/components/auth/user-button/profile-section/avatar-user.svelte +0 -107
  41. package/dist/components/auth/user-button/profile-section/avatar-user.svelte.d.ts +0 -2
  42. package/dist/components/auth/user-button/profile-section/connect-user.svelte +0 -45
  43. package/dist/components/auth/user-button/profile-section/connect-user.svelte.d.ts +0 -18
  44. package/dist/components/auth/user-button/profile-section/email-user.svelte +0 -81
  45. package/dist/components/auth/user-button/profile-section/email-user.svelte.d.ts +0 -2
  46. package/dist/components/auth/user-button/profile-section/phone-user.svelte +0 -122
  47. package/dist/components/auth/user-button/profile-section/phone-user.svelte.d.ts +0 -2
  48. package/dist/components/auth/user-button/profile-section/profile-section.svelte +0 -17
  49. package/dist/components/auth/user-button/profile-section/profile-section.svelte.d.ts +0 -18
  50. package/dist/components/auth/user-button/settings-dialog.svelte +0 -88
  51. package/dist/components/auth/user-button/settings-dialog.svelte.d.ts +0 -2
  52. package/dist/components/auth/user-button/type-account.svelte +0 -35
  53. package/dist/components/auth/user-button/type-account.svelte.d.ts +0 -4
  54. package/dist/components/auth/user-button/user-button.svelte +0 -131
  55. package/dist/components/auth/user-button/user-button.svelte.d.ts +0 -6
  56. package/dist/components/firestore/collection.svelte +0 -45
  57. package/dist/components/firestore/collection.svelte.d.ts +0 -25
  58. package/dist/components/firestore/doc.svelte +0 -39
  59. package/dist/components/firestore/doc.svelte.d.ts +0 -25
  60. package/dist/components/nav/app-sidebar.svelte +0 -46
  61. package/dist/components/nav/app-sidebar.svelte.d.ts +0 -8
  62. package/dist/components/nav/breadcrumb.svelte +0 -42
  63. package/dist/components/nav/breadcrumb.svelte.d.ts +0 -19
  64. package/dist/components/nav/dark-mode-toggle.svelte +0 -16
  65. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
  66. package/dist/components/nav/nav-main.svelte +0 -70
  67. package/dist/components/nav/nav-main.svelte.d.ts +0 -18
  68. package/dist/components/nav/nav.d.ts +0 -11
  69. package/dist/components/nav/nav.js +0 -157
  70. package/dist/components/nav/search-form.svelte +0 -21
  71. package/dist/components/nav/search-form.svelte.d.ts +0 -4
  72. package/dist/components/nav/version-switcher.svelte +0 -48
  73. package/dist/components/nav/version-switcher.svelte.d.ts +0 -5
  74. package/dist/components/public/footer-main.svelte +0 -0
  75. package/dist/components/public/footer-main.svelte.d.ts +0 -26
  76. package/dist/components/public/nav-main.svelte +0 -136
  77. package/dist/components/public/nav-main.svelte.d.ts +0 -18
  78. package/dist/components/storage/upload.svelte +0 -134
  79. package/dist/components/storage/upload.svelte.d.ts +0 -11
  80. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +0 -13
  81. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +0 -3
  82. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +0 -17
  83. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +0 -3
  84. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +0 -23
  85. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +0 -2
  86. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +0 -16
  87. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +0 -3
  88. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +0 -20
  89. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +0 -4
  90. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +0 -20
  91. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +0 -4
  92. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +0 -19
  93. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +0 -3
  94. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +0 -18
  95. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +0 -3
  96. package/dist/components/ui/alert-dialog/index.js +0 -15
  97. package/dist/components/ui/avatar/avatar-fallback.svelte +0 -16
  98. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -3
  99. package/dist/components/ui/avatar/avatar-image.svelte +0 -20
  100. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -3
  101. package/dist/components/ui/avatar/avatar.svelte +0 -18
  102. package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -3
  103. package/dist/components/ui/avatar/index.d.ts +0 -4
  104. package/dist/components/ui/avatar/index.js +0 -6
  105. package/dist/components/ui/badge/badge.svelte +0 -49
  106. package/dist/components/ui/badge/badge.svelte.d.ts +0 -59
  107. package/dist/components/ui/badge/index.d.ts +0 -2
  108. package/dist/components/ui/badge/index.js +0 -2
  109. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
  110. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -4
  111. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -16
  112. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -4
  113. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
  114. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -10
  115. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
  116. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -4
  117. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
  118. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -4
  119. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
  120. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -4
  121. package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -15
  122. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -4
  123. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  124. package/dist/components/ui/breadcrumb/index.js +0 -10
  125. package/dist/components/ui/button/button.svelte +0 -75
  126. package/dist/components/ui/button/button.svelte.d.ts +0 -117
  127. package/dist/components/ui/button/index.d.ts +0 -2
  128. package/dist/components/ui/button/index.js +0 -4
  129. package/dist/components/ui/card/card-content.svelte +0 -16
  130. package/dist/components/ui/card/card-content.svelte.d.ts +0 -4
  131. package/dist/components/ui/card/card-description.svelte +0 -16
  132. package/dist/components/ui/card/card-description.svelte.d.ts +0 -4
  133. package/dist/components/ui/card/card-footer.svelte +0 -16
  134. package/dist/components/ui/card/card-footer.svelte.d.ts +0 -4
  135. package/dist/components/ui/card/card-header.svelte +0 -16
  136. package/dist/components/ui/card/card-header.svelte.d.ts +0 -4
  137. package/dist/components/ui/card/card-title.svelte +0 -25
  138. package/dist/components/ui/card/card-title.svelte.d.ts +0 -7
  139. package/dist/components/ui/card/card.svelte +0 -20
  140. package/dist/components/ui/card/card.svelte.d.ts +0 -4
  141. package/dist/components/ui/card/index.d.ts +0 -7
  142. package/dist/components/ui/card/index.js +0 -9
  143. package/dist/components/ui/checkbox/checkbox.svelte +0 -33
  144. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -3
  145. package/dist/components/ui/checkbox/index.d.ts +0 -2
  146. package/dist/components/ui/checkbox/index.js +0 -4
  147. package/dist/components/ui/collapsible/index.d.ts +0 -5
  148. package/dist/components/ui/collapsible/index.js +0 -7
  149. package/dist/components/ui/dialog/dialog-content.svelte +0 -36
  150. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -6
  151. package/dist/components/ui/dialog/dialog-description.svelte +0 -16
  152. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -3
  153. package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
  154. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -4
  155. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  156. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -4
  157. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -19
  158. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -3
  159. package/dist/components/ui/dialog/dialog-title.svelte +0 -16
  160. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -3
  161. package/dist/components/ui/dialog/index.d.ts +0 -12
  162. package/dist/components/ui/dialog/index.js +0 -14
  163. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -40
  164. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -6
  165. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -22
  166. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -3
  167. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -19
  168. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -11
  169. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -23
  170. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -18
  171. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -23
  172. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -7
  173. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -30
  174. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -3
  175. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -16
  176. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -3
  177. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
  178. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -4
  179. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -19
  180. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -3
  181. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -28
  182. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -5
  183. package/dist/components/ui/dropdown-menu/index.js +0 -17
  184. package/dist/components/ui/form/form-button.svelte +0 -7
  185. package/dist/components/ui/form/form-button.svelte.d.ts +0 -3
  186. package/dist/components/ui/form/form-description.svelte +0 -17
  187. package/dist/components/ui/form/form-description.svelte.d.ts +0 -3
  188. package/dist/components/ui/form/form-element-field.svelte +0 -30
  189. package/dist/components/ui/form/form-element-field.svelte.d.ts +0 -22
  190. package/dist/components/ui/form/form-field-errors.svelte +0 -30
  191. package/dist/components/ui/form/form-field-errors.svelte.d.ts +0 -5
  192. package/dist/components/ui/form/form-field.svelte +0 -30
  193. package/dist/components/ui/form/form-field.svelte.d.ts +0 -21
  194. package/dist/components/ui/form/form-fieldset.svelte +0 -21
  195. package/dist/components/ui/form/form-fieldset.svelte.d.ts +0 -19
  196. package/dist/components/ui/form/form-label.svelte +0 -21
  197. package/dist/components/ui/form/form-label.svelte.d.ts +0 -3
  198. package/dist/components/ui/form/form-legend.svelte +0 -17
  199. package/dist/components/ui/form/form-legend.svelte.d.ts +0 -3
  200. package/dist/components/ui/form/index.d.ts +0 -11
  201. package/dist/components/ui/form/index.js +0 -13
  202. package/dist/components/ui/input/index.d.ts +0 -2
  203. package/dist/components/ui/input/index.js +0 -4
  204. package/dist/components/ui/input/input.svelte +0 -22
  205. package/dist/components/ui/input/input.svelte.d.ts +0 -4
  206. package/dist/components/ui/label/index.d.ts +0 -2
  207. package/dist/components/ui/label/index.js +0 -4
  208. package/dist/components/ui/label/label.svelte +0 -19
  209. package/dist/components/ui/label/label.svelte.d.ts +0 -3
  210. package/dist/components/ui/select/index.js +0 -13
  211. package/dist/components/ui/select/select-content.svelte +0 -38
  212. package/dist/components/ui/select/select-content.svelte.d.ts +0 -5
  213. package/dist/components/ui/select/select-group-heading.svelte +0 -16
  214. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -3
  215. package/dist/components/ui/select/select-item.svelte +0 -37
  216. package/dist/components/ui/select/select-item.svelte.d.ts +0 -3
  217. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -19
  218. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -3
  219. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -19
  220. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -3
  221. package/dist/components/ui/select/select-separator.svelte +0 -13
  222. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -3
  223. package/dist/components/ui/select/select-trigger.svelte +0 -24
  224. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -3
  225. package/dist/components/ui/separator/index.d.ts +0 -2
  226. package/dist/components/ui/separator/index.js +0 -4
  227. package/dist/components/ui/separator/separator.svelte +0 -22
  228. package/dist/components/ui/separator/separator.svelte.d.ts +0 -3
  229. package/dist/components/ui/sheet/index.js +0 -14
  230. package/dist/components/ui/sheet/sheet-content.svelte +0 -52
  231. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -59
  232. package/dist/components/ui/sheet/sheet-description.svelte +0 -16
  233. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -3
  234. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  235. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -4
  236. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  237. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -4
  238. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -19
  239. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -3
  240. package/dist/components/ui/sheet/sheet-title.svelte +0 -16
  241. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -3
  242. package/dist/components/ui/sidebar/constants.d.ts +0 -6
  243. package/dist/components/ui/sidebar/constants.js +0 -6
  244. package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
  245. package/dist/components/ui/sidebar/context.svelte.js +0 -54
  246. package/dist/components/ui/sidebar/index.d.ts +0 -25
  247. package/dist/components/ui/sidebar/index.js +0 -27
  248. package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
  249. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -4
  250. package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
  251. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -4
  252. package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
  253. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -10
  254. package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
  255. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -4
  256. package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
  257. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -10
  258. package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
  259. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -4
  260. package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
  261. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -4
  262. package/dist/components/ui/sidebar/sidebar-input.svelte +0 -23
  263. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -4
  264. package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
  265. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -4
  266. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
  267. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -11
  268. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
  269. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -4
  270. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -97
  271. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -91
  272. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
  273. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -4
  274. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
  275. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -7
  276. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
  277. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -12
  278. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -14
  279. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -4
  280. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
  281. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -4
  282. package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
  283. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -4
  284. package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -59
  285. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
  286. package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
  287. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -4
  288. package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -18
  289. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -12
  290. package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -34
  291. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -9
  292. package/dist/components/ui/sidebar/sidebar.svelte +0 -98
  293. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -9
  294. package/dist/components/ui/skeleton/index.d.ts +0 -2
  295. package/dist/components/ui/skeleton/index.js +0 -4
  296. package/dist/components/ui/skeleton/skeleton.svelte +0 -17
  297. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -4
  298. package/dist/components/ui/sonner/index.d.ts +0 -1
  299. package/dist/components/ui/sonner/index.js +0 -1
  300. package/dist/components/ui/sonner/sonner.svelte +0 -20
  301. package/dist/components/ui/sonner/sonner.svelte.d.ts +0 -3
  302. package/dist/components/ui/tooltip/index.js +0 -8
  303. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -21
  304. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -3
  305. package/dist/firebase/auth/auth-manager.svelte.d.ts +0 -85
  306. package/dist/firebase/auth/auth-manager.svelte.js +0 -386
  307. package/dist/firebase/config.d.ts +0 -2
  308. package/dist/firebase/config.js +0 -44
  309. package/dist/hooks/is-mobile.svelte.d.ts +0 -5
  310. package/dist/hooks/is-mobile.svelte.js +0 -23
  311. package/dist/schemas/reset-password.d.ts +0 -4
  312. package/dist/schemas/reset-password.js +0 -4
  313. package/dist/schemas/sign-in.d.ts +0 -5
  314. package/dist/schemas/sign-in.js +0 -5
  315. package/dist/schemas/sign-up.d.ts +0 -8
  316. package/dist/schemas/sign-up.js +0 -8
  317. package/dist/types/docs.d.ts +0 -50
  318. package/dist/types/docs.js +0 -1
  319. package/dist/types/nav.d.ts +0 -13
  320. package/dist/types/nav.js +0 -1
  321. package/dist/utils.d.ts +0 -29
  322. package/dist/utils.js +0 -92
  323. /package/dist/{firebase/auth → auth}/auth.d.ts +0 -0
  324. /package/dist/{firebase/firestore → firestore}/awaitable-doc.svelte.d.ts +0 -0
  325. /package/dist/{firebase/firestore → firestore}/collection.svelte.d.ts +0 -0
  326. /package/dist/{firebase/firestore → firestore}/doc.svelte.d.ts +0 -0
  327. /package/dist/{firebase/firestore → firestore}/document-mutations.svelte.d.ts +0 -0
  328. /package/dist/{firebase/storage → storage}/download-url.svelte.d.ts +0 -0
  329. /package/dist/{firebase/storage → storage}/download-url.svelte.js +0 -0
  330. /package/dist/{firebase/storage → storage}/storage-list.svelte.d.ts +0 -0
  331. /package/dist/{firebase/storage → storage}/storage-list.svelte.js +0 -0
  332. /package/dist/{firebase/storage → storage}/upload-task.svelte.d.ts +0 -0
  333. /package/dist/{firebase/storage → storage}/upload-task.svelte.js +0 -0
package/dist/index.js CHANGED
@@ -1,32 +1,14 @@
1
1
  // Firebase config
2
- export { firebaseConfig } from './firebase/config.js';
3
- export { firebaseService } from './firebase/firebase.js';
2
+ export { firebaseConfig } from './config.js';
3
+ export { firebaseService } from './firebase.js';
4
4
  // auth services
5
- // export { firekitUser } from './firebase/auth/user.svelte.js'
6
- // export { firekitAuthGuard } from './firebase/auth/auth-guard.svelte.js'
7
- export { firekitAuthManager } from './firebase/auth/auth-manager.svelte.js';
5
+ export { firekitUser } from './auth/user.svelte.js';
8
6
  // firestore services
9
- export { firekitAwaitableDoc } from './firebase/firestore/awaitable-doc.svelte.js';
10
- export { firekitDocMutations } from './firebase/firestore/document-mutations.svelte';
11
- export { firekitCollection } from './firebase/firestore/collection.svelte.js';
12
- export { firekitDoc } from './firebase/firestore/doc.svelte.js';
7
+ export { firekitAwaitableDoc } from './firestore/awaitable-doc.svelte.js';
8
+ export { firekitDocMutations } from './firestore/document-mutations.svelte';
9
+ export { firekitCollection } from './firestore/collection.svelte.js';
10
+ export { firekitDoc } from './firestore/doc.svelte.js';
13
11
  // Storage services
14
- export { firekitDownloadUrl } from './firebase/storage/download-url.svelte.js';
15
- export { firekitStorageList } from './firebase/storage/storage-list.svelte.js';
16
- export { firekitUploadTask } from './firebase/storage/upload-task.svelte.js';
17
- // auth components
18
- export { default as SignInPage } from './auth/sign-in.svelte';
19
- export { default as SignUpPage } from './auth/sign-up.svelte';
20
- export { default as ResetPassWordPage } from './auth/reset-password.svelte';
21
- export { default as AuthPage } from './auth/auth.svelte';
22
- export { default as RequireAuth } from './auth/require-auth.svelte';
23
- export { default as RequireNoAuth } from './auth/require-no-auth.svelte';
24
- export { default as ResetPassWordForm } from './components/auth/reset-password-form.svelte';
25
- export { default as SignInForm } from './components/auth/sign-in-form.svelte';
26
- export { default as SignUpForm } from './components/auth/sign-up-form.svelte';
27
- export { default as UserButton } from './components/auth/user-button/user-button.svelte';
28
- // firestore components
29
- export { default as Collection } from './components/firestore/collection.svelte';
30
- export { default as Doc } from './components/firestore/doc.svelte';
31
- // storage
32
- export { default as Upload } from './components/storage/upload.svelte';
12
+ export { firekitDownloadUrl } from './storage/download-url.svelte.js';
13
+ export { firekitStorageList } from './storage/storage-list.svelte.js';
14
+ export { firekitUploadTask } from './storage/upload-task.svelte.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-firekit",
3
- "version": "0.0.15",
3
+ "version": "0.0.16",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
@@ -9,7 +9,9 @@
9
9
  "package": "svelte-kit sync && svelte-package && publint",
10
10
  "prepublishOnly": "npm run package",
11
11
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
12
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
12
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
13
+ "format": "prettier --write .",
14
+ "lint": "prettier --check ."
13
15
  },
14
16
  "repository": {
15
17
  "type": "git",
@@ -41,41 +43,23 @@
41
43
  }
42
44
  },
43
45
  "peerDependencies": {
44
- "@sveltejs/kit": "^2.0.0",
45
46
  "firebase": "^11.0.1",
46
47
  "svelte": "^5.0.0"
47
48
  },
48
49
  "devDependencies": {
49
50
  "@sveltejs/adapter-auto": "^3.0.0",
50
- "@sveltejs/adapter-cloudflare": "^4.7.4",
51
- "@sveltejs/kit": "^2.0.0",
51
+ "@sveltejs/kit": "^2.9.0",
52
52
  "@sveltejs/package": "^2.0.0",
53
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
54
- "@tailwindcss/typography": "^0.5.15",
55
- "autoprefixer": "^10.4.20",
56
- "bits-ui": "^1.0.0-next.63",
57
- "clsx": "^2.1.1",
58
- "formsnap": "^2.0.0-next.1",
59
- "lucide-svelte": "^0.456.0",
60
- "mode-watcher": "^0.4.1",
53
+ "@sveltejs/vite-plugin-svelte": "^5.0.0",
54
+ "prettier": "^3.3.2",
55
+ "prettier-plugin-svelte": "^3.2.6",
61
56
  "publint": "^0.2.0",
62
57
  "svelte": "^5.0.0",
63
58
  "svelte-check": "^4.0.0",
64
- "svelte-radix": "^2.0.1",
65
- "svelte-sonner": "^0.3.28",
66
- "sveltekit-superforms": "^2.20.0",
67
- "tailwind-merge": "^2.5.4",
68
- "tailwind-variants": "^0.2.1",
69
- "tailwindcss": "^3.4.9",
70
- "tailwindcss-animate": "^1.0.7",
71
59
  "typescript": "^5.0.0",
72
- "vite": "^5.0.11"
60
+ "vite": "^6.0.0"
73
61
  },
74
62
  "dependencies": {
75
- "@types/intl-tel-input": "^18.1.4",
76
- "firebase": "^11.0.1",
77
- "intl-tel-input": "^24.7.0",
78
- "lucide": "^0.454.0",
79
- "mdsvex": "^0.12.3"
63
+ "firebase": "^11.0.2"
80
64
  }
81
65
  }
@@ -1,65 +0,0 @@
1
- <script lang="ts">
2
- import SignInWithGoogle from "../components/auth/google-sign-in.svelte";
3
- import ResetPasswordForm from "../components/auth/reset-password-form.svelte";
4
- import SignInForm from "../components/auth/sign-in-form.svelte";
5
- import SignUpForm from "../components/auth/sign-up-form.svelte";
6
- import Button from "../components/ui/button/button.svelte";
7
- import * as Card from "../components/ui/card/index.js";
8
- let currentForm = $state("sign-in");
9
- </script>
10
-
11
- <Card.Root class="sm:w-[448px]">
12
- <Card.Header>
13
- <Card.Title class="text-center text-2xl">
14
- {#if currentForm === "sign-in"}
15
- Sign in
16
- {:else if currentForm === "sign-up"}
17
- Sign up
18
- {:else if currentForm === "forgot-password"}
19
- Forgot password
20
- {/if}
21
- </Card.Title>
22
- <Card.Description class="text-center">
23
- {#if currentForm === "sign-in"}
24
- Don't have an account yet?
25
- <Button
26
- variant="link"
27
- onclick={() => (currentForm = "sign-up")}
28
- class="p-0">Sign up here</Button
29
- >
30
- {:else if currentForm === "sign-up"}
31
- Already have an account?
32
- <Button
33
- variant="link"
34
- onclick={() => (currentForm = "sign-in")}
35
- class="p-0">Sign in here</Button
36
- >
37
- {:else if currentForm === "forgot-password"}
38
- Remember your password?
39
- <Button
40
- variant="link"
41
- onclick={() => (currentForm = "sign-in")}
42
- class="p-0">Sign in here</Button
43
- >
44
- {/if}
45
- </Card.Description>
46
- </Card.Header>
47
- <Card.Content class="space-y-5">
48
- {#if currentForm !== "forgot-password"}
49
- <SignInWithGoogle label="Sign in" />
50
-
51
- <div
52
- class="before:muted-foreground after:muted-foreground flex items-center text-xs uppercase text-muted-foreground before:me-6 before:flex-1 before:border-t after:ms-6 after:flex-1 after:border-t dark:before:border-muted-foreground dark:after:border-muted-foreground"
53
- >
54
- Or
55
- </div>
56
- {/if}
57
- {#if currentForm === "sign-in"}
58
- <SignInForm />
59
- {:else if currentForm === "sign-up"}
60
- <SignUpForm />
61
- {:else if currentForm === "forgot-password"}
62
- <ResetPasswordForm />
63
- {/if}
64
- </Card.Content>
65
- </Card.Root>
@@ -1,2 +0,0 @@
1
- declare const Auth: import("svelte").Component<Record<string, never>, {}, "">;
2
- export default Auth;
@@ -1,52 +0,0 @@
1
- <script lang="ts">
2
- import type { DocumentData } from "firebase/firestore";
3
- import { firekitAuthManager } from "../firebase/auth/auth-manager.svelte.js";
4
-
5
- interface Props {
6
- redirectTo?: string;
7
- redirectParams?: Record<string, string>;
8
- requiredClaims?: string[];
9
- requiredData?: (data: DocumentData | null) => boolean;
10
- allowIf?: (manager: typeof firekitAuthManager) => boolean;
11
- children: () => any;
12
- }
13
-
14
- let {
15
- redirectTo = "/login",
16
- redirectParams,
17
- requiredClaims = [],
18
- requiredData,
19
- allowIf,
20
- children,
21
- }: Props = $props();
22
-
23
- let isAuthorized = $state(false);
24
- let isValidating = $state(true);
25
-
26
- async function validateAccess() {
27
- isValidating = true;
28
- isAuthorized = await firekitAuthManager.validateAuth({
29
- authRequired: true,
30
- redirectTo,
31
- redirectParams,
32
- requiredClaims,
33
- requiredData,
34
- allowIf,
35
- });
36
- isValidating = false;
37
- }
38
-
39
- $effect(() => {
40
- if (firekitAuthManager.initialized) {
41
- validateAccess();
42
- }
43
- });
44
- </script>
45
-
46
- {#if isValidating || firekitAuthManager.loading}
47
- <div class="flex items-center justify-center p-4">
48
- <span class="text-gray-500">Loading...</span>
49
- </div>
50
- {:else if isAuthorized}
51
- {@render children()}
52
- {/if}
@@ -1,11 +0,0 @@
1
- import type { DocumentData } from "firebase/firestore";
2
- import { firekitAuthManager } from "../firebase/auth/auth-manager.svelte.js";
3
- declare const RequireAuth: import("svelte").Component<{
4
- redirectTo?: string;
5
- redirectParams?: Record<string, string>;
6
- requiredClaims?: string[];
7
- requiredData?: (data: DocumentData | null) => boolean;
8
- allowIf?: (manager: typeof firekitAuthManager) => boolean;
9
- children: () => any;
10
- }, {}, "">;
11
- export default RequireAuth;
@@ -1,42 +0,0 @@
1
- <script lang="ts">
2
- import { firekitAuthManager } from "../firebase/auth/auth-manager.svelte.js";
3
-
4
- interface Props {
5
- redirectTo?: string;
6
- redirectParams?: Record<string, string>;
7
- children: () => any;
8
- }
9
-
10
- let {
11
- redirectTo = "/dashboard",
12
- redirectParams,
13
- children,
14
- }: Props = $props();
15
-
16
- let isAuthorized = $state(false);
17
- let isValidating = $state(true);
18
-
19
- async function validateAccess() {
20
- isValidating = true;
21
- isAuthorized = await firekitAuthManager.validateAuth({
22
- authRequired: false,
23
- redirectTo,
24
- redirectParams,
25
- });
26
- isValidating = false;
27
- }
28
-
29
- $effect(() => {
30
- if (firekitAuthManager.initialized) {
31
- validateAccess();
32
- }
33
- });
34
- </script>
35
-
36
- {#if isValidating || firekitAuthManager.loading}
37
- <div class="flex items-center justify-center p-4">
38
- <span class="text-gray-500">Loading...</span>
39
- </div>
40
- {:else if isAuthorized}
41
- {@render children()}
42
- {/if}
@@ -1,6 +0,0 @@
1
- declare const RequireNoAuth: import("svelte").Component<{
2
- redirectTo?: string;
3
- redirectParams?: Record<string, string>;
4
- children: () => any;
5
- }, {}, "">;
6
- export default RequireNoAuth;
@@ -1,33 +0,0 @@
1
- <script lang="ts">
2
- import ResetPasswordForm from "../components/auth/reset-password-form.svelte";
3
- import Button from "../components/ui/button/button.svelte";
4
- import * as Card from "../components/ui/card/index.js";
5
-
6
-
7
- let {
8
- title="Forgot password?",
9
- subtitle="Remember your password?",
10
- labelLink="Sign in here",
11
- link="/sign-in",
12
- redirect="/sign-in"
13
- }: {
14
- title?: string;
15
- subtitle?: string;
16
- labelLink?: string;
17
- link?: string;
18
- redirect?: string;
19
- } = $props();
20
- </script>
21
-
22
- <Card.Root class="sm:w-[448px]">
23
- <Card.Header>
24
- <Card.Title class="text-center text-2xl">{title}</Card.Title>
25
- <Card.Description class="text-center">
26
- {subtitle}
27
- <Button variant="link" href={link} class="p-0">{labelLink}</Button>
28
- </Card.Description>
29
- </Card.Header>
30
- <Card.Content>
31
- <ResetPasswordForm {redirect} />
32
- </Card.Content>
33
- </Card.Root>
@@ -1,8 +0,0 @@
1
- declare const ResetPassword: import("svelte").Component<{
2
- title?: string;
3
- subtitle?: string;
4
- labelLink?: string;
5
- link?: string;
6
- redirect?: string;
7
- }, {}, "">;
8
- export default ResetPassword;
@@ -1,61 +0,0 @@
1
- <script lang="ts">
2
- import SignInWithGoogle from "../components/auth/google-sign-in.svelte";
3
- import SignInForm from "../components/auth/sign-in-form.svelte";
4
- import Button from "../components/ui/button/button.svelte";
5
- import * as Card from "../components/ui/card/index.js";
6
- let {
7
- title = "Sign in",
8
- subtitle = "Don't have an account yet?",
9
- textLink = "Sign up here",
10
- link = "/sign-up",
11
- redirectTo = "/dashboard",
12
- labelBtnGoogle = "Sign in with",
13
- labelEmail = "Email",
14
- labelPassword = "Password",
15
- labellLinkEmailForm = "I forgot my password",
16
- linkForgetPassword = "/reset-password",
17
- labelBtnFormEmail = "Sign",
18
- labelDivider = "Or",
19
- }: {
20
- title?: string;
21
- subtitle?: string;
22
- textLink?: string;
23
- link?: string;
24
- redirectTo?: string;
25
- labelBtnGoogle?: string;
26
- labelEmail?: string;
27
- labelPassword?: string;
28
- labellLinkEmailForm?: string;
29
- linkForgetPassword?: string;
30
- labelBtnFormEmail?: string;
31
- labelDivider?: string;
32
- } = $props();
33
- </script>
34
-
35
- <Card.Root class="sm:w-[448px]">
36
- <Card.Header>
37
- <Card.Title class="text-center text-2xl">{title}</Card.Title>
38
- <Card.Description class="text-center">
39
- {subtitle}
40
- <Button variant="link" href={link} class="p-0">{textLink}</Button>
41
- </Card.Description>
42
- </Card.Header>
43
- <Card.Content class="space-y-5">
44
- <SignInWithGoogle label={labelBtnGoogle} />
45
-
46
- <div
47
- class="before:muted-foreground after:muted-foreground flex items-center text-xs uppercase text-muted-foreground before:me-6 before:flex-1 before:border-t after:ms-6 after:flex-1 after:border-t dark:before:border-muted-foreground dark:after:border-muted-foreground"
48
- >
49
- {labelDivider}
50
- </div>
51
-
52
- <SignInForm
53
- {labelEmail}
54
- {labelPassword}
55
- {labellLinkEmailForm}
56
- {linkForgetPassword}
57
- {labelBtnFormEmail}
58
- {redirectTo}
59
- />
60
- </Card.Content>
61
- </Card.Root>
@@ -1,15 +0,0 @@
1
- declare const SignIn: import("svelte").Component<{
2
- title?: string;
3
- subtitle?: string;
4
- textLink?: string;
5
- link?: string;
6
- redirectTo?: string;
7
- labelBtnGoogle?: string;
8
- labelEmail?: string;
9
- labelPassword?: string;
10
- labellLinkEmailForm?: string;
11
- linkForgetPassword?: string;
12
- labelBtnFormEmail?: string;
13
- labelDivider?: string;
14
- }, {}, "">;
15
- export default SignIn;
@@ -1,72 +0,0 @@
1
- <script lang="ts">
2
- import SignInWithGoogle from "../components/auth/google-sign-in.svelte";
3
- import SignUpForm from "../components/auth/sign-up-form.svelte";
4
- import Button from "../components/ui/button/button.svelte";
5
- import * as Card from "../components/ui/card/index.js";
6
- // let { title = "Sign up" }: { title: string } = $props();
7
-
8
- let {
9
- title = "Sign up",
10
- subtitle = "Already have an account?",
11
- labelLink = "Sign in here",
12
- link = "/sign-in",
13
- labelBtnGoogle = "Sign up with",
14
- labelFisrtName = "First Name",
15
- labelLastName = "Last Name",
16
- labelEmail = "Email",
17
- labelPassword = "Password",
18
- linkTerms = "/terms-and-conditions",
19
- labelTerms = "I accept the",
20
- labelLinkTerms = "Terms and Conditions",
21
- labelBtnFormEmail = "Sign up",
22
- labelDivider = "Or",
23
- redirectTo = "/dashboard",
24
- }: {
25
- title?: string;
26
- subtitle?: string;
27
- labelLink?: string;
28
- link?: string;
29
- labelBtnGoogle?: string;
30
- labelFisrtName?: string;
31
- labelLastName?: string;
32
- labelEmail?: string;
33
- labelPassword?: string;
34
- linkTerms?: string;
35
- labelTerms?: string;
36
- labelLinkTerms?: string;
37
- labelBtnFormEmail?: string;
38
- labelDivider?: string;
39
- redirectTo?: string;
40
- } = $props();
41
- </script>
42
-
43
- <Card.Root class="sm:w-[448px]">
44
- <Card.Header>
45
- <Card.Title class="text-center text-2xl">{title}</Card.Title>
46
- <Card.Description class="text-center">
47
- {subtitle}
48
- <Button variant="link" href={link} class="p-0">{labelLink}</Button>
49
- </Card.Description>
50
- </Card.Header>
51
- <Card.Content class="space-y-5">
52
- <SignInWithGoogle label={labelBtnGoogle} />
53
-
54
- <div
55
- class="before:muted-foreground after:muted-foreground flex items-center text-xs uppercase text-muted-foreground before:me-6 before:flex-1 before:border-t after:ms-6 after:flex-1 after:border-t dark:before:border-muted-foreground dark:after:border-muted-foreground"
56
- >
57
- {labelDivider}
58
- </div>
59
-
60
- <SignUpForm
61
- {labelFisrtName}
62
- {labelLastName}
63
- {labelEmail}
64
- {labelPassword}
65
- {linkTerms}
66
- {labelTerms}
67
- {labelLinkTerms}
68
- {labelBtnFormEmail}
69
- {redirectTo}
70
- />
71
- </Card.Content>
72
- </Card.Root>
@@ -1,18 +0,0 @@
1
- declare const SignUp: import("svelte").Component<{
2
- title?: string;
3
- subtitle?: string;
4
- labelLink?: string;
5
- link?: string;
6
- labelBtnGoogle?: string;
7
- labelFisrtName?: string;
8
- labelLastName?: string;
9
- labelEmail?: string;
10
- labelPassword?: string;
11
- linkTerms?: string;
12
- labelTerms?: string;
13
- labelLinkTerms?: string;
14
- labelBtnFormEmail?: string;
15
- labelDivider?: string;
16
- redirectTo?: string;
17
- }, {}, "">;
18
- export default SignUp;
@@ -1,35 +0,0 @@
1
- <script lang="ts">
2
- import * as Sidebar from "../../ui/sidebar/index.js";
3
- import type { ComponentProps } from "svelte";
4
- // import SidebarOptInForm from "./sidebar-opt-in-form.svelte";
5
- import { firekitAuthManager } from "../../../firebase/auth/auth-manager.svelte.js";
6
- import UserButton from "../../auth/user-button/user-button.svelte";
7
- import NavMain from "../../nav/nav-main.svelte";
8
-
9
- let {
10
- ref = $bindable(null),
11
- collapsible = "icon",
12
- ...restProps
13
- }: ComponentProps<typeof Sidebar.Root> = $props();
14
- </script>
15
-
16
- <Sidebar.Root bind:ref {collapsible} {...restProps}>
17
- <Sidebar.Header>
18
- <section class="flex justify-center items-center gap-2 my-4">
19
- <UserButton redirectTo="/sign-in"></UserButton>
20
- <div class="flex flex-col">
21
- <small>{firekitAuthManager.data?.displayName}</small>
22
- <small>{firekitAuthManager.data?.email}</small>
23
- </div>
24
- </section>
25
- </Sidebar.Header>
26
- <Sidebar.Content>
27
- <NavMain />
28
- </Sidebar.Content>
29
- <Sidebar.Footer>
30
- <div class="p-1">
31
- <!-- <SidebarOptInForm /> -->
32
- </div>
33
- </Sidebar.Footer>
34
- <Sidebar.Rail />
35
- </Sidebar.Root>
@@ -1,8 +0,0 @@
1
- declare const AppSidebar: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
2
- ref?: HTMLElement | null | undefined;
3
- } & {
4
- side?: "left" | "right";
5
- variant?: "sidebar" | "floating" | "inset";
6
- collapsible?: "offcanvas" | "icon" | "none";
7
- }, {}, "ref">;
8
- export default AppSidebar;
@@ -1,42 +0,0 @@
1
- <script lang="ts">
2
- import { page } from "$app/stores";
3
- import { derived } from "svelte/store";
4
- import * as Breadcrumb from "../../ui/breadcrumb/index.js";
5
-
6
- // Create a derived store to get breadcrumb items from the URL
7
- const breadcrumbs = derived(page, ($page) => {
8
- const path = $page.url.pathname;
9
- const segments = path.split("/").filter(Boolean); // split path and remove empty segments
10
- const breadcrumbItems = segments.map((segment, index) => {
11
- // Construct the path up to this segment
12
- const href = "/" + segments.slice(0, index + 1).join("/");
13
- return {
14
- name: segment
15
- .replace(/-/g, " ")
16
- .replace(/\b\w/g, (char) => char.toUpperCase()),
17
- href,
18
- };
19
- });
20
- return breadcrumbItems;
21
- });
22
- </script>
23
-
24
- <Breadcrumb.Root>
25
- <Breadcrumb.List>
26
- {#each $breadcrumbs as breadcrumb, i}
27
- {#if i > 0}
28
- <Breadcrumb.Separator class="hidden md:block" />
29
- {/if}
30
- <Breadcrumb.Item>
31
- <!-- Check if it's the last breadcrumb item to render as Page instead of Link -->
32
- {#if i === $breadcrumbs.length - 1}
33
- <Breadcrumb.Page>{breadcrumb.name}</Breadcrumb.Page>
34
- {:else}
35
- <Breadcrumb.Link href={breadcrumb.href}
36
- >{breadcrumb.name}</Breadcrumb.Link
37
- >
38
- {/if}
39
- </Breadcrumb.Item>
40
- {/each}
41
- </Breadcrumb.List>
42
- </Breadcrumb.Root>
@@ -1,19 +0,0 @@
1
- import * as Breadcrumb from "../../ui/breadcrumb/index.js";
2
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
- $$bindings?: Bindings;
5
- } & Exports;
6
- (internal: unknown, props: {
7
- $$events?: Events;
8
- $$slots?: Slots;
9
- }): Exports & {
10
- $set?: any;
11
- $on?: any;
12
- };
13
- z_$$bindings?: Bindings;
14
- }
15
- declare const Breadcrumb: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
- [evt: string]: CustomEvent<any>;
17
- }, {}, {}, string>;
18
- type Breadcrumb = InstanceType<typeof Breadcrumb>;
19
- export default Breadcrumb;