@velastack/cms 0.1.0

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 (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +644 -0
  3. package/dist/cms.d.ts +6 -0
  4. package/dist/cms.js +30 -0
  5. package/dist/components/admin-bar/admin-bar-internal.svelte +1697 -0
  6. package/dist/components/admin-bar/admin-bar-internal.svelte.d.ts +12 -0
  7. package/dist/components/admin-bar/admin-bar.css +5 -0
  8. package/dist/components/admin-bar/admin-bar.svelte +355 -0
  9. package/dist/components/admin-bar/admin-bar.svelte.d.ts +7 -0
  10. package/dist/components/admin-bar/click-outside.d.ts +8 -0
  11. package/dist/components/admin-bar/click-outside.js +17 -0
  12. package/dist/components/admin-bar/css-root.svelte +23 -0
  13. package/dist/components/admin-bar/css-root.svelte.d.ts +19 -0
  14. package/dist/components/admin-bar/delete-page-dialog.svelte +326 -0
  15. package/dist/components/admin-bar/delete-page-dialog.svelte.d.ts +32 -0
  16. package/dist/components/admin-bar/history-panel.svelte +264 -0
  17. package/dist/components/admin-bar/history-panel.svelte.d.ts +8 -0
  18. package/dist/components/admin-bar/icons/bold.svelte +13 -0
  19. package/dist/components/admin-bar/icons/bold.svelte.d.ts +3 -0
  20. package/dist/components/admin-bar/icons/check.svelte +11 -0
  21. package/dist/components/admin-bar/icons/check.svelte.d.ts +3 -0
  22. package/dist/components/admin-bar/icons/chevron-down.svelte +11 -0
  23. package/dist/components/admin-bar/icons/chevron-down.svelte.d.ts +3 -0
  24. package/dist/components/admin-bar/icons/chevron-right.svelte +11 -0
  25. package/dist/components/admin-bar/icons/chevron-right.svelte.d.ts +3 -0
  26. package/dist/components/admin-bar/icons/chevron-up.svelte +11 -0
  27. package/dist/components/admin-bar/icons/chevron-up.svelte.d.ts +3 -0
  28. package/dist/components/admin-bar/icons/code.svelte +14 -0
  29. package/dist/components/admin-bar/icons/code.svelte.d.ts +3 -0
  30. package/dist/components/admin-bar/icons/external-link.svelte +15 -0
  31. package/dist/components/admin-bar/icons/external-link.svelte.d.ts +3 -0
  32. package/dist/components/admin-bar/icons/file.svelte +19 -0
  33. package/dist/components/admin-bar/icons/file.svelte.d.ts +3 -0
  34. package/dist/components/admin-bar/icons/heading-2.svelte +16 -0
  35. package/dist/components/admin-bar/icons/heading-2.svelte.d.ts +3 -0
  36. package/dist/components/admin-bar/icons/heading-3.svelte +17 -0
  37. package/dist/components/admin-bar/icons/heading-3.svelte.d.ts +3 -0
  38. package/dist/components/admin-bar/icons/icon.svelte +41 -0
  39. package/dist/components/admin-bar/icons/icon.svelte.d.ts +21 -0
  40. package/dist/components/admin-bar/icons/images.svelte +16 -0
  41. package/dist/components/admin-bar/icons/images.svelte.d.ts +3 -0
  42. package/dist/components/admin-bar/icons/italic.svelte +15 -0
  43. package/dist/components/admin-bar/icons/italic.svelte.d.ts +3 -0
  44. package/dist/components/admin-bar/icons/link-2-off.svelte +16 -0
  45. package/dist/components/admin-bar/icons/link-2-off.svelte.d.ts +3 -0
  46. package/dist/components/admin-bar/icons/link.svelte +14 -0
  47. package/dist/components/admin-bar/icons/link.svelte.d.ts +3 -0
  48. package/dist/components/admin-bar/icons/list-ordered.svelte +18 -0
  49. package/dist/components/admin-bar/icons/list-ordered.svelte.d.ts +3 -0
  50. package/dist/components/admin-bar/icons/list.svelte +18 -0
  51. package/dist/components/admin-bar/icons/list.svelte.d.ts +3 -0
  52. package/dist/components/admin-bar/icons/loader-circle.svelte +11 -0
  53. package/dist/components/admin-bar/icons/loader-circle.svelte.d.ts +3 -0
  54. package/dist/components/admin-bar/icons/minus.svelte +11 -0
  55. package/dist/components/admin-bar/icons/minus.svelte.d.ts +3 -0
  56. package/dist/components/admin-bar/icons/quote.svelte +24 -0
  57. package/dist/components/admin-bar/icons/quote.svelte.d.ts +3 -0
  58. package/dist/components/admin-bar/icons/search.svelte +14 -0
  59. package/dist/components/admin-bar/icons/search.svelte.d.ts +3 -0
  60. package/dist/components/admin-bar/icons/trash-2.svelte +17 -0
  61. package/dist/components/admin-bar/icons/trash-2.svelte.d.ts +3 -0
  62. package/dist/components/admin-bar/icons/triangle-alert.svelte +15 -0
  63. package/dist/components/admin-bar/icons/triangle-alert.svelte.d.ts +3 -0
  64. package/dist/components/admin-bar/icons/types.d.ts +7 -0
  65. package/dist/components/admin-bar/icons/types.js +1 -0
  66. package/dist/components/admin-bar/icons/undo-2.svelte +14 -0
  67. package/dist/components/admin-bar/icons/undo-2.svelte.d.ts +3 -0
  68. package/dist/components/admin-bar/icons/upload.svelte +15 -0
  69. package/dist/components/admin-bar/icons/upload.svelte.d.ts +3 -0
  70. package/dist/components/admin-bar/icons/x.svelte +14 -0
  71. package/dist/components/admin-bar/icons/x.svelte.d.ts +3 -0
  72. package/dist/components/admin-bar/keyboard-shortcuts-dialog.svelte +96 -0
  73. package/dist/components/admin-bar/keyboard-shortcuts-dialog.svelte.d.ts +7 -0
  74. package/dist/components/admin-bar/locales-panel.svelte +137 -0
  75. package/dist/components/admin-bar/locales-panel.svelte.d.ts +9 -0
  76. package/dist/components/admin-bar/media-panel.svelte +282 -0
  77. package/dist/components/admin-bar/media-panel.svelte.d.ts +7 -0
  78. package/dist/components/admin-bar/new-page-chooser-dialog.svelte +56 -0
  79. package/dist/components/admin-bar/new-page-chooser-dialog.svelte.d.ts +10 -0
  80. package/dist/components/admin-bar/new-page-dialog.svelte +126 -0
  81. package/dist/components/admin-bar/new-page-dialog.svelte.d.ts +14 -0
  82. package/dist/components/admin-bar/page-config.d.ts +61 -0
  83. package/dist/components/admin-bar/page-config.js +24 -0
  84. package/dist/components/admin-bar/pages-panel.svelte +639 -0
  85. package/dist/components/admin-bar/pages-panel.svelte.d.ts +13 -0
  86. package/dist/components/admin-bar/panel-footer.svelte +21 -0
  87. package/dist/components/admin-bar/panel-footer.svelte.d.ts +8 -0
  88. package/dist/components/admin-bar/panel-header.svelte +29 -0
  89. package/dist/components/admin-bar/panel-header.svelte.d.ts +10 -0
  90. package/dist/components/admin-bar/panel.svelte +41 -0
  91. package/dist/components/admin-bar/panel.svelte.d.ts +10 -0
  92. package/dist/components/admin-bar/publish-dialog.svelte +387 -0
  93. package/dist/components/admin-bar/publish-dialog.svelte.d.ts +16 -0
  94. package/dist/components/admin-bar/resolve-route.d.ts +20 -0
  95. package/dist/components/admin-bar/resolve-route.js +50 -0
  96. package/dist/components/admin-bar/seo-panel.svelte +387 -0
  97. package/dist/components/admin-bar/seo-panel.svelte.d.ts +7 -0
  98. package/dist/components/admin-bar/share-preview-link-dialog.svelte +97 -0
  99. package/dist/components/admin-bar/share-preview-link-dialog.svelte.d.ts +9 -0
  100. package/dist/components/admin-bar/site-settings-panel.svelte +225 -0
  101. package/dist/components/admin-bar/site-settings-panel.svelte.d.ts +7 -0
  102. package/dist/components/admin-bar/status-pill.svelte +49 -0
  103. package/dist/components/admin-bar/status-pill.svelte.d.ts +11 -0
  104. package/dist/components/admin-bar/theme.svelte.d.ts +16 -0
  105. package/dist/components/admin-bar/theme.svelte.js +39 -0
  106. package/dist/components/admin-bar/ui/badge/badge.svelte +57 -0
  107. package/dist/components/admin-bar/ui/badge/badge.svelte.d.ts +16 -0
  108. package/dist/components/admin-bar/ui/badge/index.d.ts +4 -0
  109. package/dist/components/admin-bar/ui/badge/index.js +4 -0
  110. package/dist/components/admin-bar/ui/button/button.svelte +73 -0
  111. package/dist/components/admin-bar/ui/button/button.svelte.d.ts +16 -0
  112. package/dist/components/admin-bar/ui/button/index.d.ts +4 -0
  113. package/dist/components/admin-bar/ui/button/index.js +4 -0
  114. package/dist/components/admin-bar/ui/collapsible/collapsible-content.svelte +7 -0
  115. package/dist/components/admin-bar/ui/collapsible/collapsible-content.svelte.d.ts +4 -0
  116. package/dist/components/admin-bar/ui/collapsible/collapsible-trigger.svelte +7 -0
  117. package/dist/components/admin-bar/ui/collapsible/collapsible-trigger.svelte.d.ts +4 -0
  118. package/dist/components/admin-bar/ui/collapsible/collapsible.svelte +7 -0
  119. package/dist/components/admin-bar/ui/collapsible/collapsible.svelte.d.ts +4 -0
  120. package/dist/components/admin-bar/ui/collapsible/index.d.ts +4 -0
  121. package/dist/components/admin-bar/ui/collapsible/index.js +6 -0
  122. package/dist/components/admin-bar/ui/dialog/dialog-close.svelte +7 -0
  123. package/dist/components/admin-bar/ui/dialog/dialog-close.svelte.d.ts +4 -0
  124. package/dist/components/admin-bar/ui/dialog/dialog-content.svelte +46 -0
  125. package/dist/components/admin-bar/ui/dialog/dialog-content.svelte.d.ts +11 -0
  126. package/dist/components/admin-bar/ui/dialog/dialog-description.svelte +17 -0
  127. package/dist/components/admin-bar/ui/dialog/dialog-description.svelte.d.ts +4 -0
  128. package/dist/components/admin-bar/ui/dialog/dialog-footer.svelte +23 -0
  129. package/dist/components/admin-bar/ui/dialog/dialog-footer.svelte.d.ts +5 -0
  130. package/dist/components/admin-bar/ui/dialog/dialog-header.svelte +20 -0
  131. package/dist/components/admin-bar/ui/dialog/dialog-header.svelte.d.ts +5 -0
  132. package/dist/components/admin-bar/ui/dialog/dialog-overlay.svelte +20 -0
  133. package/dist/components/admin-bar/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  134. package/dist/components/admin-bar/ui/dialog/dialog-portal.svelte +7 -0
  135. package/dist/components/admin-bar/ui/dialog/dialog-portal.svelte.d.ts +3 -0
  136. package/dist/components/admin-bar/ui/dialog/dialog-title.svelte +17 -0
  137. package/dist/components/admin-bar/ui/dialog/dialog-title.svelte.d.ts +4 -0
  138. package/dist/components/admin-bar/ui/dialog/dialog-trigger.svelte +7 -0
  139. package/dist/components/admin-bar/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  140. package/dist/components/admin-bar/ui/dialog/dialog.svelte +7 -0
  141. package/dist/components/admin-bar/ui/dialog/dialog.svelte.d.ts +3 -0
  142. package/dist/components/admin-bar/ui/dialog/index.d.ts +11 -0
  143. package/dist/components/admin-bar/ui/dialog/index.js +13 -0
  144. package/dist/components/admin-bar/ui/input/index.d.ts +3 -0
  145. package/dist/components/admin-bar/ui/input/index.js +3 -0
  146. package/dist/components/admin-bar/ui/input/input.svelte +24 -0
  147. package/dist/components/admin-bar/ui/input/input.svelte.d.ts +5 -0
  148. package/dist/components/admin-bar/ui/kbd/index.d.ts +4 -0
  149. package/dist/components/admin-bar/ui/kbd/index.js +6 -0
  150. package/dist/components/admin-bar/ui/kbd/kbd-group.svelte +20 -0
  151. package/dist/components/admin-bar/ui/kbd/kbd-group.svelte.d.ts +5 -0
  152. package/dist/components/admin-bar/ui/kbd/kbd-shortcut.svelte +52 -0
  153. package/dist/components/admin-bar/ui/kbd/kbd-shortcut.svelte.d.ts +8 -0
  154. package/dist/components/admin-bar/ui/kbd/kbd.svelte +27 -0
  155. package/dist/components/admin-bar/ui/kbd/kbd.svelte.d.ts +5 -0
  156. package/dist/components/admin-bar/ui/label/index.d.ts +3 -0
  157. package/dist/components/admin-bar/ui/label/index.js +3 -0
  158. package/dist/components/admin-bar/ui/label/label.svelte +20 -0
  159. package/dist/components/admin-bar/ui/label/label.svelte.d.ts +4 -0
  160. package/dist/components/admin-bar/ui/menubar/index.d.ts +18 -0
  161. package/dist/components/admin-bar/ui/menubar/index.js +20 -0
  162. package/dist/components/admin-bar/ui/menubar/menubar-checkbox-item.svelte +46 -0
  163. package/dist/components/admin-bar/ui/menubar/menubar-checkbox-item.svelte.d.ts +10 -0
  164. package/dist/components/admin-bar/ui/menubar/menubar-content.svelte +28 -0
  165. package/dist/components/admin-bar/ui/menubar/menubar-content.svelte.d.ts +4 -0
  166. package/dist/components/admin-bar/ui/menubar/menubar-group-heading.svelte +25 -0
  167. package/dist/components/admin-bar/ui/menubar/menubar-group-heading.svelte.d.ts +8 -0
  168. package/dist/components/admin-bar/ui/menubar/menubar-group.svelte +12 -0
  169. package/dist/components/admin-bar/ui/menubar/menubar-group.svelte.d.ts +7 -0
  170. package/dist/components/admin-bar/ui/menubar/menubar-item.svelte +27 -0
  171. package/dist/components/admin-bar/ui/menubar/menubar-item.svelte.d.ts +8 -0
  172. package/dist/components/admin-bar/ui/menubar/menubar-label.svelte +25 -0
  173. package/dist/components/admin-bar/ui/menubar/menubar-label.svelte.d.ts +8 -0
  174. package/dist/components/admin-bar/ui/menubar/menubar-menu.svelte +7 -0
  175. package/dist/components/admin-bar/ui/menubar/menubar-menu.svelte.d.ts +3 -0
  176. package/dist/components/admin-bar/ui/menubar/menubar-portal.svelte +7 -0
  177. package/dist/components/admin-bar/ui/menubar/menubar-portal.svelte.d.ts +3 -0
  178. package/dist/components/admin-bar/ui/menubar/menubar-radio-group.svelte +11 -0
  179. package/dist/components/admin-bar/ui/menubar/menubar-radio-group.svelte.d.ts +4 -0
  180. package/dist/components/admin-bar/ui/menubar/menubar-radio-item.svelte +37 -0
  181. package/dist/components/admin-bar/ui/menubar/menubar-radio-item.svelte.d.ts +8 -0
  182. package/dist/components/admin-bar/ui/menubar/menubar-separator.svelte +17 -0
  183. package/dist/components/admin-bar/ui/menubar/menubar-separator.svelte.d.ts +4 -0
  184. package/dist/components/admin-bar/ui/menubar/menubar-shortcut.svelte +23 -0
  185. package/dist/components/admin-bar/ui/menubar/menubar-shortcut.svelte.d.ts +5 -0
  186. package/dist/components/admin-bar/ui/menubar/menubar-sub-content.svelte +20 -0
  187. package/dist/components/admin-bar/ui/menubar/menubar-sub-content.svelte.d.ts +4 -0
  188. package/dist/components/admin-bar/ui/menubar/menubar-sub-trigger.svelte +29 -0
  189. package/dist/components/admin-bar/ui/menubar/menubar-sub-trigger.svelte.d.ts +8 -0
  190. package/dist/components/admin-bar/ui/menubar/menubar-sub.svelte +7 -0
  191. package/dist/components/admin-bar/ui/menubar/menubar-sub.svelte.d.ts +4 -0
  192. package/dist/components/admin-bar/ui/menubar/menubar-trigger.svelte +20 -0
  193. package/dist/components/admin-bar/ui/menubar/menubar-trigger.svelte.d.ts +4 -0
  194. package/dist/components/admin-bar/ui/menubar/menubar.svelte +20 -0
  195. package/dist/components/admin-bar/ui/menubar/menubar.svelte.d.ts +4 -0
  196. package/dist/components/admin-bar/ui/select/index.d.ts +12 -0
  197. package/dist/components/admin-bar/ui/select/index.js +14 -0
  198. package/dist/components/admin-bar/ui/select/select-content.svelte +45 -0
  199. package/dist/components/admin-bar/ui/select/select-content.svelte.d.ts +11 -0
  200. package/dist/components/admin-bar/ui/select/select-group-heading.svelte +21 -0
  201. package/dist/components/admin-bar/ui/select/select-group-heading.svelte.d.ts +10 -0
  202. package/dist/components/admin-bar/ui/select/select-group.svelte +17 -0
  203. package/dist/components/admin-bar/ui/select/select-group.svelte.d.ts +4 -0
  204. package/dist/components/admin-bar/ui/select/select-item.svelte +40 -0
  205. package/dist/components/admin-bar/ui/select/select-item.svelte.d.ts +5 -0
  206. package/dist/components/admin-bar/ui/select/select-label.svelte +20 -0
  207. package/dist/components/admin-bar/ui/select/select-label.svelte.d.ts +6 -0
  208. package/dist/components/admin-bar/ui/select/select-portal.svelte +7 -0
  209. package/dist/components/admin-bar/ui/select/select-portal.svelte.d.ts +3 -0
  210. package/dist/components/admin-bar/ui/select/select-scroll-down-button.svelte +23 -0
  211. package/dist/components/admin-bar/ui/select/select-scroll-down-button.svelte.d.ts +5 -0
  212. package/dist/components/admin-bar/ui/select/select-scroll-up-button.svelte +23 -0
  213. package/dist/components/admin-bar/ui/select/select-scroll-up-button.svelte.d.ts +5 -0
  214. package/dist/components/admin-bar/ui/select/select-separator.svelte +21 -0
  215. package/dist/components/admin-bar/ui/select/select-separator.svelte.d.ts +4 -0
  216. package/dist/components/admin-bar/ui/select/select-trigger.svelte +31 -0
  217. package/dist/components/admin-bar/ui/select/select-trigger.svelte.d.ts +8 -0
  218. package/dist/components/admin-bar/ui/select/select.svelte +11 -0
  219. package/dist/components/admin-bar/ui/select/select.svelte.d.ts +3 -0
  220. package/dist/components/admin-bar/ui/separator/index.d.ts +2 -0
  221. package/dist/components/admin-bar/ui/separator/index.js +4 -0
  222. package/dist/components/admin-bar/ui/separator/separator.svelte +21 -0
  223. package/dist/components/admin-bar/ui/separator/separator.svelte.d.ts +4 -0
  224. package/dist/components/admin-bar/ui/textarea/index.d.ts +3 -0
  225. package/dist/components/admin-bar/ui/textarea/index.js +3 -0
  226. package/dist/components/admin-bar/ui/textarea/textarea.svelte +21 -0
  227. package/dist/components/admin-bar/ui/textarea/textarea.svelte.d.ts +5 -0
  228. package/dist/components/admin-bar/user-avatar.svelte +29 -0
  229. package/dist/components/admin-bar/user-avatar.svelte.d.ts +7 -0
  230. package/dist/components/admin-bar/utils.d.ts +10 -0
  231. package/dist/components/admin-bar/utils.js +46 -0
  232. package/dist/components/admin-bar/variants.d.ts +20 -0
  233. package/dist/components/admin-bar/variants.js +14 -0
  234. package/dist/components/cms/cms-boolean.svelte +102 -0
  235. package/dist/components/cms/cms-boolean.svelte.d.ts +10 -0
  236. package/dist/components/cms/cms-date-time-editable.svelte +66 -0
  237. package/dist/components/cms/cms-date-time-editable.svelte.d.ts +11 -0
  238. package/dist/components/cms/cms-date-time.svelte +67 -0
  239. package/dist/components/cms/cms-date-time.svelte.d.ts +19 -0
  240. package/dist/components/cms/cms-entries.svelte +24 -0
  241. package/dist/components/cms/cms-entries.svelte.d.ts +31 -0
  242. package/dist/components/cms/cms-image-editable.svelte +439 -0
  243. package/dist/components/cms/cms-image-editable.svelte.d.ts +11 -0
  244. package/dist/components/cms/cms-image.svelte +78 -0
  245. package/dist/components/cms/cms-image.svelte.d.ts +18 -0
  246. package/dist/components/cms/cms-link-editable.svelte +429 -0
  247. package/dist/components/cms/cms-link-editable.svelte.d.ts +13 -0
  248. package/dist/components/cms/cms-link.svelte +92 -0
  249. package/dist/components/cms/cms-link.svelte.d.ts +25 -0
  250. package/dist/components/cms/cms-markdown-editable.svelte +74 -0
  251. package/dist/components/cms/cms-markdown-editable.svelte.d.ts +9 -0
  252. package/dist/components/cms/cms-markdown.svelte +56 -0
  253. package/dist/components/cms/cms-markdown.svelte.d.ts +10 -0
  254. package/dist/components/cms/cms-media-picker.svelte +150 -0
  255. package/dist/components/cms/cms-media-picker.svelte.d.ts +8 -0
  256. package/dist/components/cms/cms-number-editable.svelte +77 -0
  257. package/dist/components/cms/cms-number-editable.svelte.d.ts +13 -0
  258. package/dist/components/cms/cms-number.svelte +63 -0
  259. package/dist/components/cms/cms-number.svelte.d.ts +16 -0
  260. package/dist/components/cms/cms-repeater-editable.svelte +137 -0
  261. package/dist/components/cms/cms-repeater-editable.svelte.d.ts +31 -0
  262. package/dist/components/cms/cms-repeater.svelte +55 -0
  263. package/dist/components/cms/cms-repeater.svelte.d.ts +30 -0
  264. package/dist/components/cms/cms-rich-text-editable.svelte +101 -0
  265. package/dist/components/cms/cms-rich-text-editable.svelte.d.ts +9 -0
  266. package/dist/components/cms/cms-rich-text-toolbar.svelte +246 -0
  267. package/dist/components/cms/cms-rich-text-toolbar.svelte.d.ts +9 -0
  268. package/dist/components/cms/cms-rich-text.svelte +74 -0
  269. package/dist/components/cms/cms-rich-text.svelte.d.ts +10 -0
  270. package/dist/components/cms/cms-store.svelte.d.ts +294 -0
  271. package/dist/components/cms/cms-store.svelte.js +625 -0
  272. package/dist/components/cms/cms-text.svelte +131 -0
  273. package/dist/components/cms/cms-text.svelte.d.ts +11 -0
  274. package/dist/components/cms/index.d.ts +13 -0
  275. package/dist/components/cms/index.js +11 -0
  276. package/dist/components/cms/install-scope.svelte.d.ts +7 -0
  277. package/dist/components/cms/install-scope.svelte.js +33 -0
  278. package/dist/components/cms/locale-merge.d.ts +41 -0
  279. package/dist/components/cms/locale-merge.js +77 -0
  280. package/dist/components/cms/overlay-sync.d.ts +82 -0
  281. package/dist/components/cms/overlay-sync.js +76 -0
  282. package/dist/components/cms/path.d.ts +30 -0
  283. package/dist/components/cms/path.js +156 -0
  284. package/dist/components/cms/scope.d.ts +120 -0
  285. package/dist/components/cms/scope.js +23 -0
  286. package/dist/index.d.ts +27 -0
  287. package/dist/index.js +28 -0
  288. package/dist/srv/README.md +341 -0
  289. package/dist/srv/api-adapter.d.ts +20 -0
  290. package/dist/srv/api-adapter.js +178 -0
  291. package/dist/srv/cms.d.ts +62 -0
  292. package/dist/srv/cms.js +35 -0
  293. package/dist/srv/index.d.ts +5 -0
  294. package/dist/srv/index.js +4 -0
  295. package/dist/srv/load-cms.d.ts +105 -0
  296. package/dist/srv/load-cms.js +227 -0
  297. package/dist/srv/mock-adapter.d.ts +96 -0
  298. package/dist/srv/mock-adapter.js +171 -0
  299. package/dist/srv/types.d.ts +114 -0
  300. package/dist/srv/types.js +1 -0
  301. package/package.json +116 -0
  302. package/plugin/README.md +137 -0
  303. package/plugin/dist/adapter.d.ts +35 -0
  304. package/plugin/dist/adapter.js +346 -0
  305. package/plugin/dist/adapter.js.map +1 -0
  306. package/plugin/dist/build-state.d.ts +10 -0
  307. package/plugin/dist/build-state.js +26 -0
  308. package/plugin/dist/build-state.js.map +1 -0
  309. package/plugin/dist/fallback-shim.js +194 -0
  310. package/plugin/dist/index.d.ts +56 -0
  311. package/plugin/dist/index.js +396 -0
  312. package/plugin/dist/index.js.map +1 -0
  313. package/plugin/dist/manifest.d.ts +76 -0
  314. package/plugin/dist/manifest.js +367 -0
  315. package/plugin/dist/manifest.js.map +1 -0
  316. package/plugin/dist/media.d.ts +36 -0
  317. package/plugin/dist/media.js +153 -0
  318. package/plugin/dist/media.js.map +1 -0
  319. package/plugin/dist/parse-svelte.d.ts +35 -0
  320. package/plugin/dist/parse-svelte.js +120 -0
  321. package/plugin/dist/parse-svelte.js.map +1 -0
  322. package/plugin/dist/route-tree.d.ts +27 -0
  323. package/plugin/dist/route-tree.js +69 -0
  324. package/plugin/dist/route-tree.js.map +1 -0
  325. package/plugin/dist/transforms.d.ts +42 -0
  326. package/plugin/dist/transforms.js +95 -0
  327. package/plugin/dist/transforms.js.map +1 -0
@@ -0,0 +1,120 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { parse } from 'svelte/compiler';
3
+ const isStringLiteralNode = (node) => {
4
+ if (!node || typeof node !== 'object')
5
+ return false;
6
+ const n = node;
7
+ return (n.type === 'Literal' || n.type === 'StringLiteral') && typeof n.value === 'string';
8
+ };
9
+ const staticAttributeValue = (attrValue) => {
10
+ if (attrValue === true)
11
+ return null;
12
+ if (!Array.isArray(attrValue) || attrValue.length === 0)
13
+ return null;
14
+ if (attrValue.length === 1) {
15
+ const only = attrValue[0];
16
+ if (only.type === 'Text' && typeof only.data === 'string')
17
+ return only.data;
18
+ if (only.type === 'ExpressionTag' && isStringLiteralNode(only.expression)) {
19
+ return only.expression.value;
20
+ }
21
+ }
22
+ const chunks = [];
23
+ for (const part of attrValue) {
24
+ const p = part;
25
+ if (p.type !== 'Text' || typeof p.data !== 'string')
26
+ return null;
27
+ chunks.push(p.data);
28
+ }
29
+ return chunks.join('');
30
+ };
31
+ const visit = (node, fn) => {
32
+ if (!node || typeof node !== 'object')
33
+ return;
34
+ if (Array.isArray(node)) {
35
+ for (const child of node)
36
+ visit(child, fn);
37
+ return;
38
+ }
39
+ const n = node;
40
+ if (typeof n.type === 'string')
41
+ fn(n);
42
+ for (const key of [
43
+ 'fragment',
44
+ 'nodes',
45
+ 'children',
46
+ 'attributes',
47
+ 'consequent',
48
+ 'alternate',
49
+ 'pending',
50
+ 'then',
51
+ 'catch',
52
+ 'body'
53
+ ]) {
54
+ const child = n[key];
55
+ if (child)
56
+ visit(child, fn);
57
+ }
58
+ };
59
+ export const parseSvelteSource = (code, filename) => {
60
+ const ast = parse(code, { filename, modern: true });
61
+ const imports = [];
62
+ for (const block of [ast.module, ast.instance]) {
63
+ if (!block)
64
+ continue;
65
+ for (const raw of block.content.body) {
66
+ const stmt = raw;
67
+ if (stmt.type !== 'ImportDeclaration' || typeof stmt.source?.value !== 'string')
68
+ continue;
69
+ const bindings = [];
70
+ for (const spec of stmt.specifiers ?? []) {
71
+ if (spec.type === 'ImportDefaultSpecifier') {
72
+ bindings.push({ imported: 'default', local: spec.local.name });
73
+ }
74
+ else if (spec.type === 'ImportSpecifier' && spec.imported) {
75
+ bindings.push({ imported: spec.imported.name, local: spec.local.name });
76
+ }
77
+ }
78
+ imports.push({ source: stmt.source.value, bindings });
79
+ }
80
+ }
81
+ const componentUsages = [];
82
+ visit(ast.fragment, (node) => {
83
+ if (node.type !== 'Component')
84
+ return;
85
+ const componentName = node.name;
86
+ if (!componentName)
87
+ return;
88
+ const attrs = node.attributes ?? [];
89
+ const nameAttr = attrs.find((a) => {
90
+ const attr = a;
91
+ return attr.type === 'Attribute' && attr.name === 'name';
92
+ });
93
+ const hasValueAttr = attrs.some((a) => {
94
+ const attr = a;
95
+ return attr.type === 'Attribute' && attr.name === 'value';
96
+ });
97
+ const routeIdAttr = attrs.find((a) => {
98
+ const attr = a;
99
+ return attr.type === 'Attribute' && attr.name === 'routeId';
100
+ });
101
+ componentUsages.push({
102
+ componentName,
103
+ fieldName: nameAttr ? staticAttributeValue(nameAttr.value) : null,
104
+ hasValueAttr,
105
+ routeIdAttr: routeIdAttr ? staticAttributeValue(routeIdAttr.value) : null
106
+ });
107
+ });
108
+ const instanceScript = ast.instance
109
+ ? {
110
+ contentStart: ast.instance.content.start,
111
+ contentEnd: ast.instance.content.end
112
+ }
113
+ : null;
114
+ return { imports, componentUsages, instanceScript, sourceLength: code.length };
115
+ };
116
+ export const parseSvelteFile = (filePath) => {
117
+ const code = readFileSync(filePath, 'utf-8');
118
+ return parseSvelteSource(code, filePath);
119
+ };
120
+ //# sourceMappingURL=parse-svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-svelte.js","sourceRoot":"","sources":["../src/parse-svelte.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type RouteNode = {
2
+ /** Route id in SvelteKit form: `'/'`, `'/(marketing)'`, `'/(marketing)/rooms/[slug]'`. */
3
+ routeId: string;
4
+ /** Absolute path to `+layout.svelte` in this directory, if present. */
5
+ layoutPath: string | null;
6
+ /** Absolute path to `+page.svelte` in this directory, if present. */
7
+ pagePath: string | null;
8
+ /** Absolute path to `+page.ts` in this directory, if present. */
9
+ pageScriptPath: string | null;
10
+ /** Absolute path to `+page.server.ts` in this directory, if present. */
11
+ pageServerScriptPath: string | null;
12
+ /** Absolute path to `page.cms.ts` in this directory, if present. */
13
+ pageCmsPath: string | null;
14
+ };
15
+ /**
16
+ * Walk `routesDir` and return one entry per directory, recording whether it
17
+ * contains a `+layout.svelte` and/or `+page.svelte`. Does not currently
18
+ * understand `+page@layout.svelte` reset segments — that's deferred.
19
+ */
20
+ export declare const discoverRoutes: (routesDir: string) => RouteNode[];
21
+ /**
22
+ * Ancestors (inclusive) of a route id, ordered from root to leaf:
23
+ * `'/(marketing)/about'` → `['/', '/(marketing)', '/(marketing)/about']`.
24
+ */
25
+ export declare const ancestorRouteIds: (routeId: string) => string[];
26
+ /** Extract `[param]` segment names from a SvelteKit route id, in order. */
27
+ export declare const extractRouteParams: (routeId: string) => string[];
@@ -0,0 +1,69 @@
1
+ import { existsSync, readdirSync, statSync } from 'node:fs';
2
+ import { join, relative } from 'node:path';
3
+ const toRouteId = (routesDir, dir) => {
4
+ const rel = relative(routesDir, dir).split(/[\\/]/).join('/');
5
+ return rel === '' ? '/' : '/' + rel;
6
+ };
7
+ /**
8
+ * Walk `routesDir` and return one entry per directory, recording whether it
9
+ * contains a `+layout.svelte` and/or `+page.svelte`. Does not currently
10
+ * understand `+page@layout.svelte` reset segments — that's deferred.
11
+ */
12
+ export const discoverRoutes = (routesDir) => {
13
+ if (!existsSync(routesDir))
14
+ return [];
15
+ const out = [];
16
+ const visit = (dir) => {
17
+ const layoutPath = join(dir, '+layout.svelte');
18
+ const pagePath = join(dir, '+page.svelte');
19
+ const pageScriptPath = join(dir, '+page.ts');
20
+ const pageServerScriptPath = join(dir, '+page.server.ts');
21
+ const pageCmsPath = join(dir, 'page.cms.ts');
22
+ out.push({
23
+ routeId: toRouteId(routesDir, dir),
24
+ layoutPath: existsSync(layoutPath) ? layoutPath : null,
25
+ pagePath: existsSync(pagePath) ? pagePath : null,
26
+ pageScriptPath: existsSync(pageScriptPath) ? pageScriptPath : null,
27
+ pageServerScriptPath: existsSync(pageServerScriptPath) ? pageServerScriptPath : null,
28
+ pageCmsPath: existsSync(pageCmsPath) ? pageCmsPath : null
29
+ });
30
+ for (const entry of readdirSync(dir)) {
31
+ if (entry.startsWith('+') || entry.startsWith('.'))
32
+ continue;
33
+ const full = join(dir, entry);
34
+ let stat;
35
+ try {
36
+ stat = statSync(full);
37
+ }
38
+ catch {
39
+ continue;
40
+ }
41
+ if (stat.isDirectory())
42
+ visit(full);
43
+ }
44
+ };
45
+ visit(routesDir);
46
+ return out;
47
+ };
48
+ /**
49
+ * Ancestors (inclusive) of a route id, ordered from root to leaf:
50
+ * `'/(marketing)/about'` → `['/', '/(marketing)', '/(marketing)/about']`.
51
+ */
52
+ export const ancestorRouteIds = (routeId) => {
53
+ if (routeId === '/')
54
+ return ['/'];
55
+ const parts = routeId.slice(1).split('/');
56
+ const out = ['/'];
57
+ let acc = '';
58
+ for (const p of parts) {
59
+ acc += '/' + p;
60
+ out.push(acc);
61
+ }
62
+ return out;
63
+ };
64
+ /** Extract `[param]` segment names from a SvelteKit route id, in order. */
65
+ export const extractRouteParams = (routeId) => {
66
+ const matches = routeId.matchAll(/\[(?:\.\.\.)?([^/\]]+)\]/g);
67
+ return [...matches].map((m) => m[1]);
68
+ };
69
+ //# sourceMappingURL=route-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-tree.js","sourceRoot":"","sources":["../src/route-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ScopeInfo } from './manifest.js';
2
+ /**
3
+ * Per-`page.cms.ts` synthetic virtual id prefix. We can't import the files
4
+ * via their on-disk paths from inside a virtual module: SvelteKit route
5
+ * groups (e.g. `(marketing)`) trip Vite's `import-analysis` `normalizeUrl`
6
+ * — `/path/(group)/foo` and `/@fs/path/(group)/foo` both fail with
7
+ * `Failed to resolve import "/path"`. Routing the imports through
8
+ * paren-free synthetic ids and letting the plugin's `load` hook return
9
+ * the file source directly avoids URL normalization entirely.
10
+ */
11
+ export declare const PAGE_CMS_VIRTUAL_PREFIX = "virtual:vela-cms/page-cms-";
12
+ /**
13
+ * Generate the source for `virtual:vela-cms/pages`. Imports each
14
+ * `page.cms.ts` module via a paren-free synthetic id and aggregates them
15
+ * keyed by `routeId`. The `routeId` is added to each config so consumers
16
+ * (the AdminBar) don't have to thread it separately.
17
+ */
18
+ export declare const buildPagesModuleSource: (modules: Array<{
19
+ routeId: string;
20
+ path: string;
21
+ }>) => string;
22
+ /** Decode the index from a synthetic page-cms id, or `null` if not one. */
23
+ export declare const parsePageCmsIndex: (id: string) => number | null;
24
+ /**
25
+ * Insert the install import + call into the file's instance `<script>`. If the
26
+ * file has no instance script, prepend one.
27
+ */
28
+ export declare const injectScopeInstall: (code: string, info: ScopeInfo, filename: string) => string;
29
+ /**
30
+ * Quick scan for an `import { generateEntries[, …] } from '...'` binding.
31
+ * The source module doesn't matter — typically the user re-exports
32
+ * `generateEntries` from their own `$lib/cms.ts`. Returns true when the
33
+ * file contains an `import { ... }` statement that names `generateEntries`
34
+ * (with or without an alias), false otherwise.
35
+ */
36
+ export declare const hasGenerateEntriesImport: (code: string) => boolean;
37
+ /**
38
+ * Rewrite zero-arg `generateEntries()` calls to `generateEntries('<routeId>')`.
39
+ * Whitespace between the parens is allowed but no other content; explicit
40
+ * forms (any argument) are left alone, preserving the opt-out.
41
+ */
42
+ export declare const injectGenerateEntriesRouteId: (code: string, routeId: string) => string;
@@ -0,0 +1,95 @@
1
+ import { parseSvelteSource } from './parse-svelte.js';
2
+ /**
3
+ * Per-`page.cms.ts` synthetic virtual id prefix. We can't import the files
4
+ * via their on-disk paths from inside a virtual module: SvelteKit route
5
+ * groups (e.g. `(marketing)`) trip Vite's `import-analysis` `normalizeUrl`
6
+ * — `/path/(group)/foo` and `/@fs/path/(group)/foo` both fail with
7
+ * `Failed to resolve import "/path"`. Routing the imports through
8
+ * paren-free synthetic ids and letting the plugin's `load` hook return
9
+ * the file source directly avoids URL normalization entirely.
10
+ */
11
+ export const PAGE_CMS_VIRTUAL_PREFIX = 'virtual:vela-cms/page-cms-';
12
+ /**
13
+ * Generate the source for `virtual:vela-cms/pages`. Imports each
14
+ * `page.cms.ts` module via a paren-free synthetic id and aggregates them
15
+ * keyed by `routeId`. The `routeId` is added to each config so consumers
16
+ * (the AdminBar) don't have to thread it separately.
17
+ */
18
+ export const buildPagesModuleSource = (modules) => {
19
+ if (modules.length === 0) {
20
+ return 'export const pages = /* @__PURE__ */ Object.freeze({});\n';
21
+ }
22
+ const lines = [];
23
+ modules.forEach((_m, i) => {
24
+ lines.push(`import _${i} from ${JSON.stringify(PAGE_CMS_VIRTUAL_PREFIX + i)};`);
25
+ });
26
+ lines.push('export const pages = {');
27
+ modules.forEach((m, i) => {
28
+ lines.push(` ${JSON.stringify(m.routeId)}: { ..._${i}, routeId: ${JSON.stringify(m.routeId)} },`);
29
+ });
30
+ lines.push('};');
31
+ return lines.join('\n') + '\n';
32
+ };
33
+ /** Decode the index from a synthetic page-cms id, or `null` if not one. */
34
+ export const parsePageCmsIndex = (id) => {
35
+ const prefix = '\0' + PAGE_CMS_VIRTUAL_PREFIX;
36
+ if (!id.startsWith(prefix))
37
+ return null;
38
+ const n = Number(id.slice(prefix.length));
39
+ return Number.isInteger(n) && n >= 0 ? n : null;
40
+ };
41
+ const INSTALL_IMPORT = "import { installCmsScope as __velaCmsInstallScope } from '$lib/components/cms/install-scope.svelte.js';\n";
42
+ const buildInstallCall = (info) => `__velaCmsInstallScope(${JSON.stringify({
43
+ scopeId: info.scopeId,
44
+ kind: info.kind,
45
+ routeId: info.routeId,
46
+ ownedParams: info.ownedParams
47
+ })});\n`;
48
+ /**
49
+ * Insert the install import + call into the file's instance `<script>`. If the
50
+ * file has no instance script, prepend one.
51
+ */
52
+ export const injectScopeInstall = (code, info, filename) => {
53
+ const parsed = parseSvelteSource(code, filename);
54
+ const call = buildInstallCall(info);
55
+ if (!parsed.instanceScript) {
56
+ return `<script lang="ts">\n${INSTALL_IMPORT}${call}</script>\n${code}`;
57
+ }
58
+ const { contentStart, contentEnd } = parsed.instanceScript;
59
+ const before = code.slice(0, contentStart);
60
+ const scriptBody = code.slice(contentStart, contentEnd);
61
+ const after = code.slice(contentEnd);
62
+ return `${before}\n${INSTALL_IMPORT}${scriptBody}\n${call}${after}`;
63
+ };
64
+ /**
65
+ * Quick scan for an `import { generateEntries[, …] } from '...'` binding.
66
+ * The source module doesn't matter — typically the user re-exports
67
+ * `generateEntries` from their own `$lib/cms.ts`. Returns true when the
68
+ * file contains an `import { ... }` statement that names `generateEntries`
69
+ * (with or without an alias), false otherwise.
70
+ */
71
+ export const hasGenerateEntriesImport = (code) => {
72
+ // Match `import { ... } from '...'` (single- or double-quoted).
73
+ const re = /import\s*(?:type\s+)?\{([^}]*)\}\s*from\s*['"][^'"]+['"]/g;
74
+ let m;
75
+ while ((m = re.exec(code)) !== null) {
76
+ const bindings = m[1];
77
+ // Each binding is `name` or `name as local`. Match `generateEntries`
78
+ // as a whole word in the imported-name position.
79
+ if (/(^|,|\s)generateEntries(\s|,|$|\s+as\s+)/.test(bindings))
80
+ return true;
81
+ }
82
+ return false;
83
+ };
84
+ /**
85
+ * Rewrite zero-arg `generateEntries()` calls to `generateEntries('<routeId>')`.
86
+ * Whitespace between the parens is allowed but no other content; explicit
87
+ * forms (any argument) are left alone, preserving the opt-out.
88
+ */
89
+ export const injectGenerateEntriesRouteId = (code, routeId) => {
90
+ // `generateEntries(\s*)` — only match when arg list is empty.
91
+ const re = /\bgenerateEntries\s*\(\s*\)/g;
92
+ const literal = `'${routeId.replace(/\\/g, '\\\\').replace(/'/g, "\\'")}'`;
93
+ return code.replace(re, `generateEntries(${literal})`);
94
+ };
95
+ //# sourceMappingURL=transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"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"}