@riverbankcms/sdk 0.77.0 → 0.77.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +2 -2
- package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +40 -30
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
- package/dist/_dts/blocks/src/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
- package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -27
- package/dist/_dts/theme-core/src/schema.d.ts +26 -30
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +63 -33
- package/dist/{chunk-EAWHBECW.mjs → chunk-2SPENC5M.mjs} +5 -5
- package/dist/{chunk-GSQX43EZ.mjs → chunk-IENWFSLO.mjs} +22 -41
- package/dist/{chunk-WLQBJN2Z.mjs → chunk-KWJPDZH2.mjs} +1815 -1338
- package/dist/{chunk-ANKDYZ2E.mjs → chunk-ZYEJLCTN.mjs} +1 -1
- package/dist/cli/index.mjs +381 -176
- package/dist/client/client.mjs +1574 -1252
- package/dist/client/hooks.mjs +369 -170
- package/dist/client/rendering.mjs +1588 -1257
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-6UT2S7KZ.mjs} +4 -4
- package/dist/server/components.mjs +1561 -1239
- package/dist/server/config-validation.mjs +369 -170
- package/dist/server/config.mjs +369 -170
- package/dist/server/data.mjs +369 -170
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +1547 -1234
- package/dist/server/page-converter.mjs +362 -165
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1561 -1239
- package/dist/server/rendering.mjs +1561 -1239
- package/dist/server/routing.mjs +370 -171
- package/dist/server/server.mjs +370 -171
- package/dist/server/theme-bridge.mjs +1156 -1035
- package/dist/server/theme.mjs +79 -11
- package/dist/styles/index.css +1081 -1028
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
package/dist/cli/index.mjs
CHANGED
|
@@ -4566,8 +4566,19 @@ var init_schema3 = __esm({
|
|
|
4566
4566
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
4567
4567
|
});
|
|
4568
4568
|
proseLinkUnderlineStyleSchema = z.enum(["solid", "dotted", "dashed"]);
|
|
4569
|
-
proseLinkUnderlineThicknessSchema = z.enum([
|
|
4570
|
-
|
|
4569
|
+
proseLinkUnderlineThicknessSchema = z.enum([
|
|
4570
|
+
"auto",
|
|
4571
|
+
"fromFont",
|
|
4572
|
+
"thin",
|
|
4573
|
+
"medium",
|
|
4574
|
+
"thick"
|
|
4575
|
+
]);
|
|
4576
|
+
proseLinkUnderlineOffsetSchema = z.enum([
|
|
4577
|
+
"auto",
|
|
4578
|
+
"tight",
|
|
4579
|
+
"normal",
|
|
4580
|
+
"loose"
|
|
4581
|
+
]);
|
|
4571
4582
|
proseLinkStyleSchema = z.object({
|
|
4572
4583
|
colorToken: themeColorTokenSchema.optional(),
|
|
4573
4584
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -4578,7 +4589,14 @@ var init_schema3 = __esm({
|
|
|
4578
4589
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
4579
4590
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
4580
4591
|
});
|
|
4581
|
-
semanticSpacingSchema = z.enum([
|
|
4592
|
+
semanticSpacingSchema = z.enum([
|
|
4593
|
+
"none",
|
|
4594
|
+
"compact",
|
|
4595
|
+
"cozy",
|
|
4596
|
+
"medium",
|
|
4597
|
+
"comfortable",
|
|
4598
|
+
"spacious"
|
|
4599
|
+
]);
|
|
4582
4600
|
boxRoundedSchema = z.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
4583
4601
|
boxBackgroundOverlaySchema = z.object({
|
|
4584
4602
|
type: z.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -4722,9 +4740,17 @@ var init_schema3 = __esm({
|
|
|
4722
4740
|
focus: z.enum(["glow", "ring", "underline"]),
|
|
4723
4741
|
label: z.enum(["inside", "above"])
|
|
4724
4742
|
});
|
|
4725
|
-
headerVariant = z.enum(["classic", "centered", "transparent", "floating"
|
|
4743
|
+
headerVariant = z.enum(["classic", "centered", "transparent", "floating"]);
|
|
4726
4744
|
headerPositioning = z.enum(["static", "sticky", "fixed"]);
|
|
4727
|
-
headerNavStyle = z.enum([
|
|
4745
|
+
headerNavStyle = z.enum([
|
|
4746
|
+
"minimal",
|
|
4747
|
+
"underline",
|
|
4748
|
+
"underline-grow",
|
|
4749
|
+
"capsule",
|
|
4750
|
+
"scale",
|
|
4751
|
+
"frosted",
|
|
4752
|
+
"solid"
|
|
4753
|
+
]);
|
|
4728
4754
|
navFontWeight = z.enum(["regular", "medium", "semibold", "bold"]);
|
|
4729
4755
|
headerMaxWidth = z.enum(["container", "full"]);
|
|
4730
4756
|
headerContainerSchema = z.object({
|
|
@@ -4772,8 +4798,22 @@ var init_schema3 = __esm({
|
|
|
4772
4798
|
textSize: z.enum(["xs", "sm", "base", "lg"]).optional()
|
|
4773
4799
|
// optional = no override (browser default)
|
|
4774
4800
|
}).optional();
|
|
4775
|
-
headerCtaGapSchema = z.enum([
|
|
4776
|
-
|
|
4801
|
+
headerCtaGapSchema = z.enum([
|
|
4802
|
+
"none",
|
|
4803
|
+
"tight",
|
|
4804
|
+
"compact",
|
|
4805
|
+
"default",
|
|
4806
|
+
"relaxed",
|
|
4807
|
+
"spacious"
|
|
4808
|
+
]);
|
|
4809
|
+
headerCtaTreatmentSchema = z.enum([
|
|
4810
|
+
"default",
|
|
4811
|
+
"primary",
|
|
4812
|
+
"secondary",
|
|
4813
|
+
"inverted",
|
|
4814
|
+
"outline",
|
|
4815
|
+
"ghost"
|
|
4816
|
+
]);
|
|
4777
4817
|
navContainerSchema = z.object({
|
|
4778
4818
|
type: z.enum(["none", "pill", "glass"]).default("none"),
|
|
4779
4819
|
tint: z.string().nullable().optional(),
|
|
@@ -4828,7 +4868,14 @@ var init_schema3 = __esm({
|
|
|
4828
4868
|
footerMode = z.enum(["default", "blocks", "default+blocks", "none"]);
|
|
4829
4869
|
footerNavLayoutMode = z.enum(["stack", "inline", "inline-wrap"]);
|
|
4830
4870
|
footerNavLayoutAlign = z.enum(["start", "center", "end", "space-between"]);
|
|
4831
|
-
footerSpacing = z.enum([
|
|
4871
|
+
footerSpacing = z.enum([
|
|
4872
|
+
"none",
|
|
4873
|
+
"tight",
|
|
4874
|
+
"compact",
|
|
4875
|
+
"default",
|
|
4876
|
+
"relaxed",
|
|
4877
|
+
"spacious"
|
|
4878
|
+
]);
|
|
4832
4879
|
footerLogoPlacement = z.enum(["left", "right", "above", "below"]);
|
|
4833
4880
|
footerLogoSize = z.enum(["sm", "md", "lg", "xl"]);
|
|
4834
4881
|
footerLogoMaxHeight = z.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -4893,7 +4940,12 @@ var init_schema3 = __esm({
|
|
|
4893
4940
|
logo: footerLogoSchema.optional(),
|
|
4894
4941
|
bottomBar: footerBottomBarSchema.optional()
|
|
4895
4942
|
});
|
|
4896
|
-
containerPaddingPresetSchema = z.enum([
|
|
4943
|
+
containerPaddingPresetSchema = z.enum([
|
|
4944
|
+
"tight",
|
|
4945
|
+
"compact",
|
|
4946
|
+
"default",
|
|
4947
|
+
"relaxed"
|
|
4948
|
+
]);
|
|
4897
4949
|
layoutSchema = z.object({
|
|
4898
4950
|
containerPadding: z.object({
|
|
4899
4951
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -4901,8 +4953,24 @@ var init_schema3 = __esm({
|
|
|
4901
4953
|
desktop: containerPaddingPresetSchema.optional()
|
|
4902
4954
|
}).optional()
|
|
4903
4955
|
}).optional();
|
|
4904
|
-
heroTypographySizeSchema = z.enum([
|
|
4905
|
-
|
|
4956
|
+
heroTypographySizeSchema = z.enum([
|
|
4957
|
+
"sm",
|
|
4958
|
+
"base",
|
|
4959
|
+
"lg",
|
|
4960
|
+
"xl",
|
|
4961
|
+
"2xl",
|
|
4962
|
+
"3xl",
|
|
4963
|
+
"4xl",
|
|
4964
|
+
"5xl",
|
|
4965
|
+
"6xl",
|
|
4966
|
+
"editorial"
|
|
4967
|
+
]);
|
|
4968
|
+
heroTypographyLineHeightSchema = z.enum([
|
|
4969
|
+
"tight",
|
|
4970
|
+
"snug",
|
|
4971
|
+
"normal",
|
|
4972
|
+
"relaxed"
|
|
4973
|
+
]);
|
|
4906
4974
|
heroResponsiveTypographySchema = z.object({
|
|
4907
4975
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
4908
4976
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -5513,10 +5581,12 @@ function resolveLegacyHeaderLookAlias(lookId) {
|
|
|
5513
5581
|
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
5514
5582
|
}
|
|
5515
5583
|
function getCompatibleHeaderStyleIds(layoutId) {
|
|
5516
|
-
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
|
|
5584
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
5585
|
+
(styleId) => {
|
|
5586
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
5587
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
5588
|
+
}
|
|
5589
|
+
);
|
|
5520
5590
|
}
|
|
5521
5591
|
function solidBrandHeader(theme) {
|
|
5522
5592
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
@@ -5547,8 +5617,14 @@ function solidBrandHeader(theme) {
|
|
|
5547
5617
|
borderRadius: "none",
|
|
5548
5618
|
effects: {
|
|
5549
5619
|
hover: [
|
|
5550
|
-
{
|
|
5551
|
-
|
|
5620
|
+
{
|
|
5621
|
+
effectId: "text-color-change",
|
|
5622
|
+
options: { hoverColorToken: "secondary" }
|
|
5623
|
+
},
|
|
5624
|
+
{
|
|
5625
|
+
effectId: "nav-underline",
|
|
5626
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
5627
|
+
}
|
|
5552
5628
|
]
|
|
5553
5629
|
}
|
|
5554
5630
|
},
|
|
@@ -5604,10 +5680,10 @@ function cleanBaseHeader(theme) {
|
|
|
5604
5680
|
ctaGap: "default"
|
|
5605
5681
|
};
|
|
5606
5682
|
}
|
|
5607
|
-
function
|
|
5683
|
+
function serifLineHeader(theme) {
|
|
5608
5684
|
return {
|
|
5609
5685
|
...baseHeader(theme),
|
|
5610
|
-
variant: "
|
|
5686
|
+
variant: "centered",
|
|
5611
5687
|
positioning: "sticky",
|
|
5612
5688
|
shrinkOnScroll: false,
|
|
5613
5689
|
background: {
|
|
@@ -5781,16 +5857,6 @@ var init_headerLooks = __esm({
|
|
|
5781
5857
|
maxRecommendedNavItems: 5,
|
|
5782
5858
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
5783
5859
|
},
|
|
5784
|
-
{
|
|
5785
|
-
id: asHeaderLayoutId("editorial"),
|
|
5786
|
-
label: "Editorial",
|
|
5787
|
-
description: "A composed, magazine-like stacked header treatment.",
|
|
5788
|
-
structure: "editorial-stack",
|
|
5789
|
-
variant: "editorial",
|
|
5790
|
-
defaultPositioning: "static",
|
|
5791
|
-
shrinkOnScroll: false,
|
|
5792
|
-
maxRecommendedNavItems: 6
|
|
5793
|
-
},
|
|
5794
5860
|
{
|
|
5795
5861
|
id: asHeaderLayoutId("floating"),
|
|
5796
5862
|
label: "Floating",
|
|
@@ -5808,17 +5874,19 @@ var init_headerLooks = __esm({
|
|
|
5808
5874
|
id: asHeaderStyleId("minimal"),
|
|
5809
5875
|
label: "Minimal",
|
|
5810
5876
|
description: "Quiet surface with simple color-change navigation.",
|
|
5811
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
5877
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5812
5878
|
navInteraction: "color-change",
|
|
5813
|
-
surface: "neutral"
|
|
5879
|
+
surface: "neutral",
|
|
5880
|
+
navTypography: "plain"
|
|
5814
5881
|
},
|
|
5815
5882
|
{
|
|
5816
5883
|
id: asHeaderStyleId("fine-line"),
|
|
5817
5884
|
label: "Fine Line",
|
|
5818
5885
|
description: "Light surface with a crisp lower rule and underline hover.",
|
|
5819
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
5886
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5820
5887
|
navInteraction: "underline-grow",
|
|
5821
|
-
surface: "bordered"
|
|
5888
|
+
surface: "bordered",
|
|
5889
|
+
navTypography: "plain"
|
|
5822
5890
|
},
|
|
5823
5891
|
{
|
|
5824
5892
|
id: asHeaderStyleId("soft-bar"),
|
|
@@ -5826,7 +5894,8 @@ var init_headerLooks = __esm({
|
|
|
5826
5894
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
5827
5895
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5828
5896
|
navInteraction: "pill-background",
|
|
5829
|
-
surface: "soft"
|
|
5897
|
+
surface: "soft",
|
|
5898
|
+
navTypography: "plain"
|
|
5830
5899
|
},
|
|
5831
5900
|
{
|
|
5832
5901
|
id: asHeaderStyleId("pill-nav"),
|
|
@@ -5834,23 +5903,26 @@ var init_headerLooks = __esm({
|
|
|
5834
5903
|
description: "A calm pill navigation rail over a neutral header.",
|
|
5835
5904
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5836
5905
|
navInteraction: "pill-background",
|
|
5837
|
-
surface: "soft"
|
|
5906
|
+
surface: "soft",
|
|
5907
|
+
navTypography: "plain"
|
|
5838
5908
|
},
|
|
5839
5909
|
{
|
|
5840
5910
|
id: asHeaderStyleId("brand-bar"),
|
|
5841
5911
|
label: "Brand Bar",
|
|
5842
5912
|
description: "Solid brand surface with high-contrast navigation.",
|
|
5843
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
5913
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5844
5914
|
navInteraction: "color-change",
|
|
5845
|
-
surface: "brand-solid"
|
|
5915
|
+
surface: "brand-solid",
|
|
5916
|
+
navTypography: "brand-caps"
|
|
5846
5917
|
},
|
|
5847
5918
|
{
|
|
5848
5919
|
id: asHeaderStyleId("brand-underline"),
|
|
5849
5920
|
label: "Brand Underline",
|
|
5850
5921
|
description: "Brand surface with underline-grow navigation.",
|
|
5851
|
-
supportedLayoutIds: supportedLayouts(["classic"
|
|
5922
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
5852
5923
|
navInteraction: "underline-grow",
|
|
5853
|
-
surface: "brand-solid"
|
|
5924
|
+
surface: "brand-solid",
|
|
5925
|
+
navTypography: "brand-caps"
|
|
5854
5926
|
},
|
|
5855
5927
|
{
|
|
5856
5928
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -5858,41 +5930,44 @@ var init_headerLooks = __esm({
|
|
|
5858
5930
|
description: "Solid brand surface with rounded active and hover states.",
|
|
5859
5931
|
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
5860
5932
|
navInteraction: "pill-background",
|
|
5861
|
-
surface: "brand-solid"
|
|
5933
|
+
surface: "brand-solid",
|
|
5934
|
+
navTypography: "brand-caps"
|
|
5862
5935
|
},
|
|
5863
5936
|
{
|
|
5864
|
-
id: asHeaderStyleId("
|
|
5865
|
-
label: "
|
|
5937
|
+
id: asHeaderStyleId("serif-line"),
|
|
5938
|
+
label: "Serif Line",
|
|
5866
5939
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
5867
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
5940
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5868
5941
|
navInteraction: "underline-grow",
|
|
5869
|
-
surface: "bordered"
|
|
5942
|
+
surface: "bordered",
|
|
5943
|
+
navTypography: "heading"
|
|
5870
5944
|
},
|
|
5871
5945
|
{
|
|
5872
5946
|
id: asHeaderStyleId("flat-tabs"),
|
|
5873
5947
|
label: "Flat Tabs",
|
|
5874
5948
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
5875
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
5949
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5876
5950
|
navInteraction: "flat-block",
|
|
5877
|
-
surface: "bordered"
|
|
5951
|
+
surface: "bordered",
|
|
5952
|
+
navTypography: "quiet-caps"
|
|
5878
5953
|
},
|
|
5879
5954
|
{
|
|
5880
5955
|
id: asHeaderStyleId("glass"),
|
|
5881
5956
|
label: "Glass",
|
|
5882
|
-
description: "
|
|
5883
|
-
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5957
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
5958
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
5884
5959
|
navInteraction: "glass-backed",
|
|
5885
5960
|
surface: "floating",
|
|
5886
|
-
|
|
5961
|
+
navTypography: "plain"
|
|
5887
5962
|
},
|
|
5888
5963
|
{
|
|
5889
5964
|
id: asHeaderStyleId("minimal-surface"),
|
|
5890
|
-
label: "
|
|
5891
|
-
description: "Floating
|
|
5965
|
+
label: "Clear Split",
|
|
5966
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
5892
5967
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5893
5968
|
navInteraction: "color-change",
|
|
5894
5969
|
surface: "floating",
|
|
5895
|
-
|
|
5970
|
+
navTypography: "plain"
|
|
5896
5971
|
},
|
|
5897
5972
|
{
|
|
5898
5973
|
id: asHeaderStyleId("soft-shell"),
|
|
@@ -5901,7 +5976,25 @@ var init_headerLooks = __esm({
|
|
|
5901
5976
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5902
5977
|
navInteraction: "pill-background",
|
|
5903
5978
|
surface: "floating",
|
|
5904
|
-
|
|
5979
|
+
navTypography: "plain"
|
|
5980
|
+
},
|
|
5981
|
+
{
|
|
5982
|
+
id: asHeaderStyleId("split-glass"),
|
|
5983
|
+
label: "Split Glass",
|
|
5984
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
5985
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5986
|
+
navInteraction: "glass-backed",
|
|
5987
|
+
surface: "floating",
|
|
5988
|
+
navTypography: "quiet-caps"
|
|
5989
|
+
},
|
|
5990
|
+
{
|
|
5991
|
+
id: asHeaderStyleId("split-pill"),
|
|
5992
|
+
label: "Split Pill",
|
|
5993
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
5994
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5995
|
+
navInteraction: "pill-background",
|
|
5996
|
+
surface: "floating",
|
|
5997
|
+
navTypography: "heading"
|
|
5905
5998
|
}
|
|
5906
5999
|
];
|
|
5907
6000
|
headerLayoutsById = new Map(
|
|
@@ -5915,13 +6008,14 @@ var init_headerLooks = __esm({
|
|
|
5915
6008
|
asHeaderLayoutId("classic"),
|
|
5916
6009
|
headerStyleRepairChain([
|
|
5917
6010
|
"minimal",
|
|
6011
|
+
"glass",
|
|
5918
6012
|
"fine-line",
|
|
5919
6013
|
"soft-bar",
|
|
5920
6014
|
"pill-nav",
|
|
5921
6015
|
"brand-bar",
|
|
5922
6016
|
"brand-underline",
|
|
5923
6017
|
"brand-pill",
|
|
5924
|
-
"
|
|
6018
|
+
"serif-line",
|
|
5925
6019
|
"flat-tabs"
|
|
5926
6020
|
])
|
|
5927
6021
|
],
|
|
@@ -5934,19 +6028,7 @@ var init_headerLooks = __esm({
|
|
|
5934
6028
|
"pill-nav",
|
|
5935
6029
|
"brand-bar",
|
|
5936
6030
|
"brand-pill",
|
|
5937
|
-
"
|
|
5938
|
-
"flat-tabs"
|
|
5939
|
-
])
|
|
5940
|
-
],
|
|
5941
|
-
[
|
|
5942
|
-
asHeaderLayoutId("editorial"),
|
|
5943
|
-
headerStyleRepairChain([
|
|
5944
|
-
"minimal",
|
|
5945
|
-
"fine-line",
|
|
5946
|
-
"soft-bar",
|
|
5947
|
-
"brand-bar",
|
|
5948
|
-
"brand-underline",
|
|
5949
|
-
"editorial-line",
|
|
6031
|
+
"serif-line",
|
|
5950
6032
|
"flat-tabs"
|
|
5951
6033
|
])
|
|
5952
6034
|
],
|
|
@@ -5955,25 +6037,70 @@ var init_headerLooks = __esm({
|
|
|
5955
6037
|
headerStyleRepairChain([
|
|
5956
6038
|
"glass",
|
|
5957
6039
|
"minimal-surface",
|
|
6040
|
+
"split-glass",
|
|
6041
|
+
"split-pill",
|
|
5958
6042
|
"soft-shell",
|
|
5959
6043
|
"brand-pill"
|
|
5960
6044
|
])
|
|
5961
6045
|
]
|
|
5962
6046
|
]);
|
|
5963
|
-
/* @__PURE__ */ new Map(
|
|
5964
|
-
[
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
6047
|
+
/* @__PURE__ */ new Map(
|
|
6048
|
+
[
|
|
6049
|
+
[
|
|
6050
|
+
asHeaderStyleId("brand-bar"),
|
|
6051
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
6052
|
+
],
|
|
6053
|
+
[
|
|
6054
|
+
asHeaderStyleId("brand-underline"),
|
|
6055
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
6056
|
+
],
|
|
6057
|
+
[
|
|
6058
|
+
asHeaderStyleId("brand-pill"),
|
|
6059
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
6060
|
+
],
|
|
6061
|
+
[
|
|
6062
|
+
asHeaderStyleId("pill-nav"),
|
|
6063
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
6064
|
+
],
|
|
6065
|
+
[
|
|
6066
|
+
asHeaderStyleId("flat-tabs"),
|
|
6067
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
6068
|
+
],
|
|
6069
|
+
[
|
|
6070
|
+
asHeaderStyleId("serif-line"),
|
|
6071
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
6072
|
+
],
|
|
6073
|
+
[
|
|
6074
|
+
asHeaderStyleId("glass"),
|
|
6075
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
6076
|
+
],
|
|
6077
|
+
[
|
|
6078
|
+
asHeaderStyleId("soft-shell"),
|
|
6079
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
6080
|
+
],
|
|
6081
|
+
[
|
|
6082
|
+
asHeaderStyleId("minimal-surface"),
|
|
6083
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
6084
|
+
],
|
|
6085
|
+
[
|
|
6086
|
+
asHeaderStyleId("split-glass"),
|
|
6087
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
6088
|
+
],
|
|
6089
|
+
[
|
|
6090
|
+
asHeaderStyleId("split-pill"),
|
|
6091
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
6092
|
+
],
|
|
6093
|
+
[
|
|
6094
|
+
asHeaderStyleId("fine-line"),
|
|
6095
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
6096
|
+
],
|
|
6097
|
+
[
|
|
6098
|
+
asHeaderStyleId("soft-bar"),
|
|
6099
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
6100
|
+
],
|
|
6101
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
6102
|
+
]
|
|
6103
|
+
);
|
|
5977
6104
|
legacyHeaderLookAliases = [
|
|
5978
6105
|
{
|
|
5979
6106
|
lookId: asHeaderLookId("clean-base"),
|
|
@@ -5990,10 +6117,10 @@ var init_headerLooks = __esm({
|
|
|
5990
6117
|
}
|
|
5991
6118
|
},
|
|
5992
6119
|
{
|
|
5993
|
-
lookId: asHeaderLookId("
|
|
6120
|
+
lookId: asHeaderLookId("serif-line"),
|
|
5994
6121
|
selection: {
|
|
5995
|
-
layoutId: asHeaderLayoutId("
|
|
5996
|
-
styleId: asHeaderStyleId("
|
|
6122
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
6123
|
+
styleId: asHeaderStyleId("serif-line")
|
|
5997
6124
|
}
|
|
5998
6125
|
},
|
|
5999
6126
|
{
|
|
@@ -6032,9 +6159,7 @@ var init_headerLooks = __esm({
|
|
|
6032
6159
|
}
|
|
6033
6160
|
}
|
|
6034
6161
|
];
|
|
6035
|
-
legacyHeaderLookAliasesById = new Map(
|
|
6036
|
-
legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
|
|
6037
|
-
);
|
|
6162
|
+
legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
6038
6163
|
headerLookCatalog = [
|
|
6039
6164
|
{
|
|
6040
6165
|
id: asHeaderLookId("clean-base"),
|
|
@@ -6063,27 +6188,27 @@ var init_headerLooks = __esm({
|
|
|
6063
6188
|
compile: solidBrandHeader
|
|
6064
6189
|
},
|
|
6065
6190
|
{
|
|
6066
|
-
id: asHeaderLookId("
|
|
6067
|
-
label: "
|
|
6068
|
-
visualTreatment: "light-
|
|
6191
|
+
id: asHeaderLookId("serif-line"),
|
|
6192
|
+
label: "Serif line",
|
|
6193
|
+
visualTreatment: "light-serif",
|
|
6069
6194
|
layoutBehavior: "sticky",
|
|
6070
6195
|
configuration: {
|
|
6071
|
-
structure: "
|
|
6072
|
-
treatment: "light-
|
|
6196
|
+
structure: "centered-stack",
|
|
6197
|
+
treatment: "light-serif",
|
|
6073
6198
|
behavior: "sticky"
|
|
6074
6199
|
},
|
|
6075
6200
|
openingRequirement: "none",
|
|
6076
6201
|
maxRecommendedNavItems: 6,
|
|
6077
|
-
compile:
|
|
6202
|
+
compile: serifLineHeader
|
|
6078
6203
|
},
|
|
6079
6204
|
{
|
|
6080
6205
|
id: asHeaderLookId("centered-calm"),
|
|
6081
6206
|
label: "Centered calm",
|
|
6082
|
-
visualTreatment: "light-
|
|
6207
|
+
visualTreatment: "light-serif",
|
|
6083
6208
|
layoutBehavior: "normal-flow",
|
|
6084
6209
|
configuration: {
|
|
6085
6210
|
structure: "centered-stack",
|
|
6086
|
-
treatment: "light-
|
|
6211
|
+
treatment: "light-serif",
|
|
6087
6212
|
behavior: "normal-flow"
|
|
6088
6213
|
},
|
|
6089
6214
|
openingRequirement: "none",
|
|
@@ -6580,12 +6705,16 @@ var init_typographyPresets = __esm({
|
|
|
6580
6705
|
|
|
6581
6706
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
6582
6707
|
function uniqueContentFrameKinds() {
|
|
6583
|
-
const kinds = [
|
|
6584
|
-
|
|
6585
|
-
|
|
6708
|
+
const kinds = [
|
|
6709
|
+
...new Set(
|
|
6710
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
6711
|
+
)
|
|
6712
|
+
];
|
|
6586
6713
|
const firstKind = kinds[0];
|
|
6587
6714
|
if (!firstKind) {
|
|
6588
|
-
throw new Error(
|
|
6715
|
+
throw new Error(
|
|
6716
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
6717
|
+
);
|
|
6589
6718
|
}
|
|
6590
6719
|
return [firstKind, ...kinds.slice(1)];
|
|
6591
6720
|
}
|
|
@@ -6594,7 +6723,9 @@ function defineCuratedSiteStyle(input) {
|
|
|
6594
6723
|
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
6595
6724
|
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
6596
6725
|
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
6597
|
-
if (!typographyPresetChoices.some(
|
|
6726
|
+
if (!typographyPresetChoices.some(
|
|
6727
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
6728
|
+
)) {
|
|
6598
6729
|
throw new Error(
|
|
6599
6730
|
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
6600
6731
|
);
|
|
@@ -6605,9 +6736,13 @@ function defineCuratedSiteStyle(input) {
|
|
|
6605
6736
|
description: input.description,
|
|
6606
6737
|
generationBrief: input.generationBrief,
|
|
6607
6738
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
6608
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
6739
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
6740
|
+
kind: "explicit_only"
|
|
6741
|
+
},
|
|
6609
6742
|
template: {
|
|
6610
|
-
id: asDesignSystemTemplateId(
|
|
6743
|
+
id: asDesignSystemTemplateId(
|
|
6744
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
6745
|
+
),
|
|
6611
6746
|
name: input.name,
|
|
6612
6747
|
version: 1,
|
|
6613
6748
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -6625,13 +6760,17 @@ function defineCuratedSiteStyle(input) {
|
|
|
6625
6760
|
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
6626
6761
|
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
6627
6762
|
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
6628
|
-
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6763
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
6764
|
+
(selection) => ({
|
|
6765
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
6766
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
6767
|
+
})
|
|
6768
|
+
),
|
|
6632
6769
|
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
6633
6770
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
6634
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
6771
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
6772
|
+
asFooterLookId
|
|
6773
|
+
),
|
|
6635
6774
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
6636
6775
|
paletteVariantChoices: input.paletteVariantChoices,
|
|
6637
6776
|
typographyPresetChoices,
|
|
@@ -6650,7 +6789,7 @@ function headerLayoutChoice(id, note) {
|
|
|
6650
6789
|
function headerStyleChoice(id, note) {
|
|
6651
6790
|
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
6652
6791
|
}
|
|
6653
|
-
function
|
|
6792
|
+
function unbrandHeaderLayoutId(id) {
|
|
6654
6793
|
return id;
|
|
6655
6794
|
}
|
|
6656
6795
|
function uniqueHeaderLayoutChoices(choices) {
|
|
@@ -6673,7 +6812,9 @@ function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
|
6673
6812
|
return [first, ...choices.slice(1)];
|
|
6674
6813
|
}
|
|
6675
6814
|
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
6676
|
-
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
6815
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
6816
|
+
(selection) => Boolean(selection)
|
|
6817
|
+
);
|
|
6677
6818
|
const defaultHeaderSelection = selections[0] ?? {
|
|
6678
6819
|
layoutId: asHeaderLayoutId("classic"),
|
|
6679
6820
|
styleId: asHeaderStyleId("minimal")
|
|
@@ -6684,10 +6825,7 @@ function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
|
6684
6825
|
const stylesByLayout = {};
|
|
6685
6826
|
for (const layoutChoice of layoutChoices) {
|
|
6686
6827
|
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
6687
|
-
stylesByLayout[
|
|
6688
|
-
styleChoices,
|
|
6689
|
-
layoutChoice.id
|
|
6690
|
-
);
|
|
6828
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
6691
6829
|
}
|
|
6692
6830
|
return {
|
|
6693
6831
|
defaultHeaderSelection,
|
|
@@ -6833,7 +6971,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6833
6971
|
motion: "subtle"
|
|
6834
6972
|
},
|
|
6835
6973
|
compositionBudget: quietBudget,
|
|
6836
|
-
recommendedHeaderLookIds: [
|
|
6974
|
+
recommendedHeaderLookIds: [
|
|
6975
|
+
"centered-calm",
|
|
6976
|
+
"minimal-transparent",
|
|
6977
|
+
"clean-base"
|
|
6978
|
+
],
|
|
6837
6979
|
buttonPersonalityChoices: [
|
|
6838
6980
|
buttonChoice("soft-pill"),
|
|
6839
6981
|
buttonChoice("pebble"),
|
|
@@ -6862,7 +7004,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6862
7004
|
motion: "subtle"
|
|
6863
7005
|
},
|
|
6864
7006
|
compositionBudget: balancedBudget,
|
|
6865
|
-
recommendedHeaderLookIds: [
|
|
7007
|
+
recommendedHeaderLookIds: [
|
|
7008
|
+
"practical-utility",
|
|
7009
|
+
"brand-solid",
|
|
7010
|
+
"clean-base"
|
|
7011
|
+
],
|
|
6866
7012
|
buttonPersonalityChoices: [
|
|
6867
7013
|
buttonChoice("confident-chip"),
|
|
6868
7014
|
buttonChoice("soft-pill"),
|
|
@@ -6889,7 +7035,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6889
7035
|
motion: "subtle"
|
|
6890
7036
|
},
|
|
6891
7037
|
compositionBudget: balancedBudget,
|
|
6892
|
-
recommendedHeaderLookIds: [
|
|
7038
|
+
recommendedHeaderLookIds: [
|
|
7039
|
+
"serif-line",
|
|
7040
|
+
"minimal-transparent",
|
|
7041
|
+
"centered-calm"
|
|
7042
|
+
],
|
|
6893
7043
|
buttonPersonalityChoices: [
|
|
6894
7044
|
buttonChoice("editorial-link"),
|
|
6895
7045
|
buttonChoice("soft-pill"),
|
|
@@ -6917,7 +7067,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6917
7067
|
motion: "expressive"
|
|
6918
7068
|
},
|
|
6919
7069
|
compositionBudget: balancedBudget,
|
|
6920
|
-
recommendedHeaderLookIds: [
|
|
7070
|
+
recommendedHeaderLookIds: [
|
|
7071
|
+
"brand-solid",
|
|
7072
|
+
"practical-utility",
|
|
7073
|
+
"clean-base"
|
|
7074
|
+
],
|
|
6921
7075
|
buttonPersonalityChoices: [
|
|
6922
7076
|
buttonChoice("pebble"),
|
|
6923
7077
|
buttonChoice("brushed-wash"),
|
|
@@ -6934,7 +7088,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
6934
7088
|
name: "Quiet Luxury",
|
|
6935
7089
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
6936
7090
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
6937
|
-
siteCreatorSelection: {
|
|
7091
|
+
siteCreatorSelection: {
|
|
7092
|
+
kind: "site_creator_keyword_heuristic",
|
|
7093
|
+
priority: 20
|
|
7094
|
+
},
|
|
6938
7095
|
selectionKeywordRules: [
|
|
6939
7096
|
{ kind: "word", value: "luxury" },
|
|
6940
7097
|
{ kind: "word", value: "premium" },
|
|
@@ -6952,7 +7109,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6952
7109
|
motion: "none"
|
|
6953
7110
|
},
|
|
6954
7111
|
compositionBudget: quietBudget,
|
|
6955
|
-
recommendedHeaderLookIds: [
|
|
7112
|
+
recommendedHeaderLookIds: [
|
|
7113
|
+
"minimal-transparent",
|
|
7114
|
+
"serif-line",
|
|
7115
|
+
"clean-base"
|
|
7116
|
+
],
|
|
6956
7117
|
buttonPersonalityChoices: [
|
|
6957
7118
|
buttonChoice("editorial-link"),
|
|
6958
7119
|
buttonChoice("confident-chip"),
|
|
@@ -6988,7 +7149,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
6988
7149
|
motion: "none"
|
|
6989
7150
|
},
|
|
6990
7151
|
compositionBudget: quietBudget,
|
|
6991
|
-
recommendedHeaderLookIds: [
|
|
7152
|
+
recommendedHeaderLookIds: [
|
|
7153
|
+
"practical-utility",
|
|
7154
|
+
"brand-solid",
|
|
7155
|
+
"clean-base"
|
|
7156
|
+
],
|
|
6992
7157
|
buttonPersonalityChoices: [
|
|
6993
7158
|
buttonChoice("confident-chip"),
|
|
6994
7159
|
buttonChoice("pebble"),
|
|
@@ -7015,7 +7180,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
7015
7180
|
motion: "subtle"
|
|
7016
7181
|
},
|
|
7017
7182
|
compositionBudget: balancedBudget,
|
|
7018
|
-
recommendedHeaderLookIds: [
|
|
7183
|
+
recommendedHeaderLookIds: [
|
|
7184
|
+
"centered-calm",
|
|
7185
|
+
"minimal-transparent",
|
|
7186
|
+
"clean-base"
|
|
7187
|
+
],
|
|
7019
7188
|
buttonPersonalityChoices: [
|
|
7020
7189
|
buttonChoice("soft-pill"),
|
|
7021
7190
|
buttonChoice("pebble"),
|
|
@@ -7032,7 +7201,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
7032
7201
|
name: "Quiet Practice",
|
|
7033
7202
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
7034
7203
|
generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
|
|
7035
|
-
siteCreatorSelection: {
|
|
7204
|
+
siteCreatorSelection: {
|
|
7205
|
+
kind: "site_creator_keyword_heuristic",
|
|
7206
|
+
priority: 30
|
|
7207
|
+
},
|
|
7036
7208
|
selectionKeywordRules: [
|
|
7037
7209
|
{ kind: "substring", value: "massage" },
|
|
7038
7210
|
{ kind: "word", value: "bodywork" },
|
|
@@ -7053,7 +7225,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
7053
7225
|
motion: "subtle"
|
|
7054
7226
|
},
|
|
7055
7227
|
compositionBudget: quietBudget,
|
|
7056
|
-
recommendedHeaderLookIds: [
|
|
7228
|
+
recommendedHeaderLookIds: [
|
|
7229
|
+
"practical-utility",
|
|
7230
|
+
"clean-base",
|
|
7231
|
+
"centered-calm"
|
|
7232
|
+
],
|
|
7057
7233
|
buttonPersonalityChoices: [
|
|
7058
7234
|
buttonChoice("pebble"),
|
|
7059
7235
|
buttonChoice("soft-pill"),
|
|
@@ -7070,7 +7246,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
7070
7246
|
name: "Personal Retreat Journal",
|
|
7071
7247
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
7072
7248
|
generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
|
|
7073
|
-
siteCreatorSelection: {
|
|
7249
|
+
siteCreatorSelection: {
|
|
7250
|
+
kind: "site_creator_keyword_heuristic",
|
|
7251
|
+
priority: 40
|
|
7252
|
+
},
|
|
7074
7253
|
selectionKeywordRules: [
|
|
7075
7254
|
{ kind: "substring", value: "retreat" },
|
|
7076
7255
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -7090,7 +7269,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
7090
7269
|
motion: "subtle"
|
|
7091
7270
|
},
|
|
7092
7271
|
compositionBudget: balancedBudget,
|
|
7093
|
-
recommendedHeaderLookIds: [
|
|
7272
|
+
recommendedHeaderLookIds: [
|
|
7273
|
+
"serif-line",
|
|
7274
|
+
"centered-calm",
|
|
7275
|
+
"minimal-transparent"
|
|
7276
|
+
],
|
|
7094
7277
|
buttonPersonalityChoices: [
|
|
7095
7278
|
buttonChoice("editorial-link"),
|
|
7096
7279
|
buttonChoice("soft-pill"),
|
|
@@ -7107,7 +7290,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
7107
7290
|
name: "Tactile Workshop",
|
|
7108
7291
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
7109
7292
|
generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
|
|
7110
|
-
siteCreatorSelection: {
|
|
7293
|
+
siteCreatorSelection: {
|
|
7294
|
+
kind: "site_creator_keyword_heuristic",
|
|
7295
|
+
priority: 50
|
|
7296
|
+
},
|
|
7111
7297
|
selectionKeywordRules: [
|
|
7112
7298
|
{ kind: "substring", value: "ceramic" },
|
|
7113
7299
|
{ kind: "word", value: "pottery" },
|
|
@@ -7127,8 +7313,15 @@ var init_curatedSiteStyles = __esm({
|
|
|
7127
7313
|
motion: "subtle"
|
|
7128
7314
|
},
|
|
7129
7315
|
compositionBudget: balancedBudget,
|
|
7130
|
-
recommendedHeaderLookIds: [
|
|
7131
|
-
|
|
7316
|
+
recommendedHeaderLookIds: [
|
|
7317
|
+
"brand-solid",
|
|
7318
|
+
"practical-utility",
|
|
7319
|
+
"clean-base"
|
|
7320
|
+
],
|
|
7321
|
+
recommendedFooterLookIds: [
|
|
7322
|
+
"site-footer-brand-two-band",
|
|
7323
|
+
"footer-muted-grounding"
|
|
7324
|
+
],
|
|
7132
7325
|
buttonPersonalityChoices: [
|
|
7133
7326
|
buttonChoice("pebble"),
|
|
7134
7327
|
buttonChoice("confident-chip"),
|
|
@@ -7147,7 +7340,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
7147
7340
|
name: "Soft Earth",
|
|
7148
7341
|
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
7149
7342
|
generationBrief: "Use cream space, terracotta CTAs, olive proof bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community proof, and a simple two-column FAQ when content allows.",
|
|
7150
|
-
siteCreatorSelection: {
|
|
7343
|
+
siteCreatorSelection: {
|
|
7344
|
+
kind: "site_creator_keyword_heuristic",
|
|
7345
|
+
priority: 45
|
|
7346
|
+
},
|
|
7151
7347
|
selectionKeywordRules: [
|
|
7152
7348
|
{ kind: "word", value: "meditation" },
|
|
7153
7349
|
{ kind: "word", value: "wellbeing" },
|
|
@@ -7223,8 +7419,15 @@ var init_curatedSiteStyles = __esm({
|
|
|
7223
7419
|
"faq-soft-earth-two-column",
|
|
7224
7420
|
"contact-form-panel"
|
|
7225
7421
|
],
|
|
7226
|
-
recommendedHeaderLookIds: [
|
|
7227
|
-
|
|
7422
|
+
recommendedHeaderLookIds: [
|
|
7423
|
+
"centered-calm",
|
|
7424
|
+
"minimal-transparent",
|
|
7425
|
+
"serif-line"
|
|
7426
|
+
],
|
|
7427
|
+
recommendedFooterLookIds: [
|
|
7428
|
+
"footer-muted-grounding",
|
|
7429
|
+
"site-footer-brand-two-band"
|
|
7430
|
+
],
|
|
7228
7431
|
buttonPersonalityChoices: [
|
|
7229
7432
|
buttonChoice("earth-pill"),
|
|
7230
7433
|
buttonChoice("soft-pill"),
|
|
@@ -7243,7 +7446,10 @@ var init_curatedSiteStyles = __esm({
|
|
|
7243
7446
|
name: "Bold Launch",
|
|
7244
7447
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
7245
7448
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
7246
|
-
siteCreatorSelection: {
|
|
7449
|
+
siteCreatorSelection: {
|
|
7450
|
+
kind: "site_creator_keyword_heuristic",
|
|
7451
|
+
priority: 10
|
|
7452
|
+
},
|
|
7247
7453
|
selectionKeywordRules: [
|
|
7248
7454
|
{ kind: "substring", value: "launch" },
|
|
7249
7455
|
{ kind: "substring", value: "campaign" },
|
|
@@ -7262,7 +7468,11 @@ var init_curatedSiteStyles = __esm({
|
|
|
7262
7468
|
motion: "expressive"
|
|
7263
7469
|
},
|
|
7264
7470
|
compositionBudget: expressiveBudget,
|
|
7265
|
-
recommendedHeaderLookIds: [
|
|
7471
|
+
recommendedHeaderLookIds: [
|
|
7472
|
+
"transparent-overlay",
|
|
7473
|
+
"floating-glass",
|
|
7474
|
+
"brand-solid"
|
|
7475
|
+
],
|
|
7266
7476
|
buttonPersonalityChoices: [
|
|
7267
7477
|
buttonChoice("ink-stamp"),
|
|
7268
7478
|
buttonChoice("confident-chip"),
|
|
@@ -7313,8 +7523,15 @@ var init_curatedSiteStyles = __esm({
|
|
|
7313
7523
|
"testimonials-accent-quote-proof",
|
|
7314
7524
|
"contact-form-brand-depth-card"
|
|
7315
7525
|
],
|
|
7316
|
-
recommendedHeaderLookIds: [
|
|
7317
|
-
|
|
7526
|
+
recommendedHeaderLookIds: [
|
|
7527
|
+
"brand-solid",
|
|
7528
|
+
"transparent-overlay",
|
|
7529
|
+
"practical-utility"
|
|
7530
|
+
],
|
|
7531
|
+
recommendedFooterLookIds: [
|
|
7532
|
+
"site-footer-brand-two-band",
|
|
7533
|
+
"footer-muted-grounding"
|
|
7534
|
+
],
|
|
7318
7535
|
buttonPersonalityChoices: [
|
|
7319
7536
|
buttonChoice("showtime-pill"),
|
|
7320
7537
|
buttonChoice("confident-chip"),
|
|
@@ -23145,15 +23362,15 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
23145
23362
|
case "maxLength":
|
|
23146
23363
|
return value.length > constraint.maximum ? [issue(plan, "tooLong", { maximum: constraint.maximum })] : [];
|
|
23147
23364
|
case "emailFormat":
|
|
23148
|
-
return
|
|
23365
|
+
return isCanonicalEmailValue(value) ? [] : [issue(plan, "invalidEmail")];
|
|
23149
23366
|
case "phoneFormat":
|
|
23150
|
-
return
|
|
23367
|
+
return isCanonicalPhoneValue(value) ? [] : [issue(plan, "invalidPhone")];
|
|
23151
23368
|
case "patternFormat": {
|
|
23152
23369
|
const re = compilePattern(constraint.pattern);
|
|
23153
23370
|
return re && !re.test(value) ? [issue(plan, "invalidPattern")] : [];
|
|
23154
23371
|
}
|
|
23155
23372
|
case "urlFormat":
|
|
23156
|
-
return
|
|
23373
|
+
return isCanonicalUrlValue(value, { allowRelative: constraint.allowRelative }) ? [] : [issue(plan, "invalidUrl")];
|
|
23157
23374
|
case "dateFormat":
|
|
23158
23375
|
return isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
|
|
23159
23376
|
case "timeFormat":
|
|
@@ -23375,9 +23592,15 @@ function compilePattern(pattern) {
|
|
|
23375
23592
|
function isValidNumber(value) {
|
|
23376
23593
|
return typeof value === "number" && Number.isFinite(value);
|
|
23377
23594
|
}
|
|
23378
|
-
function
|
|
23595
|
+
function isCanonicalEmailValue(value) {
|
|
23596
|
+
return z.email().safeParse(value).success;
|
|
23597
|
+
}
|
|
23598
|
+
function isCanonicalPhoneValue(value) {
|
|
23599
|
+
return TEL_RE.test(value);
|
|
23600
|
+
}
|
|
23601
|
+
function isCanonicalUrlValue(value, options = {}) {
|
|
23379
23602
|
if (!value) return false;
|
|
23380
|
-
if (allowRelative && value.startsWith("/")) return true;
|
|
23603
|
+
if (options.allowRelative === true && value.startsWith("/")) return true;
|
|
23381
23604
|
try {
|
|
23382
23605
|
const parsed = new URL(value);
|
|
23383
23606
|
return ALLOWED_URL_PROTOCOLS.includes(parsed.protocol);
|
|
@@ -25432,10 +25655,7 @@ var headerRootClassTransform = {
|
|
|
25432
25655
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
25433
25656
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
25434
25657
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
25435
|
-
const classes = [
|
|
25436
|
-
config2.base,
|
|
25437
|
-
backgroundClass
|
|
25438
|
-
];
|
|
25658
|
+
const classes = [config2.base, backgroundClass];
|
|
25439
25659
|
if (!hasContainedNav) {
|
|
25440
25660
|
if (config2.blur) classes.push(config2.blur);
|
|
25441
25661
|
if (config2.blurSupport) classes.push(config2.blurSupport);
|
|
@@ -25450,7 +25670,12 @@ var headerRootClassTransform = {
|
|
|
25450
25670
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
25451
25671
|
classes.push(config2.shrink);
|
|
25452
25672
|
}
|
|
25453
|
-
const VALID_VARIANTS = [
|
|
25673
|
+
const VALID_VARIANTS = [
|
|
25674
|
+
"classic",
|
|
25675
|
+
"centered",
|
|
25676
|
+
"transparent",
|
|
25677
|
+
"floating"
|
|
25678
|
+
];
|
|
25454
25679
|
const variant = header?.variant;
|
|
25455
25680
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
25456
25681
|
classes.push(`header-variant-${variant}`);
|
|
@@ -26062,15 +26287,21 @@ var mobileCta = ctaButton({
|
|
|
26062
26287
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
26063
26288
|
{
|
|
26064
26289
|
type: "div",
|
|
26065
|
-
props: {
|
|
26290
|
+
props: {
|
|
26291
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
26292
|
+
}
|
|
26066
26293
|
},
|
|
26067
26294
|
{
|
|
26068
26295
|
type: "div",
|
|
26069
|
-
props: {
|
|
26296
|
+
props: {
|
|
26297
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
26298
|
+
}
|
|
26070
26299
|
},
|
|
26071
26300
|
{
|
|
26072
26301
|
type: "div",
|
|
26073
|
-
props: {
|
|
26302
|
+
props: {
|
|
26303
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
26304
|
+
}
|
|
26074
26305
|
}
|
|
26075
26306
|
]);
|
|
26076
26307
|
var mobileToggleButton = {
|
|
@@ -26253,28 +26484,6 @@ var floatingLayout = inline(
|
|
|
26253
26484
|
],
|
|
26254
26485
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
26255
26486
|
);
|
|
26256
|
-
var editorialLayout = stack(
|
|
26257
|
-
{
|
|
26258
|
-
gap: "md",
|
|
26259
|
-
align: "center",
|
|
26260
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
26261
|
-
transforms: pipe(
|
|
26262
|
-
tx("layout.maxWidthClass", {
|
|
26263
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
26264
|
-
})
|
|
26265
|
-
),
|
|
26266
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
26267
|
-
})
|
|
26268
|
-
},
|
|
26269
|
-
[
|
|
26270
|
-
centeredLogoRow,
|
|
26271
|
-
createNavRow(
|
|
26272
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
26273
|
-
"center"
|
|
26274
|
-
)
|
|
26275
|
-
],
|
|
26276
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
26277
|
-
);
|
|
26278
26487
|
var headerLayout = headerSection(
|
|
26279
26488
|
{
|
|
26280
26489
|
background: bindProp("$root.theme.header", {
|
|
@@ -26288,10 +26497,7 @@ var headerLayout = headerSection(
|
|
|
26288
26497
|
}),
|
|
26289
26498
|
style: bindProp("$root.theme.header", {
|
|
26290
26499
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
26291
|
-
fallback: mergeStyles(
|
|
26292
|
-
textColorStyle("text"),
|
|
26293
|
-
borderColorStyle("border")
|
|
26294
|
-
)
|
|
26500
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
26295
26501
|
})
|
|
26296
26502
|
},
|
|
26297
26503
|
[
|
|
@@ -26300,7 +26506,6 @@ var headerLayout = headerSection(
|
|
|
26300
26506
|
centeredLayout,
|
|
26301
26507
|
transparentLayout,
|
|
26302
26508
|
floatingLayout,
|
|
26303
|
-
editorialLayout,
|
|
26304
26509
|
mobileOverlay
|
|
26305
26510
|
],
|
|
26306
26511
|
props({
|
|
@@ -56301,7 +56506,7 @@ var SimpleCache = class {
|
|
|
56301
56506
|
};
|
|
56302
56507
|
|
|
56303
56508
|
// src/version.ts
|
|
56304
|
-
var SDK_VERSION = "0.77.
|
|
56509
|
+
var SDK_VERSION = "0.77.1";
|
|
56305
56510
|
|
|
56306
56511
|
// src/client/error.ts
|
|
56307
56512
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|