gazetta 0.5.0 → 0.7.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 (478) hide show
  1. package/admin-dist/assets/index-BO9-CXmW.css +1 -0
  2. package/admin-dist/assets/index-Ufu8zZH_.js +668 -0
  3. package/admin-dist/assets/{vendor-primevue-BnR1c_bQ.js → vendor-primevue-C0Q_YTCb.js} +330 -431
  4. package/admin-dist/assets/vendor-vue-D3wBSmDf.js +1 -0
  5. package/admin-dist/index.html +4 -4
  6. package/dist/admin-api/error-response.d.ts +21 -0
  7. package/dist/admin-api/error-response.d.ts.map +1 -0
  8. package/dist/admin-api/error-response.js +12 -0
  9. package/dist/admin-api/error-response.js.map +1 -0
  10. package/dist/admin-api/index.d.ts +19 -6
  11. package/dist/admin-api/index.d.ts.map +1 -1
  12. package/dist/admin-api/index.js +137 -21
  13. package/dist/admin-api/index.js.map +1 -1
  14. package/dist/admin-api/routes/assets.d.ts +16 -0
  15. package/dist/admin-api/routes/assets.d.ts.map +1 -0
  16. package/dist/admin-api/routes/assets.js +433 -0
  17. package/dist/admin-api/routes/assets.js.map +1 -0
  18. package/dist/admin-api/routes/compare.d.ts +2 -1
  19. package/dist/admin-api/routes/compare.d.ts.map +1 -1
  20. package/dist/admin-api/routes/compare.js +33 -24
  21. package/dist/admin-api/routes/compare.js.map +1 -1
  22. package/dist/admin-api/routes/fields.d.ts +2 -2
  23. package/dist/admin-api/routes/fields.d.ts.map +1 -1
  24. package/dist/admin-api/routes/fields.js +10 -3
  25. package/dist/admin-api/routes/fields.js.map +1 -1
  26. package/dist/admin-api/routes/fragments.d.ts +2 -3
  27. package/dist/admin-api/routes/fragments.d.ts.map +1 -1
  28. package/dist/admin-api/routes/fragments.js +120 -21
  29. package/dist/admin-api/routes/fragments.js.map +1 -1
  30. package/dist/admin-api/routes/history.d.ts +23 -0
  31. package/dist/admin-api/routes/history.d.ts.map +1 -0
  32. package/dist/admin-api/routes/history.js +143 -0
  33. package/dist/admin-api/routes/history.js.map +1 -0
  34. package/dist/admin-api/routes/pages.d.ts +2 -3
  35. package/dist/admin-api/routes/pages.d.ts.map +1 -1
  36. package/dist/admin-api/routes/pages.js +153 -22
  37. package/dist/admin-api/routes/pages.js.map +1 -1
  38. package/dist/admin-api/routes/preview.d.ts +2 -2
  39. package/dist/admin-api/routes/preview.d.ts.map +1 -1
  40. package/dist/admin-api/routes/preview.js +50 -15
  41. package/dist/admin-api/routes/preview.js.map +1 -1
  42. package/dist/admin-api/routes/publish.d.ts +2 -1
  43. package/dist/admin-api/routes/publish.d.ts.map +1 -1
  44. package/dist/admin-api/routes/publish.js +259 -79
  45. package/dist/admin-api/routes/publish.js.map +1 -1
  46. package/dist/admin-api/routes/site.d.ts +2 -2
  47. package/dist/admin-api/routes/site.d.ts.map +1 -1
  48. package/dist/admin-api/routes/site.js +27 -4
  49. package/dist/admin-api/routes/site.js.map +1 -1
  50. package/dist/admin-api/routes/templates.d.ts +2 -2
  51. package/dist/admin-api/routes/templates.d.ts.map +1 -1
  52. package/dist/admin-api/routes/templates.js +19 -9
  53. package/dist/admin-api/routes/templates.js.map +1 -1
  54. package/dist/admin-api/schemas/assets.d.ts +48 -0
  55. package/dist/admin-api/schemas/assets.d.ts.map +1 -0
  56. package/dist/admin-api/schemas/assets.js +44 -0
  57. package/dist/admin-api/schemas/assets.js.map +1 -0
  58. package/dist/admin-api/schemas/compare.d.ts +29 -0
  59. package/dist/admin-api/schemas/compare.d.ts.map +1 -0
  60. package/dist/admin-api/schemas/compare.js +30 -0
  61. package/dist/admin-api/schemas/compare.js.map +1 -0
  62. package/dist/admin-api/schemas/dependents.d.ts +15 -0
  63. package/dist/admin-api/schemas/dependents.d.ts.map +1 -0
  64. package/dist/admin-api/schemas/dependents.js +14 -0
  65. package/dist/admin-api/schemas/dependents.js.map +1 -0
  66. package/dist/admin-api/schemas/fetch.d.ts +12 -0
  67. package/dist/admin-api/schemas/fetch.d.ts.map +1 -0
  68. package/dist/admin-api/schemas/fetch.js +11 -0
  69. package/dist/admin-api/schemas/fetch.js.map +1 -0
  70. package/dist/admin-api/schemas/fields.d.ts +11 -0
  71. package/dist/admin-api/schemas/fields.d.ts.map +1 -0
  72. package/dist/admin-api/schemas/fields.js +11 -0
  73. package/dist/admin-api/schemas/fields.js.map +1 -0
  74. package/dist/admin-api/schemas/fragments.d.ts +27 -0
  75. package/dist/admin-api/schemas/fragments.d.ts.map +1 -0
  76. package/dist/admin-api/schemas/fragments.js +26 -0
  77. package/dist/admin-api/schemas/fragments.js.map +1 -0
  78. package/dist/admin-api/schemas/history.d.ts +73 -0
  79. package/dist/admin-api/schemas/history.d.ts.map +1 -0
  80. package/dist/admin-api/schemas/history.js +35 -0
  81. package/dist/admin-api/schemas/history.js.map +1 -0
  82. package/dist/admin-api/schemas/index.d.ts +34 -0
  83. package/dist/admin-api/schemas/index.d.ts.map +1 -0
  84. package/dist/admin-api/schemas/index.js +34 -0
  85. package/dist/admin-api/schemas/index.js.map +1 -0
  86. package/dist/admin-api/schemas/pages.d.ts +46 -0
  87. package/dist/admin-api/schemas/pages.d.ts.map +1 -0
  88. package/dist/admin-api/schemas/pages.js +47 -0
  89. package/dist/admin-api/schemas/pages.js.map +1 -0
  90. package/dist/admin-api/schemas/publish.d.ts +67 -0
  91. package/dist/admin-api/schemas/publish.d.ts.map +1 -0
  92. package/dist/admin-api/schemas/publish.js +60 -0
  93. package/dist/admin-api/schemas/publish.js.map +1 -0
  94. package/dist/admin-api/schemas/site.d.ts +28 -0
  95. package/dist/admin-api/schemas/site.d.ts.map +1 -0
  96. package/dist/admin-api/schemas/site.js +24 -0
  97. package/dist/admin-api/schemas/site.js.map +1 -0
  98. package/dist/admin-api/schemas/targets.d.ts +36 -0
  99. package/dist/admin-api/schemas/targets.d.ts.map +1 -0
  100. package/dist/admin-api/schemas/targets.js +19 -0
  101. package/dist/admin-api/schemas/targets.js.map +1 -0
  102. package/dist/admin-api/schemas/templates.d.ts +17 -0
  103. package/dist/admin-api/schemas/templates.d.ts.map +1 -0
  104. package/dist/admin-api/schemas/templates.js +16 -0
  105. package/dist/admin-api/schemas/templates.js.map +1 -0
  106. package/dist/admin-api/source-context.d.ts +158 -0
  107. package/dist/admin-api/source-context.d.ts.map +1 -0
  108. package/dist/admin-api/source-context.js +92 -0
  109. package/dist/admin-api/source-context.js.map +1 -0
  110. package/dist/app.js +1 -1
  111. package/dist/app.js.map +1 -1
  112. package/dist/assemble.d.ts.map +1 -1
  113. package/dist/assemble.js +4 -1
  114. package/dist/assemble.js.map +1 -1
  115. package/dist/assets/analyze-audio.d.ts +3 -0
  116. package/dist/assets/analyze-audio.d.ts.map +1 -0
  117. package/dist/assets/analyze-audio.js +80 -0
  118. package/dist/assets/analyze-audio.js.map +1 -0
  119. package/dist/assets/analyze-image.d.ts +19 -0
  120. package/dist/assets/analyze-image.d.ts.map +1 -0
  121. package/dist/assets/analyze-image.js +123 -0
  122. package/dist/assets/analyze-image.js.map +1 -0
  123. package/dist/assets/analyze.d.ts +94 -0
  124. package/dist/assets/analyze.d.ts.map +1 -0
  125. package/dist/assets/analyze.js +45 -0
  126. package/dist/assets/analyze.js.map +1 -0
  127. package/dist/assets/asset-deps.d.ts +30 -0
  128. package/dist/assets/asset-deps.d.ts.map +1 -0
  129. package/dist/assets/asset-deps.js +42 -0
  130. package/dist/assets/asset-deps.js.map +1 -0
  131. package/dist/assets/asset-paths.d.ts +155 -0
  132. package/dist/assets/asset-paths.d.ts.map +1 -0
  133. package/dist/assets/asset-paths.js +197 -0
  134. package/dist/assets/asset-paths.js.map +1 -0
  135. package/dist/assets/delete.d.ts +75 -0
  136. package/dist/assets/delete.d.ts.map +1 -0
  137. package/dist/assets/delete.js +82 -0
  138. package/dist/assets/delete.js.map +1 -0
  139. package/dist/assets/errors.d.ts +241 -0
  140. package/dist/assets/errors.d.ts.map +1 -0
  141. package/dist/assets/errors.js +300 -0
  142. package/dist/assets/errors.js.map +1 -0
  143. package/dist/assets/find-refs.d.ts +37 -0
  144. package/dist/assets/find-refs.d.ts.map +1 -0
  145. package/dist/assets/find-refs.js +35 -0
  146. package/dist/assets/find-refs.js.map +1 -0
  147. package/dist/assets/hash.d.ts +13 -0
  148. package/dist/assets/hash.d.ts.map +1 -0
  149. package/dist/assets/hash.js +43 -0
  150. package/dist/assets/hash.js.map +1 -0
  151. package/dist/assets/image-metadata.d.ts +11 -0
  152. package/dist/assets/image-metadata.d.ts.map +1 -0
  153. package/dist/assets/image-metadata.js +31 -0
  154. package/dist/assets/image-metadata.js.map +1 -0
  155. package/dist/assets/ingest-locale.d.ts +86 -0
  156. package/dist/assets/ingest-locale.d.ts.map +1 -0
  157. package/dist/assets/ingest-locale.js +209 -0
  158. package/dist/assets/ingest-locale.js.map +1 -0
  159. package/dist/assets/ingest.d.ts +96 -0
  160. package/dist/assets/ingest.d.ts.map +1 -0
  161. package/dist/assets/ingest.js +308 -0
  162. package/dist/assets/ingest.js.map +1 -0
  163. package/dist/assets/kind-compat.d.ts +34 -0
  164. package/dist/assets/kind-compat.d.ts.map +1 -0
  165. package/dist/assets/kind-compat.js +33 -0
  166. package/dist/assets/kind-compat.js.map +1 -0
  167. package/dist/assets/list.d.ts +46 -0
  168. package/dist/assets/list.d.ts.map +1 -0
  169. package/dist/assets/list.js +102 -0
  170. package/dist/assets/list.js.map +1 -0
  171. package/dist/assets/manifest-default.d.ts +56 -0
  172. package/dist/assets/manifest-default.d.ts.map +1 -0
  173. package/dist/assets/manifest-default.js +120 -0
  174. package/dist/assets/manifest-default.js.map +1 -0
  175. package/dist/assets/manifest-filename.d.ts +52 -0
  176. package/dist/assets/manifest-filename.d.ts.map +1 -0
  177. package/dist/assets/manifest-filename.js +104 -0
  178. package/dist/assets/manifest-filename.js.map +1 -0
  179. package/dist/assets/manifest-locale.d.ts +60 -0
  180. package/dist/assets/manifest-locale.d.ts.map +1 -0
  181. package/dist/assets/manifest-locale.js +206 -0
  182. package/dist/assets/manifest-locale.js.map +1 -0
  183. package/dist/assets/manifest-merge.d.ts +66 -0
  184. package/dist/assets/manifest-merge.d.ts.map +1 -0
  185. package/dist/assets/manifest-merge.js +82 -0
  186. package/dist/assets/manifest-merge.js.map +1 -0
  187. package/dist/assets/manifest.d.ts +83 -0
  188. package/dist/assets/manifest.d.ts.map +1 -0
  189. package/dist/assets/manifest.js +93 -0
  190. package/dist/assets/manifest.js.map +1 -0
  191. package/dist/assets/mime-sniff.d.ts +18 -0
  192. package/dist/assets/mime-sniff.d.ts.map +1 -0
  193. package/dist/assets/mime-sniff.js +84 -0
  194. package/dist/assets/mime-sniff.js.map +1 -0
  195. package/dist/assets/preprocess-svg.d.ts +3 -0
  196. package/dist/assets/preprocess-svg.d.ts.map +1 -0
  197. package/dist/assets/preprocess-svg.js +49 -0
  198. package/dist/assets/preprocess-svg.js.map +1 -0
  199. package/dist/assets/preprocess.d.ts +62 -0
  200. package/dist/assets/preprocess.d.ts.map +1 -0
  201. package/dist/assets/preprocess.js +86 -0
  202. package/dist/assets/preprocess.js.map +1 -0
  203. package/dist/assets/publish-plan.d.ts +41 -0
  204. package/dist/assets/publish-plan.d.ts.map +1 -0
  205. package/dist/assets/publish-plan.js +49 -0
  206. package/dist/assets/publish-plan.js.map +1 -0
  207. package/dist/assets/publish.d.ts +33 -0
  208. package/dist/assets/publish.d.ts.map +1 -0
  209. package/dist/assets/publish.js +81 -0
  210. package/dist/assets/publish.js.map +1 -0
  211. package/dist/assets/refs.d.ts +37 -0
  212. package/dist/assets/refs.d.ts.map +1 -0
  213. package/dist/assets/refs.js +33 -0
  214. package/dist/assets/refs.js.map +1 -0
  215. package/dist/assets/remove-override.d.ts +42 -0
  216. package/dist/assets/remove-override.d.ts.map +1 -0
  217. package/dist/assets/remove-override.js +53 -0
  218. package/dist/assets/remove-override.js.map +1 -0
  219. package/dist/assets/rename.d.ts +43 -0
  220. package/dist/assets/rename.d.ts.map +1 -0
  221. package/dist/assets/rename.js +271 -0
  222. package/dist/assets/rename.js.map +1 -0
  223. package/dist/assets/replace.d.ts +37 -0
  224. package/dist/assets/replace.d.ts.map +1 -0
  225. package/dist/assets/replace.js +195 -0
  226. package/dist/assets/replace.js.map +1 -0
  227. package/dist/assets/resolve.d.ts +141 -0
  228. package/dist/assets/resolve.d.ts.map +1 -0
  229. package/dist/assets/resolve.js +381 -0
  230. package/dist/assets/resolve.js.map +1 -0
  231. package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
  232. package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
  233. package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
  234. package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
  235. package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
  236. package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
  237. package/dist/assets/scan-manifest-for-asset.js +105 -0
  238. package/dist/assets/scan-manifest-for-asset.js.map +1 -0
  239. package/dist/assets/serve-route.d.ts +45 -0
  240. package/dist/assets/serve-route.d.ts.map +1 -0
  241. package/dist/assets/serve-route.js +123 -0
  242. package/dist/assets/serve-route.js.map +1 -0
  243. package/dist/assets/svg-sanitize.d.ts +38 -0
  244. package/dist/assets/svg-sanitize.d.ts.map +1 -0
  245. package/dist/assets/svg-sanitize.js +209 -0
  246. package/dist/assets/svg-sanitize.js.map +1 -0
  247. package/dist/assets/update-metadata.d.ts +61 -0
  248. package/dist/assets/update-metadata.d.ts.map +1 -0
  249. package/dist/assets/update-metadata.js +82 -0
  250. package/dist/assets/update-metadata.js.map +1 -0
  251. package/dist/assets/url.d.ts +82 -0
  252. package/dist/assets/url.d.ts.map +1 -0
  253. package/dist/assets/url.js +103 -0
  254. package/dist/assets/url.js.map +1 -0
  255. package/dist/assets/validate.d.ts +74 -0
  256. package/dist/assets/validate.d.ts.map +1 -0
  257. package/dist/assets/validate.js +136 -0
  258. package/dist/assets/validate.js.map +1 -0
  259. package/dist/assets/variants.d.ts +23 -0
  260. package/dist/assets/variants.d.ts.map +1 -0
  261. package/dist/assets/variants.js +74 -0
  262. package/dist/assets/variants.js.map +1 -0
  263. package/dist/cli/assets-cli.d.ts +58 -0
  264. package/dist/cli/assets-cli.d.ts.map +1 -0
  265. package/dist/cli/assets-cli.js +233 -0
  266. package/dist/cli/assets-cli.js.map +1 -0
  267. package/dist/cli/assets-display.d.ts +112 -0
  268. package/dist/cli/assets-display.d.ts.map +1 -0
  269. package/dist/cli/assets-display.js +106 -0
  270. package/dist/cli/assets-display.js.map +1 -0
  271. package/dist/cli/bootstrap.d.ts +46 -0
  272. package/dist/cli/bootstrap.d.ts.map +1 -0
  273. package/dist/cli/bootstrap.js +84 -0
  274. package/dist/cli/bootstrap.js.map +1 -0
  275. package/dist/cli/history.d.ts +45 -0
  276. package/dist/cli/history.d.ts.map +1 -0
  277. package/dist/cli/history.js +165 -0
  278. package/dist/cli/history.js.map +1 -0
  279. package/dist/cli/index.js +689 -128
  280. package/dist/cli/index.js.map +1 -1
  281. package/dist/compare.d.ts +8 -5
  282. package/dist/compare.d.ts.map +1 -1
  283. package/dist/compare.js +62 -20
  284. package/dist/compare.js.map +1 -1
  285. package/dist/content-root.d.ts +38 -0
  286. package/dist/content-root.d.ts.map +1 -0
  287. package/dist/content-root.js +29 -0
  288. package/dist/content-root.js.map +1 -0
  289. package/dist/dep-sidecars.d.ts +127 -0
  290. package/dist/dep-sidecars.d.ts.map +1 -0
  291. package/dist/dep-sidecars.js +122 -0
  292. package/dist/dep-sidecars.js.map +1 -0
  293. package/dist/editor/AssetEmbeddedWidget.d.ts +3 -0
  294. package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
  295. package/dist/editor/AssetEmbeddedWidget.js +146 -0
  296. package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
  297. package/dist/editor/mount.d.ts +12 -1
  298. package/dist/editor/mount.d.ts.map +1 -1
  299. package/dist/editor/mount.js +96 -33
  300. package/dist/editor/mount.js.map +1 -1
  301. package/dist/format.d.ts +44 -0
  302. package/dist/format.d.ts.map +1 -0
  303. package/dist/format.js +65 -0
  304. package/dist/format.js.map +1 -0
  305. package/dist/fragment-deps.d.ts +24 -0
  306. package/dist/fragment-deps.d.ts.map +1 -0
  307. package/dist/fragment-deps.js +20 -0
  308. package/dist/fragment-deps.js.map +1 -0
  309. package/dist/hash.d.ts +34 -9
  310. package/dist/hash.d.ts.map +1 -1
  311. package/dist/hash.js +60 -21
  312. package/dist/hash.js.map +1 -1
  313. package/dist/history-provider.d.ts +49 -0
  314. package/dist/history-provider.d.ts.map +1 -0
  315. package/dist/history-provider.js +248 -0
  316. package/dist/history-provider.js.map +1 -0
  317. package/dist/history-recorder.d.ts +102 -0
  318. package/dist/history-recorder.d.ts.map +1 -0
  319. package/dist/history-recorder.js +168 -0
  320. package/dist/history-recorder.js.map +1 -0
  321. package/dist/history-restorer.d.ts +46 -0
  322. package/dist/history-restorer.d.ts.map +1 -0
  323. package/dist/history-restorer.js +137 -0
  324. package/dist/history-restorer.js.map +1 -0
  325. package/dist/history.d.ts +129 -0
  326. package/dist/history.d.ts.map +1 -0
  327. package/dist/history.js +25 -0
  328. package/dist/history.js.map +1 -0
  329. package/dist/index.d.ts +27 -7
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +16 -4
  332. package/dist/index.js.map +1 -1
  333. package/dist/locale.d.ts +94 -0
  334. package/dist/locale.d.ts.map +1 -0
  335. package/dist/locale.js +188 -0
  336. package/dist/locale.js.map +1 -0
  337. package/dist/manifest.d.ts.map +1 -1
  338. package/dist/manifest.js +16 -1
  339. package/dist/manifest.js.map +1 -1
  340. package/dist/providers/_atomic-write.d.ts +9 -0
  341. package/dist/providers/_atomic-write.d.ts.map +1 -0
  342. package/dist/providers/_atomic-write.js +72 -0
  343. package/dist/providers/_atomic-write.js.map +1 -0
  344. package/dist/providers/_rm-ignore-missing.d.ts +31 -0
  345. package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
  346. package/dist/providers/_rm-ignore-missing.js +12 -0
  347. package/dist/providers/_rm-ignore-missing.js.map +1 -0
  348. package/dist/providers/_stream-interop.d.ts +23 -0
  349. package/dist/providers/_stream-interop.d.ts.map +1 -0
  350. package/dist/providers/_stream-interop.js +21 -0
  351. package/dist/providers/_stream-interop.js.map +1 -0
  352. package/dist/providers/azure-blob.d.ts.map +1 -1
  353. package/dist/providers/azure-blob.js +60 -0
  354. package/dist/providers/azure-blob.js.map +1 -1
  355. package/dist/providers/filesystem.d.ts +4 -0
  356. package/dist/providers/filesystem.d.ts.map +1 -1
  357. package/dist/providers/filesystem.js +63 -2
  358. package/dist/providers/filesystem.js.map +1 -1
  359. package/dist/providers/s3.d.ts.map +1 -1
  360. package/dist/providers/s3.js +107 -16
  361. package/dist/providers/s3.js.map +1 -1
  362. package/dist/publish-locale.d.ts +44 -0
  363. package/dist/publish-locale.d.ts.map +1 -0
  364. package/dist/publish-locale.js +103 -0
  365. package/dist/publish-locale.js.map +1 -0
  366. package/dist/publish-rendered.d.ts +52 -21
  367. package/dist/publish-rendered.d.ts.map +1 -1
  368. package/dist/publish-rendered.js +144 -87
  369. package/dist/publish-rendered.js.map +1 -1
  370. package/dist/publish.d.ts +18 -19
  371. package/dist/publish.d.ts.map +1 -1
  372. package/dist/publish.js +41 -56
  373. package/dist/publish.js.map +1 -1
  374. package/dist/renderer.d.ts +14 -4
  375. package/dist/renderer.d.ts.map +1 -1
  376. package/dist/renderer.js +35 -23
  377. package/dist/renderer.js.map +1 -1
  378. package/dist/resolver.d.ts +17 -2
  379. package/dist/resolver.d.ts.map +1 -1
  380. package/dist/resolver.js +112 -16
  381. package/dist/resolver.js.map +1 -1
  382. package/dist/robots.d.ts +22 -0
  383. package/dist/robots.d.ts.map +1 -0
  384. package/dist/robots.js +25 -0
  385. package/dist/robots.js.map +1 -0
  386. package/dist/schema/dimensions.d.ts +78 -0
  387. package/dist/schema/dimensions.d.ts.map +1 -0
  388. package/dist/schema/dimensions.js +97 -0
  389. package/dist/schema/dimensions.js.map +1 -0
  390. package/dist/schema/helpers.d.ts +108 -0
  391. package/dist/schema/helpers.d.ts.map +1 -0
  392. package/dist/schema/helpers.js +133 -0
  393. package/dist/schema/helpers.js.map +1 -0
  394. package/dist/schema/index.d.ts +27 -0
  395. package/dist/schema/index.d.ts.map +1 -0
  396. package/dist/schema/index.js +25 -0
  397. package/dist/schema/index.js.map +1 -0
  398. package/dist/schema/types.d.ts +390 -0
  399. package/dist/schema/types.d.ts.map +1 -0
  400. package/dist/schema/types.js +25 -0
  401. package/dist/schema/types.js.map +1 -0
  402. package/dist/selector-chain.d.ts +63 -0
  403. package/dist/selector-chain.d.ts.map +1 -0
  404. package/dist/selector-chain.js +58 -0
  405. package/dist/selector-chain.js.map +1 -0
  406. package/dist/seo.d.ts +56 -0
  407. package/dist/seo.d.ts.map +1 -0
  408. package/dist/seo.js +72 -0
  409. package/dist/seo.js.map +1 -0
  410. package/dist/serve.d.ts +41 -3
  411. package/dist/serve.d.ts.map +1 -1
  412. package/dist/serve.js +206 -65
  413. package/dist/serve.js.map +1 -1
  414. package/dist/sidecars.d.ts +26 -21
  415. package/dist/sidecars.d.ts.map +1 -1
  416. package/dist/sidecars.js +143 -45
  417. package/dist/sidecars.js.map +1 -1
  418. package/dist/site-loader.d.ts +74 -6
  419. package/dist/site-loader.d.ts.map +1 -1
  420. package/dist/site-loader.js +138 -28
  421. package/dist/site-loader.js.map +1 -1
  422. package/dist/sitemap.d.ts +45 -0
  423. package/dist/sitemap.d.ts.map +1 -0
  424. package/dist/sitemap.js +67 -0
  425. package/dist/sitemap.js.map +1 -0
  426. package/dist/targets.d.ts +47 -1
  427. package/dist/targets.d.ts.map +1 -1
  428. package/dist/targets.js +83 -36
  429. package/dist/targets.js.map +1 -1
  430. package/dist/template-loader.d.ts +7 -3
  431. package/dist/template-loader.d.ts.map +1 -1
  432. package/dist/template-loader.js +27 -12
  433. package/dist/template-loader.js.map +1 -1
  434. package/dist/templates-scan-worker.js +1 -1
  435. package/dist/templates-scan-worker.js.map +1 -1
  436. package/dist/templates-scan.d.ts.map +1 -1
  437. package/dist/templates-scan.js +1 -1
  438. package/dist/templates-scan.js.map +1 -1
  439. package/dist/themes.d.ts +69 -0
  440. package/dist/themes.d.ts.map +1 -0
  441. package/dist/themes.js +85 -0
  442. package/dist/themes.js.map +1 -0
  443. package/dist/transforms/adapter.d.ts +115 -0
  444. package/dist/transforms/adapter.d.ts.map +1 -0
  445. package/dist/transforms/adapter.js +2 -0
  446. package/dist/transforms/adapter.js.map +1 -0
  447. package/dist/transforms/cloudflare.d.ts +17 -0
  448. package/dist/transforms/cloudflare.d.ts.map +1 -0
  449. package/dist/transforms/cloudflare.js +110 -0
  450. package/dist/transforms/cloudflare.js.map +1 -0
  451. package/dist/transforms/index.d.ts +24 -0
  452. package/dist/transforms/index.d.ts.map +1 -0
  453. package/dist/transforms/index.js +30 -0
  454. package/dist/transforms/index.js.map +1 -0
  455. package/dist/transforms/sharp.d.ts +3 -0
  456. package/dist/transforms/sharp.d.ts.map +1 -0
  457. package/dist/transforms/sharp.js +43 -0
  458. package/dist/transforms/sharp.js.map +1 -0
  459. package/dist/types.d.ts +241 -10
  460. package/dist/types.d.ts.map +1 -1
  461. package/dist/types.js +28 -5
  462. package/dist/types.js.map +1 -1
  463. package/dist/workers/cloudflare-r2.d.ts +11 -2
  464. package/dist/workers/cloudflare-r2.d.ts.map +1 -1
  465. package/dist/workers/cloudflare-r2.js +120 -55
  466. package/dist/workers/cloudflare-r2.js.map +1 -1
  467. package/package.json +30 -2
  468. package/admin-dist/assets/index-BZAFKsUp.js +0 -608
  469. package/admin-dist/assets/index-BpRotMuK.css +0 -1
  470. package/admin-dist/assets/vendor-vue-DSjyxCX6.js +0 -1
  471. package/dist/providers/r2.d.ts +0 -8
  472. package/dist/providers/r2.d.ts.map +0 -1
  473. package/dist/providers/r2.js +0 -83
  474. package/dist/providers/r2.js.map +0 -1
  475. package/dist/source-sidecars.d.ts +0 -13
  476. package/dist/source-sidecars.d.ts.map +0 -1
  477. package/dist/source-sidecars.js +0 -52
  478. package/dist/source-sidecars.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.d.ts","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAOrE"}
package/dist/robots.js ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Robots.txt generation — produces a default robots.txt or copies
3
+ * a user-authored one from the site directory.
4
+ *
5
+ * SRP: this module owns robots.txt content resolution. The caller
6
+ * checks for a user file and writes the result to storage.
7
+ *
8
+ * Strategy:
9
+ * 1. If the site has a `robots.txt` file, use it verbatim.
10
+ * 2. Otherwise, generate a permissive default with a Sitemap
11
+ * reference (when siteUrl is available).
12
+ */
13
+ /**
14
+ * Generate a default robots.txt. Permissive (allow all crawlers)
15
+ * with a Sitemap reference when siteUrl is available.
16
+ */
17
+ export function generateRobotsTxt(opts) {
18
+ const lines = ['User-agent: *', 'Allow: /'];
19
+ if (opts.siteUrl) {
20
+ const base = opts.siteUrl.replace(/\/+$/, '');
21
+ lines.push('', `Sitemap: ${base}/sitemap.xml`);
22
+ }
23
+ return lines.join('\n') + '\n';
24
+ }
25
+ //# sourceMappingURL=robots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robots.js","sourceRoot":"","sources":["../src/robots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA2B;IAC3D,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,IAAI,cAAc,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAChC,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Asset override dimensions — the axes along which an asset's bytes,
3
+ * variants, and metadata can vary from its default.
4
+ *
5
+ * v1 ships two first-class dimensions:
6
+ * - `locale` — content-level (e.g. text baked into image varies by language)
7
+ * - `theme` — presentation-level (e.g. logo with light/dark variants)
8
+ *
9
+ * Both are peer dimensions in the abstract model. Each asset can opt into
10
+ * any combination — a logo might have `(en, dark)`, `(fr, dark)`, `(de, dark)`
11
+ * variants but no light-mode variants because the default works for light.
12
+ *
13
+ * # Why a closed dimension set
14
+ *
15
+ * A user-defined dimension model (arbitrary axes per site) was rejected
16
+ * during foundation design. 90% of value is locale + theme; arbitrary
17
+ * dimensions complicate the picker UI, fallback chain semantics, and
18
+ * filename composition with no concrete demand. Adding a third dimension
19
+ * later means extending this union and `DIMENSION_ORDER` — mechanical.
20
+ *
21
+ * # Filename composition
22
+ *
23
+ * `DIMENSION_ORDER` fixes the order in which dimensions appear in
24
+ * filenames. `{name}.asset.{locale}.{theme}.json` (locale before theme).
25
+ * Changing the order would re-key every existing locale-only manifest, so
26
+ * it's locked: locale always first.
27
+ *
28
+ * # Selector semantics
29
+ *
30
+ * A `Selector` represents a specific combination of dimension values.
31
+ * `null` selector = "default-default" (no overrides; the canonical asset).
32
+ * Empty `Selector` Map is structurally invalid — callers must use `null`
33
+ * to express "no dimensions selected." Validators enforce.
34
+ */
35
+ /** The set of override dimensions an asset can vary along. */
36
+ export type DimensionName = 'locale' | 'theme';
37
+ /**
38
+ * Order in which dimensions appear in composed filenames. Locked: locale
39
+ * before theme. Adding a new dimension extends this constant; existing
40
+ * filenames stay valid because they have no value for the new dimension.
41
+ */
42
+ export declare const DIMENSION_ORDER: readonly DimensionName[];
43
+ /**
44
+ * A specific combination of dimension values that addresses one asset
45
+ * variant (or the default, when null).
46
+ *
47
+ * Examples:
48
+ * `null` — the default asset
49
+ * `Map { 'locale' → 'fr' }` — French (default theme)
50
+ * `Map { 'locale' → 'fr', 'theme' → 'dark' }` — French + dark
51
+ * `Map { 'theme' → 'dark' }` — dark (default locale)
52
+ */
53
+ export type Selector = ReadonlyMap<DimensionName, string>;
54
+ /** True when `selector` has at least one dimension set. */
55
+ export declare function isNonEmptySelector(selector: Selector | null): selector is Selector;
56
+ /**
57
+ * Build a Selector from individual dimension values, omitting unset ones.
58
+ * Returns `null` when all dimensions are absent — semantically equivalent
59
+ * to "the default asset."
60
+ */
61
+ export declare function buildSelector(values: Partial<Record<DimensionName, string>>): Selector | null;
62
+ /**
63
+ * Compose the path-suffix portion of a filename for a selector. Walks
64
+ * `DIMENSION_ORDER` so the order is deterministic regardless of insertion
65
+ * order in the underlying Map.
66
+ *
67
+ * null → '' (no suffix)
68
+ * { locale: 'fr' } → '.fr'
69
+ * { theme: 'dark' } → '.dark'
70
+ * { locale: 'fr', theme: 'dark'} → '.fr.dark'
71
+ */
72
+ export declare function selectorSuffix(selector: Selector | null): string;
73
+ /**
74
+ * Two selectors are equivalent when they have the same dimensions set
75
+ * to the same values, ignoring iteration order.
76
+ */
77
+ export declare function selectorsEqual(a: Selector | null, b: Selector | null): boolean;
78
+ //# sourceMappingURL=dimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimensions.d.ts","sourceRoot":"","sources":["../../src/schema/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAwB,CAAA;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAEzD,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAElF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAO7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAQhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAQ9E"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Asset override dimensions — the axes along which an asset's bytes,
3
+ * variants, and metadata can vary from its default.
4
+ *
5
+ * v1 ships two first-class dimensions:
6
+ * - `locale` — content-level (e.g. text baked into image varies by language)
7
+ * - `theme` — presentation-level (e.g. logo with light/dark variants)
8
+ *
9
+ * Both are peer dimensions in the abstract model. Each asset can opt into
10
+ * any combination — a logo might have `(en, dark)`, `(fr, dark)`, `(de, dark)`
11
+ * variants but no light-mode variants because the default works for light.
12
+ *
13
+ * # Why a closed dimension set
14
+ *
15
+ * A user-defined dimension model (arbitrary axes per site) was rejected
16
+ * during foundation design. 90% of value is locale + theme; arbitrary
17
+ * dimensions complicate the picker UI, fallback chain semantics, and
18
+ * filename composition with no concrete demand. Adding a third dimension
19
+ * later means extending this union and `DIMENSION_ORDER` — mechanical.
20
+ *
21
+ * # Filename composition
22
+ *
23
+ * `DIMENSION_ORDER` fixes the order in which dimensions appear in
24
+ * filenames. `{name}.asset.{locale}.{theme}.json` (locale before theme).
25
+ * Changing the order would re-key every existing locale-only manifest, so
26
+ * it's locked: locale always first.
27
+ *
28
+ * # Selector semantics
29
+ *
30
+ * A `Selector` represents a specific combination of dimension values.
31
+ * `null` selector = "default-default" (no overrides; the canonical asset).
32
+ * Empty `Selector` Map is structurally invalid — callers must use `null`
33
+ * to express "no dimensions selected." Validators enforce.
34
+ */
35
+ /**
36
+ * Order in which dimensions appear in composed filenames. Locked: locale
37
+ * before theme. Adding a new dimension extends this constant; existing
38
+ * filenames stay valid because they have no value for the new dimension.
39
+ */
40
+ export const DIMENSION_ORDER = ['locale', 'theme'];
41
+ /** True when `selector` has at least one dimension set. */
42
+ export function isNonEmptySelector(selector) {
43
+ return selector !== null && selector.size > 0;
44
+ }
45
+ /**
46
+ * Build a Selector from individual dimension values, omitting unset ones.
47
+ * Returns `null` when all dimensions are absent — semantically equivalent
48
+ * to "the default asset."
49
+ */
50
+ export function buildSelector(values) {
51
+ const map = new Map();
52
+ for (const dim of DIMENSION_ORDER) {
53
+ const v = values[dim];
54
+ if (v !== undefined)
55
+ map.set(dim, v);
56
+ }
57
+ return map.size > 0 ? map : null;
58
+ }
59
+ /**
60
+ * Compose the path-suffix portion of a filename for a selector. Walks
61
+ * `DIMENSION_ORDER` so the order is deterministic regardless of insertion
62
+ * order in the underlying Map.
63
+ *
64
+ * null → '' (no suffix)
65
+ * { locale: 'fr' } → '.fr'
66
+ * { theme: 'dark' } → '.dark'
67
+ * { locale: 'fr', theme: 'dark'} → '.fr.dark'
68
+ */
69
+ export function selectorSuffix(selector) {
70
+ if (!selector)
71
+ return '';
72
+ const parts = [];
73
+ for (const dim of DIMENSION_ORDER) {
74
+ const v = selector.get(dim);
75
+ if (v !== undefined)
76
+ parts.push(v);
77
+ }
78
+ return parts.length > 0 ? `.${parts.join('.')}` : '';
79
+ }
80
+ /**
81
+ * Two selectors are equivalent when they have the same dimensions set
82
+ * to the same values, ignoring iteration order.
83
+ */
84
+ export function selectorsEqual(a, b) {
85
+ if (a === null && b === null)
86
+ return true;
87
+ if (a === null || b === null)
88
+ return false;
89
+ if (a.size !== b.size)
90
+ return false;
91
+ for (const [k, v] of a) {
92
+ if (b.get(k) !== v)
93
+ return false;
94
+ }
95
+ return true;
96
+ }
97
+ //# sourceMappingURL=dimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../src/schema/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAc5E,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA8C;IAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC5C,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,QAAyB;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAA;IACxB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAkB,EAAE,CAAkB;IACnE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Zod schema helpers for asset references.
3
+ *
4
+ * Three helpers (`embeddedAsset`, `downloadable`, `fontAsset`), each emitting
5
+ * a Zod object schema branded with its asset kind via `.brand()`. The brand
6
+ * is phantom (type-level only) — runtime consumers see a plain Zod object.
7
+ *
8
+ * Shared grammar:
9
+ * - `AcceptFilter` — the filter used by picker UIs to narrow the set of
10
+ * assets offered for a field. Kind names (`'image'`, `'video'`, `'audio'`,
11
+ * `'document'`, `'font'`, `'other'`), MIME prefixes (`'image/'`), or exact
12
+ * MIMEs (`'image/svg+xml'`). Shared because all three helpers accept it.
13
+ *
14
+ * Brand values — consumed by `Content<T>` in types.ts:
15
+ * - `embeddedAsset()` → `.brand<'embedded'>()`
16
+ * - `downloadable()` → `.brand<'downloadable'>()`
17
+ * - `fontAsset()` → `.brand<'font'>()`
18
+ */
19
+ import { z } from 'zod';
20
+ /**
21
+ * Acceptance filter — passed to picker UIs to narrow which assets are offered.
22
+ * Shared across all three helpers.
23
+ */
24
+ export type AcceptFilter = 'image' | 'video' | 'audio' | 'document' | 'font' | 'other' | `${string}/` | `${string}/${string}`;
25
+ export interface EmbeddedAssetOptions {
26
+ /** Which assets the picker should offer. Default: any embedded kind (image, video, audio). */
27
+ accept?: AcceptFilter[];
28
+ /** Show per-reference alt override UI. Default: true for images, false otherwise. */
29
+ altOverride?: boolean;
30
+ /** Warn at save if alt is null on this reference. Default: false. */
31
+ altRequired?: boolean;
32
+ /** Show per-reference focal-point override UI. Default: true for images. */
33
+ focalPointOverride?: boolean;
34
+ }
35
+ /**
36
+ * Zod helper for an embedded asset reference — rendered inline by templates
37
+ * (`<img>`, `<video>`, `<audio>`). Templates receive `ResolvedEmbeddedAsset`
38
+ * after the resolver merges the manifest with per-reference overrides.
39
+ */
40
+ export declare function embeddedAsset(options?: EmbeddedAssetOptions): z.core.$ZodBranded<z.ZodObject<{
41
+ _asset: z.ZodString;
42
+ alt: z.ZodOptional<z.ZodString>;
43
+ focalPoint: z.ZodOptional<z.ZodObject<{
44
+ x: z.ZodNumber;
45
+ y: z.ZodNumber;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>, "embedded", "out">;
48
+ export interface DownloadableOptions {
49
+ /** Which files the picker should offer. Default: any non-embedded kind. */
50
+ accept?: AcceptFilter[];
51
+ /** Show per-reference title override UI. Default: true. */
52
+ titleOverride?: boolean;
53
+ /** Show per-reference description field. Default: true. */
54
+ descriptionOverride?: boolean;
55
+ }
56
+ /**
57
+ * Zod helper for a downloadable asset reference — rendered as `<a href download>`
58
+ * by templates. Templates receive `ResolvedDownloadableAsset`.
59
+ */
60
+ export declare function downloadable(options?: DownloadableOptions): z.core.$ZodBranded<z.ZodObject<{
61
+ _asset: z.ZodString;
62
+ title: z.ZodOptional<z.ZodString>;
63
+ description: z.ZodOptional<z.ZodString>;
64
+ }, z.core.$strip>, "downloadable", "out">;
65
+ export interface FontAssetOptions {
66
+ /** Which font formats the picker should offer. Default: all supported. */
67
+ accept?: ('woff2' | 'woff' | 'ttf' | 'otf')[];
68
+ /** Expects a variable font (single file, axis-driven weights). Default: false. */
69
+ variable?: boolean;
70
+ }
71
+ /**
72
+ * Zod helper for a font asset reference — templates emit `@font-face` declarations
73
+ * from the resolved variants. Locale manifests add variants to the union rather than
74
+ * overriding; the browser picks per character based on `unicode-range`.
75
+ */
76
+ export declare function fontAsset(options?: FontAssetOptions): z.core.$ZodBranded<z.ZodObject<{
77
+ _asset: z.ZodString;
78
+ }, z.core.$strip>, "font", "out">;
79
+ /**
80
+ * Map a MIME's top-level type to its picker `AcceptFilter` kind name.
81
+ * `image/jpeg` → `image`, `application/pdf` → `document`, etc.
82
+ *
83
+ * The asset-kind taxonomy (`image | video | audio | document | font |
84
+ * other`) is defined by design-media.md; this maps the IANA top-level
85
+ * type into that vocabulary. Anything not in the table maps to `'other'`
86
+ * — the picker can still accept these via MIME prefix or exact MIME.
87
+ *
88
+ * `kind` is the asset's manifest kind (`embedded | downloadable | font`),
89
+ * which discriminates rendering contract — separate axis from this
90
+ * MIME-derived category. Both inform `matchesAccept`.
91
+ */
92
+ export declare function mimeToAcceptKind(mime: string): AcceptFilter;
93
+ /**
94
+ * Does this asset satisfy any one of the picker's `accept` filters?
95
+ *
96
+ * Empty `accept` matches everything — that's "no filter configured."
97
+ * Otherwise the asset matches if at least one filter entry holds:
98
+ * - kind name (`'image'`, `'video'`, ...) matches `mimeToAcceptKind`
99
+ * - MIME prefix (ends with `/`) is a prefix of the asset's MIME
100
+ * - exact MIME equals the asset's MIME
101
+ *
102
+ * Pure, side-effect-free — picker UIs use it to filter the grid; the
103
+ * resolver could use it to validate refs at render time.
104
+ */
105
+ export declare function matchesAccept(asset: {
106
+ mime: string;
107
+ }, accept: readonly AcceptFilter[]): boolean;
108
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/schema/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,MAAM,YAAY,GAEpB,OAAO,GACP,OAAO,GACP,OAAO,GACP,UAAU,GACV,MAAM,GACN,OAAO,GAEP,GAAG,MAAM,GAAG,GAEZ,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAIzB,MAAM,WAAW,oBAAoB;IACnC,8FAA8F;IAC9F,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB;;;;;;;sCAkB/D;AAID,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;IACvB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB;;;;0CAU7D;AAID,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,CAAA;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB;;kCAQvD;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAkB3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAY/F"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Zod schema helpers for asset references.
3
+ *
4
+ * Three helpers (`embeddedAsset`, `downloadable`, `fontAsset`), each emitting
5
+ * a Zod object schema branded with its asset kind via `.brand()`. The brand
6
+ * is phantom (type-level only) — runtime consumers see a plain Zod object.
7
+ *
8
+ * Shared grammar:
9
+ * - `AcceptFilter` — the filter used by picker UIs to narrow the set of
10
+ * assets offered for a field. Kind names (`'image'`, `'video'`, `'audio'`,
11
+ * `'document'`, `'font'`, `'other'`), MIME prefixes (`'image/'`), or exact
12
+ * MIMEs (`'image/svg+xml'`). Shared because all three helpers accept it.
13
+ *
14
+ * Brand values — consumed by `Content<T>` in types.ts:
15
+ * - `embeddedAsset()` → `.brand<'embedded'>()`
16
+ * - `downloadable()` → `.brand<'downloadable'>()`
17
+ * - `fontAsset()` → `.brand<'font'>()`
18
+ */
19
+ import { z } from 'zod';
20
+ /**
21
+ * Zod helper for an embedded asset reference — rendered inline by templates
22
+ * (`<img>`, `<video>`, `<audio>`). Templates receive `ResolvedEmbeddedAsset`
23
+ * after the resolver merges the manifest with per-reference overrides.
24
+ */
25
+ export function embeddedAsset(options = {}) {
26
+ // Store options as a sibling metadata object — the picker reads them to
27
+ // configure the UI. The Zod schema itself only validates the runtime shape.
28
+ const base = z
29
+ .object({
30
+ _asset: z.string(),
31
+ alt: z.string().optional(),
32
+ focalPoint: z
33
+ .object({
34
+ x: z.number().min(0).max(1),
35
+ y: z.number().min(0).max(1),
36
+ })
37
+ .optional(),
38
+ })
39
+ .brand();
40
+ // Attach options via .meta() so custom picker UIs can read them.
41
+ return base.meta({ assetOptions: options });
42
+ }
43
+ /**
44
+ * Zod helper for a downloadable asset reference — rendered as `<a href download>`
45
+ * by templates. Templates receive `ResolvedDownloadableAsset`.
46
+ */
47
+ export function downloadable(options = {}) {
48
+ const base = z
49
+ .object({
50
+ _asset: z.string(),
51
+ title: z.string().optional(),
52
+ description: z.string().optional(),
53
+ })
54
+ .brand();
55
+ return base.meta({ assetOptions: options });
56
+ }
57
+ /**
58
+ * Zod helper for a font asset reference — templates emit `@font-face` declarations
59
+ * from the resolved variants. Locale manifests add variants to the union rather than
60
+ * overriding; the browser picks per character based on `unicode-range`.
61
+ */
62
+ export function fontAsset(options = {}) {
63
+ const base = z
64
+ .object({
65
+ _asset: z.string(),
66
+ })
67
+ .brand();
68
+ return base.meta({ assetOptions: options });
69
+ }
70
+ // ---------- accept-filter matching ----------
71
+ /**
72
+ * Map a MIME's top-level type to its picker `AcceptFilter` kind name.
73
+ * `image/jpeg` → `image`, `application/pdf` → `document`, etc.
74
+ *
75
+ * The asset-kind taxonomy (`image | video | audio | document | font |
76
+ * other`) is defined by design-media.md; this maps the IANA top-level
77
+ * type into that vocabulary. Anything not in the table maps to `'other'`
78
+ * — the picker can still accept these via MIME prefix or exact MIME.
79
+ *
80
+ * `kind` is the asset's manifest kind (`embedded | downloadable | font`),
81
+ * which discriminates rendering contract — separate axis from this
82
+ * MIME-derived category. Both inform `matchesAccept`.
83
+ */
84
+ export function mimeToAcceptKind(mime) {
85
+ const slash = mime.indexOf('/');
86
+ const top = slash === -1 ? mime : mime.slice(0, slash);
87
+ switch (top) {
88
+ case 'image':
89
+ return 'image';
90
+ case 'video':
91
+ return 'video';
92
+ case 'audio':
93
+ return 'audio';
94
+ case 'application':
95
+ case 'text':
96
+ return 'document';
97
+ case 'font':
98
+ return 'font';
99
+ default:
100
+ return 'other';
101
+ }
102
+ }
103
+ /**
104
+ * Does this asset satisfy any one of the picker's `accept` filters?
105
+ *
106
+ * Empty `accept` matches everything — that's "no filter configured."
107
+ * Otherwise the asset matches if at least one filter entry holds:
108
+ * - kind name (`'image'`, `'video'`, ...) matches `mimeToAcceptKind`
109
+ * - MIME prefix (ends with `/`) is a prefix of the asset's MIME
110
+ * - exact MIME equals the asset's MIME
111
+ *
112
+ * Pure, side-effect-free — picker UIs use it to filter the grid; the
113
+ * resolver could use it to validate refs at render time.
114
+ */
115
+ export function matchesAccept(asset, accept) {
116
+ if (accept.length === 0)
117
+ return true;
118
+ const assetKind = mimeToAcceptKind(asset.mime);
119
+ for (const filter of accept) {
120
+ if (filter === assetKind)
121
+ return true;
122
+ if (filter.endsWith('/')) {
123
+ if (asset.mime.startsWith(filter))
124
+ return true;
125
+ }
126
+ else if (filter.includes('/')) {
127
+ if (asset.mime === filter)
128
+ return true;
129
+ }
130
+ }
131
+ return false;
132
+ }
133
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/schema/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Public schema API — Zod helpers for asset references, reference/resolved
3
+ * types, and the `Content<T>` type mapper templates use to convert their
4
+ * Zod-inferred content type into what the resolver delivers at render time.
5
+ *
6
+ * Usage:
7
+ *
8
+ * ```ts
9
+ * import type { TemplateFunction } from 'gazetta'
10
+ * import { z } from 'zod'
11
+ * import { embeddedAsset, type Content } from 'gazetta/schema'
12
+ *
13
+ * export const schema = z.object({
14
+ * hero: embeddedAsset({ accept: ['image'] }),
15
+ * title: z.string(),
16
+ * })
17
+ *
18
+ * const render: TemplateFunction<Content<z.infer<typeof schema>>> = ({ content }) => ({
19
+ * html: `<img src="${content.hero.url}" alt="${content.hero.alt}"><h1>${content.title}</h1>`,
20
+ * css: '', js: '',
21
+ * })
22
+ * ```
23
+ */
24
+ export { downloadable, embeddedAsset, fontAsset, matchesAccept, mimeToAcceptKind } from './helpers.js';
25
+ export type { AcceptFilter, DownloadableOptions, EmbeddedAssetOptions, FontAssetOptions, } from './helpers.js';
26
+ export type { AssetKind, AssetManifest, AssetSummary, AssetVariant, Content, DownloadableAssetManifest, DownloadableAssetRef, EmbeddedAssetManifest, EmbeddedAssetRef, FontAssetManifest, FontAssetRef, FontLocaleAdditiveManifest, LocaleBytesOverrideManifest, LocaleMetadataOverrideManifest, LocaleOverrideManifest, ResolvedDownloadableAsset, ResolvedEmbeddedAsset, ResolvedFontAsset, } from './types.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtG,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,2BAA2B,EAC3B,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Public schema API — Zod helpers for asset references, reference/resolved
3
+ * types, and the `Content<T>` type mapper templates use to convert their
4
+ * Zod-inferred content type into what the resolver delivers at render time.
5
+ *
6
+ * Usage:
7
+ *
8
+ * ```ts
9
+ * import type { TemplateFunction } from 'gazetta'
10
+ * import { z } from 'zod'
11
+ * import { embeddedAsset, type Content } from 'gazetta/schema'
12
+ *
13
+ * export const schema = z.object({
14
+ * hero: embeddedAsset({ accept: ['image'] }),
15
+ * title: z.string(),
16
+ * })
17
+ *
18
+ * const render: TemplateFunction<Content<z.infer<typeof schema>>> = ({ content }) => ({
19
+ * html: `<img src="${content.hero.url}" alt="${content.hero.alt}"><h1>${content.title}</h1>`,
20
+ * css: '', js: '',
21
+ * })
22
+ * ```
23
+ */
24
+ export { downloadable, embeddedAsset, fontAsset, matchesAccept, mimeToAcceptKind } from './helpers.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA"}