@xiwebdesign/xicms-core 6.5.0 → 7.1.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/dist/SiteChrome.d.ts +12 -0
- package/dist/SiteChrome.js +24 -0
- package/dist/SiteChrome.js.map +1 -0
- package/dist/XiCMSProvider.d.ts +16 -8
- package/dist/XiCMSProvider.js +90 -61
- package/dist/XiCMSProvider.js.map +1 -1
- package/dist/admin/AdminApp.d.ts +1 -1
- package/dist/admin/AdminApp.js +81 -35
- package/dist/admin/AdminApp.js.map +1 -1
- package/dist/admin/AdminHelp.d.ts +8 -1
- package/dist/admin/AdminHelp.js +2 -2
- package/dist/admin/AdminHelp.js.map +1 -1
- package/dist/admin/CoreVersion.d.ts +13 -0
- package/dist/admin/CoreVersion.js +38 -0
- package/dist/admin/CoreVersion.js.map +1 -0
- package/dist/admin/NewsEditor.js +9 -9
- package/dist/admin/SuperadminPanel.js +5 -5
- package/dist/admin/blockEditors/GenericEditor.d.ts +2 -2
- package/dist/admin/blockEditors/GenericEditor.js +12 -11
- package/dist/admin/blockEditors/GenericEditor.js.map +1 -1
- package/dist/admin/blockEditors/StyleEditor.d.ts +1 -1
- package/dist/admin/blockEditors/StyleEditor.js +2 -2
- package/dist/admin/blockEditors/SymbolRefEditor.d.ts +1 -1
- package/dist/admin/blockEditors/SymbolRefEditor.js +5 -5
- package/dist/admin/blockEditors/index.d.ts +1 -1
- package/dist/admin/blockEditors/index.js +10 -10
- package/dist/admin/customBlocks/CustomBlocksPanel.js +7 -7
- package/dist/admin/editors/RichTextEditor.js +8 -7
- package/dist/admin/editors/RichTextEditor.js.map +1 -1
- package/dist/admin/editors/fontSizeExtension.js +1 -1
- package/dist/admin/editors/fontSizeExtension.js.map +1 -1
- package/dist/admin/forms/FormsPanel.js +9 -9
- package/dist/admin/index.d.ts +16 -16
- package/dist/admin/index.js +16 -16
- package/dist/admin/lib/mediaUsage.js +1 -1
- package/dist/admin/lib/pagesClient.d.ts +1 -1
- package/dist/admin/lib/pagesClient.js +11 -7
- package/dist/admin/lib/pagesClient.js.map +1 -1
- package/dist/admin/lib/sanitizeDraft.d.ts +9 -0
- package/dist/admin/lib/sanitizeDraft.js +28 -0
- package/dist/admin/lib/sanitizeDraft.js.map +1 -0
- package/dist/admin/lib/symbolsClient.d.ts +1 -1
- package/dist/admin/lib/symbolsClient.js +3 -3
- package/dist/admin/lib/upload.js +3 -3
- package/dist/admin/lib/useNestedDialog.d.ts +15 -0
- package/dist/admin/lib/useNestedDialog.js +23 -0
- package/dist/admin/lib/useNestedDialog.js.map +1 -0
- package/dist/admin/lib/zodFields.d.ts +4 -18
- package/dist/admin/lib/zodFields.js +54 -35
- package/dist/admin/lib/zodFields.js.map +1 -1
- package/dist/admin/media/MediaManager.js +7 -7
- package/dist/admin/media/MediaPicker.js +7 -7
- package/dist/admin/media/MediaPicker.js.map +1 -1
- package/dist/admin/pages/PageEditor.d.ts +1 -1
- package/dist/admin/pages/PageEditor.js +13 -13
- package/dist/admin/pages/PagesPanel.js +30 -30
- package/dist/admin/pages/PagesPanel.js.map +1 -1
- package/dist/admin/panelRegistry.js +7 -7
- package/dist/admin/patterns/PatternInserter.d.ts +1 -1
- package/dist/admin/patterns/PatternInserter.js +5 -5
- package/dist/admin/patterns/PatternInserter.js.map +1 -1
- package/dist/admin/settings/MailSettings.js +5 -5
- package/dist/admin/settings/MailTemplates.d.ts +1 -1
- package/dist/admin/settings/MailTemplates.js +5 -5
- package/dist/admin/settings/SettingsPanel.js +66 -20
- package/dist/admin/settings/SettingsPanel.js.map +1 -1
- package/dist/admin/settings/SnapshotsCard.js +5 -5
- package/dist/admin/settings/moduleSettingsForm.d.ts +1 -1
- package/dist/admin/settings/moduleSettingsForm.js +4 -4
- package/dist/admin/settings/moduleSettingsForm.js.map +1 -1
- package/dist/admin/shop/CategoriesTab.js +8 -8
- package/dist/admin/shop/ConnectionsTab.js +3 -3
- package/dist/admin/shop/DiscountsTab.js +8 -8
- package/dist/admin/shop/OrdersTab.js +10 -10
- package/dist/admin/shop/OrdersTab.js.map +1 -1
- package/dist/admin/shop/ProductsTab.js +10 -10
- package/dist/admin/shop/ShopPanel.js +9 -9
- package/dist/admin/shop/ShopSettingsTab.js +4 -4
- package/dist/admin/shop/index.d.ts +2 -2
- package/dist/admin/shop/index.js +2 -2
- package/dist/admin/shop/lib.js +2 -2
- package/dist/admin/stats/StatsPanel.js +2 -2
- package/dist/admin/ui/ArrayEditor.js +1 -1
- package/dist/admin/ui/PanelIcon.d.ts +3 -0
- package/dist/admin/ui/PanelIcon.js +34 -0
- package/dist/admin/ui/PanelIcon.js.map +1 -0
- package/dist/admin/ui/dialog.d.ts +21 -6
- package/dist/admin/ui/dialog.js +55 -34
- package/dist/admin/ui/dialog.js.map +1 -1
- package/dist/admin/ui/index.d.ts +7 -7
- package/dist/admin/ui/index.js +7 -7
- package/dist/admin/ui/primitives.js +1 -1
- package/dist/admin/ui/tabs.js +1 -1
- package/dist/admin/visual/TranslationPanel.d.ts +1 -1
- package/dist/admin/visual/TranslationPanel.js +3 -3
- package/dist/admin/visual/VisualEditor.js +47 -25
- package/dist/admin/visual/VisualEditor.js.map +1 -1
- package/dist/admin.css +2 -1
- package/dist/agentFiles/catalog.d.ts +2 -2
- package/dist/agentFiles/catalog.js +6 -5
- package/dist/agentFiles/catalog.js.map +1 -1
- package/dist/agentFiles/files.d.ts +5 -5
- package/dist/agentFiles/files.js +17 -17
- package/dist/agentFiles/files.js.map +1 -1
- package/dist/all.d.ts +4 -4
- package/dist/all.js +6 -6
- package/dist/auth/AuthProvider.d.ts +2 -2
- package/dist/auth/AuthProvider.js +51 -28
- package/dist/auth/AuthProvider.js.map +1 -1
- package/dist/auth/LoginForm.js +1 -1
- package/dist/auth/roles.js +4 -1
- package/dist/auth/roles.js.map +1 -1
- package/dist/blocks/BlockRenderer.d.ts +1 -1
- package/dist/blocks/BlockRenderer.js +3 -3
- package/dist/blocks/blockStyle.d.ts +1 -1
- package/dist/blocks/builtins/Accordion.d.ts +1 -1
- package/dist/blocks/builtins/Accordion.js +13 -6
- package/dist/blocks/builtins/Accordion.js.map +1 -1
- package/dist/blocks/builtins/Agenda.d.ts +1 -1
- package/dist/blocks/builtins/Agenda.js +5 -5
- package/dist/blocks/builtins/Banner.d.ts +1 -1
- package/dist/blocks/builtins/Banner.js +2 -2
- package/dist/blocks/builtins/BeforeAfter.d.ts +1 -1
- package/dist/blocks/builtins/BeforeAfter.js +4 -4
- package/dist/blocks/builtins/BeforeAfter.js.map +1 -1
- package/dist/blocks/builtins/Booking.d.ts +1 -1
- package/dist/blocks/builtins/Booking.js +5 -5
- package/dist/blocks/builtins/Breadcrumbs.d.ts +1 -1
- package/dist/blocks/builtins/Breadcrumbs.js +3 -3
- package/dist/blocks/builtins/Cards.d.ts +1 -1
- package/dist/blocks/builtins/Cards.js +5 -5
- package/dist/blocks/builtins/Cards.js.map +1 -1
- package/dist/blocks/builtins/Columns.d.ts +1 -1
- package/dist/blocks/builtins/Columns.js +4 -4
- package/dist/blocks/builtins/Contact.d.ts +3 -3
- package/dist/blocks/builtins/Contact.js +4 -4
- package/dist/blocks/builtins/Countdown.d.ts +1 -1
- package/dist/blocks/builtins/Countdown.js +4 -4
- package/dist/blocks/builtins/Countdown.js.map +1 -1
- package/dist/blocks/builtins/Cta.d.ts +1 -1
- package/dist/blocks/builtins/Cta.js +3 -3
- package/dist/blocks/builtins/Downloads.d.ts +1 -1
- package/dist/blocks/builtins/Downloads.js +4 -4
- package/dist/blocks/builtins/Elements.d.ts +3 -3
- package/dist/blocks/builtins/Elements.js +3 -3
- package/dist/blocks/builtins/Embed.d.ts +1 -1
- package/dist/blocks/builtins/Embed.js +3 -3
- package/dist/blocks/builtins/Faq.d.ts +1 -1
- package/dist/blocks/builtins/Faq.js +14 -6
- package/dist/blocks/builtins/Faq.js.map +1 -1
- package/dist/blocks/builtins/FormBlock.d.ts +1 -1
- package/dist/blocks/builtins/FormBlock.js +28 -18
- package/dist/blocks/builtins/FormBlock.js.map +1 -1
- package/dist/blocks/builtins/Gallery.d.ts +2 -2
- package/dist/blocks/builtins/Gallery.js +5 -5
- package/dist/blocks/builtins/Hero.d.ts +1 -1
- package/dist/blocks/builtins/Hero.js +4 -4
- package/dist/blocks/builtins/ImageBlock.d.ts +1 -1
- package/dist/blocks/builtins/ImageBlock.js +3 -3
- package/dist/blocks/builtins/Jobs.d.ts +2 -2
- package/dist/blocks/builtins/Jobs.js +5 -5
- package/dist/blocks/builtins/Layout.d.ts +2 -2
- package/dist/blocks/builtins/Layout.js +4 -4
- package/dist/blocks/builtins/MapBlock.d.ts +1 -1
- package/dist/blocks/builtins/MapBlock.js +3 -3
- package/dist/blocks/builtins/NewsListBlock.d.ts +1 -1
- package/dist/blocks/builtins/NewsListBlock.js +4 -4
- package/dist/blocks/builtins/Newsletter.d.ts +1 -1
- package/dist/blocks/builtins/Newsletter.js +7 -7
- package/dist/blocks/builtins/Newsletter.js.map +1 -1
- package/dist/blocks/builtins/OpenNowBadge.d.ts +1 -1
- package/dist/blocks/builtins/OpenNowBadge.js +8 -3
- package/dist/blocks/builtins/OpenNowBadge.js.map +1 -1
- package/dist/blocks/builtins/OpeningHours.d.ts +1 -1
- package/dist/blocks/builtins/OpeningHours.js +6 -6
- package/dist/blocks/builtins/PdfBlock.d.ts +1 -1
- package/dist/blocks/builtins/PdfBlock.js +3 -3
- package/dist/blocks/builtins/Portfolio.d.ts +1 -1
- package/dist/blocks/builtins/Portfolio.js +5 -5
- package/dist/blocks/builtins/Pricing.d.ts +2 -2
- package/dist/blocks/builtins/Pricing.js +5 -5
- package/dist/blocks/builtins/Pricing.js.map +1 -1
- package/dist/blocks/builtins/RichTextBlock.d.ts +1 -1
- package/dist/blocks/builtins/RichTextBlock.js +2 -2
- package/dist/blocks/builtins/RichTextBlock.js.map +1 -1
- package/dist/blocks/builtins/Search.d.ts +1 -1
- package/dist/blocks/builtins/Search.js +9 -7
- package/dist/blocks/builtins/Search.js.map +1 -1
- package/dist/blocks/builtins/Sections.d.ts +4 -4
- package/dist/blocks/builtins/Sections.js +4 -4
- package/dist/blocks/builtins/Slider.d.ts +1 -1
- package/dist/blocks/builtins/Slider.js +3 -3
- package/dist/blocks/builtins/Spacer.d.ts +1 -1
- package/dist/blocks/builtins/Spacer.js +2 -2
- package/dist/blocks/builtins/SymbolRef.d.ts +1 -1
- package/dist/blocks/builtins/SymbolRef.js +31 -17
- package/dist/blocks/builtins/SymbolRef.js.map +1 -1
- package/dist/blocks/builtins/Team.d.ts +1 -1
- package/dist/blocks/builtins/Team.js +4 -4
- package/dist/blocks/builtins/Testimonials.d.ts +2 -2
- package/dist/blocks/builtins/Testimonials.js +4 -4
- package/dist/blocks/builtins/Video.d.ts +2 -2
- package/dist/blocks/builtins/Video.js +4 -4
- package/dist/blocks/builtins/Video.js.map +1 -1
- package/dist/blocks/builtins/WhatsappChat.d.ts +1 -1
- package/dist/blocks/builtins/WhatsappChat.js +2 -2
- package/dist/blocks/builtins/Widgets.d.ts +12 -12
- package/dist/blocks/builtins/Widgets.js +19 -19
- package/dist/blocks/builtins/Widgets.js.map +1 -1
- package/dist/blocks/builtins/consentEmbed.js +2 -2
- package/dist/blocks/builtins/index.d.ts +40 -40
- package/dist/blocks/builtins/index.js +40 -40
- package/dist/blocks/builtins/lib/submitForm.js +5 -3
- package/dist/blocks/builtins/lib/submitForm.js.map +1 -1
- package/dist/blocks/context.d.ts +1 -1
- package/dist/blocks/customTemplate/definition.d.ts +3 -3
- package/dist/blocks/customTemplate/definition.js +6 -6
- package/dist/blocks/customTemplate/definition.js.map +1 -1
- package/dist/blocks/customTemplate/interpret.js +1 -1
- package/dist/blocks/index.d.ts +5 -5
- package/dist/blocks/index.js +5 -5
- package/dist/blocks/registry.d.ts +17 -7
- package/dist/blocks/registry.js +2 -1
- package/dist/blocks/registry.js.map +1 -1
- package/dist/components/EditBar.js +3 -3
- package/dist/components/FeedbackWidget.js +4 -4
- package/dist/components/News.d.ts +1 -1
- package/dist/components/News.js +50 -37
- package/dist/components/News.js.map +1 -1
- package/dist/components/PageView.js +11 -8
- package/dist/components/PageView.js.map +1 -1
- package/dist/components/ResponsiveImage.d.ts +1 -1
- package/dist/components/site/SiteFooter.d.ts +1 -1
- package/dist/components/site/SiteFooter.js +2 -2
- package/dist/config.d.ts +1 -1
- package/dist/demo/DemoStudio.js +3 -3
- package/dist/demo/demoStore.d.ts +3 -3
- package/dist/demo/index.d.ts +2 -2
- package/dist/demo/index.js +2 -2
- package/dist/editor/EditorProvider.js +1 -1
- package/dist/firebase/admin.d.ts +0 -2
- package/dist/firebase/admin.js +0 -6
- package/dist/firebase/admin.js.map +1 -1
- package/dist/firebase/appcheck.d.ts +1 -1
- package/dist/firebase/appcheck.js +5 -3
- package/dist/firebase/appcheck.js.map +1 -1
- package/dist/firebase/client.d.ts +2 -1
- package/dist/firebase/client.js +2 -14
- package/dist/firebase/client.js.map +1 -1
- package/dist/firebase/config.d.ts +31 -0
- package/dist/firebase/config.js +39 -0
- package/dist/firebase/config.js.map +1 -0
- package/dist/firebase/feedback.js +5 -3
- package/dist/firebase/feedback.js.map +1 -1
- package/dist/i18n/overlay.d.ts +2 -2
- package/dist/i18n/overlay.js +6 -4
- package/dist/i18n/overlay.js.map +1 -1
- package/dist/index.d.ts +46 -44
- package/dist/index.js +39 -33
- package/dist/index.js.map +1 -1
- package/dist/lock/DemoLock.js +1 -1
- package/dist/modules/builtins.d.ts +1 -1
- package/dist/modules/builtins.js +53 -55
- package/dist/modules/builtins.js.map +1 -1
- package/dist/modules/consent/ConsentBanner.js +1 -1
- package/dist/modules/consent/useConsent.js +1 -1
- package/dist/modules/context.d.ts +1 -1
- package/dist/modules/contract.d.ts +1 -1
- package/dist/modules/defineModule.d.ts +1 -1
- package/dist/modules/index.d.ts +9 -9
- package/dist/modules/index.js +8 -8
- package/dist/modules/overrides.d.ts +1 -1
- package/dist/modules/registry.d.ts +2 -7
- package/dist/modules/registry.js +2 -1
- package/dist/modules/registry.js.map +1 -1
- package/dist/modules/shop/blocks/Cart.d.ts +1 -1
- package/dist/modules/shop/blocks/Cart.js +6 -6
- package/dist/modules/shop/blocks/Checkout.d.ts +1 -1
- package/dist/modules/shop/blocks/Checkout.js +6 -6
- package/dist/modules/shop/blocks/Donation.d.ts +1 -1
- package/dist/modules/shop/blocks/Donation.js +5 -5
- package/dist/modules/shop/blocks/OrderStatus.d.ts +1 -1
- package/dist/modules/shop/blocks/OrderStatus.js +5 -5
- package/dist/modules/shop/blocks/ProductDetail.d.ts +1 -1
- package/dist/modules/shop/blocks/ProductDetail.js +8 -8
- package/dist/modules/shop/blocks/ProductGrid.d.ts +3 -3
- package/dist/modules/shop/blocks/ProductGrid.js +7 -7
- package/dist/modules/shop/blocks/ShopCategories.d.ts +1 -1
- package/dist/modules/shop/blocks/ShopCategories.js +6 -6
- package/dist/modules/shop/index.d.ts +5 -5
- package/dist/modules/shop/index.js +5 -5
- package/dist/modules/shop/lib.d.ts +2 -2
- package/dist/modules/shop/lib.js +18 -13
- package/dist/modules/shop/lib.js.map +1 -1
- package/dist/modules/shop/module.d.ts +1 -1
- package/dist/modules/shop/module.js +9 -9
- package/dist/modules/shop/settings.d.ts +18 -50
- package/dist/modules/shop/settings.js +16 -16
- package/dist/modules/shop/settings.js.map +1 -1
- package/dist/modules/shop/strings.js +1 -1
- package/dist/modules/shop/types.d.ts +1 -1
- package/dist/modules/types.d.ts +2 -2
- package/dist/patterns/builtins.d.ts +1 -1
- package/dist/patterns/builtins.js +1 -1
- package/dist/patterns/index.d.ts +2 -2
- package/dist/patterns/index.js +2 -2
- package/dist/render/PageRenderer.d.ts +2 -2
- package/dist/render/PageRenderer.js +1 -1
- package/dist/render/PublishedPage.d.ts +1 -1
- package/dist/render/PublishedPage.js +2 -2
- package/dist/schema/blocks.d.ts +6793 -15095
- package/dist/schema/blocks.js +335 -355
- package/dist/schema/blocks.js.map +1 -1
- package/dist/schema/customBlocks.d.ts +10 -29
- package/dist/schema/customBlocks.js +14 -13
- package/dist/schema/customBlocks.js.map +1 -1
- package/dist/schema/fields.d.ts +10 -16
- package/dist/schema/fields.js +37 -37
- package/dist/schema/fields.js.map +1 -1
- package/dist/schema/forms.d.ts +62 -111
- package/dist/schema/forms.js +17 -17
- package/dist/schema/forms.js.map +1 -1
- package/dist/schema/index.d.ts +7 -7
- package/dist/schema/index.js +7 -7
- package/dist/schema/mail.d.ts +39 -87
- package/dist/schema/mail.js +4 -4
- package/dist/schema/mail.js.map +1 -1
- package/dist/schema/pages.d.ts +152 -674
- package/dist/schema/pages.js +26 -15
- package/dist/schema/pages.js.map +1 -1
- package/dist/schema/seo.d.ts +9 -27
- package/dist/schema/seo.js +7 -7
- package/dist/schema/seo.js.map +1 -1
- package/dist/schema/settings.d.ts +233 -1074
- package/dist/schema/settings.js +71 -56
- package/dist/schema/settings.js.map +1 -1
- package/dist/schema/shop.d.ts +470 -1214
- package/dist/schema/shop.js +124 -124
- package/dist/schema/shop.js.map +1 -1
- package/dist/schema/siteConfig.d.ts +78 -597
- package/dist/schema/siteConfig.js +17 -17
- package/dist/schema/siteConfig.js.map +1 -1
- package/dist/schema/symbols.d.ts +34 -191
- package/dist/schema/symbols.js +8 -8
- package/dist/schema/symbols.js.map +1 -1
- package/dist/server/auth.d.ts +17 -0
- package/dist/server/auth.js +11 -0
- package/dist/server/auth.js.map +1 -0
- package/dist/server/bundle.d.ts +15 -6
- package/dist/server/bundle.js +5 -1
- package/dist/server/bundle.js.map +1 -1
- package/dist/server/draft.d.ts +16 -0
- package/dist/server/draft.js +12 -0
- package/dist/server/draft.js.map +1 -0
- package/dist/server/env.js +8 -8
- package/dist/server/env.js.map +1 -1
- package/dist/server/index.d.ts +11 -9
- package/dist/server/index.js +13 -10
- package/dist/server/index.js.map +1 -1
- package/dist/server/pages.d.ts +11 -4
- package/dist/server/pages.js +43 -15
- package/dist/server/pages.js.map +1 -1
- package/dist/server/revalidate.js +11 -2
- package/dist/server/revalidate.js.map +1 -1
- package/dist/server/seo.d.ts +3 -3
- package/dist/server/seo.js +1 -1
- package/dist/server/shop.d.ts +3 -3
- package/dist/server/shop.js +6 -3
- package/dist/server/shop.js.map +1 -1
- package/dist/server/version.d.ts +16 -0
- package/dist/server/version.js +17 -0
- package/dist/server/version.js.map +1 -0
- package/dist/settings/useSiteSettings.d.ts +2 -2
- package/dist/settings/useSiteSettings.js +48 -28
- package/dist/settings/useSiteSettings.js.map +1 -1
- package/dist/styles.css +30 -4
- package/dist/theme/presets.d.ts +1 -1
- package/dist/version.d.ts +8 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/package.json +35 -34
package/dist/schema/pages.js
CHANGED
|
@@ -1,23 +1,34 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { SeoSchema } from "./seo";
|
|
3
|
-
import { BlockBaseSchema } from "./blocks";
|
|
4
|
-
import { TranslationsSchema } from "../i18n/overlay";
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
|
+
import { SeoSchema } from "./seo.js";
|
|
3
|
+
import { BlockBaseSchema } from "./blocks.js";
|
|
4
|
+
import { TranslationsSchema } from "../i18n/overlay.js";
|
|
5
5
|
const PageStatusSchema = z.enum(["draft", "published"]);
|
|
6
6
|
const PageSchema = z.object({
|
|
7
7
|
/** URL-segment binnen de ouder, bv. "over-ons". */
|
|
8
|
-
slug: z.string().
|
|
8
|
+
slug: z.string().check(z.minLength(1)).check(z.maxLength(120)).check(z.regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "slug mag alleen kleine letters, cijfers en koppeltekens bevatten")),
|
|
9
9
|
/** Volledig pad vanaf de root, bv. "/diensten/onderhoud". */
|
|
10
|
-
path: z.string().
|
|
11
|
-
parentId: z.string().
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
path: z.string().check(z.minLength(1)).check(z.maxLength(400)),
|
|
11
|
+
parentId: z._default(z.nullable(z.string().check(z.maxLength(64))), null),
|
|
12
|
+
/**
|
|
13
|
+
* Sorteersleutel binnen de ouder. De bovengrens stond op 100.000, maar `createPage` zet
|
|
14
|
+
* `order: Date.now()` (≈1,79·10¹²) om een nieuwe pagina achteraan te zetten — die twee spraken
|
|
15
|
+
* elkaar tegen. Gevolg: élke via "+ Nieuw" aangemaakte pagina zakte bij het LEZEN door de
|
|
16
|
+
* validatie en werd stil overgeslagen (server/pages.ts), dus onzichtbaar op de publieke site én
|
|
17
|
+
* afwezig in generateStaticParams. Nooit opgevallen omdat bestaande sites hun pagina's uit een
|
|
18
|
+
* gezaaide bundel kregen, met nette kleine ordinalen; gevonden op de staging-deploy van groenhof.
|
|
19
|
+
*
|
|
20
|
+
* De grens is nu MAX_SAFE_INTEGER: `order` is puur een sorteersleutel en draagt geen
|
|
21
|
+
* veiligheidsbetekenis, terwijl een te krappe grens content laat verdwijnen.
|
|
22
|
+
*/
|
|
23
|
+
order: z._default(z.int().check(z.minimum(0)).check(z.maximum(Number.MAX_SAFE_INTEGER)), 0),
|
|
24
|
+
status: z._default(PageStatusSchema, "draft"),
|
|
25
|
+
title: z.string().check(z.minLength(1)).check(z.maxLength(200)),
|
|
26
|
+
seo: z.optional(SeoSchema),
|
|
27
|
+
blocks: z._default(z.array(BlockBaseSchema).check(z.maxLength(200)), []),
|
|
17
28
|
/** Taal-overlay (5.0): per locale gepunte veldpaden → vertaalde tekst (zie i18n/overlay.ts). */
|
|
18
|
-
translations:
|
|
29
|
+
translations: z.optional(TranslationsSchema)
|
|
19
30
|
});
|
|
20
|
-
const PageDraftInputSchema =
|
|
31
|
+
const PageDraftInputSchema = z.pick(PageSchema, {
|
|
21
32
|
slug: true,
|
|
22
33
|
path: true,
|
|
23
34
|
parentId: true,
|
|
@@ -30,7 +41,7 @@ const PageDraftInputSchema = PageSchema.pick({
|
|
|
30
41
|
const PageVersionSchema = z.object({
|
|
31
42
|
snapshot: PageSchema,
|
|
32
43
|
kind: z.enum(["autosave", "publish", "manual"]),
|
|
33
|
-
label: z.string().
|
|
44
|
+
label: z.optional(z.string().check(z.maxLength(200)))
|
|
34
45
|
});
|
|
35
46
|
export {
|
|
36
47
|
PageDraftInputSchema,
|
package/dist/schema/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/pages.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../src/schema/pages.ts"],"sourcesContent":["import * as z from \"zod/mini\";\nimport { SeoSchema } from \"./seo\";\nimport { BlockBaseSchema } from \"./blocks\";\nimport { TranslationsSchema } from \"../i18n/overlay\";\n\nexport const PageStatusSchema = z.enum([\"draft\", \"published\"]);\nexport type PageStatus = z.infer<typeof PageStatusSchema>;\n\n/**\n * Een pagina: metadata + SEO + een lijst blocks. Blocks worden hier los (BlockBaseSchema)\n * gevalideerd; strikte per-type-validatie gebeurt via de registry (`validateBlocks`).\n */\nexport const PageSchema = z.object({\n /** URL-segment binnen de ouder, bv. \"over-ons\". */\n slug: z.string().check(z.minLength(1)).check(z.maxLength(120)).check(z.regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, \"slug mag alleen kleine letters, cijfers en koppeltekens bevatten\")),\n /** Volledig pad vanaf de root, bv. \"/diensten/onderhoud\". */\n path: z.string().check(z.minLength(1)).check(z.maxLength(400)),\n parentId: z._default(z.nullable(z.string().check(z.maxLength(64))), null),\n /**\n * Sorteersleutel binnen de ouder. De bovengrens stond op 100.000, maar `createPage` zet\n * `order: Date.now()` (≈1,79·10¹²) om een nieuwe pagina achteraan te zetten — die twee spraken\n * elkaar tegen. Gevolg: élke via \"+ Nieuw\" aangemaakte pagina zakte bij het LEZEN door de\n * validatie en werd stil overgeslagen (server/pages.ts), dus onzichtbaar op de publieke site én\n * afwezig in generateStaticParams. Nooit opgevallen omdat bestaande sites hun pagina's uit een\n * gezaaide bundel kregen, met nette kleine ordinalen; gevonden op de staging-deploy van groenhof.\n *\n * De grens is nu MAX_SAFE_INTEGER: `order` is puur een sorteersleutel en draagt geen\n * veiligheidsbetekenis, terwijl een te krappe grens content laat verdwijnen.\n */\n order: z._default(z.int().check(z.minimum(0)).check(z.maximum(Number.MAX_SAFE_INTEGER)), 0),\n status: z._default(PageStatusSchema, \"draft\"),\n title: z.string().check(z.minLength(1)).check(z.maxLength(200)),\n seo: z.optional(SeoSchema),\n blocks: z._default(z.array(BlockBaseSchema).check(z.maxLength(200)), []),\n /** Taal-overlay (5.0): per locale gepunte veldpaden → vertaalde tekst (zie i18n/overlay.ts). */\n translations: z.optional(TranslationsSchema),\n});\nexport type Page = z.infer<typeof PageSchema>;\n\n/** Invoer bij het aanmaken/bijwerken van een draft (geen serverside velden). */\nexport const PageDraftInputSchema = z.pick(PageSchema, {\n slug: true,\n path: true,\n parentId: true,\n order: true,\n title: true,\n seo: true,\n blocks: true,\n translations: true,\n});\nexport type PageDraftInput = z.infer<typeof PageDraftInputSchema>;\n\n/** Een versie-snapshot (history). */\nexport const PageVersionSchema = z.object({\n snapshot: PageSchema,\n kind: z.enum([\"autosave\", \"publish\", \"manual\"]),\n label: z.optional(z.string().check(z.maxLength(200))),\n});\nexport type PageVersion = z.infer<typeof PageVersionSchema>;\n"],"mappings":"AAAA,YAAY,OAAO;AACnB,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAE5B,MAAM,mBAAmB,EAAE,KAAK,CAAC,SAAS,WAAW,CAAC;AAOtD,MAAM,aAAa,EAAE,OAAO;AAAA;AAAA,EAEjC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,8BAA8B,kEAAkE,CAAC;AAAA;AAAA,EAE9K,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC;AAAA,EAC7D,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYxE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC;AAAA,EAC1F,QAAQ,EAAE,SAAS,kBAAkB,OAAO;AAAA,EAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC;AAAA,EAC9D,KAAK,EAAE,SAAS,SAAS;AAAA,EACzB,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAAA;AAAA,EAEvE,cAAc,EAAE,SAAS,kBAAkB;AAC7C,CAAC;AAIM,MAAM,uBAAuB,EAAE,KAAK,YAAY;AAAA,EACrD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,OAAO;AAAA,EACP,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,cAAc;AAChB,CAAC;AAIM,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,UAAU;AAAA,EACV,MAAM,EAAE,KAAK,CAAC,YAAY,WAAW,QAAQ,CAAC;AAAA,EAC9C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC;AACtD,CAAC;","names":[]}
|
package/dist/schema/seo.d.ts
CHANGED
|
@@ -1,29 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
2
|
/** Per-pagina SEO-metadata. Alles optioneel; valt terug op site-defaults. */
|
|
3
|
-
export declare const SeoSchema: z.
|
|
4
|
-
title: z.
|
|
5
|
-
description: z.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
noindex: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
-
/** schema.org-type voor JSON-LD (bv. "LocalBusiness", "Article", "WebPage"). */
|
|
13
|
-
jsonLdType: z.ZodOptional<z.ZodString>;
|
|
14
|
-
}, "strip", z.ZodTypeAny, {
|
|
15
|
-
title?: string | undefined;
|
|
16
|
-
description?: string | undefined;
|
|
17
|
-
noindex?: boolean | undefined;
|
|
18
|
-
ogImage?: string | undefined;
|
|
19
|
-
canonical?: string | undefined;
|
|
20
|
-
jsonLdType?: string | undefined;
|
|
21
|
-
}, {
|
|
22
|
-
title?: string | undefined;
|
|
23
|
-
description?: string | undefined;
|
|
24
|
-
noindex?: boolean | undefined;
|
|
25
|
-
ogImage?: string | undefined;
|
|
26
|
-
canonical?: string | undefined;
|
|
27
|
-
jsonLdType?: string | undefined;
|
|
28
|
-
}>;
|
|
3
|
+
export declare const SeoSchema: z.ZodMiniObject<{
|
|
4
|
+
title: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
5
|
+
description: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
6
|
+
ogImage: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
7
|
+
canonical: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
8
|
+
noindex: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>;
|
|
9
|
+
jsonLdType: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
10
|
+
}, z.core.$strip>;
|
|
29
11
|
export type Seo = z.infer<typeof SeoSchema>;
|
package/dist/schema/seo.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod/mini";
|
|
2
2
|
const SeoSchema = z.object({
|
|
3
|
-
title: z.string().
|
|
4
|
-
description: z.string().
|
|
3
|
+
title: z.optional(z.string().check(z.maxLength(70))),
|
|
4
|
+
description: z.optional(z.string().check(z.maxLength(320))),
|
|
5
5
|
/** Absolute of relatieve URL naar een OG-afbeelding. */
|
|
6
|
-
ogImage: z.string().
|
|
6
|
+
ogImage: z.optional(z.string().check(z.maxLength(2e3))),
|
|
7
7
|
/** Canonical-URL; leeg = afgeleid van het pad. */
|
|
8
|
-
canonical: z.string().
|
|
8
|
+
canonical: z.optional(z.string().check(z.maxLength(2e3))),
|
|
9
9
|
/** Sluit de pagina uit van indexering. */
|
|
10
|
-
noindex: z.
|
|
10
|
+
noindex: z.optional(z.boolean()),
|
|
11
11
|
/** schema.org-type voor JSON-LD (bv. "LocalBusiness", "Article", "WebPage"). */
|
|
12
|
-
jsonLdType: z.string().
|
|
12
|
+
jsonLdType: z.optional(z.string().check(z.maxLength(60)))
|
|
13
13
|
});
|
|
14
14
|
export {
|
|
15
15
|
SeoSchema
|
package/dist/schema/seo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/seo.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../src/schema/seo.ts"],"sourcesContent":["import * as z from \"zod/mini\";\n\n/** Per-pagina SEO-metadata. Alles optioneel; valt terug op site-defaults. */\nexport const SeoSchema = z.object({\n title: z.optional(z.string().check(z.maxLength(70))),\n description: z.optional(z.string().check(z.maxLength(320))),\n /** Absolute of relatieve URL naar een OG-afbeelding. */\n ogImage: z.optional(z.string().check(z.maxLength(2000))),\n /** Canonical-URL; leeg = afgeleid van het pad. */\n canonical: z.optional(z.string().check(z.maxLength(2000))),\n /** Sluit de pagina uit van indexering. */\n noindex: z.optional(z.boolean()),\n /** schema.org-type voor JSON-LD (bv. \"LocalBusiness\", \"Article\", \"WebPage\"). */\n jsonLdType: z.optional(z.string().check(z.maxLength(60))),\n});\n\nexport type Seo = z.infer<typeof SeoSchema>;\n"],"mappings":"AAAA,YAAY,OAAO;AAGZ,MAAM,YAAY,EAAE,OAAO;AAAA,EAChC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAAA,EACnD,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC;AAAA;AAAA,EAE1D,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAI,CAAC,CAAC;AAAA;AAAA,EAEvD,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAI,CAAC,CAAC;AAAA;AAAA,EAEzD,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA;AAAA,EAE/B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC1D,CAAC;","names":[]}
|