@phtngyn/cms 0.2.0-beta.7 → 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 -401
- 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 +1039 -162
- 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 +8757 -39178
- package/studio/host.js.br +0 -0
- package/studio/host.js.gz +0 -0
- package/CHANGELOG.md +0 -13
- package/bin/cms.mjs +0 -2
- package/src/ApplicationTypes.d.ts +0 -84
- package/src/ApplicationTypes.js +0 -1
- package/src/Configuration-Da5B2PVH.js +0 -1191
- package/src/Configuration-Da5B2PVH.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-hh_IGPXO.js +0 -978
- package/src/DocumentEngine-hh_IGPXO.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-c9nLZ9H2.js +0 -21
- package/src/HttpPaths-c9nLZ9H2.js.map +0 -1
- package/src/I18n-zbqpWxki.d.ts +0 -29
- 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-Dwhl2deX.js +0 -2742
- package/src/S3MediaObjects-Dwhl2deX.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-CjDq63Ft.js +0 -535
- package/src/dev-lifecycle-CjDq63Ft.js.map +0 -1
- package/src/installation-DYNQQBD3.js +0 -9114
- package/src/installation-DYNQQBD3.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 -99
- 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 -51
- 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-BpjBYGfI.js +0 -335
- package/studio/SelectMenu-KiXwx4Y_.js +0 -34032
- package/studio/collaboration-DcK2F6v9.js +0 -4566
- package/studio/editor-P2rB7Csp.js +0 -30128
- package/studio/rolldown-runtime-Dy4uBu1J.js +0 -11
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { o as PublicPath } from "../../scalars-CVZqT3L0.js";
|
|
2
|
-
import { t as openSitePreviewConnection } from "../../connection-BP80q4d-.js";
|
|
3
|
-
import { n as readPreviewLocation, r as withPreviewLocation } from "../../location-CMNGO3lU.js";
|
|
4
|
-
import { formComponentsKey } from "../delivery/blocks.js";
|
|
5
|
-
import { documentPreviewStoreKey } from "../delivery/preview.js";
|
|
6
|
-
import { mountPreviewController } from "./controller.js";
|
|
7
|
-
import { t as createStudioPreviewStore } from "../../store-X1e1o_MF.js";
|
|
8
|
-
import { Result, Schema } from "effect";
|
|
9
|
-
import { inject, watch } from "vue";
|
|
10
|
-
import { defineNuxtPlugin, navigateTo, onNuxtReady, useNuxtApp, useState } from "nuxt/app";
|
|
11
|
-
|
|
12
|
-
//#region src/runtime/preview/plugin.client.ts
|
|
13
|
-
var plugin_client_default = defineNuxtPlugin({
|
|
14
|
-
name: "cms-preview",
|
|
15
|
-
dependsOn: ["cms-blocks"],
|
|
16
|
-
setup: () => {
|
|
17
|
-
const parameters = readPreviewLocation(new URL(window.location.href));
|
|
18
|
-
if (!parameters) return;
|
|
19
|
-
const route = () => Result.getOrThrow(Schema.decodeResult(PublicPath)(window.location.pathname));
|
|
20
|
-
const forms = inject(formComponentsKey);
|
|
21
|
-
const store = createStudioPreviewStore(route, () => forms?.value ?? []);
|
|
22
|
-
const nuxtApp = useNuxtApp();
|
|
23
|
-
nuxtApp.vueApp.provide(documentPreviewStoreKey, store);
|
|
24
|
-
nuxtApp.hooks.hook("page:finish", store.routeChanged);
|
|
25
|
-
const error = useState("cms:preview-error", () => null);
|
|
26
|
-
let patchError = null;
|
|
27
|
-
const mount = async () => {
|
|
28
|
-
const connection = await openSitePreviewConnection({
|
|
29
|
-
editorOrigin: parameters.editorOrigin,
|
|
30
|
-
route: route(),
|
|
31
|
-
sessionId: parameters.sessionId
|
|
32
|
-
});
|
|
33
|
-
const sendError = () => connection.send({
|
|
34
|
-
type: "preview:error",
|
|
35
|
-
message: error.value ?? patchError
|
|
36
|
-
});
|
|
37
|
-
const stopError = watch(error, sendError, { immediate: true });
|
|
38
|
-
const stopConnect = connection.subscribe((message) => {
|
|
39
|
-
if (message.type === "studio:connect") sendError();
|
|
40
|
-
});
|
|
41
|
-
const unmount = mountPreviewController({
|
|
42
|
-
bridge: connection,
|
|
43
|
-
onPatchError: (message) => {
|
|
44
|
-
patchError = message;
|
|
45
|
-
sendError();
|
|
46
|
-
},
|
|
47
|
-
navigate: async (path) => {
|
|
48
|
-
const target = withPreviewLocation(new URL(path, window.location.origin), parameters);
|
|
49
|
-
await navigateTo(`${target.pathname}${target.search}${target.hash}`);
|
|
50
|
-
},
|
|
51
|
-
root: document,
|
|
52
|
-
store,
|
|
53
|
-
view: window
|
|
54
|
-
});
|
|
55
|
-
window.addEventListener("pagehide", () => {
|
|
56
|
-
stopError();
|
|
57
|
-
stopConnect();
|
|
58
|
-
unmount();
|
|
59
|
-
connection.close();
|
|
60
|
-
}, { once: true });
|
|
61
|
-
};
|
|
62
|
-
onNuxtReady(mount);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
//#endregion
|
|
67
|
-
export { plugin_client_default as default };
|
|
68
|
-
//# sourceMappingURL=plugin.client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.client.js","names":[],"sources":["../../../../../src/runtime/preview/plugin.client.ts"],"sourcesContent":["import { formComponentsKey } from '../delivery/blocks'\nimport { defineNuxtPlugin, navigateTo, onNuxtReady, useNuxtApp, useState } from 'nuxt/app'\nimport { inject, watch } from 'vue'\nimport { PublicPath } from '@internal/protocol/Documents'\nimport { readPreviewLocation, withPreviewLocation } from '@internal/protocol/Preview'\nimport { Result, Schema } from 'effect'\nimport { openSitePreviewConnection } from './connection'\nimport { mountPreviewController } from './controller'\nimport { createStudioPreviewStore, documentPreviewStoreKey } from './store'\n\nexport default defineNuxtPlugin({\n name: 'cms-preview',\n dependsOn: ['cms-blocks'],\n setup: () => {\n const parameters = readPreviewLocation(new URL(window.location.href))\n\n if (!parameters) return\n const route = () => Result.getOrThrow(Schema.decodeResult(PublicPath)(window.location.pathname))\n const forms = inject(formComponentsKey)\n const store = createStudioPreviewStore(route, () => forms?.value ?? [])\n const nuxtApp = useNuxtApp()\n nuxtApp.vueApp.provide(documentPreviewStoreKey, store)\n nuxtApp.hooks.hook('page:finish', store.routeChanged)\n\n const error = useState<string | null>('cms:preview-error', () => null)\n let patchError: string | null = null\n\n // oxlint-disable-next-line effecttsgo/async-function -- Nuxt's ready hook awaits this Promise-based browser connection setup.\n const mount = async () => {\n const connection = await openSitePreviewConnection({\n editorOrigin: parameters.editorOrigin,\n route: route(),\n sessionId: parameters.sessionId,\n })\n\n const sendError = () => connection.send({ type: 'preview:error', message: error.value ?? patchError })\n const stopError = watch(error, sendError, { immediate: true })\n\n const stopConnect = connection.subscribe((message) => {\n if (message.type === 'studio:connect') sendError()\n })\n\n const unmount = mountPreviewController({\n bridge: connection,\n onPatchError: (message) => {\n patchError = message\n sendError()\n },\n // oxlint-disable-next-line effecttsgo/async-function -- The preview controller accepts Nuxt's Promise-based navigation callback.\n navigate: async (path) => {\n const target = withPreviewLocation(new URL(path, window.location.origin), parameters)\n await navigateTo(`${target.pathname}${target.search}${target.hash}`)\n },\n root: document,\n store,\n view: window,\n })\n\n window.addEventListener(\n 'pagehide',\n () => {\n stopError()\n stopConnect()\n unmount()\n void connection.close()\n },\n { once: true },\n )\n }\n\n onNuxtReady(mount)\n },\n})\n"],"mappings":";;;;;;;;;;;;AAUA,4BAAe,iBAAiB;CAC9B,MAAM;CACN,WAAW,CAAC,YAAY;CACxB,aAAa;EACX,MAAM,aAAa,oBAAoB,IAAI,IAAI,OAAO,SAAS,IAAI,CAAC;EAEpE,IAAI,CAAC,YAAY;EACjB,MAAM,cAAc,OAAO,WAAW,OAAO,aAAa,UAAU,CAAC,CAAC,OAAO,SAAS,QAAQ,CAAC;EAC/F,MAAM,QAAQ,OAAO,iBAAiB;EACtC,MAAM,QAAQ,yBAAyB,aAAa,OAAO,SAAS,CAAC,CAAC;EACtE,MAAM,UAAU,WAAW;EAC3B,QAAQ,OAAO,QAAQ,yBAAyB,KAAK;EACrD,QAAQ,MAAM,KAAK,eAAe,MAAM,YAAY;EAEpD,MAAM,QAAQ,SAAwB,2BAA2B,IAAI;EACrE,IAAI,aAA4B;EAGhC,MAAM,QAAQ,YAAY;GACxB,MAAM,aAAa,MAAM,0BAA0B;IACjD,cAAc,WAAW;IACzB,OAAO,MAAM;IACb,WAAW,WAAW;GACxB,CAAC;GAED,MAAM,kBAAkB,WAAW,KAAK;IAAE,MAAM;IAAiB,SAAS,MAAM,SAAS;GAAW,CAAC;GACrG,MAAM,YAAY,MAAM,OAAO,WAAW,EAAE,WAAW,KAAK,CAAC;GAE7D,MAAM,cAAc,WAAW,WAAW,YAAY;IACpD,IAAI,QAAQ,SAAS,kBAAkB,UAAU;GACnD,CAAC;GAED,MAAM,UAAU,uBAAuB;IACrC,QAAQ;IACR,eAAe,YAAY;KACzB,aAAa;KACb,UAAU;IACZ;IAEA,UAAU,OAAO,SAAS;KACxB,MAAM,SAAS,oBAAoB,IAAI,IAAI,MAAM,OAAO,SAAS,MAAM,GAAG,UAAU;KACpF,MAAM,WAAW,GAAG,OAAO,WAAW,OAAO,SAAS,OAAO,MAAM;IACrE;IACA,MAAM;IACN;IACA,MAAM;GACR,CAAC;GAED,OAAO,iBACL,kBACM;IACJ,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,AAAK,WAAW,MAAM;GACxB,GACA,EAAE,MAAM,KAAK,CACf;EACF;EAEA,YAAY,KAAK;CACnB;AACF,CAAC"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
[data-cms-preview-decorated] {
|
|
2
|
-
cursor: default;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
[data-cms-preview-overlay] {
|
|
6
|
-
pointer-events: none !important;
|
|
7
|
-
position: fixed;
|
|
8
|
-
inset: 0;
|
|
9
|
-
z-index: 2147483647;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
[data-cms-selection-outline],
|
|
13
|
-
[data-cms-hover-outline] {
|
|
14
|
-
all: initial;
|
|
15
|
-
box-sizing: border-box;
|
|
16
|
-
position: fixed;
|
|
17
|
-
pointer-events: none !important;
|
|
18
|
-
transition:
|
|
19
|
-
background-color 180ms cubic-bezier(0.23, 1, 0.32, 1),
|
|
20
|
-
border-color 140ms ease,
|
|
21
|
-
opacity 140ms ease;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
[data-cms-selection-outline] {
|
|
25
|
-
border: 2px solid #2563eb;
|
|
26
|
-
border-radius: 4px;
|
|
27
|
-
background: rgb(37 99 235 / 6%);
|
|
28
|
-
box-shadow:
|
|
29
|
-
0 0 0 1px rgb(255 255 255 / 95%),
|
|
30
|
-
0 1px 3px rgb(0 0 0 / 18%);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
[data-cms-selection-outline][data-cms-match='fallback'] {
|
|
34
|
-
border-style: dashed;
|
|
35
|
-
background: transparent;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
[data-cms-selection-outline][data-cms-reveal] {
|
|
39
|
-
background: rgb(37 99 235 / 18%);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
[data-cms-preview-overlay][data-cms-pending] [data-cms-selection-outline] {
|
|
43
|
-
opacity: 0.45;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
[data-cms-hover-outline] {
|
|
47
|
-
border: 1px solid rgb(37 99 235 / 55%);
|
|
48
|
-
border-radius: 4px;
|
|
49
|
-
box-shadow: 0 0 0 1px rgb(255 255 255 / 80%);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
[data-cms-selection-outline][hidden],
|
|
53
|
-
[data-cms-hover-outline][hidden] {
|
|
54
|
-
display: none;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
[data-cms-selection-label-content] {
|
|
58
|
-
all: initial;
|
|
59
|
-
display: none;
|
|
60
|
-
position: absolute;
|
|
61
|
-
left: var(--cms-label-left, 0px);
|
|
62
|
-
top: var(--cms-label-top, -26px);
|
|
63
|
-
box-sizing: border-box;
|
|
64
|
-
max-width: min(240px, calc(100vw - 8px));
|
|
65
|
-
overflow: hidden;
|
|
66
|
-
padding: 3px 7px;
|
|
67
|
-
border-radius: 4px;
|
|
68
|
-
background: #2563eb;
|
|
69
|
-
box-shadow: 0 0 0 1px rgb(255 255 255 / 95%);
|
|
70
|
-
color: #fff;
|
|
71
|
-
font:
|
|
72
|
-
500 11px/16px system-ui,
|
|
73
|
-
sans-serif;
|
|
74
|
-
text-overflow: ellipsis;
|
|
75
|
-
white-space: nowrap;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
[data-cms-selection-label] > [data-cms-selection-label-content] {
|
|
79
|
-
display: block;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@media (prefers-reduced-motion: reduce) {
|
|
83
|
-
[data-cms-selection-outline],
|
|
84
|
-
[data-cms-hover-outline] {
|
|
85
|
-
transition: opacity 120ms ease;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
[data-cms-selection-outline][data-cms-reveal] {
|
|
89
|
-
background: rgb(37 99 235 / 6%);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/preview/protocol.d.ts
|
|
2
|
-
export declare const CMS_PREVIEW_DECORATED_ATTRIBUTE = "data-cms-preview-decorated";
|
|
3
|
-
export declare const CMS_PREVIEW_EDGE_PROPERTY = "edge";
|
|
4
|
-
export declare const CMS_PREVIEW_KIND_PROPERTY = "kind";
|
|
5
|
-
export declare const CMS_PREVIEW_MARKER_TAG = "cms-studio-preview-marker";
|
|
6
|
-
export declare const CMS_PREVIEW_NODE_PROPERTY = "node";
|
|
7
|
-
export type CmsPreviewTargetKind = 'component' | 'field' | 'native';
|
|
8
|
-
export type CmsPreviewMarkerEdge = 'end' | 'start';
|
|
9
|
-
export declare function previewMarkerComment(nodeId: string, kind: CmsPreviewTargetKind, edge: CmsPreviewMarkerEdge): string;
|
|
10
|
-
export declare function parsePreviewMarkerComment(value: string): {
|
|
11
|
-
readonly edge: CmsPreviewMarkerEdge;
|
|
12
|
-
readonly kind: CmsPreviewTargetKind;
|
|
13
|
-
readonly nodeId: string;
|
|
14
|
-
} | undefined;
|
|
15
|
-
//#endregion
|
|
16
|
-
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/preview/protocol.ts
|
|
2
|
-
const CMS_PREVIEW_DECORATED_ATTRIBUTE = "data-cms-preview-decorated";
|
|
3
|
-
const CMS_PREVIEW_EDGE_PROPERTY = "edge";
|
|
4
|
-
const CMS_PREVIEW_KIND_PROPERTY = "kind";
|
|
5
|
-
const CMS_PREVIEW_MARKER_TAG = "cms-studio-preview-marker";
|
|
6
|
-
const CMS_PREVIEW_NODE_PROPERTY = "node";
|
|
7
|
-
const CMS_PREVIEW_COMMENT_PREFIX = "cms-preview";
|
|
8
|
-
function previewMarkerComment(nodeId, kind, edge) {
|
|
9
|
-
return `${CMS_PREVIEW_COMMENT_PREFIX}:${kind}:${edge}:${nodeId}`;
|
|
10
|
-
}
|
|
11
|
-
function parsePreviewMarkerComment(value) {
|
|
12
|
-
const [prefix, kind, edge, nodeId, extra] = value.split(":");
|
|
13
|
-
if (prefix !== CMS_PREVIEW_COMMENT_PREFIX || kind !== "component" && kind !== "field" && kind !== "native" || edge !== "end" && edge !== "start" || !nodeId || extra !== void 0) return void 0;
|
|
14
|
-
return {
|
|
15
|
-
edge,
|
|
16
|
-
kind,
|
|
17
|
-
nodeId
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { CMS_PREVIEW_DECORATED_ATTRIBUTE, CMS_PREVIEW_EDGE_PROPERTY, CMS_PREVIEW_KIND_PROPERTY, CMS_PREVIEW_MARKER_TAG, CMS_PREVIEW_NODE_PROPERTY, parsePreviewMarkerComment, previewMarkerComment };
|
|
23
|
-
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","names":[],"sources":["../../../../../src/runtime/preview/protocol.ts"],"sourcesContent":["export const CMS_PREVIEW_DECORATED_ATTRIBUTE = 'data-cms-preview-decorated'\n\nexport const CMS_PREVIEW_EDGE_PROPERTY = 'edge'\n\nexport const CMS_PREVIEW_KIND_PROPERTY = 'kind'\n\nexport const CMS_PREVIEW_MARKER_TAG = 'cms-studio-preview-marker'\n\nexport const CMS_PREVIEW_NODE_PROPERTY = 'node'\n\nexport type CmsPreviewTargetKind = 'component' | 'field' | 'native'\n\nexport type CmsPreviewMarkerEdge = 'end' | 'start'\n\nconst CMS_PREVIEW_COMMENT_PREFIX = 'cms-preview'\n\nexport function previewMarkerComment(nodeId: string, kind: CmsPreviewTargetKind, edge: CmsPreviewMarkerEdge): string {\n return `${CMS_PREVIEW_COMMENT_PREFIX}:${kind}:${edge}:${nodeId}`\n}\n\nexport function parsePreviewMarkerComment(value: string):\n | {\n readonly edge: CmsPreviewMarkerEdge\n readonly kind: CmsPreviewTargetKind\n readonly nodeId: string\n }\n | undefined {\n const [prefix, kind, edge, nodeId, extra] = value.split(':')\n\n if (\n prefix !== CMS_PREVIEW_COMMENT_PREFIX ||\n (kind !== 'component' && kind !== 'field' && kind !== 'native') ||\n (edge !== 'end' && edge !== 'start') ||\n !nodeId ||\n extra !== undefined\n )\n return undefined\n\n return { edge, kind, nodeId }\n}\n"],"mappings":";AAAA,MAAa,kCAAkC;AAE/C,MAAa,4BAA4B;AAEzC,MAAa,4BAA4B;AAEzC,MAAa,yBAAyB;AAEtC,MAAa,4BAA4B;AAMzC,MAAM,6BAA6B;AAEnC,SAAgB,qBAAqB,QAAgB,MAA4B,MAAoC;CACnH,OAAO,GAAG,2BAA2B,GAAG,KAAK,GAAG,KAAK,GAAG;AAC1D;AAEA,SAAgB,0BAA0B,OAM5B;CACZ,MAAM,CAAC,QAAQ,MAAM,MAAM,QAAQ,SAAS,MAAM,MAAM,GAAG;CAE3D,IACE,WAAW,8BACV,SAAS,eAAe,SAAS,WAAW,SAAS,YACrD,SAAS,SAAS,SAAS,WAC5B,CAAC,UACD,UAAU,QAEV,OAAO;CAET,OAAO;EAAE;EAAM;EAAM;CAAO;AAC9B"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { CMS_PREVIEW_DECORATED_ATTRIBUTE, parsePreviewMarkerComment } from "./protocol.js";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/preview/regions.ts
|
|
4
|
-
const TARGET_PRIORITY = {
|
|
5
|
-
component: 1,
|
|
6
|
-
field: 3,
|
|
7
|
-
native: 2
|
|
8
|
-
};
|
|
9
|
-
const COMMENT_NODE_FILTER = 128;
|
|
10
|
-
const DOCUMENT_NODE = 9;
|
|
11
|
-
/** Owns the DOM representation, hit testing and fallback resolution of semantic authoring regions. */
|
|
12
|
-
function mountPreviewRegions(root, view) {
|
|
13
|
-
const geometryCache = /* @__PURE__ */ new WeakMap();
|
|
14
|
-
const collect = (scope = root) => {
|
|
15
|
-
const targets = /* @__PURE__ */ new Map();
|
|
16
|
-
const open = [];
|
|
17
|
-
const scopeNode = scope;
|
|
18
|
-
const ownerDocument = scopeNode.nodeType === DOCUMENT_NODE ? scopeNode : scope.ownerDocument;
|
|
19
|
-
if (!ownerDocument) return [];
|
|
20
|
-
const walker = ownerDocument.createTreeWalker(scopeNode, COMMENT_NODE_FILTER);
|
|
21
|
-
let current = walker.nextNode();
|
|
22
|
-
while (current) {
|
|
23
|
-
const comment = current;
|
|
24
|
-
const marker = parsePreviewMarkerComment(comment.data);
|
|
25
|
-
if (marker?.edge === "start") open.push({
|
|
26
|
-
comment,
|
|
27
|
-
depth: open.length,
|
|
28
|
-
kind: marker.kind,
|
|
29
|
-
nodeId: marker.nodeId
|
|
30
|
-
});
|
|
31
|
-
else if (marker?.edge === "end") {
|
|
32
|
-
const start = open.at(-1);
|
|
33
|
-
if (start?.kind === marker.kind && start.nodeId === marker.nodeId) {
|
|
34
|
-
open.pop();
|
|
35
|
-
const geometry = rangeGeometry(start.comment, comment, start.depth, geometryCache);
|
|
36
|
-
const key = `${marker.kind}:${marker.nodeId}`;
|
|
37
|
-
const target = targets.get(key);
|
|
38
|
-
targets.set(key, {
|
|
39
|
-
geometries: target ? [...target.geometries, geometry] : [geometry],
|
|
40
|
-
kind: marker.kind,
|
|
41
|
-
nodeId: marker.nodeId
|
|
42
|
-
});
|
|
43
|
-
} else open.length = 0;
|
|
44
|
-
}
|
|
45
|
-
current = walker.nextNode();
|
|
46
|
-
}
|
|
47
|
-
return [...targets.values()];
|
|
48
|
-
};
|
|
49
|
-
return {
|
|
50
|
-
clear() {
|
|
51
|
-
for (const element of root.querySelectorAll(`[${CMS_PREVIEW_DECORATED_ATTRIBUTE}], [data-cms-hovered], [data-cms-selected]`)) {
|
|
52
|
-
element.removeAttribute(CMS_PREVIEW_DECORATED_ATTRIBUTE);
|
|
53
|
-
element.removeAttribute("data-cms-hovered");
|
|
54
|
-
element.removeAttribute("data-cms-selected");
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
decorate(scope) {
|
|
58
|
-
for (const target of collect(scope)) for (const geometry of target.geometries) geometry.element()?.setAttribute(CMS_PREVIEW_DECORATED_ATTRIBUTE, "");
|
|
59
|
-
},
|
|
60
|
-
hitTest(x, y, scope) {
|
|
61
|
-
const candidates = collect(scope).filter((target) => target.geometries.some((geometry) => geometry.rects().some((rect) => x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom)));
|
|
62
|
-
candidates.sort((left, right) => targetDepth(right) - targetDepth(left) || TARGET_PRIORITY[right.kind] - TARGET_PRIORITY[left.kind] || targetArea(left) - targetArea(right));
|
|
63
|
-
return candidates[0]?.nodeId;
|
|
64
|
-
},
|
|
65
|
-
locate(nodeId, fallbacks, scope) {
|
|
66
|
-
const visited = /* @__PURE__ */ new Set();
|
|
67
|
-
const targets = collect(scope);
|
|
68
|
-
let targetId = nodeId;
|
|
69
|
-
while (targetId && !visited.has(targetId)) {
|
|
70
|
-
visited.add(targetId);
|
|
71
|
-
const geometries = targets.filter((target) => target.nodeId === targetId).flatMap((target) => target.geometries);
|
|
72
|
-
if (geometries.length) return {
|
|
73
|
-
geometries,
|
|
74
|
-
nodeId: targetId
|
|
75
|
-
};
|
|
76
|
-
targetId = fallbacks[targetId];
|
|
77
|
-
}
|
|
78
|
-
return { geometries: [] };
|
|
79
|
-
},
|
|
80
|
-
nearest(geometries) {
|
|
81
|
-
const viewportCenter = view.innerHeight / 2;
|
|
82
|
-
return [...geometries].sort((left, right) => viewportDistance(left, viewportCenter, view) - viewportDistance(right, viewportCenter, view))[0]?.element();
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
function rangeGeometry(start, end, depth, cache) {
|
|
87
|
-
const cached = cache.get(start);
|
|
88
|
-
if (cached?.end === end && cached.geometry.depth === depth) return cached.geometry;
|
|
89
|
-
const geometry = {
|
|
90
|
-
depth,
|
|
91
|
-
element: () => rangeElement(start, end),
|
|
92
|
-
rects: () => rangeRectangles(start, end)
|
|
93
|
-
};
|
|
94
|
-
cache.set(start, {
|
|
95
|
-
end,
|
|
96
|
-
geometry
|
|
97
|
-
});
|
|
98
|
-
return geometry;
|
|
99
|
-
}
|
|
100
|
-
function rangeElement(start, end) {
|
|
101
|
-
if (!start.isConnected || !end.isConnected || start.parentNode !== end.parentNode) return void 0;
|
|
102
|
-
let current = start.nextSibling;
|
|
103
|
-
while (current && current !== end) {
|
|
104
|
-
if (current.nodeType === current.ELEMENT_NODE) return current;
|
|
105
|
-
current = current.nextSibling;
|
|
106
|
-
}
|
|
107
|
-
return start.parentElement ?? void 0;
|
|
108
|
-
}
|
|
109
|
-
function rangeRectangles(start, end) {
|
|
110
|
-
if (!start.isConnected || !end.isConnected) return [];
|
|
111
|
-
const range = start.ownerDocument.createRange();
|
|
112
|
-
try {
|
|
113
|
-
range.setStartAfter(start);
|
|
114
|
-
range.setEndBefore(end);
|
|
115
|
-
const rectangles = [...range.getClientRects()].filter(isVisibleRectangle);
|
|
116
|
-
if (rectangles.length) return rectangles;
|
|
117
|
-
} catch {}
|
|
118
|
-
const element = rangeElement(start, end);
|
|
119
|
-
return element ? [...element.getClientRects()].filter(isVisibleRectangle) : [];
|
|
120
|
-
}
|
|
121
|
-
function isVisibleRectangle(rectangle) {
|
|
122
|
-
return rectangle.width > 0 && rectangle.height > 0;
|
|
123
|
-
}
|
|
124
|
-
function targetDepth(target) {
|
|
125
|
-
return Math.max(0, ...target.geometries.map((geometry) => geometry.depth));
|
|
126
|
-
}
|
|
127
|
-
function targetArea(target) {
|
|
128
|
-
return Math.min(Infinity, ...target.geometries.flatMap((geometry) => geometry.rects().map((rect) => rect.width * rect.height)));
|
|
129
|
-
}
|
|
130
|
-
function viewportDistance(geometry, viewportCenter, view) {
|
|
131
|
-
const rectangles = geometry.rects();
|
|
132
|
-
const top = Math.min(Infinity, ...rectangles.map((rectangle) => rectangle.top));
|
|
133
|
-
const bottom = Math.max(-Infinity, ...rectangles.map((rectangle) => rectangle.bottom));
|
|
134
|
-
if (!Number.isFinite(top) || !Number.isFinite(bottom)) return Infinity;
|
|
135
|
-
const visible = bottom >= 0 && top <= view.innerHeight;
|
|
136
|
-
const distance = Math.abs((top + bottom) / 2 - viewportCenter);
|
|
137
|
-
return visible ? distance : view.innerHeight + distance;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
//#endregion
|
|
141
|
-
export { mountPreviewRegions };
|
|
142
|
-
//# sourceMappingURL=regions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regions.js","names":["element"],"sources":["../../../../../src/runtime/preview/regions.ts"],"sourcesContent":["import type { CmsPreviewTargetKind } from './protocol'\nimport { CMS_PREVIEW_DECORATED_ATTRIBUTE, parsePreviewMarkerComment } from './protocol'\n\nexport interface PreviewRegionGeometry {\n readonly depth: number\n readonly element: () => Element | undefined\n readonly rects: () => ReadonlyArray<DOMRect>\n}\n\ninterface PreviewRegionTarget {\n readonly geometries: ReadonlyArray<PreviewRegionGeometry>\n readonly kind: CmsPreviewTargetKind\n readonly nodeId: string\n}\n\nexport interface LocatedPreviewRegion {\n readonly geometries: ReadonlyArray<PreviewRegionGeometry>\n readonly nodeId?: string\n}\n\nexport interface PreviewRegionRegistry {\n readonly clear: () => void\n readonly decorate: (scope?: ParentNode) => void\n readonly hitTest: (x: number, y: number, scope?: ParentNode) => string | undefined\n readonly locate: (\n nodeId: string,\n fallbacks: Readonly<Record<string, string>>,\n scope?: ParentNode,\n ) => LocatedPreviewRegion\n readonly nearest: (geometries: ReadonlyArray<PreviewRegionGeometry>) => Element | undefined\n}\n\nconst TARGET_PRIORITY = { component: 1, field: 3, native: 2 } satisfies Record<CmsPreviewTargetKind, number>\n\nconst COMMENT_NODE_FILTER = 128\n\nconst DOCUMENT_NODE = 9\n\ninterface OpenMarker {\n readonly comment: Comment\n readonly depth: number\n readonly kind: CmsPreviewTargetKind\n readonly nodeId: string\n}\n\n/** Owns the DOM representation, hit testing and fallback resolution of semantic authoring regions. */\nexport function mountPreviewRegions(root: ParentNode, view: Window): PreviewRegionRegistry {\n const geometryCache = new WeakMap<Comment, { readonly end: Comment; readonly geometry: PreviewRegionGeometry }>()\n\n const collect = (scope: ParentNode = root): ReadonlyArray<PreviewRegionTarget> => {\n const targets = new Map<string, PreviewRegionTarget>()\n const open: Array<OpenMarker> = []\n // SAFETY: ParentNode is a DOM mixin implemented only by Document, DocumentFragment, and Element nodes.\n const scopeNode = scope as Node\n // SAFETY: A DOM node with the Document node type satisfies the Document interface.\n const ownerDocument = scopeNode.nodeType === DOCUMENT_NODE ? (scopeNode as Document) : scope.ownerDocument\n\n if (!ownerDocument) return []\n const walker = ownerDocument.createTreeWalker(scopeNode, COMMENT_NODE_FILTER)\n let current = walker.nextNode()\n\n while (current) {\n // SAFETY: The TreeWalker is restricted to comment nodes.\n const comment = current as Comment\n const marker = parsePreviewMarkerComment(comment.data)\n\n if (marker?.edge === 'start') {\n open.push({ comment, depth: open.length, kind: marker.kind, nodeId: marker.nodeId })\n } else if (marker?.edge === 'end') {\n const start = open.at(-1)\n\n if (start?.kind === marker.kind && start.nodeId === marker.nodeId) {\n open.pop()\n const geometry = rangeGeometry(start.comment, comment, start.depth, geometryCache)\n const key = `${marker.kind}:${marker.nodeId}`\n const target = targets.get(key)\n\n targets.set(key, {\n geometries: target ? [...target.geometries, geometry] : [geometry],\n kind: marker.kind,\n nodeId: marker.nodeId,\n })\n } else open.length = 0\n }\n\n current = walker.nextNode()\n }\n\n return [...targets.values()]\n }\n\n return {\n clear() {\n for (const element of root.querySelectorAll(\n `[${CMS_PREVIEW_DECORATED_ATTRIBUTE}], [data-cms-hovered], [data-cms-selected]`,\n )) {\n element.removeAttribute(CMS_PREVIEW_DECORATED_ATTRIBUTE)\n element.removeAttribute('data-cms-hovered')\n element.removeAttribute('data-cms-selected')\n }\n },\n decorate(scope) {\n for (const target of collect(scope)) {\n for (const geometry of target.geometries) geometry.element()?.setAttribute(CMS_PREVIEW_DECORATED_ATTRIBUTE, '')\n }\n },\n hitTest(x, y, scope) {\n const candidates = collect(scope).filter((target) =>\n target.geometries.some((geometry) =>\n geometry.rects().some((rect) => x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom),\n ),\n )\n\n candidates.sort(\n (left, right) =>\n targetDepth(right) - targetDepth(left) ||\n TARGET_PRIORITY[right.kind] - TARGET_PRIORITY[left.kind] ||\n targetArea(left) - targetArea(right),\n )\n\n return candidates[0]?.nodeId\n },\n locate(nodeId, fallbacks, scope) {\n const visited = new Set<string>()\n const targets = collect(scope)\n let targetId: string | undefined = nodeId\n\n while (targetId && !visited.has(targetId)) {\n visited.add(targetId)\n\n const geometries = targets.filter((target) => target.nodeId === targetId).flatMap((target) => target.geometries)\n\n if (geometries.length) return { geometries, nodeId: targetId }\n targetId = fallbacks[targetId]\n }\n\n return { geometries: [] }\n },\n nearest(geometries) {\n const viewportCenter = view.innerHeight / 2\n\n return [...geometries]\n .sort(\n (left, right) => viewportDistance(left, viewportCenter, view) - viewportDistance(right, viewportCenter, view),\n )[0]\n ?.element()\n },\n }\n}\n\nfunction rangeGeometry(\n start: Comment,\n end: Comment,\n depth: number,\n cache: WeakMap<Comment, { readonly end: Comment; readonly geometry: PreviewRegionGeometry }>,\n): PreviewRegionGeometry {\n const cached = cache.get(start)\n\n if (cached?.end === end && cached.geometry.depth === depth) return cached.geometry\n\n const geometry: PreviewRegionGeometry = {\n depth,\n element: () => rangeElement(start, end),\n rects: () => rangeRectangles(start, end),\n }\n\n cache.set(start, { end, geometry })\n\n return geometry\n}\n\nfunction rangeElement(start: Comment, end: Comment): Element | undefined {\n if (!start.isConnected || !end.isConnected || start.parentNode !== end.parentNode) return undefined\n let current = start.nextSibling\n\n while (current && current !== end) {\n if (current.nodeType === current.ELEMENT_NODE) {\n // SAFETY: The node type check establishes the Element representation.\n const element = current as Element\n\n return element\n }\n\n current = current.nextSibling\n }\n\n return start.parentElement ?? undefined\n}\n\nfunction rangeRectangles(start: Comment, end: Comment): ReadonlyArray<DOMRect> {\n if (!start.isConnected || !end.isConnected) return []\n const range = start.ownerDocument.createRange()\n\n try {\n range.setStartAfter(start)\n range.setEndBefore(end)\n\n const rectangles = [...range.getClientRects()].filter(isVisibleRectangle)\n\n if (rectangles.length) return rectangles\n } catch {}\n\n const element = rangeElement(start, end)\n\n return element ? [...element.getClientRects()].filter(isVisibleRectangle) : []\n}\n\nfunction isVisibleRectangle(rectangle: DOMRect): boolean {\n return rectangle.width > 0 && rectangle.height > 0\n}\n\nfunction targetDepth(target: PreviewRegionTarget): number {\n return Math.max(0, ...target.geometries.map((geometry) => geometry.depth))\n}\n\nfunction targetArea(target: PreviewRegionTarget): number {\n return Math.min(\n Infinity,\n ...target.geometries.flatMap((geometry) => geometry.rects().map((rect) => rect.width * rect.height)),\n )\n}\n\nfunction viewportDistance(geometry: PreviewRegionGeometry, viewportCenter: number, view: Window): number {\n const rectangles = geometry.rects()\n const top = Math.min(Infinity, ...rectangles.map((rectangle) => rectangle.top))\n const bottom = Math.max(-Infinity, ...rectangles.map((rectangle) => rectangle.bottom))\n\n if (!Number.isFinite(top) || !Number.isFinite(bottom)) return Infinity\n const visible = bottom >= 0 && top <= view.innerHeight\n const distance = Math.abs((top + bottom) / 2 - viewportCenter)\n\n return visible ? distance : view.innerHeight + distance\n}\n"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "effect";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/sitemap-entries.ts
|
|
4
|
-
function toNuxtSitemapEntries(entries) {
|
|
5
|
-
return entries.map((entry) => ({
|
|
6
|
-
loc: entry.loc,
|
|
7
|
-
lastmod: DateTime.formatIso(entry.lastmod),
|
|
8
|
-
...entry.alternatives ? { alternatives: entry.alternatives.map((alternative) => ({
|
|
9
|
-
href: alternative.loc,
|
|
10
|
-
hreflang: alternative.locale
|
|
11
|
-
})) } : void 0
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { toNuxtSitemapEntries };
|
|
17
|
-
//# sourceMappingURL=sitemap-entries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap-entries.js","names":[],"sources":["../../../../src/runtime/sitemap-entries.ts"],"sourcesContent":["import type { SitemapEntry } from '@internal/protocol/Seo'\nimport { DateTime } from 'effect'\n\nexport interface NuxtSitemapEntry {\n readonly loc: string\n readonly lastmod: string\n readonly alternatives?: ReadonlyArray<{\n readonly hreflang: string\n readonly href: string\n }>\n}\n\nexport function toNuxtSitemapEntries(entries: ReadonlyArray<SitemapEntry>): ReadonlyArray<NuxtSitemapEntry> {\n return entries.map((entry) => ({\n loc: entry.loc,\n lastmod: DateTime.formatIso(entry.lastmod),\n ...(entry.alternatives\n ? {\n alternatives: entry.alternatives.map((alternative) => ({\n href: alternative.loc,\n hreflang: alternative.locale,\n })),\n }\n : undefined),\n }))\n}\n"],"mappings":";;;AAYA,SAAgB,qBAAqB,SAAuE;CAC1G,OAAO,QAAQ,KAAK,WAAW;EAC7B,KAAK,MAAM;EACX,SAAS,SAAS,UAAU,MAAM,OAAO;EACzC,GAAI,MAAM,eACN,EACE,cAAc,MAAM,aAAa,KAAK,iBAAiB;GACrD,MAAM,YAAY;GAClB,UAAU,YAAY;EACxB,EAAE,EACJ,IACA;CACN,EAAE;AACJ"}
|
package/src/runtime/sitemap.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Y as SitemapEntry } from "../models-VmGmG19-.js";
|
|
2
|
-
import { i as CMS_DELIVERY_SITEMAP_PATH } from "../HttpPaths-c9nLZ9H2.js";
|
|
3
|
-
import { useCmsInstallation } from "./plugin.js";
|
|
4
|
-
import { toNuxtSitemapEntries } from "./sitemap-entries.js";
|
|
5
|
-
import { Schema } from "effect";
|
|
6
|
-
import { createError, defineEventHandler, getRequestURL } from "h3";
|
|
7
|
-
|
|
8
|
-
//#region src/runtime/sitemap.ts
|
|
9
|
-
const SitemapDelivery = Schema.Array(SitemapEntry);
|
|
10
|
-
var sitemap_default = defineEventHandler(async (event) => {
|
|
11
|
-
const response = await (await useCmsInstallation()).fetch(new Request(new URL(CMS_DELIVERY_SITEMAP_PATH, getRequestURL(event).origin)));
|
|
12
|
-
if (!response.ok) throw createError({
|
|
13
|
-
statusCode: response.status,
|
|
14
|
-
statusMessage: "CMS sitemap delivery failed"
|
|
15
|
-
});
|
|
16
|
-
const payload = await response.json();
|
|
17
|
-
const entries = await Schema.decodeUnknownPromise(SitemapDelivery)(payload);
|
|
18
|
-
return toNuxtSitemapEntries(entries);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { sitemap_default as default };
|
|
23
|
-
//# sourceMappingURL=sitemap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sitemap.js","names":[],"sources":["../../../../src/runtime/sitemap.ts"],"sourcesContent":["import { CMS_DELIVERY_SITEMAP_PATH } from '@internal/protocol/HttpPaths'\nimport { SitemapEntry } from '@internal/protocol/Seo'\nimport { Schema } from 'effect'\nimport { createError, defineEventHandler, getRequestURL } from 'h3'\nimport { useCmsInstallation } from './plugin'\nimport { toNuxtSitemapEntries } from './sitemap-entries'\n\nconst SitemapDelivery = Schema.Array(SitemapEntry)\n\n// oxlint-disable-next-line effecttsgo/async-function -- Nitro owns this Promise-based request lifecycle.\nexport default defineEventHandler(async (event) => {\n const installation = await useCmsInstallation()\n\n const response = await installation.fetch(\n new Request(new URL(CMS_DELIVERY_SITEMAP_PATH, getRequestURL(event).origin)),\n )\n\n if (!response.ok) {\n throw createError({\n statusCode: response.status,\n statusMessage: 'CMS sitemap delivery failed',\n })\n }\n\n const payload = await response.json()\n const entries = await Schema.decodeUnknownPromise(SitemapDelivery)(payload)\n\n return toNuxtSitemapEntries(entries)\n})\n"],"mappings":";;;;;;;;AAOA,MAAM,kBAAkB,OAAO,MAAM,YAAY;AAGjD,sBAAe,mBAAmB,OAAO,UAAU;CAGjD,MAAM,WAAW,OAAM,MAFI,mBAAmB,EAEX,CAAC,MAClC,IAAI,QAAQ,IAAI,IAAI,2BAA2B,cAAc,KAAK,CAAC,CAAC,MAAM,CAAC,CAC7E;CAEA,IAAI,CAAC,SAAS,IACZ,MAAM,YAAY;EAChB,YAAY,SAAS;EACrB,eAAe;CACjB,CAAC;CAGH,MAAM,UAAU,MAAM,SAAS,KAAK;CACpC,MAAM,UAAU,MAAM,OAAO,qBAAqB,eAAe,CAAC,CAAC,OAAO;CAE1E,OAAO,qBAAqB,OAAO;AACrC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { defineEventHandler, setResponseHeader } from "h3";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/studio-app.ts
|
|
4
|
-
function createStudioAppHandler(entryUrl, hmrUrl) {
|
|
5
|
-
const escape = (value) => value.replaceAll("&", "&").replaceAll("\"", """).replaceAll("<", "<");
|
|
6
|
-
const script = (url) => `<script type="module" src="${escape(url)}"><\/script>`;
|
|
7
|
-
const shell = `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>CMS Studio</title></head><body>${hmrUrl ? script(hmrUrl) : ""}${script(entryUrl)}</body></html>`;
|
|
8
|
-
return defineEventHandler((event) => {
|
|
9
|
-
setResponseHeader(event, "content-type", "text/html; charset=utf-8");
|
|
10
|
-
setResponseHeader(event, "cache-control", "no-store");
|
|
11
|
-
return shell;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { createStudioAppHandler };
|
|
17
|
-
//# sourceMappingURL=studio-app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"studio-app.js","names":[],"sources":["../../../../src/runtime/studio-app.ts"],"sourcesContent":["import { defineEventHandler, setResponseHeader } from 'h3'\n\nexport function createStudioAppHandler(entryUrl: string, hmrUrl?: string) {\n const escape = (value: string) => value.replaceAll('&', '&').replaceAll('\"', '"').replaceAll('<', '<')\n const script = (url: string) => `<script type=\"module\" src=\"${escape(url)}\"></script>`\n const shell = `<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>CMS Studio</title></head><body>${hmrUrl ? script(hmrUrl) : ''}${script(entryUrl)}</body></html>`\n\n return defineEventHandler((event) => {\n setResponseHeader(event, 'content-type', 'text/html; charset=utf-8')\n setResponseHeader(event, 'cache-control', 'no-store')\n\n return shell\n })\n}\n"],"mappings":";;;AAEA,SAAgB,uBAAuB,UAAkB,QAAiB;CACxE,MAAM,UAAU,UAAkB,MAAM,WAAW,KAAK,OAAO,CAAC,CAAC,WAAW,MAAK,QAAQ,CAAC,CAAC,WAAW,KAAK,MAAM;CACjH,MAAM,UAAU,QAAgB,8BAA8B,OAAO,GAAG,EAAE;CAC1E,MAAM,QAAQ,wKAAwK,SAAS,OAAO,MAAM,IAAI,KAAK,OAAO,QAAQ,EAAE;CAEtO,OAAO,oBAAoB,UAAU;EACnC,kBAAkB,OAAO,gBAAgB,0BAA0B;EACnE,kBAAkB,OAAO,iBAAiB,UAAU;EAEpD,OAAO;CACT,CAAC;AACH"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { d as STUDIO_APP_PATH } from "../HttpPaths-c9nLZ9H2.js";
|
|
2
|
-
|
|
3
|
-
//#region src/runtime/studio-document.ts
|
|
4
|
-
function resolveStudioRoot(document, pathname) {
|
|
5
|
-
const root = document.getElementById("cms-studio");
|
|
6
|
-
if (root) return root;
|
|
7
|
-
if (pathname !== STUDIO_APP_PATH && !pathname.startsWith(`${STUDIO_APP_PATH}/`)) return null;
|
|
8
|
-
const created = document.createElement("div");
|
|
9
|
-
created.id = "cms-studio";
|
|
10
|
-
document.body.replaceChildren(created);
|
|
11
|
-
return created;
|
|
12
|
-
}
|
|
13
|
-
function startStudioDocument(root, catalog, stylesheet, mountStudio) {
|
|
14
|
-
if (!root) return {
|
|
15
|
-
unmount: () => void 0,
|
|
16
|
-
updateAuthoring: () => void 0
|
|
17
|
-
};
|
|
18
|
-
let currentCatalog = catalog;
|
|
19
|
-
let studio;
|
|
20
|
-
const link = document.createElement("link");
|
|
21
|
-
link.rel = "stylesheet";
|
|
22
|
-
link.href = stylesheet;
|
|
23
|
-
link.onload = () => {
|
|
24
|
-
studio = mountStudio(root, currentCatalog);
|
|
25
|
-
};
|
|
26
|
-
link.onerror = () => {
|
|
27
|
-
root.textContent = "CMS Studio styles could not load. Reload this page to retry.";
|
|
28
|
-
};
|
|
29
|
-
document.head.append(link);
|
|
30
|
-
return {
|
|
31
|
-
unmount() {
|
|
32
|
-
link.onload = null;
|
|
33
|
-
link.onerror = null;
|
|
34
|
-
studio?.unmount();
|
|
35
|
-
link.remove();
|
|
36
|
-
},
|
|
37
|
-
updateAuthoring(next) {
|
|
38
|
-
currentCatalog = next;
|
|
39
|
-
studio?.updateAuthoring(next);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
export { resolveStudioRoot, startStudioDocument };
|
|
46
|
-
//# sourceMappingURL=studio-document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"studio-document.js","names":[],"sources":["../../../../src/runtime/studio-document.ts"],"sourcesContent":["import type { AuthoringCatalog } from '@internal/protocol/Configuration'\nimport { STUDIO_APP_PATH } from '@internal/protocol/HttpPaths'\n\ninterface MountedStudio {\n readonly unmount: () => void\n readonly updateAuthoring: (catalog: AuthoringCatalog) => void\n}\n\ninterface StudioDocument {\n readonly unmount: () => void\n readonly updateAuthoring: (catalog: AuthoringCatalog) => void\n}\n\nexport function resolveStudioRoot(document: Document, pathname: string): HTMLElement | null {\n const root = document.getElementById('cms-studio')\n\n if (root) return root\n\n if (pathname !== STUDIO_APP_PATH && !pathname.startsWith(`${STUDIO_APP_PATH}/`)) return null\n\n const created = document.createElement('div')\n created.id = 'cms-studio'\n document.body.replaceChildren(created)\n\n return created\n}\n\nexport function startStudioDocument(\n root: HTMLElement | null,\n catalog: AuthoringCatalog,\n stylesheet: string,\n mountStudio: (root: HTMLElement, catalog: AuthoringCatalog) => MountedStudio,\n): StudioDocument {\n if (!root) return { unmount: () => undefined, updateAuthoring: () => undefined }\n\n let currentCatalog = catalog\n let studio: MountedStudio | undefined\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = stylesheet\n link.onload = () => {\n studio = mountStudio(root, currentCatalog)\n }\n\n link.onerror = () => {\n root.textContent = 'CMS Studio styles could not load. Reload this page to retry.'\n }\n\n document.head.append(link)\n\n return {\n unmount() {\n link.onload = null\n link.onerror = null\n studio?.unmount()\n link.remove()\n },\n updateAuthoring(next: AuthoringCatalog) {\n currentCatalog = next\n studio?.updateAuthoring(next)\n },\n }\n}\n"],"mappings":";;;AAaA,SAAgB,kBAAkB,UAAoB,UAAsC;CAC1F,MAAM,OAAO,SAAS,eAAe,YAAY;CAEjD,IAAI,MAAM,OAAO;CAEjB,IAAI,aAAa,mBAAmB,CAAC,SAAS,WAAW,GAAG,gBAAgB,EAAE,GAAG,OAAO;CAExF,MAAM,UAAU,SAAS,cAAc,KAAK;CAC5C,QAAQ,KAAK;CACb,SAAS,KAAK,gBAAgB,OAAO;CAErC,OAAO;AACT;AAEA,SAAgB,oBACd,MACA,SACA,YACA,aACgB;CAChB,IAAI,CAAC,MAAM,OAAO;EAAE,eAAe;EAAW,uBAAuB;CAAU;CAE/E,IAAI,iBAAiB;CACrB,IAAI;CACJ,MAAM,OAAO,SAAS,cAAc,MAAM;CAC1C,KAAK,MAAM;CACX,KAAK,OAAO;CACZ,KAAK,eAAe;EAClB,SAAS,YAAY,MAAM,cAAc;CAC3C;CAEA,KAAK,gBAAgB;EACnB,KAAK,cAAc;CACrB;CAEA,SAAS,KAAK,OAAO,IAAI;CAEzB,OAAO;EACL,UAAU;GACR,KAAK,SAAS;GACd,KAAK,UAAU;GACf,QAAQ,QAAQ;GAChB,KAAK,OAAO;EACd;EACA,gBAAgB,MAAwB;GACtC,iBAAiB;GACjB,QAAQ,gBAAgB,IAAI;EAC9B;CACF;AACF"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { resolveStudioRoot, startStudioDocument } from "./studio-document.js";
|
|
2
|
-
import authoring from "#cms/authoring";
|
|
3
|
-
import { mountStudio } from "#cms/studio";
|
|
4
|
-
import stylesheet from "#cms/studio-styles";
|
|
5
|
-
|
|
6
|
-
//#region src/runtime/studio-entry.ts
|
|
7
|
-
const root = resolveStudioRoot(document, window.location.pathname);
|
|
8
|
-
const studio = startStudioDocument(root, authoring, stylesheet, mountStudio);
|
|
9
|
-
if (import.meta.hot) {
|
|
10
|
-
import.meta.hot.accept("#cms/authoring", (module) => {
|
|
11
|
-
if (!module) return;
|
|
12
|
-
studio.updateAuthoring(module.default);
|
|
13
|
-
});
|
|
14
|
-
import.meta.hot.dispose(studio.unmount);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
//#endregion
|
|
18
|
-
export { };
|
|
19
|
-
//# sourceMappingURL=studio-entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"studio-entry.js","names":["catalog"],"sources":["../../../../src/runtime/studio-entry.ts"],"sourcesContent":["import { mountStudio } from '#cms/studio'\nimport catalog from '#cms/authoring'\nimport stylesheet from '#cms/studio-styles'\nimport { resolveStudioRoot, startStudioDocument } from './studio-document'\n\nconst root = resolveStudioRoot(document, window.location.pathname)\n\nconst studio = startStudioDocument(root, catalog, stylesheet, mountStudio)\n\nif (import.meta.hot) {\n import.meta.hot.accept('#cms/authoring', (module) => {\n if (!module) return\n studio.updateAuthoring(module.default)\n })\n import.meta.hot.dispose(studio.unmount)\n}\n"],"mappings":";;;;;;AAKA,MAAM,OAAO,kBAAkB,UAAU,OAAO,SAAS,QAAQ;AAEjE,MAAM,SAAS,oBAAoB,MAAMA,WAAS,YAAY,WAAW;AAEzE,IAAI,YAAY,KAAK;CACnB,YAAY,IAAI,OAAO,mBAAmB,WAAW;EACnD,IAAI,CAAC,QAAQ;EACb,OAAO,gBAAgB,OAAO,OAAO;CACvC,CAAC;CACD,YAAY,IAAI,QAAQ,OAAO,OAAO;AACxC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { d as STUDIO_APP_PATH, f as STUDIO_BASE_PATH } from "../HttpPaths-c9nLZ9H2.js";
|
|
2
|
-
import { defineNuxtRouteMiddleware, navigateTo } from "nuxt/app";
|
|
3
|
-
|
|
4
|
-
//#region src/runtime/studio-navigation.ts
|
|
5
|
-
var studio_navigation_default = defineNuxtRouteMiddleware((to) => {
|
|
6
|
-
if (to.path === "/_cms" || to.path === STUDIO_APP_PATH || to.path.startsWith(`${STUDIO_APP_PATH}/`)) return navigateTo(to.fullPath, { external: true });
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
//#endregion
|
|
10
|
-
export { studio_navigation_default as default };
|
|
11
|
-
//# sourceMappingURL=studio-navigation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"studio-navigation.js","names":[],"sources":["../../../../src/runtime/studio-navigation.ts"],"sourcesContent":["import { defineNuxtRouteMiddleware, navigateTo } from 'nuxt/app'\nimport { STUDIO_APP_PATH, STUDIO_BASE_PATH } from '@internal/protocol/HttpPaths'\n\nexport default defineNuxtRouteMiddleware((to) => {\n if (to.path === STUDIO_BASE_PATH || to.path === STUDIO_APP_PATH || to.path.startsWith(`${STUDIO_APP_PATH}/`)) {\n return navigateTo(to.fullPath, { external: true })\n }\n})\n"],"mappings":";;;;AAGA,gCAAe,2BAA2B,OAAO;CAC/C,IAAI,GAAG,oBAA6B,GAAG,SAAS,mBAAmB,GAAG,KAAK,WAAW,GAAG,gBAAgB,EAAE,GACzG,OAAO,WAAW,GAAG,UAAU,EAAE,UAAU,KAAK,CAAC;AAErD,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect";
|
|
2
|
-
//#region ../protocol/src/internal/documents/scalars.d.ts
|
|
3
|
-
declare const DocumentId: Schema.brand<Schema.String, "DocumentId">;
|
|
4
|
-
type DocumentId = typeof DocumentId.Type;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { DocumentId as t };
|
|
7
|
-
//# sourceMappingURL=scalars-CA6kyipS.d.ts.map
|
package/src/scalars-CVZqT3L0.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect";
|
|
2
|
-
|
|
3
|
-
//#region ../protocol/src/internal/scalars.ts
|
|
4
|
-
const nonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
5
|
-
const publicPathPattern = /^\/(?!(?:[^/]+\/)*\.\.?(?:\/|$))(?:[^/?#\\]+(?:\/[^/?#\\]+)*)?$/u;
|
|
6
|
-
|
|
7
|
-
//#endregion
|
|
8
|
-
//#region ../protocol/src/internal/documents/scalars.ts
|
|
9
|
-
const slugPattern = /^[\p{Letter}\p{Number}][\p{Letter}\p{Number}_-]*$/u;
|
|
10
|
-
const DocumentGeneration = Schema.String.check(Schema.isPattern(/^(?:0|[1-9]\d*)$/u)).pipe(Schema.brand("DocumentGeneration"));
|
|
11
|
-
const DocumentVersion = Schema.NonEmptyString.pipe(Schema.brand("DocumentVersion"));
|
|
12
|
-
const DocumentHistoryCursor = Schema.NonEmptyString.pipe(Schema.brand("DocumentHistoryCursor"));
|
|
13
|
-
const DocumentId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand("DocumentId"));
|
|
14
|
-
const EditorNodeId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand("EditorNodeId"));
|
|
15
|
-
const PublicPath = Schema.String.check(Schema.isPattern(publicPathPattern)).pipe(Schema.brand("PublicPath"));
|
|
16
|
-
const RevisionId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand("RevisionId"));
|
|
17
|
-
const RevisionNumber = nonNegativeInt.pipe(Schema.brand("RevisionNumber"));
|
|
18
|
-
const Slug = Schema.String.check(Schema.isPattern(slugPattern)).pipe(Schema.brand("Slug"));
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
export { EditorNodeId as a, RevisionNumber as c, publicPathPattern as d, DocumentVersion as i, Slug as l, DocumentHistoryCursor as n, PublicPath as o, DocumentId as r, RevisionId as s, DocumentGeneration as t, nonNegativeInt as u };
|
|
22
|
-
//# sourceMappingURL=scalars-CVZqT3L0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scalars-CVZqT3L0.js","names":[],"sources":["../../../../protocol/src/internal/scalars.ts","../../../../protocol/src/internal/documents/scalars.ts"],"sourcesContent":["import { Schema } from 'effect'\n\nexport const nonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))\n\nexport const publicPathPattern = /^\\/(?!(?:[^/]+\\/)*\\.\\.?(?:\\/|$))(?:[^/?#\\\\]+(?:\\/[^/?#\\\\]+)*)?$/u\n","import { Schema } from 'effect'\nimport { nonNegativeInt, publicPathPattern } from '../scalars'\n\nconst slugPattern = /^[\\p{Letter}\\p{Number}][\\p{Letter}\\p{Number}_-]*$/u\n\nexport const DocumentGeneration = Schema.String.check(Schema.isPattern(/^(?:0|[1-9]\\d*)$/u)).pipe(\n Schema.brand('DocumentGeneration'),\n)\n\nexport type DocumentGeneration = typeof DocumentGeneration.Type\n\nexport const DocumentVersion = Schema.NonEmptyString.pipe(Schema.brand('DocumentVersion'))\n\nexport type DocumentVersion = typeof DocumentVersion.Type\n\nexport const DocumentHistoryCursor = Schema.NonEmptyString.pipe(Schema.brand('DocumentHistoryCursor'))\n\nexport type DocumentHistoryCursor = typeof DocumentHistoryCursor.Type\n\nexport const DocumentId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand('DocumentId'))\n\nexport type DocumentId = typeof DocumentId.Type\n\nexport const EditorNodeId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand('EditorNodeId'))\n\nexport type EditorNodeId = typeof EditorNodeId.Type\n\nexport const PublicPath = Schema.String.check(Schema.isPattern(publicPathPattern)).pipe(Schema.brand('PublicPath'))\n\nexport type PublicPath = typeof PublicPath.Type\n\nexport const RevisionId = Schema.String.check(Schema.isUUID()).pipe(Schema.brand('RevisionId'))\n\nexport type RevisionId = typeof RevisionId.Type\n\nexport const RevisionNumber = nonNegativeInt.pipe(Schema.brand('RevisionNumber'))\n\nexport type RevisionNumber = typeof RevisionNumber.Type\n\nexport const Slug = Schema.String.check(Schema.isPattern(slugPattern)).pipe(Schema.brand('Slug'))\n\nexport type Slug = typeof Slug.Type\n"],"mappings":";;;AAEA,MAAa,iBAAiB,OAAO,IAAI,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAE/E,MAAa,oBAAoB;;;;ACDjC,MAAM,cAAc;AAEpB,MAAa,qBAAqB,OAAO,OAAO,MAAM,OAAO,UAAU,mBAAmB,CAAC,CAAC,CAAC,KAC3F,OAAO,MAAM,oBAAoB,CACnC;AAIA,MAAa,kBAAkB,OAAO,eAAe,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAIzF,MAAa,wBAAwB,OAAO,eAAe,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAIrG,MAAa,aAAa,OAAO,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,YAAY,CAAC;AAI9F,MAAa,eAAe,OAAO,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,cAAc,CAAC;AAIlG,MAAa,aAAa,OAAO,OAAO,MAAM,OAAO,UAAU,iBAAiB,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,YAAY,CAAC;AAIlH,MAAa,aAAa,OAAO,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,YAAY,CAAC;AAI9F,MAAa,iBAAiB,eAAe,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAIhF,MAAa,OAAO,OAAO,OAAO,MAAM,OAAO,UAAU,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,MAAM,MAAM,CAAC"}
|