@riverbankcms/sdk 0.62.2 → 0.62.4
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/_dts/api/src/accessAdmin.d.ts +7 -0
- package/dist/_dts/api/src/bookingClosures.d.ts +106 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +18 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -1
- package/dist/_dts/api/src/calendar.d.ts +11 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/contentVersionHistory.d.ts +52 -0
- package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +45 -0
- package/dist/_dts/api/src/endpoints.d.ts +110 -6
- package/dist/_dts/api/src/index.d.ts +4 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +31 -7
- package/dist/_dts/api/src/siteMembers.d.ts +10 -1
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +33 -12
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/api/src/url.d.ts +3 -3
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +8 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/themeColorResolution.d.ts +7 -0
- package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +24 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +208 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/index.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +31 -8
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +6 -5
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +72 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +6 -5
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +11 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +13 -2
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeControlStyles.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +9 -1
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +8 -2
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +49 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -21
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -67
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -62
- package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +94 -0
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +59 -0
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +155 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +7 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +15 -1
- package/dist/_dts/theme-core/src/site-styles/records.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +96 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -2
- package/dist/_dts/theme-core/src/siteChrome.d.ts +44 -2
- package/dist/_dts/theme-core/src/tokens/colorTokenParts.d.ts +13 -0
- package/dist/_dts/theme-core/src/tokens/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +29 -0
- package/dist/_dts/theme-core/src/utils/tokenOrColor.d.ts +27 -1
- package/dist/cli/index.mjs +1139 -471
- package/dist/client/bookings.mjs +519 -368
- package/dist/client/client.mjs +4507 -3535
- package/dist/client/hooks.mjs +2634 -2035
- package/dist/client/rendering/client.mjs +4413 -3549
- package/dist/client/rendering/islands.mjs +3456 -2589
- package/dist/client/rendering.mjs +4921 -3949
- package/dist/preview-next/before-render.mjs +138 -6
- package/dist/preview-next/client/runtime.mjs +3541 -1573
- package/dist/preview-next/editor-base.css +31 -0
- package/dist/preview-next/middleware.mjs +131 -6
- package/dist/server/components.mjs +3214 -2560
- package/dist/server/config-validation.mjs +2859 -2260
- package/dist/server/config.mjs +2859 -2260
- package/dist/server/data.mjs +2634 -2035
- package/dist/server/index.mjs +132 -7
- package/dist/server/next.mjs +2983 -2329
- package/dist/server/page-converter.mjs +2478 -2029
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3214 -2560
- package/dist/server/rendering.mjs +3233 -2579
- package/dist/server/routing.mjs +2725 -2028
- package/dist/server/server.mjs +2636 -2037
- package/dist/server/theme-bridge.mjs +1250 -767
- package/dist/server/theme.mjs +623 -498
- package/dist/styles/index.css +33 -0
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/colorResolution.d.ts +0 -13
- package/dist/_dts/preview-next/src/client/blocks/overlay.d.ts +0 -30
- package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +0 -67
|
@@ -77,6 +77,9 @@ function asBlockOrderIndex(value) {
|
|
|
77
77
|
}
|
|
78
78
|
return value;
|
|
79
79
|
}
|
|
80
|
+
function asLayoutVariantKey(value) {
|
|
81
|
+
return brandNonEmptyString(value, "LayoutVariantKey");
|
|
82
|
+
}
|
|
80
83
|
function asAppearancePresetId(value) {
|
|
81
84
|
return brandNonEmptyString(value, "AppearancePresetId");
|
|
82
85
|
}
|
|
@@ -550,84 +553,35 @@ var blockAppearancePresets = [
|
|
|
550
553
|
})
|
|
551
554
|
];
|
|
552
555
|
|
|
553
|
-
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
554
|
-
function defineSiteChromeAppearancePreset(preset) {
|
|
555
|
-
return preset;
|
|
556
|
-
}
|
|
557
|
-
var siteChromeAppearancePresets = [
|
|
558
|
-
defineSiteChromeAppearancePreset({
|
|
559
|
-
kind: "site-chrome",
|
|
560
|
-
id: "header-clean-base",
|
|
561
|
-
target: "site-header",
|
|
562
|
-
label: "Clean base header",
|
|
563
|
-
header: {
|
|
564
|
-
surface: {
|
|
565
|
-
kind: "neutral-solid",
|
|
566
|
-
token: "surface",
|
|
567
|
-
textColorToken: "text"
|
|
568
|
-
},
|
|
569
|
-
navTreatment: "minimal",
|
|
570
|
-
dropdownTreatment: "surface",
|
|
571
|
-
ctaTreatment: "default",
|
|
572
|
-
behavior: "default"
|
|
573
|
-
}
|
|
574
|
-
}),
|
|
575
|
-
defineSiteChromeAppearancePreset({
|
|
576
|
-
kind: "site-chrome",
|
|
577
|
-
id: "site-header-brand-solid-inverted-cta",
|
|
578
|
-
target: "site-header",
|
|
579
|
-
label: "Brand solid header with inverted CTA",
|
|
580
|
-
header: {
|
|
581
|
-
surface: {
|
|
582
|
-
kind: "brand-solid",
|
|
583
|
-
token: "primary",
|
|
584
|
-
textColorToken: "primaryForeground"
|
|
585
|
-
},
|
|
586
|
-
navTreatment: "uppercase-underline",
|
|
587
|
-
dropdownTreatment: "matched-solid",
|
|
588
|
-
ctaTreatment: "inverted",
|
|
589
|
-
behavior: "sticky-shrink"
|
|
590
|
-
}
|
|
591
|
-
}),
|
|
592
|
-
defineSiteChromeAppearancePreset({
|
|
593
|
-
kind: "site-chrome",
|
|
594
|
-
id: "footer-muted-grounding",
|
|
595
|
-
target: "site-footer",
|
|
596
|
-
label: "Muted grounding footer",
|
|
597
|
-
footer: {
|
|
598
|
-
kind: "grounding",
|
|
599
|
-
surface: "muted-band",
|
|
600
|
-
emphasis: "low"
|
|
601
|
-
}
|
|
602
|
-
}),
|
|
603
|
-
defineSiteChromeAppearancePreset({
|
|
604
|
-
kind: "site-chrome",
|
|
605
|
-
id: "site-footer-brand-two-band",
|
|
606
|
-
target: "site-footer",
|
|
607
|
-
label: "Two-band brand footer",
|
|
608
|
-
footer: {
|
|
609
|
-
kind: "brand-two-band",
|
|
610
|
-
surface: {
|
|
611
|
-
token: "primary",
|
|
612
|
-
shade: "800",
|
|
613
|
-
textColorToken: "primaryForeground"
|
|
614
|
-
},
|
|
615
|
-
bottomBand: {
|
|
616
|
-
token: "primary",
|
|
617
|
-
shade: "900",
|
|
618
|
-
textColorToken: "primaryForeground"
|
|
619
|
-
},
|
|
620
|
-
emphasis: "high"
|
|
621
|
-
}
|
|
622
|
-
})
|
|
623
|
-
];
|
|
624
|
-
|
|
625
556
|
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
626
557
|
var appearancePresets = [
|
|
627
|
-
...blockAppearancePresets
|
|
628
|
-
...siteChromeAppearancePresets
|
|
558
|
+
...blockAppearancePresets
|
|
629
559
|
];
|
|
630
560
|
|
|
561
|
+
// ../theme-core/src/site-styles/headerCtaVariants.ts
|
|
562
|
+
function hasButtonVariant(theme, variantId) {
|
|
563
|
+
return theme.buttons?.variants.some((variant) => variant.enabled && variant.id === variantId) ?? false;
|
|
564
|
+
}
|
|
565
|
+
function resolveHeaderCtaVariant(theme, treatment) {
|
|
566
|
+
switch (treatment) {
|
|
567
|
+
case "default":
|
|
568
|
+
return void 0;
|
|
569
|
+
case "primary":
|
|
570
|
+
return "primary";
|
|
571
|
+
case "secondary":
|
|
572
|
+
return hasButtonVariant(theme, "secondary") ? "secondary" : "primary";
|
|
573
|
+
case "inverted":
|
|
574
|
+
if (hasButtonVariant(theme, "header")) return "header";
|
|
575
|
+
if (hasButtonVariant(theme, "secondary")) return "secondary";
|
|
576
|
+
if (hasButtonVariant(theme, "outline")) return "outline";
|
|
577
|
+
return "primary";
|
|
578
|
+
case "outline":
|
|
579
|
+
return hasButtonVariant(theme, "outline") ? "outline" : "secondary";
|
|
580
|
+
case "ghost":
|
|
581
|
+
return hasButtonVariant(theme, "ghost") ? "ghost" : "secondary";
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
|
|
631
585
|
// ../theme-core/src/site-styles/pageDesignIntent.ts
|
|
632
586
|
import { z } from "zod";
|
|
633
587
|
var pageDesignIntentSchemaVersion = 1;
|
|
@@ -704,10 +658,141 @@ function boundaryKey(previousBlockId, nextBlockId) {
|
|
|
704
658
|
}
|
|
705
659
|
|
|
706
660
|
// ../theme-core/src/buttons/personalities/types.ts
|
|
707
|
-
import { z as
|
|
661
|
+
import { z as z5 } from "zod";
|
|
708
662
|
|
|
709
663
|
// ../theme-core/src/buttons/types.ts
|
|
664
|
+
import { z as z3 } from "zod";
|
|
665
|
+
|
|
666
|
+
// ../theme-core/src/tokens/themeColorTokens.ts
|
|
710
667
|
import { z as z2 } from "zod";
|
|
668
|
+
|
|
669
|
+
// ../theme-core/src/tokens/colorTokenParts.ts
|
|
670
|
+
function parseOpacityPercent(source) {
|
|
671
|
+
const trimmed = source.trim();
|
|
672
|
+
if (!trimmed) return null;
|
|
673
|
+
if (!/^\d{1,3}(?:\.\d+)?$/.test(trimmed)) return null;
|
|
674
|
+
const value = Number(trimmed);
|
|
675
|
+
if (!Number.isFinite(value)) return null;
|
|
676
|
+
if (value < 0 || value > 100) return null;
|
|
677
|
+
return value;
|
|
678
|
+
}
|
|
679
|
+
function parseColorTokenParts(source) {
|
|
680
|
+
const trimmed = source.trim();
|
|
681
|
+
if (trimmed.startsWith("raw:")) {
|
|
682
|
+
return { kind: "raw", value: trimmed.slice(4) };
|
|
683
|
+
}
|
|
684
|
+
const [token, opacityRaw, extra] = trimmed.split("/");
|
|
685
|
+
if (!token || extra !== void 0) {
|
|
686
|
+
return { kind: "invalid", token: trimmed };
|
|
687
|
+
}
|
|
688
|
+
if (opacityRaw === void 0) {
|
|
689
|
+
return { kind: "token", token, opacityPercent: null };
|
|
690
|
+
}
|
|
691
|
+
const opacityPercent = parseOpacityPercent(opacityRaw);
|
|
692
|
+
if (opacityPercent === null) {
|
|
693
|
+
return { kind: "invalid", token: trimmed };
|
|
694
|
+
}
|
|
695
|
+
return { kind: "token", token, opacityPercent };
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
// ../theme-core/src/tokens/blockColorTokens.ts
|
|
699
|
+
var blockColorTokenNames = [
|
|
700
|
+
"text",
|
|
701
|
+
"heading",
|
|
702
|
+
"mutedText",
|
|
703
|
+
"surface",
|
|
704
|
+
"background",
|
|
705
|
+
"foreground",
|
|
706
|
+
"border",
|
|
707
|
+
"primary",
|
|
708
|
+
"secondary",
|
|
709
|
+
"accent",
|
|
710
|
+
"success",
|
|
711
|
+
"warning",
|
|
712
|
+
"info",
|
|
713
|
+
"error",
|
|
714
|
+
"destructive",
|
|
715
|
+
"scrim",
|
|
716
|
+
"shadow",
|
|
717
|
+
// Common "on*" tokens used when rendering colored chips/badges.
|
|
718
|
+
"onPrimary",
|
|
719
|
+
"onSecondary",
|
|
720
|
+
"onAccent",
|
|
721
|
+
"onSuccess",
|
|
722
|
+
"onWarning",
|
|
723
|
+
"onInfo",
|
|
724
|
+
"onError",
|
|
725
|
+
"onDestructive",
|
|
726
|
+
"onSurface"
|
|
727
|
+
];
|
|
728
|
+
var blockColorTokenNameSet = new Set(
|
|
729
|
+
blockColorTokenNames
|
|
730
|
+
);
|
|
731
|
+
|
|
732
|
+
// ../theme-core/src/tokens/themeColorTokens.ts
|
|
733
|
+
var PALETTE_TOKEN_NAMES = [
|
|
734
|
+
"primary",
|
|
735
|
+
"primaryForeground",
|
|
736
|
+
"secondary",
|
|
737
|
+
"accent",
|
|
738
|
+
"success",
|
|
739
|
+
"warning",
|
|
740
|
+
"destructive",
|
|
741
|
+
"background",
|
|
742
|
+
"surface",
|
|
743
|
+
"surfaceAlt",
|
|
744
|
+
"muted",
|
|
745
|
+
"text",
|
|
746
|
+
"border"
|
|
747
|
+
];
|
|
748
|
+
var paletteTokenNameSchema = z2.enum(PALETTE_TOKEN_NAMES);
|
|
749
|
+
var themeColorBaseTokenNames = [
|
|
750
|
+
...PALETTE_TOKEN_NAMES,
|
|
751
|
+
...blockColorTokenNames,
|
|
752
|
+
// Existing generated themes can carry palette-local "white" tokens in
|
|
753
|
+
// token-only component fields. Keep it explicit until those rows are
|
|
754
|
+
// migrated to canonical foreground/background roles.
|
|
755
|
+
"white",
|
|
756
|
+
"neutral",
|
|
757
|
+
"primaryText",
|
|
758
|
+
"secondaryForeground",
|
|
759
|
+
"accentForeground"
|
|
760
|
+
];
|
|
761
|
+
var themeColorBaseTokenSet = new Set(themeColorBaseTokenNames);
|
|
762
|
+
var SHADE_STEPS = [
|
|
763
|
+
"50",
|
|
764
|
+
"100",
|
|
765
|
+
"200",
|
|
766
|
+
"300",
|
|
767
|
+
"400",
|
|
768
|
+
"500",
|
|
769
|
+
"600",
|
|
770
|
+
"700",
|
|
771
|
+
"800",
|
|
772
|
+
"900",
|
|
773
|
+
"950"
|
|
774
|
+
];
|
|
775
|
+
var shadeStepSet = new Set(SHADE_STEPS);
|
|
776
|
+
function isKnownBaseToken(value) {
|
|
777
|
+
return themeColorBaseTokenSet.has(value);
|
|
778
|
+
}
|
|
779
|
+
function isKnownShadeToken(value) {
|
|
780
|
+
const match = value.match(/^([a-zA-Z][a-zA-Z0-9]*)(?:-([0-9]{2,3}))$/);
|
|
781
|
+
if (!match) return false;
|
|
782
|
+
const [, base, shade] = match;
|
|
783
|
+
return Boolean(base && shade && isKnownBaseToken(base) && shadeStepSet.has(shade));
|
|
784
|
+
}
|
|
785
|
+
function isThemeColorTokenBase(value) {
|
|
786
|
+
return isKnownBaseToken(value) || isKnownShadeToken(value);
|
|
787
|
+
}
|
|
788
|
+
function isThemeColorToken(value) {
|
|
789
|
+
if (typeof value !== "string") return false;
|
|
790
|
+
const parts = parseColorTokenParts(value);
|
|
791
|
+
return parts.kind === "token" && isThemeColorTokenBase(parts.token);
|
|
792
|
+
}
|
|
793
|
+
var themeColorTokenSchema = z2.string().min(1).refine((value) => Boolean(isThemeColorToken(value)), "Expected a known Theme V2 color token");
|
|
794
|
+
|
|
795
|
+
// ../theme-core/src/buttons/types.ts
|
|
711
796
|
var VARIANT_ROLES = [
|
|
712
797
|
"primary",
|
|
713
798
|
"secondary",
|
|
@@ -717,22 +802,22 @@ var VARIANT_ROLES = [
|
|
|
717
802
|
"tertiary",
|
|
718
803
|
"accent"
|
|
719
804
|
];
|
|
720
|
-
var cornerStyleSchema =
|
|
721
|
-
var shadowSizeSchema =
|
|
722
|
-
var textTransformSchema =
|
|
723
|
-
var fontWeightSchema =
|
|
724
|
-
var buttonTypographySchema =
|
|
725
|
-
var letterSpacingSchema =
|
|
726
|
-
var hoverTransformSchema =
|
|
727
|
-
var hoverColorSchema =
|
|
728
|
-
var buttonPaddingPresetSchema =
|
|
729
|
-
var gradientStyleSchema =
|
|
730
|
-
var gradientSharpnessSchema =
|
|
731
|
-
var prioritySchema =
|
|
732
|
-
var variantRoleSchema =
|
|
733
|
-
var buttonSizeNameSchema =
|
|
805
|
+
var cornerStyleSchema = z3.enum(["square", "rounded", "pill"]);
|
|
806
|
+
var shadowSizeSchema = z3.enum(["none", "low", "medium", "high"]);
|
|
807
|
+
var textTransformSchema = z3.enum(["none", "uppercase", "lowercase", "capitalize"]);
|
|
808
|
+
var fontWeightSchema = z3.union([z3.literal(500), z3.literal(600), z3.literal(700)]);
|
|
809
|
+
var buttonTypographySchema = z3.enum(["body", "heading"]);
|
|
810
|
+
var letterSpacingSchema = z3.enum(["tight", "normal", "loose"]);
|
|
811
|
+
var hoverTransformSchema = z3.enum(["none", "lift", "scale", "press"]);
|
|
812
|
+
var hoverColorSchema = z3.enum(["none", "brighten", "darken", "saturate", "token"]);
|
|
813
|
+
var buttonPaddingPresetSchema = z3.enum(["compact", "default", "spacious"]);
|
|
814
|
+
var gradientStyleSchema = z3.enum(["linear", "radial", "conic"]);
|
|
815
|
+
var gradientSharpnessSchema = z3.enum(["smooth", "medium", "hard"]);
|
|
816
|
+
var prioritySchema = z3.union([z3.literal(1), z3.literal(2), z3.literal(3)]);
|
|
817
|
+
var variantRoleSchema = z3.enum(VARIANT_ROLES);
|
|
818
|
+
var buttonSizeNameSchema = z3.enum(["sm", "md", "lg", "xl"]);
|
|
734
819
|
var PADDING_TOKEN_PATTERN = /^(?:0|\d+(?:\.\d+)?(?:rem|em|px|%))$/;
|
|
735
|
-
var paddingShorthandSchema =
|
|
820
|
+
var paddingShorthandSchema = z3.string().refine(
|
|
736
821
|
(value) => {
|
|
737
822
|
const parts = value.split(/\s+/).filter(Boolean);
|
|
738
823
|
return parts.length === 2 && parts.every((token) => PADDING_TOKEN_PATTERN.test(token));
|
|
@@ -741,11 +826,11 @@ var paddingShorthandSchema = z2.string().refine(
|
|
|
741
826
|
message: 'Padding must be two space-separated CSS length tokens (e.g. "0.5rem 1rem"). Use `0` for zero.'
|
|
742
827
|
}
|
|
743
828
|
);
|
|
744
|
-
var buttonSizeConfigSchema =
|
|
829
|
+
var buttonSizeConfigSchema = z3.object({
|
|
745
830
|
padding: paddingShorthandSchema,
|
|
746
|
-
fontSize:
|
|
831
|
+
fontSize: z3.string().optional()
|
|
747
832
|
});
|
|
748
|
-
var buttonSizesSchema =
|
|
833
|
+
var buttonSizesSchema = z3.object({
|
|
749
834
|
sm: buttonSizeConfigSchema,
|
|
750
835
|
md: buttonSizeConfigSchema,
|
|
751
836
|
lg: buttonSizeConfigSchema,
|
|
@@ -756,9 +841,9 @@ var buttonSizesSchema = z2.object({
|
|
|
756
841
|
lg,
|
|
757
842
|
xl: xl ?? lg
|
|
758
843
|
}));
|
|
759
|
-
var buttonGlobalSettingsSchema =
|
|
844
|
+
var buttonGlobalSettingsSchema = z3.object({
|
|
760
845
|
cornerStyle: cornerStyleSchema,
|
|
761
|
-
cornerRadius:
|
|
846
|
+
cornerRadius: z3.number().min(0).max(24).optional(),
|
|
762
847
|
shadow: shadowSizeSchema,
|
|
763
848
|
textTransform: textTransformSchema,
|
|
764
849
|
fontWeight: fontWeightSchema,
|
|
@@ -768,104 +853,104 @@ var buttonGlobalSettingsSchema = z2.object({
|
|
|
768
853
|
* by the current generator and will be removed once the legacy
|
|
769
854
|
* `primitives/content/components/Button.tsx` slot exports are deleted.
|
|
770
855
|
*/
|
|
771
|
-
borderWidth:
|
|
856
|
+
borderWidth: z3.union([z3.literal(1), z3.literal(2), z3.literal(3)]),
|
|
772
857
|
// === Family-level typography ===
|
|
773
858
|
// Typography source (body or heading) — selects which theme typography pool to inherit
|
|
774
859
|
typography: buttonTypographySchema.optional(),
|
|
775
860
|
// Font size for all variants in the family (Tailwind token, e.g. "text-xs", "text-sm")
|
|
776
861
|
// Sized variants get this as default; fixed variants inherit unless they override.
|
|
777
862
|
// Size class CSS may still override at run time for sized variants.
|
|
778
|
-
fontSize:
|
|
863
|
+
fontSize: z3.string().optional(),
|
|
779
864
|
// Letter spacing applied to all variants
|
|
780
865
|
letterSpacing: letterSpacingSchema.optional(),
|
|
781
866
|
// Italic style
|
|
782
|
-
italic:
|
|
867
|
+
italic: z3.boolean().optional(),
|
|
783
868
|
// Padding preset (applies to sized variants without a sizes config)
|
|
784
869
|
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
785
870
|
hoverTransform: hoverTransformSchema,
|
|
786
871
|
hoverColor: hoverColorSchema,
|
|
787
872
|
// When hoverColor is 'token', this specifies which token to use
|
|
788
|
-
hoverColorToken:
|
|
873
|
+
hoverColorToken: themeColorTokenSchema.optional(),
|
|
789
874
|
// Gradient settings (if any variant uses gradients)
|
|
790
875
|
gradientStyle: gradientStyleSchema.optional(),
|
|
791
|
-
gradientAngle:
|
|
876
|
+
gradientAngle: z3.number().min(0).max(360).optional(),
|
|
792
877
|
gradientSharpness: gradientSharpnessSchema.optional()
|
|
793
878
|
});
|
|
794
|
-
var gradientDirectionSchema =
|
|
795
|
-
var buttonBackgroundSchema =
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
type:
|
|
799
|
-
stops:
|
|
879
|
+
var gradientDirectionSchema = z3.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
880
|
+
var buttonBackgroundSchema = z3.discriminatedUnion("type", [
|
|
881
|
+
z3.object({ type: z3.literal("solid"), colorToken: themeColorTokenSchema }),
|
|
882
|
+
z3.object({
|
|
883
|
+
type: z3.literal("gradient"),
|
|
884
|
+
stops: z3.array(themeColorTokenSchema).min(2),
|
|
800
885
|
direction: gradientDirectionSchema
|
|
801
886
|
}),
|
|
802
|
-
|
|
887
|
+
z3.object({ type: z3.literal("transparent") })
|
|
803
888
|
]);
|
|
804
|
-
var effectApplicationSchema =
|
|
805
|
-
effectId:
|
|
806
|
-
options:
|
|
889
|
+
var effectApplicationSchema = z3.object({
|
|
890
|
+
effectId: z3.string(),
|
|
891
|
+
options: z3.record(z3.string(), z3.any()).optional()
|
|
807
892
|
});
|
|
808
|
-
var buttonBorderSchema =
|
|
809
|
-
widthClass:
|
|
810
|
-
colorToken:
|
|
893
|
+
var buttonBorderSchema = z3.object({
|
|
894
|
+
widthClass: z3.string(),
|
|
895
|
+
colorToken: themeColorTokenSchema
|
|
811
896
|
});
|
|
812
|
-
var variantShadowSchema =
|
|
813
|
-
elevation:
|
|
814
|
-
softness:
|
|
815
|
-
position:
|
|
897
|
+
var variantShadowSchema = z3.object({
|
|
898
|
+
elevation: z3.enum(["none", "low", "medium", "high"]),
|
|
899
|
+
softness: z3.enum(["crisp", "soft", "hard"]).nullable(),
|
|
900
|
+
position: z3.enum(["bottom", "bottom-right"]).default("bottom")
|
|
816
901
|
});
|
|
817
|
-
var variantEffectsSchema =
|
|
818
|
-
base:
|
|
819
|
-
hover:
|
|
820
|
-
active:
|
|
821
|
-
focus:
|
|
902
|
+
var variantEffectsSchema = z3.object({
|
|
903
|
+
base: z3.array(effectApplicationSchema).optional(),
|
|
904
|
+
hover: z3.array(effectApplicationSchema).optional(),
|
|
905
|
+
active: z3.array(effectApplicationSchema).optional(),
|
|
906
|
+
focus: z3.array(effectApplicationSchema).optional()
|
|
822
907
|
});
|
|
823
|
-
var variantSizeOverridesSchema =
|
|
908
|
+
var variantSizeOverridesSchema = z3.object({
|
|
824
909
|
sm: buttonSizeConfigSchema.optional(),
|
|
825
910
|
md: buttonSizeConfigSchema.optional(),
|
|
826
911
|
lg: buttonSizeConfigSchema.optional(),
|
|
827
912
|
xl: buttonSizeConfigSchema.optional()
|
|
828
913
|
});
|
|
829
|
-
var buttonVariantSchema =
|
|
830
|
-
id:
|
|
831
|
-
name:
|
|
832
|
-
enabled:
|
|
914
|
+
var buttonVariantSchema = z3.object({
|
|
915
|
+
id: z3.string(),
|
|
916
|
+
name: z3.string().min(1).max(20),
|
|
917
|
+
enabled: z3.boolean(),
|
|
833
918
|
priority: prioritySchema,
|
|
834
919
|
// Base appearance (token-based)
|
|
835
920
|
background: buttonBackgroundSchema,
|
|
836
|
-
textColorToken:
|
|
921
|
+
textColorToken: themeColorTokenSchema,
|
|
837
922
|
/** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
|
|
838
|
-
borderRadius:
|
|
923
|
+
borderRadius: z3.string().optional(),
|
|
839
924
|
// Optional shadow override (uses theme.shadow if not specified)
|
|
840
925
|
shadow: variantShadowSchema.optional(),
|
|
841
926
|
// Border (optional)
|
|
842
927
|
border: buttonBorderSchema.optional(),
|
|
843
928
|
// Hover background token (per-variant override, takes precedence over global hoverColorToken)
|
|
844
|
-
hoverBackgroundToken:
|
|
929
|
+
hoverBackgroundToken: z3.string().optional(),
|
|
845
930
|
// Effect composition
|
|
846
931
|
effects: variantEffectsSchema.optional(),
|
|
847
932
|
// Per-variant size overrides — see VariantSizeOverrides
|
|
848
933
|
sizes: variantSizeOverridesSchema.optional()
|
|
849
934
|
});
|
|
850
|
-
var buttonSystemSchema =
|
|
935
|
+
var buttonSystemSchema = z3.object({
|
|
851
936
|
global: buttonGlobalSettingsSchema,
|
|
852
|
-
variants:
|
|
937
|
+
variants: z3.array(buttonVariantSchema).min(1).max(6),
|
|
853
938
|
sizes: buttonSizesSchema.optional()
|
|
854
939
|
});
|
|
855
940
|
|
|
856
941
|
// ../theme-core/src/site-styles/styleTags.ts
|
|
857
|
-
import { z as
|
|
942
|
+
import { z as z4 } from "zod";
|
|
858
943
|
var STYLE_AXIS_VALUES = {
|
|
859
944
|
tone: ["minimal", "classic", "bold"],
|
|
860
945
|
energy: ["calm", "vibrant"],
|
|
861
946
|
motion: ["subtle", "standard", "expressive"],
|
|
862
947
|
era: ["editorial", "modern", "organic", "technical", "retro"]
|
|
863
948
|
};
|
|
864
|
-
var styleTagsSchema =
|
|
865
|
-
tone:
|
|
866
|
-
energy:
|
|
867
|
-
motion:
|
|
868
|
-
era:
|
|
949
|
+
var styleTagsSchema = z4.object({
|
|
950
|
+
tone: z4.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
951
|
+
energy: z4.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
952
|
+
motion: z4.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
953
|
+
era: z4.enum(STYLE_AXIS_VALUES.era).optional()
|
|
869
954
|
});
|
|
870
955
|
|
|
871
956
|
// ../theme-core/src/buttons/personalities/types.ts
|
|
@@ -875,11 +960,11 @@ function asButtonPersonalityId(value) {
|
|
|
875
960
|
}
|
|
876
961
|
return value;
|
|
877
962
|
}
|
|
878
|
-
var buttonPersonalityIdSchema =
|
|
879
|
-
var buttonPersonalitySchema =
|
|
963
|
+
var buttonPersonalityIdSchema = z5.string().min(1).transform((value) => asButtonPersonalityId(value));
|
|
964
|
+
var buttonPersonalitySchema = z5.object({
|
|
880
965
|
id: buttonPersonalityIdSchema,
|
|
881
|
-
name:
|
|
882
|
-
description:
|
|
966
|
+
name: z5.string().min(1),
|
|
967
|
+
description: z5.string().min(1),
|
|
883
968
|
tags: styleTagsSchema,
|
|
884
969
|
buttonSystem: buttonSystemSchema
|
|
885
970
|
});
|
|
@@ -1524,51 +1609,51 @@ var personalitiesById = new Map(
|
|
|
1524
1609
|
);
|
|
1525
1610
|
|
|
1526
1611
|
// ../theme-core/src/palette/variants/types.ts
|
|
1527
|
-
import { z as
|
|
1612
|
+
import { z as z18 } from "zod";
|
|
1528
1613
|
|
|
1529
1614
|
// ../theme-core/src/schema.ts
|
|
1530
|
-
import { z as
|
|
1615
|
+
import { z as z17 } from "zod";
|
|
1531
1616
|
|
|
1532
1617
|
// ../theme-core/src/lib/media.ts
|
|
1533
|
-
import
|
|
1534
|
-
var hotspotSchema =
|
|
1535
|
-
x:
|
|
1536
|
-
y:
|
|
1537
|
-
radius:
|
|
1618
|
+
import z6 from "zod";
|
|
1619
|
+
var hotspotSchema = z6.object({
|
|
1620
|
+
x: z6.number().min(0).max(1),
|
|
1621
|
+
y: z6.number().min(0).max(1),
|
|
1622
|
+
radius: z6.number().optional()
|
|
1538
1623
|
});
|
|
1539
|
-
var rotationSchema =
|
|
1540
|
-
var rectSchema =
|
|
1541
|
-
var aspectCropSchema =
|
|
1542
|
-
aspect:
|
|
1543
|
-
rect:
|
|
1544
|
-
hotspot:
|
|
1545
|
-
rotation:
|
|
1624
|
+
var rotationSchema = z6.union([z6.literal(0), z6.literal(90), z6.literal(180), z6.literal(270)]);
|
|
1625
|
+
var rectSchema = z6.tuple([z6.number(), z6.number(), z6.number(), z6.number()]);
|
|
1626
|
+
var aspectCropSchema = z6.object({
|
|
1627
|
+
aspect: z6.preprocess((value) => value == null ? void 0 : value, z6.string().optional()),
|
|
1628
|
+
rect: z6.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
1629
|
+
hotspot: z6.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
1630
|
+
rotation: z6.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
1546
1631
|
});
|
|
1547
|
-
var transformSchema =
|
|
1548
|
-
aspectCrops:
|
|
1632
|
+
var transformSchema = z6.object({
|
|
1633
|
+
aspectCrops: z6.preprocess((value) => {
|
|
1549
1634
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1550
1635
|
return void 0;
|
|
1551
1636
|
}
|
|
1552
1637
|
return value;
|
|
1553
|
-
},
|
|
1638
|
+
}, z6.record(z6.string(), aspectCropSchema.catch({}))).optional(),
|
|
1554
1639
|
rect: rectSchema.optional(),
|
|
1555
1640
|
hotspot: hotspotSchema.optional(),
|
|
1556
1641
|
rotation: rotationSchema.optional()
|
|
1557
1642
|
});
|
|
1558
|
-
var mediaSchema =
|
|
1559
|
-
type:
|
|
1560
|
-
purpose:
|
|
1561
|
-
placeholder:
|
|
1562
|
-
assetId:
|
|
1563
|
-
identifier:
|
|
1564
|
-
src:
|
|
1565
|
-
alt:
|
|
1566
|
-
filename:
|
|
1567
|
-
mimeType:
|
|
1568
|
-
width:
|
|
1569
|
-
height:
|
|
1570
|
-
storageBucket:
|
|
1571
|
-
storagePath:
|
|
1643
|
+
var mediaSchema = z6.object({
|
|
1644
|
+
type: z6.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
1645
|
+
purpose: z6.string().optional(),
|
|
1646
|
+
placeholder: z6.boolean().default(true).optional(),
|
|
1647
|
+
assetId: z6.string().optional(),
|
|
1648
|
+
identifier: z6.string().optional(),
|
|
1649
|
+
src: z6.string().optional(),
|
|
1650
|
+
alt: z6.string().optional(),
|
|
1651
|
+
filename: z6.string().optional(),
|
|
1652
|
+
mimeType: z6.string().optional(),
|
|
1653
|
+
width: z6.number().optional(),
|
|
1654
|
+
height: z6.number().optional(),
|
|
1655
|
+
storageBucket: z6.string().optional(),
|
|
1656
|
+
storagePath: z6.string().optional(),
|
|
1572
1657
|
transform: transformSchema.optional()
|
|
1573
1658
|
});
|
|
1574
1659
|
|
|
@@ -1702,43 +1787,43 @@ function getDefaultButtonVariants() {
|
|
|
1702
1787
|
}
|
|
1703
1788
|
|
|
1704
1789
|
// ../theme-core/src/cards/types.ts
|
|
1705
|
-
import { z as
|
|
1706
|
-
var cardSpacingSchema =
|
|
1707
|
-
var gradientDirectionSchema2 =
|
|
1708
|
-
var cardBackgroundSchema =
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
type:
|
|
1712
|
-
fromToken:
|
|
1713
|
-
toToken:
|
|
1790
|
+
import { z as z7 } from "zod";
|
|
1791
|
+
var cardSpacingSchema = z7.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
1792
|
+
var gradientDirectionSchema2 = z7.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
1793
|
+
var cardBackgroundSchema = z7.discriminatedUnion("type", [
|
|
1794
|
+
z7.object({ type: z7.literal("solid"), colorToken: themeColorTokenSchema }),
|
|
1795
|
+
z7.object({
|
|
1796
|
+
type: z7.literal("gradient"),
|
|
1797
|
+
fromToken: themeColorTokenSchema,
|
|
1798
|
+
toToken: themeColorTokenSchema,
|
|
1714
1799
|
direction: gradientDirectionSchema2
|
|
1715
1800
|
}),
|
|
1716
|
-
|
|
1801
|
+
z7.object({ type: z7.literal("transparent") })
|
|
1717
1802
|
]);
|
|
1718
|
-
var cardBorderSchema =
|
|
1719
|
-
widthClass:
|
|
1720
|
-
colorToken:
|
|
1803
|
+
var cardBorderSchema = z7.object({
|
|
1804
|
+
widthClass: z7.string(),
|
|
1805
|
+
colorToken: themeColorTokenSchema
|
|
1721
1806
|
});
|
|
1722
|
-
var cardVariantSchema =
|
|
1723
|
-
id:
|
|
1724
|
-
name:
|
|
1725
|
-
enabled:
|
|
1726
|
-
priority:
|
|
1807
|
+
var cardVariantSchema = z7.object({
|
|
1808
|
+
id: z7.string(),
|
|
1809
|
+
name: z7.string().min(1).max(20),
|
|
1810
|
+
enabled: z7.boolean(),
|
|
1811
|
+
priority: z7.union([z7.literal(1), z7.literal(2), z7.literal(3)]),
|
|
1727
1812
|
// Appearance (token-based)
|
|
1728
1813
|
background: cardBackgroundSchema,
|
|
1729
1814
|
spacing: cardSpacingSchema,
|
|
1730
1815
|
// Optional overrides (uses theme defaults if not specified)
|
|
1731
|
-
shadow:
|
|
1732
|
-
elevation:
|
|
1733
|
-
softness:
|
|
1734
|
-
position:
|
|
1816
|
+
shadow: z7.object({
|
|
1817
|
+
elevation: z7.enum(["none", "low", "medium", "high"]),
|
|
1818
|
+
softness: z7.enum(["crisp", "soft", "hard"]).nullable(),
|
|
1819
|
+
position: z7.enum(["bottom", "bottom-right"]).default("bottom")
|
|
1735
1820
|
}).optional(),
|
|
1736
|
-
corners:
|
|
1821
|
+
corners: z7.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
1737
1822
|
// Border (optional)
|
|
1738
1823
|
border: cardBorderSchema.optional()
|
|
1739
1824
|
});
|
|
1740
|
-
var cardSystemSchema =
|
|
1741
|
-
variants:
|
|
1825
|
+
var cardSystemSchema = z7.object({
|
|
1826
|
+
variants: z7.array(cardVariantSchema).min(1).max(3)
|
|
1742
1827
|
});
|
|
1743
1828
|
|
|
1744
1829
|
// ../theme-core/src/cards/core.ts
|
|
@@ -1860,8 +1945,8 @@ function getDefaultCardVariants() {
|
|
|
1860
1945
|
}
|
|
1861
1946
|
|
|
1862
1947
|
// ../theme-core/src/accordions/types.ts
|
|
1863
|
-
import { z as
|
|
1864
|
-
var accordionIconSchema =
|
|
1948
|
+
import { z as z8 } from "zod";
|
|
1949
|
+
var accordionIconSchema = z8.enum([
|
|
1865
1950
|
"plus-minus",
|
|
1866
1951
|
// + becomes - (swap or rotate 90°)
|
|
1867
1952
|
"chevron",
|
|
@@ -1873,180 +1958,179 @@ var accordionIconSchema = z7.enum([
|
|
|
1873
1958
|
"circle-plus-minus"
|
|
1874
1959
|
// ⊕ becomes ⊖ (swap with fade)
|
|
1875
1960
|
]);
|
|
1876
|
-
var accordionSystemSchema =
|
|
1961
|
+
var accordionSystemSchema = z8.object({
|
|
1877
1962
|
// Visual styling (solid color only - gradients can be added later if needed)
|
|
1878
|
-
background:
|
|
1879
|
-
type:
|
|
1880
|
-
colorToken:
|
|
1963
|
+
background: z8.object({
|
|
1964
|
+
type: z8.literal("solid"),
|
|
1965
|
+
colorToken: themeColorTokenSchema
|
|
1881
1966
|
}),
|
|
1882
1967
|
// Spacing (padding inside items)
|
|
1883
|
-
spacing:
|
|
1968
|
+
spacing: z8.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
|
|
1884
1969
|
// Border radius (null = inherit from theme.corners)
|
|
1885
|
-
corners:
|
|
1970
|
+
corners: z8.enum(["square", "soft", "rounded", "pill"]).nullable(),
|
|
1886
1971
|
// Border styling (null = inherit from theme.border)
|
|
1887
|
-
border:
|
|
1888
|
-
widthClass:
|
|
1972
|
+
border: z8.object({
|
|
1973
|
+
widthClass: z8.string(),
|
|
1889
1974
|
// e.g., 'border', 'border-2', 'border-0'
|
|
1890
|
-
colorToken:
|
|
1975
|
+
colorToken: themeColorTokenSchema
|
|
1891
1976
|
}).nullable(),
|
|
1892
1977
|
// Shadow (null = inherit from theme.shadow)
|
|
1893
|
-
shadow:
|
|
1894
|
-
elevation:
|
|
1895
|
-
softness:
|
|
1896
|
-
position:
|
|
1978
|
+
shadow: z8.object({
|
|
1979
|
+
elevation: z8.enum(["none", "low", "medium", "high"]),
|
|
1980
|
+
softness: z8.enum(["soft", "crisp", "hard"]).nullable(),
|
|
1981
|
+
position: z8.enum(["bottom", "bottom-right"])
|
|
1897
1982
|
}).nullable(),
|
|
1898
1983
|
// Icon style and animation
|
|
1899
|
-
icon:
|
|
1984
|
+
icon: z8.object({
|
|
1900
1985
|
style: accordionIconSchema,
|
|
1901
|
-
position:
|
|
1902
|
-
size:
|
|
1986
|
+
position: z8.enum(["left", "right"]),
|
|
1987
|
+
size: z8.enum(["sm", "md", "lg"])
|
|
1903
1988
|
}),
|
|
1904
1989
|
// Trigger (question) styling
|
|
1905
|
-
trigger:
|
|
1906
|
-
textColorToken:
|
|
1907
|
-
fontWeight:
|
|
1990
|
+
trigger: z8.object({
|
|
1991
|
+
textColorToken: themeColorTokenSchema,
|
|
1992
|
+
fontWeight: z8.enum(["regular", "medium", "semibold", "bold"]).nullable()
|
|
1908
1993
|
// null = inherit from theme
|
|
1909
1994
|
}),
|
|
1910
1995
|
// Hover state styling
|
|
1911
|
-
hover:
|
|
1912
|
-
backgroundColorToken:
|
|
1913
|
-
textColorToken:
|
|
1914
|
-
borderColorToken:
|
|
1996
|
+
hover: z8.object({
|
|
1997
|
+
backgroundColorToken: themeColorTokenSchema.optional(),
|
|
1998
|
+
textColorToken: themeColorTokenSchema.optional(),
|
|
1999
|
+
borderColorToken: themeColorTokenSchema.optional()
|
|
1915
2000
|
}),
|
|
1916
2001
|
// Content (answer) styling
|
|
1917
|
-
content:
|
|
1918
|
-
textColorToken:
|
|
2002
|
+
content: z8.object({
|
|
2003
|
+
textColorToken: themeColorTokenSchema
|
|
1919
2004
|
})
|
|
1920
2005
|
});
|
|
1921
2006
|
|
|
1922
2007
|
// ../theme-core/src/inputs/types.ts
|
|
1923
|
-
import { z as
|
|
1924
|
-
var inputSystemSchema =
|
|
2008
|
+
import { z as z9 } from "zod";
|
|
2009
|
+
var inputSystemSchema = z9.object({
|
|
1925
2010
|
// Base styling (applied to all inputs)
|
|
1926
|
-
base:
|
|
1927
|
-
background:
|
|
1928
|
-
|
|
1929
|
-
type:
|
|
1930
|
-
colorToken:
|
|
2011
|
+
base: z9.object({
|
|
2012
|
+
background: z9.union([
|
|
2013
|
+
z9.object({
|
|
2014
|
+
type: z9.literal("solid"),
|
|
2015
|
+
colorToken: themeColorTokenSchema
|
|
1931
2016
|
}),
|
|
1932
|
-
|
|
1933
|
-
type:
|
|
2017
|
+
z9.object({
|
|
2018
|
+
type: z9.literal("transparent")
|
|
1934
2019
|
})
|
|
1935
2020
|
]),
|
|
1936
|
-
textColorToken:
|
|
1937
|
-
border:
|
|
1938
|
-
widthClass:
|
|
2021
|
+
textColorToken: themeColorTokenSchema,
|
|
2022
|
+
border: z9.object({
|
|
2023
|
+
widthClass: z9.string(),
|
|
1939
2024
|
// e.g., 'border', 'border-2'
|
|
1940
|
-
colorToken:
|
|
1941
|
-
style:
|
|
2025
|
+
colorToken: themeColorTokenSchema,
|
|
2026
|
+
style: z9.enum(["all", "underline"]).optional()
|
|
1942
2027
|
}),
|
|
1943
|
-
corners:
|
|
2028
|
+
corners: z9.enum(["square", "soft", "rounded", "pill"]).nullable(),
|
|
1944
2029
|
// null = inherit from theme.corners
|
|
1945
|
-
shadow:
|
|
1946
|
-
elevation:
|
|
1947
|
-
softness:
|
|
2030
|
+
shadow: z9.object({
|
|
2031
|
+
elevation: z9.enum(["none", "low", "medium"]),
|
|
2032
|
+
softness: z9.enum(["soft", "crisp", "hard"]).nullable()
|
|
1948
2033
|
}).nullable(),
|
|
1949
|
-
spacing:
|
|
2034
|
+
spacing: z9.enum(["compact", "cozy", "medium", "comfortable"]),
|
|
1950
2035
|
// padding inside inputs
|
|
1951
|
-
fontSize:
|
|
2036
|
+
fontSize: z9.enum(["sm", "base", "lg"])
|
|
1952
2037
|
}),
|
|
1953
2038
|
// Label styling
|
|
1954
|
-
label:
|
|
1955
|
-
textColorToken:
|
|
1956
|
-
fontWeight:
|
|
1957
|
-
fontSize:
|
|
1958
|
-
textTransform:
|
|
1959
|
-
letterSpacing:
|
|
1960
|
-
opacity:
|
|
2039
|
+
label: z9.object({
|
|
2040
|
+
textColorToken: themeColorTokenSchema,
|
|
2041
|
+
fontWeight: z9.enum(["regular", "medium", "semibold", "bold", "black"]),
|
|
2042
|
+
fontSize: z9.enum(["2xs", "xs", "sm", "base"]),
|
|
2043
|
+
textTransform: z9.enum(["none", "uppercase", "lowercase", "capitalize"]).optional(),
|
|
2044
|
+
letterSpacing: z9.enum(["normal", "wide", "wider", "widest"]).optional(),
|
|
2045
|
+
opacity: z9.number().min(0.2).max(1).optional()
|
|
1961
2046
|
}),
|
|
1962
2047
|
// Focus state
|
|
1963
|
-
focus:
|
|
1964
|
-
ringColorToken:
|
|
1965
|
-
ringWidth:
|
|
1966
|
-
borderColorToken:
|
|
2048
|
+
focus: z9.object({
|
|
2049
|
+
ringColorToken: themeColorTokenSchema,
|
|
2050
|
+
ringWidth: z9.enum(["0", "1", "2", "3"]),
|
|
2051
|
+
borderColorToken: themeColorTokenSchema.optional()
|
|
1967
2052
|
// Change border color on focus
|
|
1968
2053
|
}),
|
|
1969
2054
|
// Error state (for validation feedback)
|
|
1970
|
-
error:
|
|
1971
|
-
borderColorToken:
|
|
1972
|
-
textColorToken:
|
|
2055
|
+
error: z9.object({
|
|
2056
|
+
borderColorToken: themeColorTokenSchema,
|
|
2057
|
+
textColorToken: themeColorTokenSchema
|
|
1973
2058
|
}),
|
|
1974
2059
|
// Disabled state
|
|
1975
|
-
disabled:
|
|
1976
|
-
backgroundColorToken:
|
|
1977
|
-
textColorToken:
|
|
1978
|
-
opacity:
|
|
2060
|
+
disabled: z9.object({
|
|
2061
|
+
backgroundColorToken: themeColorTokenSchema,
|
|
2062
|
+
textColorToken: themeColorTokenSchema,
|
|
2063
|
+
opacity: z9.number().min(0.3).max(0.7)
|
|
1979
2064
|
})
|
|
1980
2065
|
});
|
|
1981
2066
|
|
|
1982
2067
|
// ../theme-core/src/gradients/types.ts
|
|
1983
|
-
import { z as
|
|
1984
|
-
var gradientStopSchema =
|
|
1985
|
-
color:
|
|
1986
|
-
|
|
1987
|
-
position: z9.number().min(0).max(100)
|
|
2068
|
+
import { z as z10 } from "zod";
|
|
2069
|
+
var gradientStopSchema = z10.object({
|
|
2070
|
+
color: themeColorTokenSchema,
|
|
2071
|
+
position: z10.number().min(0).max(100)
|
|
1988
2072
|
// Percentage 0-100
|
|
1989
2073
|
});
|
|
1990
|
-
var gradientConfigSchema =
|
|
1991
|
-
type:
|
|
1992
|
-
angle:
|
|
2074
|
+
var gradientConfigSchema = z10.object({
|
|
2075
|
+
type: z10.enum(["linear", "radial"]),
|
|
2076
|
+
angle: z10.number().min(0).max(360).optional(),
|
|
1993
2077
|
// For linear gradients (degrees)
|
|
1994
|
-
position:
|
|
2078
|
+
position: z10.string().optional(),
|
|
1995
2079
|
// For radial gradients ('center', 'top left', etc.)
|
|
1996
|
-
stops:
|
|
2080
|
+
stops: z10.array(gradientStopSchema).min(2)
|
|
1997
2081
|
});
|
|
1998
2082
|
|
|
1999
2083
|
// ../theme-core/src/navigation/types.ts
|
|
2000
|
-
import { z as
|
|
2084
|
+
import { z as z12 } from "zod";
|
|
2001
2085
|
|
|
2002
2086
|
// ../theme-core/src/interactive/baseSchema.ts
|
|
2003
|
-
import { z as
|
|
2004
|
-
var interactiveTypographySchema =
|
|
2087
|
+
import { z as z11 } from "zod";
|
|
2088
|
+
var interactiveTypographySchema = z11.object({
|
|
2005
2089
|
/** Font family source */
|
|
2006
|
-
typography:
|
|
2090
|
+
typography: z11.enum(["body", "heading"]).default("body"),
|
|
2007
2091
|
/** Font weight */
|
|
2008
|
-
fontWeight:
|
|
2092
|
+
fontWeight: z11.enum(["regular", "medium", "semibold", "bold"]).default("medium"),
|
|
2009
2093
|
/** Text transform */
|
|
2010
|
-
textTransform:
|
|
2094
|
+
textTransform: z11.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
2011
2095
|
/** Italic style */
|
|
2012
|
-
italic:
|
|
2096
|
+
italic: z11.boolean().default(false)
|
|
2013
2097
|
});
|
|
2014
|
-
var effectApplicationSchema2 =
|
|
2098
|
+
var effectApplicationSchema2 = z11.object({
|
|
2015
2099
|
/** Effect preset ID */
|
|
2016
|
-
effectId:
|
|
2100
|
+
effectId: z11.string(),
|
|
2017
2101
|
/** User-provided customization options */
|
|
2018
|
-
options:
|
|
2102
|
+
options: z11.record(z11.string(), z11.any()).optional()
|
|
2019
2103
|
});
|
|
2020
|
-
var effectCompositionSchema =
|
|
2104
|
+
var effectCompositionSchema = z11.object({
|
|
2021
2105
|
/** Effects always applied */
|
|
2022
|
-
base:
|
|
2106
|
+
base: z11.array(effectApplicationSchema2).optional(),
|
|
2023
2107
|
/** Effects applied on hover */
|
|
2024
|
-
hover:
|
|
2108
|
+
hover: z11.array(effectApplicationSchema2).optional(),
|
|
2025
2109
|
/** Effects applied on active/pressed */
|
|
2026
|
-
active:
|
|
2110
|
+
active: z11.array(effectApplicationSchema2).optional(),
|
|
2027
2111
|
/** Effects applied on focus */
|
|
2028
|
-
focus:
|
|
2112
|
+
focus: z11.array(effectApplicationSchema2).optional()
|
|
2029
2113
|
});
|
|
2030
2114
|
|
|
2031
2115
|
// ../theme-core/src/navigation/types.ts
|
|
2032
|
-
var navLinkPaddingSchema =
|
|
2033
|
-
var navLinkPaddingXSchema =
|
|
2034
|
-
var navLinkBorderRadiusSchema =
|
|
2035
|
-
var navLinkTextSizeSchema =
|
|
2036
|
-
var navLinkLetterSpacingSchema =
|
|
2037
|
-
var navLinkStyleSchema =
|
|
2116
|
+
var navLinkPaddingSchema = z12.enum(["none", "compact", "default"]);
|
|
2117
|
+
var navLinkPaddingXSchema = z12.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
2118
|
+
var navLinkBorderRadiusSchema = z12.enum(["none", "sm", "md", "full"]);
|
|
2119
|
+
var navLinkTextSizeSchema = z12.enum(["xs", "sm", "base", "lg"]);
|
|
2120
|
+
var navLinkLetterSpacingSchema = z12.enum(["normal", "wide", "wider", "widest"]);
|
|
2121
|
+
var navLinkStyleSchema = z12.object({
|
|
2038
2122
|
/** Display name for the style */
|
|
2039
|
-
name:
|
|
2123
|
+
name: z12.string().min(1).max(30).optional(),
|
|
2040
2124
|
/** Typography settings (inherited from interactive base) */
|
|
2041
2125
|
...interactiveTypographySchema.shape,
|
|
2042
2126
|
/** Text color token */
|
|
2043
|
-
colorToken:
|
|
2127
|
+
colorToken: themeColorTokenSchema.default("text"),
|
|
2044
2128
|
/** Optional text size override */
|
|
2045
2129
|
textSize: navLinkTextSizeSchema.optional(),
|
|
2046
2130
|
/** Optional letter spacing override */
|
|
2047
2131
|
letterSpacing: navLinkLetterSpacingSchema.optional(),
|
|
2048
2132
|
/** Hover/active color token (for color-change effects) */
|
|
2049
|
-
hoverColorToken:
|
|
2133
|
+
hoverColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2050
2134
|
/** Padding preset */
|
|
2051
2135
|
padding: navLinkPaddingSchema.default("compact"),
|
|
2052
2136
|
/** Horizontal padding override (overrides horizontal component of padding preset) */
|
|
@@ -2058,7 +2142,7 @@ var navLinkStyleSchema = z11.object({
|
|
|
2058
2142
|
});
|
|
2059
2143
|
|
|
2060
2144
|
// ../theme-core/src/customCss/validation.ts
|
|
2061
|
-
import { z as
|
|
2145
|
+
import { z as z13 } from "zod";
|
|
2062
2146
|
var FORBIDDEN_SELECTORS = [":root", "html", "body"];
|
|
2063
2147
|
var UNIVERSAL_SELECTOR = "*";
|
|
2064
2148
|
var REMOTE_URL_PATTERN = /url\s*\(\s*['"]?(https?:|\/\/)/i;
|
|
@@ -2100,7 +2184,7 @@ function containsForbiddenSelector(selector) {
|
|
|
2100
2184
|
}
|
|
2101
2185
|
return false;
|
|
2102
2186
|
}
|
|
2103
|
-
var selectorSchema =
|
|
2187
|
+
var selectorSchema = z13.string().min(1, "Selector cannot be empty").max(200, "Selector too long (max 200 characters)").refine(
|
|
2104
2188
|
(s) => !containsForbiddenSelector(s),
|
|
2105
2189
|
{ message: "Global selectors (:root, html, body, *) are not allowed" }
|
|
2106
2190
|
);
|
|
@@ -2110,38 +2194,38 @@ function containsRemoteUrl(value) {
|
|
|
2110
2194
|
function containsJavascriptUrl(value) {
|
|
2111
2195
|
return JAVASCRIPT_URL_PATTERN.test(value);
|
|
2112
2196
|
}
|
|
2113
|
-
var declarationValueSchema =
|
|
2197
|
+
var declarationValueSchema = z13.string().max(500, "Declaration value too long (max 500 characters)").refine(
|
|
2114
2198
|
(v) => !containsRemoteUrl(v),
|
|
2115
2199
|
{ message: "Remote url() references are not allowed. Use local paths, data URIs, or fragment IDs." }
|
|
2116
2200
|
).refine(
|
|
2117
2201
|
(v) => !containsJavascriptUrl(v),
|
|
2118
2202
|
{ message: "javascript: URLs are not allowed" }
|
|
2119
2203
|
);
|
|
2120
|
-
var declarationsSchema =
|
|
2121
|
-
|
|
2204
|
+
var declarationsSchema = z13.record(
|
|
2205
|
+
z13.string().min(1).max(100),
|
|
2122
2206
|
// property name
|
|
2123
2207
|
declarationValueSchema
|
|
2124
2208
|
// property value
|
|
2125
2209
|
);
|
|
2126
|
-
var customCssRuleSchema =
|
|
2127
|
-
id:
|
|
2210
|
+
var customCssRuleSchema = z13.object({
|
|
2211
|
+
id: z13.string().min(1, "Rule ID is required").max(50, "Rule ID too long"),
|
|
2128
2212
|
selector: selectorSchema,
|
|
2129
2213
|
declarations: declarationsSchema
|
|
2130
2214
|
});
|
|
2131
2215
|
var blockCustomCssRuleSchema = customCssRuleSchema.extend({
|
|
2132
|
-
blockKind:
|
|
2216
|
+
blockKind: z13.string().min(1, "Block kind is required").max(50, "Block kind too long")
|
|
2133
2217
|
});
|
|
2134
|
-
var customCssRulesSchema =
|
|
2135
|
-
var blockCustomCssRulesSchema =
|
|
2218
|
+
var customCssRulesSchema = z13.array(customCssRuleSchema).optional();
|
|
2219
|
+
var blockCustomCssRulesSchema = z13.array(blockCustomCssRuleSchema).optional();
|
|
2136
2220
|
|
|
2137
2221
|
// ../theme-core/src/customCss/atRuleValidation.ts
|
|
2138
|
-
import { z as
|
|
2222
|
+
import { z as z14 } from "zod";
|
|
2139
2223
|
var KEYFRAME_OFFSET_PATTERN = /^(from|to|\d{1,3}%)$/i;
|
|
2140
2224
|
var ANIMATION_NAME_PATTERN = /^[a-zA-Z_-][a-zA-Z0-9_-]*$/;
|
|
2141
2225
|
var BLOCKED_AT_RULES = ["@import", "@charset"];
|
|
2142
2226
|
var BLOCKED_AT_RULE_PATTERN = /@(?:import|charset)\b/i;
|
|
2143
|
-
var ruleIdSchema =
|
|
2144
|
-
var nestedRuleSchema =
|
|
2227
|
+
var ruleIdSchema = z14.string().min(1, "Rule ID is required").max(50, "Rule ID too long");
|
|
2228
|
+
var nestedRuleSchema = z14.object({
|
|
2145
2229
|
selector: selectorSchema,
|
|
2146
2230
|
declarations: declarationsSchema
|
|
2147
2231
|
});
|
|
@@ -2153,206 +2237,208 @@ function isValidKeyframeOffset(offset) {
|
|
|
2153
2237
|
const value = parseInt(match[1], 10);
|
|
2154
2238
|
return value >= 0 && value <= 100;
|
|
2155
2239
|
}
|
|
2156
|
-
var keyframeOffsetSchema =
|
|
2240
|
+
var keyframeOffsetSchema = z14.string().transform((offset) => offset.trim()).refine(
|
|
2157
2241
|
(offset) => KEYFRAME_OFFSET_PATTERN.test(offset),
|
|
2158
2242
|
{ message: 'Invalid keyframe offset. Use percentages (0%, 50%, 100%) or "from"/"to"' }
|
|
2159
2243
|
).refine(
|
|
2160
2244
|
isValidKeyframeOffset,
|
|
2161
2245
|
{ message: "Keyframe offset must be between 0% and 100%" }
|
|
2162
2246
|
);
|
|
2163
|
-
var animationNameSchema =
|
|
2247
|
+
var animationNameSchema = z14.string().min(1, "Animation name is required").max(50, "Animation name too long").refine(
|
|
2164
2248
|
(name) => ANIMATION_NAME_PATTERN.test(name),
|
|
2165
2249
|
{ message: "Invalid animation name. Use letters, numbers, dashes, underscores (start with letter, dash, or underscore)" }
|
|
2166
2250
|
);
|
|
2167
|
-
var keyframeSchema =
|
|
2251
|
+
var keyframeSchema = z14.object({
|
|
2168
2252
|
offset: keyframeOffsetSchema,
|
|
2169
2253
|
declarations: declarationsSchema
|
|
2170
2254
|
});
|
|
2171
|
-
var keyframesAtRuleSchema =
|
|
2255
|
+
var keyframesAtRuleSchema = z14.object({
|
|
2172
2256
|
id: ruleIdSchema,
|
|
2173
|
-
type:
|
|
2257
|
+
type: z14.literal("keyframes"),
|
|
2174
2258
|
name: animationNameSchema,
|
|
2175
|
-
frames:
|
|
2259
|
+
frames: z14.array(keyframeSchema).min(1, "At least one keyframe is required")
|
|
2176
2260
|
});
|
|
2177
|
-
var fontFaceDeclarationsSchema =
|
|
2261
|
+
var fontFaceDeclarationsSchema = z14.record(z14.string().min(1).max(100), declarationValueSchema).refine(
|
|
2178
2262
|
(decls) => "fontFamily" in decls || "font-family" in decls,
|
|
2179
2263
|
{ message: "font-family is required in @font-face" }
|
|
2180
2264
|
);
|
|
2181
|
-
var fontFaceAtRuleSchema =
|
|
2265
|
+
var fontFaceAtRuleSchema = z14.object({
|
|
2182
2266
|
id: ruleIdSchema,
|
|
2183
|
-
type:
|
|
2267
|
+
type: z14.literal("font-face"),
|
|
2184
2268
|
declarations: fontFaceDeclarationsSchema
|
|
2185
2269
|
});
|
|
2186
|
-
var mediaQuerySchema =
|
|
2187
|
-
var mediaAtRuleSchema =
|
|
2270
|
+
var mediaQuerySchema = z14.string().min(1, "Media query is required").max(200, "Media query too long");
|
|
2271
|
+
var mediaAtRuleSchema = z14.object({
|
|
2188
2272
|
id: ruleIdSchema,
|
|
2189
|
-
type:
|
|
2273
|
+
type: z14.literal("media"),
|
|
2190
2274
|
query: mediaQuerySchema,
|
|
2191
|
-
rules:
|
|
2275
|
+
rules: z14.array(nestedRuleSchema).min(1, "At least one rule is required")
|
|
2192
2276
|
});
|
|
2193
|
-
var supportsConditionSchema =
|
|
2194
|
-
var supportsAtRuleSchema =
|
|
2277
|
+
var supportsConditionSchema = z14.string().min(1, "Supports condition is required").max(200, "Supports condition too long");
|
|
2278
|
+
var supportsAtRuleSchema = z14.object({
|
|
2195
2279
|
id: ruleIdSchema,
|
|
2196
|
-
type:
|
|
2280
|
+
type: z14.literal("supports"),
|
|
2197
2281
|
condition: supportsConditionSchema,
|
|
2198
|
-
rules:
|
|
2282
|
+
rules: z14.array(nestedRuleSchema).min(1, "At least one rule is required")
|
|
2199
2283
|
});
|
|
2200
2284
|
function containsBlockedAtRule(css) {
|
|
2201
2285
|
return BLOCKED_AT_RULE_PATTERN.test(css);
|
|
2202
2286
|
}
|
|
2203
|
-
var rawCssSchema =
|
|
2287
|
+
var rawCssSchema = z14.string().min(1, "CSS is required").max(5e3, "Raw CSS too long (max 5000 characters)").refine(
|
|
2204
2288
|
(css) => css.trim().startsWith("@"),
|
|
2205
2289
|
{ message: "Raw at-rule must start with @" }
|
|
2206
2290
|
).refine(
|
|
2207
2291
|
(css) => !containsBlockedAtRule(css),
|
|
2208
2292
|
{ message: `Blocked at-rules: ${BLOCKED_AT_RULES.join(", ")}. Use typed at-rules or local assets instead.` }
|
|
2209
2293
|
);
|
|
2210
|
-
var rawAtRuleSchema =
|
|
2294
|
+
var rawAtRuleSchema = z14.object({
|
|
2211
2295
|
id: ruleIdSchema,
|
|
2212
|
-
type:
|
|
2296
|
+
type: z14.literal("raw"),
|
|
2213
2297
|
css: rawCssSchema
|
|
2214
2298
|
});
|
|
2215
|
-
var customCssAtRuleSchema =
|
|
2299
|
+
var customCssAtRuleSchema = z14.discriminatedUnion("type", [
|
|
2216
2300
|
keyframesAtRuleSchema,
|
|
2217
2301
|
fontFaceAtRuleSchema,
|
|
2218
2302
|
mediaAtRuleSchema,
|
|
2219
2303
|
supportsAtRuleSchema,
|
|
2220
2304
|
rawAtRuleSchema
|
|
2221
2305
|
]);
|
|
2222
|
-
var customCssAtRulesSchema =
|
|
2306
|
+
var customCssAtRulesSchema = z14.array(customCssAtRuleSchema).optional();
|
|
2223
2307
|
|
|
2224
2308
|
// ../theme-core/src/shared/componentStyles.ts
|
|
2225
|
-
import { z as
|
|
2226
|
-
var componentBorderSchema =
|
|
2227
|
-
width:
|
|
2228
|
-
style:
|
|
2229
|
-
colorToken:
|
|
2309
|
+
import { z as z15 } from "zod";
|
|
2310
|
+
var componentBorderSchema = z15.object({
|
|
2311
|
+
width: z15.enum(["none", "hairline", "thin", "medium", "thick"]).default("none"),
|
|
2312
|
+
style: z15.enum(["solid", "dashed"]).default("solid"),
|
|
2313
|
+
colorToken: themeColorTokenSchema.optional()
|
|
2230
2314
|
// defaults to "border" if not set
|
|
2231
2315
|
});
|
|
2232
|
-
var componentShadowSchema =
|
|
2233
|
-
elevation:
|
|
2316
|
+
var componentShadowSchema = z15.object({
|
|
2317
|
+
elevation: z15.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("sm")
|
|
2234
2318
|
});
|
|
2235
2319
|
|
|
2320
|
+
// ../theme-core/src/utils/tokenOrColor.ts
|
|
2321
|
+
import { z as z16 } from "zod";
|
|
2322
|
+
var tokenOrCssColorValueSchema = z16.string();
|
|
2323
|
+
|
|
2236
2324
|
// ../theme-core/src/schema.ts
|
|
2237
|
-
var axesSchema =
|
|
2238
|
-
tone:
|
|
2239
|
-
energy:
|
|
2240
|
-
density:
|
|
2241
|
-
mediaBias:
|
|
2242
|
-
conversionBias:
|
|
2243
|
-
motion:
|
|
2325
|
+
var axesSchema = z17.object({
|
|
2326
|
+
tone: z17.enum(["minimal", "classic", "bold"]),
|
|
2327
|
+
energy: z17.enum(["calm", "vibrant"]),
|
|
2328
|
+
density: z17.enum(["airy", "regular", "compact"]),
|
|
2329
|
+
mediaBias: z17.enum(["text", "media", "mixed"]),
|
|
2330
|
+
conversionBias: z17.enum(["low", "med", "high"]),
|
|
2331
|
+
motion: z17.enum(["subtle", "standard", "expressive"])
|
|
2244
2332
|
});
|
|
2245
|
-
var colourHexString =
|
|
2246
|
-
var paletteColorSchema =
|
|
2247
|
-
name:
|
|
2333
|
+
var colourHexString = z17.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
2334
|
+
var paletteColorSchema = z17.object({
|
|
2335
|
+
name: z17.string().min(1),
|
|
2248
2336
|
hex: colourHexString
|
|
2249
2337
|
});
|
|
2250
|
-
var paletteMetaSchema =
|
|
2251
|
-
mode:
|
|
2338
|
+
var paletteMetaSchema = z17.object({
|
|
2339
|
+
mode: z17.enum(["light", "dark"])
|
|
2252
2340
|
});
|
|
2253
|
-
var paletteSchema =
|
|
2254
|
-
colors:
|
|
2341
|
+
var paletteSchema = z17.object({
|
|
2342
|
+
colors: z17.array(paletteColorSchema),
|
|
2255
2343
|
meta: paletteMetaSchema
|
|
2256
2344
|
});
|
|
2257
|
-
var typographyStyleSchema =
|
|
2258
|
-
family:
|
|
2259
|
-
weight:
|
|
2260
|
-
letterSpacing:
|
|
2261
|
-
lineHeight:
|
|
2345
|
+
var typographyStyleSchema = z17.object({
|
|
2346
|
+
family: z17.string().min(1),
|
|
2347
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
2348
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]),
|
|
2349
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"])
|
|
2262
2350
|
});
|
|
2263
2351
|
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
2264
|
-
size:
|
|
2352
|
+
size: z17.enum(["md", "lg", "xl"])
|
|
2265
2353
|
});
|
|
2266
|
-
var headingSizeSchema =
|
|
2267
|
-
var headingTypographyOverridesSchema =
|
|
2268
|
-
weight:
|
|
2269
|
-
letterSpacing:
|
|
2354
|
+
var headingSizeSchema = z17.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
2355
|
+
var headingTypographyOverridesSchema = z17.object({
|
|
2356
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
2357
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
2270
2358
|
size: headingSizeSchema.nullable().optional(),
|
|
2271
|
-
lineHeight:
|
|
2272
|
-
italic:
|
|
2273
|
-
colorToken:
|
|
2274
|
-
// Palette token name for heading color
|
|
2359
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
2360
|
+
italic: z17.boolean().nullable().optional(),
|
|
2361
|
+
colorToken: themeColorTokenSchema.nullable().optional()
|
|
2275
2362
|
});
|
|
2276
2363
|
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
2277
|
-
case:
|
|
2278
|
-
italic:
|
|
2279
|
-
colorToken:
|
|
2280
|
-
// Palette token name for heading color
|
|
2364
|
+
case: z17.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
2365
|
+
italic: z17.boolean().nullable(),
|
|
2366
|
+
colorToken: themeColorTokenSchema.nullable().optional()
|
|
2281
2367
|
});
|
|
2282
|
-
var proseLinkUnderlineStyleSchema =
|
|
2283
|
-
var proseLinkUnderlineThicknessSchema =
|
|
2284
|
-
var proseLinkUnderlineOffsetSchema =
|
|
2285
|
-
var proseLinkStyleSchema =
|
|
2286
|
-
colorToken:
|
|
2287
|
-
hoverColorToken:
|
|
2288
|
-
underline:
|
|
2289
|
-
decorationColorToken:
|
|
2290
|
-
hoverDecorationColorToken:
|
|
2368
|
+
var proseLinkUnderlineStyleSchema = z17.enum(["solid", "dotted", "dashed"]);
|
|
2369
|
+
var proseLinkUnderlineThicknessSchema = z17.enum(["auto", "fromFont", "thin", "medium", "thick"]);
|
|
2370
|
+
var proseLinkUnderlineOffsetSchema = z17.enum(["auto", "tight", "normal", "loose"]);
|
|
2371
|
+
var proseLinkStyleSchema = z17.object({
|
|
2372
|
+
colorToken: themeColorTokenSchema.optional(),
|
|
2373
|
+
hoverColorToken: themeColorTokenSchema.optional(),
|
|
2374
|
+
underline: z17.boolean().optional(),
|
|
2375
|
+
decorationColorToken: themeColorTokenSchema.optional(),
|
|
2376
|
+
hoverDecorationColorToken: themeColorTokenSchema.optional(),
|
|
2291
2377
|
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
2292
2378
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
2293
2379
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
2294
2380
|
});
|
|
2295
|
-
var semanticSpacingSchema =
|
|
2296
|
-
var boxRoundedSchema =
|
|
2297
|
-
var boxBackgroundOverlaySchema =
|
|
2298
|
-
type:
|
|
2299
|
-
color:
|
|
2300
|
-
gradient:
|
|
2301
|
-
opacity:
|
|
2381
|
+
var semanticSpacingSchema = z17.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
2382
|
+
var boxRoundedSchema = z17.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
2383
|
+
var boxBackgroundOverlaySchema = z17.object({
|
|
2384
|
+
type: z17.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
2385
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2386
|
+
gradient: z17.string().nullable().optional(),
|
|
2387
|
+
opacity: z17.number().min(0).max(1).nullable().optional()
|
|
2302
2388
|
});
|
|
2303
|
-
var boxBackgroundSchema =
|
|
2304
|
-
type:
|
|
2305
|
-
color:
|
|
2306
|
-
gradient:
|
|
2389
|
+
var boxBackgroundSchema = z17.object({
|
|
2390
|
+
type: z17.enum(["color", "gradient", "image"]).optional(),
|
|
2391
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2392
|
+
gradient: z17.string().nullable().optional(),
|
|
2307
2393
|
image: mediaSchema.nullable().optional(),
|
|
2308
|
-
objectFit:
|
|
2309
|
-
scale:
|
|
2310
|
-
position:
|
|
2311
|
-
opacity:
|
|
2312
|
-
motion:
|
|
2394
|
+
objectFit: z17.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
|
|
2395
|
+
scale: z17.string().nullable().optional(),
|
|
2396
|
+
position: z17.string().nullable().optional(),
|
|
2397
|
+
opacity: z17.number().min(0).max(1).nullable().optional(),
|
|
2398
|
+
motion: z17.enum(["static", "fixed-frame"]).nullable().optional(),
|
|
2313
2399
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
2314
|
-
textColor:
|
|
2315
|
-
headingColor:
|
|
2400
|
+
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2401
|
+
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
2316
2402
|
});
|
|
2317
|
-
var sectionStylesOverrideSchema =
|
|
2403
|
+
var sectionStylesOverrideSchema = z17.object({
|
|
2318
2404
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2319
2405
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2320
|
-
minHeight:
|
|
2321
|
-
tileTreatment:
|
|
2322
|
-
eyebrowTreatment:
|
|
2406
|
+
minHeight: z17.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
2407
|
+
tileTreatment: z17.enum(tileTreatmentValues).nullable().optional(),
|
|
2408
|
+
eyebrowTreatment: z17.enum(eyebrowTreatmentValues).nullable().optional()
|
|
2323
2409
|
});
|
|
2324
|
-
var containerStylesOverrideSchema =
|
|
2410
|
+
var containerStylesOverrideSchema = z17.object({
|
|
2325
2411
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2326
2412
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2327
|
-
raised:
|
|
2413
|
+
raised: z17.boolean().nullable().optional(),
|
|
2328
2414
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2329
|
-
fullWidth:
|
|
2415
|
+
fullWidth: z17.boolean().nullable().optional()
|
|
2330
2416
|
});
|
|
2331
|
-
var cardBorderOverrideSchema =
|
|
2332
|
-
enabled:
|
|
2333
|
-
width:
|
|
2334
|
-
colorToken:
|
|
2417
|
+
var cardBorderOverrideSchema = z17.object({
|
|
2418
|
+
enabled: z17.boolean().nullable().optional(),
|
|
2419
|
+
width: z17.enum(["none", "1", "2", "3"]).nullable().optional(),
|
|
2420
|
+
colorToken: themeColorTokenSchema.nullable().optional()
|
|
2335
2421
|
});
|
|
2336
|
-
var cardStylesOverrideSchema =
|
|
2422
|
+
var cardStylesOverrideSchema = z17.object({
|
|
2337
2423
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2338
2424
|
border: cardBorderOverrideSchema.nullable().optional(),
|
|
2339
2425
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2340
|
-
raised:
|
|
2426
|
+
raised: z17.boolean().nullable().optional(),
|
|
2341
2427
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2342
|
-
treatment:
|
|
2428
|
+
treatment: z17.enum(["accent-quote"]).nullable().optional()
|
|
2343
2429
|
});
|
|
2344
|
-
var blockStyleOverridesSchema =
|
|
2430
|
+
var blockStyleOverridesSchema = z17.object({
|
|
2345
2431
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
2346
2432
|
containerStyles: containerStylesOverrideSchema.nullable().optional(),
|
|
2347
2433
|
cardStyles: cardStylesOverrideSchema.nullable().optional()
|
|
2348
2434
|
});
|
|
2349
|
-
var blockThemeOverrideSchema =
|
|
2350
|
-
typography:
|
|
2435
|
+
var blockThemeOverrideSchema = z17.object({
|
|
2436
|
+
typography: z17.object({
|
|
2351
2437
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2352
2438
|
}).optional(),
|
|
2353
2439
|
styles: blockStyleOverridesSchema.optional()
|
|
2354
2440
|
});
|
|
2355
|
-
var typographyScaleSchema =
|
|
2441
|
+
var typographyScaleSchema = z17.enum([
|
|
2356
2442
|
// New intuitive names
|
|
2357
2443
|
"compact",
|
|
2358
2444
|
// ratio 1.2 (was minorThird)
|
|
@@ -2365,9 +2451,9 @@ var typographyScaleSchema = z15.enum([
|
|
|
2365
2451
|
"majorThird",
|
|
2366
2452
|
"perfectFourth"
|
|
2367
2453
|
]);
|
|
2368
|
-
var typographySchema =
|
|
2454
|
+
var typographySchema = z17.object({
|
|
2369
2455
|
body: bodyTypographyStyleSchema,
|
|
2370
|
-
headings:
|
|
2456
|
+
headings: z17.object({
|
|
2371
2457
|
default: headingTypographyStyleSchema,
|
|
2372
2458
|
h1: headingTypographyOverridesSchema,
|
|
2373
2459
|
h2: headingTypographyOverridesSchema,
|
|
@@ -2380,122 +2466,115 @@ var typographySchema = z15.object({
|
|
|
2380
2466
|
scale: typographyScaleSchema,
|
|
2381
2467
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2382
2468
|
});
|
|
2383
|
-
var spaceSchema =
|
|
2384
|
-
var corners =
|
|
2385
|
-
var shadow =
|
|
2386
|
-
elevation:
|
|
2387
|
-
softness:
|
|
2388
|
-
position:
|
|
2469
|
+
var spaceSchema = z17.enum(["comfortable", "standard", "dense"]);
|
|
2470
|
+
var corners = z17.enum(["square", "soft", "rounded", "pill"]);
|
|
2471
|
+
var shadow = z17.object({
|
|
2472
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2473
|
+
softness: z17.enum(["crisp", "soft", "hard"]).nullable(),
|
|
2474
|
+
position: z17.enum(["bottom", "bottom-right"]).default("bottom")
|
|
2389
2475
|
});
|
|
2390
|
-
var border =
|
|
2391
|
-
width:
|
|
2392
|
-
style:
|
|
2476
|
+
var border = z17.object({
|
|
2477
|
+
width: z17.enum(["none", "hairline", "thin", "thick"]),
|
|
2478
|
+
style: z17.enum(["solid", "dashed"])
|
|
2393
2479
|
});
|
|
2394
|
-
var motion =
|
|
2395
|
-
level:
|
|
2396
|
-
easing:
|
|
2480
|
+
var motion = z17.object({
|
|
2481
|
+
level: z17.enum(["off", "low", "medium", "high"]),
|
|
2482
|
+
easing: z17.enum(["standard", "snappy", "gentle"]).nullable()
|
|
2397
2483
|
});
|
|
2398
|
-
var buttonStyle =
|
|
2484
|
+
var buttonStyle = z17.object({
|
|
2399
2485
|
shape: corners
|
|
2400
2486
|
// Used for --radius-control CSS variable
|
|
2401
2487
|
});
|
|
2402
|
-
var cardStyle =
|
|
2403
|
-
elevation:
|
|
2404
|
-
border:
|
|
2488
|
+
var cardStyle = z17.object({
|
|
2489
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2490
|
+
border: z17.enum(["none", "subtle", "defined"]),
|
|
2405
2491
|
shape: corners,
|
|
2406
|
-
headerStyle:
|
|
2407
|
-
mediaTreatment:
|
|
2492
|
+
headerStyle: z17.enum(["plain", "accentBar", "subtleBg"]).nullable(),
|
|
2493
|
+
mediaTreatment: z17.enum(["square", "rounded", "bleed"]).nullable()
|
|
2408
2494
|
});
|
|
2409
|
-
var inputStyle =
|
|
2495
|
+
var inputStyle = z17.object({
|
|
2410
2496
|
shape: corners,
|
|
2411
|
-
border:
|
|
2412
|
-
focus:
|
|
2413
|
-
label:
|
|
2497
|
+
border: z17.enum(["subtle", "defined", "underline"]),
|
|
2498
|
+
focus: z17.enum(["glow", "ring", "underline"]),
|
|
2499
|
+
label: z17.enum(["inside", "above"])
|
|
2414
2500
|
});
|
|
2415
|
-
var headerVariant =
|
|
2416
|
-
var headerPositioning =
|
|
2417
|
-
var headerNavStyle =
|
|
2418
|
-
var navFontWeight =
|
|
2419
|
-
var headerMaxWidth =
|
|
2420
|
-
var headerContainerSchema =
|
|
2421
|
-
rounded:
|
|
2422
|
-
border:
|
|
2423
|
-
shadow:
|
|
2424
|
-
padding:
|
|
2425
|
-
tint:
|
|
2426
|
-
opacity:
|
|
2501
|
+
var headerVariant = z17.enum(["classic", "centered", "transparent", "floating", "editorial"]);
|
|
2502
|
+
var headerPositioning = z17.enum(["static", "sticky", "fixed"]);
|
|
2503
|
+
var headerNavStyle = z17.enum(["minimal", "underline", "underline-grow", "capsule", "scale", "frosted", "solid"]);
|
|
2504
|
+
var navFontWeight = z17.enum(["regular", "medium", "semibold", "bold"]);
|
|
2505
|
+
var headerMaxWidth = z17.enum(["container", "full"]);
|
|
2506
|
+
var headerContainerSchema = z17.object({
|
|
2507
|
+
rounded: z17.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
|
|
2508
|
+
border: z17.boolean().default(true),
|
|
2509
|
+
shadow: z17.boolean().default(true),
|
|
2510
|
+
padding: z17.enum(["sm", "md", "lg"]).default("md"),
|
|
2511
|
+
tint: z17.string().nullable().optional(),
|
|
2512
|
+
opacity: z17.number().min(0).max(1).default(0.12)
|
|
2427
2513
|
}).optional();
|
|
2428
2514
|
var headerBorderSchema = componentBorderSchema.extend({
|
|
2429
|
-
position:
|
|
2515
|
+
position: z17.enum(["bottom", "top", "both", "none"]).default("bottom")
|
|
2430
2516
|
}).optional();
|
|
2431
|
-
var logoStyleSchema =
|
|
2432
|
-
fontFamily:
|
|
2433
|
-
letterSpacing:
|
|
2434
|
-
gradient:
|
|
2517
|
+
var logoStyleSchema = z17.object({
|
|
2518
|
+
fontFamily: z17.enum(["heading", "body"]).default("heading"),
|
|
2519
|
+
letterSpacing: z17.enum(["normal", "wide", "wider", "widest"]).default("normal"),
|
|
2520
|
+
gradient: z17.boolean().default(false)
|
|
2435
2521
|
}).optional();
|
|
2436
|
-
var headerLogoTextSchema =
|
|
2437
|
-
mobileWrapLines:
|
|
2438
|
-
mobileMaxWidth:
|
|
2439
|
-
hideOnShrink:
|
|
2522
|
+
var headerLogoTextSchema = z17.object({
|
|
2523
|
+
mobileWrapLines: z17.union([z17.literal(1), z17.literal(2)]).optional(),
|
|
2524
|
+
mobileMaxWidth: z17.enum(["xs", "sm", "md"]).optional(),
|
|
2525
|
+
hideOnShrink: z17.boolean().optional()
|
|
2440
2526
|
}).optional();
|
|
2441
|
-
var navEffectsSchema =
|
|
2442
|
-
underlineGradient:
|
|
2443
|
-
glow:
|
|
2444
|
-
glowColor:
|
|
2445
|
-
neumorphic:
|
|
2527
|
+
var navEffectsSchema = z17.object({
|
|
2528
|
+
underlineGradient: z17.boolean().default(false),
|
|
2529
|
+
glow: z17.boolean().default(false),
|
|
2530
|
+
glowColor: z17.string().optional(),
|
|
2531
|
+
neumorphic: z17.boolean().default(false)
|
|
2446
2532
|
}).optional();
|
|
2447
|
-
var dropdownStyleSchema =
|
|
2533
|
+
var dropdownStyleSchema = z17.object({
|
|
2448
2534
|
// Container styling
|
|
2449
|
-
background:
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
// null = no border
|
|
2455
|
-
shadow: z15.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2456
|
-
borderRadius: z15.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2535
|
+
background: themeColorTokenSchema.default("surface"),
|
|
2536
|
+
textColor: themeColorTokenSchema.default("text"),
|
|
2537
|
+
borderColor: themeColorTokenSchema.nullable().default("border"),
|
|
2538
|
+
shadow: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2539
|
+
borderRadius: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2457
2540
|
// Link hover states (explicit control)
|
|
2458
|
-
hoverBackground:
|
|
2459
|
-
|
|
2460
|
-
hoverTextColor: z15.string().nullable().optional(),
|
|
2461
|
-
// color token, null = inherit
|
|
2541
|
+
hoverBackground: themeColorTokenSchema.nullable().optional(),
|
|
2542
|
+
hoverTextColor: themeColorTokenSchema.nullable().optional(),
|
|
2462
2543
|
// Typography
|
|
2463
|
-
textTransform:
|
|
2464
|
-
letterSpacing:
|
|
2465
|
-
fontWeight:
|
|
2544
|
+
textTransform: z17.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
2545
|
+
letterSpacing: z17.enum(["normal", "wide", "wider"]).default("normal"),
|
|
2546
|
+
fontWeight: z17.enum(["regular", "medium", "semibold", "bold"]).optional(),
|
|
2466
2547
|
// optional = inherit from navWeight
|
|
2467
|
-
textSize:
|
|
2548
|
+
textSize: z17.enum(["xs", "sm", "base", "lg"]).optional()
|
|
2468
2549
|
// optional = no override (browser default)
|
|
2469
2550
|
}).optional();
|
|
2470
|
-
var headerCtaGapSchema =
|
|
2471
|
-
var headerCtaTreatmentSchema =
|
|
2472
|
-
var navContainerSchema =
|
|
2473
|
-
type:
|
|
2474
|
-
tint:
|
|
2475
|
-
opacity:
|
|
2551
|
+
var headerCtaGapSchema = z17.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
2552
|
+
var headerCtaTreatmentSchema = z17.enum(["default", "primary", "secondary", "inverted", "outline", "ghost"]);
|
|
2553
|
+
var navContainerSchema = z17.object({
|
|
2554
|
+
type: z17.enum(["none", "pill", "glass"]).default("none"),
|
|
2555
|
+
tint: z17.string().nullable().optional(),
|
|
2556
|
+
opacity: z17.number().min(0).max(1).default(0.15)
|
|
2476
2557
|
}).default({ type: "none", tint: null, opacity: 0.15 });
|
|
2477
|
-
var headerBackgroundSchema =
|
|
2478
|
-
type:
|
|
2479
|
-
color:
|
|
2558
|
+
var headerBackgroundSchema = z17.object({
|
|
2559
|
+
type: z17.enum(["color", "gradient", "image"]),
|
|
2560
|
+
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2480
2561
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
2481
2562
|
image: mediaSchema.nullable().optional(),
|
|
2482
|
-
textColor:
|
|
2563
|
+
textColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
2483
2564
|
});
|
|
2484
|
-
var headerSchema =
|
|
2565
|
+
var headerSchema = z17.object({
|
|
2485
2566
|
variant: headerVariant,
|
|
2486
2567
|
positioning: headerPositioning,
|
|
2487
|
-
shrinkOnScroll:
|
|
2568
|
+
shrinkOnScroll: z17.boolean(),
|
|
2488
2569
|
maxWidth: headerMaxWidth,
|
|
2489
2570
|
logoOverride: mediaSchema.nullable().optional(),
|
|
2490
2571
|
background: headerBackgroundSchema.default({
|
|
2491
2572
|
type: "color",
|
|
2492
2573
|
color: "surface"
|
|
2493
2574
|
}),
|
|
2494
|
-
textColor:
|
|
2495
|
-
// Site title and general header text
|
|
2575
|
+
textColor: themeColorTokenSchema.nullable().optional(),
|
|
2496
2576
|
navStyle: headerNavStyle,
|
|
2497
|
-
navColor:
|
|
2498
|
-
// Nav links (inherits textColor if not set)
|
|
2577
|
+
navColor: themeColorTokenSchema.nullable().optional(),
|
|
2499
2578
|
navWeight: navFontWeight.default("medium"),
|
|
2500
2579
|
// New fields for header system enhancement
|
|
2501
2580
|
container: headerContainerSchema,
|
|
@@ -2516,54 +2595,54 @@ var headerSchema = z15.object({
|
|
|
2516
2595
|
// Optional theme-level CTA variant for header/nav CTA buttons.
|
|
2517
2596
|
// Internal runtime bridge for the block renderer; prefer ctaTreatment in
|
|
2518
2597
|
// authored Theme V2 concepts.
|
|
2519
|
-
ctaVariant:
|
|
2598
|
+
ctaVariant: z17.string().min(1).optional(),
|
|
2520
2599
|
// Dropdown menu styling (nav dropdowns and mobile drawer)
|
|
2521
2600
|
dropdownStyle: dropdownStyleSchema
|
|
2522
2601
|
});
|
|
2523
|
-
var footerVariant =
|
|
2524
|
-
var footerMaxWidth =
|
|
2525
|
-
var footerMode =
|
|
2526
|
-
var footerNavLayoutMode =
|
|
2527
|
-
var footerNavLayoutAlign =
|
|
2528
|
-
var footerSpacing =
|
|
2529
|
-
var footerLogoPlacement =
|
|
2530
|
-
var footerLogoSize =
|
|
2531
|
-
var footerLogoMaxHeight =
|
|
2532
|
-
var footerBottomTextLinkStyleSchema =
|
|
2533
|
-
colorToken:
|
|
2534
|
-
hoverColorToken:
|
|
2535
|
-
decorationColorToken:
|
|
2536
|
-
underline:
|
|
2602
|
+
var footerVariant = z17.enum(["simple", "columns", "split"]);
|
|
2603
|
+
var footerMaxWidth = z17.enum(["container", "full"]);
|
|
2604
|
+
var footerMode = z17.enum(["default", "blocks", "default+blocks", "none"]);
|
|
2605
|
+
var footerNavLayoutMode = z17.enum(["stack", "inline", "inline-wrap"]);
|
|
2606
|
+
var footerNavLayoutAlign = z17.enum(["start", "center", "end", "space-between"]);
|
|
2607
|
+
var footerSpacing = z17.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
|
|
2608
|
+
var footerLogoPlacement = z17.enum(["left", "right", "above", "below"]);
|
|
2609
|
+
var footerLogoSize = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2610
|
+
var footerLogoMaxHeight = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2611
|
+
var footerBottomTextLinkStyleSchema = z17.object({
|
|
2612
|
+
colorToken: themeColorTokenSchema.optional(),
|
|
2613
|
+
hoverColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2614
|
+
decorationColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2615
|
+
underline: z17.boolean().optional()
|
|
2537
2616
|
});
|
|
2538
|
-
var footerBottomBarSchema =
|
|
2539
|
-
enabled:
|
|
2540
|
-
fullBleed:
|
|
2617
|
+
var footerBottomBarSchema = z17.object({
|
|
2618
|
+
enabled: z17.boolean().optional(),
|
|
2619
|
+
fullBleed: z17.boolean().optional(),
|
|
2541
2620
|
background: headerBackgroundSchema.optional(),
|
|
2542
|
-
textColor:
|
|
2543
|
-
textAlign:
|
|
2621
|
+
textColor: themeColorTokenSchema.nullable().optional(),
|
|
2622
|
+
textAlign: z17.enum(["left", "center", "right"]).optional(),
|
|
2544
2623
|
paddingY: footerSpacing.optional(),
|
|
2545
2624
|
paddingX: footerSpacing.optional(),
|
|
2546
|
-
borderTop:
|
|
2547
|
-
colorToken:
|
|
2548
|
-
width:
|
|
2625
|
+
borderTop: z17.object({
|
|
2626
|
+
colorToken: themeColorTokenSchema.nullable().optional(),
|
|
2627
|
+
width: z17.enum(["none", "thin", "medium", "thick"]).optional()
|
|
2549
2628
|
}).optional()
|
|
2550
2629
|
});
|
|
2551
|
-
var footerNavLayoutSchema =
|
|
2630
|
+
var footerNavLayoutSchema = z17.object({
|
|
2552
2631
|
layout: footerNavLayoutMode.optional(),
|
|
2553
2632
|
align: footerNavLayoutAlign.optional(),
|
|
2554
2633
|
gapX: footerSpacing.optional(),
|
|
2555
2634
|
gapY: footerSpacing.optional(),
|
|
2556
|
-
columns:
|
|
2635
|
+
columns: z17.number().int().min(1).max(6).optional()
|
|
2557
2636
|
});
|
|
2558
|
-
var footerLogoSchema =
|
|
2559
|
-
showLogo:
|
|
2560
|
-
showLogoText:
|
|
2637
|
+
var footerLogoSchema = z17.object({
|
|
2638
|
+
showLogo: z17.boolean().default(true),
|
|
2639
|
+
showLogoText: z17.boolean().optional(),
|
|
2561
2640
|
placement: footerLogoPlacement.optional(),
|
|
2562
2641
|
size: footerLogoSize.optional(),
|
|
2563
2642
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
2564
|
-
align:
|
|
2643
|
+
align: z17.enum(["start", "center", "end"]).optional()
|
|
2565
2644
|
});
|
|
2566
|
-
var footerSchema =
|
|
2645
|
+
var footerSchema = z17.object({
|
|
2567
2646
|
/**
|
|
2568
2647
|
* SDK-only footer rendering mode.
|
|
2569
2648
|
*
|
|
@@ -2572,14 +2651,14 @@ var footerSchema = z15.object({
|
|
|
2572
2651
|
mode: footerMode.optional(),
|
|
2573
2652
|
variant: footerVariant,
|
|
2574
2653
|
maxWidth: footerMaxWidth,
|
|
2575
|
-
showLogoText:
|
|
2654
|
+
showLogoText: z17.boolean().optional(),
|
|
2576
2655
|
background: headerBackgroundSchema.default({
|
|
2577
2656
|
type: "color",
|
|
2578
2657
|
color: "surface"
|
|
2579
2658
|
}),
|
|
2580
2659
|
// Footer nav styling (independent from header)
|
|
2581
2660
|
navStyle: headerNavStyle.default("minimal"),
|
|
2582
|
-
navColor:
|
|
2661
|
+
navColor: themeColorTokenSchema.nullable().optional(),
|
|
2583
2662
|
navWeight: navFontWeight.default("medium"),
|
|
2584
2663
|
// Full nav link customization (overrides navStyle if set)
|
|
2585
2664
|
navLinkStyle: navLinkStyleSchema.optional(),
|
|
@@ -2590,23 +2669,23 @@ var footerSchema = z15.object({
|
|
|
2590
2669
|
logo: footerLogoSchema.optional(),
|
|
2591
2670
|
bottomBar: footerBottomBarSchema.optional()
|
|
2592
2671
|
});
|
|
2593
|
-
var containerPaddingPresetSchema =
|
|
2594
|
-
var layoutSchema =
|
|
2595
|
-
containerPadding:
|
|
2672
|
+
var containerPaddingPresetSchema = z17.enum(["tight", "compact", "default", "relaxed"]);
|
|
2673
|
+
var layoutSchema = z17.object({
|
|
2674
|
+
containerPadding: z17.object({
|
|
2596
2675
|
mobile: containerPaddingPresetSchema.optional(),
|
|
2597
2676
|
tablet: containerPaddingPresetSchema.optional(),
|
|
2598
2677
|
desktop: containerPaddingPresetSchema.optional()
|
|
2599
2678
|
}).optional()
|
|
2600
2679
|
}).optional();
|
|
2601
|
-
var heroTypographySizeSchema =
|
|
2602
|
-
var heroTypographyLineHeightSchema =
|
|
2603
|
-
var heroResponsiveTypographySchema =
|
|
2680
|
+
var heroTypographySizeSchema = z17.enum(["sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "editorial"]);
|
|
2681
|
+
var heroTypographyLineHeightSchema = z17.enum(["tight", "snug", "normal", "relaxed"]);
|
|
2682
|
+
var heroResponsiveTypographySchema = z17.object({
|
|
2604
2683
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2605
2684
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2606
2685
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
2607
2686
|
subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
|
|
2608
2687
|
});
|
|
2609
|
-
var heroTypographySchema =
|
|
2688
|
+
var heroTypographySchema = z17.object({
|
|
2610
2689
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2611
2690
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2612
2691
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
@@ -2615,31 +2694,31 @@ var heroTypographySchema = z15.object({
|
|
|
2615
2694
|
microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2616
2695
|
microSubheadlineSize: heroTypographySizeSchema.optional(),
|
|
2617
2696
|
microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2618
|
-
responsive:
|
|
2697
|
+
responsive: z17.object({
|
|
2619
2698
|
tablet: heroResponsiveTypographySchema.optional(),
|
|
2620
2699
|
mobile: heroResponsiveTypographySchema.optional()
|
|
2621
2700
|
}).optional()
|
|
2622
2701
|
});
|
|
2623
|
-
var heroSchema =
|
|
2702
|
+
var heroSchema = z17.object({
|
|
2624
2703
|
typography: heroTypographySchema.optional()
|
|
2625
2704
|
}).optional();
|
|
2626
|
-
var bodyTextIntroTypographySizeSchema =
|
|
2627
|
-
var bodyTextSchema =
|
|
2628
|
-
intro:
|
|
2705
|
+
var bodyTextIntroTypographySizeSchema = z17.enum(["default", "editorial"]);
|
|
2706
|
+
var bodyTextSchema = z17.object({
|
|
2707
|
+
intro: z17.object({
|
|
2629
2708
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
2630
2709
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
2631
2710
|
}).optional()
|
|
2632
2711
|
}).optional();
|
|
2633
|
-
var gradientsSchema =
|
|
2634
|
-
button:
|
|
2635
|
-
hero:
|
|
2636
|
-
background:
|
|
2712
|
+
var gradientsSchema = z17.object({
|
|
2713
|
+
button: z17.string().min(1).nullable().optional(),
|
|
2714
|
+
hero: z17.string().min(1).nullable().optional(),
|
|
2715
|
+
background: z17.string().min(1).nullable().optional()
|
|
2637
2716
|
});
|
|
2638
|
-
var themeSchema =
|
|
2639
|
-
name:
|
|
2640
|
-
description:
|
|
2641
|
-
rationale:
|
|
2642
|
-
siteStyleId:
|
|
2717
|
+
var themeSchema = z17.object({
|
|
2718
|
+
name: z17.string().min(1).max(30),
|
|
2719
|
+
description: z17.string().min(1).max(400),
|
|
2720
|
+
rationale: z17.string().min(1).max(400),
|
|
2721
|
+
siteStyleId: z17.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
|
|
2643
2722
|
axes: axesSchema,
|
|
2644
2723
|
palette: paletteSchema,
|
|
2645
2724
|
typography: typographySchema,
|
|
@@ -2667,15 +2746,15 @@ var themeSchema = z15.object({
|
|
|
2667
2746
|
// Block-specific customization (Tier 3)
|
|
2668
2747
|
// blockCustomVars: Per-block CSS variable overrides as bare values
|
|
2669
2748
|
// Example: { "event-registration": { "--step-color": "#6d28d9" } }
|
|
2670
|
-
blockCustomVars:
|
|
2671
|
-
|
|
2749
|
+
blockCustomVars: z17.record(
|
|
2750
|
+
z17.string(),
|
|
2672
2751
|
// block kind (matches data-block attribute)
|
|
2673
|
-
|
|
2752
|
+
z17.record(z17.string(), z17.string())
|
|
2674
2753
|
// { '--var-name': 'value' }
|
|
2675
2754
|
).optional(),
|
|
2676
2755
|
// Structured block-kind theme overrides (v1: typography prose-link style only)
|
|
2677
2756
|
// Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
|
|
2678
|
-
blockOverrides:
|
|
2757
|
+
blockOverrides: z17.record(z17.string(), blockThemeOverrideSchema).optional(),
|
|
2679
2758
|
// Structured custom CSS rules
|
|
2680
2759
|
// Validated, scoped, and safe by construction - no @import, remote url(), or global selectors
|
|
2681
2760
|
customCssRules: customCssRulesSchema,
|
|
@@ -2709,11 +2788,11 @@ var themeSchema = z15.object({
|
|
|
2709
2788
|
* }
|
|
2710
2789
|
* ```
|
|
2711
2790
|
*/
|
|
2712
|
-
styleGroups:
|
|
2791
|
+
styleGroups: z17.record(z17.string(), z17.array(z17.string())).optional()
|
|
2713
2792
|
});
|
|
2714
|
-
var themesTurnSchema =
|
|
2715
|
-
message:
|
|
2716
|
-
themes:
|
|
2793
|
+
var themesTurnSchema = z17.object({
|
|
2794
|
+
message: z17.string().min(1),
|
|
2795
|
+
themes: z17.array(themeSchema).length(3)
|
|
2717
2796
|
});
|
|
2718
2797
|
|
|
2719
2798
|
// ../theme-core/src/palette/variants/types.ts
|
|
@@ -2723,35 +2802,19 @@ function asPaletteVariantId(value) {
|
|
|
2723
2802
|
}
|
|
2724
2803
|
return value;
|
|
2725
2804
|
}
|
|
2726
|
-
var paletteVariantIdSchema =
|
|
2727
|
-
var PALETTE_TOKEN_NAMES = [
|
|
2728
|
-
"primary",
|
|
2729
|
-
"primaryForeground",
|
|
2730
|
-
"secondary",
|
|
2731
|
-
"accent",
|
|
2732
|
-
"success",
|
|
2733
|
-
"warning",
|
|
2734
|
-
"destructive",
|
|
2735
|
-
"background",
|
|
2736
|
-
"surface",
|
|
2737
|
-
"surfaceAlt",
|
|
2738
|
-
"muted",
|
|
2739
|
-
"text",
|
|
2740
|
-
"border"
|
|
2741
|
-
];
|
|
2742
|
-
var paletteTokenNameSchema = z16.enum(PALETTE_TOKEN_NAMES);
|
|
2805
|
+
var paletteVariantIdSchema = z18.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
2743
2806
|
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
2744
|
-
var hexColorSchema =
|
|
2807
|
+
var hexColorSchema = z18.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
2745
2808
|
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
2746
2809
|
name: paletteTokenNameSchema
|
|
2747
2810
|
});
|
|
2748
|
-
var paletteVariantSchema =
|
|
2811
|
+
var paletteVariantSchema = z18.object({
|
|
2749
2812
|
id: paletteVariantIdSchema,
|
|
2750
|
-
name:
|
|
2751
|
-
description:
|
|
2813
|
+
name: z18.string().min(1),
|
|
2814
|
+
description: z18.string().min(1),
|
|
2752
2815
|
tags: styleTagsSchema,
|
|
2753
|
-
mode:
|
|
2754
|
-
colors:
|
|
2816
|
+
mode: z18.enum(["light", "dark"]),
|
|
2817
|
+
colors: z18.array(variantPaletteColorSchema).min(1)
|
|
2755
2818
|
});
|
|
2756
2819
|
function definePaletteVariant(input) {
|
|
2757
2820
|
return {
|
|
@@ -2763,7 +2826,7 @@ function definePaletteVariant(input) {
|
|
|
2763
2826
|
colors: input.colors
|
|
2764
2827
|
};
|
|
2765
2828
|
}
|
|
2766
|
-
var paletteOverridesSchema =
|
|
2829
|
+
var paletteOverridesSchema = z18.object({
|
|
2767
2830
|
primary: hexColorSchema.optional(),
|
|
2768
2831
|
primaryForeground: hexColorSchema.optional(),
|
|
2769
2832
|
secondary: hexColorSchema.optional(),
|
|
@@ -3097,6 +3160,409 @@ var paletteVariantsById = new Map(
|
|
|
3097
3160
|
paletteVariants.map((v) => [v.id, v])
|
|
3098
3161
|
);
|
|
3099
3162
|
|
|
3163
|
+
// ../theme-core/src/site-styles/headerLooks.ts
|
|
3164
|
+
function asHeaderLookId(value) {
|
|
3165
|
+
return value;
|
|
3166
|
+
}
|
|
3167
|
+
function baseHeader(theme) {
|
|
3168
|
+
return {
|
|
3169
|
+
...theme.header,
|
|
3170
|
+
navLinkStyle: void 0,
|
|
3171
|
+
dropdownStyle: void 0,
|
|
3172
|
+
ctaVariant: void 0
|
|
3173
|
+
};
|
|
3174
|
+
}
|
|
3175
|
+
function solidBrandHeader(theme) {
|
|
3176
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
3177
|
+
return {
|
|
3178
|
+
...baseHeader(theme),
|
|
3179
|
+
variant: "classic",
|
|
3180
|
+
positioning: "sticky",
|
|
3181
|
+
shrinkOnScroll: true,
|
|
3182
|
+
background: {
|
|
3183
|
+
type: "color",
|
|
3184
|
+
color: "primary"
|
|
3185
|
+
},
|
|
3186
|
+
textColor: "primaryForeground",
|
|
3187
|
+
navColor: "primaryForeground",
|
|
3188
|
+
navStyle: "underline-grow",
|
|
3189
|
+
navWeight: "bold",
|
|
3190
|
+
navLinkStyle: {
|
|
3191
|
+
typography: "body",
|
|
3192
|
+
fontWeight: "bold",
|
|
3193
|
+
textTransform: "uppercase",
|
|
3194
|
+
italic: false,
|
|
3195
|
+
colorToken: "primaryForeground",
|
|
3196
|
+
hoverColorToken: "secondary",
|
|
3197
|
+
textSize: "sm",
|
|
3198
|
+
letterSpacing: "wider",
|
|
3199
|
+
padding: "compact",
|
|
3200
|
+
paddingX: "compact",
|
|
3201
|
+
borderRadius: "none",
|
|
3202
|
+
effects: {
|
|
3203
|
+
hover: [
|
|
3204
|
+
{ effectId: "text-color-change", options: { hoverColorToken: "secondary" } },
|
|
3205
|
+
{ effectId: "nav-underline", options: { style: "grow", colorToken: "secondary" } }
|
|
3206
|
+
]
|
|
3207
|
+
}
|
|
3208
|
+
},
|
|
3209
|
+
dropdownStyle: {
|
|
3210
|
+
background: "primary-700",
|
|
3211
|
+
textColor: "primaryForeground",
|
|
3212
|
+
borderColor: null,
|
|
3213
|
+
shadow: "md",
|
|
3214
|
+
borderRadius: "md",
|
|
3215
|
+
hoverBackground: "primary-900",
|
|
3216
|
+
hoverTextColor: "secondary",
|
|
3217
|
+
textTransform: "uppercase",
|
|
3218
|
+
letterSpacing: "wider",
|
|
3219
|
+
fontWeight: "bold",
|
|
3220
|
+
textSize: "sm"
|
|
3221
|
+
},
|
|
3222
|
+
border: {
|
|
3223
|
+
style: "solid",
|
|
3224
|
+
width: "none",
|
|
3225
|
+
position: "none"
|
|
3226
|
+
},
|
|
3227
|
+
logoText: {
|
|
3228
|
+
hideOnShrink: true,
|
|
3229
|
+
mobileMaxWidth: "sm",
|
|
3230
|
+
mobileWrapLines: 2
|
|
3231
|
+
},
|
|
3232
|
+
ctaGap: "compact",
|
|
3233
|
+
ctaTreatment: "inverted",
|
|
3234
|
+
...ctaVariant ? { ctaVariant } : {}
|
|
3235
|
+
};
|
|
3236
|
+
}
|
|
3237
|
+
function cleanBaseHeader(theme) {
|
|
3238
|
+
return {
|
|
3239
|
+
...baseHeader(theme),
|
|
3240
|
+
variant: "classic",
|
|
3241
|
+
positioning: "sticky",
|
|
3242
|
+
shrinkOnScroll: false,
|
|
3243
|
+
background: {
|
|
3244
|
+
type: "color",
|
|
3245
|
+
color: "surface"
|
|
3246
|
+
},
|
|
3247
|
+
textColor: "text",
|
|
3248
|
+
navColor: "text",
|
|
3249
|
+
navStyle: "minimal",
|
|
3250
|
+
navWeight: "medium",
|
|
3251
|
+
border: {
|
|
3252
|
+
style: "solid",
|
|
3253
|
+
width: "thin",
|
|
3254
|
+
position: "bottom",
|
|
3255
|
+
colorToken: "border"
|
|
3256
|
+
},
|
|
3257
|
+
ctaTreatment: "default",
|
|
3258
|
+
ctaGap: "default"
|
|
3259
|
+
};
|
|
3260
|
+
}
|
|
3261
|
+
function editorialLineHeader(theme) {
|
|
3262
|
+
return {
|
|
3263
|
+
...baseHeader(theme),
|
|
3264
|
+
variant: "editorial",
|
|
3265
|
+
positioning: "sticky",
|
|
3266
|
+
shrinkOnScroll: false,
|
|
3267
|
+
background: {
|
|
3268
|
+
type: "color",
|
|
3269
|
+
color: "background"
|
|
3270
|
+
},
|
|
3271
|
+
textColor: "text",
|
|
3272
|
+
navColor: "text",
|
|
3273
|
+
navStyle: "underline-grow",
|
|
3274
|
+
navWeight: "medium",
|
|
3275
|
+
logo: {
|
|
3276
|
+
fontFamily: "heading",
|
|
3277
|
+
letterSpacing: "wide",
|
|
3278
|
+
gradient: false
|
|
3279
|
+
},
|
|
3280
|
+
ctaTreatment: "outline",
|
|
3281
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
3282
|
+
ctaGap: "relaxed"
|
|
3283
|
+
};
|
|
3284
|
+
}
|
|
3285
|
+
function centeredCalmHeader(theme) {
|
|
3286
|
+
return {
|
|
3287
|
+
...baseHeader(theme),
|
|
3288
|
+
variant: "centered",
|
|
3289
|
+
positioning: "static",
|
|
3290
|
+
shrinkOnScroll: false,
|
|
3291
|
+
background: {
|
|
3292
|
+
type: "color",
|
|
3293
|
+
color: "surface"
|
|
3294
|
+
},
|
|
3295
|
+
textColor: "text",
|
|
3296
|
+
navColor: "text",
|
|
3297
|
+
navStyle: "minimal",
|
|
3298
|
+
navWeight: "medium",
|
|
3299
|
+
ctaTreatment: "ghost",
|
|
3300
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "ghost"),
|
|
3301
|
+
ctaGap: "none"
|
|
3302
|
+
};
|
|
3303
|
+
}
|
|
3304
|
+
function practicalUtilityHeader(theme) {
|
|
3305
|
+
return {
|
|
3306
|
+
...baseHeader(theme),
|
|
3307
|
+
variant: "classic",
|
|
3308
|
+
positioning: "sticky",
|
|
3309
|
+
shrinkOnScroll: true,
|
|
3310
|
+
background: {
|
|
3311
|
+
type: "color",
|
|
3312
|
+
color: "surface"
|
|
3313
|
+
},
|
|
3314
|
+
textColor: "text",
|
|
3315
|
+
navColor: "text",
|
|
3316
|
+
navStyle: "solid",
|
|
3317
|
+
navWeight: "semibold",
|
|
3318
|
+
shadow: {
|
|
3319
|
+
elevation: "sm"
|
|
3320
|
+
},
|
|
3321
|
+
border: {
|
|
3322
|
+
style: "solid",
|
|
3323
|
+
width: "thin",
|
|
3324
|
+
position: "bottom",
|
|
3325
|
+
colorToken: "border"
|
|
3326
|
+
},
|
|
3327
|
+
ctaTreatment: "primary",
|
|
3328
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "primary"),
|
|
3329
|
+
ctaGap: "compact",
|
|
3330
|
+
logoText: {
|
|
3331
|
+
mobileMaxWidth: "sm",
|
|
3332
|
+
mobileWrapLines: 1,
|
|
3333
|
+
hideOnShrink: false
|
|
3334
|
+
}
|
|
3335
|
+
};
|
|
3336
|
+
}
|
|
3337
|
+
function minimalTransparentHeader(theme) {
|
|
3338
|
+
return {
|
|
3339
|
+
...baseHeader(theme),
|
|
3340
|
+
variant: "classic",
|
|
3341
|
+
positioning: "static",
|
|
3342
|
+
shrinkOnScroll: false,
|
|
3343
|
+
background: {
|
|
3344
|
+
type: "color",
|
|
3345
|
+
color: "transparent"
|
|
3346
|
+
},
|
|
3347
|
+
textColor: "text",
|
|
3348
|
+
navColor: "text",
|
|
3349
|
+
navStyle: "underline",
|
|
3350
|
+
navWeight: "medium",
|
|
3351
|
+
border: {
|
|
3352
|
+
style: "solid",
|
|
3353
|
+
width: "none",
|
|
3354
|
+
position: "none"
|
|
3355
|
+
},
|
|
3356
|
+
ctaTreatment: "outline",
|
|
3357
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
|
|
3358
|
+
ctaGap: "default"
|
|
3359
|
+
};
|
|
3360
|
+
}
|
|
3361
|
+
function transparentOverlayHeader(theme) {
|
|
3362
|
+
return {
|
|
3363
|
+
...baseHeader(theme),
|
|
3364
|
+
variant: "transparent",
|
|
3365
|
+
positioning: "fixed",
|
|
3366
|
+
shrinkOnScroll: true,
|
|
3367
|
+
background: {
|
|
3368
|
+
type: "color",
|
|
3369
|
+
color: "transparent"
|
|
3370
|
+
},
|
|
3371
|
+
textColor: "background",
|
|
3372
|
+
navColor: "background",
|
|
3373
|
+
navStyle: "frosted",
|
|
3374
|
+
navWeight: "semibold",
|
|
3375
|
+
border: {
|
|
3376
|
+
style: "solid",
|
|
3377
|
+
width: "none",
|
|
3378
|
+
position: "none"
|
|
3379
|
+
},
|
|
3380
|
+
ctaTreatment: "inverted",
|
|
3381
|
+
ctaVariant: resolveHeaderCtaVariant(theme, "inverted"),
|
|
3382
|
+
ctaGap: "compact"
|
|
3383
|
+
};
|
|
3384
|
+
}
|
|
3385
|
+
function floatingGlassHeader(theme) {
|
|
3386
|
+
return {
|
|
3387
|
+
...transparentOverlayHeader(theme),
|
|
3388
|
+
variant: "floating",
|
|
3389
|
+
navStyle: "frosted",
|
|
3390
|
+
navContainer: {
|
|
3391
|
+
type: "glass",
|
|
3392
|
+
tint: "text",
|
|
3393
|
+
opacity: 0.16
|
|
3394
|
+
},
|
|
3395
|
+
container: {
|
|
3396
|
+
rounded: "2xl",
|
|
3397
|
+
border: true,
|
|
3398
|
+
shadow: true,
|
|
3399
|
+
padding: "sm",
|
|
3400
|
+
tint: "background",
|
|
3401
|
+
opacity: 0.12
|
|
3402
|
+
}
|
|
3403
|
+
};
|
|
3404
|
+
}
|
|
3405
|
+
var headerLookCatalog = [
|
|
3406
|
+
{
|
|
3407
|
+
id: asHeaderLookId("clean-base"),
|
|
3408
|
+
label: "Clean base",
|
|
3409
|
+
visualTreatment: "solid-neutral",
|
|
3410
|
+
layoutBehavior: "sticky",
|
|
3411
|
+
openingRequirement: "none",
|
|
3412
|
+
compile: cleanBaseHeader
|
|
3413
|
+
},
|
|
3414
|
+
{
|
|
3415
|
+
id: asHeaderLookId("brand-solid"),
|
|
3416
|
+
label: "Brand solid",
|
|
3417
|
+
visualTreatment: "solid-brand",
|
|
3418
|
+
layoutBehavior: "sticky-shrink",
|
|
3419
|
+
openingRequirement: "none",
|
|
3420
|
+
compile: solidBrandHeader
|
|
3421
|
+
},
|
|
3422
|
+
{
|
|
3423
|
+
id: asHeaderLookId("editorial-line"),
|
|
3424
|
+
label: "Editorial line",
|
|
3425
|
+
visualTreatment: "light-editorial",
|
|
3426
|
+
layoutBehavior: "sticky",
|
|
3427
|
+
openingRequirement: "none",
|
|
3428
|
+
maxRecommendedNavItems: 6,
|
|
3429
|
+
compile: editorialLineHeader
|
|
3430
|
+
},
|
|
3431
|
+
{
|
|
3432
|
+
id: asHeaderLookId("centered-calm"),
|
|
3433
|
+
label: "Centered calm",
|
|
3434
|
+
visualTreatment: "light-editorial",
|
|
3435
|
+
layoutBehavior: "normal-flow",
|
|
3436
|
+
openingRequirement: "none",
|
|
3437
|
+
maxRecommendedNavItems: 5,
|
|
3438
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
3439
|
+
compile: centeredCalmHeader
|
|
3440
|
+
},
|
|
3441
|
+
{
|
|
3442
|
+
id: asHeaderLookId("practical-utility"),
|
|
3443
|
+
label: "Practical utility",
|
|
3444
|
+
visualTreatment: "solid-neutral",
|
|
3445
|
+
layoutBehavior: "sticky-shrink",
|
|
3446
|
+
openingRequirement: "none",
|
|
3447
|
+
requiresProminentCta: true,
|
|
3448
|
+
compile: practicalUtilityHeader
|
|
3449
|
+
},
|
|
3450
|
+
{
|
|
3451
|
+
id: asHeaderLookId("minimal-transparent"),
|
|
3452
|
+
label: "Minimal transparent",
|
|
3453
|
+
visualTreatment: "minimal-transparent",
|
|
3454
|
+
layoutBehavior: "normal-flow",
|
|
3455
|
+
openingRequirement: "reserved-space-ok",
|
|
3456
|
+
compile: minimalTransparentHeader
|
|
3457
|
+
},
|
|
3458
|
+
{
|
|
3459
|
+
id: asHeaderLookId("transparent-overlay"),
|
|
3460
|
+
label: "Transparent overlay",
|
|
3461
|
+
visualTreatment: "transparent-overlay",
|
|
3462
|
+
layoutBehavior: "fixed-overlay",
|
|
3463
|
+
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3464
|
+
maxRecommendedNavItems: 5,
|
|
3465
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
3466
|
+
compile: transparentOverlayHeader
|
|
3467
|
+
},
|
|
3468
|
+
{
|
|
3469
|
+
id: asHeaderLookId("floating-glass"),
|
|
3470
|
+
label: "Floating glass",
|
|
3471
|
+
visualTreatment: "floating-glass",
|
|
3472
|
+
layoutBehavior: "fixed-floating",
|
|
3473
|
+
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3474
|
+
maxRecommendedNavItems: 5,
|
|
3475
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
3476
|
+
compile: floatingGlassHeader
|
|
3477
|
+
}
|
|
3478
|
+
];
|
|
3479
|
+
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
3480
|
+
var headerLooksById = new Map(
|
|
3481
|
+
headerLookCatalog.map((look) => [look.id, look])
|
|
3482
|
+
);
|
|
3483
|
+
|
|
3484
|
+
// ../theme-core/src/site-styles/footerLooks.ts
|
|
3485
|
+
function asFooterLookId(value) {
|
|
3486
|
+
return value;
|
|
3487
|
+
}
|
|
3488
|
+
var guaranteedFallbackFooterLookId = asFooterLookId("footer-muted-grounding");
|
|
3489
|
+
function mutedGroundingFooter(theme) {
|
|
3490
|
+
return theme.footer;
|
|
3491
|
+
}
|
|
3492
|
+
function brandTwoBandFooter(theme) {
|
|
3493
|
+
return {
|
|
3494
|
+
...theme.footer,
|
|
3495
|
+
variant: "split",
|
|
3496
|
+
maxWidth: "container",
|
|
3497
|
+
background: {
|
|
3498
|
+
type: "color",
|
|
3499
|
+
color: "primary-800"
|
|
3500
|
+
},
|
|
3501
|
+
navStyle: "minimal",
|
|
3502
|
+
navWeight: "medium",
|
|
3503
|
+
navColor: "primaryForeground",
|
|
3504
|
+
navLinkStyle: {
|
|
3505
|
+
typography: "body",
|
|
3506
|
+
fontWeight: "medium",
|
|
3507
|
+
textTransform: "none",
|
|
3508
|
+
italic: false,
|
|
3509
|
+
colorToken: "primaryForeground",
|
|
3510
|
+
hoverColorToken: "secondary",
|
|
3511
|
+
padding: "none",
|
|
3512
|
+
borderRadius: "none"
|
|
3513
|
+
},
|
|
3514
|
+
bottomTextLinkStyle: {
|
|
3515
|
+
colorToken: "secondary",
|
|
3516
|
+
decorationColorToken: "secondary"
|
|
3517
|
+
},
|
|
3518
|
+
navLayout: {
|
|
3519
|
+
layout: "inline-wrap",
|
|
3520
|
+
align: "start",
|
|
3521
|
+
gapX: "default",
|
|
3522
|
+
gapY: "tight"
|
|
3523
|
+
},
|
|
3524
|
+
logo: {
|
|
3525
|
+
showLogo: true,
|
|
3526
|
+
showLogoText: false,
|
|
3527
|
+
placement: "left",
|
|
3528
|
+
size: "sm",
|
|
3529
|
+
align: "start"
|
|
3530
|
+
},
|
|
3531
|
+
bottomBar: {
|
|
3532
|
+
enabled: true,
|
|
3533
|
+
fullBleed: true,
|
|
3534
|
+
background: {
|
|
3535
|
+
type: "color",
|
|
3536
|
+
color: "primary-900"
|
|
3537
|
+
},
|
|
3538
|
+
textColor: "primaryForeground",
|
|
3539
|
+
textAlign: "center",
|
|
3540
|
+
paddingX: "default",
|
|
3541
|
+
paddingY: "compact",
|
|
3542
|
+
borderTop: {
|
|
3543
|
+
width: "none"
|
|
3544
|
+
}
|
|
3545
|
+
}
|
|
3546
|
+
};
|
|
3547
|
+
}
|
|
3548
|
+
var footerLookCatalog = [
|
|
3549
|
+
{
|
|
3550
|
+
id: asFooterLookId("footer-muted-grounding"),
|
|
3551
|
+
label: "Muted grounding footer",
|
|
3552
|
+
compile: mutedGroundingFooter
|
|
3553
|
+
},
|
|
3554
|
+
{
|
|
3555
|
+
id: asFooterLookId("site-footer-brand-two-band"),
|
|
3556
|
+
label: "Two-band brand footer",
|
|
3557
|
+
maxRecommendedNavDensity: "balanced",
|
|
3558
|
+
allowedContentPresence: ["default-footer", "default-and-blocks"],
|
|
3559
|
+
compile: brandTwoBandFooter
|
|
3560
|
+
}
|
|
3561
|
+
];
|
|
3562
|
+
var footerLooksById = new Map(
|
|
3563
|
+
footerLookCatalog.map((look) => [look.id, look])
|
|
3564
|
+
);
|
|
3565
|
+
|
|
3100
3566
|
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
3101
3567
|
var generatedContentFrames = [
|
|
3102
3568
|
plainFrame,
|
|
@@ -3250,6 +3716,9 @@ function defineCuratedSiteStyle(input) {
|
|
|
3250
3716
|
},
|
|
3251
3717
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
3252
3718
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
3719
|
+
recommendedHeaderLookIds: (input.recommendedHeaderLookIds ?? ["clean-base"]).map(asHeaderLookId),
|
|
3720
|
+
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
3721
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
3253
3722
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
3254
3723
|
paletteVariantChoices: input.paletteVariantChoices
|
|
3255
3724
|
};
|
|
@@ -3276,6 +3745,7 @@ var curatedSiteStyles = [
|
|
|
3276
3745
|
motion: "subtle"
|
|
3277
3746
|
},
|
|
3278
3747
|
compositionBudget: quietBudget,
|
|
3748
|
+
recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
|
|
3279
3749
|
buttonPersonalityChoices: [
|
|
3280
3750
|
buttonChoice("soft-pill"),
|
|
3281
3751
|
buttonChoice("pebble"),
|
|
@@ -3304,6 +3774,7 @@ var curatedSiteStyles = [
|
|
|
3304
3774
|
motion: "subtle"
|
|
3305
3775
|
},
|
|
3306
3776
|
compositionBudget: balancedBudget,
|
|
3777
|
+
recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
|
|
3307
3778
|
buttonPersonalityChoices: [
|
|
3308
3779
|
buttonChoice("confident-chip"),
|
|
3309
3780
|
buttonChoice("soft-pill"),
|
|
@@ -3330,6 +3801,7 @@ var curatedSiteStyles = [
|
|
|
3330
3801
|
motion: "subtle"
|
|
3331
3802
|
},
|
|
3332
3803
|
compositionBudget: balancedBudget,
|
|
3804
|
+
recommendedHeaderLookIds: ["editorial-line", "minimal-transparent", "centered-calm"],
|
|
3333
3805
|
buttonPersonalityChoices: [
|
|
3334
3806
|
buttonChoice("editorial-link"),
|
|
3335
3807
|
buttonChoice("soft-pill"),
|
|
@@ -3357,6 +3829,7 @@ var curatedSiteStyles = [
|
|
|
3357
3829
|
motion: "expressive"
|
|
3358
3830
|
},
|
|
3359
3831
|
compositionBudget: balancedBudget,
|
|
3832
|
+
recommendedHeaderLookIds: ["brand-solid", "practical-utility", "clean-base"],
|
|
3360
3833
|
buttonPersonalityChoices: [
|
|
3361
3834
|
buttonChoice("pebble"),
|
|
3362
3835
|
buttonChoice("brushed-wash"),
|
|
@@ -3390,6 +3863,7 @@ var curatedSiteStyles = [
|
|
|
3390
3863
|
motion: "none"
|
|
3391
3864
|
},
|
|
3392
3865
|
compositionBudget: quietBudget,
|
|
3866
|
+
recommendedHeaderLookIds: ["minimal-transparent", "editorial-line", "clean-base"],
|
|
3393
3867
|
buttonPersonalityChoices: [
|
|
3394
3868
|
buttonChoice("editorial-link"),
|
|
3395
3869
|
buttonChoice("confident-chip"),
|
|
@@ -3424,6 +3898,7 @@ var curatedSiteStyles = [
|
|
|
3424
3898
|
motion: "none"
|
|
3425
3899
|
},
|
|
3426
3900
|
compositionBudget: quietBudget,
|
|
3901
|
+
recommendedHeaderLookIds: ["practical-utility", "brand-solid", "clean-base"],
|
|
3427
3902
|
buttonPersonalityChoices: [
|
|
3428
3903
|
buttonChoice("confident-chip"),
|
|
3429
3904
|
buttonChoice("pebble"),
|
|
@@ -3450,6 +3925,7 @@ var curatedSiteStyles = [
|
|
|
3450
3925
|
motion: "subtle"
|
|
3451
3926
|
},
|
|
3452
3927
|
compositionBudget: balancedBudget,
|
|
3928
|
+
recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "clean-base"],
|
|
3453
3929
|
buttonPersonalityChoices: [
|
|
3454
3930
|
buttonChoice("soft-pill"),
|
|
3455
3931
|
buttonChoice("pebble"),
|
|
@@ -3484,6 +3960,7 @@ var curatedSiteStyles = [
|
|
|
3484
3960
|
motion: "expressive"
|
|
3485
3961
|
},
|
|
3486
3962
|
compositionBudget: expressiveBudget,
|
|
3963
|
+
recommendedHeaderLookIds: ["transparent-overlay", "floating-glass", "brand-solid"],
|
|
3487
3964
|
buttonPersonalityChoices: [
|
|
3488
3965
|
buttonChoice("ink-stamp"),
|
|
3489
3966
|
buttonChoice("confident-chip"),
|
|
@@ -3573,14 +4050,14 @@ var curatedSiteStyles = [
|
|
|
3573
4050
|
inputs: expressiveUnderlineInputs
|
|
3574
4051
|
},
|
|
3575
4052
|
recommendedAppearancePresetIds: [
|
|
3576
|
-
"site-header-brand-solid-inverted-cta",
|
|
3577
|
-
"site-footer-brand-two-band",
|
|
3578
4053
|
"hero-brand-scrim-fixed-frame",
|
|
3579
4054
|
"body-text-editorial-intro",
|
|
3580
4055
|
"schedule-details-brand-depth",
|
|
3581
4056
|
"testimonials-accent-quote-proof",
|
|
3582
4057
|
"contact-form-brand-depth-card"
|
|
3583
4058
|
],
|
|
4059
|
+
recommendedHeaderLookIds: ["brand-solid", "transparent-overlay", "practical-utility"],
|
|
4060
|
+
recommendedFooterLookIds: ["site-footer-brand-two-band", "footer-muted-grounding"],
|
|
3584
4061
|
buttonPersonalityChoices: [
|
|
3585
4062
|
buttonChoice("showtime-pill"),
|
|
3586
4063
|
buttonChoice("confident-chip"),
|
|
@@ -3599,6 +4076,14 @@ var curatedSiteStylesById = new Map(
|
|
|
3599
4076
|
curatedSiteStyles.map((style) => [style.id, style])
|
|
3600
4077
|
);
|
|
3601
4078
|
|
|
4079
|
+
// ../theme-core/src/site-styles/siteStyleBlockPolicies.ts
|
|
4080
|
+
var defaultPolicyPageFlowPresetId = asPageFlowPresetId("generated-default");
|
|
4081
|
+
var southWestTwerkSchoolSiteStyleId = asSiteStyleId("site-style:south-west-twerk-school");
|
|
4082
|
+
var heroBrandScrimFixedFrameLookId = asAppearancePresetId("hero-brand-scrim-fixed-frame");
|
|
4083
|
+
var classicHeroLayoutVariantKey = asLayoutVariantKey("classic");
|
|
4084
|
+
var microHeroLayoutVariantKey = asLayoutVariantKey("micro");
|
|
4085
|
+
var waveBoundaryOptionId = asBoundaryOptionId("break:wave");
|
|
4086
|
+
|
|
3602
4087
|
// ../theme-core/src/site-styles/pageDesignEditorModel.ts
|
|
3603
4088
|
var noneBoundaryOption = {
|
|
3604
4089
|
id: asBoundaryOptionId("break:none"),
|
|
@@ -3642,7 +4127,7 @@ var pageFlowPresets = [
|
|
|
3642
4127
|
];
|
|
3643
4128
|
|
|
3644
4129
|
// ../theme-core/src/site-styles/designState.ts
|
|
3645
|
-
import { z as
|
|
4130
|
+
import { z as z19 } from "zod";
|
|
3646
4131
|
|
|
3647
4132
|
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
3648
4133
|
var themeV2RuntimeStyleFieldNames = [
|
|
@@ -3668,53 +4153,53 @@ var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
|
3668
4153
|
|
|
3669
4154
|
// ../theme-core/src/site-styles/designState.ts
|
|
3670
4155
|
var themeV2DesignStateSchemaVersion = 1;
|
|
3671
|
-
var designResolutionPolicySchema =
|
|
3672
|
-
var runtimeStyleFieldNameSchema =
|
|
3673
|
-
var nonEmptyRuntimeStyleFieldNamesSchema =
|
|
4156
|
+
var designResolutionPolicySchema = z19.enum(["generated", "user", "admin", "sdk"]);
|
|
4157
|
+
var runtimeStyleFieldNameSchema = z19.enum(themeV2RuntimeStyleFieldNames);
|
|
4158
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z19.array(runtimeStyleFieldNameSchema).min(1).transform((fields) => [
|
|
3674
4159
|
fields[0],
|
|
3675
4160
|
...fields.slice(1)
|
|
3676
4161
|
]);
|
|
3677
|
-
var heroLegibilityStrategySchema =
|
|
4162
|
+
var heroLegibilityStrategySchema = z19.enum([
|
|
3678
4163
|
"none",
|
|
3679
4164
|
"scrim-gradient",
|
|
3680
4165
|
"solid-panel"
|
|
3681
4166
|
]);
|
|
3682
|
-
var sectionHeightIntentSchema =
|
|
4167
|
+
var sectionHeightIntentSchema = z19.enum([
|
|
3683
4168
|
"default",
|
|
3684
4169
|
"banner",
|
|
3685
4170
|
"hero",
|
|
3686
4171
|
"immersive"
|
|
3687
4172
|
]);
|
|
3688
|
-
var imageSurfaceTreatmentIntensitySchema =
|
|
3689
|
-
var imageSurfaceMotionSchema =
|
|
3690
|
-
var imageSurfaceTreatmentSchema =
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
kind:
|
|
3694
|
-
token:
|
|
4173
|
+
var imageSurfaceTreatmentIntensitySchema = z19.enum(["soft", "balanced", "strong"]);
|
|
4174
|
+
var imageSurfaceMotionSchema = z19.enum(["static", "fixed-frame"]);
|
|
4175
|
+
var imageSurfaceTreatmentSchema = z19.discriminatedUnion("kind", [
|
|
4176
|
+
z19.object({ kind: z19.literal("none") }).strict(),
|
|
4177
|
+
z19.object({
|
|
4178
|
+
kind: z19.literal("brand-scrim"),
|
|
4179
|
+
token: z19.enum(["primary", "secondary", "accent"]),
|
|
3695
4180
|
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
3696
4181
|
}).strict(),
|
|
3697
|
-
|
|
3698
|
-
kind:
|
|
3699
|
-
token:
|
|
4182
|
+
z19.object({
|
|
4183
|
+
kind: z19.literal("brand-wash"),
|
|
4184
|
+
token: z19.enum(["primary", "secondary", "accent"]),
|
|
3700
4185
|
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
3701
4186
|
}).strict(),
|
|
3702
|
-
|
|
3703
|
-
kind:
|
|
4187
|
+
z19.object({
|
|
4188
|
+
kind: z19.literal("neutral-scrim"),
|
|
3704
4189
|
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
3705
4190
|
}).strict(),
|
|
3706
|
-
|
|
3707
|
-
kind:
|
|
4191
|
+
z19.object({
|
|
4192
|
+
kind: z19.literal("neutral-wash"),
|
|
3708
4193
|
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
3709
4194
|
}).strict(),
|
|
3710
|
-
|
|
3711
|
-
kind:
|
|
4195
|
+
z19.object({
|
|
4196
|
+
kind: z19.literal("solid-panel"),
|
|
3712
4197
|
intensity: imageSurfaceTreatmentIntensitySchema.optional()
|
|
3713
4198
|
}).strict()
|
|
3714
4199
|
]);
|
|
3715
|
-
var testimonialCardTreatmentSchema =
|
|
3716
|
-
var tileTreatmentSchema =
|
|
3717
|
-
var eyebrowTreatmentSchema =
|
|
4200
|
+
var testimonialCardTreatmentSchema = z19.enum(["default", "accent-quote"]);
|
|
4201
|
+
var tileTreatmentSchema = z19.enum(tileTreatmentValues);
|
|
4202
|
+
var eyebrowTreatmentSchema = z19.enum(eyebrowTreatmentValues);
|
|
3718
4203
|
function uniqueNonEmpty(values) {
|
|
3719
4204
|
const uniqueValues = [...new Set(values)];
|
|
3720
4205
|
const firstValue = uniqueValues[0];
|
|
@@ -3732,27 +4217,27 @@ var userFlushTreatments = uniqueNonEmpty(
|
|
|
3732
4217
|
var userFlushBleeds = uniqueNonEmpty(
|
|
3733
4218
|
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
3734
4219
|
);
|
|
3735
|
-
var contentFrameIntentSchema =
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
kind:
|
|
3739
|
-
treatment:
|
|
4220
|
+
var contentFrameIntentSchema = z19.discriminatedUnion("kind", [
|
|
4221
|
+
z19.object({ kind: z19.literal("plain") }).strict(),
|
|
4222
|
+
z19.object({
|
|
4223
|
+
kind: z19.literal("panel"),
|
|
4224
|
+
treatment: z19.enum(userPanelTreatments)
|
|
3740
4225
|
}).strict(),
|
|
3741
|
-
|
|
3742
|
-
kind:
|
|
3743
|
-
treatment:
|
|
3744
|
-
bleed:
|
|
4226
|
+
z19.object({
|
|
4227
|
+
kind: z19.literal("flush-panel"),
|
|
4228
|
+
treatment: z19.enum(userFlushTreatments),
|
|
4229
|
+
bleed: z19.enum(userFlushBleeds)
|
|
3745
4230
|
}).strict()
|
|
3746
4231
|
]);
|
|
3747
|
-
var blockDesignPlanSchema =
|
|
3748
|
-
blockId:
|
|
3749
|
-
blockKind:
|
|
3750
|
-
purpose:
|
|
3751
|
-
sectionSurface:
|
|
4232
|
+
var blockDesignPlanSchema = z19.object({
|
|
4233
|
+
blockId: z19.string().min(1).transform(asDesignBlockId),
|
|
4234
|
+
blockKind: z19.string().min(1),
|
|
4235
|
+
purpose: z19.string().min(1),
|
|
4236
|
+
sectionSurface: z19.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
3752
4237
|
contentFrame: contentFrameIntentSchema,
|
|
3753
|
-
itemSurface:
|
|
3754
|
-
transitionAfter:
|
|
3755
|
-
emphasis:
|
|
4238
|
+
itemSurface: z19.enum(userDesignOptionCatalog.itemSurfaces),
|
|
4239
|
+
transitionAfter: z19.enum(userDesignOptionCatalog.transitions),
|
|
4240
|
+
emphasis: z19.enum(userDesignOptionCatalog.emphases),
|
|
3756
4241
|
sectionHeight: sectionHeightIntentSchema.optional(),
|
|
3757
4242
|
heroLegibility: heroLegibilityStrategySchema.optional(),
|
|
3758
4243
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
@@ -3761,39 +4246,39 @@ var blockDesignPlanSchema = z17.object({
|
|
|
3761
4246
|
tileTreatment: tileTreatmentSchema.optional(),
|
|
3762
4247
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
3763
4248
|
}).strict();
|
|
3764
|
-
var styleAuthoritySchema =
|
|
3765
|
-
|
|
3766
|
-
kind:
|
|
4249
|
+
var styleAuthoritySchema = z19.discriminatedUnion("kind", [
|
|
4250
|
+
z19.object({
|
|
4251
|
+
kind: z19.literal("theme-v2"),
|
|
3767
4252
|
source: designResolutionPolicySchema,
|
|
3768
|
-
siteStyleId:
|
|
3769
|
-
templateId:
|
|
3770
|
-
templateVersion:
|
|
3771
|
-
resolverVersion:
|
|
4253
|
+
siteStyleId: z19.string().min(1).transform(asSiteStyleId),
|
|
4254
|
+
templateId: z19.string().min(1).transform(asDesignSystemTemplateId),
|
|
4255
|
+
templateVersion: z19.number().int().nonnegative(),
|
|
4256
|
+
resolverVersion: z19.number().int().nonnegative()
|
|
3772
4257
|
}).strict(),
|
|
3773
|
-
|
|
3774
|
-
kind:
|
|
3775
|
-
reason:
|
|
4258
|
+
z19.object({
|
|
4259
|
+
kind: z19.literal("legacy-raw"),
|
|
4260
|
+
reason: z19.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
3776
4261
|
}).strict(),
|
|
3777
|
-
|
|
3778
|
-
kind:
|
|
3779
|
-
reason:
|
|
4262
|
+
z19.object({
|
|
4263
|
+
kind: z19.literal("advanced-detached"),
|
|
4264
|
+
reason: z19.literal("detached-custom-runtime-fields")
|
|
3780
4265
|
}).strict()
|
|
3781
4266
|
]);
|
|
3782
|
-
var blockRuntimeStyleAuthoritySchema =
|
|
3783
|
-
unit:
|
|
3784
|
-
blockId:
|
|
4267
|
+
var blockRuntimeStyleAuthoritySchema = z19.object({
|
|
4268
|
+
unit: z19.literal("block-runtime-fields"),
|
|
4269
|
+
blockId: z19.string().min(1).transform(asDesignBlockId),
|
|
3785
4270
|
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
3786
4271
|
authority: styleAuthoritySchema
|
|
3787
4272
|
}).strict();
|
|
3788
|
-
var persistedPageDesignStateV1Schema =
|
|
3789
|
-
schemaVersion:
|
|
3790
|
-
siteStyleId:
|
|
3791
|
-
templateId:
|
|
3792
|
-
templateVersion:
|
|
3793
|
-
resolverVersion:
|
|
3794
|
-
rhythmPresetId:
|
|
3795
|
-
blocks:
|
|
3796
|
-
styleAuthorities:
|
|
4273
|
+
var persistedPageDesignStateV1Schema = z19.object({
|
|
4274
|
+
schemaVersion: z19.literal(themeV2DesignStateSchemaVersion),
|
|
4275
|
+
siteStyleId: z19.string().min(1).transform(asSiteStyleId),
|
|
4276
|
+
templateId: z19.string().min(1).transform(asDesignSystemTemplateId),
|
|
4277
|
+
templateVersion: z19.number().int().nonnegative(),
|
|
4278
|
+
resolverVersion: z19.number().int().nonnegative(),
|
|
4279
|
+
rhythmPresetId: z19.string().min(1),
|
|
4280
|
+
blocks: z19.array(blockDesignPlanSchema),
|
|
4281
|
+
styleAuthorities: z19.array(blockRuntimeStyleAuthoritySchema)
|
|
3797
4282
|
}).strict();
|
|
3798
4283
|
|
|
3799
4284
|
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
@@ -3946,7 +4431,7 @@ var defaultComponentRuntimeRules = defineComponentRuntimeRules({
|
|
|
3946
4431
|
});
|
|
3947
4432
|
|
|
3948
4433
|
// ../theme-core/src/site-styles/generatedSchemas.ts
|
|
3949
|
-
import { z as
|
|
4434
|
+
import { z as z20 } from "zod";
|
|
3950
4435
|
function uniqueNonEmpty2(values) {
|
|
3951
4436
|
const uniqueValues = [...new Set(values)];
|
|
3952
4437
|
const firstValue = uniqueValues[0];
|
|
@@ -3964,155 +4449,155 @@ var generatedFlushTreatments = uniqueNonEmpty2(
|
|
|
3964
4449
|
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
3965
4450
|
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
3966
4451
|
);
|
|
3967
|
-
var generatedPanelFrameSchema =
|
|
3968
|
-
kind:
|
|
3969
|
-
treatment:
|
|
4452
|
+
var generatedPanelFrameSchema = z20.object({
|
|
4453
|
+
kind: z20.literal("panel"),
|
|
4454
|
+
treatment: z20.enum(generatedPanelTreatments)
|
|
3970
4455
|
}).strict();
|
|
3971
|
-
var generatedFlushPanelFrameSchema =
|
|
3972
|
-
kind:
|
|
3973
|
-
treatment:
|
|
3974
|
-
bleed:
|
|
4456
|
+
var generatedFlushPanelFrameSchema = z20.object({
|
|
4457
|
+
kind: z20.literal("flush-panel"),
|
|
4458
|
+
treatment: z20.enum(generatedFlushTreatments),
|
|
4459
|
+
bleed: z20.enum(generatedFlushBleeds)
|
|
3975
4460
|
}).strict();
|
|
3976
|
-
var generatedContentFrameIntentSchema =
|
|
3977
|
-
|
|
4461
|
+
var generatedContentFrameIntentSchema = z20.discriminatedUnion("kind", [
|
|
4462
|
+
z20.object({ kind: z20.literal("plain") }).strict(),
|
|
3978
4463
|
generatedPanelFrameSchema,
|
|
3979
4464
|
generatedFlushPanelFrameSchema
|
|
3980
4465
|
]);
|
|
3981
|
-
var generatedSiteStyleIdSchema =
|
|
4466
|
+
var generatedSiteStyleIdSchema = z20.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
3982
4467
|
function generatedChoiceSchema(valueSchema) {
|
|
3983
|
-
return
|
|
3984
|
-
|
|
3985
|
-
source:
|
|
3986
|
-
kind:
|
|
4468
|
+
return z20.discriminatedUnion("kind", [
|
|
4469
|
+
z20.object({
|
|
4470
|
+
source: z20.literal("generated"),
|
|
4471
|
+
kind: z20.literal("auto")
|
|
3987
4472
|
}).strict(),
|
|
3988
|
-
|
|
3989
|
-
source:
|
|
3990
|
-
kind:
|
|
4473
|
+
z20.object({
|
|
4474
|
+
source: z20.literal("generated"),
|
|
4475
|
+
kind: z20.literal("explicit"),
|
|
3991
4476
|
value: valueSchema
|
|
3992
4477
|
}).strict()
|
|
3993
4478
|
]);
|
|
3994
4479
|
}
|
|
3995
|
-
var generatedBlockDesignIntentSchema =
|
|
4480
|
+
var generatedBlockDesignIntentSchema = z20.object({
|
|
3996
4481
|
sectionSurface: generatedChoiceSchema(
|
|
3997
|
-
|
|
4482
|
+
z20.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
3998
4483
|
),
|
|
3999
4484
|
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
4000
4485
|
itemSurface: generatedChoiceSchema(
|
|
4001
|
-
|
|
4486
|
+
z20.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
4002
4487
|
),
|
|
4003
4488
|
transitionAfter: generatedChoiceSchema(
|
|
4004
|
-
|
|
4489
|
+
z20.enum(generatedDesignOptionCatalog.transitions)
|
|
4005
4490
|
),
|
|
4006
4491
|
emphasis: generatedChoiceSchema(
|
|
4007
|
-
|
|
4492
|
+
z20.enum(generatedDesignOptionCatalog.emphases)
|
|
4008
4493
|
)
|
|
4009
4494
|
}).strict();
|
|
4010
|
-
var generatedMediaCompositionIntentSchema =
|
|
4495
|
+
var generatedMediaCompositionIntentSchema = z20.enum([
|
|
4011
4496
|
"none",
|
|
4012
4497
|
"supporting",
|
|
4013
4498
|
"dominant"
|
|
4014
4499
|
]);
|
|
4015
|
-
var generatedDecorativeCompositionIntentSchema =
|
|
4500
|
+
var generatedDecorativeCompositionIntentSchema = z20.enum([
|
|
4016
4501
|
"none",
|
|
4017
4502
|
"supporting"
|
|
4018
4503
|
]);
|
|
4019
|
-
var generatedHeroLegibilityStrategySchema =
|
|
4504
|
+
var generatedHeroLegibilityStrategySchema = z20.enum([
|
|
4020
4505
|
"none",
|
|
4021
4506
|
"scrim-gradient"
|
|
4022
4507
|
]);
|
|
4023
|
-
var generatedBlockMediaIntentSchema =
|
|
4508
|
+
var generatedBlockMediaIntentSchema = z20.object({
|
|
4024
4509
|
media: generatedMediaCompositionIntentSchema,
|
|
4025
4510
|
decorative: generatedDecorativeCompositionIntentSchema,
|
|
4026
4511
|
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
4027
4512
|
}).strict();
|
|
4028
|
-
var generatedBoundaryIntentSchema =
|
|
4513
|
+
var generatedBoundaryIntentSchema = z20.object({
|
|
4029
4514
|
transitionAfter: generatedChoiceSchema(
|
|
4030
|
-
|
|
4515
|
+
z20.enum(generatedDesignOptionCatalog.transitions)
|
|
4031
4516
|
)
|
|
4032
4517
|
}).strict();
|
|
4033
|
-
var generatedPageDesignBlockIntentSchema =
|
|
4034
|
-
blockId:
|
|
4035
|
-
blockKind:
|
|
4036
|
-
purpose:
|
|
4518
|
+
var generatedPageDesignBlockIntentSchema = z20.object({
|
|
4519
|
+
blockId: z20.string().min(1),
|
|
4520
|
+
blockKind: z20.string().min(1),
|
|
4521
|
+
purpose: z20.string().min(1),
|
|
4037
4522
|
design: generatedBlockDesignIntentSchema,
|
|
4038
4523
|
mediaIntent: generatedBlockMediaIntentSchema,
|
|
4039
4524
|
boundaryIntent: generatedBoundaryIntentSchema
|
|
4040
4525
|
}).strict();
|
|
4041
|
-
var generatedPageDesignIntentSchema =
|
|
4526
|
+
var generatedPageDesignIntentSchema = z20.object({
|
|
4042
4527
|
siteStyleId: generatedSiteStyleIdSchema,
|
|
4043
|
-
blocks:
|
|
4528
|
+
blocks: z20.array(generatedPageDesignBlockIntentSchema)
|
|
4044
4529
|
}).strict();
|
|
4045
4530
|
|
|
4046
4531
|
// ../theme-core/src/site-styles/pageDesignAuthority.ts
|
|
4047
|
-
import { z as
|
|
4048
|
-
var nonEmptyStringSchema =
|
|
4532
|
+
import { z as z21 } from "zod";
|
|
4533
|
+
var nonEmptyStringSchema = z21.string().min(1);
|
|
4049
4534
|
var blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
4050
4535
|
var designBlockIdSchema = nonEmptyStringSchema.transform(asDesignBlockId);
|
|
4051
4536
|
var designPageIdSchema = nonEmptyStringSchema.transform(asDesignPageId);
|
|
4052
4537
|
var designEntryIdSchema = nonEmptyStringSchema.transform(asDesignEntryId);
|
|
4053
|
-
var blockOrderIndexSchema =
|
|
4054
|
-
var publishedPageBlockSnapshotSchema =
|
|
4055
|
-
kind:
|
|
4538
|
+
var blockOrderIndexSchema = z21.number().int().nonnegative().transform(asBlockOrderIndex);
|
|
4539
|
+
var publishedPageBlockSnapshotSchema = z21.object({
|
|
4540
|
+
kind: z21.literal("published-block-content"),
|
|
4056
4541
|
blockId: designBlockIdSchema,
|
|
4057
4542
|
contentVersionId: blockContentVersionIdSchema,
|
|
4058
|
-
identifier:
|
|
4543
|
+
identifier: z21.string().nullable(),
|
|
4059
4544
|
blockKind: nonEmptyStringSchema,
|
|
4060
4545
|
orderIndex: blockOrderIndexSchema
|
|
4061
4546
|
}).strict();
|
|
4062
|
-
var draftPageBlockSnapshotSchema =
|
|
4063
|
-
kind:
|
|
4547
|
+
var draftPageBlockSnapshotSchema = z21.object({
|
|
4548
|
+
kind: z21.literal("draft-block-content"),
|
|
4064
4549
|
blockId: designBlockIdSchema,
|
|
4065
4550
|
contentVersionId: blockContentVersionIdSchema.nullable(),
|
|
4066
|
-
identifier:
|
|
4551
|
+
identifier: z21.string().nullable(),
|
|
4067
4552
|
blockKind: nonEmptyStringSchema,
|
|
4068
4553
|
orderIndex: blockOrderIndexSchema
|
|
4069
4554
|
}).strict();
|
|
4070
|
-
var missingPageBlockSnapshotSchema =
|
|
4071
|
-
kind:
|
|
4555
|
+
var missingPageBlockSnapshotSchema = z21.object({
|
|
4556
|
+
kind: z21.literal("missing-block-content"),
|
|
4072
4557
|
blockId: designBlockIdSchema,
|
|
4073
|
-
identifier:
|
|
4558
|
+
identifier: z21.string().nullable(),
|
|
4074
4559
|
blockKind: nonEmptyStringSchema,
|
|
4075
4560
|
orderIndex: blockOrderIndexSchema,
|
|
4076
|
-
reason:
|
|
4561
|
+
reason: z21.enum([
|
|
4077
4562
|
"new-block",
|
|
4078
4563
|
"deleted-content-version",
|
|
4079
4564
|
"unpublished-block"
|
|
4080
4565
|
])
|
|
4081
4566
|
}).strict();
|
|
4082
|
-
var pageBlockSnapshotSchema =
|
|
4567
|
+
var pageBlockSnapshotSchema = z21.discriminatedUnion("kind", [
|
|
4083
4568
|
publishedPageBlockSnapshotSchema,
|
|
4084
4569
|
draftPageBlockSnapshotSchema,
|
|
4085
4570
|
missingPageBlockSnapshotSchema
|
|
4086
4571
|
]);
|
|
4087
|
-
var publishedPageBlockSequenceSchema =
|
|
4088
|
-
var draftPageBlockSequenceSchema =
|
|
4089
|
-
var publishedPageDesignVersionDataV1Schema =
|
|
4090
|
-
schemaVersion:
|
|
4091
|
-
stage:
|
|
4572
|
+
var publishedPageBlockSequenceSchema = z21.array(publishedPageBlockSnapshotSchema).superRefine(validateBlockSequence);
|
|
4573
|
+
var draftPageBlockSequenceSchema = z21.array(pageBlockSnapshotSchema).superRefine(validateBlockSequence);
|
|
4574
|
+
var publishedPageDesignVersionDataV1Schema = z21.object({
|
|
4575
|
+
schemaVersion: z21.literal(1),
|
|
4576
|
+
stage: z21.literal("published"),
|
|
4092
4577
|
pageId: designPageIdSchema,
|
|
4093
4578
|
blockSequence: publishedPageBlockSequenceSchema
|
|
4094
4579
|
}).strict();
|
|
4095
|
-
var draftPageDesignVersionDataV1Schema =
|
|
4096
|
-
schemaVersion:
|
|
4097
|
-
stage:
|
|
4580
|
+
var draftPageDesignVersionDataV1Schema = z21.object({
|
|
4581
|
+
schemaVersion: z21.literal(1),
|
|
4582
|
+
stage: z21.literal("draft"),
|
|
4098
4583
|
pageId: designPageIdSchema,
|
|
4099
4584
|
blockSequence: draftPageBlockSequenceSchema
|
|
4100
4585
|
}).strict();
|
|
4101
|
-
var pageDesignVersionDataV1Schema =
|
|
4586
|
+
var pageDesignVersionDataV1Schema = z21.discriminatedUnion("stage", [
|
|
4102
4587
|
publishedPageDesignVersionDataV1Schema,
|
|
4103
4588
|
draftPageDesignVersionDataV1Schema
|
|
4104
4589
|
]);
|
|
4105
|
-
var contentVersionOwnerSchema =
|
|
4106
|
-
|
|
4107
|
-
kind:
|
|
4590
|
+
var contentVersionOwnerSchema = z21.discriminatedUnion("kind", [
|
|
4591
|
+
z21.object({
|
|
4592
|
+
kind: z21.literal("block"),
|
|
4108
4593
|
blockId: designBlockIdSchema
|
|
4109
4594
|
}).strict(),
|
|
4110
|
-
|
|
4111
|
-
kind:
|
|
4595
|
+
z21.object({
|
|
4596
|
+
kind: z21.literal("entry"),
|
|
4112
4597
|
entryId: designEntryIdSchema
|
|
4113
4598
|
}).strict(),
|
|
4114
|
-
|
|
4115
|
-
kind:
|
|
4599
|
+
z21.object({
|
|
4600
|
+
kind: z21.literal("page"),
|
|
4116
4601
|
pageId: designPageIdSchema
|
|
4117
4602
|
}).strict()
|
|
4118
4603
|
]);
|
|
@@ -4129,7 +4614,7 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
4129
4614
|
snapshots.forEach((snapshot, index) => {
|
|
4130
4615
|
if (seenBlockIds.has(snapshot.blockId)) {
|
|
4131
4616
|
issues.push({
|
|
4132
|
-
code:
|
|
4617
|
+
code: z21.ZodIssueCode.custom,
|
|
4133
4618
|
message: `Duplicate blockId in page design blockSequence: ${snapshot.blockId}`,
|
|
4134
4619
|
path: [index, "blockId"]
|
|
4135
4620
|
});
|
|
@@ -4138,7 +4623,7 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
4138
4623
|
const orderIndex = snapshot.orderIndex;
|
|
4139
4624
|
if (seenOrderIndexes.has(orderIndex)) {
|
|
4140
4625
|
issues.push({
|
|
4141
|
-
code:
|
|
4626
|
+
code: z21.ZodIssueCode.custom,
|
|
4142
4627
|
message: `Duplicate orderIndex in page design blockSequence: ${String(orderIndex)}`,
|
|
4143
4628
|
path: [index, "orderIndex"]
|
|
4144
4629
|
});
|
|
@@ -4146,7 +4631,7 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
4146
4631
|
seenOrderIndexes.add(orderIndex);
|
|
4147
4632
|
if (previousOrderIndex !== null && orderIndex <= previousOrderIndex) {
|
|
4148
4633
|
issues.push({
|
|
4149
|
-
code:
|
|
4634
|
+
code: z21.ZodIssueCode.custom,
|
|
4150
4635
|
message: `Expected orderIndex greater than ${String(previousOrderIndex)} for blockSequence position ${String(index)}; received ${String(orderIndex)}.`,
|
|
4151
4636
|
path: [index, "orderIndex"]
|
|
4152
4637
|
});
|
|
@@ -4157,7 +4642,7 @@ function collectBlockSequenceIssues(snapshots) {
|
|
|
4157
4642
|
}
|
|
4158
4643
|
|
|
4159
4644
|
// ../theme-core/src/site-styles/tokenRecipes.ts
|
|
4160
|
-
import { z as
|
|
4645
|
+
import { z as z22 } from "zod";
|
|
4161
4646
|
var themeTokenRecipeOptions = {
|
|
4162
4647
|
palette: ["brand-led", "warm-neutral", "high-contrast", "soft-natural"],
|
|
4163
4648
|
contrast: ["standard", "strong", "maximum"],
|
|
@@ -4172,50 +4657,16 @@ var themeTokenRecipeOptions = {
|
|
|
4172
4657
|
spacing: ["compact", "regular", "airy"],
|
|
4173
4658
|
motion: ["none", "subtle", "expressive"]
|
|
4174
4659
|
};
|
|
4175
|
-
var themeTokenRecipesSchema =
|
|
4176
|
-
palette:
|
|
4177
|
-
contrast:
|
|
4178
|
-
radius:
|
|
4179
|
-
shadow:
|
|
4180
|
-
typography:
|
|
4181
|
-
spacing:
|
|
4182
|
-
motion:
|
|
4660
|
+
var themeTokenRecipesSchema = z22.object({
|
|
4661
|
+
palette: z22.enum(themeTokenRecipeOptions.palette),
|
|
4662
|
+
contrast: z22.enum(themeTokenRecipeOptions.contrast),
|
|
4663
|
+
radius: z22.enum(themeTokenRecipeOptions.radius),
|
|
4664
|
+
shadow: z22.enum(themeTokenRecipeOptions.shadow),
|
|
4665
|
+
typography: z22.enum(themeTokenRecipeOptions.typography),
|
|
4666
|
+
spacing: z22.enum(themeTokenRecipeOptions.spacing),
|
|
4667
|
+
motion: z22.enum(themeTokenRecipeOptions.motion)
|
|
4183
4668
|
});
|
|
4184
4669
|
|
|
4185
|
-
// ../theme-core/src/tokens/blockColorTokens.ts
|
|
4186
|
-
var blockColorTokenNames = [
|
|
4187
|
-
"text",
|
|
4188
|
-
"heading",
|
|
4189
|
-
"mutedText",
|
|
4190
|
-
"surface",
|
|
4191
|
-
"background",
|
|
4192
|
-
"foreground",
|
|
4193
|
-
"border",
|
|
4194
|
-
"primary",
|
|
4195
|
-
"secondary",
|
|
4196
|
-
"accent",
|
|
4197
|
-
"success",
|
|
4198
|
-
"warning",
|
|
4199
|
-
"info",
|
|
4200
|
-
"error",
|
|
4201
|
-
"destructive",
|
|
4202
|
-
"scrim",
|
|
4203
|
-
"shadow",
|
|
4204
|
-
// Common "on*" tokens used when rendering colored chips/badges.
|
|
4205
|
-
"onPrimary",
|
|
4206
|
-
"onSecondary",
|
|
4207
|
-
"onAccent",
|
|
4208
|
-
"onSuccess",
|
|
4209
|
-
"onWarning",
|
|
4210
|
-
"onInfo",
|
|
4211
|
-
"onError",
|
|
4212
|
-
"onDestructive",
|
|
4213
|
-
"onSurface"
|
|
4214
|
-
];
|
|
4215
|
-
var blockColorTokenNameSet = new Set(
|
|
4216
|
-
blockColorTokenNames
|
|
4217
|
-
);
|
|
4218
|
-
|
|
4219
4670
|
// ../theme-core/src/palette/utils/colorConversion.ts
|
|
4220
4671
|
function hexToRgb(hex) {
|
|
4221
4672
|
const h = hex.replace(/^#/, "");
|
|
@@ -9516,6 +9967,12 @@ var containerResponsiveThemeCss = `/*
|
|
|
9516
9967
|
padding: 2rem;
|
|
9517
9968
|
}
|
|
9518
9969
|
|
|
9970
|
+
:where(.theme-scope) :where([data-block="event-registration"]) .er-icon {
|
|
9971
|
+
display: flex;
|
|
9972
|
+
justify-content: center;
|
|
9973
|
+
margin-bottom: 1rem;
|
|
9974
|
+
}
|
|
9975
|
+
|
|
9519
9976
|
:where(.theme-scope) :where([data-block="event-registration"]) .er-actions {
|
|
9520
9977
|
display: flex;
|
|
9521
9978
|
justify-content: space-between;
|
|
@@ -15203,6 +15660,32 @@ var containerResponsiveThemeCss = `/*
|
|
|
15203
15660
|
:where(.theme-scope) :where([data-rb-background-video="true"]) {
|
|
15204
15661
|
display: none !important;
|
|
15205
15662
|
}
|
|
15663
|
+
}
|
|
15664
|
+
|
|
15665
|
+
:where(.theme-scope) [data-block="gifting"] .gifting-feedback {
|
|
15666
|
+
border: 1px solid rgb(var(--tb-text, 17 24 39) / 0.12);
|
|
15667
|
+
border-radius: 1rem;
|
|
15668
|
+
padding: 0.875rem 1rem;
|
|
15669
|
+
background: rgb(var(--tb-surface, 255 255 255) / 0.92);
|
|
15670
|
+
color: rgb(var(--tb-text, 17 24 39));
|
|
15671
|
+
}
|
|
15672
|
+
|
|
15673
|
+
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="success"] {
|
|
15674
|
+
border-color: rgba(var(--tb-success, 34 197 94), 0.3);
|
|
15675
|
+
background: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
15676
|
+
color: rgb(var(--tb-success, 34 197 94));
|
|
15677
|
+
}
|
|
15678
|
+
|
|
15679
|
+
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="warning"] {
|
|
15680
|
+
border-color: rgba(var(--tb-warning, 245 158 11), 0.35);
|
|
15681
|
+
background: rgba(var(--tb-warning, 245 158 11), 0.12);
|
|
15682
|
+
color: rgb(var(--tb-warning, 245 158 11));
|
|
15683
|
+
}
|
|
15684
|
+
|
|
15685
|
+
:where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="error"] {
|
|
15686
|
+
border-color: rgba(var(--tb-destructive, 239 68 68), 0.3);
|
|
15687
|
+
background: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
15688
|
+
color: rgb(var(--tb-destructive, 239 68 68));
|
|
15206
15689
|
}`;
|
|
15207
15690
|
|
|
15208
15691
|
// ../theme-core/src/ThemeScopeCore.tsx
|
|
@@ -15474,7 +15957,7 @@ function buildThemeRuntimeFromBridge(config) {
|
|
|
15474
15957
|
}
|
|
15475
15958
|
|
|
15476
15959
|
// ../theme-core/src/siteChrome.tsx
|
|
15477
|
-
import { Fragment as Fragment2, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
15960
|
+
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
15478
15961
|
|
|
15479
15962
|
// src/theme-bridge/generateCssVars.ts
|
|
15480
15963
|
var SCOPE_ID = "sdk";
|
|
@@ -15660,7 +16143,7 @@ function generateOverrideCss(overrides) {
|
|
|
15660
16143
|
}
|
|
15661
16144
|
|
|
15662
16145
|
// src/theme-bridge/ThemeBridgeProvider.tsx
|
|
15663
|
-
import { jsx as
|
|
16146
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
15664
16147
|
function ThemeBridgeProvider({
|
|
15665
16148
|
config,
|
|
15666
16149
|
children,
|
|
@@ -15681,7 +16164,7 @@ function ThemeBridgeProvider({
|
|
|
15681
16164
|
}
|
|
15682
16165
|
return style;
|
|
15683
16166
|
}, [cssVars]);
|
|
15684
|
-
return /* @__PURE__ */
|
|
16167
|
+
return /* @__PURE__ */ jsx7(
|
|
15685
16168
|
ThemeScopeCore,
|
|
15686
16169
|
{
|
|
15687
16170
|
cssVars: cssVarsStyle,
|