@phtngyn/cms 0.2.0-beta.8 → 0.3.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/LICENSE +18 -10
- package/README.md +59 -404
- package/drizzle/20261003215543_initial/migration.sql +251 -0
- package/drizzle/20261003215543_initial/snapshot.json +1941 -0
- package/package.json +75 -71
- package/src/Authoring.d.ts +41 -49
- package/src/Authoring.js +1 -1
- package/src/Blocks-BrxSemnd.js +40 -0
- package/src/Client.d.ts +8186 -0
- package/src/Client.js +41 -0
- package/src/Collections.d.ts +142 -0
- package/src/Collections.js +142 -0
- package/src/Config-CMiwciub.js +130 -0
- package/src/Config.d.ts +172 -0
- package/src/Config.js +2 -0
- package/src/Configuration-Dk2k3OIc.js +73 -0
- package/src/DataTransfer-BmECvPHB.js +488 -0
- package/src/Database-DSsNCGft.d.ts +3 -0
- package/src/Delivery.d.ts +28 -0
- package/src/Delivery.js +7 -0
- package/src/Document-CKXMSEf1.js +293 -0
- package/src/Document-TgwYKJZM.d.ts +220 -0
- package/src/DocumentRenderer-Wz2xaNyf.js +394 -0
- package/src/EditorSchema-wrDv-id6.js +296 -0
- package/src/Fields-BegSgYhj.d.ts +166 -0
- package/src/Fields-ioGaMEh9.js +130 -0
- package/src/Forms-BuKAXQxr.d.ts +203 -0
- package/src/Forms.d.ts +48 -11
- package/src/Forms.js +342 -7
- package/src/I18n-Ckf9h0rC.js +154 -0
- package/src/I18n.d.ts +45 -2
- package/src/I18n.js +2 -1
- package/src/Image-CJWPLnhP.js +110 -0
- package/src/Links-CJYyy7rC.js +28 -0
- package/src/Links-Dx1yOni8.d.ts +28 -0
- package/src/Locales-Ch7a5xuA.js +67 -0
- package/src/Locales-jwbmJaOp.d.ts +43 -0
- package/src/Locales.d.ts +3 -0
- package/src/Locales.js +3 -0
- package/src/Media-BQ0uL4w7.d.ts +15 -0
- package/src/Media-DSyvd14o.js +87 -0
- package/src/Module.d.ts +2 -10
- package/src/Module.js +1040 -152
- package/src/Operations.d.ts +57 -0
- package/src/Operations.js +263 -0
- package/src/People-DvNZauWw.js +69 -0
- package/src/PreviewFocus-C_EelZO5.js +104 -0
- package/src/Query-C0kGJF5_.d.ts +261 -0
- package/src/RevisionPreview-IVwbJ9Wy.js +133 -0
- package/src/Routes-BaZvm2LE.js +126 -0
- package/src/Routes-DM1rRp3r.d.ts +15 -0
- package/src/S3MediaObjects-y-WacEi9.js +193 -0
- package/src/Seo-BcpqxoAs.d.ts +57 -0
- package/src/Seo-CjNUtUkj.js +254 -0
- package/src/StudioApi-CXLwwocX.js +833 -0
- package/src/StudioErrors-T5zLGQ1M.js +117 -0
- package/src/StudioErrors-kq-E44lQ.d.ts +104 -0
- package/src/StudioServer.d.ts +20 -0
- package/src/StudioServer.js +34 -0
- package/src/answers-DcTg0Xv2.js +41 -0
- package/src/cli.js +681 -187
- package/src/contracts-rprW3ZOB.js +130 -0
- package/src/forms-3xuf0Ym7.d.ts +206 -0
- package/src/localeConfiguration-BPbkLi7-.js +32 -0
- package/src/localeContext-DhF3SPvM.js +59 -0
- package/src/locales-6OD4XGIZ.js +12 -0
- package/src/nuxtDelivery-BYX_Cddb.js +466 -0
- package/src/plugin-DTYuDaQu.js +7171 -0
- package/src/previewContext-dt3ZUh-w.js +4 -0
- package/src/previewRegions-CXjk5cbP.js +145 -0
- package/src/previewSource-fb-q3ESM.js +144 -0
- package/src/rendering-D9LVeEKX.js +47 -0
- package/src/rolldown-runtime-8H4AJuhK.js +14 -0
- package/src/runtime/CmsImage.js +38 -0
- package/src/runtime/DocumentPage.vue +10 -0
- package/src/runtime/DocumentPageContent.js +48 -0
- package/src/runtime/DocumentRenderer.d.ts +129 -0
- package/src/runtime/DocumentRenderer.js +2 -0
- package/src/runtime/api.js +48 -6
- package/src/runtime/delivery/useCmsDocument.js +2 -0
- package/src/runtime/delivery/useCmsDocumentQuery.js +2 -0
- package/src/runtime/delivery/useCmsDocumentSeo.js +2 -114
- package/src/runtime/delivery/useCmsLocale.js +10 -0
- package/src/runtime/plugin.js +2 -40
- package/src/runtime/preview.css +85 -0
- package/src/runtime/preview.js +277 -0
- package/src/runtime/previewSource.js +82 -0
- package/src/runtime/revisionPrivacy.js +13 -0
- package/src/runtime/studio.js +10 -0
- package/src/runtime/studioIcons.js +36 -0
- package/src/validation-3pggwcnm.js +396 -0
- package/src/validation-DpUwPC8Y.js +224 -0
- package/studio/THIRD-PARTY-LICENSES.md +2406 -0
- package/studio/chunks/AccountPage-DL3DitDM.js +288 -0
- package/studio/chunks/AccountPage-DL3DitDM.js.br +0 -0
- package/studio/chunks/AccountPage-DL3DitDM.js.gz +0 -0
- package/studio/chunks/ActivityPage-CLqVUqTh.js +584 -0
- package/studio/chunks/ActivityPage-CLqVUqTh.js.br +0 -0
- package/studio/chunks/ActivityPage-CLqVUqTh.js.gz +0 -0
- package/studio/chunks/Alert-D0D24z_a.js +335 -0
- package/studio/chunks/Alert-D0D24z_a.js.br +0 -0
- package/studio/chunks/Alert-D0D24z_a.js.gz +0 -0
- package/studio/chunks/Badge-BBFs88TI.js +346 -0
- package/studio/chunks/Badge-BBFs88TI.js.br +0 -0
- package/studio/chunks/Badge-BBFs88TI.js.gz +0 -0
- package/studio/chunks/Button-BT3ztSPx.js +14319 -0
- package/studio/chunks/Button-BT3ztSPx.js.br +0 -0
- package/studio/chunks/Button-BT3ztSPx.js.gz +0 -0
- package/studio/chunks/Collapsible-CKnEYIlp.js +246 -0
- package/studio/chunks/Collapsible-CKnEYIlp.js.br +0 -0
- package/studio/chunks/Collapsible-CKnEYIlp.js.gz +0 -0
- package/studio/chunks/ContentInventory-D7nsFA6U.js +1745 -0
- package/studio/chunks/ContentInventory-D7nsFA6U.js.br +0 -0
- package/studio/chunks/ContentInventory-D7nsFA6U.js.gz +0 -0
- package/studio/chunks/ContentPage-DCxt6BeD.js +18 -0
- package/studio/chunks/ContentPage-DCxt6BeD.js.br +0 -0
- package/studio/chunks/ContentPage-DCxt6BeD.js.gz +0 -0
- package/studio/chunks/DashboardSearch-DjyMjJwF.js +2413 -0
- package/studio/chunks/DashboardSearch-DjyMjJwF.js.br +0 -0
- package/studio/chunks/DashboardSearch-DjyMjJwF.js.gz +0 -0
- package/studio/chunks/DocumentLocaleMenu-0EkkOr6_.js +26063 -0
- package/studio/chunks/DocumentLocaleMenu-0EkkOr6_.js.br +0 -0
- package/studio/chunks/DocumentLocaleMenu-0EkkOr6_.js.gz +0 -0
- package/studio/chunks/DropdownMenu-CA9fB0uZ.js +4400 -0
- package/studio/chunks/DropdownMenu-CA9fB0uZ.js.br +0 -0
- package/studio/chunks/DropdownMenu-CA9fB0uZ.js.gz +0 -0
- package/studio/chunks/EditorPage-D_PAYEE4.js +7799 -0
- package/studio/chunks/EditorPage-D_PAYEE4.js.br +0 -0
- package/studio/chunks/EditorPage-D_PAYEE4.js.gz +0 -0
- package/studio/chunks/FormField-CgM6l2Yn.js +198 -0
- package/studio/chunks/FormField-CgM6l2Yn.js.br +0 -0
- package/studio/chunks/FormField-CgM6l2Yn.js.gz +0 -0
- package/studio/chunks/HelpPage-C-vrFcT_.js +552 -0
- package/studio/chunks/HelpPage-C-vrFcT_.js.br +0 -0
- package/studio/chunks/HelpPage-C-vrFcT_.js.gz +0 -0
- package/studio/chunks/Kbd-Ot7TIhVZ.js +271 -0
- package/studio/chunks/Kbd-Ot7TIhVZ.js.br +0 -0
- package/studio/chunks/Kbd-Ot7TIhVZ.js.gz +0 -0
- package/studio/chunks/MediaFolderDialog-DYu-eu-q.js +101 -0
- package/studio/chunks/MediaFolderDialog-DYu-eu-q.js.br +0 -0
- package/studio/chunks/MediaFolderDialog-DYu-eu-q.js.gz +0 -0
- package/studio/chunks/MediaPage-D-jaWtdl.js +923 -0
- package/studio/chunks/MediaPage-D-jaWtdl.js.br +0 -0
- package/studio/chunks/MediaPage-D-jaWtdl.js.gz +0 -0
- package/studio/chunks/MediaPicker-BZs2wUFz.js +837 -0
- package/studio/chunks/MediaPicker-BZs2wUFz.js.br +0 -0
- package/studio/chunks/MediaPicker-BZs2wUFz.js.gz +0 -0
- package/studio/chunks/MediaUploadPanel-C7Kyg6aR.js +1173 -0
- package/studio/chunks/MediaUploadPanel-C7Kyg6aR.js.br +0 -0
- package/studio/chunks/MediaUploadPanel-C7Kyg6aR.js.gz +0 -0
- package/studio/chunks/Modal-D6hSvxHd.js +265 -0
- package/studio/chunks/Modal-D6hSvxHd.js.br +0 -0
- package/studio/chunks/Modal-D6hSvxHd.js.gz +0 -0
- package/studio/chunks/NewDocumentDialog-C8B6_r3J.js +277 -0
- package/studio/chunks/NewDocumentDialog-C8B6_r3J.js.br +0 -0
- package/studio/chunks/NewDocumentDialog-C8B6_r3J.js.gz +0 -0
- package/studio/chunks/Pagination-D9BSo5H2.js +573 -0
- package/studio/chunks/Pagination-D9BSo5H2.js.br +0 -0
- package/studio/chunks/Pagination-D9BSo5H2.js.gz +0 -0
- package/studio/chunks/PeoplePage-CWIXitBD.js +783 -0
- package/studio/chunks/PeoplePage-CWIXitBD.js.br +0 -0
- package/studio/chunks/PeoplePage-CWIXitBD.js.gz +0 -0
- package/studio/chunks/Popover-B63bkTMS.js +128 -0
- package/studio/chunks/Popover-B63bkTMS.js.br +0 -0
- package/studio/chunks/Popover-B63bkTMS.js.gz +0 -0
- package/studio/chunks/PublicationActionDialog-Cm_P0C3I.js +255 -0
- package/studio/chunks/PublicationActionDialog-Cm_P0C3I.js.br +0 -0
- package/studio/chunks/PublicationActionDialog-Cm_P0C3I.js.gz +0 -0
- package/studio/chunks/Routes-DLYHmulE.js +102 -0
- package/studio/chunks/Routes-DLYHmulE.js.br +0 -0
- package/studio/chunks/Routes-DLYHmulE.js.gz +0 -0
- package/studio/chunks/RovingFocusItem-QZNg-wWF.js +95 -0
- package/studio/chunks/RovingFocusItem-QZNg-wWF.js.br +0 -0
- package/studio/chunks/RovingFocusItem-QZNg-wWF.js.gz +0 -0
- package/studio/chunks/ScheduledPage-C0hqrkr5.js +332 -0
- package/studio/chunks/ScheduledPage-C0hqrkr5.js.br +0 -0
- package/studio/chunks/ScheduledPage-C0hqrkr5.js.gz +0 -0
- package/studio/chunks/Search-BEgCe9Aj.js +14646 -0
- package/studio/chunks/Search-BEgCe9Aj.js.br +0 -0
- package/studio/chunks/Search-BEgCe9Aj.js.gz +0 -0
- package/studio/chunks/Select-B50WZMW-.js +2145 -0
- package/studio/chunks/Select-B50WZMW-.js.br +0 -0
- package/studio/chunks/Select-B50WZMW-.js.gz +0 -0
- package/studio/chunks/SelectMenu-DSweWGMz.js +2109 -0
- package/studio/chunks/SelectMenu-DSweWGMz.js.br +0 -0
- package/studio/chunks/SelectMenu-DSweWGMz.js.gz +0 -0
- package/studio/chunks/SeoPage-CNNxGe4h.js +846 -0
- package/studio/chunks/SeoPage-CNNxGe4h.js.br +0 -0
- package/studio/chunks/SeoPage-CNNxGe4h.js.gz +0 -0
- package/studio/chunks/Skeleton-COz8dcrw.js +39 -0
- package/studio/chunks/Skeleton-COz8dcrw.js.br +2 -0
- package/studio/chunks/Skeleton-COz8dcrw.js.gz +0 -0
- package/studio/chunks/Slideover-QMMHAAys.js +289 -0
- package/studio/chunks/Slideover-QMMHAAys.js.br +0 -0
- package/studio/chunks/Slideover-QMMHAAys.js.gz +0 -0
- package/studio/chunks/StudioPage-ngEIDr5d.js +80 -0
- package/studio/chunks/StudioPage-ngEIDr5d.js.br +0 -0
- package/studio/chunks/StudioPage-ngEIDr5d.js.gz +0 -0
- package/studio/chunks/StudioPageToolbar-BwHnqyr6.js +2524 -0
- package/studio/chunks/StudioPageToolbar-BwHnqyr6.js.br +0 -0
- package/studio/chunks/StudioPageToolbar-BwHnqyr6.js.gz +0 -0
- package/studio/chunks/Switch-qKl1aDn7.js +484 -0
- package/studio/chunks/Switch-qKl1aDn7.js.br +0 -0
- package/studio/chunks/Switch-qKl1aDn7.js.gz +0 -0
- package/studio/chunks/ToolPage-DxoVAJVk.js +29 -0
- package/studio/chunks/ToolPage-DxoVAJVk.js.br +0 -0
- package/studio/chunks/ToolPage-DxoVAJVk.js.gz +0 -0
- package/studio/chunks/Tooltip-Bu15m_DB.js +693 -0
- package/studio/chunks/Tooltip-Bu15m_DB.js.br +0 -0
- package/studio/chunks/Tooltip-Bu15m_DB.js.gz +0 -0
- package/studio/chunks/TrashPage-lhqLLdoG.js +12 -0
- package/studio/chunks/TrashPage-lhqLLdoG.js.br +0 -0
- package/studio/chunks/TrashPage-lhqLLdoG.js.gz +0 -0
- package/studio/chunks/VersionsPage-Cqy6UAp9.js +2349 -0
- package/studio/chunks/VersionsPage-Cqy6UAp9.js.br +0 -0
- package/studio/chunks/VersionsPage-Cqy6UAp9.js.gz +0 -0
- package/studio/chunks/VisuallyHiddenInput-Cu8hQLRf.js +113 -0
- package/studio/chunks/VisuallyHiddenInput-Cu8hQLRf.js.br +0 -0
- package/studio/chunks/VisuallyHiddenInput-Cu8hQLRf.js.gz +0 -0
- package/studio/chunks/arrays-CUJkmV4I.js +10 -0
- package/studio/chunks/arrays-CUJkmV4I.js.br +0 -0
- package/studio/chunks/arrays-CUJkmV4I.js.gz +0 -0
- package/studio/chunks/base-DkTekJe8.js +213 -0
- package/studio/chunks/base-DkTekJe8.js.br +0 -0
- package/studio/chunks/base-DkTekJe8.js.gz +0 -0
- package/studio/chunks/content-DUGl3N4d.js +6012 -0
- package/studio/chunks/content-DUGl3N4d.js.br +0 -0
- package/studio/chunks/content-DUGl3N4d.js.gz +0 -0
- package/studio/chunks/destinations-DPIQVQa6.js +227 -0
- package/studio/chunks/destinations-DPIQVQa6.js.br +0 -0
- package/studio/chunks/destinations-DPIQVQa6.js.gz +0 -0
- package/studio/chunks/en-073cjKW4.js +152 -0
- package/studio/chunks/en-073cjKW4.js.br +0 -0
- package/studio/chunks/en-073cjKW4.js.gz +0 -0
- package/studio/chunks/en-Bn8mxPuf.js +134 -0
- package/studio/chunks/en-Bn8mxPuf.js.br +0 -0
- package/studio/chunks/en-Bn8mxPuf.js.gz +0 -0
- package/studio/chunks/en-C9OiaUDZ.js +251 -0
- package/studio/chunks/en-C9OiaUDZ.js.br +0 -0
- package/studio/chunks/en-C9OiaUDZ.js.gz +0 -0
- package/studio/chunks/en-CHAR6jzx.js +147 -0
- package/studio/chunks/en-CHAR6jzx.js.br +0 -0
- package/studio/chunks/en-CHAR6jzx.js.gz +0 -0
- package/studio/chunks/en-Cq4N1vEF.js +93 -0
- package/studio/chunks/en-Cq4N1vEF.js.br +2 -0
- package/studio/chunks/en-Cq4N1vEF.js.gz +0 -0
- package/studio/chunks/en-D2hRqlse.js +140 -0
- package/studio/chunks/en-D2hRqlse.js.br +0 -0
- package/studio/chunks/en-D2hRqlse.js.gz +0 -0
- package/studio/chunks/en-DiUC3-j6.js +144 -0
- package/studio/chunks/en-DiUC3-j6.js.br +0 -0
- package/studio/chunks/en-DiUC3-j6.js.gz +0 -0
- package/studio/chunks/english-Cs_Adu-u.js +8 -0
- package/studio/chunks/english-Cs_Adu-u.js.br +0 -0
- package/studio/chunks/english-Cs_Adu-u.js.gz +0 -0
- package/studio/chunks/esm-D6DqSiL1.js +752 -0
- package/studio/chunks/esm-D6DqSiL1.js.br +0 -0
- package/studio/chunks/esm-D6DqSiL1.js.gz +0 -0
- package/studio/chunks/externalRequest-CTzr2nDq.js +23 -0
- package/studio/chunks/externalRequest-CTzr2nDq.js.br +0 -0
- package/studio/chunks/externalRequest-CTzr2nDq.js.gz +0 -0
- package/studio/chunks/iconify-DR9ryCPv.js +1007 -0
- package/studio/chunks/iconify-DR9ryCPv.js.br +0 -0
- package/studio/chunks/iconify-DR9ryCPv.js.gz +0 -0
- package/studio/chunks/icons-D2MsAaXq.js +183 -0
- package/studio/chunks/icons-D2MsAaXq.js.br +0 -0
- package/studio/chunks/icons-D2MsAaXq.js.gz +0 -0
- package/studio/chunks/leaveGuards-D22fTGgr.js +26 -0
- package/studio/chunks/leaveGuards-D22fTGgr.js.br +0 -0
- package/studio/chunks/leaveGuards-D22fTGgr.js.gz +0 -0
- package/studio/chunks/lucideIcons-EyqyPBsX.js +238 -0
- package/studio/chunks/lucideIcons-EyqyPBsX.js.br +0 -0
- package/studio/chunks/lucideIcons-EyqyPBsX.js.gz +0 -0
- package/studio/chunks/mediaRoute--8cY8rUe.js +17 -0
- package/studio/chunks/mediaRoute--8cY8rUe.js.br +0 -0
- package/studio/chunks/mediaRoute--8cY8rUe.js.gz +0 -0
- package/studio/chunks/newDocumentPlanning-C26DHpvh.js +77 -0
- package/studio/chunks/newDocumentPlanning-C26DHpvh.js.br +0 -0
- package/studio/chunks/newDocumentPlanning-C26DHpvh.js.gz +0 -0
- package/studio/chunks/notifications-OKOLc40v.js +110 -0
- package/studio/chunks/notifications-OKOLc40v.js.br +0 -0
- package/studio/chunks/notifications-OKOLc40v.js.gz +0 -0
- package/studio/chunks/operations-CjNHyrEX.js +57 -0
- package/studio/chunks/operations-CjNHyrEX.js.br +0 -0
- package/studio/chunks/operations-CjNHyrEX.js.gz +0 -0
- package/studio/chunks/overlay-DnqFLZTc.js +1733 -0
- package/studio/chunks/overlay-DnqFLZTc.js.br +0 -0
- package/studio/chunks/overlay-DnqFLZTc.js.gz +0 -0
- package/studio/chunks/presentation-DF83w0hE.js +57 -0
- package/studio/chunks/presentation-DF83w0hE.js.br +0 -0
- package/studio/chunks/presentation-DF83w0hE.js.gz +0 -0
- package/studio/chunks/runtime-core.esm-bundler-DKFA9Rep.js +4557 -0
- package/studio/chunks/runtime-core.esm-bundler-DKFA9Rep.js.br +0 -0
- package/studio/chunks/runtime-core.esm-bundler-DKFA9Rep.js.gz +0 -0
- package/studio/chunks/searchPresentation-DFwxQkt3.js +76 -0
- package/studio/chunks/searchPresentation-DFwxQkt3.js.br +0 -0
- package/studio/chunks/searchPresentation-DFwxQkt3.js.gz +0 -0
- package/studio/chunks/status-DQv6ihkU.js +38 -0
- package/studio/chunks/status-DQv6ihkU.js.br +0 -0
- package/studio/chunks/status-DQv6ihkU.js.gz +0 -0
- package/studio/chunks/studioContext-I8HozGU1.js +4953 -0
- package/studio/chunks/studioContext-I8HozGU1.js.br +0 -0
- package/studio/chunks/studioContext-I8HozGU1.js.gz +0 -0
- package/studio/chunks/studioQueries-BR-9NT5F.js +73 -0
- package/studio/chunks/studioQueries-BR-9NT5F.js.br +0 -0
- package/studio/chunks/studioQueries-BR-9NT5F.js.gz +0 -0
- package/studio/chunks/studioSearch-ByaL-QpM.js +1095 -0
- package/studio/chunks/studioSearch-ByaL-QpM.js.br +0 -0
- package/studio/chunks/studioSearch-ByaL-QpM.js.gz +0 -0
- package/studio/chunks/useAcknowledgedDraft-0_c9sWI6.js +62 -0
- package/studio/chunks/useAcknowledgedDraft-0_c9sWI6.js.br +0 -0
- package/studio/chunks/useAcknowledgedDraft-0_c9sWI6.js.gz +0 -0
- package/studio/chunks/useApi-CUWMwLLw-B3Q3g2nf.js +189 -0
- package/studio/chunks/useApi-CUWMwLLw-B3Q3g2nf.js.br +0 -0
- package/studio/chunks/useApi-CUWMwLLw-B3Q3g2nf.js.gz +0 -0
- package/studio/chunks/useDocumentMessage-BAWvc38w.js +16 -0
- package/studio/chunks/useDocumentMessage-BAWvc38w.js.br +3 -0
- package/studio/chunks/useDocumentMessage-BAWvc38w.js.gz +0 -0
- package/studio/chunks/useFilter-DzyiTR7f.js +87 -0
- package/studio/chunks/useFilter-DzyiTR7f.js.br +0 -0
- package/studio/chunks/useFilter-DzyiTR7f.js.gz +0 -0
- package/studio/chunks/useFormControl-CL7sSCUo.js +8 -0
- package/studio/chunks/useFormControl-CL7sSCUo.js.br +0 -0
- package/studio/chunks/useFormControl-CL7sSCUo.js.gz +0 -0
- package/studio/chunks/useGraceArea-Chcy25IQ.js +154 -0
- package/studio/chunks/useGraceArea-Chcy25IQ.js.br +0 -0
- package/studio/chunks/useGraceArea-Chcy25IQ.js.gz +0 -0
- package/studio/chunks/useLeaveConfirmation-_iCSnKEp.js +44 -0
- package/studio/chunks/useLeaveConfirmation-_iCSnKEp.js.br +8 -0
- package/studio/chunks/useLeaveConfirmation-_iCSnKEp.js.gz +0 -0
- package/studio/chunks/useLinkCopy-CMjQteCy.js +35 -0
- package/studio/chunks/useLinkCopy-CMjQteCy.js.br +0 -0
- package/studio/chunks/useLinkCopy-CMjQteCy.js.gz +0 -0
- package/studio/chunks/usePointerMotion-DwRcwBNQ.js +16 -0
- package/studio/chunks/usePointerMotion-DwRcwBNQ.js.br +0 -0
- package/studio/chunks/usePointerMotion-DwRcwBNQ.js.gz +0 -0
- package/studio/chunks/useStudioNavigation-CLwtSYpb.js +298 -0
- package/studio/chunks/useStudioNavigation-CLwtSYpb.js.br +0 -0
- package/studio/chunks/useStudioNavigation-CLwtSYpb.js.gz +0 -0
- package/studio/chunks/useStudioPages-DR9qmYLg.js +79 -0
- package/studio/chunks/useStudioPages-DR9qmYLg.js.br +0 -0
- package/studio/chunks/useStudioPages-DR9qmYLg.js.gz +0 -0
- package/studio/chunks/utils-mdScC0v0.js +59 -0
- package/studio/chunks/utils-mdScC0v0.js.br +0 -0
- package/studio/chunks/utils-mdScC0v0.js.gz +0 -0
- package/studio/chunks/virtualizer-D1S0bZ4t.js +781 -0
- package/studio/chunks/virtualizer-D1S0bZ4t.js.br +0 -0
- package/studio/chunks/virtualizer-D1S0bZ4t.js.gz +0 -0
- package/studio/help/64f767fe29c2-save-and-publish.svg +7 -0
- package/studio/host.css +1 -1
- package/studio/host.css.br +0 -0
- package/studio/host.css.gz +0 -0
- package/studio/host.js +8793 -39395
- package/studio/host.js.br +0 -0
- package/studio/host.js.gz +0 -0
- package/CHANGELOG.md +0 -14
- package/bin/cms.mjs +0 -2
- package/src/ApplicationTypes.d.ts +0 -84
- package/src/ApplicationTypes.js +0 -1
- package/src/Configuration-CMweD9bn.js +0 -1191
- package/src/Configuration-CMweD9bn.js.map +0 -1
- package/src/Configuration.d.ts +0 -82
- package/src/Configuration.js +0 -8
- package/src/Configuration.js.map +0 -1
- package/src/Content.d.ts +0 -68
- package/src/Content.js +0 -373
- package/src/Content.js.map +0 -1
- package/src/ContentTransfer-BxwswWn3.js +0 -86
- package/src/ContentTransfer-BxwswWn3.js.map +0 -1
- package/src/ContentTransfer-Z9FHyLez.d.ts +0 -72
- package/src/DocumentEngine-tYtwbBjr.js +0 -978
- package/src/DocumentEngine-tYtwbBjr.js.map +0 -1
- package/src/DocumentModel.d.ts +0 -52
- package/src/DocumentModel.js +0 -66
- package/src/DocumentModel.js.map +0 -1
- package/src/Forms-CX-hwmJF.js +0 -391
- package/src/Forms-CX-hwmJF.js.map +0 -1
- package/src/Forms-CfNPTiCr.js +0 -110
- package/src/Forms-CfNPTiCr.js.map +0 -1
- package/src/Forms-R0HoTR-o.d.ts +0 -92
- package/src/Forms.js.map +0 -1
- package/src/HttpPaths-Be3vshPJ.js +0 -20
- package/src/HttpPaths-Be3vshPJ.js.map +0 -1
- package/src/I18n-wxswIRyY.d.ts +0 -30
- package/src/Media-j1bTritO.js +0 -112
- package/src/Media-j1bTritO.js.map +0 -1
- package/src/Module.js.map +0 -1
- package/src/References-CCPDAPve.js +0 -45
- package/src/References-CCPDAPve.js.map +0 -1
- package/src/S3MediaObjects-BXfjaZOu.js +0 -2756
- package/src/S3MediaObjects-BXfjaZOu.js.map +0 -1
- package/src/Seo-402YumpT.d.ts +0 -198
- package/src/cli/content.js +0 -101
- package/src/cli/content.js.map +0 -1
- package/src/cli.js.map +0 -1
- package/src/connection-BP80q4d-.js +0 -92
- package/src/connection-BP80q4d-.js.map +0 -1
- package/src/dev-lifecycle-3I_pozUl.js +0 -535
- package/src/dev-lifecycle-3I_pozUl.js.map +0 -1
- package/src/installation-DxqSSVbH.js +0 -9105
- package/src/installation-DxqSSVbH.js.map +0 -1
- package/src/internal/application-types.js +0 -43
- package/src/internal/application-types.js.map +0 -1
- package/src/internal/authoring-catalog.js +0 -158
- package/src/internal/authoring-catalog.js.map +0 -1
- package/src/internal/authoring-compiler.js +0 -146
- package/src/internal/authoring-compiler.js.map +0 -1
- package/src/internal/authoring-metadata.js +0 -191
- package/src/internal/authoring-metadata.js.map +0 -1
- package/src/internal/cms-config.js +0 -45
- package/src/internal/cms-config.js.map +0 -1
- package/src/internal/configuration.js +0 -228
- package/src/internal/configuration.js.map +0 -1
- package/src/internal/dev-lifecycle.js +0 -3
- package/src/internal/diagnostics.js +0 -47
- package/src/internal/diagnostics.js.map +0 -1
- package/src/internal/document-model.js +0 -376
- package/src/internal/document-model.js.map +0 -1
- package/src/internal/field-metadata.js +0 -7
- package/src/internal/field-metadata.js.map +0 -1
- package/src/internal/form-capabilities.js +0 -12
- package/src/internal/form-capabilities.js.map +0 -1
- package/src/internal/i18n.js +0 -73
- package/src/internal/i18n.js.map +0 -1
- package/src/internal/studio-app.js +0 -68
- package/src/internal/studio-app.js.map +0 -1
- package/src/location-CMNGO3lU.js +0 -35
- package/src/location-CMNGO3lU.js.map +0 -1
- package/src/metadata-DN9_K6Yl.js +0 -201
- package/src/metadata-DN9_K6Yl.js.map +0 -1
- package/src/models-5j67LMqW.js +0 -131
- package/src/models-5j67LMqW.js.map +0 -1
- package/src/models-VmGmG19-.js +0 -628
- package/src/models-VmGmG19-.js.map +0 -1
- package/src/runtime/api.js.map +0 -1
- package/src/runtime/blocks.js +0 -30
- package/src/runtime/blocks.js.map +0 -1
- package/src/runtime/collaboration.js +0 -45
- package/src/runtime/collaboration.js.map +0 -1
- package/src/runtime/delivery/DocumentField.js +0 -23
- package/src/runtime/delivery/DocumentField.js.map +0 -1
- package/src/runtime/delivery/DocumentRenderer.js +0 -61
- package/src/runtime/delivery/DocumentRenderer.js.map +0 -1
- package/src/runtime/delivery/DocumentScope.js +0 -41
- package/src/runtime/delivery/DocumentScope.js.map +0 -1
- package/src/runtime/delivery/blocks.js +0 -8
- package/src/runtime/delivery/blocks.js.map +0 -1
- package/src/runtime/delivery/context.js +0 -12
- package/src/runtime/delivery/context.js.map +0 -1
- package/src/runtime/delivery/document-page.js +0 -21
- package/src/runtime/delivery/document-page.js.map +0 -1
- package/src/runtime/delivery/document.js +0 -43
- package/src/runtime/delivery/document.js.map +0 -1
- package/src/runtime/delivery/error.js +0 -11
- package/src/runtime/delivery/error.js.map +0 -1
- package/src/runtime/delivery/plugin.js +0 -104
- package/src/runtime/delivery/plugin.js.map +0 -1
- package/src/runtime/delivery/preview.d.ts +0 -11
- package/src/runtime/delivery/preview.js +0 -6
- package/src/runtime/delivery/preview.js.map +0 -1
- package/src/runtime/delivery/types.d.ts +0 -2
- package/src/runtime/delivery/types.js +0 -1
- package/src/runtime/delivery/useCmsDocumentSeo.d.ts +0 -67
- package/src/runtime/delivery/useCmsDocumentSeo.js.map +0 -1
- package/src/runtime/delivery/useDocument.d.ts +0 -6
- package/src/runtime/delivery/useDocument.js +0 -23
- package/src/runtime/delivery/useDocument.js.map +0 -1
- package/src/runtime/delivery/useDocumentQuery.d.ts +0 -7
- package/src/runtime/delivery/useDocumentQuery.js +0 -29
- package/src/runtime/delivery/useDocumentQuery.js.map +0 -1
- package/src/runtime/forms/document.js +0 -38
- package/src/runtime/forms/document.js.map +0 -1
- package/src/runtime/forms/useCmsForm.js +0 -257
- package/src/runtime/forms/useCmsForm.js.map +0 -1
- package/src/runtime/i18n/translator.js +0 -58
- package/src/runtime/i18n/translator.js.map +0 -1
- package/src/runtime/i18n/useCmsI18n.d.ts +0 -13
- package/src/runtime/i18n/useCmsI18n.js +0 -38
- package/src/runtime/i18n/useCmsI18n.js.map +0 -1
- package/src/runtime/installation.js +0 -3
- package/src/runtime/plugin.js.map +0 -1
- package/src/runtime/preview/CmsStudioPreviewMarker.js +0 -29
- package/src/runtime/preview/CmsStudioPreviewMarker.js.map +0 -1
- package/src/runtime/preview/comark-document.js +0 -37
- package/src/runtime/preview/comark-document.js.map +0 -1
- package/src/runtime/preview/connection.js +0 -3
- package/src/runtime/preview/controller.js +0 -265
- package/src/runtime/preview/controller.js.map +0 -1
- package/src/runtime/preview/crypto.js +0 -16
- package/src/runtime/preview/crypto.js.map +0 -1
- package/src/runtime/preview/overlay.js +0 -122
- package/src/runtime/preview/overlay.js.map +0 -1
- package/src/runtime/preview/plugin.client.js +0 -68
- package/src/runtime/preview/plugin.client.js.map +0 -1
- package/src/runtime/preview/preview.css +0 -91
- package/src/runtime/preview/protocol.d.ts +0 -16
- package/src/runtime/preview/protocol.js +0 -23
- package/src/runtime/preview/protocol.js.map +0 -1
- package/src/runtime/preview/regions.js +0 -142
- package/src/runtime/preview/regions.js.map +0 -1
- package/src/runtime/preview/store.js +0 -4
- package/src/runtime/sitemap-entries.js +0 -17
- package/src/runtime/sitemap-entries.js.map +0 -1
- package/src/runtime/sitemap.js +0 -23
- package/src/runtime/sitemap.js.map +0 -1
- package/src/runtime/studio-app.js +0 -17
- package/src/runtime/studio-app.js.map +0 -1
- package/src/runtime/studio-document.js +0 -46
- package/src/runtime/studio-document.js.map +0 -1
- package/src/runtime/studio-entry.js +0 -19
- package/src/runtime/studio-entry.js.map +0 -1
- package/src/runtime/studio-navigation.js +0 -11
- package/src/runtime/studio-navigation.js.map +0 -1
- package/src/scalars-CA6kyipS.d.ts +0 -7
- package/src/scalars-CVZqT3L0.js +0 -22
- package/src/scalars-CVZqT3L0.js.map +0 -1
- package/src/store-X1e1o_MF.js +0 -209
- package/src/store-X1e1o_MF.js.map +0 -1
- package/src/types-DZ0IV-Ow.d.ts +0 -101
- package/studio/CreateDocumentDialog-C4_JBo1w.js +0 -335
- package/studio/SelectMenu-wXqxymUw.js +0 -34045
- package/studio/collaboration-DcK2F6v9.js +0 -4566
- package/studio/editor-P2rB7Csp.js +0 -30128
- package/studio/rolldown-runtime-Dy4uBu1J.js +0 -11
package/src/Forms-R0HoTR-o.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { t as DocumentId } from "./scalars-CA6kyipS.js";
|
|
2
|
-
import { Schema } from "effect";
|
|
3
|
-
//#region ../protocol/src/Forms.d.ts
|
|
4
|
-
type FormFieldType = 'text' | 'email' | 'textarea' | 'number' | 'checkbox' | 'select';
|
|
5
|
-
declare const FormFieldType: Schema.Codec<FormFieldType>;
|
|
6
|
-
type FormRule = 'required' | 'minLength' | 'maxLength' | 'min' | 'max';
|
|
7
|
-
declare const FormRule: Schema.Codec<FormRule>;
|
|
8
|
-
interface FormCapabilities {
|
|
9
|
-
readonly label: string;
|
|
10
|
-
readonly fieldTypes: ReadonlyArray<FormFieldType>;
|
|
11
|
-
readonly rules: ReadonlyArray<FormRule>;
|
|
12
|
-
}
|
|
13
|
-
declare const FormCapabilities: Schema.Codec<FormCapabilities>;
|
|
14
|
-
interface FormOption {
|
|
15
|
-
readonly id: string;
|
|
16
|
-
readonly label: string;
|
|
17
|
-
}
|
|
18
|
-
declare const FormOption: Schema.Codec<FormOption>;
|
|
19
|
-
interface FormFieldBase {
|
|
20
|
-
readonly id: string;
|
|
21
|
-
readonly label: string;
|
|
22
|
-
readonly help?: string;
|
|
23
|
-
readonly required?: boolean;
|
|
24
|
-
}
|
|
25
|
-
interface FormTextField<Type extends 'text' | 'email' | 'textarea'> extends FormFieldBase {
|
|
26
|
-
readonly type: Type;
|
|
27
|
-
readonly minLength?: number;
|
|
28
|
-
readonly maxLength?: number;
|
|
29
|
-
}
|
|
30
|
-
interface FormNumberField extends FormFieldBase {
|
|
31
|
-
readonly type: 'number';
|
|
32
|
-
readonly min?: number;
|
|
33
|
-
readonly max?: number;
|
|
34
|
-
}
|
|
35
|
-
interface FormCheckboxField extends FormFieldBase {
|
|
36
|
-
readonly type: 'checkbox';
|
|
37
|
-
}
|
|
38
|
-
interface FormSelectField extends FormFieldBase {
|
|
39
|
-
readonly type: 'select';
|
|
40
|
-
readonly options: readonly [FormOption, ...FormOption[]];
|
|
41
|
-
}
|
|
42
|
-
type FormField = FormTextField<'text'> | FormTextField<'email'> | FormTextField<'textarea'> | FormNumberField | FormCheckboxField | FormSelectField;
|
|
43
|
-
declare const FormField: Schema.Codec<FormField>;
|
|
44
|
-
interface FormStep {
|
|
45
|
-
readonly id: string;
|
|
46
|
-
readonly title: string;
|
|
47
|
-
readonly fields: ReadonlyArray<FormField>;
|
|
48
|
-
}
|
|
49
|
-
declare const FormStep: Schema.Codec<FormStep>;
|
|
50
|
-
interface FormReference {
|
|
51
|
-
readonly documentId: DocumentId;
|
|
52
|
-
readonly nodePath: ReadonlyArray<number>;
|
|
53
|
-
readonly revision: string;
|
|
54
|
-
}
|
|
55
|
-
declare const FormReference: Schema.Codec<FormReference, {
|
|
56
|
-
readonly documentId: string;
|
|
57
|
-
readonly nodePath: ReadonlyArray<number>;
|
|
58
|
-
readonly revision: string;
|
|
59
|
-
}>;
|
|
60
|
-
interface FormDefinition extends FormReference {
|
|
61
|
-
readonly name: string;
|
|
62
|
-
readonly steps: ReadonlyArray<FormStep>;
|
|
63
|
-
readonly preview: boolean;
|
|
64
|
-
}
|
|
65
|
-
type FormValues = Readonly<Record<string, string | number | boolean | null>>;
|
|
66
|
-
declare const FormValues: Schema.Codec<FormValues>;
|
|
67
|
-
interface FormSubmission extends FormReference {
|
|
68
|
-
readonly values: FormValues;
|
|
69
|
-
}
|
|
70
|
-
declare const FormSubmission: Schema.Codec<FormSubmission, {
|
|
71
|
-
readonly documentId: string;
|
|
72
|
-
readonly nodePath: ReadonlyArray<number>;
|
|
73
|
-
readonly revision: string;
|
|
74
|
-
readonly values: FormValues;
|
|
75
|
-
}>;
|
|
76
|
-
declare const FormResult: Schema.Union<readonly [Schema.Struct<{
|
|
77
|
-
readonly status: Schema.Literals<readonly ["accepted"]>;
|
|
78
|
-
readonly reference: Schema.optionalKey<Schema.NonEmptyString>;
|
|
79
|
-
}>, Schema.Struct<{
|
|
80
|
-
readonly status: Schema.Literals<readonly ["invalid"]>;
|
|
81
|
-
readonly errors: Schema.$Record<Schema.String, Schema.String>;
|
|
82
|
-
}>, Schema.Struct<{
|
|
83
|
-
readonly status: Schema.Literals<readonly ["stale"]>;
|
|
84
|
-
}>, Schema.Struct<{
|
|
85
|
-
readonly status: Schema.Literals<readonly ["unavailable"]>;
|
|
86
|
-
}>, Schema.Struct<{
|
|
87
|
-
readonly status: Schema.Literals<readonly ["failed"]>;
|
|
88
|
-
}>]>;
|
|
89
|
-
type FormResult = typeof FormResult.Type;
|
|
90
|
-
//#endregion
|
|
91
|
-
export { FormStep as a, FormResult as i, FormDefinition as n, FormSubmission as o, FormField as r, FormValues as s, FormCapabilities as t };
|
|
92
|
-
//# sourceMappingURL=Forms-R0HoTR-o.d.ts.map
|
package/src/Forms.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Forms.js","names":[],"sources":["../../../src/Forms.ts"],"sourcesContent":["import type { FormCapabilities } from '@internal/protocol/Forms'\nimport { validateFormCapabilities } from './internal/form-capabilities'\n\nexport type {\n FormDefinition as CmsFormDefinition,\n FormField as CmsFormField,\n FormStep as CmsFormStep,\n FormValues as CmsFormValues,\n FormResult as CmsFormResult,\n} from '@internal/protocol/Forms'\n\nexport type { CmsFormControl, UseCmsFormOptions, UseCmsFormReturn } from './runtime/forms/useCmsForm'\n\nexport { useCmsForm } from './runtime/forms/useCmsForm'\n\n/** Register this definition under the kebab-case name of your Vue form renderer. */\nexport function defineCmsForm<const Definition extends FormCapabilities>(definition: Definition): Definition {\n validateFormCapabilities(definition)\n\n return definition\n}\n"],"mappings":";;;;;AAgBA,SAAgB,cAAyD,YAAoC;CAC3G,yBAAyB,UAAU;CAEnC,OAAO;AACT"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
//#region ../protocol/src/HttpPaths.ts
|
|
2
|
-
const STUDIO_BASE_PATH = "/_cms";
|
|
3
|
-
const STUDIO_API_PATH = `${STUDIO_BASE_PATH}/api`;
|
|
4
|
-
const STUDIO_COLLABORATION_PATH = `${STUDIO_BASE_PATH}/collaboration`;
|
|
5
|
-
const STUDIO_HEALTH_PATH = `${STUDIO_BASE_PATH}/health`;
|
|
6
|
-
const CMS_AUTHENTICATION_PATH = "/api/cms/auth";
|
|
7
|
-
const CMS_LIVENESS_PATH = `${STUDIO_HEALTH_PATH}/live`;
|
|
8
|
-
const CMS_READINESS_PATH = `${STUDIO_HEALTH_PATH}/ready`;
|
|
9
|
-
const CMS_DELIVERY_READ_PATH = `${STUDIO_API_PATH}/delivery/read`;
|
|
10
|
-
const CMS_DELIVERY_QUERY_PATH = `${STUDIO_API_PATH}/delivery/query`;
|
|
11
|
-
const CMS_DELIVERY_SEO_PATH = `${STUDIO_API_PATH}/delivery/seo`;
|
|
12
|
-
const CMS_DELIVERY_SITEMAP_PATH = `${STUDIO_API_PATH}/delivery/sitemap`;
|
|
13
|
-
const CMS_PREVIEW_READ_PATH = `${STUDIO_API_PATH}/preview/read`;
|
|
14
|
-
const CMS_PREVIEW_QUERY_PATH = `${STUDIO_API_PATH}/preview/query`;
|
|
15
|
-
const CMS_PREVIEW_SEO_PATH = `${STUDIO_API_PATH}/preview/seo`;
|
|
16
|
-
const CMS_FORM_SUBMIT_PATH = `${STUDIO_API_PATH}/forms/submit`;
|
|
17
|
-
|
|
18
|
-
//#endregion
|
|
19
|
-
export { CMS_FORM_SUBMIT_PATH as a, CMS_PREVIEW_READ_PATH as c, STUDIO_BASE_PATH as d, STUDIO_COLLABORATION_PATH as f, CMS_DELIVERY_SITEMAP_PATH as i, CMS_READINESS_PATH as l, CMS_DELIVERY_QUERY_PATH as n, CMS_LIVENESS_PATH as o, STUDIO_HEALTH_PATH as p, CMS_DELIVERY_READ_PATH as r, CMS_PREVIEW_QUERY_PATH as s, CMS_AUTHENTICATION_PATH as t, STUDIO_API_PATH as u };
|
|
20
|
-
//# sourceMappingURL=HttpPaths-Be3vshPJ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpPaths-Be3vshPJ.js","names":[],"sources":["../../../../protocol/src/HttpPaths.ts"],"sourcesContent":["export const STUDIO_BASE_PATH = '/_cms'\n\nexport const STUDIO_API_PATH = `${STUDIO_BASE_PATH}/api`\n\nexport const STUDIO_COLLABORATION_PATH = `${STUDIO_BASE_PATH}/collaboration`\n\nexport const STUDIO_HEALTH_PATH = `${STUDIO_BASE_PATH}/health`\n\nexport const CMS_AUTHENTICATION_PATH = '/api/cms/auth'\n\nexport const CMS_LIVENESS_PATH = `${STUDIO_HEALTH_PATH}/live`\n\nexport const CMS_READINESS_PATH = `${STUDIO_HEALTH_PATH}/ready`\n\nexport const CMS_DELIVERY_READ_PATH = `${STUDIO_API_PATH}/delivery/read`\n\nexport const CMS_DELIVERY_QUERY_PATH = `${STUDIO_API_PATH}/delivery/query`\n\nexport const CMS_DELIVERY_SEO_PATH = `${STUDIO_API_PATH}/delivery/seo`\n\nexport const CMS_DELIVERY_SITEMAP_PATH = `${STUDIO_API_PATH}/delivery/sitemap`\n\nexport const CMS_PREVIEW_READ_PATH = `${STUDIO_API_PATH}/preview/read`\n\nexport const CMS_PREVIEW_QUERY_PATH = `${STUDIO_API_PATH}/preview/query`\n\nexport const CMS_PREVIEW_SEO_PATH = `${STUDIO_API_PATH}/preview/seo`\n\nexport const CMS_FORM_SUBMIT_PATH = `${STUDIO_API_PATH}/forms/submit`\n"],"mappings":";AAAA,MAAa,mBAAmB;AAEhC,MAAa,kBAAkB,GAAG,iBAAiB;AAEnD,MAAa,4BAA4B,GAAG,iBAAiB;AAE7D,MAAa,qBAAqB,GAAG,iBAAiB;AAEtD,MAAa,0BAA0B;AAEvC,MAAa,oBAAoB,GAAG,mBAAmB;AAEvD,MAAa,qBAAqB,GAAG,mBAAmB;AAExD,MAAa,yBAAyB,GAAG,gBAAgB;AAEzD,MAAa,0BAA0B,GAAG,gBAAgB;AAE1D,MAAa,wBAAwB,GAAG,gBAAgB;AAExD,MAAa,4BAA4B,GAAG,gBAAgB;AAE5D,MAAa,wBAAwB,GAAG,gBAAgB;AAExD,MAAa,yBAAyB,GAAG,gBAAgB;AAEzD,MAAa,uBAAuB,GAAG,gBAAgB;AAEvD,MAAa,uBAAuB,GAAG,gBAAgB"}
|
package/src/I18n-wxswIRyY.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//#region src/I18n.d.ts
|
|
2
|
-
interface CmsMessages {
|
|
3
|
-
readonly [key: string]: string | CmsMessages;
|
|
4
|
-
}
|
|
5
|
-
interface CmsI18nOptions {
|
|
6
|
-
readonly defaultLocale: string;
|
|
7
|
-
readonly fallbackLocale?: string | null;
|
|
8
|
-
/** Prefix every localized route, including the default locale. */
|
|
9
|
-
readonly prefix?: 'always';
|
|
10
|
-
/** Select where CMS-derived locale metadata owns Nuxt Site Config. */
|
|
11
|
-
readonly siteConfig?: 'documents' | 'localized-routes';
|
|
12
|
-
readonly locales: Readonly<Record<string, {
|
|
13
|
-
readonly name: string;
|
|
14
|
-
readonly messages?: CmsMessages;
|
|
15
|
-
}>>;
|
|
16
|
-
}
|
|
17
|
-
/** Nuxt augments this registry with the message keys from cms.config.ts. */
|
|
18
|
-
interface CmsI18nRegistry {}
|
|
19
|
-
type CmsMessageKey = CmsI18nRegistry extends {
|
|
20
|
-
messageKey: infer Key extends string;
|
|
21
|
-
} ? Key : string;
|
|
22
|
-
type CmsLocale = CmsI18nRegistry extends {
|
|
23
|
-
locale: infer Locale extends string;
|
|
24
|
-
} ? Locale : string;
|
|
25
|
-
type CmsMessageParameters<Key extends CmsMessageKey> = CmsI18nRegistry extends {
|
|
26
|
-
messageParameters: infer Parameters;
|
|
27
|
-
} ? Key extends keyof Parameters ? Parameters[Key] : never : Readonly<Record<string, string | number>>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { CmsMessageParameters as a, CmsMessageKey as i, CmsI18nRegistry as n, CmsMessages as o, CmsLocale as r, CmsI18nOptions as t };
|
|
30
|
-
//# sourceMappingURL=I18n-wxswIRyY.d.ts.map
|
package/src/Media-j1bTritO.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { o as PublicPath, r as DocumentId, u as nonNegativeInt } from "./scalars-CVZqT3L0.js";
|
|
2
|
-
import { Schema } from "effect";
|
|
3
|
-
|
|
4
|
-
//#region ../protocol/src/Media.ts
|
|
5
|
-
/**
|
|
6
|
-
* Media wire models. Search pages are newest-first with opaque continuation cursors; only ready
|
|
7
|
-
* assets are public results, and names, folders, and object keys are validated path-safe values.
|
|
8
|
-
*/
|
|
9
|
-
const hasUnsafeMediaCharacter = (value) => {
|
|
10
|
-
for (const character of value) {
|
|
11
|
-
const codePoint = character.codePointAt(0);
|
|
12
|
-
if (character === "\\" || codePoint !== void 0 && (codePoint <= 31 || codePoint === 127)) return true;
|
|
13
|
-
}
|
|
14
|
-
return false;
|
|
15
|
-
};
|
|
16
|
-
const isSafeMediaPath = (value, allowEmpty) => {
|
|
17
|
-
if (value.length === 0) return allowEmpty;
|
|
18
|
-
if (value !== value.trim() || value.startsWith("/") || value.endsWith("/") || hasUnsafeMediaCharacter(value)) return false;
|
|
19
|
-
return value.split("/").every((segment) => segment.length > 0 && segment !== "." && segment !== "..");
|
|
20
|
-
};
|
|
21
|
-
const safeMediaFolder = Schema.makeFilter((value) => isSafeMediaPath(value, true), { expected: "a provider-relative media folder without traversal segments" });
|
|
22
|
-
const safeMediaObjectKey = Schema.makeFilter((value) => isSafeMediaPath(value, false), { expected: "a non-empty provider-relative media object key without traversal segments" });
|
|
23
|
-
const safeMediaName = Schema.makeFilter((value) => value.length > 0 && value.length <= 255 && value === value.trim() && value !== "." && value !== ".." && !value.includes("/") && !hasUnsafeMediaCharacter(value), { expected: "a safe media file name of at most 255 characters" });
|
|
24
|
-
const MediaId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand("MediaId"));
|
|
25
|
-
const MediaFolder = Schema.String.check(Schema.isMaxLength(512), safeMediaFolder).pipe(Schema.brand("MediaFolder"));
|
|
26
|
-
const MediaObjectKey = Schema.String.check(Schema.isMaxLength(1024), safeMediaObjectKey).pipe(Schema.brand("MediaObjectKey"));
|
|
27
|
-
const MediaName = Schema.String.check(safeMediaName).pipe(Schema.brand("MediaName"));
|
|
28
|
-
const MediaCursor = Schema.NonEmptyString.pipe(Schema.brand("MediaCursor"));
|
|
29
|
-
const ImageMimeType = Schema.Literals([
|
|
30
|
-
"image/avif",
|
|
31
|
-
"image/gif",
|
|
32
|
-
"image/jpeg",
|
|
33
|
-
"image/png",
|
|
34
|
-
"image/webp"
|
|
35
|
-
]);
|
|
36
|
-
const MediaStatus = Schema.Literals([
|
|
37
|
-
"uploading",
|
|
38
|
-
"ready",
|
|
39
|
-
"deleting"
|
|
40
|
-
]);
|
|
41
|
-
const MediaByteSize = Schema.Int.check(Schema.isGreaterThan(0));
|
|
42
|
-
const MediaAsset = Schema.Struct({
|
|
43
|
-
kind: Schema.tag("image"),
|
|
44
|
-
id: MediaId,
|
|
45
|
-
objectKey: MediaObjectKey,
|
|
46
|
-
url: Schema.NonEmptyString,
|
|
47
|
-
name: MediaName,
|
|
48
|
-
folder: MediaFolder,
|
|
49
|
-
mimeType: ImageMimeType,
|
|
50
|
-
byteSize: MediaByteSize,
|
|
51
|
-
createdAt: Schema.DateTimeUtcFromString,
|
|
52
|
-
updatedAt: Schema.DateTimeUtcFromString,
|
|
53
|
-
status: MediaStatus
|
|
54
|
-
}).annotate({ identifier: "MediaAsset" });
|
|
55
|
-
const MediaUpload = Schema.Struct({
|
|
56
|
-
name: MediaName,
|
|
57
|
-
folder: Schema.optionalKey(MediaFolder),
|
|
58
|
-
declaredMimeType: Schema.optionalKey(Schema.NonEmptyString),
|
|
59
|
-
declaredByteSize: MediaByteSize
|
|
60
|
-
}).annotate({ identifier: "MediaUpload" });
|
|
61
|
-
const MediaQuery = Schema.Struct({
|
|
62
|
-
cursor: Schema.optionalKey(MediaCursor),
|
|
63
|
-
folder: Schema.optionalKey(MediaFolder),
|
|
64
|
-
search: Schema.optionalKey(Schema.NonEmptyString.check(Schema.isMaxLength(200))),
|
|
65
|
-
limit: Schema.optionalKey(Schema.Int.check(Schema.isBetween({
|
|
66
|
-
minimum: 1,
|
|
67
|
-
maximum: 100
|
|
68
|
-
})))
|
|
69
|
-
}).annotate({ identifier: "MediaQuery" });
|
|
70
|
-
const ReadyMediaAssets = Schema.Array(MediaAsset).check(Schema.makeFilter((assets) => assets.every((asset) => asset.status === "ready"), { expected: "media assets whose lifecycle status is ready" }));
|
|
71
|
-
const MediaPage = Schema.Struct({
|
|
72
|
-
assets: ReadyMediaAssets,
|
|
73
|
-
folders: Schema.Array(MediaFolder),
|
|
74
|
-
nextCursor: Schema.optionalKey(MediaCursor),
|
|
75
|
-
total: nonNegativeInt
|
|
76
|
-
}).annotate({ identifier: "MediaPage" });
|
|
77
|
-
const MediaReference = Schema.Struct({
|
|
78
|
-
documentId: DocumentId,
|
|
79
|
-
mediaId: Schema.optionalKey(MediaId),
|
|
80
|
-
route: PublicPath,
|
|
81
|
-
objectKey: MediaObjectKey,
|
|
82
|
-
nodePath: Schema.Array(nonNegativeInt)
|
|
83
|
-
}).annotate({ identifier: "MediaReference" });
|
|
84
|
-
const MediaObjectMismatch = Schema.Struct({
|
|
85
|
-
asset: MediaAsset,
|
|
86
|
-
storedByteSize: MediaByteSize,
|
|
87
|
-
storedMimeType: Schema.optionalKey(ImageMimeType)
|
|
88
|
-
}).annotate({ identifier: "MediaObjectMismatch" });
|
|
89
|
-
const MediaIntegrityReport = Schema.Struct({
|
|
90
|
-
missingAssets: Schema.Array(MediaReference),
|
|
91
|
-
missingObjects: Schema.Array(MediaAsset),
|
|
92
|
-
mismatchedObjects: Schema.Array(MediaObjectMismatch),
|
|
93
|
-
orphanedObjectKeys: Schema.Array(MediaObjectKey),
|
|
94
|
-
unusedAssets: Schema.Array(MediaAsset)
|
|
95
|
-
}).annotate({ identifier: "MediaIntegrityReport" });
|
|
96
|
-
const MediaCleanupReport = Schema.Struct({ removedObjectKeys: Schema.Array(MediaObjectKey) }).annotate({ identifier: "MediaCleanupReport" });
|
|
97
|
-
var MediaNotFound = class extends Schema.TaggedError()("Media.NotFound", { mediaId: MediaId }) {};
|
|
98
|
-
var MediaReferenced = class extends Schema.TaggedError()("Media.Referenced", {
|
|
99
|
-
mediaId: MediaId,
|
|
100
|
-
references: Schema.Array(MediaReference),
|
|
101
|
-
seoScopes: Schema.optionalKey(Schema.Array(Schema.Literals(["working", "published"])))
|
|
102
|
-
}) {};
|
|
103
|
-
var MediaConflict = class extends Schema.TaggedError()("Media.Conflict", { mediaId: MediaId }) {};
|
|
104
|
-
var MediaInvalid = class extends Schema.TaggedError()("Media.Invalid", { message: Schema.NonEmptyString }) {};
|
|
105
|
-
var MediaTooLarge = class extends Schema.TaggedError()("Media.TooLarge", {
|
|
106
|
-
declaredByteSize: MediaByteSize,
|
|
107
|
-
maxUploadBytes: MediaByteSize
|
|
108
|
-
}) {};
|
|
109
|
-
|
|
110
|
-
//#endregion
|
|
111
|
-
export { MediaReferenced as _, MediaConflict as a, MediaUpload as b, MediaId as c, MediaName as d, MediaNotFound as f, MediaReference as g, MediaQuery as h, MediaCleanupReport as i, MediaIntegrityReport as l, MediaPage as m, MediaAsset as n, MediaCursor as o, MediaObjectKey as p, MediaByteSize as r, MediaFolder as s, ImageMimeType as t, MediaInvalid as u, MediaStatus as v, MediaTooLarge as y };
|
|
112
|
-
//# sourceMappingURL=Media-j1bTritO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Media-j1bTritO.js","names":[],"sources":["../../../../protocol/src/Media.ts"],"sourcesContent":["/**\n * Media wire models. Search pages are newest-first with opaque continuation cursors; only ready\n * assets are public results, and names, folders, and object keys are validated path-safe values.\n */\nimport { Schema } from 'effect'\nimport { DocumentId, PublicPath } from './internal/documents/scalars'\nimport { nonNegativeInt } from './internal/scalars'\n\nconst hasUnsafeMediaCharacter = (value: string): boolean => {\n for (const character of value) {\n const codePoint = character.codePointAt(0)\n\n if (character === '\\\\' || (codePoint !== undefined && (codePoint <= 31 || codePoint === 127))) return true\n }\n\n return false\n}\n\nconst isSafeMediaPath = (value: string, allowEmpty: boolean): boolean => {\n if (value.length === 0) return allowEmpty\n\n if (value !== value.trim() || value.startsWith('/') || value.endsWith('/') || hasUnsafeMediaCharacter(value)) {\n return false\n }\n\n return value.split('/').every((segment) => segment.length > 0 && segment !== '.' && segment !== '..')\n}\n\nconst safeMediaFolder = Schema.makeFilter<string>((value) => isSafeMediaPath(value, true), {\n expected: 'a provider-relative media folder without traversal segments',\n})\n\nconst safeMediaObjectKey = Schema.makeFilter<string>((value) => isSafeMediaPath(value, false), {\n expected: 'a non-empty provider-relative media object key without traversal segments',\n})\n\nconst safeMediaName = Schema.makeFilter<string>(\n (value) =>\n value.length > 0 &&\n value.length <= 255 &&\n value === value.trim() &&\n value !== '.' &&\n value !== '..' &&\n !value.includes('/') &&\n !hasUnsafeMediaCharacter(value),\n { expected: 'a safe media file name of at most 255 characters' },\n)\n\nexport const MediaId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand('MediaId'))\n\nexport type MediaId = typeof MediaId.Type\n\nexport const MediaFolder = Schema.String.check(Schema.isMaxLength(512), safeMediaFolder).pipe(\n Schema.brand('MediaFolder'),\n)\n\nexport type MediaFolder = typeof MediaFolder.Type\n\nexport const MediaObjectKey = Schema.String.check(Schema.isMaxLength(1024), safeMediaObjectKey).pipe(\n Schema.brand('MediaObjectKey'),\n)\n\nexport type MediaObjectKey = typeof MediaObjectKey.Type\n\nexport const MediaName = Schema.String.check(safeMediaName).pipe(Schema.brand('MediaName'))\n\nexport type MediaName = typeof MediaName.Type\n\nexport const MediaCursor = Schema.NonEmptyString.pipe(Schema.brand('MediaCursor'))\n\nexport type MediaCursor = typeof MediaCursor.Type\n\nexport const ImageMimeType = Schema.Literals(['image/avif', 'image/gif', 'image/jpeg', 'image/png', 'image/webp'])\n\nexport type ImageMimeType = typeof ImageMimeType.Type\n\nexport const MediaStatus = Schema.Literals(['uploading', 'ready', 'deleting'])\n\nexport type MediaStatus = typeof MediaStatus.Type\n\nexport const MediaByteSize = Schema.Int.check(Schema.isGreaterThan(0))\n\nexport type MediaByteSize = typeof MediaByteSize.Type\n\nexport const MediaAsset = Schema.Struct({\n kind: Schema.tag('image'),\n id: MediaId,\n objectKey: MediaObjectKey,\n url: Schema.NonEmptyString,\n name: MediaName,\n folder: MediaFolder,\n mimeType: ImageMimeType,\n byteSize: MediaByteSize,\n createdAt: Schema.DateTimeUtcFromString,\n updatedAt: Schema.DateTimeUtcFromString,\n status: MediaStatus,\n}).annotate({ identifier: 'MediaAsset' })\n\nexport interface MediaAsset extends Schema.Schema.Type<typeof MediaAsset> {}\n\nexport const MediaUpload = Schema.Struct({\n name: MediaName,\n folder: Schema.optionalKey(MediaFolder),\n declaredMimeType: Schema.optionalKey(Schema.NonEmptyString),\n declaredByteSize: MediaByteSize,\n}).annotate({ identifier: 'MediaUpload' })\n\nexport interface MediaUpload extends Schema.Schema.Type<typeof MediaUpload> {}\n\nexport const MediaQuery = Schema.Struct({\n cursor: Schema.optionalKey(MediaCursor),\n folder: Schema.optionalKey(MediaFolder),\n search: Schema.optionalKey(Schema.NonEmptyString.check(Schema.isMaxLength(200))),\n limit: Schema.optionalKey(Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 100 }))),\n}).annotate({ identifier: 'MediaQuery' })\n\nexport interface MediaQuery extends Schema.Schema.Type<typeof MediaQuery> {}\n\nconst ReadyMediaAssets = Schema.Array(MediaAsset).check(\n Schema.makeFilter((assets) => assets.every((asset) => asset.status === 'ready'), {\n expected: 'media assets whose lifecycle status is ready',\n }),\n)\n\nexport const MediaPage = Schema.Struct({\n assets: ReadyMediaAssets,\n folders: Schema.Array(MediaFolder),\n nextCursor: Schema.optionalKey(MediaCursor),\n total: nonNegativeInt,\n}).annotate({ identifier: 'MediaPage' })\n\nexport interface MediaPage extends Schema.Schema.Type<typeof MediaPage> {}\n\nexport const MediaReference = Schema.Struct({\n documentId: DocumentId,\n mediaId: Schema.optionalKey(MediaId),\n route: PublicPath,\n objectKey: MediaObjectKey,\n nodePath: Schema.Array(nonNegativeInt),\n}).annotate({ identifier: 'MediaReference' })\n\nexport interface MediaReference extends Schema.Schema.Type<typeof MediaReference> {}\n\nconst MediaObjectMismatch = Schema.Struct({\n asset: MediaAsset,\n storedByteSize: MediaByteSize,\n storedMimeType: Schema.optionalKey(ImageMimeType),\n}).annotate({ identifier: 'MediaObjectMismatch' })\n\nexport const MediaIntegrityReport = Schema.Struct({\n missingAssets: Schema.Array(MediaReference),\n missingObjects: Schema.Array(MediaAsset),\n mismatchedObjects: Schema.Array(MediaObjectMismatch),\n orphanedObjectKeys: Schema.Array(MediaObjectKey),\n unusedAssets: Schema.Array(MediaAsset),\n}).annotate({ identifier: 'MediaIntegrityReport' })\n\nexport interface MediaIntegrityReport extends Schema.Schema.Type<typeof MediaIntegrityReport> {}\n\nexport const MediaCleanupReport = Schema.Struct({\n removedObjectKeys: Schema.Array(MediaObjectKey),\n}).annotate({ identifier: 'MediaCleanupReport' })\n\nexport interface MediaCleanupReport extends Schema.Schema.Type<typeof MediaCleanupReport> {}\n\nexport class MediaNotFound extends Schema.TaggedError<MediaNotFound>()('Media.NotFound', {\n mediaId: MediaId,\n}) {}\n\nexport class MediaReferenced extends Schema.TaggedError<MediaReferenced>()('Media.Referenced', {\n mediaId: MediaId,\n references: Schema.Array(MediaReference),\n seoScopes: Schema.optionalKey(Schema.Array(Schema.Literals(['working', 'published']))),\n}) {}\n\nexport class MediaConflict extends Schema.TaggedError<MediaConflict>()('Media.Conflict', {\n mediaId: MediaId,\n}) {}\n\nexport class MediaInvalid extends Schema.TaggedError<MediaInvalid>()('Media.Invalid', {\n message: Schema.NonEmptyString,\n}) {}\n\nexport class MediaTooLarge extends Schema.TaggedError<MediaTooLarge>()('Media.TooLarge', {\n declaredByteSize: MediaByteSize,\n maxUploadBytes: MediaByteSize,\n}) {}\n"],"mappings":"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"}
|
package/src/Module.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","names":[],"sources":["../../../src/Module.ts"],"sourcesContent":["import type { HookResult, Nuxt } from '@nuxt/schema'\nimport type { NitroConfig } from 'nitropack/types'\nimport { registerStudioApp } from './internal/studio-app'\nimport { registerAuthoringCatalog } from './internal/authoring-catalog'\nimport { NodeCrypto, NodeFileSystem, NodePath } from '@effect/platform-node-shared'\nimport {\n CMS_AUTHENTICATION_PATH,\n STUDIO_BASE_PATH,\n STUDIO_API_PATH,\n STUDIO_HEALTH_PATH,\n STUDIO_COLLABORATION_PATH,\n} from '@internal/protocol/HttpPaths'\nimport {\n addTemplate,\n addTypeTemplate,\n addComponent,\n addImports,\n addPlugin,\n addServerHandler,\n addServerPlugin,\n addServerTemplate,\n addVitePlugin,\n createResolver,\n defineNuxtModule,\n extendPages,\n} from '@nuxt/kit'\nimport { Effect, Layer } from 'effect'\nimport { loadCmsConfiguration } from './internal/cms-config'\nimport { cmsRuntimeConfigurationDefaults, compileCmsConfiguration } from './internal/configuration'\nimport { cmsAuthoringPlugin } from './internal/authoring-compiler'\nimport { generateCmsApplicationTypes } from './internal/application-types'\n\nconst CMS_SITEMAP_SOURCE_PATH = `${STUDIO_BASE_PATH}/sitemap`\n\ndeclare module '@nuxt/schema' {\n interface NuxtHooks {\n 'nitro:config': (nitroConfig: NitroConfig) => HookResult\n }\n}\n\nconst resolver = createResolver(import.meta.url)\n\nconst nodeLayer = Layer.merge(NodeCrypto.layer, Layer.merge(NodeFileSystem.layer, NodePath.layer))\n\nconst cmsNuxtModule = defineNuxtModule({\n moduleDependencies: {\n '@nuxtjs/robots': {},\n '@nuxtjs/sitemap': {},\n '@comark/nuxt': {},\n 'nuxt-schema-org': {},\n 'nuxt-site-config': {},\n 'nuxt-seo-utils': {},\n },\n meta: {\n compatibility: { nuxt: '>=4.5.0 <5.0.0' },\n name: '@phtngyn/cms',\n },\n setup(_options, nuxt) {\n return Effect.runPromise(setupModule(nuxt).pipe(Effect.provide(nodeLayer)))\n },\n})\n\nexport default cmsNuxtModule\n\nconst setupModule = Effect.fn('CmsNuxtModule.setup')(function* (nuxt: Nuxt) {\n addVitePlugin(cmsAuthoringPlugin())\n const authored = yield* loadCmsConfiguration(nuxt.options.rootDir)\n const compiled = compileCmsConfiguration(authored.configuration)\n const i18n = compiled.i18n\n\n Object.assign(nuxt.options.runtimeConfig, {\n cms: cmsRuntimeConfigurationDefaults(authored.configuration, nuxt.options.runtimeConfig.cms),\n })\n\n configureSitemap(nuxt.options)\n\n const i18nTemplate = addTemplate({\n filename: 'cms/i18n.mjs',\n write: true,\n getContents: () => `export default JSON.parse(${JSON.stringify(JSON.stringify(i18n))})`,\n })\n\n nuxt.options.alias['#cms/i18n'] = i18nTemplate.dst\n let blockNames: ReadonlyArray<string> = []\n\n const applicationTypes = addTypeTemplate({\n filename: 'types/cms-application.d.ts',\n getContents: () => generateCmsApplicationTypes({ blockNames, configurationPath: authored.path, i18n }),\n })\n\n nuxt.options.alias['#cms/types'] = applicationTypes.dst\n nuxt.options.watch.push(authored.path)\n\n const authoring = yield* registerAuthoringCatalog(\n nuxt,\n compiled.documents,\n Object.fromEntries(\n Object.entries(authored.configuration.forms ?? {}).map(([name, form]) => [name, form.definition]),\n ),\n (names) => {\n blockNames = names\n },\n [applicationTypes.dst],\n )\n\n const installationPluginId = resolver.resolve('./runtime/plugin.virtual.mjs')\n\n const installationPluginTemplate = addServerTemplate({\n filename: installationPluginId,\n getContents: () =>\n [\n `import { createInstallationPlugin } from ${JSON.stringify(resolver.resolve('./runtime/plugin'))}`,\n `import cmsConfiguration from ${JSON.stringify(authored.path)}`,\n `import authoring from ${JSON.stringify(authoring.dst)}`,\n `export default createInstallationPlugin(cmsConfiguration, authoring)`,\n ].join('\\n'),\n })\n\n addServerHandler({ handler: resolver.resolve('./runtime/api'), route: `${STUDIO_HEALTH_PATH}/**:path` })\n addServerHandler({ handler: resolver.resolve('./runtime/sitemap'), route: CMS_SITEMAP_SOURCE_PATH })\n registerDeliveryUi(nuxt)\n yield* registerStudioApp(nuxt, resolver)\n configureNitro(nuxt)\n addServerPlugin(installationPluginTemplate.filename)\n addServerHandler({\n handler: resolver.resolve('./runtime/api'),\n route: `${CMS_AUTHENTICATION_PATH}/**:path`,\n })\n addServerHandler({\n handler: resolver.resolve('./runtime/collaboration'),\n route: STUDIO_COLLABORATION_PATH,\n })\n addServerHandler({\n handler: resolver.resolve('./runtime/api'),\n route: `${STUDIO_API_PATH}/**:path`,\n })\n})\n\ninterface CmsSitemapConfiguration {\n sources?: Array<unknown>\n}\n\ninterface CmsNuxtSitemapOptions {\n readonly modules?: unknown\n sitemap?: false | CmsSitemapConfiguration\n}\n\nfunction configureSitemap(options: CmsNuxtSitemapOptions): void {\n if (options.sitemap === false) return\n\n const sitemap = options.sitemap ?? {}\n const sources = sitemap.sources ?? []\n\n if (!sources.includes(CMS_SITEMAP_SOURCE_PATH)) sitemap.sources = [...sources, CMS_SITEMAP_SOURCE_PATH]\n\n options.sitemap = sitemap\n}\n\nfunction registerDeliveryUi(nuxt: Nuxt): void {\n addPlugin(resolver.resolve('./runtime/blocks'))\n nuxt.options.css.push(resolver.resolve('./runtime/preview/preview.css'))\n addComponent({ name: 'DocumentField', filePath: resolver.resolve('./runtime/delivery/DocumentField') })\n addComponent({ name: 'DocumentRenderer', filePath: resolver.resolve('./runtime/delivery/DocumentRenderer') })\n addComponent({ name: 'DocumentScope', filePath: resolver.resolve('./runtime/delivery/DocumentScope') })\n addPlugin(resolver.resolve('./runtime/delivery/plugin'))\n addPlugin(resolver.resolve('./runtime/preview/plugin.client'))\n addImports([\n { name: 'useCmsI18n', from: resolver.resolve('./runtime/i18n/useCmsI18n') },\n { name: 'useCmsForm', from: resolver.resolve('./runtime/forms/useCmsForm') },\n { name: 'useCmsDocumentSeo', from: resolver.resolve('./runtime/delivery/useCmsDocumentSeo') },\n { name: 'useDocument', from: resolver.resolve('./runtime/delivery/useDocument') },\n { name: 'useDocumentQuery', from: resolver.resolve('./runtime/delivery/useDocumentQuery') },\n ])\n extendPages((pages) => {\n pages.push({\n file: resolver.resolve('./runtime/delivery/document'),\n name: 'cms-document-page',\n path: '/:contentPath(.*)*',\n meta: { cmsDocument: true },\n })\n })\n}\n\nfunction configureNitro(nuxt: Nuxt): void {\n nuxt.hook('nitro:config', (config: NitroConfig) => {\n config.experimental ||= {}\n config.experimental.websocket = true\n })\n}\n"],"mappings":"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"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { o as PublicPath, r as DocumentId } from "./scalars-CVZqT3L0.js";
|
|
2
|
-
import { c as MediaId } from "./Media-j1bTritO.js";
|
|
3
|
-
import { Result, Schema } from "effect";
|
|
4
|
-
|
|
5
|
-
//#region ../protocol/src/References.ts
|
|
6
|
-
const AuthoredDocumentReference = Schema.String.annotate({ format: "cms-document-reference" }).check(Schema.makeFilter((value) => decodeAuthoredDocumentReference(value) !== void 0, { expected: "an identity-backed CMS document reference" })).pipe(Schema.brand("AuthoredDocumentReference"));
|
|
7
|
-
const ManagedMediaReference = Schema.String.annotate({ format: "cms-managed-media-reference" }).check(Schema.makeFilter((value) => decodeManagedMediaReference(value) !== void 0, { expected: "an identity-backed managed-media reference" })).pipe(Schema.brand("ManagedMediaReference"));
|
|
8
|
-
function decodeAuthoredDocumentReference(value) {
|
|
9
|
-
const match = /^cms-document:([^?]+)\?route=(.+)$/u.exec(value.trim());
|
|
10
|
-
if (!match?.[1] || !match[2]) return void 0;
|
|
11
|
-
const documentId = Schema.decodeResult(DocumentId)(match[1]);
|
|
12
|
-
if (Result.isFailure(documentId)) return void 0;
|
|
13
|
-
try {
|
|
14
|
-
const lastKnownRoute = Schema.decodeResult(PublicPath)(decodeURIComponent(match[2]));
|
|
15
|
-
return Result.isSuccess(lastKnownRoute) ? {
|
|
16
|
-
documentId: documentId.success,
|
|
17
|
-
lastKnownRoute: lastKnownRoute.success
|
|
18
|
-
} : void 0;
|
|
19
|
-
} catch {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function decodeManagedMediaReference(value) {
|
|
24
|
-
const match = /^cms-media:([^?]+)\?url=(.+)$/u.exec(value.trim());
|
|
25
|
-
if (!match?.[1] || !match[2]) return void 0;
|
|
26
|
-
const mediaId = Schema.decodeResult(MediaId)(match[1]);
|
|
27
|
-
if (Result.isFailure(mediaId)) return void 0;
|
|
28
|
-
try {
|
|
29
|
-
return {
|
|
30
|
-
mediaId: mediaId.success,
|
|
31
|
-
lastKnownUrl: validMediaUrl(decodeURIComponent(match[2]))
|
|
32
|
-
};
|
|
33
|
-
} catch {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function validMediaUrl(value) {
|
|
38
|
-
const url = new URL(value);
|
|
39
|
-
if (!["http:", "https:"].includes(url.protocol)) throw new Error("Managed media needs an HTTP(S) URL.");
|
|
40
|
-
return url.toString();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
//#endregion
|
|
44
|
-
export { decodeManagedMediaReference as i, ManagedMediaReference as n, decodeAuthoredDocumentReference as r, AuthoredDocumentReference as t };
|
|
45
|
-
//# sourceMappingURL=References-CCPDAPve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"References-CCPDAPve.js","names":["DocumentIdSchema","PublicPathSchema","MediaIdSchema"],"sources":["../../../../protocol/src/References.ts"],"sourcesContent":["import type { DocumentId, PublicPath } from './Documents'\nimport type { MediaId } from './Media'\nimport { DocumentId as DocumentIdSchema, PublicPath as PublicPathSchema } from './Documents'\nimport { MediaId as MediaIdSchema } from './Media'\nimport { Result, Schema } from 'effect'\n\nexport interface AuthoredDocumentReferenceTarget {\n readonly documentId: DocumentId\n readonly lastKnownRoute: PublicPath\n}\n\nexport interface ManagedMediaReferenceTarget {\n readonly mediaId: MediaId\n readonly lastKnownUrl: string\n}\n\nexport const AuthoredDocumentReference = Schema.String.annotate({ format: 'cms-document-reference' })\n .check(\n Schema.makeFilter((value) => decodeAuthoredDocumentReference(value) !== undefined, {\n expected: 'an identity-backed CMS document reference',\n }),\n )\n .pipe(Schema.brand('AuthoredDocumentReference'))\n\nexport type AuthoredDocumentReference = typeof AuthoredDocumentReference.Type\n\nexport const ManagedMediaReference = Schema.String.annotate({ format: 'cms-managed-media-reference' })\n .check(\n Schema.makeFilter((value) => decodeManagedMediaReference(value) !== undefined, {\n expected: 'an identity-backed managed-media reference',\n }),\n )\n .pipe(Schema.brand('ManagedMediaReference'))\n\nexport type ManagedMediaReference = typeof ManagedMediaReference.Type\n\nexport function encodeAuthoredDocumentReference(\n documentId: DocumentId,\n lastKnownRoute: PublicPath,\n): AuthoredDocumentReference {\n return AuthoredDocumentReference.make(`cms-document:${documentId}?route=${encodeURIComponent(lastKnownRoute)}`)\n}\n\nexport function decodeAuthoredDocumentReference(value: string): AuthoredDocumentReferenceTarget | undefined {\n const match = /^cms-document:([^?]+)\\?route=(.+)$/u.exec(value.trim())\n\n if (!match?.[1] || !match[2]) return undefined\n const documentId = Schema.decodeResult(DocumentIdSchema)(match[1])\n\n if (Result.isFailure(documentId)) return undefined\n\n try {\n const lastKnownRoute = Schema.decodeResult(PublicPathSchema)(decodeURIComponent(match[2]))\n\n return Result.isSuccess(lastKnownRoute)\n ? { documentId: documentId.success, lastKnownRoute: lastKnownRoute.success }\n : undefined\n } catch {\n return undefined\n }\n}\n\nexport function encodeManagedMediaReference(mediaId: MediaId, lastKnownUrl: string): ManagedMediaReference {\n return ManagedMediaReference.make(`cms-media:${mediaId}?url=${encodeURIComponent(validMediaUrl(lastKnownUrl))}`)\n}\n\nexport function decodeManagedMediaReference(value: string): ManagedMediaReferenceTarget | undefined {\n const match = /^cms-media:([^?]+)\\?url=(.+)$/u.exec(value.trim())\n\n if (!match?.[1] || !match[2]) return undefined\n const mediaId = Schema.decodeResult(MediaIdSchema)(match[1])\n\n if (Result.isFailure(mediaId)) return undefined\n\n try {\n return { mediaId: mediaId.success, lastKnownUrl: validMediaUrl(decodeURIComponent(match[2])) }\n } catch {\n return undefined\n }\n}\n\nfunction validMediaUrl(value: string): string {\n const url = new URL(value)\n\n if (!['http:', 'https:'].includes(url.protocol)) throw new Error('Managed media needs an HTTP(S) URL.')\n\n return url.toString()\n}\n"],"mappings":";;;;;AAgBA,MAAa,4BAA4B,OAAO,OAAO,SAAS,EAAE,QAAQ,yBAAyB,CAAC,CAAC,CAClG,MACC,OAAO,YAAY,UAAU,gCAAgC,KAAK,MAAM,QAAW,EACjF,UAAU,4CACZ,CAAC,CACH,CAAC,CACA,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAIjD,MAAa,wBAAwB,OAAO,OAAO,SAAS,EAAE,QAAQ,8BAA8B,CAAC,CAAC,CACnG,MACC,OAAO,YAAY,UAAU,4BAA4B,KAAK,MAAM,QAAW,EAC7E,UAAU,6CACZ,CAAC,CACH,CAAC,CACA,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAW7C,SAAgB,gCAAgC,OAA4D;CAC1G,MAAM,QAAQ,sCAAsC,KAAK,MAAM,KAAK,CAAC;CAErE,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,IAAI,OAAO;CACrC,MAAM,aAAa,OAAO,aAAaA,UAAgB,CAAC,CAAC,MAAM,EAAE;CAEjE,IAAI,OAAO,UAAU,UAAU,GAAG,OAAO;CAEzC,IAAI;EACF,MAAM,iBAAiB,OAAO,aAAaC,UAAgB,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC;EAEzF,OAAO,OAAO,UAAU,cAAc,IAClC;GAAE,YAAY,WAAW;GAAS,gBAAgB,eAAe;EAAQ,IACzE;CACN,QAAQ;EACN;CACF;AACF;AAMA,SAAgB,4BAA4B,OAAwD;CAClG,MAAM,QAAQ,iCAAiC,KAAK,MAAM,KAAK,CAAC;CAEhE,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,IAAI,OAAO;CACrC,MAAM,UAAU,OAAO,aAAaC,OAAa,CAAC,CAAC,MAAM,EAAE;CAE3D,IAAI,OAAO,UAAU,OAAO,GAAG,OAAO;CAEtC,IAAI;EACF,OAAO;GAAE,SAAS,QAAQ;GAAS,cAAc,cAAc,mBAAmB,MAAM,EAAE,CAAC;EAAE;CAC/F,QAAQ;EACN;CACF;AACF;AAEA,SAAS,cAAc,OAAuB;CAC5C,MAAM,MAAM,IAAI,IAAI,KAAK;CAEzB,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,SAAS,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,qCAAqC;CAEtG,OAAO,IAAI,SAAS;AACtB"}
|