includio-cms 0.0.2

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 (513) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +58 -0
  3. package/dist/admin/api/upload.d.ts +2 -0
  4. package/dist/admin/api/upload.js +12 -0
  5. package/dist/admin/client/admin/admin-after-login-layout.svelte +33 -0
  6. package/dist/admin/client/admin/admin-after-login-layout.svelte.d.ts +7 -0
  7. package/dist/admin/client/admin/admin-layout.svelte +13 -0
  8. package/dist/admin/client/admin/admin-layout.svelte.d.ts +8 -0
  9. package/dist/admin/client/admin/dashboard-page.svelte +7 -0
  10. package/dist/admin/client/admin/dashboard-page.svelte.d.ts +18 -0
  11. package/dist/admin/client/collection/collection-page.svelte +53 -0
  12. package/dist/admin/client/collection/collection-page.svelte.d.ts +3 -0
  13. package/dist/admin/client/collection/columns.d.ts +10 -0
  14. package/dist/admin/client/collection/columns.js +32 -0
  15. package/dist/admin/client/collection/data-table.svelte +56 -0
  16. package/dist/admin/client/collection/data-table.svelte.d.ts +29 -0
  17. package/dist/admin/client/collection/entry-link.svelte +12 -0
  18. package/dist/admin/client/collection/entry-link.svelte.d.ts +7 -0
  19. package/dist/admin/client/entry/entry-page.svelte +14 -0
  20. package/dist/admin/client/entry/entry-page.svelte.d.ts +3 -0
  21. package/dist/admin/client/entry/entry.svelte +168 -0
  22. package/dist/admin/client/entry/entry.svelte.d.ts +7 -0
  23. package/dist/admin/client/index.d.ts +7 -0
  24. package/dist/admin/client/index.js +7 -0
  25. package/dist/admin/client/login/login-form.svelte +93 -0
  26. package/dist/admin/client/login/login-form.svelte.d.ts +18 -0
  27. package/dist/admin/client/login/login-page.svelte +25 -0
  28. package/dist/admin/client/login/login-page.svelte.d.ts +19 -0
  29. package/dist/admin/client/login/schema.d.ts +11 -0
  30. package/dist/admin/client/login/schema.js +5 -0
  31. package/dist/admin/client/media/media-page.svelte +12 -0
  32. package/dist/admin/client/media/media-page.svelte.d.ts +18 -0
  33. package/dist/admin/components/fields/array-field.svelte +140 -0
  34. package/dist/admin/components/fields/array-field.svelte.d.ts +30 -0
  35. package/dist/admin/components/fields/boolean-field.svelte +52 -0
  36. package/dist/admin/components/fields/boolean-field.svelte.d.ts +30 -0
  37. package/dist/admin/components/fields/field-renderer.svelte +89 -0
  38. package/dist/admin/components/fields/field-renderer.svelte.d.ts +10 -0
  39. package/dist/admin/components/fields/fields-form.svelte +78 -0
  40. package/dist/admin/components/fields/fields-form.svelte.d.ts +14 -0
  41. package/dist/admin/components/fields/file-field.svelte +68 -0
  42. package/dist/admin/components/fields/file-field.svelte.d.ts +30 -0
  43. package/dist/admin/components/fields/image-field.svelte +68 -0
  44. package/dist/admin/components/fields/image-field.svelte.d.ts +30 -0
  45. package/dist/admin/components/fields/object-field.svelte +60 -0
  46. package/dist/admin/components/fields/object-field.svelte.d.ts +30 -0
  47. package/dist/admin/components/fields/radio-field.svelte +47 -0
  48. package/dist/admin/components/fields/radio-field.svelte.d.ts +30 -0
  49. package/dist/admin/components/fields/richtext-field.svelte +26 -0
  50. package/dist/admin/components/fields/richtext-field.svelte.d.ts +30 -0
  51. package/dist/admin/components/fields/slug-field.svelte +74 -0
  52. package/dist/admin/components/fields/slug-field.svelte.d.ts +30 -0
  53. package/dist/admin/components/fields/text-field-wrapper.svelte +80 -0
  54. package/dist/admin/components/fields/text-field-wrapper.svelte.d.ts +30 -0
  55. package/dist/admin/components/fields/text-field.svelte +31 -0
  56. package/dist/admin/components/fields/text-field.svelte.d.ts +30 -0
  57. package/dist/admin/components/layout/app-sidebar.svelte +134 -0
  58. package/dist/admin/components/layout/app-sidebar.svelte.d.ts +9 -0
  59. package/dist/admin/components/layout/nav-breadcrumbs.svelte +23 -0
  60. package/dist/admin/components/layout/nav-breadcrumbs.svelte.d.ts +18 -0
  61. package/dist/admin/components/layout/nav-collections.svelte +67 -0
  62. package/dist/admin/components/layout/nav-collections.svelte.d.ts +9 -0
  63. package/dist/admin/components/layout/nav-main.svelte +49 -0
  64. package/dist/admin/components/layout/nav-main.svelte.d.ts +11 -0
  65. package/dist/admin/components/layout/nav-secondary.svelte +32 -0
  66. package/dist/admin/components/layout/nav-secondary.svelte.d.ts +14 -0
  67. package/dist/admin/components/layout/nav-singletons.svelte +24 -0
  68. package/dist/admin/components/layout/nav-singletons.svelte.d.ts +9 -0
  69. package/dist/admin/components/layout/nav-user.svelte +95 -0
  70. package/dist/admin/components/layout/nav-user.svelte.d.ts +7 -0
  71. package/dist/admin/components/layout/site-header.svelte +30 -0
  72. package/dist/admin/components/layout/site-header.svelte.d.ts +18 -0
  73. package/dist/admin/components/media/alt-input.svelte +32 -0
  74. package/dist/admin/components/media/alt-input.svelte.d.ts +7 -0
  75. package/dist/admin/components/media/create-folder.svelte +32 -0
  76. package/dist/admin/components/media/create-folder.svelte.d.ts +6 -0
  77. package/dist/admin/components/media/file-preview.svelte +43 -0
  78. package/dist/admin/components/media/file-preview.svelte.d.ts +6 -0
  79. package/dist/admin/components/media/file-upload.svelte +37 -0
  80. package/dist/admin/components/media/file-upload.svelte.d.ts +7 -0
  81. package/dist/admin/components/media/folder-tree.svelte +24 -0
  82. package/dist/admin/components/media/folder-tree.svelte.d.ts +7 -0
  83. package/dist/admin/components/media/media-library.svelte +121 -0
  84. package/dist/admin/components/media/media-library.svelte.d.ts +8 -0
  85. package/dist/admin/components/media/schema.d.ts +11 -0
  86. package/dist/admin/components/media/schema.js +5 -0
  87. package/dist/admin/components/media/tree-node.svelte +40 -0
  88. package/dist/admin/components/media/tree-node.svelte.d.ts +12 -0
  89. package/dist/admin/components/tiptap.svelte +101 -0
  90. package/dist/admin/components/tiptap.svelte.d.ts +6 -0
  91. package/dist/admin/context/remotes.d.ts +3 -0
  92. package/dist/admin/context/remotes.js +13 -0
  93. package/dist/admin/imports/slugify.d.ts +3 -0
  94. package/dist/admin/imports/slugify.js +2 -0
  95. package/dist/admin/index.d.ts +1 -0
  96. package/dist/admin/index.js +1 -0
  97. package/dist/admin/remote/collection.remote.d.ts +2 -0
  98. package/dist/admin/remote/collection.remote.js +9 -0
  99. package/dist/admin/remote/entry.remote.d.ts +15 -0
  100. package/dist/admin/remote/entry.remote.js +33 -0
  101. package/dist/admin/remote/index.d.ts +7 -0
  102. package/dist/admin/remote/index.js +7 -0
  103. package/dist/admin/remote/languages.remote.d.ts +1 -0
  104. package/dist/admin/remote/languages.remote.js +5 -0
  105. package/dist/admin/remote/media.remote.d.ts +17 -0
  106. package/dist/admin/remote/media.remote.js +36 -0
  107. package/dist/admin/remote/record.remote.d.ts +1 -0
  108. package/dist/admin/remote/record.remote.js +6 -0
  109. package/dist/admin/remote/single.remote.d.ts +1 -0
  110. package/dist/admin/remote/single.remote.js +5 -0
  111. package/dist/admin/remote/user.remote.d.ts +6 -0
  112. package/dist/admin/remote/user.remote.js +22 -0
  113. package/dist/admin/state/breadcrumbs.svelte.d.ts +6 -0
  114. package/dist/admin/state/breadcrumbs.svelte.js +3 -0
  115. package/dist/admin/state/content-language.svelte.d.ts +2 -0
  116. package/dist/admin/state/content-language.svelte.js +12 -0
  117. package/dist/admin/styles/admin.css +123 -0
  118. package/dist/admin/types.d.ts +10 -0
  119. package/dist/admin/types.js +1 -0
  120. package/dist/admin/utils/is-collection.d.ts +3 -0
  121. package/dist/admin/utils/is-collection.js +3 -0
  122. package/dist/admin/utils/objectPath.d.ts +3 -0
  123. package/dist/admin/utils/objectPath.js +20 -0
  124. package/dist/auth-lucia/index.d.ts +4 -0
  125. package/dist/auth-lucia/index.js +98 -0
  126. package/dist/auth-lucia/password.d.ts +2 -0
  127. package/dist/auth-lucia/password.js +19 -0
  128. package/dist/auth-lucia/providers/google.d.ts +3 -0
  129. package/dist/auth-lucia/providers/google.js +3 -0
  130. package/dist/auth-lucia/types.d.ts +5 -0
  131. package/dist/auth-lucia/types.js +1 -0
  132. package/dist/components/ui/accordion/accordion-content.svelte +22 -0
  133. package/dist/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
  134. package/dist/components/ui/accordion/accordion-item.svelte +17 -0
  135. package/dist/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
  136. package/dist/components/ui/accordion/accordion-trigger.svelte +32 -0
  137. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +8 -0
  138. package/dist/components/ui/accordion/accordion.svelte +16 -0
  139. package/dist/components/ui/accordion/accordion.svelte.d.ts +4 -0
  140. package/dist/components/ui/accordion/index.d.ts +5 -0
  141. package/dist/components/ui/accordion/index.js +7 -0
  142. package/dist/components/ui/avatar/avatar-fallback.svelte +17 -0
  143. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
  144. package/dist/components/ui/avatar/avatar-image.svelte +17 -0
  145. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
  146. package/dist/components/ui/avatar/avatar.svelte +17 -0
  147. package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -0
  148. package/dist/components/ui/avatar/index.d.ts +4 -0
  149. package/dist/components/ui/avatar/index.js +6 -0
  150. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
  151. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  152. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +20 -0
  153. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  154. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
  155. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  156. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
  157. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  158. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
  159. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  160. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
  161. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  162. package/dist/components/ui/breadcrumb/breadcrumb.svelte +21 -0
  163. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  164. package/dist/components/ui/breadcrumb/index.d.ts +8 -0
  165. package/dist/components/ui/breadcrumb/index.js +10 -0
  166. package/dist/components/ui/button/button.svelte +80 -0
  167. package/dist/components/ui/button/button.svelte.d.ts +58 -0
  168. package/dist/components/ui/button/index.d.ts +2 -0
  169. package/dist/components/ui/button/index.js +4 -0
  170. package/dist/components/ui/card/card-action.svelte +20 -0
  171. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  172. package/dist/components/ui/card/card-content.svelte +15 -0
  173. package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
  174. package/dist/components/ui/card/card-description.svelte +20 -0
  175. package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
  176. package/dist/components/ui/card/card-footer.svelte +20 -0
  177. package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
  178. package/dist/components/ui/card/card-header.svelte +23 -0
  179. package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
  180. package/dist/components/ui/card/card-title.svelte +20 -0
  181. package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
  182. package/dist/components/ui/card/card.svelte +23 -0
  183. package/dist/components/ui/card/card.svelte.d.ts +5 -0
  184. package/dist/components/ui/card/index.d.ts +8 -0
  185. package/dist/components/ui/card/index.js +10 -0
  186. package/dist/components/ui/checkbox/checkbox.svelte +36 -0
  187. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  188. package/dist/components/ui/checkbox/index.d.ts +2 -0
  189. package/dist/components/ui/checkbox/index.js +4 -0
  190. package/dist/components/ui/data-table/data-table.svelte.d.ts +40 -0
  191. package/dist/components/ui/data-table/data-table.svelte.js +110 -0
  192. package/dist/components/ui/data-table/flex-render.svelte +36 -0
  193. package/dist/components/ui/data-table/flex-render.svelte.d.ts +30 -0
  194. package/dist/components/ui/data-table/index.d.ts +3 -0
  195. package/dist/components/ui/data-table/index.js +3 -0
  196. package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
  197. package/dist/components/ui/data-table/render-helpers.js +99 -0
  198. package/dist/components/ui/dialog/dialog-close.svelte +7 -0
  199. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
  200. package/dist/components/ui/dialog/dialog-content.svelte +43 -0
  201. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +11 -0
  202. package/dist/components/ui/dialog/dialog-description.svelte +17 -0
  203. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  204. package/dist/components/ui/dialog/dialog-footer.svelte +20 -0
  205. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  206. package/dist/components/ui/dialog/dialog-header.svelte +20 -0
  207. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  208. package/dist/components/ui/dialog/dialog-overlay.svelte +20 -0
  209. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  210. package/dist/components/ui/dialog/dialog-title.svelte +17 -0
  211. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  212. package/dist/components/ui/dialog/dialog-trigger.svelte +7 -0
  213. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  214. package/dist/components/ui/dialog/index.d.ts +11 -0
  215. package/dist/components/ui/dialog/index.js +14 -0
  216. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +41 -0
  217. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  218. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +27 -0
  219. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +7 -0
  220. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
  221. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
  222. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  223. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  224. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
  225. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
  226. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +24 -0
  227. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  228. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  229. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  230. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +31 -0
  231. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  232. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
  233. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  234. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  235. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  236. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +20 -0
  237. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
  238. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +29 -0
  239. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  240. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  241. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  242. package/dist/components/ui/dropdown-menu/index.js +17 -0
  243. package/dist/components/ui/form/form-button.svelte +7 -0
  244. package/dist/components/ui/form/form-button.svelte.d.ts +4 -0
  245. package/dist/components/ui/form/form-description.svelte +17 -0
  246. package/dist/components/ui/form/form-description.svelte.d.ts +4 -0
  247. package/dist/components/ui/form/form-element-field.svelte +24 -0
  248. package/dist/components/ui/form/form-element-field.svelte.d.ts +28 -0
  249. package/dist/components/ui/form/form-field-errors.svelte +30 -0
  250. package/dist/components/ui/form/form-field-errors.svelte.d.ts +8 -0
  251. package/dist/components/ui/form/form-field.svelte +29 -0
  252. package/dist/components/ui/form/form-field.svelte.d.ts +28 -0
  253. package/dist/components/ui/form/form-fieldset.svelte +15 -0
  254. package/dist/components/ui/form/form-fieldset.svelte.d.ts +27 -0
  255. package/dist/components/ui/form/form-label.svelte +24 -0
  256. package/dist/components/ui/form/form-label.svelte.d.ts +4 -0
  257. package/dist/components/ui/form/form-legend.svelte +16 -0
  258. package/dist/components/ui/form/form-legend.svelte.d.ts +4 -0
  259. package/dist/components/ui/form/index.d.ts +11 -0
  260. package/dist/components/ui/form/index.js +13 -0
  261. package/dist/components/ui/input/index.d.ts +2 -0
  262. package/dist/components/ui/input/index.js +4 -0
  263. package/dist/components/ui/input/input.svelte +51 -0
  264. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  265. package/dist/components/ui/label/index.d.ts +2 -0
  266. package/dist/components/ui/label/index.js +4 -0
  267. package/dist/components/ui/label/label.svelte +20 -0
  268. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  269. package/dist/components/ui/radio-group/index.d.ts +3 -0
  270. package/dist/components/ui/radio-group/index.js +5 -0
  271. package/dist/components/ui/radio-group/radio-group-item.svelte +31 -0
  272. package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +4 -0
  273. package/dist/components/ui/radio-group/radio-group.svelte +19 -0
  274. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
  275. package/dist/components/ui/separator/index.d.ts +2 -0
  276. package/dist/components/ui/separator/index.js +4 -0
  277. package/dist/components/ui/separator/separator.svelte +20 -0
  278. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  279. package/dist/components/ui/sheet/index.d.ts +11 -0
  280. package/dist/components/ui/sheet/index.js +14 -0
  281. package/dist/components/ui/sheet/sheet-close.svelte +7 -0
  282. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  283. package/dist/components/ui/sheet/sheet-content.svelte +58 -0
  284. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +35 -0
  285. package/dist/components/ui/sheet/sheet-description.svelte +17 -0
  286. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
  287. package/dist/components/ui/sheet/sheet-footer.svelte +20 -0
  288. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
  289. package/dist/components/ui/sheet/sheet-header.svelte +20 -0
  290. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
  291. package/dist/components/ui/sheet/sheet-overlay.svelte +20 -0
  292. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
  293. package/dist/components/ui/sheet/sheet-title.svelte +17 -0
  294. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
  295. package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
  296. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  297. package/dist/components/ui/sidebar/constants.d.ts +6 -0
  298. package/dist/components/ui/sidebar/constants.js +6 -0
  299. package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
  300. package/dist/components/ui/sidebar/context.svelte.js +54 -0
  301. package/dist/components/ui/sidebar/index.d.ts +25 -0
  302. package/dist/components/ui/sidebar/index.js +27 -0
  303. package/dist/components/ui/sidebar/sidebar-content.svelte +24 -0
  304. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
  305. package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -0
  306. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
  307. package/dist/components/ui/sidebar/sidebar-group-action.svelte +36 -0
  308. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
  309. package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -0
  310. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
  311. package/dist/components/ui/sidebar/sidebar-group-label.svelte +34 -0
  312. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
  313. package/dist/components/ui/sidebar/sidebar-group.svelte +21 -0
  314. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
  315. package/dist/components/ui/sidebar/sidebar-header.svelte +21 -0
  316. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
  317. package/dist/components/ui/sidebar/sidebar-input.svelte +21 -0
  318. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
  319. package/dist/components/ui/sidebar/sidebar-inset.svelte +24 -0
  320. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
  321. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
  322. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
  323. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
  324. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
  325. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +103 -0
  326. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
  327. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
  328. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
  329. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
  330. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  331. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
  332. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
  333. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +21 -0
  334. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
  335. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
  336. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
  337. package/dist/components/ui/sidebar/sidebar-menu.svelte +21 -0
  338. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
  339. package/dist/components/ui/sidebar/sidebar-provider.svelte +53 -0
  340. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
  341. package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -0
  342. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
  343. package/dist/components/ui/sidebar/sidebar-separator.svelte +19 -0
  344. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
  345. package/dist/components/ui/sidebar/sidebar-trigger.svelte +35 -0
  346. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
  347. package/dist/components/ui/sidebar/sidebar.svelte +104 -0
  348. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
  349. package/dist/components/ui/skeleton/index.d.ts +2 -0
  350. package/dist/components/ui/skeleton/index.js +4 -0
  351. package/dist/components/ui/skeleton/skeleton.svelte +17 -0
  352. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  353. package/dist/components/ui/sonner/index.d.ts +1 -0
  354. package/dist/components/ui/sonner/index.js +1 -0
  355. package/dist/components/ui/sonner/sonner.svelte +13 -0
  356. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  357. package/dist/components/ui/table/index.d.ts +9 -0
  358. package/dist/components/ui/table/index.js +11 -0
  359. package/dist/components/ui/table/table-body.svelte +20 -0
  360. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  361. package/dist/components/ui/table/table-caption.svelte +20 -0
  362. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  363. package/dist/components/ui/table/table-cell.svelte +20 -0
  364. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  365. package/dist/components/ui/table/table-footer.svelte +20 -0
  366. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  367. package/dist/components/ui/table/table-head.svelte +23 -0
  368. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  369. package/dist/components/ui/table/table-header.svelte +20 -0
  370. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  371. package/dist/components/ui/table/table-row.svelte +23 -0
  372. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  373. package/dist/components/ui/table/table.svelte +22 -0
  374. package/dist/components/ui/table/table.svelte.d.ts +5 -0
  375. package/dist/components/ui/tabs/index.d.ts +5 -0
  376. package/dist/components/ui/tabs/index.js +7 -0
  377. package/dist/components/ui/tabs/tabs-content.svelte +17 -0
  378. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  379. package/dist/components/ui/tabs/tabs-list.svelte +20 -0
  380. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
  381. package/dist/components/ui/tabs/tabs-trigger.svelte +20 -0
  382. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  383. package/dist/components/ui/tabs/tabs.svelte +19 -0
  384. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  385. package/dist/components/ui/textarea/index.d.ts +2 -0
  386. package/dist/components/ui/textarea/index.js +4 -0
  387. package/dist/components/ui/textarea/textarea.svelte +22 -0
  388. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  389. package/dist/components/ui/toggle/index.d.ts +3 -0
  390. package/dist/components/ui/toggle/index.js +5 -0
  391. package/dist/components/ui/toggle/toggle.svelte +52 -0
  392. package/dist/components/ui/toggle/toggle.svelte.d.ts +43 -0
  393. package/dist/components/ui/tooltip/index.d.ts +7 -0
  394. package/dist/components/ui/tooltip/index.js +9 -0
  395. package/dist/components/ui/tooltip/tooltip-content.svelte +47 -0
  396. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +7 -0
  397. package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  398. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +4 -0
  399. package/dist/core/auth.d.ts +69 -0
  400. package/dist/core/auth.js +80 -0
  401. package/dist/core/cms.d.ts +20 -0
  402. package/dist/core/cms.js +51 -0
  403. package/dist/core/fields/fieldSchemaToTs.d.ts +8 -0
  404. package/dist/core/fields/fieldSchemaToTs.js +89 -0
  405. package/dist/core/index.d.ts +2 -0
  406. package/dist/core/index.js +2 -0
  407. package/dist/core/server/entries/operations/create.d.ts +4 -0
  408. package/dist/core/server/entries/operations/create.js +32 -0
  409. package/dist/core/server/entries/operations/delete.d.ts +1 -0
  410. package/dist/core/server/entries/operations/delete.js +4 -0
  411. package/dist/core/server/entries/operations/get.d.ts +11 -0
  412. package/dist/core/server/entries/operations/get.js +111 -0
  413. package/dist/core/server/entries/operations/update.d.ts +2 -0
  414. package/dist/core/server/entries/operations/update.js +23 -0
  415. package/dist/core/server/entries/utils/getEntryTranslation.d.ts +2 -0
  416. package/dist/core/server/entries/utils/getEntryTranslation.js +24 -0
  417. package/dist/core/server/fields/resolveImageFields.d.ts +3 -0
  418. package/dist/core/server/fields/resolveImageFields.js +97 -0
  419. package/dist/core/server/generator/fieldSchemaToString.d.ts +3 -0
  420. package/dist/core/server/generator/fieldSchemaToString.js +86 -0
  421. package/dist/core/server/generator/fields.d.ts +2 -0
  422. package/dist/core/server/generator/fields.js +49 -0
  423. package/dist/core/server/generator/generator.d.ts +2 -0
  424. package/dist/core/server/generator/generator.js +108 -0
  425. package/dist/core/server/index.d.ts +1 -0
  426. package/dist/core/server/index.js +1 -0
  427. package/dist/core/server/media/operations/createMediaFolder.d.ts +2 -0
  428. package/dist/core/server/media/operations/createMediaFolder.js +7 -0
  429. package/dist/core/server/media/operations/getFiles.d.ts +4 -0
  430. package/dist/core/server/media/operations/getFiles.js +17 -0
  431. package/dist/core/server/media/operations/getFolders.d.ts +2 -0
  432. package/dist/core/server/media/operations/getFolders.js +4 -0
  433. package/dist/core/server/media/operations/updateFile.d.ts +2 -0
  434. package/dist/core/server/media/operations/updateFile.js +7 -0
  435. package/dist/core/server/media/operations/uploadFile.d.ts +2 -0
  436. package/dist/core/server/media/operations/uploadFile.js +10 -0
  437. package/dist/core/server/sessions/operations/create.d.ts +2 -0
  438. package/dist/core/server/sessions/operations/create.js +4 -0
  439. package/dist/core/server/users/operations/create.d.ts +1 -0
  440. package/dist/core/server/users/operations/create.js +1 -0
  441. package/dist/core/server/users/operations/get.d.ts +4 -0
  442. package/dist/core/server/users/operations/get.js +13 -0
  443. package/dist/core/server/users/operations/update.d.ts +2 -0
  444. package/dist/core/server/users/operations/update.js +4 -0
  445. package/dist/db-postgres/index.d.ts +3 -0
  446. package/dist/db-postgres/index.js +249 -0
  447. package/dist/db-postgres/schema/entry.d.ts +177 -0
  448. package/dist/db-postgres/schema/entry.js +13 -0
  449. package/dist/db-postgres/schema/index.d.ts +5 -0
  450. package/dist/db-postgres/schema/index.js +5 -0
  451. package/dist/db-postgres/schema/mediaFile.d.ts +247 -0
  452. package/dist/db-postgres/schema/mediaFile.js +20 -0
  453. package/dist/db-postgres/schema/mediaFolder.d.ts +75 -0
  454. package/dist/db-postgres/schema/mediaFolder.js +7 -0
  455. package/dist/db-postgres/schema/session.d.ts +58 -0
  456. package/dist/db-postgres/schema/session.js +9 -0
  457. package/dist/db-postgres/schema/user.d.ts +109 -0
  458. package/dist/db-postgres/schema/user.js +9 -0
  459. package/dist/db-postgres/types.d.ts +3 -0
  460. package/dist/db-postgres/types.js +1 -0
  461. package/dist/files-local/index.d.ts +3 -0
  462. package/dist/files-local/index.js +138 -0
  463. package/dist/files-local/types.d.ts +3 -0
  464. package/dist/files-local/types.js +1 -0
  465. package/dist/hooks/is-mobile.svelte.d.ts +4 -0
  466. package/dist/hooks/is-mobile.svelte.js +7 -0
  467. package/dist/index.d.ts +6 -0
  468. package/dist/index.js +3 -0
  469. package/dist/sveltekit/components/image.svelte +19 -0
  470. package/dist/sveltekit/components/image.svelte.d.ts +8 -0
  471. package/dist/sveltekit/config.d.ts +8 -0
  472. package/dist/sveltekit/config.js +12 -0
  473. package/dist/sveltekit/index.d.ts +2 -0
  474. package/dist/sveltekit/index.js +2 -0
  475. package/dist/sveltekit/server/handle.d.ts +3 -0
  476. package/dist/sveltekit/server/handle.js +36 -0
  477. package/dist/sveltekit/server/index.d.ts +2 -0
  478. package/dist/sveltekit/server/index.js +2 -0
  479. package/dist/types/adapters/auth.d.ts +45 -0
  480. package/dist/types/adapters/auth.js +1 -0
  481. package/dist/types/adapters/files.d.ts +5 -0
  482. package/dist/types/adapters/files.js +1 -0
  483. package/dist/types/adapters.d.ts +109 -0
  484. package/dist/types/adapters.js +1 -0
  485. package/dist/types/cms.d.ts +24 -0
  486. package/dist/types/cms.js +1 -0
  487. package/dist/types/collections.d.ts +11 -0
  488. package/dist/types/collections.js +1 -0
  489. package/dist/types/config.d.ts +6 -0
  490. package/dist/types/config.js +1 -0
  491. package/dist/types/entries.d.ts +22 -0
  492. package/dist/types/entries.js +1 -0
  493. package/dist/types/errors.d.ts +8 -0
  494. package/dist/types/errors.js +1 -0
  495. package/dist/types/fields.d.ts +120 -0
  496. package/dist/types/fields.js +1 -0
  497. package/dist/types/index.d.ts +2 -0
  498. package/dist/types/index.js +2 -0
  499. package/dist/types/languages.d.ts +1 -0
  500. package/dist/types/languages.js +1 -0
  501. package/dist/types/media.d.ts +36 -0
  502. package/dist/types/media.js +1 -0
  503. package/dist/types/plugins.d.ts +12 -0
  504. package/dist/types/plugins.js +1 -0
  505. package/dist/types/sessions.d.ts +5 -0
  506. package/dist/types/sessions.js +1 -0
  507. package/dist/types/singles.d.ts +12 -0
  508. package/dist/types/singles.js +1 -0
  509. package/dist/types/users.d.ts +8 -0
  510. package/dist/types/users.js +1 -0
  511. package/dist/utils.d.ts +12 -0
  512. package/dist/utils.js +5 -0
  513. package/package.json +198 -0
package/LICENSE ADDED
File without changes
package/README.md ADDED
@@ -0,0 +1,58 @@
1
+ # Svelte library
2
+
3
+ Everything you need to build a Svelte library, powered by [`sv`](https://npmjs.com/package/sv).
4
+
5
+ Read more about creating a library [in the docs](https://svelte.dev/docs/kit/packaging).
6
+
7
+ ## Creating a project
8
+
9
+ If you're seeing this, you've probably already done this step. Congrats!
10
+
11
+ ```bash
12
+ # create a new project in the current directory
13
+ npx sv create
14
+
15
+ # create a new project in my-app
16
+ npx sv create my-app
17
+ ```
18
+
19
+ ## Developing
20
+
21
+ Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
22
+
23
+ ```bash
24
+ npm run dev
25
+
26
+ # or start the server and open the app in a new browser tab
27
+ npm run dev -- --open
28
+ ```
29
+
30
+ Everything inside `src/lib` is part of your library, everything inside `src/routes` can be used as a showcase or preview app.
31
+
32
+ ## Building
33
+
34
+ To build your library:
35
+
36
+ ```bash
37
+ npm run package
38
+ ```
39
+
40
+ To create a production version of your showcase app:
41
+
42
+ ```bash
43
+ npm run build
44
+ ```
45
+
46
+ You can preview the production build with `npm run preview`.
47
+
48
+ > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
49
+
50
+ ## Publishing
51
+
52
+ Go into the `package.json` and give your package the desired name through the `"name"` option. Also consider adding a `"license"` field and point it to a `LICENSE` file which you can create from a template (one popular option is the [MIT license](https://opensource.org/license/mit/)).
53
+
54
+ To publish your library to [npm](https://www.npmjs.com):
55
+
56
+ ```bash
57
+ npm publish
58
+ ```
@@ -0,0 +1,2 @@
1
+ import { type RequestHandler } from '@sveltejs/kit';
2
+ export declare const POST: RequestHandler;
@@ -0,0 +1,12 @@
1
+ import { uploadFile } from '../../core/server/media/operations/uploadFile.js';
2
+ import { json } from '@sveltejs/kit';
3
+ export const POST = async ({ request }) => {
4
+ const form = await request.formData();
5
+ const file = form.get('file');
6
+ const folderId = form.get('folderId');
7
+ if (!file || file.size === 0) {
8
+ return new Response('No file', { status: 400 });
9
+ }
10
+ const dbFile = await uploadFile(file, folderId);
11
+ return json(dbFile);
12
+ };
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import * as Sidebar from '../../../components/ui/sidebar/index.js';
3
+ import AppSidebar from '../../components/layout/app-sidebar.svelte';
4
+ import type { Snippet } from 'svelte';
5
+ import SiteHeader from '../../components/layout/site-header.svelte';
6
+ import { getRemotes } from '../../context/remotes.js';
7
+ import { setContentLanguage } from '../../state/content-language.svelte.js';
8
+
9
+ let { children }: { children: Snippet } = $props();
10
+
11
+ const remotes = getRemotes();
12
+
13
+ const languages = await remotes.getLanguages();
14
+ setContentLanguage(languages[0]);
15
+ </script>
16
+
17
+ <Sidebar.Provider
18
+ style="--sidebar-width: calc(var(--spacing) * 72); --header-height: calc(var(--spacing) * 12);"
19
+ >
20
+ <AppSidebar variant="inset" />
21
+ <Sidebar.Inset>
22
+ <SiteHeader />
23
+ <div class="flex flex-1 flex-col">
24
+ <div class="@container/main flex flex-1 flex-col gap-2">
25
+ <div class="flex flex-col gap-4 py-4 md:gap-6 md:py-6">
26
+ <div class="px-4 lg:px-6">
27
+ {@render children()}
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </Sidebar.Inset>
33
+ </Sidebar.Provider>
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ children: Snippet;
4
+ };
5
+ declare const AdminAfterLoginLayout: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type AdminAfterLoginLayout = ReturnType<typeof AdminAfterLoginLayout>;
7
+ export default AdminAfterLoginLayout;
@@ -0,0 +1,13 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import '../../styles/admin.css';
4
+ import { ModeWatcher } from 'mode-watcher';
5
+ import { Toaster } from '../../../components/ui/sonner/index.js';
6
+
7
+ let { children }: { children: Snippet } = $props();
8
+ </script>
9
+
10
+ <ModeWatcher />
11
+ <Toaster />
12
+
13
+ {@render children()}
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from 'svelte';
2
+ import '../../styles/admin.css';
3
+ type $$ComponentProps = {
4
+ children: Snippet;
5
+ };
6
+ declare const AdminLayout: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type AdminLayout = ReturnType<typeof AdminLayout>;
8
+ export default AdminLayout;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import { breadcrumbs } from '../../state/breadcrumbs.svelte';
3
+
4
+ breadcrumbs.state = [{ label: 'Dashboard', href: '/admin/dashboard' }];
5
+ </script>
6
+
7
+ <h1>Admin Panel</h1>
@@ -0,0 +1,18 @@
1
+ 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> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const DashboardPage: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type DashboardPage = InstanceType<typeof DashboardPage>;
18
+ export default DashboardPage;
@@ -0,0 +1,53 @@
1
+ <script lang="ts">
2
+ import Plus from '@tabler/icons-svelte/icons/plus';
3
+ import Button from '../../../components/ui/button/button.svelte';
4
+ import { page } from '$app/state';
5
+ import { goto } from '$app/navigation';
6
+ import DataTable from './data-table.svelte';
7
+ import { columns } from './columns.js';
8
+
9
+ import { breadcrumbs } from '../../state/breadcrumbs.svelte';
10
+ import { getRemotes } from '../../context/remotes.js';
11
+ import { getContentLanguage } from '../../state/content-language.svelte.js';
12
+
13
+ const remotes = getRemotes();
14
+
15
+ const collection = $derived(await remotes.getCollection(page.params.collection || ''));
16
+
17
+ const collectionEntriesQuery = $derived(remotes.getEntries(collection.slug));
18
+
19
+ async function onCreateEntry() {
20
+ const newEntry = await remotes.createNewEntry({ type: 'collection', slug: collection.slug });
21
+ goto(`/admin/entries/${newEntry.id}`);
22
+ }
23
+
24
+ $effect(() => {
25
+ breadcrumbs.state = [
26
+ {
27
+ label: collection.labels?.plural || collection.slug
28
+ }
29
+ ];
30
+ });
31
+ </script>
32
+
33
+ {#if collection}
34
+ <Button onclick={onCreateEntry} size="lg"><Plus /> Create new</Button>
35
+
36
+ {#await collectionEntriesQuery then entries}
37
+ {@const items = entries.map((entry) => ({
38
+ id: entry.id,
39
+ collection: entry.slug,
40
+ name:
41
+ collection.entryAdminTitle && entry.data[collection.entryAdminTitle]
42
+ ? (entry.data[collection.entryAdminTitle] as Record<string, string>)[
43
+ getContentLanguage()
44
+ ] || entry.id
45
+ : entry.id,
46
+ url: `/admin/entries/${entry.id}`,
47
+ status: entry.status,
48
+ createdAt: entry.createdAt,
49
+ updatedAt: entry.updatedAt
50
+ }))}
51
+ <DataTable data={items} {columns} />
52
+ {/await}
53
+ {/if}
@@ -0,0 +1,3 @@
1
+ declare const CollectionPage: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type CollectionPage = ReturnType<typeof CollectionPage>;
3
+ export default CollectionPage;
@@ -0,0 +1,10 @@
1
+ import type { ColumnDef } from '@tanstack/table-core';
2
+ export interface CollectionDataTableRow {
3
+ id: string;
4
+ name: string;
5
+ status: string;
6
+ createdAt: Date;
7
+ updatedAt: Date;
8
+ url: string;
9
+ }
10
+ export declare const columns: ColumnDef<CollectionDataTableRow>[];
@@ -0,0 +1,32 @@
1
+ import { renderComponent } from '../../../components/ui/data-table/render-helpers.js';
2
+ import EntryLink from './entry-link.svelte';
3
+ export const columns = [
4
+ {
5
+ accessorKey: 'name',
6
+ header: 'Name',
7
+ cell: (info) => {
8
+ return renderComponent(EntryLink, {
9
+ name: info.row.original.name,
10
+ url: info.row.original.url
11
+ });
12
+ }
13
+ },
14
+ {
15
+ accessorKey: 'status',
16
+ header: 'Status'
17
+ },
18
+ {
19
+ accessorKey: 'createdAt',
20
+ header: 'Created At',
21
+ cell: (info) => {
22
+ return new Date(info.row.original.createdAt).toLocaleString('pl');
23
+ }
24
+ },
25
+ {
26
+ accessorKey: 'updatedAt',
27
+ header: 'Updated At',
28
+ cell: (info) => {
29
+ return new Date(info.row.original.updatedAt).toLocaleString('pl');
30
+ }
31
+ }
32
+ ];
@@ -0,0 +1,56 @@
1
+ <script lang="ts" generics="TData, TValue">
2
+ import { type ColumnDef, getCoreRowModel } from '@tanstack/table-core';
3
+ import { createSvelteTable, FlexRender } from '../../../components/ui/data-table/index.js';
4
+ import * as Table from '../../../components/ui/table/index.js';
5
+
6
+ type DataTableProps<TData, TValue> = {
7
+ columns: ColumnDef<TData, TValue>[];
8
+ data: TData[];
9
+ };
10
+
11
+ let { data, columns }: DataTableProps<TData, TValue> = $props();
12
+
13
+ const table = createSvelteTable({
14
+ get data() {
15
+ return data;
16
+ },
17
+ columns,
18
+ getCoreRowModel: getCoreRowModel()
19
+ });
20
+ </script>
21
+
22
+ <div class="rounded-md border">
23
+ <Table.Root>
24
+ <Table.Header>
25
+ {#each table.getHeaderGroups() as headerGroup (headerGroup.id)}
26
+ <Table.Row>
27
+ {#each headerGroup.headers as header (header.id)}
28
+ <Table.Head>
29
+ {#if !header.isPlaceholder}
30
+ <FlexRender
31
+ content={header.column.columnDef.header}
32
+ context={header.getContext()}
33
+ />
34
+ {/if}
35
+ </Table.Head>
36
+ {/each}
37
+ </Table.Row>
38
+ {/each}
39
+ </Table.Header>
40
+ <Table.Body>
41
+ {#each table.getRowModel().rows as row (row.id)}
42
+ <Table.Row data-state={row.getIsSelected() && 'selected'}>
43
+ {#each row.getVisibleCells() as cell (cell.id)}
44
+ <Table.Cell>
45
+ <FlexRender content={cell.column.columnDef.cell} context={cell.getContext()} />
46
+ </Table.Cell>
47
+ {/each}
48
+ </Table.Row>
49
+ {:else}
50
+ <Table.Row>
51
+ <Table.Cell colspan={columns.length} class="h-24 text-center">No results.</Table.Cell>
52
+ </Table.Row>
53
+ {/each}
54
+ </Table.Body>
55
+ </Table.Root>
56
+ </div>
@@ -0,0 +1,29 @@
1
+ import { type ColumnDef } from '@tanstack/table-core';
2
+ type DataTableProps<TData, TValue> = {
3
+ columns: ColumnDef<TData, TValue>[];
4
+ data: TData[];
5
+ };
6
+ declare function $$render<TData, TValue>(): {
7
+ props: DataTableProps<TData, TValue>;
8
+ exports: {};
9
+ bindings: "";
10
+ slots: {};
11
+ events: {};
12
+ };
13
+ declare class __sveltets_Render<TData, TValue> {
14
+ props(): ReturnType<typeof $$render<TData, TValue>>['props'];
15
+ events(): ReturnType<typeof $$render<TData, TValue>>['events'];
16
+ slots(): ReturnType<typeof $$render<TData, TValue>>['slots'];
17
+ bindings(): "";
18
+ exports(): {};
19
+ }
20
+ interface $$IsomorphicComponent {
21
+ new <TData, TValue>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData, TValue>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData, TValue>['props']>, ReturnType<__sveltets_Render<TData, TValue>['events']>, ReturnType<__sveltets_Render<TData, TValue>['slots']>> & {
22
+ $$bindings?: ReturnType<__sveltets_Render<TData, TValue>['bindings']>;
23
+ } & ReturnType<__sveltets_Render<TData, TValue>['exports']>;
24
+ <TData, TValue>(internal: unknown, props: ReturnType<__sveltets_Render<TData, TValue>['props']> & {}): ReturnType<__sveltets_Render<TData, TValue>['exports']>;
25
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
26
+ }
27
+ declare const DataTable: $$IsomorphicComponent;
28
+ type DataTable<TData, TValue> = InstanceType<typeof DataTable<TData, TValue>>;
29
+ export default DataTable;
@@ -0,0 +1,12 @@
1
+ <script lang="ts">
2
+ type Props = {
3
+ name: string;
4
+ url: string;
5
+ };
6
+
7
+ let { name, url }: Props = $props();
8
+ </script>
9
+
10
+ <a href={url} class="hover:underline">
11
+ {name}
12
+ </a>
@@ -0,0 +1,7 @@
1
+ type Props = {
2
+ name: string;
3
+ url: string;
4
+ };
5
+ declare const EntryLink: import("svelte").Component<Props, {}, "">;
6
+ type EntryLink = ReturnType<typeof EntryLink>;
7
+ export default EntryLink;
@@ -0,0 +1,14 @@
1
+ <script lang="ts">
2
+ import { page } from '$app/state';
3
+ import Entry from './entry.svelte';
4
+
5
+ import { getRemotes } from '../../context/remotes.js';
6
+
7
+ const remotes = getRemotes();
8
+
9
+ let entry = $derived(await remotes.getEntryById(page.params.entryId || ''));
10
+ </script>
11
+
12
+ {#key entry}
13
+ <Entry {entry} />
14
+ {/key}
@@ -0,0 +1,3 @@
1
+ declare const EntryPage: import("svelte").Component<Record<string, never>, {}, "">;
2
+ type EntryPage = ReturnType<typeof EntryPage>;
3
+ export default EntryPage;
@@ -0,0 +1,168 @@
1
+ <script lang="ts">
2
+ import { goto } from '$app/navigation';
3
+ import { PUBLIC_URL } from '$env/static/public';
4
+ import FieldsForm from '../../components/fields/fields-form.svelte';
5
+ import slugify from '../../imports/slugify.js';
6
+ import { breadcrumbs } from '../../state/breadcrumbs.svelte';
7
+ import { isCollection } from '../../utils/is-collection.js';
8
+ import Button from '../../../components/ui/button/button.svelte';
9
+ import { generateZodSchemaFromFields } from '../../../core/fields/fieldSchemaToTs.js';
10
+ import type { RawEntry } from '../../../types/entries.js';
11
+
12
+ import { toast } from 'svelte-sonner';
13
+ import { defaults, superForm } from 'sveltekit-superforms';
14
+ import { zod, zodClient } from 'sveltekit-superforms/adapters';
15
+
16
+ import { getRemotes } from '../../context/remotes.js';
17
+ import { getContentLanguage } from '../../state/content-language.svelte.js';
18
+
19
+ const remotes = getRemotes();
20
+
21
+ type Props = {
22
+ entry: RawEntry;
23
+ };
24
+
25
+ let { entry }: Props = $props();
26
+
27
+ let collection = await remotes.getRecordBySlug(entry.slug);
28
+ const languages = await remotes.getLanguages();
29
+
30
+ let collectionSchema = generateZodSchemaFromFields(collection.fields, languages);
31
+
32
+ let isPreview = $state(false);
33
+
34
+ let previewUrl = $derived(
35
+ collection.previewUrl
36
+ ? `${PUBLIC_URL}/${generateSlug(collection.previewUrl)}?preview=true`
37
+ : undefined
38
+ );
39
+
40
+ function generateSlug(pattern: string) {
41
+ const replacedPattern = pattern.replace(/{([^}]+)}/g, (_, key) => {
42
+ const keyValue = entry.data[key as keyof typeof entry.data];
43
+ if (keyValue === undefined) {
44
+ console.error(`Key not found in form data: ${key}`);
45
+ }
46
+
47
+ return slugify(String(keyValue), {
48
+ lower: true,
49
+ strict: true,
50
+ trim: true
51
+ });
52
+ });
53
+
54
+ return replacedPattern;
55
+ }
56
+
57
+ async function onDelete() {
58
+ await remotes.deleteEntryCommand(entry.id);
59
+ toast.success('Entry deleted');
60
+ goto(`/admin/collections/${collection.slug}`);
61
+ }
62
+
63
+ const form = superForm(defaults(entry.data, zod(collectionSchema)), {
64
+ validators: zodClient(collectionSchema),
65
+ SPA: true,
66
+ dataType: 'json',
67
+ resetForm: false,
68
+ onUpdate: async ({ form }) => {
69
+ if (form.valid) {
70
+ await remotes.updateEntryCommand({
71
+ id: entry.id,
72
+ data: {
73
+ data: form.data
74
+ }
75
+ });
76
+ toast.success('Entry saved!');
77
+ }
78
+ }
79
+ });
80
+
81
+ $effect(() => {
82
+ breadcrumbs.state = isCollection(collection)
83
+ ? [
84
+ {
85
+ label: collection.labels?.plural || collection.slug,
86
+ href: `/admin/collections/${collection.slug}`
87
+ },
88
+ {
89
+ label:
90
+ (
91
+ entry.data[collection.entryAdminTitle || ''] as Record<string, string> | undefined
92
+ )?.[getContentLanguage()] || entry.id
93
+ }
94
+ ]
95
+ : [
96
+ {
97
+ label: collection.label || collection.slug
98
+ }
99
+ ];
100
+ });
101
+ </script>
102
+
103
+ <div class="flex items-stretch">
104
+ <FieldsForm {form} fields={collection.fields} class="grow">
105
+ {#snippet children()}
106
+ <Button type="button" variant="destructive" class="mt-2 w-full" onclick={onDelete}
107
+ >Delete</Button
108
+ >
109
+
110
+ <p>Status: {entry.status}</p>
111
+ <p>Created: {entry.createdAt.toLocaleString('pl')}</p>
112
+ <p>Updated: {entry.updatedAt.toLocaleString('pl')}</p>
113
+
114
+ {#if entry.publishedAt}
115
+ <p>Published: {entry.publishedAt.toLocaleString('pl')}</p>
116
+ {/if}
117
+ <p class="text-muted-foreground text-xs">ID: {entry.id}</p>
118
+ {/snippet}
119
+
120
+ {#snippet after()}
121
+ {#if entry.status === 'draft'}
122
+ <Button
123
+ onclick={() => {
124
+ remotes.updateEntryCommand({
125
+ id: entry.id,
126
+ data: { status: 'published' }
127
+ });
128
+ }}
129
+ type="button"
130
+ class="mt-2 w-full">Publish</Button
131
+ >
132
+ {:else}
133
+ <Button
134
+ type="button"
135
+ class="mt-2 w-full"
136
+ onclick={() => {
137
+ remotes.updateEntryCommand({
138
+ id: entry.id,
139
+ data: { status: 'draft' }
140
+ });
141
+ }}>Unpublish</Button
142
+ >
143
+ {/if}
144
+
145
+ {#if previewUrl}
146
+ <Button
147
+ type="button"
148
+ onclick={() => {
149
+ isPreview = !isPreview;
150
+ }}
151
+ class="mt-2 w-full"
152
+ variant="outline">{isPreview ? 'Hide' : 'Show'} Preview</Button
153
+ >
154
+ {/if}
155
+ {/snippet}
156
+ </FieldsForm>
157
+
158
+ {#if isPreview}
159
+ <div class="flex w-[768px] shrink-0 flex-col space-y-4 pl-4">
160
+ <h2 class="text-lg font-semibold">
161
+ Preview: <a href={previewUrl} target="_blank"> {previewUrl}</a>
162
+ </h2>
163
+ <div class="grow border p-4">
164
+ <iframe title="Preview" src={previewUrl} class="h-full w-full"></iframe>
165
+ </div>
166
+ </div>
167
+ {/if}
168
+ </div>
@@ -0,0 +1,7 @@
1
+ import type { RawEntry } from '../../../types/entries.js';
2
+ type Props = {
3
+ entry: RawEntry;
4
+ };
5
+ declare const Entry: import("svelte").Component<Props, {}, "">;
6
+ type Entry = ReturnType<typeof Entry>;
7
+ export default Entry;
@@ -0,0 +1,7 @@
1
+ export { default as AdminAfterLoginLayout } from './admin/admin-after-login-layout.svelte';
2
+ export { default as AdminLayout } from './admin/admin-layout.svelte';
3
+ export { default as EntryPage } from './entry/entry-page.svelte';
4
+ export { default as CollectionPage } from './collection/collection-page.svelte';
5
+ export { default as DashboardPage } from './admin/dashboard-page.svelte';
6
+ export { default as LoginPage } from './login/login-page.svelte';
7
+ export { default as MediaPage } from './media/media-page.svelte';
@@ -0,0 +1,7 @@
1
+ export { default as AdminAfterLoginLayout } from './admin/admin-after-login-layout.svelte';
2
+ export { default as AdminLayout } from './admin/admin-layout.svelte';
3
+ export { default as EntryPage } from './entry/entry-page.svelte';
4
+ export { default as CollectionPage } from './collection/collection-page.svelte';
5
+ export { default as DashboardPage } from './admin/dashboard-page.svelte';
6
+ export { default as LoginPage } from './login/login-page.svelte';
7
+ export { default as MediaPage } from './media/media-page.svelte';