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.
- package/admin-dist/assets/index-BO9-CXmW.css +1 -0
- package/admin-dist/assets/index-Ufu8zZH_.js +668 -0
- package/admin-dist/assets/{vendor-primevue-BnR1c_bQ.js → vendor-primevue-C0Q_YTCb.js} +330 -431
- package/admin-dist/assets/vendor-vue-D3wBSmDf.js +1 -0
- package/admin-dist/index.html +4 -4
- package/dist/admin-api/error-response.d.ts +21 -0
- package/dist/admin-api/error-response.d.ts.map +1 -0
- package/dist/admin-api/error-response.js +12 -0
- package/dist/admin-api/error-response.js.map +1 -0
- package/dist/admin-api/index.d.ts +19 -6
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +137 -21
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/routes/assets.d.ts +16 -0
- package/dist/admin-api/routes/assets.d.ts.map +1 -0
- package/dist/admin-api/routes/assets.js +433 -0
- package/dist/admin-api/routes/assets.js.map +1 -0
- package/dist/admin-api/routes/compare.d.ts +2 -1
- package/dist/admin-api/routes/compare.d.ts.map +1 -1
- package/dist/admin-api/routes/compare.js +33 -24
- package/dist/admin-api/routes/compare.js.map +1 -1
- package/dist/admin-api/routes/fields.d.ts +2 -2
- package/dist/admin-api/routes/fields.d.ts.map +1 -1
- package/dist/admin-api/routes/fields.js +10 -3
- package/dist/admin-api/routes/fields.js.map +1 -1
- package/dist/admin-api/routes/fragments.d.ts +2 -3
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +120 -21
- package/dist/admin-api/routes/fragments.js.map +1 -1
- package/dist/admin-api/routes/history.d.ts +23 -0
- package/dist/admin-api/routes/history.d.ts.map +1 -0
- package/dist/admin-api/routes/history.js +143 -0
- package/dist/admin-api/routes/history.js.map +1 -0
- package/dist/admin-api/routes/pages.d.ts +2 -3
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +153 -22
- package/dist/admin-api/routes/pages.js.map +1 -1
- package/dist/admin-api/routes/preview.d.ts +2 -2
- package/dist/admin-api/routes/preview.d.ts.map +1 -1
- package/dist/admin-api/routes/preview.js +50 -15
- package/dist/admin-api/routes/preview.js.map +1 -1
- package/dist/admin-api/routes/publish.d.ts +2 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +259 -79
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/admin-api/routes/site.d.ts +2 -2
- package/dist/admin-api/routes/site.d.ts.map +1 -1
- package/dist/admin-api/routes/site.js +27 -4
- package/dist/admin-api/routes/site.js.map +1 -1
- package/dist/admin-api/routes/templates.d.ts +2 -2
- package/dist/admin-api/routes/templates.d.ts.map +1 -1
- package/dist/admin-api/routes/templates.js +19 -9
- package/dist/admin-api/routes/templates.js.map +1 -1
- package/dist/admin-api/schemas/assets.d.ts +48 -0
- package/dist/admin-api/schemas/assets.d.ts.map +1 -0
- package/dist/admin-api/schemas/assets.js +44 -0
- package/dist/admin-api/schemas/assets.js.map +1 -0
- package/dist/admin-api/schemas/compare.d.ts +29 -0
- package/dist/admin-api/schemas/compare.d.ts.map +1 -0
- package/dist/admin-api/schemas/compare.js +30 -0
- package/dist/admin-api/schemas/compare.js.map +1 -0
- package/dist/admin-api/schemas/dependents.d.ts +15 -0
- package/dist/admin-api/schemas/dependents.d.ts.map +1 -0
- package/dist/admin-api/schemas/dependents.js +14 -0
- package/dist/admin-api/schemas/dependents.js.map +1 -0
- package/dist/admin-api/schemas/fetch.d.ts +12 -0
- package/dist/admin-api/schemas/fetch.d.ts.map +1 -0
- package/dist/admin-api/schemas/fetch.js +11 -0
- package/dist/admin-api/schemas/fetch.js.map +1 -0
- package/dist/admin-api/schemas/fields.d.ts +11 -0
- package/dist/admin-api/schemas/fields.d.ts.map +1 -0
- package/dist/admin-api/schemas/fields.js +11 -0
- package/dist/admin-api/schemas/fields.js.map +1 -0
- package/dist/admin-api/schemas/fragments.d.ts +27 -0
- package/dist/admin-api/schemas/fragments.d.ts.map +1 -0
- package/dist/admin-api/schemas/fragments.js +26 -0
- package/dist/admin-api/schemas/fragments.js.map +1 -0
- package/dist/admin-api/schemas/history.d.ts +73 -0
- package/dist/admin-api/schemas/history.d.ts.map +1 -0
- package/dist/admin-api/schemas/history.js +35 -0
- package/dist/admin-api/schemas/history.js.map +1 -0
- package/dist/admin-api/schemas/index.d.ts +34 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -0
- package/dist/admin-api/schemas/index.js +34 -0
- package/dist/admin-api/schemas/index.js.map +1 -0
- package/dist/admin-api/schemas/pages.d.ts +46 -0
- package/dist/admin-api/schemas/pages.d.ts.map +1 -0
- package/dist/admin-api/schemas/pages.js +47 -0
- package/dist/admin-api/schemas/pages.js.map +1 -0
- package/dist/admin-api/schemas/publish.d.ts +67 -0
- package/dist/admin-api/schemas/publish.d.ts.map +1 -0
- package/dist/admin-api/schemas/publish.js +60 -0
- package/dist/admin-api/schemas/publish.js.map +1 -0
- package/dist/admin-api/schemas/site.d.ts +28 -0
- package/dist/admin-api/schemas/site.d.ts.map +1 -0
- package/dist/admin-api/schemas/site.js +24 -0
- package/dist/admin-api/schemas/site.js.map +1 -0
- package/dist/admin-api/schemas/targets.d.ts +36 -0
- package/dist/admin-api/schemas/targets.d.ts.map +1 -0
- package/dist/admin-api/schemas/targets.js +19 -0
- package/dist/admin-api/schemas/targets.js.map +1 -0
- package/dist/admin-api/schemas/templates.d.ts +17 -0
- package/dist/admin-api/schemas/templates.d.ts.map +1 -0
- package/dist/admin-api/schemas/templates.js +16 -0
- package/dist/admin-api/schemas/templates.js.map +1 -0
- package/dist/admin-api/source-context.d.ts +158 -0
- package/dist/admin-api/source-context.d.ts.map +1 -0
- package/dist/admin-api/source-context.js +92 -0
- package/dist/admin-api/source-context.js.map +1 -0
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/assemble.d.ts.map +1 -1
- package/dist/assemble.js +4 -1
- package/dist/assemble.js.map +1 -1
- package/dist/assets/analyze-audio.d.ts +3 -0
- package/dist/assets/analyze-audio.d.ts.map +1 -0
- package/dist/assets/analyze-audio.js +80 -0
- package/dist/assets/analyze-audio.js.map +1 -0
- package/dist/assets/analyze-image.d.ts +19 -0
- package/dist/assets/analyze-image.d.ts.map +1 -0
- package/dist/assets/analyze-image.js +123 -0
- package/dist/assets/analyze-image.js.map +1 -0
- package/dist/assets/analyze.d.ts +94 -0
- package/dist/assets/analyze.d.ts.map +1 -0
- package/dist/assets/analyze.js +45 -0
- package/dist/assets/analyze.js.map +1 -0
- package/dist/assets/asset-deps.d.ts +30 -0
- package/dist/assets/asset-deps.d.ts.map +1 -0
- package/dist/assets/asset-deps.js +42 -0
- package/dist/assets/asset-deps.js.map +1 -0
- package/dist/assets/asset-paths.d.ts +155 -0
- package/dist/assets/asset-paths.d.ts.map +1 -0
- package/dist/assets/asset-paths.js +197 -0
- package/dist/assets/asset-paths.js.map +1 -0
- package/dist/assets/delete.d.ts +75 -0
- package/dist/assets/delete.d.ts.map +1 -0
- package/dist/assets/delete.js +82 -0
- package/dist/assets/delete.js.map +1 -0
- package/dist/assets/errors.d.ts +241 -0
- package/dist/assets/errors.d.ts.map +1 -0
- package/dist/assets/errors.js +300 -0
- package/dist/assets/errors.js.map +1 -0
- package/dist/assets/find-refs.d.ts +37 -0
- package/dist/assets/find-refs.d.ts.map +1 -0
- package/dist/assets/find-refs.js +35 -0
- package/dist/assets/find-refs.js.map +1 -0
- package/dist/assets/hash.d.ts +13 -0
- package/dist/assets/hash.d.ts.map +1 -0
- package/dist/assets/hash.js +43 -0
- package/dist/assets/hash.js.map +1 -0
- package/dist/assets/image-metadata.d.ts +11 -0
- package/dist/assets/image-metadata.d.ts.map +1 -0
- package/dist/assets/image-metadata.js +31 -0
- package/dist/assets/image-metadata.js.map +1 -0
- package/dist/assets/ingest-locale.d.ts +86 -0
- package/dist/assets/ingest-locale.d.ts.map +1 -0
- package/dist/assets/ingest-locale.js +209 -0
- package/dist/assets/ingest-locale.js.map +1 -0
- package/dist/assets/ingest.d.ts +96 -0
- package/dist/assets/ingest.d.ts.map +1 -0
- package/dist/assets/ingest.js +308 -0
- package/dist/assets/ingest.js.map +1 -0
- package/dist/assets/kind-compat.d.ts +34 -0
- package/dist/assets/kind-compat.d.ts.map +1 -0
- package/dist/assets/kind-compat.js +33 -0
- package/dist/assets/kind-compat.js.map +1 -0
- package/dist/assets/list.d.ts +46 -0
- package/dist/assets/list.d.ts.map +1 -0
- package/dist/assets/list.js +102 -0
- package/dist/assets/list.js.map +1 -0
- package/dist/assets/manifest-default.d.ts +56 -0
- package/dist/assets/manifest-default.d.ts.map +1 -0
- package/dist/assets/manifest-default.js +120 -0
- package/dist/assets/manifest-default.js.map +1 -0
- package/dist/assets/manifest-filename.d.ts +52 -0
- package/dist/assets/manifest-filename.d.ts.map +1 -0
- package/dist/assets/manifest-filename.js +104 -0
- package/dist/assets/manifest-filename.js.map +1 -0
- package/dist/assets/manifest-locale.d.ts +60 -0
- package/dist/assets/manifest-locale.d.ts.map +1 -0
- package/dist/assets/manifest-locale.js +206 -0
- package/dist/assets/manifest-locale.js.map +1 -0
- package/dist/assets/manifest-merge.d.ts +66 -0
- package/dist/assets/manifest-merge.d.ts.map +1 -0
- package/dist/assets/manifest-merge.js +82 -0
- package/dist/assets/manifest-merge.js.map +1 -0
- package/dist/assets/manifest.d.ts +83 -0
- package/dist/assets/manifest.d.ts.map +1 -0
- package/dist/assets/manifest.js +93 -0
- package/dist/assets/manifest.js.map +1 -0
- package/dist/assets/mime-sniff.d.ts +18 -0
- package/dist/assets/mime-sniff.d.ts.map +1 -0
- package/dist/assets/mime-sniff.js +84 -0
- package/dist/assets/mime-sniff.js.map +1 -0
- package/dist/assets/preprocess-svg.d.ts +3 -0
- package/dist/assets/preprocess-svg.d.ts.map +1 -0
- package/dist/assets/preprocess-svg.js +49 -0
- package/dist/assets/preprocess-svg.js.map +1 -0
- package/dist/assets/preprocess.d.ts +62 -0
- package/dist/assets/preprocess.d.ts.map +1 -0
- package/dist/assets/preprocess.js +86 -0
- package/dist/assets/preprocess.js.map +1 -0
- package/dist/assets/publish-plan.d.ts +41 -0
- package/dist/assets/publish-plan.d.ts.map +1 -0
- package/dist/assets/publish-plan.js +49 -0
- package/dist/assets/publish-plan.js.map +1 -0
- package/dist/assets/publish.d.ts +33 -0
- package/dist/assets/publish.d.ts.map +1 -0
- package/dist/assets/publish.js +81 -0
- package/dist/assets/publish.js.map +1 -0
- package/dist/assets/refs.d.ts +37 -0
- package/dist/assets/refs.d.ts.map +1 -0
- package/dist/assets/refs.js +33 -0
- package/dist/assets/refs.js.map +1 -0
- package/dist/assets/remove-override.d.ts +42 -0
- package/dist/assets/remove-override.d.ts.map +1 -0
- package/dist/assets/remove-override.js +53 -0
- package/dist/assets/remove-override.js.map +1 -0
- package/dist/assets/rename.d.ts +43 -0
- package/dist/assets/rename.d.ts.map +1 -0
- package/dist/assets/rename.js +271 -0
- package/dist/assets/rename.js.map +1 -0
- package/dist/assets/replace.d.ts +37 -0
- package/dist/assets/replace.d.ts.map +1 -0
- package/dist/assets/replace.js +195 -0
- package/dist/assets/replace.js.map +1 -0
- package/dist/assets/resolve.d.ts +141 -0
- package/dist/assets/resolve.d.ts.map +1 -0
- package/dist/assets/resolve.js +381 -0
- package/dist/assets/resolve.js.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
- package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
- package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
- package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
- package/dist/assets/scan-manifest-for-asset.js +105 -0
- package/dist/assets/scan-manifest-for-asset.js.map +1 -0
- package/dist/assets/serve-route.d.ts +45 -0
- package/dist/assets/serve-route.d.ts.map +1 -0
- package/dist/assets/serve-route.js +123 -0
- package/dist/assets/serve-route.js.map +1 -0
- package/dist/assets/svg-sanitize.d.ts +38 -0
- package/dist/assets/svg-sanitize.d.ts.map +1 -0
- package/dist/assets/svg-sanitize.js +209 -0
- package/dist/assets/svg-sanitize.js.map +1 -0
- package/dist/assets/update-metadata.d.ts +61 -0
- package/dist/assets/update-metadata.d.ts.map +1 -0
- package/dist/assets/update-metadata.js +82 -0
- package/dist/assets/update-metadata.js.map +1 -0
- package/dist/assets/url.d.ts +82 -0
- package/dist/assets/url.d.ts.map +1 -0
- package/dist/assets/url.js +103 -0
- package/dist/assets/url.js.map +1 -0
- package/dist/assets/validate.d.ts +74 -0
- package/dist/assets/validate.d.ts.map +1 -0
- package/dist/assets/validate.js +136 -0
- package/dist/assets/validate.js.map +1 -0
- package/dist/assets/variants.d.ts +23 -0
- package/dist/assets/variants.d.ts.map +1 -0
- package/dist/assets/variants.js +74 -0
- package/dist/assets/variants.js.map +1 -0
- package/dist/cli/assets-cli.d.ts +58 -0
- package/dist/cli/assets-cli.d.ts.map +1 -0
- package/dist/cli/assets-cli.js +233 -0
- package/dist/cli/assets-cli.js.map +1 -0
- package/dist/cli/assets-display.d.ts +112 -0
- package/dist/cli/assets-display.d.ts.map +1 -0
- package/dist/cli/assets-display.js +106 -0
- package/dist/cli/assets-display.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +46 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +84 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/history.d.ts +45 -0
- package/dist/cli/history.d.ts.map +1 -0
- package/dist/cli/history.js +165 -0
- package/dist/cli/history.js.map +1 -0
- package/dist/cli/index.js +689 -128
- package/dist/cli/index.js.map +1 -1
- package/dist/compare.d.ts +8 -5
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +62 -20
- package/dist/compare.js.map +1 -1
- package/dist/content-root.d.ts +38 -0
- package/dist/content-root.d.ts.map +1 -0
- package/dist/content-root.js +29 -0
- package/dist/content-root.js.map +1 -0
- package/dist/dep-sidecars.d.ts +127 -0
- package/dist/dep-sidecars.d.ts.map +1 -0
- package/dist/dep-sidecars.js +122 -0
- package/dist/dep-sidecars.js.map +1 -0
- package/dist/editor/AssetEmbeddedWidget.d.ts +3 -0
- package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
- package/dist/editor/AssetEmbeddedWidget.js +146 -0
- package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
- package/dist/editor/mount.d.ts +12 -1
- package/dist/editor/mount.d.ts.map +1 -1
- package/dist/editor/mount.js +96 -33
- package/dist/editor/mount.js.map +1 -1
- package/dist/format.d.ts +44 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +65 -0
- package/dist/format.js.map +1 -0
- package/dist/fragment-deps.d.ts +24 -0
- package/dist/fragment-deps.d.ts.map +1 -0
- package/dist/fragment-deps.js +20 -0
- package/dist/fragment-deps.js.map +1 -0
- package/dist/hash.d.ts +34 -9
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +60 -21
- package/dist/hash.js.map +1 -1
- package/dist/history-provider.d.ts +49 -0
- package/dist/history-provider.d.ts.map +1 -0
- package/dist/history-provider.js +248 -0
- package/dist/history-provider.js.map +1 -0
- package/dist/history-recorder.d.ts +102 -0
- package/dist/history-recorder.d.ts.map +1 -0
- package/dist/history-recorder.js +168 -0
- package/dist/history-recorder.js.map +1 -0
- package/dist/history-restorer.d.ts +46 -0
- package/dist/history-restorer.d.ts.map +1 -0
- package/dist/history-restorer.js +137 -0
- package/dist/history-restorer.js.map +1 -0
- package/dist/history.d.ts +129 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +25 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +27 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +94 -0
- package/dist/locale.d.ts.map +1 -0
- package/dist/locale.js +188 -0
- package/dist/locale.js.map +1 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +16 -1
- package/dist/manifest.js.map +1 -1
- package/dist/providers/_atomic-write.d.ts +9 -0
- package/dist/providers/_atomic-write.d.ts.map +1 -0
- package/dist/providers/_atomic-write.js +72 -0
- package/dist/providers/_atomic-write.js.map +1 -0
- package/dist/providers/_rm-ignore-missing.d.ts +31 -0
- package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
- package/dist/providers/_rm-ignore-missing.js +12 -0
- package/dist/providers/_rm-ignore-missing.js.map +1 -0
- package/dist/providers/_stream-interop.d.ts +23 -0
- package/dist/providers/_stream-interop.d.ts.map +1 -0
- package/dist/providers/_stream-interop.js +21 -0
- package/dist/providers/_stream-interop.js.map +1 -0
- package/dist/providers/azure-blob.d.ts.map +1 -1
- package/dist/providers/azure-blob.js +60 -0
- package/dist/providers/azure-blob.js.map +1 -1
- package/dist/providers/filesystem.d.ts +4 -0
- package/dist/providers/filesystem.d.ts.map +1 -1
- package/dist/providers/filesystem.js +63 -2
- package/dist/providers/filesystem.js.map +1 -1
- package/dist/providers/s3.d.ts.map +1 -1
- package/dist/providers/s3.js +107 -16
- package/dist/providers/s3.js.map +1 -1
- package/dist/publish-locale.d.ts +44 -0
- package/dist/publish-locale.d.ts.map +1 -0
- package/dist/publish-locale.js +103 -0
- package/dist/publish-locale.js.map +1 -0
- package/dist/publish-rendered.d.ts +52 -21
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +144 -87
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish.d.ts +18 -19
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +41 -56
- package/dist/publish.js.map +1 -1
- package/dist/renderer.d.ts +14 -4
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +35 -23
- package/dist/renderer.js.map +1 -1
- package/dist/resolver.d.ts +17 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +112 -16
- package/dist/resolver.js.map +1 -1
- package/dist/robots.d.ts +22 -0
- package/dist/robots.d.ts.map +1 -0
- package/dist/robots.js +25 -0
- package/dist/robots.js.map +1 -0
- package/dist/schema/dimensions.d.ts +78 -0
- package/dist/schema/dimensions.d.ts.map +1 -0
- package/dist/schema/dimensions.js +97 -0
- package/dist/schema/dimensions.js.map +1 -0
- package/dist/schema/helpers.d.ts +108 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/helpers.js +133 -0
- package/dist/schema/helpers.js.map +1 -0
- package/dist/schema/index.d.ts +27 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +25 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/types.d.ts +390 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +25 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/selector-chain.d.ts +63 -0
- package/dist/selector-chain.d.ts.map +1 -0
- package/dist/selector-chain.js +58 -0
- package/dist/selector-chain.js.map +1 -0
- package/dist/seo.d.ts +56 -0
- package/dist/seo.d.ts.map +1 -0
- package/dist/seo.js +72 -0
- package/dist/seo.js.map +1 -0
- package/dist/serve.d.ts +41 -3
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +206 -65
- package/dist/serve.js.map +1 -1
- package/dist/sidecars.d.ts +26 -21
- package/dist/sidecars.d.ts.map +1 -1
- package/dist/sidecars.js +143 -45
- package/dist/sidecars.js.map +1 -1
- package/dist/site-loader.d.ts +74 -6
- package/dist/site-loader.d.ts.map +1 -1
- package/dist/site-loader.js +138 -28
- package/dist/site-loader.js.map +1 -1
- package/dist/sitemap.d.ts +45 -0
- package/dist/sitemap.d.ts.map +1 -0
- package/dist/sitemap.js +67 -0
- package/dist/sitemap.js.map +1 -0
- package/dist/targets.d.ts +47 -1
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +83 -36
- package/dist/targets.js.map +1 -1
- package/dist/template-loader.d.ts +7 -3
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +27 -12
- package/dist/template-loader.js.map +1 -1
- package/dist/templates-scan-worker.js +1 -1
- package/dist/templates-scan-worker.js.map +1 -1
- package/dist/templates-scan.d.ts.map +1 -1
- package/dist/templates-scan.js +1 -1
- package/dist/templates-scan.js.map +1 -1
- package/dist/themes.d.ts +69 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +85 -0
- package/dist/themes.js.map +1 -0
- package/dist/transforms/adapter.d.ts +115 -0
- package/dist/transforms/adapter.d.ts.map +1 -0
- package/dist/transforms/adapter.js +2 -0
- package/dist/transforms/adapter.js.map +1 -0
- package/dist/transforms/cloudflare.d.ts +17 -0
- package/dist/transforms/cloudflare.d.ts.map +1 -0
- package/dist/transforms/cloudflare.js +110 -0
- package/dist/transforms/cloudflare.js.map +1 -0
- package/dist/transforms/index.d.ts +24 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +30 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/sharp.d.ts +3 -0
- package/dist/transforms/sharp.d.ts.map +1 -0
- package/dist/transforms/sharp.js +43 -0
- package/dist/transforms/sharp.js.map +1 -0
- package/dist/types.d.ts +241 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +28 -5
- package/dist/types.js.map +1 -1
- package/dist/workers/cloudflare-r2.d.ts +11 -2
- package/dist/workers/cloudflare-r2.d.ts.map +1 -1
- package/dist/workers/cloudflare-r2.js +120 -55
- package/dist/workers/cloudflare-r2.js.map +1 -1
- package/package.json +30 -2
- package/admin-dist/assets/index-BZAFKsUp.js +0 -608
- package/admin-dist/assets/index-BpRotMuK.css +0 -1
- package/admin-dist/assets/vendor-vue-DSjyxCX6.js +0 -1
- package/dist/providers/r2.d.ts +0 -8
- package/dist/providers/r2.d.ts.map +0 -1
- package/dist/providers/r2.js +0 -83
- package/dist/providers/r2.js.map +0 -1
- package/dist/source-sidecars.d.ts +0 -13
- package/dist/source-sidecars.d.ts.map +0 -1
- package/dist/source-sidecars.js +0 -52
- 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"}
|