nebula-cms 0.1.3 → 0.1.5

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 (381) hide show
  1. package/README.md +3 -1
  2. package/dist/astro/index.d.ts +43 -0
  3. package/dist/astro/index.d.ts.map +1 -0
  4. package/dist/astro/index.js +223 -0
  5. package/{src → dist}/client/Admin.svelte +20 -11
  6. package/dist/client/Admin.svelte.d.ts +11 -0
  7. package/dist/client/Admin.svelte.d.ts.map +1 -0
  8. package/dist/client/components/BackendPicker.svelte.d.ts +4 -0
  9. package/dist/client/components/BackendPicker.svelte.d.ts.map +1 -0
  10. package/dist/client/components/DraftChip.svelte.d.ts +10 -0
  11. package/dist/client/components/DraftChip.svelte.d.ts.map +1 -0
  12. package/dist/client/components/MetadataForm.svelte.d.ts +12 -0
  13. package/dist/client/components/MetadataForm.svelte.d.ts.map +1 -0
  14. package/dist/client/components/ThemeToggle.svelte.d.ts +19 -0
  15. package/dist/client/components/ThemeToggle.svelte.d.ts.map +1 -0
  16. package/dist/client/components/dialogs/DeleteDraftDialog.svelte.d.ts +11 -0
  17. package/dist/client/components/dialogs/DeleteDraftDialog.svelte.d.ts.map +1 -0
  18. package/{src → dist}/client/components/dialogs/FilenameDialog.svelte +1 -2
  19. package/dist/client/components/dialogs/FilenameDialog.svelte.d.ts +13 -0
  20. package/dist/client/components/dialogs/FilenameDialog.svelte.d.ts.map +1 -0
  21. package/dist/client/components/editor/EditorPane.svelte.d.ts +4 -0
  22. package/dist/client/components/editor/EditorPane.svelte.d.ts.map +1 -0
  23. package/dist/client/components/editor/EditorTabs.svelte.d.ts +8 -0
  24. package/dist/client/components/editor/EditorTabs.svelte.d.ts.map +1 -0
  25. package/dist/client/components/editor/EditorToolbar.svelte.d.ts +4 -0
  26. package/dist/client/components/editor/EditorToolbar.svelte.d.ts.map +1 -0
  27. package/dist/client/components/editor/FormatSelector.svelte.d.ts +4 -0
  28. package/dist/client/components/editor/FormatSelector.svelte.d.ts.map +1 -0
  29. package/dist/client/components/editor/Toolbar.svelte.d.ts +19 -0
  30. package/dist/client/components/editor/Toolbar.svelte.d.ts.map +1 -0
  31. package/dist/client/components/fields/ArrayField.svelte.d.ts +15 -0
  32. package/dist/client/components/fields/ArrayField.svelte.d.ts.map +1 -0
  33. package/dist/client/components/fields/ArrayItem.svelte.d.ts +28 -0
  34. package/dist/client/components/fields/ArrayItem.svelte.d.ts.map +1 -0
  35. package/dist/client/components/fields/BooleanField.svelte.d.ts +16 -0
  36. package/dist/client/components/fields/BooleanField.svelte.d.ts.map +1 -0
  37. package/dist/client/components/fields/DateField.svelte.d.ts +16 -0
  38. package/dist/client/components/fields/DateField.svelte.d.ts.map +1 -0
  39. package/dist/client/components/fields/EnumField.svelte.d.ts +17 -0
  40. package/dist/client/components/fields/EnumField.svelte.d.ts.map +1 -0
  41. package/dist/client/components/fields/FieldWrapper.svelte.d.ts +18 -0
  42. package/dist/client/components/fields/FieldWrapper.svelte.d.ts.map +1 -0
  43. package/dist/client/components/fields/NumberField.svelte.d.ts +16 -0
  44. package/dist/client/components/fields/NumberField.svelte.d.ts.map +1 -0
  45. package/dist/client/components/fields/ObjectField.svelte.d.ts +16 -0
  46. package/dist/client/components/fields/ObjectField.svelte.d.ts.map +1 -0
  47. package/dist/client/components/fields/SchemaField.svelte.d.ts +16 -0
  48. package/dist/client/components/fields/SchemaField.svelte.d.ts.map +1 -0
  49. package/dist/client/components/fields/StringField.svelte.d.ts +16 -0
  50. package/dist/client/components/fields/StringField.svelte.d.ts.map +1 -0
  51. package/{src → dist}/client/components/sidebar/AdminSidebar.svelte +2 -4
  52. package/dist/client/components/sidebar/AdminSidebar.svelte.d.ts +19 -0
  53. package/dist/client/components/sidebar/AdminSidebar.svelte.d.ts.map +1 -0
  54. package/dist/client/components/sidebar/AdminSidebarSort.svelte.d.ts +12 -0
  55. package/dist/client/components/sidebar/AdminSidebarSort.svelte.d.ts.map +1 -0
  56. package/dist/client/css/icons.css +29 -0
  57. package/dist/client/index.d.ts +2 -0
  58. package/dist/client/index.d.ts.map +1 -0
  59. package/dist/client/js/drafts/merge.svelte.d.ts +24 -0
  60. package/dist/client/js/drafts/merge.svelte.d.ts.map +1 -0
  61. package/dist/client/js/drafts/merge.svelte.js +106 -0
  62. package/dist/client/js/drafts/ops.svelte.d.ts +31 -0
  63. package/dist/client/js/drafts/ops.svelte.d.ts.map +1 -0
  64. package/dist/client/js/drafts/ops.svelte.js +182 -0
  65. package/dist/client/js/drafts/storage.d.ts +45 -0
  66. package/dist/client/js/drafts/storage.d.ts.map +1 -0
  67. package/dist/client/js/drafts/storage.js +76 -0
  68. package/dist/client/js/drafts/workers/diff.d.ts +2 -0
  69. package/dist/client/js/drafts/workers/diff.d.ts.map +1 -0
  70. package/dist/client/js/drafts/workers/diff.js +20 -0
  71. package/dist/client/js/editor/editor.svelte.d.ts +124 -0
  72. package/dist/client/js/editor/editor.svelte.d.ts.map +1 -0
  73. package/dist/client/js/editor/editor.svelte.js +294 -0
  74. package/dist/client/js/editor/languages.d.ts +11 -0
  75. package/dist/client/js/editor/languages.d.ts.map +1 -0
  76. package/dist/client/js/editor/languages.js +93 -0
  77. package/dist/client/js/editor/link-wrap.d.ts +6 -0
  78. package/dist/client/js/editor/link-wrap.d.ts.map +1 -0
  79. package/{src/client/js/editor/link-wrap.ts → dist/client/js/editor/link-wrap.js} +17 -24
  80. package/dist/client/js/editor/markdown-shortcuts.d.ts +4 -0
  81. package/dist/client/js/editor/markdown-shortcuts.d.ts.map +1 -0
  82. package/dist/client/js/editor/markdown-shortcuts.js +219 -0
  83. package/dist/client/js/handlers/admin.d.ts +64 -0
  84. package/dist/client/js/handlers/admin.d.ts.map +1 -0
  85. package/dist/client/js/handlers/admin.js +186 -0
  86. package/dist/client/js/state/dialogs.svelte.d.ts +16 -0
  87. package/dist/client/js/state/dialogs.svelte.d.ts.map +1 -0
  88. package/dist/client/js/state/dialogs.svelte.js +28 -0
  89. package/dist/client/js/state/router.svelte.d.ts +44 -0
  90. package/dist/client/js/state/router.svelte.d.ts.map +1 -0
  91. package/dist/client/js/state/router.svelte.js +141 -0
  92. package/dist/client/js/state/schema.svelte.d.ts +51 -0
  93. package/dist/client/js/state/schema.svelte.d.ts.map +1 -0
  94. package/{src/client/js/state/schema.svelte.ts → dist/client/js/state/schema.svelte.js} +55 -70
  95. package/dist/client/js/state/state.svelte.d.ts +68 -0
  96. package/dist/client/js/state/state.svelte.d.ts.map +1 -0
  97. package/dist/client/js/state/state.svelte.js +300 -0
  98. package/dist/client/js/state/theme.svelte.d.ts +24 -0
  99. package/dist/client/js/state/theme.svelte.d.ts.map +1 -0
  100. package/{src/client/js/state/theme.svelte.ts → dist/client/js/state/theme.svelte.js} +54 -91
  101. package/dist/client/js/storage/adapter.d.ts +130 -0
  102. package/dist/client/js/storage/adapter.d.ts.map +1 -0
  103. package/dist/client/js/storage/adapter.js +5 -0
  104. package/dist/client/js/storage/client.d.ts +72 -0
  105. package/dist/client/js/storage/client.d.ts.map +1 -0
  106. package/dist/client/js/storage/client.js +121 -0
  107. package/dist/client/js/storage/db.d.ts +8 -0
  108. package/dist/client/js/storage/db.d.ts.map +1 -0
  109. package/dist/client/js/storage/db.js +35 -0
  110. package/dist/client/js/storage/fsa.d.ts +51 -0
  111. package/dist/client/js/storage/fsa.d.ts.map +1 -0
  112. package/dist/client/js/storage/fsa.js +91 -0
  113. package/dist/client/js/storage/github.d.ts +62 -0
  114. package/dist/client/js/storage/github.d.ts.map +1 -0
  115. package/dist/client/js/storage/github.js +216 -0
  116. package/dist/client/js/storage/storage.d.ts +32 -0
  117. package/dist/client/js/storage/storage.d.ts.map +1 -0
  118. package/dist/client/js/storage/storage.js +68 -0
  119. package/dist/client/js/storage/workers/frontmatter.d.ts +2 -0
  120. package/dist/client/js/storage/workers/frontmatter.d.ts.map +1 -0
  121. package/dist/client/js/storage/workers/frontmatter.js +253 -0
  122. package/dist/client/js/storage/workers/storage.d.ts +2 -0
  123. package/dist/client/js/storage/workers/storage.d.ts.map +1 -0
  124. package/dist/client/js/storage/workers/storage.js +167 -0
  125. package/dist/client/js/storage/workers/toml-parser.d.ts +2 -0
  126. package/dist/client/js/storage/workers/toml-parser.d.ts.map +1 -0
  127. package/dist/client/js/storage/workers/toml-parser.js +75 -0
  128. package/dist/client/js/storage/workers/yaml-parser.d.ts +2 -0
  129. package/dist/client/js/storage/workers/yaml-parser.d.ts.map +1 -0
  130. package/dist/client/js/storage/workers/yaml-parser.js +100 -0
  131. package/dist/client/js/utils/file-types.d.ts +58 -0
  132. package/dist/client/js/utils/file-types.d.ts.map +1 -0
  133. package/{src/client/js/utils/file-types.ts → dist/client/js/utils/file-types.js} +75 -107
  134. package/dist/client/js/utils/format.d.ts +8 -0
  135. package/dist/client/js/utils/format.d.ts.map +1 -0
  136. package/{src/client/js/utils/format.ts → dist/client/js/utils/format.js} +5 -6
  137. package/dist/client/js/utils/frontmatter.d.ts +12 -0
  138. package/dist/client/js/utils/frontmatter.d.ts.map +1 -0
  139. package/dist/client/js/utils/frontmatter.js +29 -0
  140. package/dist/client/js/utils/schema-utils.d.ts +110 -0
  141. package/dist/client/js/utils/schema-utils.d.ts.map +1 -0
  142. package/dist/client/js/utils/schema-utils.js +242 -0
  143. package/dist/client/js/utils/slug.d.ts +8 -0
  144. package/dist/client/js/utils/slug.d.ts.map +1 -0
  145. package/{src/client/js/utils/slug.ts → dist/client/js/utils/slug.js} +6 -7
  146. package/dist/client/js/utils/sort.d.ts +41 -0
  147. package/dist/client/js/utils/sort.d.ts.map +1 -0
  148. package/dist/client/js/utils/sort.js +65 -0
  149. package/dist/client/js/utils/stable-stringify.d.ts +8 -0
  150. package/dist/client/js/utils/stable-stringify.d.ts.map +1 -0
  151. package/dist/client/js/utils/stable-stringify.js +23 -0
  152. package/dist/client/js/utils/url-utils.d.ts +11 -0
  153. package/dist/client/js/utils/url-utils.d.ts.map +1 -0
  154. package/{src/client/js/utils/url-utils.ts → dist/client/js/utils/url-utils.js} +22 -23
  155. package/dist/client/types/browser-apis.d.ts +39 -0
  156. package/dist/types.d.ts +22 -0
  157. package/dist/types.d.ts.map +1 -0
  158. package/dist/types.js +1 -0
  159. package/package.json +13 -3
  160. package/.github/workflows/ci.yml +0 -27
  161. package/.github/workflows/publish.yml +0 -34
  162. package/.mcp.json +0 -12
  163. package/.prettierignore +0 -5
  164. package/.prettierrc.cjs +0 -22
  165. package/AGENTS.md +0 -183
  166. package/playground/astro.config.mjs +0 -7
  167. package/playground/node_modules/.bin/astro +0 -21
  168. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js +0 -85
  169. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js.map +0 -7
  170. package/playground/node_modules/.vite/deps/_metadata.json +0 -184
  171. package/playground/node_modules/.vite/deps/astro___aria-query.js +0 -6776
  172. package/playground/node_modules/.vite/deps/astro___aria-query.js.map +0 -7
  173. package/playground/node_modules/.vite/deps/astro___axobject-query.js +0 -3754
  174. package/playground/node_modules/.vite/deps/astro___axobject-query.js.map +0 -7
  175. package/playground/node_modules/.vite/deps/astro___html-escaper.js +0 -34
  176. package/playground/node_modules/.vite/deps/astro___html-escaper.js.map +0 -7
  177. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js +0 -0
  178. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js.map +0 -7
  179. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js +0 -8
  180. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js.map +0 -7
  181. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js +0 -21
  182. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js.map +0 -7
  183. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js +0 -223
  184. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js.map +0 -7
  185. package/playground/node_modules/.vite/deps/chunk-FPEUJ7DG.js +0 -27
  186. package/playground/node_modules/.vite/deps/chunk-FPEUJ7DG.js.map +0 -7
  187. package/playground/node_modules/.vite/deps/chunk-MHDZ3SK7.js +0 -1005
  188. package/playground/node_modules/.vite/deps/chunk-MHDZ3SK7.js.map +0 -7
  189. package/playground/node_modules/.vite/deps/chunk-RBDTDTPY.js +0 -204
  190. package/playground/node_modules/.vite/deps/chunk-RBDTDTPY.js.map +0 -7
  191. package/playground/node_modules/.vite/deps/chunk-RJGEXL5C.js +0 -688
  192. package/playground/node_modules/.vite/deps/chunk-RJGEXL5C.js.map +0 -7
  193. package/playground/node_modules/.vite/deps/chunk-YL4MIWGJ.js +0 -5099
  194. package/playground/node_modules/.vite/deps/chunk-YL4MIWGJ.js.map +0 -7
  195. package/playground/node_modules/.vite/deps/chunk-ZOV3DWEJ.js +0 -4376
  196. package/playground/node_modules/.vite/deps/chunk-ZOV3DWEJ.js.map +0 -7
  197. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js +0 -23
  198. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js.map +0 -7
  199. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js +0 -148
  200. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js.map +0 -7
  201. package/playground/node_modules/.vite/deps/package.json +0 -3
  202. package/playground/node_modules/.vite/deps/smol-toml.js +0 -843
  203. package/playground/node_modules/.vite/deps/smol-toml.js.map +0 -7
  204. package/playground/node_modules/.vite/deps/svelte.js +0 -55
  205. package/playground/node_modules/.vite/deps/svelte.js.map +0 -7
  206. package/playground/node_modules/.vite/deps/svelte___clsx.js +0 -9
  207. package/playground/node_modules/.vite/deps/svelte___clsx.js.map +0 -7
  208. package/playground/node_modules/.vite/deps/svelte_animate.js +0 -57
  209. package/playground/node_modules/.vite/deps/svelte_animate.js.map +0 -7
  210. package/playground/node_modules/.vite/deps/svelte_attachments.js +0 -15
  211. package/playground/node_modules/.vite/deps/svelte_attachments.js.map +0 -7
  212. package/playground/node_modules/.vite/deps/svelte_easing.js +0 -67
  213. package/playground/node_modules/.vite/deps/svelte_easing.js.map +0 -7
  214. package/playground/node_modules/.vite/deps/svelte_events.js +0 -11
  215. package/playground/node_modules/.vite/deps/svelte_events.js.map +0 -7
  216. package/playground/node_modules/.vite/deps/svelte_internal.js +0 -5
  217. package/playground/node_modules/.vite/deps/svelte_internal.js.map +0 -7
  218. package/playground/node_modules/.vite/deps/svelte_internal_client.js +0 -402
  219. package/playground/node_modules/.vite/deps/svelte_internal_client.js.map +0 -7
  220. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js +0 -10
  221. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js.map +0 -7
  222. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js +0 -8
  223. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js.map +0 -7
  224. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js +0 -8
  225. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js.map +0 -7
  226. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js +0 -8
  227. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js.map +0 -7
  228. package/playground/node_modules/.vite/deps/svelte_legacy.js +0 -35
  229. package/playground/node_modules/.vite/deps/svelte_legacy.js.map +0 -7
  230. package/playground/node_modules/.vite/deps/svelte_motion.js +0 -545
  231. package/playground/node_modules/.vite/deps/svelte_motion.js.map +0 -7
  232. package/playground/node_modules/.vite/deps/svelte_reactivity.js +0 -29
  233. package/playground/node_modules/.vite/deps/svelte_reactivity.js.map +0 -7
  234. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js +0 -127
  235. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js.map +0 -7
  236. package/playground/node_modules/.vite/deps/svelte_store.js +0 -103
  237. package/playground/node_modules/.vite/deps/svelte_store.js.map +0 -7
  238. package/playground/node_modules/.vite/deps/svelte_transition.js +0 -208
  239. package/playground/node_modules/.vite/deps/svelte_transition.js.map +0 -7
  240. package/playground/package.json +0 -16
  241. package/playground/pnpm-lock.yaml +0 -3167
  242. package/playground/src/content/authors/jane-doe.json +0 -8
  243. package/playground/src/content/config/build.toml +0 -2
  244. package/playground/src/content/courses/web-fundamentals.json +0 -29
  245. package/playground/src/content/docs/advanced.mdx +0 -6
  246. package/playground/src/content/docs/intro.md +0 -6
  247. package/playground/src/content/guides/getting-started.mdx +0 -6
  248. package/playground/src/content/posts/hello-world.md +0 -7
  249. package/playground/src/content/products/t-shirt.json +0 -16
  250. package/playground/src/content/recipes/pancakes.mdoc +0 -8
  251. package/playground/src/content/settings/site.yml +0 -2
  252. package/playground/src/content.config.ts +0 -198
  253. package/playground/src/env.d.ts +0 -1
  254. package/playground/src/pages/index.astro +0 -11
  255. package/playground/src/pages/nebula.astro +0 -14
  256. package/pnpm-workspace.yaml +0 -2
  257. package/scripts/subset-icons.mjs +0 -178
  258. package/src/astro/index.ts +0 -295
  259. package/src/client/js/drafts/merge.svelte.ts +0 -121
  260. package/src/client/js/drafts/ops.svelte.ts +0 -227
  261. package/src/client/js/drafts/storage.ts +0 -108
  262. package/src/client/js/drafts/workers/diff.ts +0 -40
  263. package/src/client/js/editor/editor.svelte.ts +0 -343
  264. package/src/client/js/editor/languages.ts +0 -98
  265. package/src/client/js/editor/markdown-shortcuts.ts +0 -261
  266. package/src/client/js/handlers/admin.ts +0 -246
  267. package/src/client/js/state/dialogs.svelte.ts +0 -35
  268. package/src/client/js/state/router.svelte.ts +0 -156
  269. package/src/client/js/state/state.svelte.ts +0 -334
  270. package/src/client/js/storage/adapter.ts +0 -102
  271. package/src/client/js/storage/client.ts +0 -150
  272. package/src/client/js/storage/db.ts +0 -36
  273. package/src/client/js/storage/fsa.ts +0 -110
  274. package/src/client/js/storage/github.ts +0 -297
  275. package/src/client/js/storage/storage.ts +0 -83
  276. package/src/client/js/storage/workers/frontmatter.ts +0 -320
  277. package/src/client/js/storage/workers/storage.ts +0 -177
  278. package/src/client/js/storage/workers/toml-parser.ts +0 -106
  279. package/src/client/js/storage/workers/yaml-parser.ts +0 -132
  280. package/src/client/js/utils/frontmatter.ts +0 -38
  281. package/src/client/js/utils/schema-utils.ts +0 -295
  282. package/src/client/js/utils/sort.ts +0 -84
  283. package/src/client/js/utils/stable-stringify.ts +0 -27
  284. package/src/types.ts +0 -25
  285. package/svelte.config.js +0 -4
  286. package/tests/astro/build.test.ts +0 -63
  287. package/tests/astro/index.test.ts +0 -689
  288. package/tests/client/components/Admin.test.ts +0 -446
  289. package/tests/client/components/BackendPicker.test.ts +0 -239
  290. package/tests/client/components/DraftChip.test.ts +0 -53
  291. package/tests/client/components/MetadataForm.test.ts +0 -164
  292. package/tests/client/components/dialogs/DeleteDraftDialog.test.ts +0 -91
  293. package/tests/client/components/dialogs/FilenameDialog.test.ts +0 -209
  294. package/tests/client/components/dialogs/dialog-stubs.ts +0 -19
  295. package/tests/client/components/editor/EditorPane.test.ts +0 -100
  296. package/tests/client/components/editor/EditorTabs.test.ts +0 -253
  297. package/tests/client/components/editor/EditorToolbar.test.ts +0 -252
  298. package/tests/client/components/editor/fixtures.ts +0 -31
  299. package/tests/client/components/fields/ArrayField.test.ts +0 -197
  300. package/tests/client/components/fields/BooleanField.test.ts +0 -206
  301. package/tests/client/components/fields/DateField.test.ts +0 -210
  302. package/tests/client/components/fields/EnumField.test.ts +0 -246
  303. package/tests/client/components/fields/NumberField.test.ts +0 -240
  304. package/tests/client/components/fields/ObjectField.test.ts +0 -157
  305. package/tests/client/components/fields/SchemaField.test.ts +0 -190
  306. package/tests/client/components/fields/StringField.test.ts +0 -223
  307. package/tests/client/components/sidebar/AdminSidebar.test.ts +0 -285
  308. package/tests/client/components/sidebar/AdminSidebarSort.test.ts +0 -135
  309. package/tests/client/components/sidebar/sort-mock.ts +0 -23
  310. package/tests/client/js/drafts/fixtures.ts +0 -22
  311. package/tests/client/js/drafts/merge.test.ts +0 -282
  312. package/tests/client/js/drafts/ops.test.ts +0 -658
  313. package/tests/client/js/drafts/storage.test.ts +0 -200
  314. package/tests/client/js/drafts/workers/diff.test.ts +0 -165
  315. package/tests/client/js/editor/editor.test.ts +0 -616
  316. package/tests/client/js/editor/link-wrap.test.ts +0 -225
  317. package/tests/client/js/editor/markdown-shortcuts.test.ts +0 -370
  318. package/tests/client/js/handlers/admin.test.ts +0 -467
  319. package/tests/client/js/state/router.test.ts +0 -619
  320. package/tests/client/js/state/schema.test.ts +0 -266
  321. package/tests/client/js/state/state.test.ts +0 -328
  322. package/tests/client/js/storage/adapter.test.ts +0 -115
  323. package/tests/client/js/storage/client.test.ts +0 -250
  324. package/tests/client/js/storage/db.test.ts +0 -59
  325. package/tests/client/js/storage/fsa.test.ts +0 -284
  326. package/tests/client/js/storage/github.test.ts +0 -349
  327. package/tests/client/js/storage/mock-port.ts +0 -95
  328. package/tests/client/js/storage/storage.test.ts +0 -77
  329. package/tests/client/js/storage/workers/frontmatter.test.ts +0 -479
  330. package/tests/client/js/storage/workers/storage.test.ts +0 -299
  331. package/tests/client/js/storage/workers/toml-parser.test.ts +0 -169
  332. package/tests/client/js/storage/workers/yaml-parser.test.ts +0 -168
  333. package/tests/client/js/utils/file-types.test.ts +0 -268
  334. package/tests/client/js/utils/frontmatter.test.ts +0 -87
  335. package/tests/client/js/utils/schema-utils.test.ts +0 -318
  336. package/tests/client/js/utils/slug.test.ts +0 -58
  337. package/tests/client/js/utils/sort.test.ts +0 -276
  338. package/tests/client/js/utils/stable-stringify.test.ts +0 -68
  339. package/tests/client/js/utils/url-utils.test.ts +0 -70
  340. package/tests/e2e/backend-connection.test.ts +0 -301
  341. package/tests/e2e/draft-lifecycle.test.ts +0 -388
  342. package/tests/e2e/editing.test.ts +0 -355
  343. package/tests/e2e/github-adapter.test.ts +0 -330
  344. package/tests/e2e/helpers/mock-adapter.ts +0 -166
  345. package/tests/e2e/helpers/test-app.ts +0 -155
  346. package/tests/e2e/navigation.test.ts +0 -358
  347. package/tests/e2e/publishing.test.ts +0 -345
  348. package/tests/e2e/unsaved-changes.test.ts +0 -317
  349. package/tests/setup.ts +0 -2
  350. package/tests/stubs/codemirror.ts +0 -197
  351. package/tsconfig.json +0 -19
  352. package/vitest.config.ts +0 -178
  353. /package/{src → dist}/client/components/BackendPicker.svelte +0 -0
  354. /package/{src → dist}/client/components/DraftChip.svelte +0 -0
  355. /package/{src → dist}/client/components/MetadataForm.svelte +0 -0
  356. /package/{src → dist}/client/components/ThemeToggle.svelte +0 -0
  357. /package/{src → dist}/client/components/dialogs/DeleteDraftDialog.svelte +0 -0
  358. /package/{src → dist}/client/components/editor/EditorPane.svelte +0 -0
  359. /package/{src → dist}/client/components/editor/EditorTabs.svelte +0 -0
  360. /package/{src → dist}/client/components/editor/EditorToolbar.svelte +0 -0
  361. /package/{src → dist}/client/components/editor/FormatSelector.svelte +0 -0
  362. /package/{src → dist}/client/components/editor/Toolbar.svelte +0 -0
  363. /package/{src → dist}/client/components/fields/ArrayField.svelte +0 -0
  364. /package/{src → dist}/client/components/fields/ArrayItem.svelte +0 -0
  365. /package/{src → dist}/client/components/fields/BooleanField.svelte +0 -0
  366. /package/{src → dist}/client/components/fields/DateField.svelte +0 -0
  367. /package/{src → dist}/client/components/fields/EnumField.svelte +0 -0
  368. /package/{src → dist}/client/components/fields/FieldWrapper.svelte +0 -0
  369. /package/{src → dist}/client/components/fields/NumberField.svelte +0 -0
  370. /package/{src → dist}/client/components/fields/ObjectField.svelte +0 -0
  371. /package/{src → dist}/client/components/fields/SchemaField.svelte +0 -0
  372. /package/{src → dist}/client/components/fields/StringField.svelte +0 -0
  373. /package/{src → dist}/client/components/sidebar/AdminSidebarSort.svelte +0 -0
  374. /package/{src → dist}/client/css/a11y.css +0 -0
  375. /package/{src → dist}/client/css/btn.css +0 -0
  376. /package/{src → dist}/client/css/dialog.css +0 -0
  377. /package/{src → dist}/client/css/field-input.css +0 -0
  378. /package/{src → dist}/client/css/reset.css +0 -0
  379. /package/{src → dist}/client/css/theme.css +0 -0
  380. /package/{src/client/index.ts → dist/client/index.js} +0 -0
  381. /package/{src → dist}/virtual.d.ts +0 -0
@@ -1,1005 +0,0 @@
1
- import {
2
- all_registered_events,
3
- handle_event_propagation,
4
- on,
5
- root_event_handles
6
- } from "./chunk-RBDTDTPY.js";
7
- import {
8
- COMMENT_NODE,
9
- DIRTY,
10
- DOCUMENT_FRAGMENT_NODE,
11
- FILENAME,
12
- HYDRATION_END,
13
- HYDRATION_ERROR,
14
- HYDRATION_START,
15
- IS_XHTML,
16
- LEGACY_PROPS,
17
- MAYBE_DIRTY,
18
- NAMESPACE_MATHML,
19
- NAMESPACE_SVG,
20
- REACTION_RAN,
21
- STATE_SYMBOL,
22
- TEMPLATE_FRAGMENT,
23
- TEMPLATE_USE_IMPORT_NODE,
24
- TEMPLATE_USE_MATHML,
25
- TEMPLATE_USE_SVG,
26
- TEXT_NODE,
27
- active_effect,
28
- array_from,
29
- boundary,
30
- clear_text_content,
31
- component_context,
32
- component_root,
33
- create_comment,
34
- create_element,
35
- create_fragment,
36
- create_text,
37
- define_property,
38
- dev_current_component_function,
39
- flushSync,
40
- get2 as get,
41
- get_first_child,
42
- get_next_sibling,
43
- hydrate_next,
44
- hydrate_node,
45
- hydrating,
46
- hydration_failed,
47
- init_operations,
48
- is_array,
49
- is_firefox,
50
- lifecycle_outside_component,
51
- merge_text_nodes,
52
- mutable_source,
53
- noop,
54
- pop,
55
- push,
56
- set,
57
- set_attribute,
58
- set_hydrate_node,
59
- set_hydrating,
60
- set_signal_status,
61
- user_pre_effect
62
- } from "./chunk-YL4MIWGJ.js";
63
- import {
64
- hydration_mismatch,
65
- legacy_recursive_reactive_block,
66
- lifecycle_double_unmount,
67
- state_proxy_unmount,
68
- true_default
69
- } from "./chunk-DBPNBGEI.js";
70
- import {
71
- async_mode_flag
72
- } from "./chunk-ZP4UNCSN.js";
73
-
74
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/client/dom/reconciler.js
75
- var policy = (
76
- // We gotta write it like this because after downleveling the pure comment may end up in the wrong location
77
- globalThis?.window?.trustedTypes && globalThis.window.trustedTypes.createPolicy("svelte-trusted-html", {
78
- /** @param {string} html */
79
- createHTML: (html) => {
80
- return html;
81
- }
82
- })
83
- );
84
- function create_trusted_html(html) {
85
- return (
86
- /** @type {string} */
87
- policy?.createHTML(html) ?? html
88
- );
89
- }
90
- function create_fragment_from_html(html) {
91
- var elem = create_element("template");
92
- elem.innerHTML = create_trusted_html(html.replaceAll("<!>", "<!---->"));
93
- return elem.content;
94
- }
95
-
96
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/client/dom/template.js
97
- var TEMPLATE_TAG = IS_XHTML ? "template" : "TEMPLATE";
98
- var SCRIPT_TAG = IS_XHTML ? "script" : "SCRIPT";
99
- function assign_nodes(start, end) {
100
- var effect = (
101
- /** @type {Effect} */
102
- active_effect
103
- );
104
- if (effect.nodes === null) {
105
- effect.nodes = { start, end, a: null, t: null };
106
- }
107
- }
108
- function from_html(content, flags) {
109
- var is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;
110
- var use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;
111
- var node;
112
- var has_start = !content.startsWith("<!>");
113
- return () => {
114
- if (hydrating) {
115
- assign_nodes(hydrate_node, null);
116
- return hydrate_node;
117
- }
118
- if (node === void 0) {
119
- node = create_fragment_from_html(has_start ? content : "<!>" + content);
120
- if (!is_fragment) node = /** @type {TemplateNode} */
121
- get_first_child(node);
122
- }
123
- var clone = (
124
- /** @type {TemplateNode} */
125
- use_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)
126
- );
127
- if (is_fragment) {
128
- var start = (
129
- /** @type {TemplateNode} */
130
- get_first_child(clone)
131
- );
132
- var end = (
133
- /** @type {TemplateNode} */
134
- clone.lastChild
135
- );
136
- assign_nodes(start, end);
137
- } else {
138
- assign_nodes(clone, clone);
139
- }
140
- return clone;
141
- };
142
- }
143
- function from_namespace(content, flags, ns = "svg") {
144
- var has_start = !content.startsWith("<!>");
145
- var is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;
146
- var wrapped = `<${ns}>${has_start ? content : "<!>" + content}</${ns}>`;
147
- var node;
148
- return () => {
149
- if (hydrating) {
150
- assign_nodes(hydrate_node, null);
151
- return hydrate_node;
152
- }
153
- if (!node) {
154
- var fragment = (
155
- /** @type {DocumentFragment} */
156
- create_fragment_from_html(wrapped)
157
- );
158
- var root = (
159
- /** @type {Element} */
160
- get_first_child(fragment)
161
- );
162
- if (is_fragment) {
163
- node = document.createDocumentFragment();
164
- while (get_first_child(root)) {
165
- node.appendChild(
166
- /** @type {TemplateNode} */
167
- get_first_child(root)
168
- );
169
- }
170
- } else {
171
- node = /** @type {Element} */
172
- get_first_child(root);
173
- }
174
- }
175
- var clone = (
176
- /** @type {TemplateNode} */
177
- node.cloneNode(true)
178
- );
179
- if (is_fragment) {
180
- var start = (
181
- /** @type {TemplateNode} */
182
- get_first_child(clone)
183
- );
184
- var end = (
185
- /** @type {TemplateNode} */
186
- clone.lastChild
187
- );
188
- assign_nodes(start, end);
189
- } else {
190
- assign_nodes(clone, clone);
191
- }
192
- return clone;
193
- };
194
- }
195
- function from_svg(content, flags) {
196
- return from_namespace(content, flags, "svg");
197
- }
198
- function from_mathml(content, flags) {
199
- return from_namespace(content, flags, "math");
200
- }
201
- function fragment_from_tree(structure, ns) {
202
- var fragment = create_fragment();
203
- for (var item of structure) {
204
- if (typeof item === "string") {
205
- fragment.append(create_text(item));
206
- continue;
207
- }
208
- if (item === void 0 || item[0][0] === "/") {
209
- fragment.append(create_comment(item ? item[0].slice(3) : ""));
210
- continue;
211
- }
212
- const [name, attributes, ...children] = item;
213
- const namespace = name === "svg" ? NAMESPACE_SVG : name === "math" ? NAMESPACE_MATHML : ns;
214
- var element = create_element(name, namespace, attributes?.is);
215
- for (var key in attributes) {
216
- set_attribute(element, key, attributes[key]);
217
- }
218
- if (children.length > 0) {
219
- var target = element.nodeName === TEMPLATE_TAG ? (
220
- /** @type {HTMLTemplateElement} */
221
- element.content
222
- ) : element;
223
- target.append(
224
- fragment_from_tree(children, element.nodeName === "foreignObject" ? void 0 : namespace)
225
- );
226
- }
227
- fragment.append(element);
228
- }
229
- return fragment;
230
- }
231
- function from_tree(structure, flags) {
232
- var is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;
233
- var use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;
234
- var node;
235
- return () => {
236
- if (hydrating) {
237
- assign_nodes(hydrate_node, null);
238
- return hydrate_node;
239
- }
240
- if (node === void 0) {
241
- const ns = (flags & TEMPLATE_USE_SVG) !== 0 ? NAMESPACE_SVG : (flags & TEMPLATE_USE_MATHML) !== 0 ? NAMESPACE_MATHML : void 0;
242
- node = fragment_from_tree(structure, ns);
243
- if (!is_fragment) node = /** @type {TemplateNode} */
244
- get_first_child(node);
245
- }
246
- var clone = (
247
- /** @type {TemplateNode} */
248
- use_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)
249
- );
250
- if (is_fragment) {
251
- var start = (
252
- /** @type {TemplateNode} */
253
- get_first_child(clone)
254
- );
255
- var end = (
256
- /** @type {TemplateNode} */
257
- clone.lastChild
258
- );
259
- assign_nodes(start, end);
260
- } else {
261
- assign_nodes(clone, clone);
262
- }
263
- return clone;
264
- };
265
- }
266
- function with_script(fn) {
267
- return () => run_scripts(fn());
268
- }
269
- function run_scripts(node) {
270
- if (hydrating) return node;
271
- const is_fragment = node.nodeType === DOCUMENT_FRAGMENT_NODE;
272
- const scripts = (
273
- /** @type {HTMLElement} */
274
- node.nodeName === SCRIPT_TAG ? [
275
- /** @type {HTMLScriptElement} */
276
- node
277
- ] : node.querySelectorAll("script")
278
- );
279
- const effect = (
280
- /** @type {Effect & { nodes: EffectNodes }} */
281
- active_effect
282
- );
283
- for (const script of scripts) {
284
- const clone = create_element("script");
285
- for (var attribute of script.attributes) {
286
- clone.setAttribute(attribute.name, attribute.value);
287
- }
288
- clone.textContent = script.textContent;
289
- if (is_fragment ? node.firstChild === script : node === script) {
290
- effect.nodes.start = clone;
291
- }
292
- if (is_fragment ? node.lastChild === script : node === script) {
293
- effect.nodes.end = clone;
294
- }
295
- script.replaceWith(clone);
296
- }
297
- return node;
298
- }
299
- function text(value = "") {
300
- if (!hydrating) {
301
- var t = create_text(value + "");
302
- assign_nodes(t, t);
303
- return t;
304
- }
305
- var node = hydrate_node;
306
- if (node.nodeType !== TEXT_NODE) {
307
- node.before(node = create_text());
308
- set_hydrate_node(node);
309
- } else {
310
- merge_text_nodes(
311
- /** @type {Text} */
312
- node
313
- );
314
- }
315
- assign_nodes(node, node);
316
- return node;
317
- }
318
- function comment() {
319
- if (hydrating) {
320
- assign_nodes(hydrate_node, null);
321
- return hydrate_node;
322
- }
323
- var frag = document.createDocumentFragment();
324
- var start = document.createComment("");
325
- var anchor = create_text();
326
- frag.append(start, anchor);
327
- assign_nodes(start, anchor);
328
- return frag;
329
- }
330
- function append(anchor, dom) {
331
- if (hydrating) {
332
- var effect = (
333
- /** @type {Effect & { nodes: EffectNodes }} */
334
- active_effect
335
- );
336
- if ((effect.f & REACTION_RAN) === 0 || effect.nodes.end === null) {
337
- effect.nodes.end = hydrate_node;
338
- }
339
- hydrate_next();
340
- return;
341
- }
342
- if (anchor === null) {
343
- return;
344
- }
345
- anchor.before(
346
- /** @type {Node} */
347
- dom
348
- );
349
- }
350
- function props_id() {
351
- if (hydrating && hydrate_node && hydrate_node.nodeType === COMMENT_NODE && hydrate_node.textContent?.startsWith(`$`)) {
352
- const id = hydrate_node.textContent.substring(1);
353
- hydrate_next();
354
- return id;
355
- }
356
- (window.__svelte ??= {}).uid ??= 1;
357
- return `c${window.__svelte.uid++}`;
358
- }
359
-
360
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/utils.js
361
- var regex_return_characters = /\r/g;
362
- function hash(str) {
363
- str = str.replace(regex_return_characters, "");
364
- let hash2 = 5381;
365
- let i = str.length;
366
- while (i--) hash2 = (hash2 << 5) - hash2 ^ str.charCodeAt(i);
367
- return (hash2 >>> 0).toString(36);
368
- }
369
- var VOID_ELEMENT_NAMES = [
370
- "area",
371
- "base",
372
- "br",
373
- "col",
374
- "command",
375
- "embed",
376
- "hr",
377
- "img",
378
- "input",
379
- "keygen",
380
- "link",
381
- "meta",
382
- "param",
383
- "source",
384
- "track",
385
- "wbr"
386
- ];
387
- function is_void(name) {
388
- return VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === "!doctype";
389
- }
390
- function is_capture_event(name) {
391
- return name.endsWith("capture") && name !== "gotpointercapture" && name !== "lostpointercapture";
392
- }
393
- var DELEGATED_EVENTS = [
394
- "beforeinput",
395
- "click",
396
- "change",
397
- "dblclick",
398
- "contextmenu",
399
- "focusin",
400
- "focusout",
401
- "input",
402
- "keydown",
403
- "keyup",
404
- "mousedown",
405
- "mousemove",
406
- "mouseout",
407
- "mouseover",
408
- "mouseup",
409
- "pointerdown",
410
- "pointermove",
411
- "pointerout",
412
- "pointerover",
413
- "pointerup",
414
- "touchend",
415
- "touchmove",
416
- "touchstart"
417
- ];
418
- function can_delegate_event(event_name) {
419
- return DELEGATED_EVENTS.includes(event_name);
420
- }
421
- var DOM_BOOLEAN_ATTRIBUTES = [
422
- "allowfullscreen",
423
- "async",
424
- "autofocus",
425
- "autoplay",
426
- "checked",
427
- "controls",
428
- "default",
429
- "disabled",
430
- "formnovalidate",
431
- "indeterminate",
432
- "inert",
433
- "ismap",
434
- "loop",
435
- "multiple",
436
- "muted",
437
- "nomodule",
438
- "novalidate",
439
- "open",
440
- "playsinline",
441
- "readonly",
442
- "required",
443
- "reversed",
444
- "seamless",
445
- "selected",
446
- "webkitdirectory",
447
- "defer",
448
- "disablepictureinpicture",
449
- "disableremoteplayback"
450
- ];
451
- var ATTRIBUTE_ALIASES = {
452
- // no `class: 'className'` because we handle that separately
453
- formnovalidate: "formNoValidate",
454
- ismap: "isMap",
455
- nomodule: "noModule",
456
- playsinline: "playsInline",
457
- readonly: "readOnly",
458
- defaultvalue: "defaultValue",
459
- defaultchecked: "defaultChecked",
460
- srcobject: "srcObject",
461
- novalidate: "noValidate",
462
- allowfullscreen: "allowFullscreen",
463
- disablepictureinpicture: "disablePictureInPicture",
464
- disableremoteplayback: "disableRemotePlayback"
465
- };
466
- function normalize_attribute(name) {
467
- name = name.toLowerCase();
468
- return ATTRIBUTE_ALIASES[name] ?? name;
469
- }
470
- var DOM_PROPERTIES = [
471
- ...DOM_BOOLEAN_ATTRIBUTES,
472
- "formNoValidate",
473
- "isMap",
474
- "noModule",
475
- "playsInline",
476
- "readOnly",
477
- "value",
478
- "volume",
479
- "defaultValue",
480
- "defaultChecked",
481
- "srcObject",
482
- "noValidate",
483
- "allowFullscreen",
484
- "disablePictureInPicture",
485
- "disableRemotePlayback"
486
- ];
487
- var PASSIVE_EVENTS = ["touchstart", "touchmove"];
488
- function is_passive_event(name) {
489
- return PASSIVE_EVENTS.includes(name);
490
- }
491
- var STATE_CREATION_RUNES = (
492
- /** @type {const} */
493
- [
494
- "$state",
495
- "$state.raw",
496
- "$derived",
497
- "$derived.by"
498
- ]
499
- );
500
- var RUNES = (
501
- /** @type {const} */
502
- [
503
- ...STATE_CREATION_RUNES,
504
- "$state.eager",
505
- "$state.snapshot",
506
- "$props",
507
- "$props.id",
508
- "$bindable",
509
- "$effect",
510
- "$effect.pre",
511
- "$effect.tracking",
512
- "$effect.root",
513
- "$effect.pending",
514
- "$inspect",
515
- "$inspect().with",
516
- "$inspect.trace",
517
- "$host"
518
- ]
519
- );
520
- var RAW_TEXT_ELEMENTS = (
521
- /** @type {const} */
522
- ["textarea", "script", "style", "title"]
523
- );
524
- function is_raw_text_element(name) {
525
- return RAW_TEXT_ELEMENTS.includes(
526
- /** @type {typeof RAW_TEXT_ELEMENTS[number]} */
527
- name
528
- );
529
- }
530
- function sanitize_location(location) {
531
- return (
532
- /** @type {T} */
533
- location?.replace(/\//g, "/​")
534
- );
535
- }
536
-
537
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/client/render.js
538
- var should_intro = true;
539
- function set_should_intro(value) {
540
- should_intro = value;
541
- }
542
- function set_text(text2, value) {
543
- var str = value == null ? "" : typeof value === "object" ? `${value}` : value;
544
- if (str !== (text2.__t ??= text2.nodeValue)) {
545
- text2.__t = str;
546
- text2.nodeValue = `${str}`;
547
- }
548
- }
549
- function mount(component, options) {
550
- return _mount(component, options);
551
- }
552
- function hydrate(component, options) {
553
- init_operations();
554
- options.intro = options.intro ?? false;
555
- const target = options.target;
556
- const was_hydrating = hydrating;
557
- const previous_hydrate_node = hydrate_node;
558
- try {
559
- var anchor = get_first_child(target);
560
- while (anchor && (anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */
561
- anchor.data !== HYDRATION_START)) {
562
- anchor = get_next_sibling(anchor);
563
- }
564
- if (!anchor) {
565
- throw HYDRATION_ERROR;
566
- }
567
- set_hydrating(true);
568
- set_hydrate_node(
569
- /** @type {Comment} */
570
- anchor
571
- );
572
- const instance = _mount(component, { ...options, anchor });
573
- set_hydrating(false);
574
- return (
575
- /** @type {Exports} */
576
- instance
577
- );
578
- } catch (error) {
579
- if (error instanceof Error && error.message.split("\n").some((line) => line.startsWith("https://svelte.dev/e/"))) {
580
- throw error;
581
- }
582
- if (error !== HYDRATION_ERROR) {
583
- console.warn("Failed to hydrate: ", error);
584
- }
585
- if (options.recover === false) {
586
- hydration_failed();
587
- }
588
- init_operations();
589
- clear_text_content(target);
590
- set_hydrating(false);
591
- return mount(component, options);
592
- } finally {
593
- set_hydrating(was_hydrating);
594
- set_hydrate_node(previous_hydrate_node);
595
- }
596
- }
597
- var listeners = /* @__PURE__ */ new Map();
598
- function _mount(Component, { target, anchor, props = {}, events, context, intro = true, transformError }) {
599
- init_operations();
600
- var component = void 0;
601
- var unmount2 = component_root(() => {
602
- var anchor_node = anchor ?? target.appendChild(create_text());
603
- boundary(
604
- /** @type {TemplateNode} */
605
- anchor_node,
606
- {
607
- pending: () => {
608
- }
609
- },
610
- (anchor_node2) => {
611
- push({});
612
- var ctx = (
613
- /** @type {ComponentContext} */
614
- component_context
615
- );
616
- if (context) ctx.c = context;
617
- if (events) {
618
- props.$$events = events;
619
- }
620
- if (hydrating) {
621
- assign_nodes(
622
- /** @type {TemplateNode} */
623
- anchor_node2,
624
- null
625
- );
626
- }
627
- should_intro = intro;
628
- component = Component(anchor_node2, props) || {};
629
- should_intro = true;
630
- if (hydrating) {
631
- active_effect.nodes.end = hydrate_node;
632
- if (hydrate_node === null || hydrate_node.nodeType !== COMMENT_NODE || /** @type {Comment} */
633
- hydrate_node.data !== HYDRATION_END) {
634
- hydration_mismatch();
635
- throw HYDRATION_ERROR;
636
- }
637
- }
638
- pop();
639
- },
640
- transformError
641
- );
642
- var registered_events = /* @__PURE__ */ new Set();
643
- var event_handle = (events2) => {
644
- for (var i = 0; i < events2.length; i++) {
645
- var event_name = events2[i];
646
- if (registered_events.has(event_name)) continue;
647
- registered_events.add(event_name);
648
- var passive2 = is_passive_event(event_name);
649
- for (const node of [target, document]) {
650
- var counts = listeners.get(node);
651
- if (counts === void 0) {
652
- counts = /* @__PURE__ */ new Map();
653
- listeners.set(node, counts);
654
- }
655
- var count = counts.get(event_name);
656
- if (count === void 0) {
657
- node.addEventListener(event_name, handle_event_propagation, { passive: passive2 });
658
- counts.set(event_name, 1);
659
- } else {
660
- counts.set(event_name, count + 1);
661
- }
662
- }
663
- }
664
- };
665
- event_handle(array_from(all_registered_events));
666
- root_event_handles.add(event_handle);
667
- return () => {
668
- for (var event_name of registered_events) {
669
- for (const node of [target, document]) {
670
- var counts = (
671
- /** @type {Map<string, number>} */
672
- listeners.get(node)
673
- );
674
- var count = (
675
- /** @type {number} */
676
- counts.get(event_name)
677
- );
678
- if (--count == 0) {
679
- node.removeEventListener(event_name, handle_event_propagation);
680
- counts.delete(event_name);
681
- if (counts.size === 0) {
682
- listeners.delete(node);
683
- }
684
- } else {
685
- counts.set(event_name, count);
686
- }
687
- }
688
- }
689
- root_event_handles.delete(event_handle);
690
- if (anchor_node !== anchor) {
691
- anchor_node.parentNode?.removeChild(anchor_node);
692
- }
693
- };
694
- });
695
- mounted_components.set(component, unmount2);
696
- return component;
697
- }
698
- var mounted_components = /* @__PURE__ */ new WeakMap();
699
- function unmount(component, options) {
700
- const fn = mounted_components.get(component);
701
- if (fn) {
702
- mounted_components.delete(component);
703
- return fn(options);
704
- }
705
- if (true_default) {
706
- if (STATE_SYMBOL in component) {
707
- state_proxy_unmount();
708
- } else {
709
- lifecycle_double_unmount();
710
- }
711
- }
712
- return Promise.resolve();
713
- }
714
-
715
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js
716
- function trusted(fn) {
717
- return function(...args) {
718
- var event = (
719
- /** @type {Event} */
720
- args[0]
721
- );
722
- if (event.isTrusted) {
723
- fn?.apply(this, args);
724
- }
725
- };
726
- }
727
- function self(fn) {
728
- return function(...args) {
729
- var event = (
730
- /** @type {Event} */
731
- args[0]
732
- );
733
- if (event.target === this) {
734
- fn?.apply(this, args);
735
- }
736
- };
737
- }
738
- function stopPropagation(fn) {
739
- return function(...args) {
740
- var event = (
741
- /** @type {Event} */
742
- args[0]
743
- );
744
- event.stopPropagation();
745
- return fn?.apply(this, args);
746
- };
747
- }
748
- function once(fn) {
749
- var ran = false;
750
- return function(...args) {
751
- if (ran) return;
752
- ran = true;
753
- return fn?.apply(this, args);
754
- };
755
- }
756
- function stopImmediatePropagation(fn) {
757
- return function(...args) {
758
- var event = (
759
- /** @type {Event} */
760
- args[0]
761
- );
762
- event.stopImmediatePropagation();
763
- return fn?.apply(this, args);
764
- };
765
- }
766
- function preventDefault(fn) {
767
- return function(...args) {
768
- var event = (
769
- /** @type {Event} */
770
- args[0]
771
- );
772
- event.preventDefault();
773
- return fn?.apply(this, args);
774
- };
775
- }
776
- function passive(node, [event, handler]) {
777
- user_pre_effect(() => {
778
- return on(node, event, handler() ?? noop, {
779
- passive: true
780
- });
781
- });
782
- }
783
- function nonpassive(node, [event, handler]) {
784
- user_pre_effect(() => {
785
- return on(node, event, handler() ?? noop, {
786
- passive: false
787
- });
788
- });
789
- }
790
-
791
- // ../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/legacy/legacy-client.js
792
- function createClassComponent(options) {
793
- return new Svelte4Component(options);
794
- }
795
- function asClassComponent(component) {
796
- return class extends Svelte4Component {
797
- /** @param {any} options */
798
- constructor(options) {
799
- super({
800
- component,
801
- ...options
802
- });
803
- }
804
- };
805
- }
806
- var Svelte4Component = class {
807
- /** @type {any} */
808
- #events;
809
- /** @type {Record<string, any>} */
810
- #instance;
811
- /**
812
- * @param {ComponentConstructorOptions & {
813
- * component: any;
814
- * }} options
815
- */
816
- constructor(options) {
817
- var sources = /* @__PURE__ */ new Map();
818
- var add_source = (key, value) => {
819
- var s = mutable_source(value, false, false);
820
- sources.set(key, s);
821
- return s;
822
- };
823
- const props = new Proxy(
824
- { ...options.props || {}, $$events: {} },
825
- {
826
- get(target, prop) {
827
- return get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
828
- },
829
- has(target, prop) {
830
- if (prop === LEGACY_PROPS) return true;
831
- get(sources.get(prop) ?? add_source(prop, Reflect.get(target, prop)));
832
- return Reflect.has(target, prop);
833
- },
834
- set(target, prop, value) {
835
- set(sources.get(prop) ?? add_source(prop, value), value);
836
- return Reflect.set(target, prop, value);
837
- }
838
- }
839
- );
840
- this.#instance = (options.hydrate ? hydrate : mount)(options.component, {
841
- target: options.target,
842
- anchor: options.anchor,
843
- props,
844
- context: options.context,
845
- intro: options.intro ?? false,
846
- recover: options.recover,
847
- transformError: options.transformError
848
- });
849
- if (!async_mode_flag && (!options?.props?.$$host || options.sync === false)) {
850
- flushSync();
851
- }
852
- this.#events = props.$$events;
853
- for (const key of Object.keys(this.#instance)) {
854
- if (key === "$set" || key === "$destroy" || key === "$on") continue;
855
- define_property(this, key, {
856
- get() {
857
- return this.#instance[key];
858
- },
859
- /** @param {any} value */
860
- set(value) {
861
- this.#instance[key] = value;
862
- },
863
- enumerable: true
864
- });
865
- }
866
- this.#instance.$set = /** @param {Record<string, any>} next */
867
- (next) => {
868
- Object.assign(props, next);
869
- };
870
- this.#instance.$destroy = () => {
871
- unmount(this.#instance);
872
- };
873
- }
874
- /** @param {Record<string, any>} props */
875
- $set(props) {
876
- this.#instance.$set(props);
877
- }
878
- /**
879
- * @param {string} event
880
- * @param {(...args: any[]) => any} callback
881
- * @returns {any}
882
- */
883
- $on(event, callback) {
884
- this.#events[event] = this.#events[event] || [];
885
- const cb = (...args) => callback.call(this, ...args);
886
- this.#events[event].push(cb);
887
- return () => {
888
- this.#events[event] = this.#events[event].filter(
889
- /** @param {any} fn */
890
- (fn) => fn !== cb
891
- );
892
- };
893
- }
894
- $destroy() {
895
- this.#instance.$destroy();
896
- }
897
- };
898
- function run(fn) {
899
- user_pre_effect(() => {
900
- fn();
901
- var effect = (
902
- /** @type {import('#client').Effect} */
903
- active_effect
904
- );
905
- if ((effect.f & DIRTY) !== 0) {
906
- let filename = "a file (we can't know which one)";
907
- if (true_default) {
908
- filename = dev_current_component_function?.[FILENAME] ?? filename;
909
- }
910
- legacy_recursive_reactive_block(filename);
911
- set_signal_status(effect, MAYBE_DIRTY);
912
- }
913
- });
914
- }
915
- function handlers(...handlers2) {
916
- return function(event) {
917
- const { stopImmediatePropagation: stopImmediatePropagation2 } = event;
918
- let stopped = false;
919
- event.stopImmediatePropagation = () => {
920
- stopped = true;
921
- stopImmediatePropagation2.call(event);
922
- };
923
- const errors = [];
924
- for (const handler of handlers2) {
925
- try {
926
- handler?.call(this, event);
927
- } catch (e) {
928
- errors.push(e);
929
- }
930
- if (stopped) {
931
- break;
932
- }
933
- }
934
- for (let error of errors) {
935
- queueMicrotask(() => {
936
- throw error;
937
- });
938
- }
939
- };
940
- }
941
- function createBubbler() {
942
- const active_component_context = component_context;
943
- if (active_component_context === null) {
944
- lifecycle_outside_component("createBubbler");
945
- }
946
- return (type) => (event) => {
947
- const events = (
948
- /** @type {Record<string, Function | Function[]>} */
949
- active_component_context.s.$$events?.[
950
- /** @type {any} */
951
- type
952
- ]
953
- );
954
- if (events) {
955
- const callbacks = is_array(events) ? events.slice() : [events];
956
- for (const fn of callbacks) {
957
- fn.call(active_component_context.x, event);
958
- }
959
- return !event.defaultPrevented;
960
- }
961
- return true;
962
- };
963
- }
964
-
965
- export {
966
- hash,
967
- is_void,
968
- is_capture_event,
969
- can_delegate_event,
970
- normalize_attribute,
971
- is_raw_text_element,
972
- sanitize_location,
973
- create_trusted_html,
974
- create_fragment_from_html,
975
- assign_nodes,
976
- from_html,
977
- from_svg,
978
- from_mathml,
979
- from_tree,
980
- with_script,
981
- text,
982
- comment,
983
- append,
984
- props_id,
985
- should_intro,
986
- set_should_intro,
987
- set_text,
988
- mount,
989
- hydrate,
990
- unmount,
991
- trusted,
992
- self,
993
- stopPropagation,
994
- once,
995
- stopImmediatePropagation,
996
- preventDefault,
997
- passive,
998
- nonpassive,
999
- createClassComponent,
1000
- asClassComponent,
1001
- run,
1002
- handlers,
1003
- createBubbler
1004
- };
1005
- //# sourceMappingURL=chunk-MHDZ3SK7.js.map