@xiwebdesign/xicms-core 4.17.1
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/dist/XiCMSProvider.d.ts +58 -0
- package/dist/XiCMSProvider.js +165 -0
- package/dist/XiCMSProvider.js.map +1 -0
- package/dist/admin/AdminApp.d.ts +4 -0
- package/dist/admin/AdminApp.js +62 -0
- package/dist/admin/AdminApp.js.map +1 -0
- package/dist/admin/AdminHelp.d.ts +2 -0
- package/dist/admin/AdminHelp.js +65 -0
- package/dist/admin/AdminHelp.js.map +1 -0
- package/dist/admin/NewsEditor.d.ts +2 -0
- package/dist/admin/NewsEditor.js +171 -0
- package/dist/admin/NewsEditor.js.map +1 -0
- package/dist/admin/SuperadminPanel.d.ts +4 -0
- package/dist/admin/SuperadminPanel.js +101 -0
- package/dist/admin/SuperadminPanel.js.map +1 -0
- package/dist/admin/blockEditors/StyleEditor.d.ts +10 -0
- package/dist/admin/blockEditors/StyleEditor.js +78 -0
- package/dist/admin/blockEditors/StyleEditor.js.map +1 -0
- package/dist/admin/blockEditors/index.d.ts +16 -0
- package/dist/admin/blockEditors/index.js +1602 -0
- package/dist/admin/blockEditors/index.js.map +1 -0
- package/dist/admin/editors/RichTextEditor.d.ts +10 -0
- package/dist/admin/editors/RichTextEditor.js +86 -0
- package/dist/admin/editors/RichTextEditor.js.map +1 -0
- package/dist/admin/forms/FormsPanel.d.ts +3 -0
- package/dist/admin/forms/FormsPanel.js +203 -0
- package/dist/admin/forms/FormsPanel.js.map +1 -0
- package/dist/admin/index.d.ts +21 -0
- package/dist/admin/index.js +38 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/lib/compressImage.d.ts +12 -0
- package/dist/admin/lib/compressImage.js +53 -0
- package/dist/admin/lib/compressImage.js.map +1 -0
- package/dist/admin/lib/mediaUsage.d.ts +9 -0
- package/dist/admin/lib/mediaUsage.js +25 -0
- package/dist/admin/lib/mediaUsage.js.map +1 -0
- package/dist/admin/lib/pagesClient.d.ts +38 -0
- package/dist/admin/lib/pagesClient.js +143 -0
- package/dist/admin/lib/pagesClient.js.map +1 -0
- package/dist/admin/lib/slugify.d.ts +2 -0
- package/dist/admin/lib/slugify.js +7 -0
- package/dist/admin/lib/slugify.js.map +1 -0
- package/dist/admin/lib/upload.d.ts +13 -0
- package/dist/admin/lib/upload.js +40 -0
- package/dist/admin/lib/upload.js.map +1 -0
- package/dist/admin/lib/zodFields.d.ts +27 -0
- package/dist/admin/lib/zodFields.js +48 -0
- package/dist/admin/lib/zodFields.js.map +1 -0
- package/dist/admin/media/MediaManager.d.ts +3 -0
- package/dist/admin/media/MediaManager.js +132 -0
- package/dist/admin/media/MediaManager.js.map +1 -0
- package/dist/admin/media/MediaPicker.d.ts +24 -0
- package/dist/admin/media/MediaPicker.js +93 -0
- package/dist/admin/media/MediaPicker.js.map +1 -0
- package/dist/admin/pages/PageEditor.d.ts +5 -0
- package/dist/admin/pages/PageEditor.js +239 -0
- package/dist/admin/pages/PageEditor.js.map +1 -0
- package/dist/admin/pages/PagesPanel.d.ts +3 -0
- package/dist/admin/pages/PagesPanel.js +92 -0
- package/dist/admin/pages/PagesPanel.js.map +1 -0
- package/dist/admin/panelRegistry.d.ts +20 -0
- package/dist/admin/panelRegistry.js +23 -0
- package/dist/admin/panelRegistry.js.map +1 -0
- package/dist/admin/patterns/PatternInserter.d.ts +10 -0
- package/dist/admin/patterns/PatternInserter.js +58 -0
- package/dist/admin/patterns/PatternInserter.js.map +1 -0
- package/dist/admin/settings/SettingsPanel.d.ts +3 -0
- package/dist/admin/settings/SettingsPanel.js +304 -0
- package/dist/admin/settings/SettingsPanel.js.map +1 -0
- package/dist/admin/settings/moduleSettingsForm.d.ts +12 -0
- package/dist/admin/settings/moduleSettingsForm.js +45 -0
- package/dist/admin/settings/moduleSettingsForm.js.map +1 -0
- package/dist/admin/stats/StatsPanel.d.ts +4 -0
- package/dist/admin/stats/StatsPanel.js +80 -0
- package/dist/admin/stats/StatsPanel.js.map +1 -0
- package/dist/admin/ui/ArrayEditor.d.ts +16 -0
- package/dist/admin/ui/ArrayEditor.js +38 -0
- package/dist/admin/ui/ArrayEditor.js.map +1 -0
- package/dist/admin/ui/ConfirmDialog.d.ts +22 -0
- package/dist/admin/ui/ConfirmDialog.js +47 -0
- package/dist/admin/ui/ConfirmDialog.js.map +1 -0
- package/dist/admin/ui/cn.d.ts +3 -0
- package/dist/admin/ui/cn.js +9 -0
- package/dist/admin/ui/cn.js.map +1 -0
- package/dist/admin/ui/dialog.d.ts +9 -0
- package/dist/admin/ui/dialog.js +47 -0
- package/dist/admin/ui/dialog.js.map +1 -0
- package/dist/admin/ui/index.d.ts +7 -0
- package/dist/admin/ui/index.js +29 -0
- package/dist/admin/ui/index.js.map +1 -0
- package/dist/admin/ui/primitives.d.ts +37 -0
- package/dist/admin/ui/primitives.js +137 -0
- package/dist/admin/ui/primitives.js.map +1 -0
- package/dist/admin/ui/select.d.ts +11 -0
- package/dist/admin/ui/select.js +27 -0
- package/dist/admin/ui/select.js.map +1 -0
- package/dist/admin/ui/switch.d.ts +6 -0
- package/dist/admin/ui/switch.js +22 -0
- package/dist/admin/ui/switch.js.map +1 -0
- package/dist/admin/ui/tabs.d.ts +5 -0
- package/dist/admin/ui/tabs.js +36 -0
- package/dist/admin/ui/tabs.js.map +1 -0
- package/dist/admin/ui/toast.d.ts +19 -0
- package/dist/admin/ui/toast.js +24 -0
- package/dist/admin/ui/toast.js.map +1 -0
- package/dist/admin/visual/VisualEditor.d.ts +10 -0
- package/dist/admin/visual/VisualEditor.js +597 -0
- package/dist/admin/visual/VisualEditor.js.map +1 -0
- package/dist/admin/visual/reorder.d.ts +6 -0
- package/dist/admin/visual/reorder.js +12 -0
- package/dist/admin/visual/reorder.js.map +1 -0
- package/dist/admin.css +1 -0
- package/dist/auth/AuthProvider.d.ts +30 -0
- package/dist/auth/AuthProvider.js +110 -0
- package/dist/auth/AuthProvider.js.map +1 -0
- package/dist/auth/LoginForm.d.ts +4 -0
- package/dist/auth/LoginForm.js +122 -0
- package/dist/auth/LoginForm.js.map +1 -0
- package/dist/auth/roles.d.ts +15 -0
- package/dist/auth/roles.js +21 -0
- package/dist/auth/roles.js.map +1 -0
- package/dist/blocks/BlockErrorBoundary.d.ts +32 -0
- package/dist/blocks/BlockErrorBoundary.js +39 -0
- package/dist/blocks/BlockErrorBoundary.js.map +1 -0
- package/dist/blocks/BlockRenderer.d.ts +15 -0
- package/dist/blocks/BlockRenderer.js +24 -0
- package/dist/blocks/BlockRenderer.js.map +1 -0
- package/dist/blocks/blockStyle.d.ts +14 -0
- package/dist/blocks/blockStyle.js +14 -0
- package/dist/blocks/blockStyle.js.map +1 -0
- package/dist/blocks/builtins/Accordion.d.ts +2 -0
- package/dist/blocks/builtins/Accordion.js +45 -0
- package/dist/blocks/builtins/Accordion.js.map +1 -0
- package/dist/blocks/builtins/Agenda.d.ts +23 -0
- package/dist/blocks/builtins/Agenda.js +102 -0
- package/dist/blocks/builtins/Agenda.js.map +1 -0
- package/dist/blocks/builtins/Banner.d.ts +2 -0
- package/dist/blocks/builtins/Banner.js +45 -0
- package/dist/blocks/builtins/Banner.js.map +1 -0
- package/dist/blocks/builtins/BeforeAfter.d.ts +2 -0
- package/dist/blocks/builtins/BeforeAfter.js +44 -0
- package/dist/blocks/builtins/BeforeAfter.js.map +1 -0
- package/dist/blocks/builtins/Booking.d.ts +2 -0
- package/dist/blocks/builtins/Booking.js +27 -0
- package/dist/blocks/builtins/Booking.js.map +1 -0
- package/dist/blocks/builtins/Breadcrumbs.d.ts +10 -0
- package/dist/blocks/builtins/Breadcrumbs.js +73 -0
- package/dist/blocks/builtins/Breadcrumbs.js.map +1 -0
- package/dist/blocks/builtins/Cards.d.ts +2 -0
- package/dist/blocks/builtins/Cards.js +94 -0
- package/dist/blocks/builtins/Cards.js.map +1 -0
- package/dist/blocks/builtins/Columns.d.ts +2 -0
- package/dist/blocks/builtins/Columns.js +22 -0
- package/dist/blocks/builtins/Columns.js.map +1 -0
- package/dist/blocks/builtins/Contact.d.ts +7 -0
- package/dist/blocks/builtins/Contact.js +121 -0
- package/dist/blocks/builtins/Contact.js.map +1 -0
- package/dist/blocks/builtins/Countdown.d.ts +18 -0
- package/dist/blocks/builtins/Countdown.js +65 -0
- package/dist/blocks/builtins/Countdown.js.map +1 -0
- package/dist/blocks/builtins/Cta.d.ts +2 -0
- package/dist/blocks/builtins/Cta.js +52 -0
- package/dist/blocks/builtins/Cta.js.map +1 -0
- package/dist/blocks/builtins/Downloads.d.ts +2 -0
- package/dist/blocks/builtins/Downloads.js +32 -0
- package/dist/blocks/builtins/Downloads.js.map +1 -0
- package/dist/blocks/builtins/Elements.d.ts +4 -0
- package/dist/blocks/builtins/Elements.js +64 -0
- package/dist/blocks/builtins/Elements.js.map +1 -0
- package/dist/blocks/builtins/Embed.d.ts +2 -0
- package/dist/blocks/builtins/Embed.js +30 -0
- package/dist/blocks/builtins/Embed.js.map +1 -0
- package/dist/blocks/builtins/Faq.d.ts +6 -0
- package/dist/blocks/builtins/Faq.js +110 -0
- package/dist/blocks/builtins/Faq.js.map +1 -0
- package/dist/blocks/builtins/FormBlock.d.ts +2 -0
- package/dist/blocks/builtins/FormBlock.js +221 -0
- package/dist/blocks/builtins/FormBlock.js.map +1 -0
- package/dist/blocks/builtins/Gallery.d.ts +23 -0
- package/dist/blocks/builtins/Gallery.js +177 -0
- package/dist/blocks/builtins/Gallery.js.map +1 -0
- package/dist/blocks/builtins/Hero.d.ts +2 -0
- package/dist/blocks/builtins/Hero.js +47 -0
- package/dist/blocks/builtins/Hero.js.map +1 -0
- package/dist/blocks/builtins/ImageBlock.d.ts +2 -0
- package/dist/blocks/builtins/ImageBlock.js +24 -0
- package/dist/blocks/builtins/ImageBlock.js.map +1 -0
- package/dist/blocks/builtins/Jobs.d.ts +8 -0
- package/dist/blocks/builtins/Jobs.js +65 -0
- package/dist/blocks/builtins/Jobs.js.map +1 -0
- package/dist/blocks/builtins/Layout.d.ts +3 -0
- package/dist/blocks/builtins/Layout.js +67 -0
- package/dist/blocks/builtins/Layout.js.map +1 -0
- package/dist/blocks/builtins/MapBlock.d.ts +2 -0
- package/dist/blocks/builtins/MapBlock.js +31 -0
- package/dist/blocks/builtins/MapBlock.js.map +1 -0
- package/dist/blocks/builtins/NewsListBlock.d.ts +2 -0
- package/dist/blocks/builtins/NewsListBlock.js +24 -0
- package/dist/blocks/builtins/NewsListBlock.js.map +1 -0
- package/dist/blocks/builtins/Newsletter.d.ts +2 -0
- package/dist/blocks/builtins/Newsletter.js +84 -0
- package/dist/blocks/builtins/Newsletter.js.map +1 -0
- package/dist/blocks/builtins/OpenNowBadge.d.ts +9 -0
- package/dist/blocks/builtins/OpenNowBadge.js +20 -0
- package/dist/blocks/builtins/OpenNowBadge.js.map +1 -0
- package/dist/blocks/builtins/OpeningHours.d.ts +2 -0
- package/dist/blocks/builtins/OpeningHours.js +47 -0
- package/dist/blocks/builtins/OpeningHours.js.map +1 -0
- package/dist/blocks/builtins/PdfBlock.d.ts +2 -0
- package/dist/blocks/builtins/PdfBlock.js +97 -0
- package/dist/blocks/builtins/PdfBlock.js.map +1 -0
- package/dist/blocks/builtins/Portfolio.d.ts +2 -0
- package/dist/blocks/builtins/Portfolio.js +94 -0
- package/dist/blocks/builtins/Portfolio.js.map +1 -0
- package/dist/blocks/builtins/Pricing.d.ts +6 -0
- package/dist/blocks/builtins/Pricing.js +77 -0
- package/dist/blocks/builtins/Pricing.js.map +1 -0
- package/dist/blocks/builtins/RichTextBlock.d.ts +2 -0
- package/dist/blocks/builtins/RichTextBlock.js +18 -0
- package/dist/blocks/builtins/RichTextBlock.js.map +1 -0
- package/dist/blocks/builtins/Search.d.ts +2 -0
- package/dist/blocks/builtins/Search.js +99 -0
- package/dist/blocks/builtins/Search.js.map +1 -0
- package/dist/blocks/builtins/Sections.d.ts +5 -0
- package/dist/blocks/builtins/Sections.js +183 -0
- package/dist/blocks/builtins/Sections.js.map +1 -0
- package/dist/blocks/builtins/Slider.d.ts +2 -0
- package/dist/blocks/builtins/Slider.js +131 -0
- package/dist/blocks/builtins/Slider.js.map +1 -0
- package/dist/blocks/builtins/Spacer.d.ts +2 -0
- package/dist/blocks/builtins/Spacer.js +19 -0
- package/dist/blocks/builtins/Spacer.js.map +1 -0
- package/dist/blocks/builtins/Team.d.ts +2 -0
- package/dist/blocks/builtins/Team.js +70 -0
- package/dist/blocks/builtins/Team.js.map +1 -0
- package/dist/blocks/builtins/Testimonials.d.ts +8 -0
- package/dist/blocks/builtins/Testimonials.js +82 -0
- package/dist/blocks/builtins/Testimonials.js.map +1 -0
- package/dist/blocks/builtins/Video.d.ts +9 -0
- package/dist/blocks/builtins/Video.js +77 -0
- package/dist/blocks/builtins/Video.js.map +1 -0
- package/dist/blocks/builtins/WhatsappChat.d.ts +8 -0
- package/dist/blocks/builtins/WhatsappChat.js +51 -0
- package/dist/blocks/builtins/WhatsappChat.js.map +1 -0
- package/dist/blocks/builtins/Widgets.d.ts +13 -0
- package/dist/blocks/builtins/Widgets.js +308 -0
- package/dist/blocks/builtins/Widgets.js.map +1 -0
- package/dist/blocks/builtins/consentEmbed.d.ts +17 -0
- package/dist/blocks/builtins/consentEmbed.js +31 -0
- package/dist/blocks/builtins/consentEmbed.js.map +1 -0
- package/dist/blocks/builtins/index.d.ts +46 -0
- package/dist/blocks/builtins/index.js +121 -0
- package/dist/blocks/builtins/index.js.map +1 -0
- package/dist/blocks/builtins/lib/bookingUrl.d.ts +8 -0
- package/dist/blocks/builtins/lib/bookingUrl.js +50 -0
- package/dist/blocks/builtins/lib/bookingUrl.js.map +1 -0
- package/dist/blocks/builtins/lib/fileIcon.d.ts +2 -0
- package/dist/blocks/builtins/lib/fileIcon.js +45 -0
- package/dist/blocks/builtins/lib/fileIcon.js.map +1 -0
- package/dist/blocks/builtins/lib/ics.d.ts +17 -0
- package/dist/blocks/builtins/lib/ics.js +50 -0
- package/dist/blocks/builtins/lib/ics.js.map +1 -0
- package/dist/blocks/builtins/lib/openingHours.d.ts +20 -0
- package/dist/blocks/builtins/lib/openingHours.js +79 -0
- package/dist/blocks/builtins/lib/openingHours.js.map +1 -0
- package/dist/blocks/builtins/lib/searchRank.d.ts +22 -0
- package/dist/blocks/builtins/lib/searchRank.js +45 -0
- package/dist/blocks/builtins/lib/searchRank.js.map +1 -0
- package/dist/blocks/builtins/lib/submitForm.d.ts +6 -0
- package/dist/blocks/builtins/lib/submitForm.js +14 -0
- package/dist/blocks/builtins/lib/submitForm.js.map +1 -0
- package/dist/blocks/context.d.ts +8 -0
- package/dist/blocks/context.js +20 -0
- package/dist/blocks/context.js.map +1 -0
- package/dist/blocks/index.d.ts +9 -0
- package/dist/blocks/index.js +21 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/registry.d.ts +75 -0
- package/dist/blocks/registry.js +71 -0
- package/dist/blocks/registry.js.map +1 -0
- package/dist/blocks/ui/index.d.ts +35 -0
- package/dist/blocks/ui/index.js +48 -0
- package/dist/blocks/ui/index.js.map +1 -0
- package/dist/components/EditBar.d.ts +2 -0
- package/dist/components/EditBar.js +20 -0
- package/dist/components/EditBar.js.map +1 -0
- package/dist/components/EditableImage.d.ts +18 -0
- package/dist/components/EditableImage.js +62 -0
- package/dist/components/EditableImage.js.map +1 -0
- package/dist/components/EditableRichText.d.ts +14 -0
- package/dist/components/EditableRichText.js +26 -0
- package/dist/components/EditableRichText.js.map +1 -0
- package/dist/components/EditableText.d.ts +21 -0
- package/dist/components/EditableText.js +25 -0
- package/dist/components/EditableText.js.map +1 -0
- package/dist/components/News.d.ts +38 -0
- package/dist/components/News.js +128 -0
- package/dist/components/News.js.map +1 -0
- package/dist/components/PageView.d.ts +8 -0
- package/dist/components/PageView.js +28 -0
- package/dist/components/PageView.js.map +1 -0
- package/dist/components/ResponsiveImage.d.ts +16 -0
- package/dist/components/ResponsiveImage.js +39 -0
- package/dist/components/ResponsiveImage.js.map +1 -0
- package/dist/components/site/SiteFooter.d.ts +12 -0
- package/dist/components/site/SiteFooter.js +34 -0
- package/dist/components/site/SiteFooter.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/content/ContentProvider.d.ts +23 -0
- package/dist/content/ContentProvider.js +86 -0
- package/dist/content/ContentProvider.js.map +1 -0
- package/dist/content/types.d.ts +41 -0
- package/dist/content/types.js +1 -0
- package/dist/content/types.js.map +1 -0
- package/dist/demo/DemoStudio.d.ts +7 -0
- package/dist/demo/DemoStudio.js +54 -0
- package/dist/demo/DemoStudio.js.map +1 -0
- package/dist/demo/demoStore.d.ts +26 -0
- package/dist/demo/demoStore.js +115 -0
- package/dist/demo/demoStore.js.map +1 -0
- package/dist/editor/EditorProvider.d.ts +12 -0
- package/dist/editor/EditorProvider.js +22 -0
- package/dist/editor/EditorProvider.js.map +1 -0
- package/dist/firebase/admin.d.ts +7 -0
- package/dist/firebase/admin.js +31 -0
- package/dist/firebase/admin.js.map +1 -0
- package/dist/firebase/appcheck.d.ts +6 -0
- package/dist/firebase/appcheck.js +23 -0
- package/dist/firebase/appcheck.js.map +1 -0
- package/dist/firebase/client.d.ts +9 -0
- package/dist/firebase/client.js +44 -0
- package/dist/firebase/client.js.map +1 -0
- package/dist/firebase/region.d.ts +5 -0
- package/dist/firebase/region.js +7 -0
- package/dist/firebase/region.js.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.js +172 -0
- package/dist/index.js.map +1 -0
- package/dist/layers.css +13 -0
- package/dist/lock/DemoLock.d.ts +5 -0
- package/dist/lock/DemoLock.js +35 -0
- package/dist/lock/DemoLock.js.map +1 -0
- package/dist/media/ImageContext.d.ts +41 -0
- package/dist/media/ImageContext.js +74 -0
- package/dist/media/ImageContext.js.map +1 -0
- package/dist/modules/builtins.d.ts +46 -0
- package/dist/modules/builtins.js +462 -0
- package/dist/modules/builtins.js.map +1 -0
- package/dist/modules/consent/ConsentBanner.d.ts +42 -0
- package/dist/modules/consent/ConsentBanner.js +119 -0
- package/dist/modules/consent/ConsentBanner.js.map +1 -0
- package/dist/modules/consent/useConsent.d.ts +28 -0
- package/dist/modules/consent/useConsent.js +52 -0
- package/dist/modules/consent/useConsent.js.map +1 -0
- package/dist/modules/context.d.ts +20 -0
- package/dist/modules/context.js +31 -0
- package/dist/modules/context.js.map +1 -0
- package/dist/modules/contract.d.ts +9 -0
- package/dist/modules/contract.js +38 -0
- package/dist/modules/contract.js.map +1 -0
- package/dist/modules/defineModule.d.ts +11 -0
- package/dist/modules/defineModule.js +7 -0
- package/dist/modules/defineModule.js.map +1 -0
- package/dist/modules/index.d.ts +13 -0
- package/dist/modules/index.js +44 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/overrides.d.ts +17 -0
- package/dist/modules/overrides.js +25 -0
- package/dist/modules/overrides.js.map +1 -0
- package/dist/modules/registry.d.ts +40 -0
- package/dist/modules/registry.js +79 -0
- package/dist/modules/registry.js.map +1 -0
- package/dist/modules/types.d.ts +66 -0
- package/dist/modules/types.js +1 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/patterns/builtins.d.ts +31 -0
- package/dist/patterns/builtins.js +415 -0
- package/dist/patterns/builtins.js.map +1 -0
- package/dist/patterns/index.d.ts +6 -0
- package/dist/patterns/index.js +9 -0
- package/dist/patterns/index.js.map +1 -0
- package/dist/patterns/patterns.d.ts +28 -0
- package/dist/patterns/patterns.js +53 -0
- package/dist/patterns/patterns.js.map +1 -0
- package/dist/render/PageRenderer.d.ts +13 -0
- package/dist/render/PageRenderer.js +14 -0
- package/dist/render/PageRenderer.js.map +1 -0
- package/dist/render/PublishedPage.d.ts +13 -0
- package/dist/render/PublishedPage.js +16 -0
- package/dist/render/PublishedPage.js.map +1 -0
- package/dist/schema/blocks.d.ts +15052 -0
- package/dist/schema/blocks.js +794 -0
- package/dist/schema/blocks.js.map +1 -0
- package/dist/schema/forms.d.ts +111 -0
- package/dist/schema/forms.js +47 -0
- package/dist/schema/forms.js.map +1 -0
- package/dist/schema/index.d.ts +11 -0
- package/dist/schema/index.js +16 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/pages.d.ts +674 -0
- package/dist/schema/pages.js +37 -0
- package/dist/schema/pages.js.map +1 -0
- package/dist/schema/seo.d.ts +29 -0
- package/dist/schema/seo.js +17 -0
- package/dist/schema/seo.js.map +1 -0
- package/dist/schema/settings.d.ts +1126 -0
- package/dist/schema/settings.js +128 -0
- package/dist/schema/settings.js.map +1 -0
- package/dist/schema/siteConfig.d.ts +722 -0
- package/dist/schema/siteConfig.js +39 -0
- package/dist/schema/siteConfig.js.map +1 -0
- package/dist/server/env.d.ts +10 -0
- package/dist/server/env.js +36 -0
- package/dist/server/env.js.map +1 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.js +51 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/pages.d.ts +15 -0
- package/dist/server/pages.js +99 -0
- package/dist/server/pages.js.map +1 -0
- package/dist/server/sanitize.d.ts +2 -0
- package/dist/server/sanitize.js +55 -0
- package/dist/server/sanitize.js.map +1 -0
- package/dist/server/seo.d.ts +116 -0
- package/dist/server/seo.js +179 -0
- package/dist/server/seo.js.map +1 -0
- package/dist/settings/useSiteSettings.d.ts +25 -0
- package/dist/settings/useSiteSettings.js +68 -0
- package/dist/settings/useSiteSettings.js.map +1 -0
- package/dist/styles.css +2495 -0
- package/dist/theme/presets.d.ts +12 -0
- package/dist/theme/presets.js +147 -0
- package/dist/theme/presets.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/patterns/builtins.ts"],"sourcesContent":["import { definePattern, type Pattern } from \"./patterns\";\n\n/**\n * Ingebouwde patronen — opgebouwd uit standaard-aanwezige blocks (content + galerij/faq/prijzen)\n * zodat ze altijd renderen, ongeacht welke opt-in modules aanstaan. Een agent of editor voegt ze in\n * als startpunt en past de inhoud aan.\n */\n\nexport const heroCentered = definePattern({\n id: \"hero-centered\",\n label: \"Hero (gecentreerd, met knoppen)\",\n category: \"Hero\",\n blocks: [\n {\n _type: \"hero\",\n title: \"Een krachtige kop die overtuigt\",\n subtitle: \"Een korte ondertitel die in één zin uitlegt wat je doet.\",\n align: \"center\",\n vAlign: \"center\",\n minHeight: \"lg\",\n overlayColor: \"#000000\",\n overlayOpacity: 35,\n buttons: [\n { label: \"Aan de slag\", href: \"#contact\", variant: \"primary\" },\n { label: \"Meer weten\", href: \"#over\", variant: \"outline\" },\n ],\n },\n ],\n});\n\nexport const featuresThree = definePattern({\n id: \"features-three\",\n label: \"Drie kenmerken\",\n category: \"Kenmerken\",\n blocks: [\n { _type: \"richText\", html: \"<h2>Waarom kiezen voor ons</h2>\", _style: { align: \"center\", paddingY: \"sm\" } },\n {\n _type: \"columns\",\n _style: { paddingY: \"md\" },\n columns: [\n { blocks: [{ _type: \"richText\", html: \"<h3>⚡ Snel</h3><p>Korte uitleg van dit voordeel voor de klant.</p>\" }] },\n { blocks: [{ _type: \"richText\", html: \"<h3>🔒 Betrouwbaar</h3><p>Korte uitleg van dit voordeel voor de klant.</p>\" }] },\n { blocks: [{ _type: \"richText\", html: \"<h3>💬 Persoonlijk</h3><p>Korte uitleg van dit voordeel voor de klant.</p>\" }] },\n ],\n },\n ],\n});\n\nexport const aboutImageText = definePattern({\n id: \"about-image-text\",\n label: \"Over ons (beeld + tekst)\",\n category: \"Over\",\n blocks: [\n {\n _type: \"columns\",\n _style: { paddingY: \"md\" },\n columns: [\n { blocks: [{ _type: \"image\", url: \"\", alt: \"\", aspectRatio: \"4/3\" }] },\n { blocks: [{ _type: \"richText\", html: \"<h2>Over ons</h2><p>Vertel hier kort het verhaal van het bedrijf: wie je bent, wat je doet en waarom.</p>\" }, { _type: \"buttons\", align: \"left\", items: [{ label: \"Lees meer\", href: \"/over\", variant: \"primary\" }] }] },\n ],\n },\n ],\n});\n\nexport const ctaBanner = definePattern({\n id: \"cta-banner\",\n label: \"Oproep tot actie (banner)\",\n category: \"CTA\",\n blocks: [\n {\n _type: \"cta\",\n title: \"Klaar om te beginnen?\",\n text: \"Neem vandaag nog contact op voor een vrijblijvend gesprek.\",\n buttonLabel: \"Neem contact op\",\n buttonHref: \"#contact\",\n buttonVariant: \"primary\",\n _style: { background: \"#0f172a\", paddingY: \"lg\", align: \"center\" },\n },\n ],\n});\n\nexport const pricingThree = definePattern({\n id: \"pricing-three\",\n label: \"Prijzen (3 pakketten)\",\n category: \"Prijzen\",\n blocks: [\n {\n _type: \"pricing\",\n heading: \"Onze pakketten\",\n _style: { paddingY: \"md\" },\n items: [\n { label: \"Start\", price: \"€ 29\", billingPeriod: \"/maand\", features: [\"Basis-functies\", \"E-mailsupport\"], ctaLabel: \"Kies Start\", ctaHref: \"#contact\" },\n { label: \"Pro\", price: \"€ 59\", billingPeriod: \"/maand\", highlighted: true, features: [\"Alles uit Start\", \"Prioriteit-support\", \"Extra opties\"], ctaLabel: \"Kies Pro\", ctaHref: \"#contact\" },\n { label: \"Zakelijk\", price: \"Op maat\", features: [\"Alles uit Pro\", \"Persoonlijke begeleiding\"], ctaLabel: \"Neem contact op\", ctaHref: \"#contact\" },\n ],\n },\n ],\n});\n\nexport const faqSection = definePattern({\n id: \"faq-section\",\n label: \"Veelgestelde vragen\",\n category: \"FAQ\",\n blocks: [\n {\n _type: \"faq\",\n heading: \"Veelgestelde vragen\",\n searchable: true,\n jsonLd: true,\n _style: { paddingY: \"md\", width: \"narrow\" },\n items: [\n { q: \"Hoe werkt het?\", a: \"Beschrijf hier het antwoord.\" },\n { q: \"Wat kost het?\", a: \"Beschrijf hier het antwoord.\" },\n { q: \"Hoe neem ik contact op?\", a: \"Beschrijf hier het antwoord.\" },\n ],\n },\n ],\n});\n\nexport const gallerySection = definePattern({\n id: \"gallery-section\",\n label: \"Fotogalerij\",\n category: \"Media\",\n blocks: [\n { _type: \"richText\", html: \"<h2>In beeld</h2>\", _style: { align: \"center\", paddingY: \"sm\" } },\n { _type: \"gallery\", items: [], columns: 3, lightbox: \"on\", _style: { paddingY: \"sm\" } },\n ],\n});\n\nexport const quoteSection = definePattern({\n id: \"quote-section\",\n label: \"Uitspraak (uitgelicht)\",\n category: \"Social proof\",\n blocks: [\n {\n _type: \"quote\",\n text: \"“Dit team heeft ons echt geholpen — aanrader!”\",\n author: \"Tevreden klant\",\n role: \"Bedrijfsnaam\",\n _style: { paddingY: \"lg\", width: \"narrow\", align: \"center\" },\n },\n ],\n});\n\nexport const contentWithSidebar = definePattern({\n id: \"content-with-sidebar\",\n label: \"Inhoud met zijbalk (widgets)\",\n category: \"Indeling\",\n description: \"Brede tekstkolom met een zijbalk vol widgets (laatste nieuws + call-to-action).\",\n blocks: [\n {\n _type: \"withSidebar\",\n side: \"right\",\n sidebarWidth: \"md\",\n sticky: true,\n _style: { paddingY: \"md\" },\n main: [\n { _type: \"richText\", html: \"<h2>Welkom</h2><p>Plaats hier je hoofdinhoud. In de zijbalk hiernaast tonen widgets automatisch je laatste nieuws en een oproep tot actie — die haal je zo uit dezelfde modules.</p>\" },\n ],\n aside: [\n { _type: \"newsWidget\", heading: \"Laatste nieuws\", limit: 4, basePath: \"/nieuws\", showImages: false },\n { _type: \"ctaWidget\", title: \"Vragen?\", text: \"Neem gerust contact op.\", buttonLabel: \"Contact\", buttonHref: \"#contact\" },\n ],\n },\n ],\n});\n\nexport const featuresCards = definePattern({\n id: \"features-cards\",\n label: \"Drie diensten (kaarten)\",\n category: \"Kenmerken\",\n description: \"Moderne diensten-kaarten met iconen en hover-effect (cards-module).\",\n blocks: [\n {\n _type: \"cards\",\n heading: \"Wat we doen\",\n columns: 3,\n _style: { paddingY: \"md\" },\n items: [\n { icon: \"⚡\", title: \"Dienst één\", text: \"Korte uitleg van deze dienst en het voordeel voor de klant.\" },\n { icon: \"🛠️\", title: \"Dienst twee\", text: \"Korte uitleg van deze dienst en het voordeel voor de klant.\" },\n { icon: \"💬\", title: \"Dienst drie\", text: \"Korte uitleg van deze dienst en het voordeel voor de klant.\", href: \"#contact\", linkLabel: \"Meer weten\" },\n ],\n },\n ],\n});\n\nexport const testimonialsSection = definePattern({\n id: \"testimonials-section\",\n label: \"Klantreviews (3 kaarten)\",\n category: \"Social proof\",\n blocks: [\n {\n _type: \"testimonials\",\n heading: \"Wat klanten zeggen\",\n jsonLd: true,\n _style: { paddingY: \"md\" },\n items: [\n { quote: \"Fantastisch geholpen, snel en vakkundig.\", author: \"Naam klant\", role: \"Plaats\", rating: 5 },\n { quote: \"Duidelijke communicatie en een prachtig resultaat.\", author: \"Naam klant\", role: \"Plaats\", rating: 5 },\n { quote: \"Een aanrader voor iedereen in de regio.\", author: \"Naam klant\", role: \"Plaats\", rating: 4 },\n ],\n },\n ],\n});\n\nexport const teamSection = definePattern({\n id: \"team-section\",\n label: \"Ons team\",\n category: \"Over\",\n blocks: [\n {\n _type: \"team\",\n heading: \"Ons team\",\n _style: { paddingY: \"md\" },\n members: [\n { name: \"Naam\", role: \"Functie\", bio: \"Korte introductie van dit teamlid.\" },\n { name: \"Naam\", role: \"Functie\", bio: \"Korte introductie van dit teamlid.\" },\n { name: \"Naam\", role: \"Functie\", bio: \"Korte introductie van dit teamlid.\" },\n ],\n },\n ],\n});\n\nexport const countersSection = definePattern({\n id: \"counters-section\",\n label: \"Kengetallen (tellers)\",\n category: \"Social proof\",\n blocks: [\n {\n _type: \"counters\",\n _style: { paddingY: \"md\", align: \"center\" },\n items: [\n { value: \"15\", suffix: \"+\", label: \"Jaar ervaring\" },\n { value: \"250\", suffix: \"+\", label: \"Tevreden klanten\" },\n { value: \"4.9\", label: \"Gemiddelde beoordeling\" },\n ],\n },\n ],\n});\n\nexport const logosSection = definePattern({\n id: \"logos-section\",\n label: \"Bekend van (logo-strook)\",\n category: \"Social proof\",\n blocks: [\n { _type: \"logos\", heading: \"Zij gingen je voor\", grayscale: true, items: [], _style: { paddingY: \"sm\" } },\n ],\n});\n\nexport const stepsSection = definePattern({\n id: \"steps-section\",\n label: \"Stappenplan (zo werkt het)\",\n category: \"Kenmerken\",\n blocks: [\n {\n _type: \"timeline\",\n heading: \"Zo werkt het\",\n _style: { paddingY: \"md\", width: \"narrow\" },\n items: [\n { title: \"1. Kennismaking\", text: \"We bespreken je wensen, vrijblijvend.\" },\n { title: \"2. Voorstel\", text: \"Je ontvangt een helder voorstel met vaste prijs.\" },\n { title: \"3. Uitvoering\", text: \"We gaan aan de slag en houden je op de hoogte.\" },\n { title: \"4. Oplevering\", text: \"Klaar — met nazorg en garantie.\" },\n ],\n },\n ],\n});\n\nexport const newsletterSection = definePattern({\n id: \"newsletter-section\",\n label: \"Nieuwsbrief-aanmelding\",\n category: \"CTA\",\n blocks: [\n { _type: \"newsletter\", heading: \"Blijf op de hoogte\", text: \"Ontvang tips en nieuws — max. één mail per maand.\", buttonLabel: \"Aanmelden\", _style: { paddingY: \"md\", width: \"narrow\" } },\n ],\n});\n\nexport const portfolioSection = definePattern({\n id: \"portfolio-section\",\n label: \"Portfolio / projecten\",\n category: \"Media\",\n description: \"Projecten-grid met categorie-filter en lightbox (portfolio-module).\",\n blocks: [\n {\n _type: \"portfolio\",\n heading: \"Ons werk\",\n intro: \"Een greep uit recente projecten.\",\n columns: 3,\n showFilter: true,\n lightbox: true,\n _style: { paddingY: \"md\" },\n items: [\n { imageUrl: \"\", title: \"Project één\", category: \"Categorie A\" },\n { imageUrl: \"\", title: \"Project twee\", category: \"Categorie B\" },\n { imageUrl: \"\", title: \"Project drie\", category: \"Categorie A\" },\n ],\n },\n ],\n});\n\nexport const jobsSection = definePattern({\n id: \"jobs-section\",\n label: \"Vacatures\",\n category: \"Over\",\n description: \"Vacature-overzicht met Google Jobs-JSON-LD (vacatures-module).\",\n blocks: [\n {\n _type: \"jobs\",\n heading: \"Werken bij ons\",\n intro: \"We groeien — kom je het team versterken?\",\n jsonLd: true,\n _style: { paddingY: \"md\", width: \"narrow\" },\n items: [\n { title: \"Functietitel\", employmentType: \"Fulltime\", location: \"Plaats\", description: \"Korte omschrijving van de functie en wat je gaat doen.\" },\n ],\n },\n ],\n});\n\nexport const beforeAfterSection = definePattern({\n id: \"before-after-section\",\n label: \"Voor / na\",\n category: \"Media\",\n description: \"Voor/na-vergelijker met sleepbare scheiding (voor-na-module).\",\n blocks: [\n { _type: \"richText\", html: \"<h2>Het verschil</h2>\", _style: { align: \"center\", paddingY: \"sm\" } },\n { _type: \"beforeAfter\", beforeUrl: \"\", afterUrl: \"\", beforeLabel: \"Voor\", afterLabel: \"Na\", aspectRatio: \"4/3\", _style: { paddingY: \"sm\", width: \"narrow\" } },\n ],\n});\n\n/* ── Pagina-starters: complete pagina's in één klik (daarna inhoud aanpassen) ── */\n\nexport const pageLanding = definePattern({\n id: \"page-landing\",\n label: \"Landingspagina\",\n category: \"Pagina's\",\n description: \"Hero, kenmerken, galerij, review, prijzen, FAQ en een afsluitende CTA.\",\n blocks: [\n ...heroCentered.blocks,\n ...featuresThree.blocks,\n ...gallerySection.blocks,\n ...quoteSection.blocks,\n ...pricingThree.blocks,\n ...faqSection.blocks,\n ...ctaBanner.blocks,\n ],\n});\n\nexport const pageServices = definePattern({\n id: \"page-services\",\n label: \"Dienstenpagina\",\n category: \"Pagina's\",\n description: \"Introductie, drie diensten in kolommen, stappenplan en CTA.\",\n blocks: [\n { _type: \"hero\", title: \"Onze diensten\", subtitle: \"Waar we je mee helpen.\", align: \"center\", vAlign: \"center\", minHeight: \"sm\" },\n { _type: \"richText\", html: \"<p>Korte introductie: voor wie werk je, wat maakt jullie aanpak anders?</p>\", _style: { width: \"narrow\", align: \"center\", paddingY: \"sm\" } },\n ...featuresThree.blocks.slice(1),\n ...stepsSection.blocks,\n ...ctaBanner.blocks,\n ],\n});\n\nexport const pageAbout = definePattern({\n id: \"page-about\",\n label: \"Over ons-pagina\",\n category: \"Pagina's\",\n description: \"Verhaal met beeld, uitgelichte quote en CTA.\",\n blocks: [\n { _type: \"hero\", title: \"Over ons\", subtitle: \"Wie we zijn en waar we voor staan.\", align: \"center\", vAlign: \"center\", minHeight: \"sm\" },\n ...aboutImageText.blocks,\n ...quoteSection.blocks,\n ...ctaBanner.blocks,\n ],\n});\n\nexport const pageContact = definePattern({\n id: \"page-contact\",\n label: \"Contactpagina\",\n category: \"Pagina's\",\n description: \"Contactgegevens naast openingstijden; voeg eventueel je formulier-blok toe.\",\n blocks: [\n { _type: \"hero\", title: \"Contact\", subtitle: \"We horen graag van je.\", align: \"center\", vAlign: \"center\", minHeight: \"sm\" },\n {\n _type: \"columns\",\n _style: { paddingY: \"md\" },\n columns: [\n { blocks: [{ _type: \"richText\", html: \"<h2>Neem contact op</h2><p>Adres, telefoonnummer en e-mailadres — of loop gerust binnen.</p>\" }] },\n { blocks: [{ _type: \"openingHours\", heading: \"Openingstijden\", rows: [{ day: \"Ma–Vr\", hours: \"09:00–17:00\" }, { day: \"Za\", hours: \"10:00–16:00\" }, { day: \"Zo\", hours: \"Gesloten\" }] }] },\n ],\n },\n ...ctaBanner.blocks,\n ],\n});\n\n/** Alle ingebouwde patronen. */\nexport const builtinPatterns: Pattern[] = [\n heroCentered,\n featuresThree,\n featuresCards,\n aboutImageText,\n teamSection,\n ctaBanner,\n newsletterSection,\n pricingThree,\n faqSection,\n gallerySection,\n quoteSection,\n testimonialsSection,\n countersSection,\n logosSection,\n stepsSection,\n portfolioSection,\n jobsSection,\n beforeAfterSection,\n contentWithSidebar,\n pageLanding,\n pageServices,\n pageAbout,\n pageContact,\n];\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @xiwebdesign/xicms-core/patterns — kant-en-klare secties (patronen) als pure data.
|
|
3
|
+
* Een agent of editor voegt ze in om snel een mooie pagina te bouwen.
|
|
4
|
+
*/
|
|
5
|
+
export { definePattern, instantiatePattern, collectPatternTypes, type Pattern, type PatternBlock } from "./patterns";
|
|
6
|
+
export { builtinPatterns } from "./builtins";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { definePattern, instantiatePattern, collectPatternTypes } from "./patterns";
|
|
2
|
+
import { builtinPatterns } from "./builtins";
|
|
3
|
+
export {
|
|
4
|
+
builtinPatterns,
|
|
5
|
+
collectPatternTypes,
|
|
6
|
+
definePattern,
|
|
7
|
+
instantiatePattern
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/patterns/index.ts"],"sourcesContent":["/**\n * @xiwebdesign/xicms-core/patterns — kant-en-klare secties (patronen) als pure data.\n * Een agent of editor voegt ze in om snel een mooie pagina te bouwen.\n */\nexport { definePattern, instantiatePattern, collectPatternTypes, type Pattern, type PatternBlock } from \"./patterns\";\nexport { builtinPatterns } from \"./builtins\";\n"],"mappings":"AAIA,SAAS,eAAe,oBAAoB,2BAA4D;AACxG,SAAS,uBAAuB;","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Patronen (secties): kant-en-klare combinaties van blocks die een editor/agent in één klik invoegt
|
|
3
|
+
* om snel een mooie pagina te bouwen. Een patroon is pure data (geen React) — een lijst blocks met
|
|
4
|
+
* inhoud + optionele `_style`, zónder `_key` (die worden bij invoegen gegenereerd).
|
|
5
|
+
*/
|
|
6
|
+
export interface PatternBlock {
|
|
7
|
+
_type: string;
|
|
8
|
+
[field: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface Pattern {
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
category: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
blocks: PatternBlock[];
|
|
16
|
+
}
|
|
17
|
+
export declare function definePattern(p: Pattern): Pattern;
|
|
18
|
+
/**
|
|
19
|
+
* Alle block-types die een patroon gebruikt, inclusief genest in kolommen/zijbalk/tabbladen.
|
|
20
|
+
* Gebruikt om patronen te verbergen waarvan een benodigde module uitstaat (registry-filter in
|
|
21
|
+
* de "Sectie toevoegen"-kiezer) en door de patroon-tests.
|
|
22
|
+
*/
|
|
23
|
+
export declare function collectPatternTypes(pattern: Pattern): string[];
|
|
24
|
+
/**
|
|
25
|
+
* Maakt een verse blocks-array van een patroon, met nieuwe `_key`s — ook in geneste indelingsblokken
|
|
26
|
+
* (kolommen, "Met zijbalk", tabbladen), zodat patronen met zijbalken/widgets correct invoegen.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instantiatePattern(pattern: Pattern): Array<Record<string, unknown>>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
function definePattern(p) {
|
|
2
|
+
return p;
|
|
3
|
+
}
|
|
4
|
+
function collectPatternTypes(pattern) {
|
|
5
|
+
const types = /* @__PURE__ */ new Set();
|
|
6
|
+
const walk = (b) => {
|
|
7
|
+
types.add(b._type);
|
|
8
|
+
if (b._type === "columns" && Array.isArray(b.columns)) {
|
|
9
|
+
for (const c of b.columns) (c.blocks ?? []).forEach(walk);
|
|
10
|
+
}
|
|
11
|
+
if (b._type === "withSidebar") {
|
|
12
|
+
if (Array.isArray(b.main)) b.main.forEach(walk);
|
|
13
|
+
if (Array.isArray(b.aside)) b.aside.forEach(walk);
|
|
14
|
+
}
|
|
15
|
+
if (b._type === "tabs" && Array.isArray(b.tabs)) {
|
|
16
|
+
for (const t of b.tabs) (t.blocks ?? []).forEach(walk);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
pattern.blocks.forEach(walk);
|
|
20
|
+
return [...types];
|
|
21
|
+
}
|
|
22
|
+
function key() {
|
|
23
|
+
return (globalThis.crypto?.randomUUID?.() ?? `b${Math.random()}`).slice(0, 12);
|
|
24
|
+
}
|
|
25
|
+
function instantiatePattern(pattern) {
|
|
26
|
+
const clone = (b) => {
|
|
27
|
+
const out = { ...b, _key: key() };
|
|
28
|
+
if (b._type === "columns" && Array.isArray(b.columns)) {
|
|
29
|
+
out.columns = b.columns.map((c) => ({
|
|
30
|
+
...c,
|
|
31
|
+
blocks: (c.blocks ?? []).map(clone)
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
if (b._type === "withSidebar") {
|
|
35
|
+
if (Array.isArray(b.main)) out.main = b.main.map(clone);
|
|
36
|
+
if (Array.isArray(b.aside)) out.aside = b.aside.map(clone);
|
|
37
|
+
}
|
|
38
|
+
if (b._type === "tabs" && Array.isArray(b.tabs)) {
|
|
39
|
+
out.tabs = b.tabs.map((t) => ({
|
|
40
|
+
...t,
|
|
41
|
+
blocks: (t.blocks ?? []).map(clone)
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
};
|
|
46
|
+
return pattern.blocks.map(clone);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
collectPatternTypes,
|
|
50
|
+
definePattern,
|
|
51
|
+
instantiatePattern
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/patterns/patterns.ts"],"sourcesContent":["/**\n * Patronen (secties): kant-en-klare combinaties van blocks die een editor/agent in één klik invoegt\n * om snel een mooie pagina te bouwen. Een patroon is pure data (geen React) — een lijst blocks met\n * inhoud + optionele `_style`, zónder `_key` (die worden bij invoegen gegenereerd).\n */\nexport interface PatternBlock {\n _type: string;\n [field: string]: unknown;\n}\n\nexport interface Pattern {\n id: string;\n label: string;\n category: string;\n description?: string;\n blocks: PatternBlock[];\n}\n\nexport function definePattern(p: Pattern): Pattern {\n return p;\n}\n\n/**\n * Alle block-types die een patroon gebruikt, inclusief genest in kolommen/zijbalk/tabbladen.\n * Gebruikt om patronen te verbergen waarvan een benodigde module uitstaat (registry-filter in\n * de \"Sectie toevoegen\"-kiezer) en door de patroon-tests.\n */\nexport function collectPatternTypes(pattern: Pattern): string[] {\n const types = new Set<string>();\n const walk = (b: PatternBlock) => {\n types.add(b._type);\n if (b._type === \"columns\" && Array.isArray(b.columns)) {\n for (const c of b.columns as { blocks?: PatternBlock[] }[]) (c.blocks ?? []).forEach(walk);\n }\n if (b._type === \"withSidebar\") {\n if (Array.isArray(b.main)) (b.main as PatternBlock[]).forEach(walk);\n if (Array.isArray(b.aside)) (b.aside as PatternBlock[]).forEach(walk);\n }\n if (b._type === \"tabs\" && Array.isArray(b.tabs)) {\n for (const t of b.tabs as { blocks?: PatternBlock[] }[]) (t.blocks ?? []).forEach(walk);\n }\n };\n pattern.blocks.forEach(walk);\n return [...types];\n}\n\nfunction key(): string {\n return (globalThis.crypto?.randomUUID?.() ?? `b${Math.random()}`).slice(0, 12);\n}\n\n/**\n * Maakt een verse blocks-array van een patroon, met nieuwe `_key`s — ook in geneste indelingsblokken\n * (kolommen, \"Met zijbalk\", tabbladen), zodat patronen met zijbalken/widgets correct invoegen.\n */\nexport function instantiatePattern(pattern: Pattern): Array<Record<string, unknown>> {\n const clone = (b: PatternBlock): Record<string, unknown> => {\n const out: Record<string, unknown> = { ...b, _key: key() };\n if (b._type === \"columns\" && Array.isArray(b.columns)) {\n out.columns = (b.columns as { blocks?: PatternBlock[] }[]).map((c) => ({\n ...c,\n blocks: (c.blocks ?? []).map(clone),\n }));\n }\n if (b._type === \"withSidebar\") {\n if (Array.isArray(b.main)) out.main = (b.main as PatternBlock[]).map(clone);\n if (Array.isArray(b.aside)) out.aside = (b.aside as PatternBlock[]).map(clone);\n }\n if (b._type === \"tabs\" && Array.isArray(b.tabs)) {\n out.tabs = (b.tabs as { label?: string; blocks?: PatternBlock[] }[]).map((t) => ({\n ...t,\n blocks: (t.blocks ?? []).map(clone),\n }));\n }\n return out;\n };\n return pattern.blocks.map(clone);\n}\n"],"mappings":"AAkBO,SAAS,cAAc,GAAqB;AACjD,SAAO;AACT;AAOO,SAAS,oBAAoB,SAA4B;AAC9D,QAAM,QAAQ,oBAAI,IAAY;AAC9B,QAAM,OAAO,CAAC,MAAoB;AAChC,UAAM,IAAI,EAAE,KAAK;AACjB,QAAI,EAAE,UAAU,aAAa,MAAM,QAAQ,EAAE,OAAO,GAAG;AACrD,iBAAW,KAAK,EAAE,QAA0C,EAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,IAAI;AAAA,IAC3F;AACA,QAAI,EAAE,UAAU,eAAe;AAC7B,UAAI,MAAM,QAAQ,EAAE,IAAI,EAAG,CAAC,EAAE,KAAwB,QAAQ,IAAI;AAClE,UAAI,MAAM,QAAQ,EAAE,KAAK,EAAG,CAAC,EAAE,MAAyB,QAAQ,IAAI;AAAA,IACtE;AACA,QAAI,EAAE,UAAU,UAAU,MAAM,QAAQ,EAAE,IAAI,GAAG;AAC/C,iBAAW,KAAK,EAAE,KAAuC,EAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,IAAI;AAAA,IACxF;AAAA,EACF;AACA,UAAQ,OAAO,QAAQ,IAAI;AAC3B,SAAO,CAAC,GAAG,KAAK;AAClB;AAEA,SAAS,MAAc;AACrB,UAAQ,WAAW,QAAQ,aAAa,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,MAAM,GAAG,EAAE;AAC/E;AAMO,SAAS,mBAAmB,SAAkD;AACnF,QAAM,QAAQ,CAAC,MAA6C;AAC1D,UAAM,MAA+B,EAAE,GAAG,GAAG,MAAM,IAAI,EAAE;AACzD,QAAI,EAAE,UAAU,aAAa,MAAM,QAAQ,EAAE,OAAO,GAAG;AACrD,UAAI,UAAW,EAAE,QAA0C,IAAI,CAAC,OAAO;AAAA,QACrE,GAAG;AAAA,QACH,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,KAAK;AAAA,MACpC,EAAE;AAAA,IACJ;AACA,QAAI,EAAE,UAAU,eAAe;AAC7B,UAAI,MAAM,QAAQ,EAAE,IAAI,EAAG,KAAI,OAAQ,EAAE,KAAwB,IAAI,KAAK;AAC1E,UAAI,MAAM,QAAQ,EAAE,KAAK,EAAG,KAAI,QAAS,EAAE,MAAyB,IAAI,KAAK;AAAA,IAC/E;AACA,QAAI,EAAE,UAAU,UAAU,MAAM,QAAQ,EAAE,IAAI,GAAG;AAC/C,UAAI,OAAQ,EAAE,KAAuD,IAAI,CAAC,OAAO;AAAA,QAC/E,GAAG;AAAA,QACH,SAAS,EAAE,UAAU,CAAC,GAAG,IAAI,KAAK;AAAA,MACpC,EAAE;AAAA,IACJ;AACA,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,OAAO,IAAI,KAAK;AACjC;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BlockRegistry } from "../blocks/registry";
|
|
2
|
+
import type { Page } from "../schema/pages";
|
|
3
|
+
/**
|
|
4
|
+
* Rendert een pagina (de blocks). Server-safe: bruikbaar in een RSC catch-all route met een
|
|
5
|
+
* server-opgehaalde pagina, of met een statisch pagina-object (bv. de demo zonder Firebase).
|
|
6
|
+
* Geef de registry expliciet mee.
|
|
7
|
+
*/
|
|
8
|
+
export declare function PageRenderer({ page, registry, siteId, mode, }: {
|
|
9
|
+
page: Pick<Page, "blocks">;
|
|
10
|
+
registry: BlockRegistry;
|
|
11
|
+
siteId: string;
|
|
12
|
+
mode?: "view" | "preview";
|
|
13
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { BlockRenderer } from "../blocks/BlockRenderer";
|
|
3
|
+
function PageRenderer({
|
|
4
|
+
page,
|
|
5
|
+
registry,
|
|
6
|
+
siteId,
|
|
7
|
+
mode = "view"
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(BlockRenderer, { blocks: page.blocks, registry, siteId, mode });
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
PageRenderer
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=PageRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/render/PageRenderer.tsx"],"sourcesContent":["import { BlockRenderer } from \"../blocks/BlockRenderer\";\nimport type { BlockRegistry } from \"../blocks/registry\";\nimport type { Page } from \"../schema/pages\";\n\n/**\n * Rendert een pagina (de blocks). Server-safe: bruikbaar in een RSC catch-all route met een\n * server-opgehaalde pagina, of met een statisch pagina-object (bv. de demo zonder Firebase).\n * Geef de registry expliciet mee.\n */\nexport function PageRenderer({\n page,\n registry,\n siteId,\n mode = \"view\",\n}: {\n page: Pick<Page, \"blocks\">;\n registry: BlockRegistry;\n siteId: string;\n mode?: \"view\" | \"preview\";\n}) {\n return <BlockRenderer blocks={page.blocks} registry={registry} siteId={siteId} mode={mode} />;\n}\n"],"mappings":"AAoBS;AApBT,SAAS,qBAAqB;AASvB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,GAKG;AACD,SAAO,oBAAC,iBAAc,QAAQ,KAAK,QAAQ,UAAoB,QAAgB,MAAY;AAC7F;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Page } from "../schema/pages";
|
|
2
|
+
/**
|
|
3
|
+
* Rendert een (gepubliceerde) pagina via de **context-registry** (module-resolved, opgebouwd in
|
|
4
|
+
* XiCMSProvider). Gebruik dit i.p.v. zelf `createRegistry([...builtinBlocks])` server-side te bouwen:
|
|
5
|
+
* sinds de blokken op Astryx draaien zijn de meeste `"use client"`, en een server-opgebouwde registry
|
|
6
|
+
* krijgt daar alleen opake client-referenties van → die blokken worden stil overgeslagen. Deze client-
|
|
7
|
+
* component zit binnen de provider en heeft dus de volledige registry.
|
|
8
|
+
*/
|
|
9
|
+
export declare function PublishedPage({ page, siteId, mode, }: {
|
|
10
|
+
page: Pick<Page, "blocks">;
|
|
11
|
+
siteId: string;
|
|
12
|
+
mode?: "view" | "preview";
|
|
13
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { PageRenderer } from "./PageRenderer";
|
|
4
|
+
import { useRegistry } from "../blocks/context";
|
|
5
|
+
function PublishedPage({
|
|
6
|
+
page,
|
|
7
|
+
siteId,
|
|
8
|
+
mode = "view"
|
|
9
|
+
}) {
|
|
10
|
+
const registry = useRegistry();
|
|
11
|
+
return /* @__PURE__ */ jsx(PageRenderer, { page, registry, siteId, mode });
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
PublishedPage
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=PublishedPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/render/PublishedPage.tsx"],"sourcesContent":["\"use client\";\n\nimport { PageRenderer } from \"./PageRenderer\";\nimport { useRegistry } from \"../blocks/context\";\nimport type { Page } from \"../schema/pages\";\n\n/**\n * Rendert een (gepubliceerde) pagina via de **context-registry** (module-resolved, opgebouwd in\n * XiCMSProvider). Gebruik dit i.p.v. zelf `createRegistry([...builtinBlocks])` server-side te bouwen:\n * sinds de blokken op Astryx draaien zijn de meeste `\"use client\"`, en een server-opgebouwde registry\n * krijgt daar alleen opake client-referenties van → die blokken worden stil overgeslagen. Deze client-\n * component zit binnen de provider en heeft dus de volledige registry.\n */\nexport function PublishedPage({\n page,\n siteId,\n mode = \"view\",\n}: {\n page: Pick<Page, \"blocks\">;\n siteId: string;\n mode?: \"view\" | \"preview\";\n}) {\n const registry = useRegistry();\n return <PageRenderer page={page} registry={registry} siteId={siteId} mode={mode} />;\n}\n"],"mappings":";AAuBS;AArBT,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAUrB,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,OAAO;AACT,GAIG;AACD,QAAM,WAAW,YAAY;AAC7B,SAAO,oBAAC,gBAAa,MAAY,UAAoB,QAAgB,MAAY;AACnF;","names":[]}
|