@riverbankcms/sdk 0.60.3 → 0.60.7
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/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +6 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +45 -3
- package/dist/_dts/api/src/bookingOperations.d.ts +40 -3
- package/dist/_dts/api/src/bookingVerticals.d.ts +1 -0
- package/dist/_dts/api/src/courses.d.ts +1 -5
- package/dist/_dts/api/src/endpoints.d.ts +80 -1
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -1
- package/dist/_dts/api/src/resources.d.ts +1 -1
- package/dist/_dts/api/src/siteBanner.d.ts +8 -8
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -39
- package/dist/_dts/api/src/siteOnboarding.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +2 -0
- package/dist/_dts/api/src/teamMembers.d.ts +27 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +35 -29
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +40 -34
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +18 -8
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
- package/dist/_dts/content-model/src/metadataConfig.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +2 -0
- package/dist/_dts/core/src/participants.d.ts +32 -1
- package/dist/_dts/core/src/rectification.d.ts +79 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +130 -14
- package/dist/_dts/db/src/schemas/forms.d.ts +61 -61
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +17 -15
- package/dist/_dts/sdk/src/client/types.d.ts +10 -2
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +40 -37
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +17 -8
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +87 -69
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -5
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +11 -11
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +86 -5
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +20 -20
- package/dist/_dts/theme-core/src/buttons/types.d.ts +27 -27
- package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
- package/dist/_dts/theme-core/src/inputs/types.d.ts +14 -14
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +438 -438
- package/dist/_dts/theme-core/src/navigation/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +200 -4
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +25 -25
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +33 -9
- package/dist/_dts/theme-core/src/schema.d.ts +662 -662
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -194
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +15 -15
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +12 -14
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +5 -5
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button-group.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +2 -2
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
- package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
- package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
- package/dist/_dts/ui/src/palette/index.d.ts +14 -0
- package/dist/_dts/ui/src/surface.d.ts +2 -2
- package/dist/_dts/ui/src/toggle.d.ts +4 -4
- package/dist/cli/index.mjs +1535 -1183
- package/dist/client/client.mjs +3944 -3454
- package/dist/client/hooks.mjs +2053 -1743
- package/dist/client/rendering/client.mjs +311 -167
- package/dist/client/rendering/islands.mjs +159 -73
- package/dist/client/rendering.mjs +1918 -1447
- package/dist/preview-next/before-render.mjs +147 -1
- package/dist/preview-next/client/runtime.mjs +2828 -2174
- package/dist/preview-next/middleware.mjs +147 -1
- package/dist/server/components.mjs +4311 -3928
- package/dist/server/config-validation.mjs +2201 -1906
- package/dist/server/config.mjs +2201 -1906
- package/dist/server/data.mjs +2053 -1743
- package/dist/server/index.mjs +171 -4
- package/dist/server/next.mjs +3442 -3024
- package/dist/server/page-converter.mjs +2109 -1962
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4021 -3622
- package/dist/server/rendering.mjs +4021 -3622
- package/dist/server/routing.mjs +2377 -2058
- package/dist/server/server.mjs +2244 -1915
- package/dist/server/theme-bridge.mjs +130 -126
- package/dist/server/theme.mjs +131 -129
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +0 -109
package/dist/cli/index.mjs
CHANGED
|
@@ -191,6 +191,7 @@ var init_assertNever = __esm({
|
|
|
191
191
|
// ../core/src/participants.ts
|
|
192
192
|
var init_participants = __esm({
|
|
193
193
|
"../core/src/participants.ts"() {
|
|
194
|
+
init_branded();
|
|
194
195
|
init_result();
|
|
195
196
|
}
|
|
196
197
|
});
|
|
@@ -1530,23 +1531,6 @@ var init_typeGuards = __esm({
|
|
|
1530
1531
|
"../blocks/src/lib/typeGuards.ts"() {
|
|
1531
1532
|
}
|
|
1532
1533
|
});
|
|
1533
|
-
var STYLE_AXIS_VALUES, styleTagsSchema;
|
|
1534
|
-
var init_compatibility = __esm({
|
|
1535
|
-
"../theme-core/src/site-styles/compatibility.ts"() {
|
|
1536
|
-
STYLE_AXIS_VALUES = {
|
|
1537
|
-
tone: ["minimal", "classic", "bold"],
|
|
1538
|
-
energy: ["calm", "vibrant"],
|
|
1539
|
-
motion: ["subtle", "standard", "expressive"],
|
|
1540
|
-
era: ["editorial", "modern", "organic", "technical", "retro"]
|
|
1541
|
-
};
|
|
1542
|
-
styleTagsSchema = z.object({
|
|
1543
|
-
tone: z.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
1544
|
-
energy: z.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
1545
|
-
motion: z.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
1546
|
-
era: z.enum(STYLE_AXIS_VALUES.era).optional()
|
|
1547
|
-
});
|
|
1548
|
-
}
|
|
1549
|
-
});
|
|
1550
1534
|
var VARIANT_ROLES, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, hoverColorSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, buttonGlobalSettingsSchema, gradientDirectionSchema, buttonBackgroundSchema, effectApplicationSchema, buttonBorderSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, buttonVariantSchema, buttonSystemSchema;
|
|
1551
1535
|
var init_types2 = __esm({
|
|
1552
1536
|
"../theme-core/src/buttons/types.ts"() {
|
|
@@ -1696,136 +1680,21 @@ var init_types2 = __esm({
|
|
|
1696
1680
|
});
|
|
1697
1681
|
}
|
|
1698
1682
|
});
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
"../theme-core/src/buttons/effects/cssUtils.ts"() {
|
|
1715
|
-
}
|
|
1716
|
-
});
|
|
1717
|
-
|
|
1718
|
-
// ../theme-core/src/buttons/effects/presets/shadow.ts
|
|
1719
|
-
var init_shadow = __esm({
|
|
1720
|
-
"../theme-core/src/buttons/effects/presets/shadow.ts"() {
|
|
1721
|
-
init_cssUtils();
|
|
1722
|
-
}
|
|
1723
|
-
});
|
|
1724
|
-
|
|
1725
|
-
// ../theme-core/src/buttons/effects/presets/transform.ts
|
|
1726
|
-
var init_transform = __esm({
|
|
1727
|
-
"../theme-core/src/buttons/effects/presets/transform.ts"() {
|
|
1728
|
-
init_cssUtils();
|
|
1729
|
-
}
|
|
1730
|
-
});
|
|
1731
|
-
|
|
1732
|
-
// ../theme-core/src/buttons/effects/presets/overlay.ts
|
|
1733
|
-
var init_overlay = __esm({
|
|
1734
|
-
"../theme-core/src/buttons/effects/presets/overlay.ts"() {
|
|
1735
|
-
}
|
|
1736
|
-
});
|
|
1737
|
-
|
|
1738
|
-
// ../theme-core/src/buttons/effects/presets/text.ts
|
|
1739
|
-
var init_text = __esm({
|
|
1740
|
-
"../theme-core/src/buttons/effects/presets/text.ts"() {
|
|
1741
|
-
}
|
|
1742
|
-
});
|
|
1743
|
-
|
|
1744
|
-
// ../theme-core/src/buttons/effects/presets/border.ts
|
|
1745
|
-
var init_border = __esm({
|
|
1746
|
-
"../theme-core/src/buttons/effects/presets/border.ts"() {
|
|
1747
|
-
}
|
|
1748
|
-
});
|
|
1749
|
-
|
|
1750
|
-
// ../theme-core/src/buttons/effects/presets/animation.ts
|
|
1751
|
-
var init_animation = __esm({
|
|
1752
|
-
"../theme-core/src/buttons/effects/presets/animation.ts"() {
|
|
1753
|
-
}
|
|
1754
|
-
});
|
|
1755
|
-
|
|
1756
|
-
// ../theme-core/src/interactive/effects/nav-underline.ts
|
|
1757
|
-
var init_nav_underline = __esm({
|
|
1758
|
-
"../theme-core/src/interactive/effects/nav-underline.ts"() {
|
|
1759
|
-
}
|
|
1760
|
-
});
|
|
1761
|
-
|
|
1762
|
-
// ../theme-core/src/interactive/effects/nav-frosted.ts
|
|
1763
|
-
var init_nav_frosted = __esm({
|
|
1764
|
-
"../theme-core/src/interactive/effects/nav-frosted.ts"() {
|
|
1765
|
-
}
|
|
1766
|
-
});
|
|
1767
|
-
|
|
1768
|
-
// ../theme-core/src/interactive/effects/index.ts
|
|
1769
|
-
var init_effects = __esm({
|
|
1770
|
-
"../theme-core/src/interactive/effects/index.ts"() {
|
|
1771
|
-
init_nav_underline();
|
|
1772
|
-
init_nav_frosted();
|
|
1773
|
-
}
|
|
1774
|
-
});
|
|
1775
|
-
|
|
1776
|
-
// ../theme-core/src/buttons/effects/registry.ts
|
|
1777
|
-
var init_registry = __esm({
|
|
1778
|
-
"../theme-core/src/buttons/effects/registry.ts"() {
|
|
1779
|
-
init_background();
|
|
1780
|
-
init_shadow();
|
|
1781
|
-
init_transform();
|
|
1782
|
-
init_overlay();
|
|
1783
|
-
init_text();
|
|
1784
|
-
init_border();
|
|
1785
|
-
init_animation();
|
|
1786
|
-
init_effects();
|
|
1787
|
-
}
|
|
1788
|
-
});
|
|
1789
|
-
|
|
1790
|
-
// ../theme-core/src/interactive/generateEffectsCSS.ts
|
|
1791
|
-
var init_generateEffectsCSS = __esm({
|
|
1792
|
-
"../theme-core/src/interactive/generateEffectsCSS.ts"() {
|
|
1793
|
-
init_registry();
|
|
1794
|
-
}
|
|
1795
|
-
});
|
|
1796
|
-
|
|
1797
|
-
// ../theme-core/src/buttons/constants.ts
|
|
1798
|
-
var init_constants = __esm({
|
|
1799
|
-
"../theme-core/src/buttons/constants.ts"() {
|
|
1800
|
-
}
|
|
1801
|
-
});
|
|
1802
|
-
|
|
1803
|
-
// ../theme-core/src/buttons/utils/contrast.ts
|
|
1804
|
-
var init_contrast = __esm({
|
|
1805
|
-
"../theme-core/src/buttons/utils/contrast.ts"() {
|
|
1806
|
-
}
|
|
1807
|
-
});
|
|
1808
|
-
|
|
1809
|
-
// ../theme-core/src/buttons/generateDefaultButtonSystem.ts
|
|
1810
|
-
var init_generateDefaultButtonSystem = __esm({
|
|
1811
|
-
"../theme-core/src/buttons/generateDefaultButtonSystem.ts"() {
|
|
1812
|
-
init_contrast();
|
|
1813
|
-
}
|
|
1814
|
-
});
|
|
1815
|
-
var init_generateButtonCss = __esm({
|
|
1816
|
-
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
1817
|
-
init_types2();
|
|
1818
|
-
init_resolver();
|
|
1819
|
-
init_generateEffectsCSS();
|
|
1820
|
-
init_constants();
|
|
1821
|
-
init_generateDefaultButtonSystem();
|
|
1822
|
-
buttonSizeNameSchema.options;
|
|
1823
|
-
}
|
|
1824
|
-
});
|
|
1825
|
-
|
|
1826
|
-
// ../theme-core/src/buttons/presets.ts
|
|
1827
|
-
var init_presets = __esm({
|
|
1828
|
-
"../theme-core/src/buttons/presets.ts"() {
|
|
1683
|
+
var STYLE_AXIS_VALUES, styleTagsSchema;
|
|
1684
|
+
var init_styleTags = __esm({
|
|
1685
|
+
"../theme-core/src/site-styles/styleTags.ts"() {
|
|
1686
|
+
STYLE_AXIS_VALUES = {
|
|
1687
|
+
tone: ["minimal", "classic", "bold"],
|
|
1688
|
+
energy: ["calm", "vibrant"],
|
|
1689
|
+
motion: ["subtle", "standard", "expressive"],
|
|
1690
|
+
era: ["editorial", "modern", "organic", "technical", "retro"]
|
|
1691
|
+
};
|
|
1692
|
+
styleTagsSchema = z.object({
|
|
1693
|
+
tone: z.enum(STYLE_AXIS_VALUES.tone).optional(),
|
|
1694
|
+
energy: z.enum(STYLE_AXIS_VALUES.energy).optional(),
|
|
1695
|
+
motion: z.enum(STYLE_AXIS_VALUES.motion).optional(),
|
|
1696
|
+
era: z.enum(STYLE_AXIS_VALUES.era).optional()
|
|
1697
|
+
});
|
|
1829
1698
|
}
|
|
1830
1699
|
});
|
|
1831
1700
|
function asButtonPersonalityId(value) {
|
|
@@ -1847,7 +1716,7 @@ var buttonPersonalityIdSchema;
|
|
|
1847
1716
|
var init_types3 = __esm({
|
|
1848
1717
|
"../theme-core/src/buttons/personalities/types.ts"() {
|
|
1849
1718
|
init_types2();
|
|
1850
|
-
|
|
1719
|
+
init_styleTags();
|
|
1851
1720
|
buttonPersonalityIdSchema = z.string().min(1).transform((value) => asButtonPersonalityId(value));
|
|
1852
1721
|
z.object({
|
|
1853
1722
|
id: buttonPersonalityIdSchema,
|
|
@@ -2431,6 +2300,138 @@ var init_personalities = __esm({
|
|
|
2431
2300
|
}
|
|
2432
2301
|
});
|
|
2433
2302
|
|
|
2303
|
+
// ../theme-core/src/tokens/resolver.ts
|
|
2304
|
+
var init_resolver = __esm({
|
|
2305
|
+
"../theme-core/src/tokens/resolver.ts"() {
|
|
2306
|
+
}
|
|
2307
|
+
});
|
|
2308
|
+
|
|
2309
|
+
// ../theme-core/src/buttons/effects/presets/background.ts
|
|
2310
|
+
var init_background = __esm({
|
|
2311
|
+
"../theme-core/src/buttons/effects/presets/background.ts"() {
|
|
2312
|
+
}
|
|
2313
|
+
});
|
|
2314
|
+
|
|
2315
|
+
// ../theme-core/src/buttons/effects/cssUtils.ts
|
|
2316
|
+
var init_cssUtils = __esm({
|
|
2317
|
+
"../theme-core/src/buttons/effects/cssUtils.ts"() {
|
|
2318
|
+
}
|
|
2319
|
+
});
|
|
2320
|
+
|
|
2321
|
+
// ../theme-core/src/buttons/effects/presets/shadow.ts
|
|
2322
|
+
var init_shadow = __esm({
|
|
2323
|
+
"../theme-core/src/buttons/effects/presets/shadow.ts"() {
|
|
2324
|
+
init_cssUtils();
|
|
2325
|
+
}
|
|
2326
|
+
});
|
|
2327
|
+
|
|
2328
|
+
// ../theme-core/src/buttons/effects/presets/transform.ts
|
|
2329
|
+
var init_transform = __esm({
|
|
2330
|
+
"../theme-core/src/buttons/effects/presets/transform.ts"() {
|
|
2331
|
+
init_cssUtils();
|
|
2332
|
+
}
|
|
2333
|
+
});
|
|
2334
|
+
|
|
2335
|
+
// ../theme-core/src/buttons/effects/presets/overlay.ts
|
|
2336
|
+
var init_overlay = __esm({
|
|
2337
|
+
"../theme-core/src/buttons/effects/presets/overlay.ts"() {
|
|
2338
|
+
}
|
|
2339
|
+
});
|
|
2340
|
+
|
|
2341
|
+
// ../theme-core/src/buttons/effects/presets/text.ts
|
|
2342
|
+
var init_text = __esm({
|
|
2343
|
+
"../theme-core/src/buttons/effects/presets/text.ts"() {
|
|
2344
|
+
}
|
|
2345
|
+
});
|
|
2346
|
+
|
|
2347
|
+
// ../theme-core/src/buttons/effects/presets/border.ts
|
|
2348
|
+
var init_border = __esm({
|
|
2349
|
+
"../theme-core/src/buttons/effects/presets/border.ts"() {
|
|
2350
|
+
}
|
|
2351
|
+
});
|
|
2352
|
+
|
|
2353
|
+
// ../theme-core/src/buttons/effects/presets/animation.ts
|
|
2354
|
+
var init_animation = __esm({
|
|
2355
|
+
"../theme-core/src/buttons/effects/presets/animation.ts"() {
|
|
2356
|
+
}
|
|
2357
|
+
});
|
|
2358
|
+
|
|
2359
|
+
// ../theme-core/src/interactive/effects/nav-underline.ts
|
|
2360
|
+
var init_nav_underline = __esm({
|
|
2361
|
+
"../theme-core/src/interactive/effects/nav-underline.ts"() {
|
|
2362
|
+
}
|
|
2363
|
+
});
|
|
2364
|
+
|
|
2365
|
+
// ../theme-core/src/interactive/effects/nav-frosted.ts
|
|
2366
|
+
var init_nav_frosted = __esm({
|
|
2367
|
+
"../theme-core/src/interactive/effects/nav-frosted.ts"() {
|
|
2368
|
+
}
|
|
2369
|
+
});
|
|
2370
|
+
|
|
2371
|
+
// ../theme-core/src/interactive/effects/index.ts
|
|
2372
|
+
var init_effects = __esm({
|
|
2373
|
+
"../theme-core/src/interactive/effects/index.ts"() {
|
|
2374
|
+
init_nav_underline();
|
|
2375
|
+
init_nav_frosted();
|
|
2376
|
+
}
|
|
2377
|
+
});
|
|
2378
|
+
|
|
2379
|
+
// ../theme-core/src/buttons/effects/registry.ts
|
|
2380
|
+
var init_registry = __esm({
|
|
2381
|
+
"../theme-core/src/buttons/effects/registry.ts"() {
|
|
2382
|
+
init_background();
|
|
2383
|
+
init_shadow();
|
|
2384
|
+
init_transform();
|
|
2385
|
+
init_overlay();
|
|
2386
|
+
init_text();
|
|
2387
|
+
init_border();
|
|
2388
|
+
init_animation();
|
|
2389
|
+
init_effects();
|
|
2390
|
+
}
|
|
2391
|
+
});
|
|
2392
|
+
|
|
2393
|
+
// ../theme-core/src/interactive/generateEffectsCSS.ts
|
|
2394
|
+
var init_generateEffectsCSS = __esm({
|
|
2395
|
+
"../theme-core/src/interactive/generateEffectsCSS.ts"() {
|
|
2396
|
+
init_registry();
|
|
2397
|
+
}
|
|
2398
|
+
});
|
|
2399
|
+
|
|
2400
|
+
// ../theme-core/src/buttons/constants.ts
|
|
2401
|
+
var init_constants = __esm({
|
|
2402
|
+
"../theme-core/src/buttons/constants.ts"() {
|
|
2403
|
+
}
|
|
2404
|
+
});
|
|
2405
|
+
|
|
2406
|
+
// ../theme-core/src/buttons/utils/contrast.ts
|
|
2407
|
+
var init_contrast = __esm({
|
|
2408
|
+
"../theme-core/src/buttons/utils/contrast.ts"() {
|
|
2409
|
+
}
|
|
2410
|
+
});
|
|
2411
|
+
|
|
2412
|
+
// ../theme-core/src/buttons/generateDefaultButtonSystem.ts
|
|
2413
|
+
var init_generateDefaultButtonSystem = __esm({
|
|
2414
|
+
"../theme-core/src/buttons/generateDefaultButtonSystem.ts"() {
|
|
2415
|
+
init_contrast();
|
|
2416
|
+
}
|
|
2417
|
+
});
|
|
2418
|
+
var init_generateButtonCss = __esm({
|
|
2419
|
+
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
2420
|
+
init_types2();
|
|
2421
|
+
init_resolver();
|
|
2422
|
+
init_generateEffectsCSS();
|
|
2423
|
+
init_constants();
|
|
2424
|
+
init_generateDefaultButtonSystem();
|
|
2425
|
+
buttonSizeNameSchema.options;
|
|
2426
|
+
}
|
|
2427
|
+
});
|
|
2428
|
+
|
|
2429
|
+
// ../theme-core/src/buttons/presets.ts
|
|
2430
|
+
var init_presets = __esm({
|
|
2431
|
+
"../theme-core/src/buttons/presets.ts"() {
|
|
2432
|
+
}
|
|
2433
|
+
});
|
|
2434
|
+
|
|
2434
2435
|
// ../theme-core/src/buttons/effects/types.ts
|
|
2435
2436
|
var init_types4 = __esm({
|
|
2436
2437
|
"../theme-core/src/buttons/effects/types.ts"() {
|
|
@@ -3942,7 +3943,8 @@ function ctaButton(opts) {
|
|
|
3942
3943
|
},
|
|
3943
3944
|
size: {
|
|
3944
3945
|
$bind: {
|
|
3945
|
-
from: sizePath
|
|
3946
|
+
from: sizePath,
|
|
3947
|
+
fallback: opts?.sizeFallback ?? "md"
|
|
3946
3948
|
}
|
|
3947
3949
|
},
|
|
3948
3950
|
...opts?.className ? { className: opts.className } : {},
|
|
@@ -8161,7 +8163,19 @@ var init_teamMember = __esm({
|
|
|
8161
8163
|
bind("photo")
|
|
8162
8164
|
)
|
|
8163
8165
|
]),
|
|
8164
|
-
|
|
8166
|
+
link(
|
|
8167
|
+
{
|
|
8168
|
+
href: { $bind: { from: "profilePath" } },
|
|
8169
|
+
className: "rb-team-member-name-link"
|
|
8170
|
+
},
|
|
8171
|
+
[text({ as: "h3" }, bind("name"))],
|
|
8172
|
+
when("profilePath")
|
|
8173
|
+
),
|
|
8174
|
+
text(
|
|
8175
|
+
{ as: "h3" },
|
|
8176
|
+
when("profilePath", { not: true }),
|
|
8177
|
+
bind("name")
|
|
8178
|
+
),
|
|
8165
8179
|
text({ as: "p", className: "rb-team-member-role" }, when("role"), bind("role")),
|
|
8166
8180
|
richText(
|
|
8167
8181
|
{ className: "rb-prose rb-max-w-none" },
|
|
@@ -8798,7 +8812,9 @@ var init_schemas = __esm({
|
|
|
8798
8812
|
courseTeamMemberSummarySchema = z.object({
|
|
8799
8813
|
id: z.string(),
|
|
8800
8814
|
name: z.string(),
|
|
8801
|
-
|
|
8815
|
+
roleLabel: z.string().nullable(),
|
|
8816
|
+
summary: z.string().nullable(),
|
|
8817
|
+
profilePath: z.string().nullable()
|
|
8802
8818
|
});
|
|
8803
8819
|
coursePricingOptionSchema = z.object({
|
|
8804
8820
|
id: z.string(),
|
|
@@ -8909,7 +8925,9 @@ var init_schemas2 = __esm({
|
|
|
8909
8925
|
publicTeamMemberSummarySchema = z.object({
|
|
8910
8926
|
id: z.string(),
|
|
8911
8927
|
name: z.string(),
|
|
8912
|
-
|
|
8928
|
+
roleLabel: z.string().nullable(),
|
|
8929
|
+
summary: z.string().nullable(),
|
|
8930
|
+
profilePath: z.string().nullable()
|
|
8913
8931
|
});
|
|
8914
8932
|
publicEventSchema = z.object({
|
|
8915
8933
|
kind: z.enum(["event", "course_session"]).optional(),
|
|
@@ -14946,13 +14964,150 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
14946
14964
|
"server:internal_error"
|
|
14947
14965
|
]
|
|
14948
14966
|
},
|
|
14949
|
-
|
|
14967
|
+
removeAppointmentResource: {
|
|
14950
14968
|
path: "/sites/{siteId}/bookings/resources/{resourceId}",
|
|
14951
14969
|
method: "DELETE",
|
|
14952
14970
|
auth: "user",
|
|
14953
14971
|
responseKind: "json",
|
|
14954
14972
|
errors: ["resource:not_found", "server:internal_error"]
|
|
14955
14973
|
},
|
|
14974
|
+
createTeamMemberProfile: {
|
|
14975
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
|
|
14976
|
+
method: "POST",
|
|
14977
|
+
auth: "user",
|
|
14978
|
+
responseKind: "json",
|
|
14979
|
+
errors: [
|
|
14980
|
+
"validation:invalid_input",
|
|
14981
|
+
"resource:not_found",
|
|
14982
|
+
"resource:conflict",
|
|
14983
|
+
"server:internal_error"
|
|
14984
|
+
]
|
|
14985
|
+
},
|
|
14986
|
+
updateTeamMemberProfilePolicy: {
|
|
14987
|
+
path: "/sites/{siteId}/bookings/resources/profile-policy",
|
|
14988
|
+
method: "PUT",
|
|
14989
|
+
auth: "user",
|
|
14990
|
+
responseKind: "json",
|
|
14991
|
+
errors: ["validation:invalid_input", "server:internal_error"]
|
|
14992
|
+
},
|
|
14993
|
+
updateTeamMemberProfileContent: {
|
|
14994
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
|
|
14995
|
+
method: "PUT",
|
|
14996
|
+
tags: [
|
|
14997
|
+
"site-{siteId}",
|
|
14998
|
+
"content-{siteId}-team-member",
|
|
14999
|
+
"content-entry-{entryId}"
|
|
15000
|
+
],
|
|
15001
|
+
auth: "user",
|
|
15002
|
+
responseKind: "json",
|
|
15003
|
+
errors: [
|
|
15004
|
+
"validation:invalid_input",
|
|
15005
|
+
"resource:not_found",
|
|
15006
|
+
"resource:conflict",
|
|
15007
|
+
"server:internal_error"
|
|
15008
|
+
]
|
|
15009
|
+
},
|
|
15010
|
+
publishTeamMemberProfile: {
|
|
15011
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
|
|
15012
|
+
method: "POST",
|
|
15013
|
+
tags: [
|
|
15014
|
+
"site-{siteId}",
|
|
15015
|
+
"content-{siteId}-team-member",
|
|
15016
|
+
"content-entry-{entryId}"
|
|
15017
|
+
],
|
|
15018
|
+
auth: "user",
|
|
15019
|
+
responseKind: "json",
|
|
15020
|
+
errors: [
|
|
15021
|
+
"validation:invalid_input",
|
|
15022
|
+
"resource:not_found",
|
|
15023
|
+
"server:internal_error"
|
|
15024
|
+
]
|
|
15025
|
+
},
|
|
15026
|
+
discardTeamMemberProfileDraft: {
|
|
15027
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
|
|
15028
|
+
method: "POST",
|
|
15029
|
+
tags: [
|
|
15030
|
+
"site-{siteId}",
|
|
15031
|
+
"content-{siteId}-team-member",
|
|
15032
|
+
"content-entry-{entryId}"
|
|
15033
|
+
],
|
|
15034
|
+
auth: "user",
|
|
15035
|
+
responseKind: "json",
|
|
15036
|
+
errors: [
|
|
15037
|
+
"validation:invalid_input",
|
|
15038
|
+
"resource:not_found",
|
|
15039
|
+
"resource:conflict",
|
|
15040
|
+
"server:internal_error"
|
|
15041
|
+
]
|
|
15042
|
+
},
|
|
15043
|
+
unpublishTeamMemberProfile: {
|
|
15044
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
|
|
15045
|
+
method: "POST",
|
|
15046
|
+
tags: [
|
|
15047
|
+
"site-{siteId}",
|
|
15048
|
+
"content-{siteId}-team-member",
|
|
15049
|
+
"content-entry-{entryId}"
|
|
15050
|
+
],
|
|
15051
|
+
auth: "user",
|
|
15052
|
+
responseKind: "json",
|
|
15053
|
+
errors: [
|
|
15054
|
+
"validation:invalid_input",
|
|
15055
|
+
"resource:not_found",
|
|
15056
|
+
"resource:conflict",
|
|
15057
|
+
"server:internal_error"
|
|
15058
|
+
]
|
|
15059
|
+
},
|
|
15060
|
+
scheduleTeamMemberProfile: {
|
|
15061
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
15062
|
+
method: "POST",
|
|
15063
|
+
tags: [
|
|
15064
|
+
"site-{siteId}",
|
|
15065
|
+
"content-{siteId}-team-member",
|
|
15066
|
+
"content-entry-{entryId}"
|
|
15067
|
+
],
|
|
15068
|
+
auth: "user",
|
|
15069
|
+
responseKind: "json",
|
|
15070
|
+
errors: [
|
|
15071
|
+
"validation:invalid_input",
|
|
15072
|
+
"resource:not_found",
|
|
15073
|
+
"resource:conflict",
|
|
15074
|
+
"server:internal_error"
|
|
15075
|
+
]
|
|
15076
|
+
},
|
|
15077
|
+
cancelScheduledTeamMemberProfile: {
|
|
15078
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
|
|
15079
|
+
method: "DELETE",
|
|
15080
|
+
tags: [
|
|
15081
|
+
"site-{siteId}",
|
|
15082
|
+
"content-{siteId}-team-member",
|
|
15083
|
+
"content-entry-{entryId}"
|
|
15084
|
+
],
|
|
15085
|
+
auth: "user",
|
|
15086
|
+
responseKind: "json",
|
|
15087
|
+
errors: [
|
|
15088
|
+
"validation:invalid_input",
|
|
15089
|
+
"resource:not_found",
|
|
15090
|
+
"resource:conflict",
|
|
15091
|
+
"server:internal_error"
|
|
15092
|
+
]
|
|
15093
|
+
},
|
|
15094
|
+
updateTeamMemberProfileRouteMetadata: {
|
|
15095
|
+
path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
|
|
15096
|
+
method: "PATCH",
|
|
15097
|
+
tags: [
|
|
15098
|
+
TAG_TEMPLATES.siteCollection,
|
|
15099
|
+
TAG_TEMPLATES.siteRoutableContent,
|
|
15100
|
+
TAG_TEMPLATES.routeById
|
|
15101
|
+
],
|
|
15102
|
+
auth: "user",
|
|
15103
|
+
responseKind: "json",
|
|
15104
|
+
errors: [
|
|
15105
|
+
"validation:invalid_input",
|
|
15106
|
+
"resource:not_found",
|
|
15107
|
+
"resource:conflict",
|
|
15108
|
+
"server:internal_error"
|
|
15109
|
+
]
|
|
15110
|
+
},
|
|
14956
15111
|
listAppointmentServices: {
|
|
14957
15112
|
path: "/sites/{siteId}/bookings/services",
|
|
14958
15113
|
method: "GET",
|
|
@@ -17326,6 +17481,15 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
17326
17481
|
auth: "public",
|
|
17327
17482
|
responseKind: "json"
|
|
17328
17483
|
},
|
|
17484
|
+
listPublicTeamMembers: {
|
|
17485
|
+
path: "/public/sites/{siteId}/team-members",
|
|
17486
|
+
method: "GET",
|
|
17487
|
+
revalidate: 60,
|
|
17488
|
+
tags: ["public-team-members-{siteId}"],
|
|
17489
|
+
errors: [],
|
|
17490
|
+
auth: "public",
|
|
17491
|
+
responseKind: "json"
|
|
17492
|
+
},
|
|
17329
17493
|
getPublicCourse: {
|
|
17330
17494
|
path: "/public/sites/{siteId}/courses/{courseId}",
|
|
17331
17495
|
method: "GET",
|
|
@@ -19701,6 +19865,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
|
|
|
19701
19865
|
"listPublicEvents",
|
|
19702
19866
|
"getPublicEventDetails",
|
|
19703
19867
|
"listPublicCourses",
|
|
19868
|
+
"listPublicTeamMembers",
|
|
19704
19869
|
"listPublicProducts",
|
|
19705
19870
|
"listPublicPasses",
|
|
19706
19871
|
"listPublicMemberships",
|
|
@@ -21121,35 +21286,61 @@ function buildFieldSchema(field, allowNull, allowIncomplete = false) {
|
|
|
21121
21286
|
}
|
|
21122
21287
|
return finalizeSchema(schema, required, allowNull, allowIncomplete);
|
|
21123
21288
|
}
|
|
21289
|
+
function buildFriendlyStringSchema(field) {
|
|
21290
|
+
return z.string({
|
|
21291
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
21292
|
+
});
|
|
21293
|
+
}
|
|
21124
21294
|
function buildTextSchema(field) {
|
|
21125
21295
|
const ui = field.ui ?? {};
|
|
21126
21296
|
const inputType = ui?.inputType;
|
|
21127
21297
|
let schema;
|
|
21128
21298
|
if (inputType === "number") {
|
|
21129
|
-
schema = z.coerce.number(
|
|
21130
|
-
|
|
21131
|
-
|
|
21299
|
+
schema = z.coerce.number({
|
|
21300
|
+
error: (issue) => issue.input === void 0 ? `${field.label} is required` : `${field.label} needs a number`
|
|
21301
|
+
});
|
|
21302
|
+
if (typeof ui?.min === "number") {
|
|
21303
|
+
schema = schema.min(
|
|
21304
|
+
ui.min,
|
|
21305
|
+
`${field.label} must be ${ui.min} or more`
|
|
21306
|
+
);
|
|
21307
|
+
}
|
|
21308
|
+
if (typeof ui?.max === "number") {
|
|
21309
|
+
schema = schema.max(
|
|
21310
|
+
ui.max,
|
|
21311
|
+
`${field.label} must be ${ui.max} or less`
|
|
21312
|
+
);
|
|
21313
|
+
}
|
|
21132
21314
|
} else {
|
|
21133
|
-
schema =
|
|
21315
|
+
schema = buildFriendlyStringSchema(field);
|
|
21134
21316
|
if (inputType === "email") {
|
|
21135
|
-
schema = schema.email(
|
|
21317
|
+
schema = schema.email("Enter a valid email address");
|
|
21136
21318
|
}
|
|
21137
21319
|
if (inputType === "tel") {
|
|
21138
21320
|
const TEL_RE = /^[+()0-9\s\-]{3,}$/;
|
|
21139
|
-
schema = schema.regex(
|
|
21321
|
+
schema = schema.regex(
|
|
21322
|
+
TEL_RE,
|
|
21323
|
+
"Enter a valid phone number"
|
|
21324
|
+
);
|
|
21140
21325
|
}
|
|
21141
21326
|
if (ui?.pattern) {
|
|
21142
21327
|
try {
|
|
21143
21328
|
const re = new RegExp(ui.pattern);
|
|
21144
|
-
schema = schema.regex(
|
|
21329
|
+
schema = schema.regex(
|
|
21330
|
+
re,
|
|
21331
|
+
`${field.label} is not in the right format`
|
|
21332
|
+
);
|
|
21145
21333
|
} catch {
|
|
21146
21334
|
}
|
|
21147
21335
|
}
|
|
21148
21336
|
if (field.maxLength) {
|
|
21149
|
-
schema = schema.max(
|
|
21337
|
+
schema = schema.max(
|
|
21338
|
+
field.maxLength,
|
|
21339
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
21340
|
+
);
|
|
21150
21341
|
}
|
|
21151
21342
|
if (field.required) {
|
|
21152
|
-
schema = schema.min(1, `${field.label} is required`).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
21343
|
+
schema = schema.min(1, { message: `${field.label} is required` }).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
21153
21344
|
}
|
|
21154
21345
|
}
|
|
21155
21346
|
return schema;
|
|
@@ -21159,19 +21350,22 @@ function buildRichTextSchema2() {
|
|
|
21159
21350
|
}
|
|
21160
21351
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
21161
21352
|
function buildSlugSchema(field) {
|
|
21162
|
-
const message = `${field.label}
|
|
21163
|
-
let schema =
|
|
21353
|
+
const message = `${field.label} can only use lowercase letters, numbers, and dashes`;
|
|
21354
|
+
let schema = buildFriendlyStringSchema(field).regex(SLUG_PATTERN, message);
|
|
21164
21355
|
if (field.maxLength) {
|
|
21165
|
-
schema = schema.max(
|
|
21356
|
+
schema = schema.max(
|
|
21357
|
+
field.maxLength,
|
|
21358
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
21359
|
+
);
|
|
21166
21360
|
}
|
|
21167
21361
|
if (field.required) {
|
|
21168
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21362
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
21169
21363
|
}
|
|
21170
21364
|
return schema;
|
|
21171
21365
|
}
|
|
21172
21366
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
21173
21367
|
function buildUrlSchema(field) {
|
|
21174
|
-
const message =
|
|
21368
|
+
const message = "Enter a valid web address";
|
|
21175
21369
|
const validate = (value) => {
|
|
21176
21370
|
if (!value) {
|
|
21177
21371
|
return !field.required;
|
|
@@ -21181,14 +21375,16 @@ function buildUrlSchema(field) {
|
|
|
21181
21375
|
}
|
|
21182
21376
|
try {
|
|
21183
21377
|
const parsed = new URL(value);
|
|
21184
|
-
return ALLOWED_URL_PROTOCOLS.includes(
|
|
21378
|
+
return ALLOWED_URL_PROTOCOLS.includes(
|
|
21379
|
+
parsed.protocol
|
|
21380
|
+
);
|
|
21185
21381
|
} catch {
|
|
21186
21382
|
return false;
|
|
21187
21383
|
}
|
|
21188
21384
|
};
|
|
21189
|
-
let schema =
|
|
21385
|
+
let schema = buildFriendlyStringSchema(field).trim().refine(validate, message);
|
|
21190
21386
|
if (field.required) {
|
|
21191
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21387
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
21192
21388
|
}
|
|
21193
21389
|
return schema;
|
|
21194
21390
|
}
|
|
@@ -21241,10 +21437,13 @@ function buildSelectSchema(field) {
|
|
|
21241
21437
|
switch (source.kind) {
|
|
21242
21438
|
case "sdk":
|
|
21243
21439
|
case "site":
|
|
21244
|
-
return
|
|
21440
|
+
return buildFriendlyStringSchema(field);
|
|
21245
21441
|
case "static": {
|
|
21246
21442
|
const values = field.options.map((option) => option.value);
|
|
21247
|
-
return
|
|
21443
|
+
return buildFriendlyStringSchema(field).refine(
|
|
21444
|
+
(value) => values.includes(value),
|
|
21445
|
+
`Choose one of the available options for ${field.label}`
|
|
21446
|
+
);
|
|
21248
21447
|
}
|
|
21249
21448
|
default:
|
|
21250
21449
|
return assertNeverSelectSource2(source);
|
|
@@ -21252,14 +21451,16 @@ function buildSelectSchema(field) {
|
|
|
21252
21451
|
})();
|
|
21253
21452
|
if (field.multiple) {
|
|
21254
21453
|
const arraySchema = z.array(singleValueSchema);
|
|
21255
|
-
return field.required ? arraySchema : arraySchema.nullable();
|
|
21454
|
+
return field.required ? arraySchema.min(1, { message: "This field is required" }) : arraySchema.nullable();
|
|
21256
21455
|
}
|
|
21257
21456
|
return field.required ? singleValueSchema : singleValueSchema.nullable();
|
|
21258
21457
|
}
|
|
21259
21458
|
function buildReferenceSchema(field) {
|
|
21260
|
-
let schema = z.string(
|
|
21459
|
+
let schema = z.string({
|
|
21460
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
21461
|
+
});
|
|
21261
21462
|
if (field.required) {
|
|
21262
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21463
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
21263
21464
|
}
|
|
21264
21465
|
return schema;
|
|
21265
21466
|
}
|
|
@@ -21607,635 +21808,65 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
21607
21808
|
}
|
|
21608
21809
|
}
|
|
21609
21810
|
|
|
21610
|
-
// ../theme-core/src/site-styles/index.ts
|
|
21611
|
-
init_compatibility();
|
|
21612
|
-
|
|
21613
|
-
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
21614
|
-
var generatedContentFrames = [
|
|
21615
|
-
plainFrame,
|
|
21616
|
-
panelFrame("inset"),
|
|
21617
|
-
panelFrame("raised"),
|
|
21618
|
-
flushPanelFrame({ bleed: "start" })
|
|
21619
|
-
];
|
|
21620
|
-
var userContentFrames = [
|
|
21621
|
-
...generatedContentFrames,
|
|
21622
|
-
panelFrame("editorial"),
|
|
21623
|
-
flushPanelFrame({ bleed: "end" }),
|
|
21624
|
-
flushPanelFrame({ bleed: "both" })
|
|
21625
|
-
];
|
|
21626
|
-
var generatedDesignOptionCatalog = {
|
|
21627
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
21628
|
-
contentFrames: generatedContentFrames,
|
|
21629
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
21630
|
-
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
21631
|
-
emphases: ["low", "medium", "high"]};
|
|
21632
|
-
var userDesignOptionCatalog = {
|
|
21633
|
-
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
21634
|
-
contentFrames: userContentFrames,
|
|
21635
|
-
itemSurfaces: [
|
|
21636
|
-
...generatedDesignOptionCatalog.itemSurfaces,
|
|
21637
|
-
"inset",
|
|
21638
|
-
"editorial"
|
|
21639
|
-
],
|
|
21640
|
-
transitions: [
|
|
21641
|
-
...generatedDesignOptionCatalog.transitions,
|
|
21642
|
-
"wave-edge",
|
|
21643
|
-
"angle-edge"
|
|
21644
|
-
],
|
|
21645
|
-
emphases: generatedDesignOptionCatalog.emphases};
|
|
21646
|
-
|
|
21647
21811
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
21648
|
-
|
|
21649
|
-
"site-style:calm-studio",
|
|
21650
|
-
"site-style:clear-professional",
|
|
21651
|
-
"site-style:warm-editorial",
|
|
21652
|
-
"site-style:bright-community",
|
|
21653
|
-
"site-style:quiet-luxury",
|
|
21654
|
-
"site-style:practical-services",
|
|
21655
|
-
"site-style:modern-wellness",
|
|
21656
|
-
"site-style:bold-launch"
|
|
21657
|
-
];
|
|
21658
|
-
var quietBudget = {
|
|
21659
|
-
accentDensity: "low",
|
|
21660
|
-
panelDensity: "medium",
|
|
21661
|
-
transitionMix: "quiet",
|
|
21662
|
-
primaryCtaLimit: 2,
|
|
21663
|
-
mediaDensity: "medium",
|
|
21664
|
-
decorativeRepetition: "low"
|
|
21665
|
-
};
|
|
21666
|
-
var balancedBudget = {
|
|
21667
|
-
accentDensity: "medium",
|
|
21668
|
-
panelDensity: "medium",
|
|
21669
|
-
transitionMix: "balanced",
|
|
21670
|
-
primaryCtaLimit: 3,
|
|
21671
|
-
mediaDensity: "medium",
|
|
21672
|
-
decorativeRepetition: "medium"
|
|
21673
|
-
};
|
|
21674
|
-
var expressiveBudget = {
|
|
21675
|
-
accentDensity: "high",
|
|
21676
|
-
panelDensity: "high",
|
|
21677
|
-
transitionMix: "expressive",
|
|
21678
|
-
primaryCtaLimit: 3,
|
|
21679
|
-
mediaDensity: "high",
|
|
21680
|
-
decorativeRepetition: "medium"
|
|
21681
|
-
};
|
|
21682
|
-
function uniqueContentFrameKinds() {
|
|
21683
|
-
const kinds = [...new Set(
|
|
21684
|
-
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
21685
|
-
)];
|
|
21686
|
-
const firstKind = kinds[0];
|
|
21687
|
-
if (!firstKind) {
|
|
21688
|
-
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
21689
|
-
}
|
|
21690
|
-
return [firstKind, ...kinds.slice(1)];
|
|
21691
|
-
}
|
|
21692
|
-
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
21693
|
-
function defineCuratedSiteStyle(input) {
|
|
21694
|
-
return {
|
|
21695
|
-
id: asSiteStyleId(input.id),
|
|
21696
|
-
name: input.name,
|
|
21697
|
-
description: input.description,
|
|
21698
|
-
generationBrief: input.generationBrief,
|
|
21699
|
-
selectionKeywords: input.selectionKeywords ?? [],
|
|
21700
|
-
template: {
|
|
21701
|
-
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
21702
|
-
name: input.name,
|
|
21703
|
-
version: 1,
|
|
21704
|
-
tokenRecipes: input.tokenRecipes,
|
|
21705
|
-
compositionBudget: input.compositionBudget,
|
|
21706
|
-
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
21707
|
-
supportedContentFrames: generatedContentFrameKinds,
|
|
21708
|
-
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
21709
|
-
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
21710
|
-
},
|
|
21711
|
-
// The library IDs are already branded at construction (`asButtonPersonalityId`
|
|
21712
|
-
// / `asPaletteVariantId`); the closed-union input type guarantees only
|
|
21713
|
-
// shipped IDs reach this branch.
|
|
21714
|
-
defaultButtonPersonalityId: input.defaultButtonPersonalityId,
|
|
21715
|
-
acceptedButtons: input.acceptedButtons,
|
|
21716
|
-
defaultPaletteVariantId: input.defaultPaletteVariantId,
|
|
21717
|
-
acceptedPalettes: input.acceptedPalettes
|
|
21718
|
-
};
|
|
21719
|
-
}
|
|
21720
|
-
var curatedSiteStyles = [
|
|
21721
|
-
defineCuratedSiteStyle({
|
|
21722
|
-
id: "site-style:calm-studio",
|
|
21723
|
-
name: "Calm Studio",
|
|
21724
|
-
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
21725
|
-
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
21726
|
-
tokenRecipes: {
|
|
21727
|
-
palette: "soft-natural",
|
|
21728
|
-
contrast: "standard",
|
|
21729
|
-
radius: "soft",
|
|
21730
|
-
shadow: "subtle",
|
|
21731
|
-
typography: "friendly-sans",
|
|
21732
|
-
spacing: "airy",
|
|
21733
|
-
motion: "subtle"
|
|
21734
|
-
},
|
|
21735
|
-
compositionBudget: quietBudget,
|
|
21736
|
-
defaultButtonPersonalityId: "soft-pill",
|
|
21737
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "editorial"] },
|
|
21738
|
-
defaultPaletteVariantId: "soft-natural-sage",
|
|
21739
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
|
|
21740
|
-
}),
|
|
21741
|
-
defineCuratedSiteStyle({
|
|
21742
|
-
id: "site-style:clear-professional",
|
|
21743
|
-
name: "Clear Professional",
|
|
21744
|
-
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
21745
|
-
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
21746
|
-
tokenRecipes: {
|
|
21747
|
-
palette: "brand-led",
|
|
21748
|
-
contrast: "strong",
|
|
21749
|
-
radius: "soft",
|
|
21750
|
-
shadow: "subtle",
|
|
21751
|
-
typography: "clean-sans",
|
|
21752
|
-
spacing: "regular",
|
|
21753
|
-
motion: "subtle"
|
|
21754
|
-
},
|
|
21755
|
-
compositionBudget: balancedBudget,
|
|
21756
|
-
defaultButtonPersonalityId: "confident-chip",
|
|
21757
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["modern", "editorial"] },
|
|
21758
|
-
defaultPaletteVariantId: "brand-led-cool",
|
|
21759
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["modern", "editorial"] }
|
|
21760
|
-
}),
|
|
21761
|
-
defineCuratedSiteStyle({
|
|
21762
|
-
id: "site-style:warm-editorial",
|
|
21763
|
-
name: "Warm Editorial",
|
|
21764
|
-
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
21765
|
-
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
21766
|
-
tokenRecipes: {
|
|
21767
|
-
palette: "warm-neutral",
|
|
21768
|
-
contrast: "standard",
|
|
21769
|
-
radius: "square",
|
|
21770
|
-
shadow: "none",
|
|
21771
|
-
typography: "serif-editorial",
|
|
21772
|
-
spacing: "airy",
|
|
21773
|
-
motion: "subtle"
|
|
21774
|
-
},
|
|
21775
|
-
compositionBudget: balancedBudget,
|
|
21776
|
-
defaultButtonPersonalityId: "editorial-link",
|
|
21777
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
|
|
21778
|
-
defaultPaletteVariantId: "warm-neutral-cream",
|
|
21779
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
|
|
21780
|
-
}),
|
|
21781
|
-
defineCuratedSiteStyle({
|
|
21782
|
-
id: "site-style:bright-community",
|
|
21783
|
-
name: "Bright Community",
|
|
21784
|
-
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
21785
|
-
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
21786
|
-
tokenRecipes: {
|
|
21787
|
-
palette: "brand-led",
|
|
21788
|
-
contrast: "standard",
|
|
21789
|
-
radius: "rounded",
|
|
21790
|
-
shadow: "subtle",
|
|
21791
|
-
typography: "friendly-sans",
|
|
21792
|
-
spacing: "regular",
|
|
21793
|
-
motion: "expressive"
|
|
21794
|
-
},
|
|
21795
|
-
compositionBudget: balancedBudget,
|
|
21796
|
-
defaultButtonPersonalityId: "pebble",
|
|
21797
|
-
acceptedButtons: { tone: ["classic", "bold"], era: ["organic", "modern"] },
|
|
21798
|
-
defaultPaletteVariantId: "brand-led-warm",
|
|
21799
|
-
acceptedPalettes: { tone: ["classic", "bold"], era: ["modern", "organic"] }
|
|
21800
|
-
}),
|
|
21801
|
-
defineCuratedSiteStyle({
|
|
21802
|
-
id: "site-style:quiet-luxury",
|
|
21803
|
-
name: "Quiet Luxury",
|
|
21804
|
-
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
21805
|
-
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
21806
|
-
selectionKeywords: [
|
|
21807
|
-
"luxury",
|
|
21808
|
-
"premium",
|
|
21809
|
-
"boutique",
|
|
21810
|
-
"bespoke",
|
|
21811
|
-
"exclusive"
|
|
21812
|
-
],
|
|
21813
|
-
tokenRecipes: {
|
|
21814
|
-
palette: "high-contrast",
|
|
21815
|
-
contrast: "strong",
|
|
21816
|
-
radius: "square",
|
|
21817
|
-
shadow: "none",
|
|
21818
|
-
typography: "classic-serif",
|
|
21819
|
-
spacing: "airy",
|
|
21820
|
-
motion: "none"
|
|
21821
|
-
},
|
|
21822
|
-
compositionBudget: quietBudget,
|
|
21823
|
-
defaultButtonPersonalityId: "editorial-link",
|
|
21824
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
|
|
21825
|
-
defaultPaletteVariantId: "high-contrast-charcoal",
|
|
21826
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
|
|
21827
|
-
}),
|
|
21828
|
-
defineCuratedSiteStyle({
|
|
21829
|
-
id: "site-style:practical-services",
|
|
21830
|
-
name: "Practical Services",
|
|
21831
|
-
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
21832
|
-
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
21833
|
-
selectionKeywords: [
|
|
21834
|
-
"repair",
|
|
21835
|
-
"plumb",
|
|
21836
|
-
"electric",
|
|
21837
|
-
"cleaning",
|
|
21838
|
-
"landscap",
|
|
21839
|
-
"contractor"
|
|
21840
|
-
],
|
|
21841
|
-
tokenRecipes: {
|
|
21842
|
-
palette: "brand-led",
|
|
21843
|
-
contrast: "maximum",
|
|
21844
|
-
radius: "soft",
|
|
21845
|
-
shadow: "subtle",
|
|
21846
|
-
typography: "clean-sans",
|
|
21847
|
-
spacing: "compact",
|
|
21848
|
-
motion: "none"
|
|
21849
|
-
},
|
|
21850
|
-
compositionBudget: quietBudget,
|
|
21851
|
-
defaultButtonPersonalityId: "confident-chip",
|
|
21852
|
-
acceptedButtons: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] },
|
|
21853
|
-
defaultPaletteVariantId: "brand-led-cool",
|
|
21854
|
-
acceptedPalettes: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] }
|
|
21855
|
-
}),
|
|
21856
|
-
defineCuratedSiteStyle({
|
|
21857
|
-
id: "site-style:modern-wellness",
|
|
21858
|
-
name: "Modern Wellness",
|
|
21859
|
-
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
21860
|
-
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
21861
|
-
tokenRecipes: {
|
|
21862
|
-
palette: "soft-natural",
|
|
21863
|
-
contrast: "standard",
|
|
21864
|
-
radius: "rounded",
|
|
21865
|
-
shadow: "subtle",
|
|
21866
|
-
typography: "clean-sans",
|
|
21867
|
-
spacing: "airy",
|
|
21868
|
-
motion: "subtle"
|
|
21869
|
-
},
|
|
21870
|
-
compositionBudget: balancedBudget,
|
|
21871
|
-
defaultButtonPersonalityId: "soft-pill",
|
|
21872
|
-
acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "modern"] },
|
|
21873
|
-
defaultPaletteVariantId: "soft-natural-sage",
|
|
21874
|
-
acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
|
|
21875
|
-
}),
|
|
21876
|
-
defineCuratedSiteStyle({
|
|
21877
|
-
id: "site-style:bold-launch",
|
|
21878
|
-
name: "Bold Launch",
|
|
21879
|
-
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
21880
|
-
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
21881
|
-
selectionKeywords: [
|
|
21882
|
-
"launch",
|
|
21883
|
-
"campaign",
|
|
21884
|
-
"preorder",
|
|
21885
|
-
"pre-order",
|
|
21886
|
-
"waitlist",
|
|
21887
|
-
"drop"
|
|
21888
|
-
],
|
|
21889
|
-
tokenRecipes: {
|
|
21890
|
-
palette: "high-contrast",
|
|
21891
|
-
contrast: "maximum",
|
|
21892
|
-
radius: "pill",
|
|
21893
|
-
shadow: "layered",
|
|
21894
|
-
typography: "clean-sans",
|
|
21895
|
-
spacing: "regular",
|
|
21896
|
-
motion: "expressive"
|
|
21897
|
-
},
|
|
21898
|
-
compositionBudget: expressiveBudget,
|
|
21899
|
-
defaultButtonPersonalityId: "ink-stamp",
|
|
21900
|
-
acceptedButtons: { tone: ["classic", "bold"], era: ["editorial", "organic", "modern"] },
|
|
21901
|
-
defaultPaletteVariantId: "high-contrast-monochrome",
|
|
21902
|
-
acceptedPalettes: { tone: ["bold"], era: ["editorial", "modern"] }
|
|
21903
|
-
})
|
|
21904
|
-
];
|
|
21905
|
-
new Map(
|
|
21906
|
-
curatedSiteStyles.map((style) => [style.id, style])
|
|
21907
|
-
);
|
|
21812
|
+
init_personalities();
|
|
21908
21813
|
|
|
21909
|
-
// ../theme-core/src/
|
|
21910
|
-
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
21916
|
-
|
|
21917
|
-
|
|
21918
|
-
|
|
21919
|
-
|
|
21920
|
-
|
|
21921
|
-
|
|
21922
|
-
|
|
21923
|
-
|
|
21924
|
-
|
|
21925
|
-
|
|
21926
|
-
|
|
21927
|
-
|
|
21928
|
-
|
|
21929
|
-
|
|
21814
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
21815
|
+
init_styleTags();
|
|
21816
|
+
var hotspotSchema = z42.object({
|
|
21817
|
+
x: z42.number().min(0).max(1),
|
|
21818
|
+
y: z42.number().min(0).max(1),
|
|
21819
|
+
radius: z42.number().optional()
|
|
21820
|
+
});
|
|
21821
|
+
var rotationSchema = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
|
|
21822
|
+
var rectSchema = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
|
|
21823
|
+
var aspectCropSchema = z42.object({
|
|
21824
|
+
aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
|
|
21825
|
+
rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
21826
|
+
hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
21827
|
+
rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
21828
|
+
});
|
|
21829
|
+
var transformSchema = z42.object({
|
|
21830
|
+
aspectCrops: z42.preprocess((value) => {
|
|
21831
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
21832
|
+
return void 0;
|
|
21833
|
+
}
|
|
21834
|
+
return value;
|
|
21835
|
+
}, z42.record(z42.string(), aspectCropSchema.catch({}))).optional(),
|
|
21836
|
+
rect: rectSchema.optional(),
|
|
21837
|
+
hotspot: hotspotSchema.optional(),
|
|
21838
|
+
rotation: rotationSchema.optional()
|
|
21839
|
+
});
|
|
21840
|
+
var mediaSchema = z42.object({
|
|
21841
|
+
type: z42.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
21842
|
+
purpose: z42.string().optional(),
|
|
21843
|
+
placeholder: z42.boolean().default(true).optional(),
|
|
21844
|
+
assetId: z42.string().optional(),
|
|
21845
|
+
identifier: z42.string().optional(),
|
|
21846
|
+
src: z42.string().optional(),
|
|
21847
|
+
alt: z42.string().optional(),
|
|
21848
|
+
filename: z42.string().optional(),
|
|
21849
|
+
mimeType: z42.string().optional(),
|
|
21850
|
+
width: z42.number().optional(),
|
|
21851
|
+
height: z42.number().optional(),
|
|
21852
|
+
storageBucket: z42.string().optional(),
|
|
21853
|
+
storagePath: z42.string().optional(),
|
|
21854
|
+
transform: transformSchema.optional()
|
|
21855
|
+
});
|
|
21930
21856
|
|
|
21931
|
-
// ../theme-core/src/
|
|
21932
|
-
|
|
21933
|
-
var
|
|
21934
|
-
var
|
|
21935
|
-
var
|
|
21936
|
-
|
|
21937
|
-
...fields3.slice(1)
|
|
21938
|
-
]);
|
|
21939
|
-
var heroLegibilityStrategySchema = z.enum([
|
|
21940
|
-
"none",
|
|
21941
|
-
"scrim-gradient",
|
|
21942
|
-
"solid-panel"
|
|
21943
|
-
]);
|
|
21944
|
-
function uniqueNonEmpty(values) {
|
|
21945
|
-
const uniqueValues = [...new Set(values)];
|
|
21946
|
-
const firstValue = uniqueValues[0];
|
|
21947
|
-
if (!firstValue) {
|
|
21948
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
21949
|
-
}
|
|
21950
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
21951
|
-
}
|
|
21952
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
21953
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
21954
|
-
);
|
|
21955
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
21956
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
21957
|
-
);
|
|
21958
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
21959
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
21960
|
-
);
|
|
21961
|
-
var contentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
21962
|
-
z.object({ kind: z.literal("plain") }).strict(),
|
|
21963
|
-
z.object({
|
|
21964
|
-
kind: z.literal("panel"),
|
|
21965
|
-
treatment: z.enum(userPanelTreatments)
|
|
21966
|
-
}).strict(),
|
|
21857
|
+
// ../theme-core/src/schema.ts
|
|
21858
|
+
init_buttons();
|
|
21859
|
+
var cardSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
21860
|
+
var gradientDirectionSchema2 = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
21861
|
+
var cardBackgroundSchema = z.discriminatedUnion("type", [
|
|
21862
|
+
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
21967
21863
|
z.object({
|
|
21968
|
-
|
|
21969
|
-
|
|
21970
|
-
|
|
21971
|
-
|
|
21972
|
-
|
|
21973
|
-
|
|
21974
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
21975
|
-
blockKind: z.string().min(1),
|
|
21976
|
-
purpose: z.string().min(1),
|
|
21977
|
-
sectionSurface: z.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
21978
|
-
contentFrame: contentFrameIntentSchema,
|
|
21979
|
-
itemSurface: z.enum(userDesignOptionCatalog.itemSurfaces),
|
|
21980
|
-
transitionAfter: z.enum(userDesignOptionCatalog.transitions),
|
|
21981
|
-
emphasis: z.enum(userDesignOptionCatalog.emphases),
|
|
21982
|
-
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
21983
|
-
}).strict();
|
|
21984
|
-
var styleAuthoritySchema = z.discriminatedUnion("kind", [
|
|
21985
|
-
z.object({
|
|
21986
|
-
kind: z.literal("theme-v2"),
|
|
21987
|
-
source: designResolutionPolicySchema,
|
|
21988
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
21989
|
-
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
21990
|
-
templateVersion: z.number().int().nonnegative(),
|
|
21991
|
-
resolverVersion: z.number().int().nonnegative()
|
|
21992
|
-
}).strict(),
|
|
21993
|
-
z.object({
|
|
21994
|
-
kind: z.literal("legacy-raw"),
|
|
21995
|
-
reason: z.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
21996
|
-
}).strict(),
|
|
21997
|
-
z.object({
|
|
21998
|
-
kind: z.literal("advanced-detached"),
|
|
21999
|
-
reason: z.literal("detached-custom-runtime-fields")
|
|
22000
|
-
}).strict()
|
|
22001
|
-
]);
|
|
22002
|
-
var blockRuntimeStyleAuthoritySchema = z.object({
|
|
22003
|
-
unit: z.literal("block-runtime-fields"),
|
|
22004
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
22005
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
22006
|
-
authority: styleAuthoritySchema
|
|
22007
|
-
}).strict();
|
|
22008
|
-
z.object({
|
|
22009
|
-
schemaVersion: z.literal(themeV2DesignStateSchemaVersion),
|
|
22010
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
22011
|
-
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
22012
|
-
templateVersion: z.number().int().nonnegative(),
|
|
22013
|
-
resolverVersion: z.number().int().nonnegative(),
|
|
22014
|
-
rhythmPresetId: z.string().min(1),
|
|
22015
|
-
blocks: z.array(blockDesignPlanSchema),
|
|
22016
|
-
styleAuthorities: z.array(blockRuntimeStyleAuthoritySchema)
|
|
22017
|
-
}).strict();
|
|
22018
|
-
function uniqueNonEmpty2(values) {
|
|
22019
|
-
const uniqueValues = [...new Set(values)];
|
|
22020
|
-
const firstValue = uniqueValues[0];
|
|
22021
|
-
if (!firstValue) {
|
|
22022
|
-
throw new Error("Expected at least one generated schema option.");
|
|
22023
|
-
}
|
|
22024
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
22025
|
-
}
|
|
22026
|
-
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
22027
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
22028
|
-
);
|
|
22029
|
-
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
22030
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
22031
|
-
);
|
|
22032
|
-
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
22033
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
22034
|
-
);
|
|
22035
|
-
var generatedPanelFrameSchema = z.object({
|
|
22036
|
-
kind: z.literal("panel"),
|
|
22037
|
-
treatment: z.enum(generatedPanelTreatments)
|
|
22038
|
-
}).strict();
|
|
22039
|
-
var generatedFlushPanelFrameSchema = z.object({
|
|
22040
|
-
kind: z.literal("flush-panel"),
|
|
22041
|
-
treatment: z.enum(generatedFlushTreatments),
|
|
22042
|
-
bleed: z.enum(generatedFlushBleeds)
|
|
22043
|
-
}).strict();
|
|
22044
|
-
var generatedContentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
22045
|
-
z.object({ kind: z.literal("plain") }).strict(),
|
|
22046
|
-
generatedPanelFrameSchema,
|
|
22047
|
-
generatedFlushPanelFrameSchema
|
|
22048
|
-
]);
|
|
22049
|
-
var generatedSiteStyleIdSchema = z.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
22050
|
-
function generatedChoiceSchema(valueSchema) {
|
|
22051
|
-
return z.discriminatedUnion("kind", [
|
|
22052
|
-
z.object({
|
|
22053
|
-
source: z.literal("generated"),
|
|
22054
|
-
kind: z.literal("auto")
|
|
22055
|
-
}).strict(),
|
|
22056
|
-
z.object({
|
|
22057
|
-
source: z.literal("generated"),
|
|
22058
|
-
kind: z.literal("explicit"),
|
|
22059
|
-
value: valueSchema
|
|
22060
|
-
}).strict()
|
|
22061
|
-
]);
|
|
22062
|
-
}
|
|
22063
|
-
var generatedBlockDesignIntentSchema = z.object({
|
|
22064
|
-
sectionSurface: generatedChoiceSchema(
|
|
22065
|
-
z.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
22066
|
-
),
|
|
22067
|
-
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
22068
|
-
itemSurface: generatedChoiceSchema(
|
|
22069
|
-
z.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
22070
|
-
),
|
|
22071
|
-
transitionAfter: generatedChoiceSchema(
|
|
22072
|
-
z.enum(generatedDesignOptionCatalog.transitions)
|
|
22073
|
-
),
|
|
22074
|
-
emphasis: generatedChoiceSchema(
|
|
22075
|
-
z.enum(generatedDesignOptionCatalog.emphases)
|
|
22076
|
-
)
|
|
22077
|
-
}).strict();
|
|
22078
|
-
var generatedMediaCompositionIntentSchema = z.enum([
|
|
22079
|
-
"none",
|
|
22080
|
-
"supporting",
|
|
22081
|
-
"dominant"
|
|
22082
|
-
]);
|
|
22083
|
-
var generatedDecorativeCompositionIntentSchema = z.enum([
|
|
22084
|
-
"none",
|
|
22085
|
-
"supporting"
|
|
22086
|
-
]);
|
|
22087
|
-
var generatedHeroLegibilityStrategySchema = z.enum([
|
|
22088
|
-
"none",
|
|
22089
|
-
"scrim-gradient"
|
|
22090
|
-
]);
|
|
22091
|
-
var generatedBlockMediaIntentSchema = z.object({
|
|
22092
|
-
media: generatedMediaCompositionIntentSchema,
|
|
22093
|
-
decorative: generatedDecorativeCompositionIntentSchema,
|
|
22094
|
-
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
22095
|
-
}).strict();
|
|
22096
|
-
var generatedBoundaryIntentSchema = z.object({
|
|
22097
|
-
transitionAfter: generatedChoiceSchema(
|
|
22098
|
-
z.enum(generatedDesignOptionCatalog.transitions)
|
|
22099
|
-
)
|
|
22100
|
-
}).strict();
|
|
22101
|
-
var generatedPageDesignBlockIntentSchema = z.object({
|
|
22102
|
-
blockId: z.string().min(1),
|
|
22103
|
-
blockKind: z.string().min(1),
|
|
22104
|
-
purpose: z.string().min(1),
|
|
22105
|
-
design: generatedBlockDesignIntentSchema,
|
|
22106
|
-
mediaIntent: generatedBlockMediaIntentSchema,
|
|
22107
|
-
boundaryIntent: generatedBoundaryIntentSchema
|
|
22108
|
-
}).strict();
|
|
22109
|
-
z.object({
|
|
22110
|
-
siteStyleId: generatedSiteStyleIdSchema,
|
|
22111
|
-
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
22112
|
-
}).strict();
|
|
22113
|
-
var pageDesignIntentSchemaVersion = 1;
|
|
22114
|
-
var pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
22115
|
-
kind: z.literal("user-pinned"),
|
|
22116
|
-
value: z.string().min(1).transform(asAppearancePresetId)
|
|
22117
|
-
}).strict();
|
|
22118
|
-
var pageDesignUserPinnedBoundaryChoiceSchema = z.object({
|
|
22119
|
-
kind: z.literal("user-pinned"),
|
|
22120
|
-
value: z.string().min(1).transform(asBoundaryOptionId)
|
|
22121
|
-
}).strict();
|
|
22122
|
-
var pageDesignBlockLookPinSchema = z.object({
|
|
22123
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
22124
|
-
blockKind: z.string().min(1),
|
|
22125
|
-
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
22126
|
-
}).strict();
|
|
22127
|
-
var pageDesignBoundaryPinSchema = z.object({
|
|
22128
|
-
boundaryId: z.string().min(1).transform(asDesignBoundaryId),
|
|
22129
|
-
previousBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
22130
|
-
nextBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
22131
|
-
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
22132
|
-
}).strict().superRefine((pin, ctx) => {
|
|
22133
|
-
const expectedBoundaryId = makeBoundaryId(
|
|
22134
|
-
pin.previousBlockId,
|
|
22135
|
-
pin.nextBlockId
|
|
22136
|
-
);
|
|
22137
|
-
if (pin.boundaryId !== expectedBoundaryId) {
|
|
22138
|
-
ctx.addIssue({
|
|
22139
|
-
code: z.ZodIssueCode.custom,
|
|
22140
|
-
path: ["boundaryId"],
|
|
22141
|
-
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
22142
|
-
});
|
|
22143
|
-
}
|
|
22144
|
-
});
|
|
22145
|
-
z.object({
|
|
22146
|
-
schemaVersion: z.literal(pageDesignIntentSchemaVersion),
|
|
22147
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
22148
|
-
pageFlowPresetId: z.string().min(1).transform(asPageFlowPresetId),
|
|
22149
|
-
blockLookPins: z.array(pageDesignBlockLookPinSchema),
|
|
22150
|
-
boundaryPins: z.array(pageDesignBoundaryPinSchema)
|
|
22151
|
-
}).strict().superRefine((intent, ctx) => {
|
|
22152
|
-
addDuplicateStringIssues(ctx, {
|
|
22153
|
-
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
22154
|
-
path: ["blockLookPins"],
|
|
22155
|
-
label: "block Look pin"
|
|
22156
|
-
});
|
|
22157
|
-
addDuplicateStringIssues(ctx, {
|
|
22158
|
-
values: intent.boundaryPins.map(
|
|
22159
|
-
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
22160
|
-
),
|
|
22161
|
-
path: ["boundaryPins"],
|
|
22162
|
-
label: "boundary pin"
|
|
22163
|
-
});
|
|
22164
|
-
});
|
|
22165
|
-
function addDuplicateStringIssues(ctx, input) {
|
|
22166
|
-
const seen = /* @__PURE__ */ new Set();
|
|
22167
|
-
const duplicates = /* @__PURE__ */ new Set();
|
|
22168
|
-
for (const value of input.values) {
|
|
22169
|
-
if (seen.has(value)) {
|
|
22170
|
-
duplicates.add(value);
|
|
22171
|
-
}
|
|
22172
|
-
seen.add(value);
|
|
22173
|
-
}
|
|
22174
|
-
for (const duplicate of duplicates) {
|
|
22175
|
-
ctx.addIssue({
|
|
22176
|
-
code: z.ZodIssueCode.custom,
|
|
22177
|
-
path: [...input.path],
|
|
22178
|
-
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
22179
|
-
});
|
|
22180
|
-
}
|
|
22181
|
-
}
|
|
22182
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
22183
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
22184
|
-
}
|
|
22185
|
-
var hotspotSchema = z42.object({
|
|
22186
|
-
x: z42.number().min(0).max(1),
|
|
22187
|
-
y: z42.number().min(0).max(1),
|
|
22188
|
-
radius: z42.number().optional()
|
|
22189
|
-
});
|
|
22190
|
-
var rotationSchema = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
|
|
22191
|
-
var rectSchema = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
|
|
22192
|
-
var aspectCropSchema = z42.object({
|
|
22193
|
-
aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
|
|
22194
|
-
rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
22195
|
-
hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
22196
|
-
rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
22197
|
-
});
|
|
22198
|
-
var transformSchema = z42.object({
|
|
22199
|
-
aspectCrops: z42.preprocess((value) => {
|
|
22200
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
22201
|
-
return void 0;
|
|
22202
|
-
}
|
|
22203
|
-
return value;
|
|
22204
|
-
}, z42.record(z42.string(), aspectCropSchema.catch({}))).optional(),
|
|
22205
|
-
rect: rectSchema.optional(),
|
|
22206
|
-
hotspot: hotspotSchema.optional(),
|
|
22207
|
-
rotation: rotationSchema.optional()
|
|
22208
|
-
});
|
|
22209
|
-
var mediaSchema = z42.object({
|
|
22210
|
-
type: z42.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
22211
|
-
purpose: z42.string().optional(),
|
|
22212
|
-
placeholder: z42.boolean().default(true).optional(),
|
|
22213
|
-
assetId: z42.string().optional(),
|
|
22214
|
-
identifier: z42.string().optional(),
|
|
22215
|
-
src: z42.string().optional(),
|
|
22216
|
-
alt: z42.string().optional(),
|
|
22217
|
-
filename: z42.string().optional(),
|
|
22218
|
-
mimeType: z42.string().optional(),
|
|
22219
|
-
width: z42.number().optional(),
|
|
22220
|
-
height: z42.number().optional(),
|
|
22221
|
-
storageBucket: z42.string().optional(),
|
|
22222
|
-
storagePath: z42.string().optional(),
|
|
22223
|
-
transform: transformSchema.optional()
|
|
22224
|
-
});
|
|
22225
|
-
|
|
22226
|
-
// ../theme-core/src/schema.ts
|
|
22227
|
-
init_buttons();
|
|
22228
|
-
var cardSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
22229
|
-
var gradientDirectionSchema2 = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
22230
|
-
var cardBackgroundSchema = z.discriminatedUnion("type", [
|
|
22231
|
-
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
22232
|
-
z.object({
|
|
22233
|
-
type: z.literal("gradient"),
|
|
22234
|
-
fromToken: z.string(),
|
|
22235
|
-
toToken: z.string(),
|
|
22236
|
-
direction: gradientDirectionSchema2
|
|
22237
|
-
}),
|
|
22238
|
-
z.object({ type: z.literal("transparent") })
|
|
21864
|
+
type: z.literal("gradient"),
|
|
21865
|
+
fromToken: z.string(),
|
|
21866
|
+
toToken: z.string(),
|
|
21867
|
+
direction: gradientDirectionSchema2
|
|
21868
|
+
}),
|
|
21869
|
+
z.object({ type: z.literal("transparent") })
|
|
22239
21870
|
]);
|
|
22240
21871
|
var cardBorderSchema = z.object({
|
|
22241
21872
|
widthClass: z.string(),
|
|
@@ -22771,371 +22402,997 @@ var themeSchema = z.object({
|
|
|
22771
22402
|
styleGroups: z.record(z.string(), z.array(z.string())).optional()
|
|
22772
22403
|
});
|
|
22773
22404
|
z.object({
|
|
22774
|
-
message: z.string().min(1),
|
|
22775
|
-
themes: z.array(themeSchema).length(3)
|
|
22776
|
-
});
|
|
22777
|
-
|
|
22778
|
-
// ../theme-core/src/
|
|
22779
|
-
|
|
22780
|
-
|
|
22781
|
-
|
|
22782
|
-
|
|
22783
|
-
|
|
22784
|
-
|
|
22785
|
-
|
|
22405
|
+
message: z.string().min(1),
|
|
22406
|
+
themes: z.array(themeSchema).length(3)
|
|
22407
|
+
});
|
|
22408
|
+
|
|
22409
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
22410
|
+
function asPaletteVariantId(value) {
|
|
22411
|
+
if (value.length === 0) {
|
|
22412
|
+
throw new Error("PaletteVariantId must be a non-empty string");
|
|
22413
|
+
}
|
|
22414
|
+
return value;
|
|
22415
|
+
}
|
|
22416
|
+
var paletteVariantIdSchema = z.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
22417
|
+
var PALETTE_TOKEN_NAMES = [
|
|
22418
|
+
"primary",
|
|
22419
|
+
"primaryForeground",
|
|
22420
|
+
"secondary",
|
|
22421
|
+
"accent",
|
|
22422
|
+
"success",
|
|
22423
|
+
"warning",
|
|
22424
|
+
"destructive",
|
|
22425
|
+
"background",
|
|
22426
|
+
"surface",
|
|
22427
|
+
"surfaceAlt",
|
|
22428
|
+
"muted",
|
|
22429
|
+
"text",
|
|
22430
|
+
"border"
|
|
22431
|
+
];
|
|
22432
|
+
var paletteTokenNameSchema = z.enum(PALETTE_TOKEN_NAMES);
|
|
22433
|
+
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
22434
|
+
var hexColorSchema = z.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
22435
|
+
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
22436
|
+
name: paletteTokenNameSchema
|
|
22437
|
+
});
|
|
22438
|
+
z.object({
|
|
22439
|
+
id: paletteVariantIdSchema,
|
|
22440
|
+
name: z.string().min(1),
|
|
22441
|
+
description: z.string().min(1),
|
|
22442
|
+
tags: styleTagsSchema,
|
|
22443
|
+
mode: z.enum(["light", "dark"]),
|
|
22444
|
+
colors: z.array(variantPaletteColorSchema).min(1)
|
|
22445
|
+
});
|
|
22446
|
+
function definePaletteVariant(input) {
|
|
22447
|
+
return {
|
|
22448
|
+
id: asPaletteVariantId(input.id),
|
|
22449
|
+
name: input.name,
|
|
22450
|
+
description: input.description,
|
|
22451
|
+
tags: input.tags,
|
|
22452
|
+
mode: input.mode,
|
|
22453
|
+
colors: input.colors
|
|
22454
|
+
};
|
|
22455
|
+
}
|
|
22456
|
+
z.object({
|
|
22457
|
+
primary: hexColorSchema.optional(),
|
|
22458
|
+
primaryForeground: hexColorSchema.optional(),
|
|
22459
|
+
secondary: hexColorSchema.optional(),
|
|
22460
|
+
accent: hexColorSchema.optional(),
|
|
22461
|
+
success: hexColorSchema.optional(),
|
|
22462
|
+
warning: hexColorSchema.optional(),
|
|
22463
|
+
destructive: hexColorSchema.optional(),
|
|
22464
|
+
background: hexColorSchema.optional(),
|
|
22465
|
+
surface: hexColorSchema.optional(),
|
|
22466
|
+
surfaceAlt: hexColorSchema.optional(),
|
|
22467
|
+
muted: hexColorSchema.optional(),
|
|
22468
|
+
text: hexColorSchema.optional(),
|
|
22469
|
+
border: hexColorSchema.optional()
|
|
22470
|
+
}).strict().transform((value) => value);
|
|
22471
|
+
|
|
22472
|
+
// ../theme-core/src/palette/variants/brand-led.ts
|
|
22473
|
+
var brandLedCool = definePaletteVariant({
|
|
22474
|
+
id: "brand-led-cool",
|
|
22475
|
+
name: "Brand-led \u2014 Cool",
|
|
22476
|
+
description: "Confident blue primary with slate neutrals.",
|
|
22477
|
+
tags: { tone: "classic", energy: "calm", era: "modern" },
|
|
22478
|
+
mode: "light",
|
|
22479
|
+
colors: [
|
|
22480
|
+
{ name: "primary", hex: "#2563eb" },
|
|
22481
|
+
{ name: "secondary", hex: "#64748b" },
|
|
22482
|
+
{ name: "accent", hex: "#0f766e" },
|
|
22483
|
+
{ name: "success", hex: "#16a34a" },
|
|
22484
|
+
{ name: "warning", hex: "#d97706" },
|
|
22485
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
22486
|
+
{ name: "background", hex: "#ffffff" },
|
|
22487
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22488
|
+
{ name: "surfaceAlt", hex: "#f8fafc" },
|
|
22489
|
+
{ name: "muted", hex: "#f1f5f9" },
|
|
22490
|
+
{ name: "text", hex: "#0f172a" },
|
|
22491
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22492
|
+
{ name: "border", hex: "#cbd5e1" }
|
|
22493
|
+
]
|
|
22494
|
+
});
|
|
22495
|
+
var brandLedWarm = definePaletteVariant({
|
|
22496
|
+
id: "brand-led-warm",
|
|
22497
|
+
name: "Brand-led \u2014 Warm",
|
|
22498
|
+
description: "Sunset orange primary with warm grey neutrals.",
|
|
22499
|
+
tags: { tone: "classic", energy: "vibrant", era: "modern" },
|
|
22500
|
+
mode: "light",
|
|
22501
|
+
colors: [
|
|
22502
|
+
{ name: "primary", hex: "#ea580c" },
|
|
22503
|
+
{ name: "secondary", hex: "#78716c" },
|
|
22504
|
+
{ name: "accent", hex: "#a16207" },
|
|
22505
|
+
{ name: "success", hex: "#16a34a" },
|
|
22506
|
+
{ name: "warning", hex: "#d97706" },
|
|
22507
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22508
|
+
{ name: "background", hex: "#fffaf3" },
|
|
22509
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22510
|
+
{ name: "surfaceAlt", hex: "#fbeee0" },
|
|
22511
|
+
{ name: "muted", hex: "#f4e2cd" },
|
|
22512
|
+
{ name: "text", hex: "#1c1917" },
|
|
22513
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
22514
|
+
{ name: "border", hex: "#d6c4ad" }
|
|
22515
|
+
]
|
|
22516
|
+
});
|
|
22517
|
+
var brandLedJewel = definePaletteVariant({
|
|
22518
|
+
id: "brand-led-jewel",
|
|
22519
|
+
name: "Brand-led \u2014 Jewel",
|
|
22520
|
+
description: "Deep emerald primary with rich neutrals.",
|
|
22521
|
+
tags: { tone: "bold", energy: "vibrant", era: "modern" },
|
|
22522
|
+
mode: "light",
|
|
22523
|
+
colors: [
|
|
22524
|
+
{ name: "primary", hex: "#047857" },
|
|
22525
|
+
{ name: "secondary", hex: "#4b5563" },
|
|
22526
|
+
{ name: "accent", hex: "#7c3aed" },
|
|
22527
|
+
{ name: "success", hex: "#15803d" },
|
|
22528
|
+
{ name: "warning", hex: "#b45309" },
|
|
22529
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22530
|
+
{ name: "background", hex: "#ffffff" },
|
|
22531
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22532
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22533
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
22534
|
+
{ name: "text", hex: "#0c0a09" },
|
|
22535
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22536
|
+
{ name: "border", hex: "#a8a29e" }
|
|
22537
|
+
]
|
|
22538
|
+
});
|
|
22539
|
+
|
|
22540
|
+
// ../theme-core/src/palette/variants/high-contrast.ts
|
|
22541
|
+
var highContrastInk = definePaletteVariant({
|
|
22542
|
+
id: "high-contrast-ink",
|
|
22543
|
+
name: "High Contrast \u2014 Ink",
|
|
22544
|
+
description: "Near-black primary with cool greys.",
|
|
22545
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
22546
|
+
mode: "light",
|
|
22547
|
+
colors: [
|
|
22548
|
+
{ name: "primary", hex: "#111827" },
|
|
22549
|
+
{ name: "secondary", hex: "#374151" },
|
|
22550
|
+
{ name: "accent", hex: "#1d4ed8" },
|
|
22551
|
+
{ name: "success", hex: "#047857" },
|
|
22552
|
+
{ name: "warning", hex: "#b45309" },
|
|
22553
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22554
|
+
{ name: "background", hex: "#ffffff" },
|
|
22555
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22556
|
+
{ name: "surfaceAlt", hex: "#f3f4f6" },
|
|
22557
|
+
{ name: "muted", hex: "#e5e7eb" },
|
|
22558
|
+
{ name: "text", hex: "#030712" },
|
|
22559
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22560
|
+
{ name: "border", hex: "#6b7280" }
|
|
22561
|
+
]
|
|
22562
|
+
});
|
|
22563
|
+
var highContrastCharcoal = definePaletteVariant({
|
|
22564
|
+
id: "high-contrast-charcoal",
|
|
22565
|
+
name: "High Contrast \u2014 Charcoal",
|
|
22566
|
+
description: "Warm charcoal primary on a soft cream ground.",
|
|
22567
|
+
tags: { tone: "minimal", energy: "calm", era: "editorial" },
|
|
22568
|
+
mode: "light",
|
|
22569
|
+
colors: [
|
|
22570
|
+
{ name: "primary", hex: "#1f2937" },
|
|
22571
|
+
{ name: "secondary", hex: "#52525b" },
|
|
22572
|
+
{ name: "accent", hex: "#a16207" },
|
|
22573
|
+
{ name: "success", hex: "#15803d" },
|
|
22574
|
+
{ name: "warning", hex: "#b45309" },
|
|
22575
|
+
{ name: "destructive", hex: "#991b1b" },
|
|
22576
|
+
{ name: "background", hex: "#fafaf9" },
|
|
22577
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22578
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22579
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
22580
|
+
{ name: "text", hex: "#0c0a09" },
|
|
22581
|
+
{ name: "primaryForeground", hex: "#fafaf9" },
|
|
22582
|
+
{ name: "border", hex: "#a8a29e" }
|
|
22583
|
+
]
|
|
22584
|
+
});
|
|
22585
|
+
var highContrastMonochrome = definePaletteVariant({
|
|
22586
|
+
id: "high-contrast-monochrome",
|
|
22587
|
+
name: "High Contrast \u2014 Monochrome",
|
|
22588
|
+
description: "Pure black-on-white with a single saturated accent.",
|
|
22589
|
+
tags: { tone: "bold", energy: "vibrant", era: "editorial" },
|
|
22590
|
+
mode: "light",
|
|
22591
|
+
colors: [
|
|
22592
|
+
{ name: "primary", hex: "#000000" },
|
|
22593
|
+
{ name: "secondary", hex: "#404040" },
|
|
22594
|
+
{ name: "accent", hex: "#dc2626" },
|
|
22595
|
+
{ name: "success", hex: "#000000" },
|
|
22596
|
+
{ name: "warning", hex: "#000000" },
|
|
22597
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
22598
|
+
{ name: "background", hex: "#ffffff" },
|
|
22599
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22600
|
+
{ name: "surfaceAlt", hex: "#f5f5f5" },
|
|
22601
|
+
{ name: "muted", hex: "#e5e5e5" },
|
|
22602
|
+
{ name: "text", hex: "#000000" },
|
|
22603
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22604
|
+
{ name: "border", hex: "#525252" }
|
|
22605
|
+
]
|
|
22606
|
+
});
|
|
22607
|
+
|
|
22608
|
+
// ../theme-core/src/palette/variants/soft-natural.ts
|
|
22609
|
+
var softNaturalSage = definePaletteVariant({
|
|
22610
|
+
id: "soft-natural-sage",
|
|
22611
|
+
name: "Soft Natural \u2014 Sage",
|
|
22612
|
+
description: "Olive sage primary on an off-white ground.",
|
|
22613
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22614
|
+
mode: "light",
|
|
22615
|
+
colors: [
|
|
22616
|
+
{ name: "primary", hex: "#3f6212" },
|
|
22617
|
+
{ name: "secondary", hex: "#6b7280" },
|
|
22618
|
+
{ name: "accent", hex: "#0f766e" },
|
|
22619
|
+
{ name: "success", hex: "#15803d" },
|
|
22620
|
+
{ name: "warning", hex: "#a16207" },
|
|
22621
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22622
|
+
{ name: "background", hex: "#fbfdf7" },
|
|
22623
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22624
|
+
{ name: "surfaceAlt", hex: "#eef5e8" },
|
|
22625
|
+
{ name: "muted", hex: "#e7efdf" },
|
|
22626
|
+
{ name: "text", hex: "#1f2a1d" },
|
|
22627
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22628
|
+
{ name: "border", hex: "#cbd8c0" }
|
|
22629
|
+
]
|
|
22630
|
+
});
|
|
22631
|
+
var softNaturalStone = definePaletteVariant({
|
|
22632
|
+
id: "soft-natural-stone",
|
|
22633
|
+
name: "Soft Natural \u2014 Stone",
|
|
22634
|
+
description: "River-stone grey-green primary with cool neutrals.",
|
|
22635
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
22636
|
+
mode: "light",
|
|
22637
|
+
colors: [
|
|
22638
|
+
{ name: "primary", hex: "#5a7a5d" },
|
|
22639
|
+
{ name: "secondary", hex: "#8a9a8c" },
|
|
22640
|
+
{ name: "accent", hex: "#c9b88f" },
|
|
22641
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
22642
|
+
{ name: "warning", hex: "#a89466" },
|
|
22643
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22644
|
+
{ name: "background", hex: "#faf6ec" },
|
|
22645
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22646
|
+
{ name: "surfaceAlt", hex: "#f0ecdf" },
|
|
22647
|
+
{ name: "muted", hex: "#e6e1d0" },
|
|
22648
|
+
{ name: "text", hex: "#2f3d31" },
|
|
22649
|
+
{ name: "primaryForeground", hex: "#faf6ec" },
|
|
22650
|
+
{ name: "border", hex: "#c9c1ad" }
|
|
22651
|
+
]
|
|
22652
|
+
});
|
|
22653
|
+
var softNaturalWatercolor = definePaletteVariant({
|
|
22654
|
+
id: "soft-natural-watercolor",
|
|
22655
|
+
name: "Soft Natural \u2014 Watercolor",
|
|
22656
|
+
description: "Soft sand primary with watercolour sage accents.",
|
|
22657
|
+
tags: { tone: "classic", energy: "vibrant", era: "organic" },
|
|
22658
|
+
mode: "light",
|
|
22659
|
+
colors: [
|
|
22660
|
+
{ name: "primary", hex: "#a8825f" },
|
|
22661
|
+
{ name: "secondary", hex: "#88a888" },
|
|
22662
|
+
{ name: "accent", hex: "#c8a78e" },
|
|
22663
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
22664
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
22665
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22666
|
+
{ name: "background", hex: "#fefdfa" },
|
|
22667
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22668
|
+
{ name: "surfaceAlt", hex: "#f6f1e6" },
|
|
22669
|
+
{ name: "muted", hex: "#eee7d1" },
|
|
22670
|
+
{ name: "text", hex: "#4a3d30" },
|
|
22671
|
+
{ name: "primaryForeground", hex: "#fefdfa" },
|
|
22672
|
+
{ name: "border", hex: "#d8c9a8" }
|
|
22673
|
+
]
|
|
22674
|
+
});
|
|
22675
|
+
|
|
22676
|
+
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
22677
|
+
var warmNeutralClay = definePaletteVariant({
|
|
22678
|
+
id: "warm-neutral-clay",
|
|
22679
|
+
name: "Warm Neutral \u2014 Clay",
|
|
22680
|
+
description: "Terracotta primary on a cream ground.",
|
|
22681
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22682
|
+
mode: "light",
|
|
22683
|
+
colors: [
|
|
22684
|
+
{ name: "primary", hex: "#8b5e34" },
|
|
22685
|
+
{ name: "secondary", hex: "#7c6f64" },
|
|
22686
|
+
{ name: "accent", hex: "#a15c38" },
|
|
22687
|
+
{ name: "success", hex: "#527853" },
|
|
22688
|
+
{ name: "warning", hex: "#b7791f" },
|
|
22689
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22690
|
+
{ name: "background", hex: "#fffaf3" },
|
|
22691
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22692
|
+
{ name: "surfaceAlt", hex: "#f5eadc" },
|
|
22693
|
+
{ name: "muted", hex: "#efe2d0" },
|
|
22694
|
+
{ name: "text", hex: "#2f241c" },
|
|
22695
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
22696
|
+
{ name: "border", hex: "#d8c6b3" }
|
|
22697
|
+
]
|
|
22698
|
+
});
|
|
22699
|
+
var warmNeutralCream = definePaletteVariant({
|
|
22700
|
+
id: "warm-neutral-cream",
|
|
22701
|
+
name: "Warm Neutral \u2014 Cream",
|
|
22702
|
+
description: "Soft sand primary with pale cream surfaces.",
|
|
22703
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
22704
|
+
mode: "light",
|
|
22705
|
+
colors: [
|
|
22706
|
+
{ name: "primary", hex: "#b08864" },
|
|
22707
|
+
{ name: "secondary", hex: "#9a8c7e" },
|
|
22708
|
+
{ name: "accent", hex: "#c2956a" },
|
|
22709
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
22710
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
22711
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22712
|
+
{ name: "background", hex: "#fdf8ee" },
|
|
22713
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22714
|
+
{ name: "surfaceAlt", hex: "#f4ebd9" },
|
|
22715
|
+
{ name: "muted", hex: "#ede3cf" },
|
|
22716
|
+
{ name: "text", hex: "#3b2f24" },
|
|
22717
|
+
{ name: "primaryForeground", hex: "#fdf8ee" },
|
|
22718
|
+
{ name: "border", hex: "#e0d2b8" }
|
|
22719
|
+
]
|
|
22720
|
+
});
|
|
22721
|
+
var warmNeutralForest = definePaletteVariant({
|
|
22722
|
+
id: "warm-neutral-forest",
|
|
22723
|
+
name: "Warm Neutral \u2014 Forest",
|
|
22724
|
+
description: "Deep forest green primary with earthy neutrals.",
|
|
22725
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22726
|
+
mode: "light",
|
|
22727
|
+
colors: [
|
|
22728
|
+
{ name: "primary", hex: "#3d5840" },
|
|
22729
|
+
{ name: "secondary", hex: "#7a6f5d" },
|
|
22730
|
+
{ name: "accent", hex: "#b06b50" },
|
|
22731
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
22732
|
+
{ name: "warning", hex: "#b7791f" },
|
|
22733
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22734
|
+
{ name: "background", hex: "#fbf8f0" },
|
|
22735
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22736
|
+
{ name: "surfaceAlt", hex: "#f2ecdb" },
|
|
22737
|
+
{ name: "muted", hex: "#ebe3cc" },
|
|
22738
|
+
{ name: "text", hex: "#2a2a2a" },
|
|
22739
|
+
{ name: "primaryForeground", hex: "#fbf8f0" },
|
|
22740
|
+
{ name: "border", hex: "#cdc1a4" }
|
|
22741
|
+
]
|
|
22742
|
+
});
|
|
22743
|
+
|
|
22744
|
+
// ../theme-core/src/palette/variants/index.ts
|
|
22745
|
+
var paletteVariants = [
|
|
22746
|
+
// Brand-led family
|
|
22747
|
+
brandLedCool,
|
|
22748
|
+
brandLedWarm,
|
|
22749
|
+
brandLedJewel,
|
|
22750
|
+
// Warm-neutral family
|
|
22751
|
+
warmNeutralClay,
|
|
22752
|
+
warmNeutralCream,
|
|
22753
|
+
warmNeutralForest,
|
|
22754
|
+
// High-contrast family
|
|
22755
|
+
highContrastInk,
|
|
22756
|
+
highContrastCharcoal,
|
|
22757
|
+
highContrastMonochrome,
|
|
22758
|
+
// Soft-natural family
|
|
22759
|
+
softNaturalSage,
|
|
22760
|
+
softNaturalStone,
|
|
22761
|
+
softNaturalWatercolor
|
|
22762
|
+
];
|
|
22763
|
+
new Map(
|
|
22764
|
+
paletteVariants.map((v) => [v.id, v])
|
|
22765
|
+
);
|
|
22766
|
+
|
|
22767
|
+
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
22768
|
+
var generatedContentFrames = [
|
|
22769
|
+
plainFrame,
|
|
22770
|
+
panelFrame("inset"),
|
|
22771
|
+
panelFrame("raised"),
|
|
22772
|
+
flushPanelFrame({ bleed: "start" })
|
|
22773
|
+
];
|
|
22774
|
+
var userContentFrames = [
|
|
22775
|
+
...generatedContentFrames,
|
|
22776
|
+
panelFrame("editorial"),
|
|
22777
|
+
flushPanelFrame({ bleed: "end" }),
|
|
22778
|
+
flushPanelFrame({ bleed: "both" })
|
|
22779
|
+
];
|
|
22780
|
+
var generatedDesignOptionCatalog = {
|
|
22781
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
22782
|
+
contentFrames: generatedContentFrames,
|
|
22783
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
22784
|
+
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
22785
|
+
emphases: ["low", "medium", "high"]};
|
|
22786
|
+
var userDesignOptionCatalog = {
|
|
22787
|
+
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
22788
|
+
contentFrames: userContentFrames,
|
|
22789
|
+
itemSurfaces: [
|
|
22790
|
+
...generatedDesignOptionCatalog.itemSurfaces,
|
|
22791
|
+
"inset",
|
|
22792
|
+
"editorial"
|
|
22793
|
+
],
|
|
22794
|
+
transitions: [
|
|
22795
|
+
...generatedDesignOptionCatalog.transitions,
|
|
22796
|
+
"wave-edge",
|
|
22797
|
+
"angle-edge"
|
|
22798
|
+
],
|
|
22799
|
+
emphases: generatedDesignOptionCatalog.emphases};
|
|
22800
|
+
|
|
22801
|
+
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
22802
|
+
var curatedSiteStyleIdValues = [
|
|
22803
|
+
"site-style:calm-studio",
|
|
22804
|
+
"site-style:clear-professional",
|
|
22805
|
+
"site-style:warm-editorial",
|
|
22806
|
+
"site-style:bright-community",
|
|
22807
|
+
"site-style:quiet-luxury",
|
|
22808
|
+
"site-style:practical-services",
|
|
22809
|
+
"site-style:modern-wellness",
|
|
22810
|
+
"site-style:bold-launch"
|
|
22811
|
+
];
|
|
22812
|
+
var quietBudget = {
|
|
22813
|
+
accentDensity: "low",
|
|
22814
|
+
panelDensity: "medium",
|
|
22815
|
+
transitionMix: "quiet",
|
|
22816
|
+
primaryCtaLimit: 2,
|
|
22817
|
+
mediaDensity: "medium",
|
|
22818
|
+
decorativeRepetition: "low"
|
|
22819
|
+
};
|
|
22820
|
+
var balancedBudget = {
|
|
22821
|
+
accentDensity: "medium",
|
|
22822
|
+
panelDensity: "medium",
|
|
22823
|
+
transitionMix: "balanced",
|
|
22824
|
+
primaryCtaLimit: 3,
|
|
22825
|
+
mediaDensity: "medium",
|
|
22826
|
+
decorativeRepetition: "medium"
|
|
22827
|
+
};
|
|
22828
|
+
var expressiveBudget = {
|
|
22829
|
+
accentDensity: "high",
|
|
22830
|
+
panelDensity: "high",
|
|
22831
|
+
transitionMix: "expressive",
|
|
22832
|
+
primaryCtaLimit: 3,
|
|
22833
|
+
mediaDensity: "high",
|
|
22834
|
+
decorativeRepetition: "medium"
|
|
22835
|
+
};
|
|
22836
|
+
function uniqueContentFrameKinds() {
|
|
22837
|
+
const kinds = [...new Set(
|
|
22838
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
22839
|
+
)];
|
|
22840
|
+
const firstKind = kinds[0];
|
|
22841
|
+
if (!firstKind) {
|
|
22842
|
+
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
22843
|
+
}
|
|
22844
|
+
return [firstKind, ...kinds.slice(1)];
|
|
22845
|
+
}
|
|
22846
|
+
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
22847
|
+
function defineCuratedSiteStyle(input) {
|
|
22848
|
+
return {
|
|
22849
|
+
id: asSiteStyleId(input.id),
|
|
22850
|
+
name: input.name,
|
|
22851
|
+
description: input.description,
|
|
22852
|
+
generationBrief: input.generationBrief,
|
|
22853
|
+
selectionKeywords: input.selectionKeywords ?? [],
|
|
22854
|
+
template: {
|
|
22855
|
+
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
22856
|
+
name: input.name,
|
|
22857
|
+
version: 1,
|
|
22858
|
+
tokenRecipes: input.tokenRecipes,
|
|
22859
|
+
compositionBudget: input.compositionBudget,
|
|
22860
|
+
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
22861
|
+
supportedContentFrames: generatedContentFrameKinds,
|
|
22862
|
+
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
22863
|
+
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
22864
|
+
},
|
|
22865
|
+
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
22866
|
+
paletteVariantChoices: input.paletteVariantChoices
|
|
22867
|
+
};
|
|
22868
|
+
}
|
|
22869
|
+
function buttonChoice(id, note) {
|
|
22870
|
+
return { id: asButtonPersonalityId(id) };
|
|
22871
|
+
}
|
|
22872
|
+
function paletteChoice(id, note) {
|
|
22873
|
+
return { id: asPaletteVariantId(id) };
|
|
22874
|
+
}
|
|
22875
|
+
var curatedSiteStyles = [
|
|
22876
|
+
defineCuratedSiteStyle({
|
|
22877
|
+
id: "site-style:calm-studio",
|
|
22878
|
+
name: "Calm Studio",
|
|
22879
|
+
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
22880
|
+
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
22881
|
+
tokenRecipes: {
|
|
22882
|
+
palette: "soft-natural",
|
|
22883
|
+
contrast: "standard",
|
|
22884
|
+
radius: "soft",
|
|
22885
|
+
shadow: "subtle",
|
|
22886
|
+
typography: "friendly-sans",
|
|
22887
|
+
spacing: "airy",
|
|
22888
|
+
motion: "subtle"
|
|
22889
|
+
},
|
|
22890
|
+
compositionBudget: quietBudget,
|
|
22891
|
+
buttonPersonalityChoices: [
|
|
22892
|
+
buttonChoice("soft-pill"),
|
|
22893
|
+
buttonChoice("pebble"),
|
|
22894
|
+
buttonChoice("editorial-link"),
|
|
22895
|
+
buttonChoice("brushed-wash")
|
|
22896
|
+
],
|
|
22897
|
+
paletteVariantChoices: [
|
|
22898
|
+
paletteChoice("soft-natural-sage"),
|
|
22899
|
+
paletteChoice("soft-natural-stone"),
|
|
22900
|
+
paletteChoice("warm-neutral-clay"),
|
|
22901
|
+
paletteChoice("soft-natural-watercolor")
|
|
22902
|
+
]
|
|
22903
|
+
}),
|
|
22904
|
+
defineCuratedSiteStyle({
|
|
22905
|
+
id: "site-style:clear-professional",
|
|
22906
|
+
name: "Clear Professional",
|
|
22907
|
+
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
22908
|
+
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
22909
|
+
tokenRecipes: {
|
|
22910
|
+
palette: "brand-led",
|
|
22911
|
+
contrast: "strong",
|
|
22912
|
+
radius: "soft",
|
|
22913
|
+
shadow: "subtle",
|
|
22914
|
+
typography: "clean-sans",
|
|
22915
|
+
spacing: "regular",
|
|
22916
|
+
motion: "subtle"
|
|
22917
|
+
},
|
|
22918
|
+
compositionBudget: balancedBudget,
|
|
22919
|
+
buttonPersonalityChoices: [
|
|
22920
|
+
buttonChoice("confident-chip"),
|
|
22921
|
+
buttonChoice("soft-pill"),
|
|
22922
|
+
buttonChoice("editorial-link")
|
|
22923
|
+
],
|
|
22924
|
+
paletteVariantChoices: [
|
|
22925
|
+
paletteChoice("brand-led-cool"),
|
|
22926
|
+
paletteChoice("high-contrast-ink"),
|
|
22927
|
+
paletteChoice("brand-led-jewel")
|
|
22928
|
+
]
|
|
22929
|
+
}),
|
|
22930
|
+
defineCuratedSiteStyle({
|
|
22931
|
+
id: "site-style:warm-editorial",
|
|
22932
|
+
name: "Warm Editorial",
|
|
22933
|
+
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
22934
|
+
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
22935
|
+
tokenRecipes: {
|
|
22936
|
+
palette: "warm-neutral",
|
|
22937
|
+
contrast: "standard",
|
|
22938
|
+
radius: "square",
|
|
22939
|
+
shadow: "none",
|
|
22940
|
+
typography: "serif-editorial",
|
|
22941
|
+
spacing: "airy",
|
|
22942
|
+
motion: "subtle"
|
|
22943
|
+
},
|
|
22944
|
+
compositionBudget: balancedBudget,
|
|
22945
|
+
buttonPersonalityChoices: [
|
|
22946
|
+
buttonChoice("editorial-link"),
|
|
22947
|
+
buttonChoice("soft-pill"),
|
|
22948
|
+
buttonChoice("brushed-wash")
|
|
22949
|
+
],
|
|
22950
|
+
paletteVariantChoices: [
|
|
22951
|
+
paletteChoice("warm-neutral-cream"),
|
|
22952
|
+
paletteChoice("warm-neutral-clay"),
|
|
22953
|
+
paletteChoice("warm-neutral-forest"),
|
|
22954
|
+
paletteChoice("soft-natural-stone")
|
|
22955
|
+
]
|
|
22956
|
+
}),
|
|
22957
|
+
defineCuratedSiteStyle({
|
|
22958
|
+
id: "site-style:bright-community",
|
|
22959
|
+
name: "Bright Community",
|
|
22960
|
+
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
22961
|
+
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
22962
|
+
tokenRecipes: {
|
|
22963
|
+
palette: "brand-led",
|
|
22964
|
+
contrast: "standard",
|
|
22965
|
+
radius: "rounded",
|
|
22966
|
+
shadow: "subtle",
|
|
22967
|
+
typography: "friendly-sans",
|
|
22968
|
+
spacing: "regular",
|
|
22969
|
+
motion: "expressive"
|
|
22970
|
+
},
|
|
22971
|
+
compositionBudget: balancedBudget,
|
|
22972
|
+
buttonPersonalityChoices: [
|
|
22973
|
+
buttonChoice("pebble"),
|
|
22974
|
+
buttonChoice("brushed-wash"),
|
|
22975
|
+
buttonChoice("confident-chip")
|
|
22976
|
+
],
|
|
22977
|
+
paletteVariantChoices: [
|
|
22978
|
+
paletteChoice("brand-led-warm"),
|
|
22979
|
+
paletteChoice("brand-led-jewel"),
|
|
22980
|
+
paletteChoice("soft-natural-watercolor")
|
|
22981
|
+
]
|
|
22982
|
+
}),
|
|
22983
|
+
defineCuratedSiteStyle({
|
|
22984
|
+
id: "site-style:quiet-luxury",
|
|
22985
|
+
name: "Quiet Luxury",
|
|
22986
|
+
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
22987
|
+
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
22988
|
+
selectionKeywords: [
|
|
22989
|
+
"luxury",
|
|
22990
|
+
"premium",
|
|
22991
|
+
"boutique",
|
|
22992
|
+
"bespoke",
|
|
22993
|
+
"exclusive"
|
|
22994
|
+
],
|
|
22995
|
+
tokenRecipes: {
|
|
22996
|
+
palette: "high-contrast",
|
|
22997
|
+
contrast: "strong",
|
|
22998
|
+
radius: "square",
|
|
22999
|
+
shadow: "none",
|
|
23000
|
+
typography: "classic-serif",
|
|
23001
|
+
spacing: "airy",
|
|
23002
|
+
motion: "none"
|
|
23003
|
+
},
|
|
23004
|
+
compositionBudget: quietBudget,
|
|
23005
|
+
buttonPersonalityChoices: [
|
|
23006
|
+
buttonChoice("editorial-link"),
|
|
23007
|
+
buttonChoice("confident-chip"),
|
|
23008
|
+
buttonChoice("soft-pill")
|
|
23009
|
+
],
|
|
23010
|
+
paletteVariantChoices: [
|
|
23011
|
+
paletteChoice("high-contrast-charcoal"),
|
|
23012
|
+
paletteChoice("high-contrast-ink"),
|
|
23013
|
+
paletteChoice("warm-neutral-cream")
|
|
23014
|
+
]
|
|
23015
|
+
}),
|
|
23016
|
+
defineCuratedSiteStyle({
|
|
23017
|
+
id: "site-style:practical-services",
|
|
23018
|
+
name: "Practical Services",
|
|
23019
|
+
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
23020
|
+
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
23021
|
+
selectionKeywords: [
|
|
23022
|
+
"repair",
|
|
23023
|
+
"plumb",
|
|
23024
|
+
"electric",
|
|
23025
|
+
"cleaning",
|
|
23026
|
+
"landscap",
|
|
23027
|
+
"contractor"
|
|
23028
|
+
],
|
|
23029
|
+
tokenRecipes: {
|
|
23030
|
+
palette: "brand-led",
|
|
23031
|
+
contrast: "maximum",
|
|
23032
|
+
radius: "soft",
|
|
23033
|
+
shadow: "subtle",
|
|
23034
|
+
typography: "clean-sans",
|
|
23035
|
+
spacing: "compact",
|
|
23036
|
+
motion: "none"
|
|
23037
|
+
},
|
|
23038
|
+
compositionBudget: quietBudget,
|
|
23039
|
+
buttonPersonalityChoices: [
|
|
23040
|
+
buttonChoice("confident-chip"),
|
|
23041
|
+
buttonChoice("pebble"),
|
|
23042
|
+
buttonChoice("ink-stamp")
|
|
23043
|
+
],
|
|
23044
|
+
paletteVariantChoices: [
|
|
23045
|
+
paletteChoice("brand-led-cool"),
|
|
23046
|
+
paletteChoice("high-contrast-ink"),
|
|
23047
|
+
paletteChoice("brand-led-warm")
|
|
23048
|
+
]
|
|
23049
|
+
}),
|
|
23050
|
+
defineCuratedSiteStyle({
|
|
23051
|
+
id: "site-style:modern-wellness",
|
|
23052
|
+
name: "Modern Wellness",
|
|
23053
|
+
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
23054
|
+
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
23055
|
+
tokenRecipes: {
|
|
23056
|
+
palette: "soft-natural",
|
|
23057
|
+
contrast: "standard",
|
|
23058
|
+
radius: "rounded",
|
|
23059
|
+
shadow: "subtle",
|
|
23060
|
+
typography: "clean-sans",
|
|
23061
|
+
spacing: "airy",
|
|
23062
|
+
motion: "subtle"
|
|
23063
|
+
},
|
|
23064
|
+
compositionBudget: balancedBudget,
|
|
23065
|
+
buttonPersonalityChoices: [
|
|
23066
|
+
buttonChoice("soft-pill"),
|
|
23067
|
+
buttonChoice("pebble"),
|
|
23068
|
+
buttonChoice("confident-chip")
|
|
23069
|
+
],
|
|
23070
|
+
paletteVariantChoices: [
|
|
23071
|
+
paletteChoice("soft-natural-sage"),
|
|
23072
|
+
paletteChoice("soft-natural-stone"),
|
|
23073
|
+
paletteChoice("warm-neutral-forest")
|
|
23074
|
+
]
|
|
23075
|
+
}),
|
|
23076
|
+
defineCuratedSiteStyle({
|
|
23077
|
+
id: "site-style:bold-launch",
|
|
23078
|
+
name: "Bold Launch",
|
|
23079
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
23080
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
23081
|
+
selectionKeywords: [
|
|
23082
|
+
"launch",
|
|
23083
|
+
"campaign",
|
|
23084
|
+
"preorder",
|
|
23085
|
+
"pre-order",
|
|
23086
|
+
"waitlist",
|
|
23087
|
+
"drop"
|
|
23088
|
+
],
|
|
23089
|
+
tokenRecipes: {
|
|
23090
|
+
palette: "high-contrast",
|
|
23091
|
+
contrast: "maximum",
|
|
23092
|
+
radius: "pill",
|
|
23093
|
+
shadow: "layered",
|
|
23094
|
+
typography: "clean-sans",
|
|
23095
|
+
spacing: "regular",
|
|
23096
|
+
motion: "expressive"
|
|
23097
|
+
},
|
|
23098
|
+
compositionBudget: expressiveBudget,
|
|
23099
|
+
buttonPersonalityChoices: [
|
|
23100
|
+
buttonChoice("ink-stamp"),
|
|
23101
|
+
buttonChoice("confident-chip"),
|
|
23102
|
+
buttonChoice("brushed-wash"),
|
|
23103
|
+
buttonChoice("pebble")
|
|
23104
|
+
],
|
|
23105
|
+
paletteVariantChoices: [
|
|
23106
|
+
paletteChoice("high-contrast-monochrome"),
|
|
23107
|
+
paletteChoice("high-contrast-ink"),
|
|
23108
|
+
paletteChoice("brand-led-jewel"),
|
|
23109
|
+
paletteChoice("brand-led-warm")
|
|
23110
|
+
]
|
|
23111
|
+
})
|
|
23112
|
+
];
|
|
23113
|
+
new Map(
|
|
23114
|
+
curatedSiteStyles.map((style) => [style.id, style])
|
|
23115
|
+
);
|
|
23116
|
+
|
|
23117
|
+
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
23118
|
+
var themeV2RuntimeStyleFieldNames = [
|
|
23119
|
+
"_frameStyles",
|
|
23120
|
+
"_sectionStyles",
|
|
23121
|
+
"_containerStyles",
|
|
23122
|
+
"_cardStyles",
|
|
23123
|
+
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
23124
|
+
// override object, but normal editors should still never see it directly.
|
|
23125
|
+
"styleGroup"
|
|
23126
|
+
];
|
|
23127
|
+
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
23128
|
+
"_contentCardStyles",
|
|
23129
|
+
"_textCardStyles"
|
|
23130
|
+
];
|
|
23131
|
+
var themeV2NormalEditorRawStyleFieldNames = [
|
|
23132
|
+
...themeV2RuntimeStyleFieldNames,
|
|
23133
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
23134
|
+
];
|
|
23135
|
+
new Set(
|
|
23136
|
+
themeV2NormalEditorRawStyleFieldNames
|
|
23137
|
+
);
|
|
23138
|
+
|
|
23139
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
23140
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
23141
|
+
var designResolutionPolicySchema = z.enum(["generated", "user", "admin", "sdk"]);
|
|
23142
|
+
var runtimeStyleFieldNameSchema = z.enum(themeV2RuntimeStyleFieldNames);
|
|
23143
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
23144
|
+
fields3[0],
|
|
23145
|
+
...fields3.slice(1)
|
|
23146
|
+
]);
|
|
23147
|
+
var heroLegibilityStrategySchema = z.enum([
|
|
23148
|
+
"none",
|
|
23149
|
+
"scrim-gradient",
|
|
23150
|
+
"solid-panel"
|
|
23151
|
+
]);
|
|
23152
|
+
function uniqueNonEmpty(values) {
|
|
23153
|
+
const uniqueValues = [...new Set(values)];
|
|
23154
|
+
const firstValue = uniqueValues[0];
|
|
23155
|
+
if (!firstValue) {
|
|
23156
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
23157
|
+
}
|
|
23158
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
23159
|
+
}
|
|
23160
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
23161
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
23162
|
+
);
|
|
23163
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
23164
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
23165
|
+
);
|
|
23166
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
23167
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
23168
|
+
);
|
|
23169
|
+
var contentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
23170
|
+
z.object({ kind: z.literal("plain") }).strict(),
|
|
23171
|
+
z.object({
|
|
23172
|
+
kind: z.literal("panel"),
|
|
23173
|
+
treatment: z.enum(userPanelTreatments)
|
|
23174
|
+
}).strict(),
|
|
23175
|
+
z.object({
|
|
23176
|
+
kind: z.literal("flush-panel"),
|
|
23177
|
+
treatment: z.enum(userFlushTreatments),
|
|
23178
|
+
bleed: z.enum(userFlushBleeds)
|
|
23179
|
+
}).strict()
|
|
23180
|
+
]);
|
|
23181
|
+
var blockDesignPlanSchema = z.object({
|
|
23182
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23183
|
+
blockKind: z.string().min(1),
|
|
23184
|
+
purpose: z.string().min(1),
|
|
23185
|
+
sectionSurface: z.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
23186
|
+
contentFrame: contentFrameIntentSchema,
|
|
23187
|
+
itemSurface: z.enum(userDesignOptionCatalog.itemSurfaces),
|
|
23188
|
+
transitionAfter: z.enum(userDesignOptionCatalog.transitions),
|
|
23189
|
+
emphasis: z.enum(userDesignOptionCatalog.emphases),
|
|
23190
|
+
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
23191
|
+
}).strict();
|
|
23192
|
+
var styleAuthoritySchema = z.discriminatedUnion("kind", [
|
|
23193
|
+
z.object({
|
|
23194
|
+
kind: z.literal("theme-v2"),
|
|
23195
|
+
source: designResolutionPolicySchema,
|
|
23196
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23197
|
+
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
23198
|
+
templateVersion: z.number().int().nonnegative(),
|
|
23199
|
+
resolverVersion: z.number().int().nonnegative()
|
|
23200
|
+
}).strict(),
|
|
23201
|
+
z.object({
|
|
23202
|
+
kind: z.literal("legacy-raw"),
|
|
23203
|
+
reason: z.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
23204
|
+
}).strict(),
|
|
23205
|
+
z.object({
|
|
23206
|
+
kind: z.literal("advanced-detached"),
|
|
23207
|
+
reason: z.literal("detached-custom-runtime-fields")
|
|
23208
|
+
}).strict()
|
|
23209
|
+
]);
|
|
23210
|
+
var blockRuntimeStyleAuthoritySchema = z.object({
|
|
23211
|
+
unit: z.literal("block-runtime-fields"),
|
|
23212
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23213
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
23214
|
+
authority: styleAuthoritySchema
|
|
23215
|
+
}).strict();
|
|
23216
|
+
z.object({
|
|
23217
|
+
schemaVersion: z.literal(themeV2DesignStateSchemaVersion),
|
|
23218
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23219
|
+
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
23220
|
+
templateVersion: z.number().int().nonnegative(),
|
|
23221
|
+
resolverVersion: z.number().int().nonnegative(),
|
|
23222
|
+
rhythmPresetId: z.string().min(1),
|
|
23223
|
+
blocks: z.array(blockDesignPlanSchema),
|
|
23224
|
+
styleAuthorities: z.array(blockRuntimeStyleAuthoritySchema)
|
|
23225
|
+
}).strict();
|
|
23226
|
+
function uniqueNonEmpty2(values) {
|
|
23227
|
+
const uniqueValues = [...new Set(values)];
|
|
23228
|
+
const firstValue = uniqueValues[0];
|
|
23229
|
+
if (!firstValue) {
|
|
23230
|
+
throw new Error("Expected at least one generated schema option.");
|
|
23231
|
+
}
|
|
23232
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
23233
|
+
}
|
|
23234
|
+
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
23235
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
23236
|
+
);
|
|
23237
|
+
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
23238
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
23239
|
+
);
|
|
23240
|
+
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
23241
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
23242
|
+
);
|
|
23243
|
+
var generatedPanelFrameSchema = z.object({
|
|
23244
|
+
kind: z.literal("panel"),
|
|
23245
|
+
treatment: z.enum(generatedPanelTreatments)
|
|
23246
|
+
}).strict();
|
|
23247
|
+
var generatedFlushPanelFrameSchema = z.object({
|
|
23248
|
+
kind: z.literal("flush-panel"),
|
|
23249
|
+
treatment: z.enum(generatedFlushTreatments),
|
|
23250
|
+
bleed: z.enum(generatedFlushBleeds)
|
|
23251
|
+
}).strict();
|
|
23252
|
+
var generatedContentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
23253
|
+
z.object({ kind: z.literal("plain") }).strict(),
|
|
23254
|
+
generatedPanelFrameSchema,
|
|
23255
|
+
generatedFlushPanelFrameSchema
|
|
23256
|
+
]);
|
|
23257
|
+
var generatedSiteStyleIdSchema = z.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
23258
|
+
function generatedChoiceSchema(valueSchema) {
|
|
23259
|
+
return z.discriminatedUnion("kind", [
|
|
23260
|
+
z.object({
|
|
23261
|
+
source: z.literal("generated"),
|
|
23262
|
+
kind: z.literal("auto")
|
|
23263
|
+
}).strict(),
|
|
23264
|
+
z.object({
|
|
23265
|
+
source: z.literal("generated"),
|
|
23266
|
+
kind: z.literal("explicit"),
|
|
23267
|
+
value: valueSchema
|
|
23268
|
+
}).strict()
|
|
23269
|
+
]);
|
|
23270
|
+
}
|
|
23271
|
+
var generatedBlockDesignIntentSchema = z.object({
|
|
23272
|
+
sectionSurface: generatedChoiceSchema(
|
|
23273
|
+
z.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
23274
|
+
),
|
|
23275
|
+
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
23276
|
+
itemSurface: generatedChoiceSchema(
|
|
23277
|
+
z.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
23278
|
+
),
|
|
23279
|
+
transitionAfter: generatedChoiceSchema(
|
|
23280
|
+
z.enum(generatedDesignOptionCatalog.transitions)
|
|
23281
|
+
),
|
|
23282
|
+
emphasis: generatedChoiceSchema(
|
|
23283
|
+
z.enum(generatedDesignOptionCatalog.emphases)
|
|
23284
|
+
)
|
|
23285
|
+
}).strict();
|
|
23286
|
+
var generatedMediaCompositionIntentSchema = z.enum([
|
|
23287
|
+
"none",
|
|
23288
|
+
"supporting",
|
|
23289
|
+
"dominant"
|
|
23290
|
+
]);
|
|
23291
|
+
var generatedDecorativeCompositionIntentSchema = z.enum([
|
|
23292
|
+
"none",
|
|
23293
|
+
"supporting"
|
|
23294
|
+
]);
|
|
23295
|
+
var generatedHeroLegibilityStrategySchema = z.enum([
|
|
23296
|
+
"none",
|
|
23297
|
+
"scrim-gradient"
|
|
23298
|
+
]);
|
|
23299
|
+
var generatedBlockMediaIntentSchema = z.object({
|
|
23300
|
+
media: generatedMediaCompositionIntentSchema,
|
|
23301
|
+
decorative: generatedDecorativeCompositionIntentSchema,
|
|
23302
|
+
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
23303
|
+
}).strict();
|
|
23304
|
+
var generatedBoundaryIntentSchema = z.object({
|
|
23305
|
+
transitionAfter: generatedChoiceSchema(
|
|
23306
|
+
z.enum(generatedDesignOptionCatalog.transitions)
|
|
23307
|
+
)
|
|
23308
|
+
}).strict();
|
|
23309
|
+
var generatedPageDesignBlockIntentSchema = z.object({
|
|
23310
|
+
blockId: z.string().min(1),
|
|
23311
|
+
blockKind: z.string().min(1),
|
|
23312
|
+
purpose: z.string().min(1),
|
|
23313
|
+
design: generatedBlockDesignIntentSchema,
|
|
23314
|
+
mediaIntent: generatedBlockMediaIntentSchema,
|
|
23315
|
+
boundaryIntent: generatedBoundaryIntentSchema
|
|
23316
|
+
}).strict();
|
|
23317
|
+
z.object({
|
|
23318
|
+
siteStyleId: generatedSiteStyleIdSchema,
|
|
23319
|
+
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
23320
|
+
}).strict();
|
|
23321
|
+
var pageDesignIntentSchemaVersion = 1;
|
|
23322
|
+
var pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
23323
|
+
kind: z.literal("user-pinned"),
|
|
23324
|
+
value: z.string().min(1).transform(asAppearancePresetId)
|
|
23325
|
+
}).strict();
|
|
23326
|
+
var pageDesignUserPinnedBoundaryChoiceSchema = z.object({
|
|
23327
|
+
kind: z.literal("user-pinned"),
|
|
23328
|
+
value: z.string().min(1).transform(asBoundaryOptionId)
|
|
23329
|
+
}).strict();
|
|
23330
|
+
var pageDesignBlockLookPinSchema = z.object({
|
|
23331
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23332
|
+
blockKind: z.string().min(1),
|
|
23333
|
+
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
23334
|
+
}).strict();
|
|
23335
|
+
var pageDesignBoundaryPinSchema = z.object({
|
|
23336
|
+
boundaryId: z.string().min(1).transform(asDesignBoundaryId),
|
|
23337
|
+
previousBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
23338
|
+
nextBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
23339
|
+
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
23340
|
+
}).strict().superRefine((pin, ctx) => {
|
|
23341
|
+
const expectedBoundaryId = makeBoundaryId(
|
|
23342
|
+
pin.previousBlockId,
|
|
23343
|
+
pin.nextBlockId
|
|
23344
|
+
);
|
|
23345
|
+
if (pin.boundaryId !== expectedBoundaryId) {
|
|
23346
|
+
ctx.addIssue({
|
|
23347
|
+
code: z.ZodIssueCode.custom,
|
|
23348
|
+
path: ["boundaryId"],
|
|
23349
|
+
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
23350
|
+
});
|
|
22786
23351
|
}
|
|
22787
|
-
return value;
|
|
22788
|
-
}
|
|
22789
|
-
var paletteVariantIdSchema = z.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
22790
|
-
var PALETTE_TOKEN_NAMES = [
|
|
22791
|
-
"primary",
|
|
22792
|
-
"primaryForeground",
|
|
22793
|
-
"secondary",
|
|
22794
|
-
"accent",
|
|
22795
|
-
"success",
|
|
22796
|
-
"warning",
|
|
22797
|
-
"destructive",
|
|
22798
|
-
"background",
|
|
22799
|
-
"surface",
|
|
22800
|
-
"surfaceAlt",
|
|
22801
|
-
"muted",
|
|
22802
|
-
"text",
|
|
22803
|
-
"border"
|
|
22804
|
-
];
|
|
22805
|
-
var paletteTokenNameSchema = z.enum(PALETTE_TOKEN_NAMES);
|
|
22806
|
-
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
22807
|
-
var hexColorSchema = z.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
22808
|
-
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
22809
|
-
name: paletteTokenNameSchema
|
|
22810
23352
|
});
|
|
22811
23353
|
z.object({
|
|
22812
|
-
|
|
22813
|
-
|
|
22814
|
-
|
|
22815
|
-
|
|
22816
|
-
|
|
22817
|
-
|
|
23354
|
+
schemaVersion: z.literal(pageDesignIntentSchemaVersion),
|
|
23355
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23356
|
+
pageFlowPresetId: z.string().min(1).transform(asPageFlowPresetId),
|
|
23357
|
+
blockLookPins: z.array(pageDesignBlockLookPinSchema),
|
|
23358
|
+
boundaryPins: z.array(pageDesignBoundaryPinSchema)
|
|
23359
|
+
}).strict().superRefine((intent, ctx) => {
|
|
23360
|
+
addDuplicateStringIssues(ctx, {
|
|
23361
|
+
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
23362
|
+
path: ["blockLookPins"],
|
|
23363
|
+
label: "block Look pin"
|
|
23364
|
+
});
|
|
23365
|
+
addDuplicateStringIssues(ctx, {
|
|
23366
|
+
values: intent.boundaryPins.map(
|
|
23367
|
+
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
23368
|
+
),
|
|
23369
|
+
path: ["boundaryPins"],
|
|
23370
|
+
label: "boundary pin"
|
|
23371
|
+
});
|
|
22818
23372
|
});
|
|
22819
|
-
function
|
|
22820
|
-
|
|
22821
|
-
|
|
22822
|
-
|
|
22823
|
-
|
|
22824
|
-
|
|
22825
|
-
|
|
22826
|
-
|
|
22827
|
-
}
|
|
23373
|
+
function addDuplicateStringIssues(ctx, input) {
|
|
23374
|
+
const seen = /* @__PURE__ */ new Set();
|
|
23375
|
+
const duplicates = /* @__PURE__ */ new Set();
|
|
23376
|
+
for (const value of input.values) {
|
|
23377
|
+
if (seen.has(value)) {
|
|
23378
|
+
duplicates.add(value);
|
|
23379
|
+
}
|
|
23380
|
+
seen.add(value);
|
|
23381
|
+
}
|
|
23382
|
+
for (const duplicate of duplicates) {
|
|
23383
|
+
ctx.addIssue({
|
|
23384
|
+
code: z.ZodIssueCode.custom,
|
|
23385
|
+
path: [...input.path],
|
|
23386
|
+
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
23387
|
+
});
|
|
23388
|
+
}
|
|
23389
|
+
}
|
|
23390
|
+
function boundaryKey(previousBlockId, nextBlockId) {
|
|
23391
|
+
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
22828
23392
|
}
|
|
22829
|
-
z.object({
|
|
22830
|
-
primary: hexColorSchema.optional(),
|
|
22831
|
-
primaryForeground: hexColorSchema.optional(),
|
|
22832
|
-
secondary: hexColorSchema.optional(),
|
|
22833
|
-
accent: hexColorSchema.optional(),
|
|
22834
|
-
success: hexColorSchema.optional(),
|
|
22835
|
-
warning: hexColorSchema.optional(),
|
|
22836
|
-
destructive: hexColorSchema.optional(),
|
|
22837
|
-
background: hexColorSchema.optional(),
|
|
22838
|
-
surface: hexColorSchema.optional(),
|
|
22839
|
-
surfaceAlt: hexColorSchema.optional(),
|
|
22840
|
-
muted: hexColorSchema.optional(),
|
|
22841
|
-
text: hexColorSchema.optional(),
|
|
22842
|
-
border: hexColorSchema.optional()
|
|
22843
|
-
}).strict().transform((value) => value);
|
|
22844
|
-
|
|
22845
|
-
// ../theme-core/src/palette/variants/brand-led.ts
|
|
22846
|
-
var brandLedCool = definePaletteVariant({
|
|
22847
|
-
id: "brand-led-cool",
|
|
22848
|
-
name: "Brand-led \u2014 Cool",
|
|
22849
|
-
description: "Confident blue primary with slate neutrals.",
|
|
22850
|
-
tags: { tone: "classic", energy: "calm", era: "modern" },
|
|
22851
|
-
mode: "light",
|
|
22852
|
-
colors: [
|
|
22853
|
-
{ name: "primary", hex: "#2563eb" },
|
|
22854
|
-
{ name: "secondary", hex: "#64748b" },
|
|
22855
|
-
{ name: "accent", hex: "#0f766e" },
|
|
22856
|
-
{ name: "success", hex: "#16a34a" },
|
|
22857
|
-
{ name: "warning", hex: "#d97706" },
|
|
22858
|
-
{ name: "destructive", hex: "#dc2626" },
|
|
22859
|
-
{ name: "background", hex: "#ffffff" },
|
|
22860
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22861
|
-
{ name: "surfaceAlt", hex: "#f8fafc" },
|
|
22862
|
-
{ name: "muted", hex: "#f1f5f9" },
|
|
22863
|
-
{ name: "text", hex: "#0f172a" },
|
|
22864
|
-
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22865
|
-
{ name: "border", hex: "#cbd5e1" }
|
|
22866
|
-
]
|
|
22867
|
-
});
|
|
22868
|
-
var brandLedWarm = definePaletteVariant({
|
|
22869
|
-
id: "brand-led-warm",
|
|
22870
|
-
name: "Brand-led \u2014 Warm",
|
|
22871
|
-
description: "Sunset orange primary with warm grey neutrals.",
|
|
22872
|
-
tags: { tone: "classic", energy: "vibrant", era: "modern" },
|
|
22873
|
-
mode: "light",
|
|
22874
|
-
colors: [
|
|
22875
|
-
{ name: "primary", hex: "#ea580c" },
|
|
22876
|
-
{ name: "secondary", hex: "#78716c" },
|
|
22877
|
-
{ name: "accent", hex: "#a16207" },
|
|
22878
|
-
{ name: "success", hex: "#16a34a" },
|
|
22879
|
-
{ name: "warning", hex: "#d97706" },
|
|
22880
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
22881
|
-
{ name: "background", hex: "#fffaf3" },
|
|
22882
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22883
|
-
{ name: "surfaceAlt", hex: "#fbeee0" },
|
|
22884
|
-
{ name: "muted", hex: "#f4e2cd" },
|
|
22885
|
-
{ name: "text", hex: "#1c1917" },
|
|
22886
|
-
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
22887
|
-
{ name: "border", hex: "#d6c4ad" }
|
|
22888
|
-
]
|
|
22889
|
-
});
|
|
22890
|
-
var brandLedJewel = definePaletteVariant({
|
|
22891
|
-
id: "brand-led-jewel",
|
|
22892
|
-
name: "Brand-led \u2014 Jewel",
|
|
22893
|
-
description: "Deep emerald primary with rich neutrals.",
|
|
22894
|
-
tags: { tone: "bold", energy: "vibrant", era: "modern" },
|
|
22895
|
-
mode: "light",
|
|
22896
|
-
colors: [
|
|
22897
|
-
{ name: "primary", hex: "#047857" },
|
|
22898
|
-
{ name: "secondary", hex: "#4b5563" },
|
|
22899
|
-
{ name: "accent", hex: "#7c3aed" },
|
|
22900
|
-
{ name: "success", hex: "#15803d" },
|
|
22901
|
-
{ name: "warning", hex: "#b45309" },
|
|
22902
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
22903
|
-
{ name: "background", hex: "#ffffff" },
|
|
22904
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22905
|
-
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22906
|
-
{ name: "muted", hex: "#e7e5e4" },
|
|
22907
|
-
{ name: "text", hex: "#0c0a09" },
|
|
22908
|
-
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22909
|
-
{ name: "border", hex: "#a8a29e" }
|
|
22910
|
-
]
|
|
22911
|
-
});
|
|
22912
|
-
|
|
22913
|
-
// ../theme-core/src/palette/variants/high-contrast.ts
|
|
22914
|
-
var highContrastInk = definePaletteVariant({
|
|
22915
|
-
id: "high-contrast-ink",
|
|
22916
|
-
name: "High Contrast \u2014 Ink",
|
|
22917
|
-
description: "Near-black primary with cool greys.",
|
|
22918
|
-
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
22919
|
-
mode: "light",
|
|
22920
|
-
colors: [
|
|
22921
|
-
{ name: "primary", hex: "#111827" },
|
|
22922
|
-
{ name: "secondary", hex: "#374151" },
|
|
22923
|
-
{ name: "accent", hex: "#1d4ed8" },
|
|
22924
|
-
{ name: "success", hex: "#047857" },
|
|
22925
|
-
{ name: "warning", hex: "#b45309" },
|
|
22926
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
22927
|
-
{ name: "background", hex: "#ffffff" },
|
|
22928
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22929
|
-
{ name: "surfaceAlt", hex: "#f3f4f6" },
|
|
22930
|
-
{ name: "muted", hex: "#e5e7eb" },
|
|
22931
|
-
{ name: "text", hex: "#030712" },
|
|
22932
|
-
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22933
|
-
{ name: "border", hex: "#6b7280" }
|
|
22934
|
-
]
|
|
22935
|
-
});
|
|
22936
|
-
var highContrastCharcoal = definePaletteVariant({
|
|
22937
|
-
id: "high-contrast-charcoal",
|
|
22938
|
-
name: "High Contrast \u2014 Charcoal",
|
|
22939
|
-
description: "Warm charcoal primary on a soft cream ground.",
|
|
22940
|
-
tags: { tone: "minimal", energy: "calm", era: "editorial" },
|
|
22941
|
-
mode: "light",
|
|
22942
|
-
colors: [
|
|
22943
|
-
{ name: "primary", hex: "#1f2937" },
|
|
22944
|
-
{ name: "secondary", hex: "#52525b" },
|
|
22945
|
-
{ name: "accent", hex: "#a16207" },
|
|
22946
|
-
{ name: "success", hex: "#15803d" },
|
|
22947
|
-
{ name: "warning", hex: "#b45309" },
|
|
22948
|
-
{ name: "destructive", hex: "#991b1b" },
|
|
22949
|
-
{ name: "background", hex: "#fafaf9" },
|
|
22950
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22951
|
-
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22952
|
-
{ name: "muted", hex: "#e7e5e4" },
|
|
22953
|
-
{ name: "text", hex: "#0c0a09" },
|
|
22954
|
-
{ name: "primaryForeground", hex: "#fafaf9" },
|
|
22955
|
-
{ name: "border", hex: "#a8a29e" }
|
|
22956
|
-
]
|
|
22957
|
-
});
|
|
22958
|
-
var highContrastMonochrome = definePaletteVariant({
|
|
22959
|
-
id: "high-contrast-monochrome",
|
|
22960
|
-
name: "High Contrast \u2014 Monochrome",
|
|
22961
|
-
description: "Pure black-on-white with a single saturated accent.",
|
|
22962
|
-
tags: { tone: "bold", energy: "vibrant", era: "editorial" },
|
|
22963
|
-
mode: "light",
|
|
22964
|
-
colors: [
|
|
22965
|
-
{ name: "primary", hex: "#000000" },
|
|
22966
|
-
{ name: "secondary", hex: "#404040" },
|
|
22967
|
-
{ name: "accent", hex: "#dc2626" },
|
|
22968
|
-
{ name: "success", hex: "#000000" },
|
|
22969
|
-
{ name: "warning", hex: "#000000" },
|
|
22970
|
-
{ name: "destructive", hex: "#dc2626" },
|
|
22971
|
-
{ name: "background", hex: "#ffffff" },
|
|
22972
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22973
|
-
{ name: "surfaceAlt", hex: "#f5f5f5" },
|
|
22974
|
-
{ name: "muted", hex: "#e5e5e5" },
|
|
22975
|
-
{ name: "text", hex: "#000000" },
|
|
22976
|
-
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22977
|
-
{ name: "border", hex: "#525252" }
|
|
22978
|
-
]
|
|
22979
|
-
});
|
|
22980
|
-
|
|
22981
|
-
// ../theme-core/src/palette/variants/soft-natural.ts
|
|
22982
|
-
var softNaturalSage = definePaletteVariant({
|
|
22983
|
-
id: "soft-natural-sage",
|
|
22984
|
-
name: "Soft Natural \u2014 Sage",
|
|
22985
|
-
description: "Olive sage primary on an off-white ground.",
|
|
22986
|
-
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22987
|
-
mode: "light",
|
|
22988
|
-
colors: [
|
|
22989
|
-
{ name: "primary", hex: "#3f6212" },
|
|
22990
|
-
{ name: "secondary", hex: "#6b7280" },
|
|
22991
|
-
{ name: "accent", hex: "#0f766e" },
|
|
22992
|
-
{ name: "success", hex: "#15803d" },
|
|
22993
|
-
{ name: "warning", hex: "#a16207" },
|
|
22994
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
22995
|
-
{ name: "background", hex: "#fbfdf7" },
|
|
22996
|
-
{ name: "surface", hex: "#ffffff" },
|
|
22997
|
-
{ name: "surfaceAlt", hex: "#eef5e8" },
|
|
22998
|
-
{ name: "muted", hex: "#e7efdf" },
|
|
22999
|
-
{ name: "text", hex: "#1f2a1d" },
|
|
23000
|
-
{ name: "primaryForeground", hex: "#ffffff" },
|
|
23001
|
-
{ name: "border", hex: "#cbd8c0" }
|
|
23002
|
-
]
|
|
23003
|
-
});
|
|
23004
|
-
var softNaturalStone = definePaletteVariant({
|
|
23005
|
-
id: "soft-natural-stone",
|
|
23006
|
-
name: "Soft Natural \u2014 Stone",
|
|
23007
|
-
description: "River-stone grey-green primary with cool neutrals.",
|
|
23008
|
-
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
23009
|
-
mode: "light",
|
|
23010
|
-
colors: [
|
|
23011
|
-
{ name: "primary", hex: "#5a7a5d" },
|
|
23012
|
-
{ name: "secondary", hex: "#8a9a8c" },
|
|
23013
|
-
{ name: "accent", hex: "#c9b88f" },
|
|
23014
|
-
{ name: "success", hex: "#5a7a5d" },
|
|
23015
|
-
{ name: "warning", hex: "#a89466" },
|
|
23016
|
-
{ name: "destructive", hex: "#a3503e" },
|
|
23017
|
-
{ name: "background", hex: "#faf6ec" },
|
|
23018
|
-
{ name: "surface", hex: "#ffffff" },
|
|
23019
|
-
{ name: "surfaceAlt", hex: "#f0ecdf" },
|
|
23020
|
-
{ name: "muted", hex: "#e6e1d0" },
|
|
23021
|
-
{ name: "text", hex: "#2f3d31" },
|
|
23022
|
-
{ name: "primaryForeground", hex: "#faf6ec" },
|
|
23023
|
-
{ name: "border", hex: "#c9c1ad" }
|
|
23024
|
-
]
|
|
23025
|
-
});
|
|
23026
|
-
var softNaturalWatercolor = definePaletteVariant({
|
|
23027
|
-
id: "soft-natural-watercolor",
|
|
23028
|
-
name: "Soft Natural \u2014 Watercolor",
|
|
23029
|
-
description: "Soft sand primary with watercolour sage accents.",
|
|
23030
|
-
tags: { tone: "classic", energy: "vibrant", era: "organic" },
|
|
23031
|
-
mode: "light",
|
|
23032
|
-
colors: [
|
|
23033
|
-
{ name: "primary", hex: "#a8825f" },
|
|
23034
|
-
{ name: "secondary", hex: "#88a888" },
|
|
23035
|
-
{ name: "accent", hex: "#c8a78e" },
|
|
23036
|
-
{ name: "success", hex: "#7d8a5f" },
|
|
23037
|
-
{ name: "warning", hex: "#c89a4d" },
|
|
23038
|
-
{ name: "destructive", hex: "#a3503e" },
|
|
23039
|
-
{ name: "background", hex: "#fefdfa" },
|
|
23040
|
-
{ name: "surface", hex: "#ffffff" },
|
|
23041
|
-
{ name: "surfaceAlt", hex: "#f6f1e6" },
|
|
23042
|
-
{ name: "muted", hex: "#eee7d1" },
|
|
23043
|
-
{ name: "text", hex: "#4a3d30" },
|
|
23044
|
-
{ name: "primaryForeground", hex: "#fefdfa" },
|
|
23045
|
-
{ name: "border", hex: "#d8c9a8" }
|
|
23046
|
-
]
|
|
23047
|
-
});
|
|
23048
|
-
|
|
23049
|
-
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
23050
|
-
var warmNeutralClay = definePaletteVariant({
|
|
23051
|
-
id: "warm-neutral-clay",
|
|
23052
|
-
name: "Warm Neutral \u2014 Clay",
|
|
23053
|
-
description: "Terracotta primary on a cream ground.",
|
|
23054
|
-
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
23055
|
-
mode: "light",
|
|
23056
|
-
colors: [
|
|
23057
|
-
{ name: "primary", hex: "#8b5e34" },
|
|
23058
|
-
{ name: "secondary", hex: "#7c6f64" },
|
|
23059
|
-
{ name: "accent", hex: "#a15c38" },
|
|
23060
|
-
{ name: "success", hex: "#527853" },
|
|
23061
|
-
{ name: "warning", hex: "#b7791f" },
|
|
23062
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
23063
|
-
{ name: "background", hex: "#fffaf3" },
|
|
23064
|
-
{ name: "surface", hex: "#ffffff" },
|
|
23065
|
-
{ name: "surfaceAlt", hex: "#f5eadc" },
|
|
23066
|
-
{ name: "muted", hex: "#efe2d0" },
|
|
23067
|
-
{ name: "text", hex: "#2f241c" },
|
|
23068
|
-
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
23069
|
-
{ name: "border", hex: "#d8c6b3" }
|
|
23070
|
-
]
|
|
23071
|
-
});
|
|
23072
|
-
var warmNeutralCream = definePaletteVariant({
|
|
23073
|
-
id: "warm-neutral-cream",
|
|
23074
|
-
name: "Warm Neutral \u2014 Cream",
|
|
23075
|
-
description: "Soft sand primary with pale cream surfaces.",
|
|
23076
|
-
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
23077
|
-
mode: "light",
|
|
23078
|
-
colors: [
|
|
23079
|
-
{ name: "primary", hex: "#b08864" },
|
|
23080
|
-
{ name: "secondary", hex: "#9a8c7e" },
|
|
23081
|
-
{ name: "accent", hex: "#c2956a" },
|
|
23082
|
-
{ name: "success", hex: "#7d8a5f" },
|
|
23083
|
-
{ name: "warning", hex: "#c89a4d" },
|
|
23084
|
-
{ name: "destructive", hex: "#a3503e" },
|
|
23085
|
-
{ name: "background", hex: "#fdf8ee" },
|
|
23086
|
-
{ name: "surface", hex: "#ffffff" },
|
|
23087
|
-
{ name: "surfaceAlt", hex: "#f4ebd9" },
|
|
23088
|
-
{ name: "muted", hex: "#ede3cf" },
|
|
23089
|
-
{ name: "text", hex: "#3b2f24" },
|
|
23090
|
-
{ name: "primaryForeground", hex: "#fdf8ee" },
|
|
23091
|
-
{ name: "border", hex: "#e0d2b8" }
|
|
23092
|
-
]
|
|
23093
|
-
});
|
|
23094
|
-
var warmNeutralForest = definePaletteVariant({
|
|
23095
|
-
id: "warm-neutral-forest",
|
|
23096
|
-
name: "Warm Neutral \u2014 Forest",
|
|
23097
|
-
description: "Deep forest green primary with earthy neutrals.",
|
|
23098
|
-
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
23099
|
-
mode: "light",
|
|
23100
|
-
colors: [
|
|
23101
|
-
{ name: "primary", hex: "#3d5840" },
|
|
23102
|
-
{ name: "secondary", hex: "#7a6f5d" },
|
|
23103
|
-
{ name: "accent", hex: "#b06b50" },
|
|
23104
|
-
{ name: "success", hex: "#5a7a5d" },
|
|
23105
|
-
{ name: "warning", hex: "#b7791f" },
|
|
23106
|
-
{ name: "destructive", hex: "#b91c1c" },
|
|
23107
|
-
{ name: "background", hex: "#fbf8f0" },
|
|
23108
|
-
{ name: "surface", hex: "#ffffff" },
|
|
23109
|
-
{ name: "surfaceAlt", hex: "#f2ecdb" },
|
|
23110
|
-
{ name: "muted", hex: "#ebe3cc" },
|
|
23111
|
-
{ name: "text", hex: "#2a2a2a" },
|
|
23112
|
-
{ name: "primaryForeground", hex: "#fbf8f0" },
|
|
23113
|
-
{ name: "border", hex: "#cdc1a4" }
|
|
23114
|
-
]
|
|
23115
|
-
});
|
|
23116
23393
|
|
|
23117
|
-
// ../theme-core/src/
|
|
23118
|
-
|
|
23119
|
-
// Brand-led family
|
|
23120
|
-
brandLedCool,
|
|
23121
|
-
brandLedWarm,
|
|
23122
|
-
brandLedJewel,
|
|
23123
|
-
// Warm-neutral family
|
|
23124
|
-
warmNeutralClay,
|
|
23125
|
-
warmNeutralCream,
|
|
23126
|
-
warmNeutralForest,
|
|
23127
|
-
// High-contrast family
|
|
23128
|
-
highContrastInk,
|
|
23129
|
-
highContrastCharcoal,
|
|
23130
|
-
highContrastMonochrome,
|
|
23131
|
-
// Soft-natural family
|
|
23132
|
-
softNaturalSage,
|
|
23133
|
-
softNaturalStone,
|
|
23134
|
-
softNaturalWatercolor
|
|
23135
|
-
];
|
|
23136
|
-
new Map(
|
|
23137
|
-
paletteVariants.map((v) => [v.id, v])
|
|
23138
|
-
);
|
|
23394
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
23395
|
+
init_personalities();
|
|
23139
23396
|
var nonEmptyStringSchema = z.string().min(1);
|
|
23140
23397
|
var blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
23141
23398
|
var designBlockIdSchema = nonEmptyStringSchema.transform(asDesignBlockId);
|
|
@@ -23276,6 +23533,9 @@ var spaciousBoundaryOption = {
|
|
|
23276
23533
|
defaultBoundaryOptionId: spaciousBoundaryOption.id
|
|
23277
23534
|
}
|
|
23278
23535
|
];
|
|
23536
|
+
|
|
23537
|
+
// ../theme-core/src/site-styles/index.ts
|
|
23538
|
+
init_styleTags();
|
|
23279
23539
|
var themeTokenRecipeOptions = {
|
|
23280
23540
|
palette: ["brand-led", "warm-neutral", "high-contrast", "soft-natural"],
|
|
23281
23541
|
contrast: ["standard", "strong", "maximum"],
|
|
@@ -25288,14 +25548,16 @@ var headerCta = ctaButton({
|
|
|
25288
25548
|
whenPath: "menu.ctaItem.label",
|
|
25289
25549
|
variantPath: "menu.ctaItem.variant",
|
|
25290
25550
|
linkPath: "menu.ctaItem.link",
|
|
25291
|
-
|
|
25551
|
+
sizeFallback: "sm",
|
|
25552
|
+
className: `header-cta ${desktopOnlyDisplay("inline-flex")} rb-ml-6`
|
|
25292
25553
|
});
|
|
25293
25554
|
var mobileCta = ctaButton({
|
|
25294
25555
|
basePath: "menu.ctaItem",
|
|
25295
25556
|
whenPath: "menu.ctaItem.label",
|
|
25296
25557
|
variantPath: "menu.ctaItem.variant",
|
|
25297
25558
|
linkPath: "menu.ctaItem.link",
|
|
25298
|
-
|
|
25559
|
+
sizeFallback: "md",
|
|
25560
|
+
className: "nav-mobile-cta rb-w-full"
|
|
25299
25561
|
});
|
|
25300
25562
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
25301
25563
|
{
|
|
@@ -28978,7 +29240,25 @@ init_schema2();
|
|
|
28978
29240
|
init_defineBlock();
|
|
28979
29241
|
init_builder();
|
|
28980
29242
|
init_fragments();
|
|
29243
|
+
init_media();
|
|
28981
29244
|
var ITEM_NAME2 = "member";
|
|
29245
|
+
var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
|
|
29246
|
+
message: "Team member photos must be image media"
|
|
29247
|
+
}).nullable();
|
|
29248
|
+
var teamMemberDataSchema = z.object({
|
|
29249
|
+
_type: z.literal("teamMember"),
|
|
29250
|
+
id: z.string(),
|
|
29251
|
+
name: z.string(),
|
|
29252
|
+
role: z.string().nullable(),
|
|
29253
|
+
roleLabel: z.string().nullable(),
|
|
29254
|
+
bio: z.string().nullable(),
|
|
29255
|
+
summary: z.string().nullable(),
|
|
29256
|
+
photo: teamMemberPhotoSchema,
|
|
29257
|
+
profilePath: z.string().nullable()
|
|
29258
|
+
});
|
|
29259
|
+
var teamMembersDataSchema = z.array(teamMemberDataSchema);
|
|
29260
|
+
var dynamicSourceWhen = { equals: "site_staff" };
|
|
29261
|
+
var manualSourceWhen = { equals: "site_staff", not: true };
|
|
28982
29262
|
var headingNode = text(
|
|
28983
29263
|
{ as: "h2" },
|
|
28984
29264
|
bind("content.heading"),
|
|
@@ -29068,7 +29348,15 @@ var teamMemberStackLayout = el(
|
|
|
29068
29348
|
]
|
|
29069
29349
|
),
|
|
29070
29350
|
stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
|
|
29071
|
-
|
|
29351
|
+
link(
|
|
29352
|
+
{
|
|
29353
|
+
href: { $bind: { from: "profilePath" } },
|
|
29354
|
+
className: "rb-team-member-name-link"
|
|
29355
|
+
},
|
|
29356
|
+
[text({ as: "h3" }, bind("name"))],
|
|
29357
|
+
when("profilePath")
|
|
29358
|
+
),
|
|
29359
|
+
text({ as: "h3" }, when("profilePath", { not: true }), bind("name")),
|
|
29072
29360
|
text(
|
|
29073
29361
|
{ as: "p", className: "rb-team-member-role" },
|
|
29074
29362
|
when("role"),
|
|
@@ -29082,12 +29370,18 @@ var teamMemberStackLayout = el(
|
|
|
29082
29370
|
])
|
|
29083
29371
|
]
|
|
29084
29372
|
);
|
|
29085
|
-
var
|
|
29373
|
+
var manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
|
|
29086
29374
|
collectionPath: "content.members",
|
|
29087
29375
|
itemName: ITEM_NAME2,
|
|
29088
29376
|
fragments: { teamMember: teamMemberFragment },
|
|
29089
29377
|
itemGap: "sm"
|
|
29090
|
-
});
|
|
29378
|
+
}));
|
|
29379
|
+
var dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
|
|
29380
|
+
collectionPath: "data.members",
|
|
29381
|
+
itemName: ITEM_NAME2,
|
|
29382
|
+
fragments: { teamMember: teamMemberFragment },
|
|
29383
|
+
itemGap: "sm"
|
|
29384
|
+
}));
|
|
29091
29385
|
var gridVariant = wrapVariant3(
|
|
29092
29386
|
el(
|
|
29093
29387
|
"grid",
|
|
@@ -29101,22 +29395,29 @@ var gridVariant = wrapVariant3(
|
|
|
29101
29395
|
},
|
|
29102
29396
|
gap: { $bind: { from: "content.gap", fallback: "medium" } }
|
|
29103
29397
|
},
|
|
29104
|
-
[
|
|
29398
|
+
[manualGridMembersNode, dynamicGridMembersNode]
|
|
29105
29399
|
)
|
|
29106
29400
|
);
|
|
29107
|
-
var
|
|
29401
|
+
var manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
|
|
29108
29402
|
collectionPath: "content.members",
|
|
29109
29403
|
itemName: ITEM_NAME2,
|
|
29110
29404
|
fragments: { teamMember: teamMemberFragment },
|
|
29111
29405
|
layoutOverrides: { teamMember: teamMemberStackLayout },
|
|
29112
29406
|
itemGap: "sm"
|
|
29113
|
-
});
|
|
29407
|
+
}));
|
|
29408
|
+
var dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
|
|
29409
|
+
collectionPath: "data.members",
|
|
29410
|
+
itemName: ITEM_NAME2,
|
|
29411
|
+
fragments: { teamMember: teamMemberFragment },
|
|
29412
|
+
layoutOverrides: { teamMember: teamMemberStackLayout },
|
|
29413
|
+
itemGap: "sm"
|
|
29414
|
+
}));
|
|
29114
29415
|
var stackVariant = wrapVariant3({
|
|
29115
29416
|
type: "stack",
|
|
29116
29417
|
props: {
|
|
29117
29418
|
gap: { $bind: { from: "content.gap", fallback: "medium" } }
|
|
29118
29419
|
},
|
|
29119
|
-
children: [
|
|
29420
|
+
children: [manualStackMembersNode, dynamicStackMembersNode]
|
|
29120
29421
|
});
|
|
29121
29422
|
var teamMembersManifest = createBlockManifest({
|
|
29122
29423
|
id: "block.team-members",
|
|
@@ -29131,6 +29432,18 @@ var teamMembersManifest = createBlockManifest({
|
|
|
29131
29432
|
required: false,
|
|
29132
29433
|
maxLength: 120
|
|
29133
29434
|
}),
|
|
29435
|
+
parseFieldDefinition({
|
|
29436
|
+
id: "source",
|
|
29437
|
+
type: "select",
|
|
29438
|
+
label: "Team members",
|
|
29439
|
+
description: "Choose whether to use the site-wide team or a hand-picked list.",
|
|
29440
|
+
defaultValue: "manual",
|
|
29441
|
+
options: [
|
|
29442
|
+
{ value: "manual", label: "Choose manually" },
|
|
29443
|
+
{ value: "site_staff", label: "Use all site team members" }
|
|
29444
|
+
],
|
|
29445
|
+
ui: { intent: "behavior" }
|
|
29446
|
+
}),
|
|
29134
29447
|
parseFieldDefinition({
|
|
29135
29448
|
id: "layoutAlign",
|
|
29136
29449
|
type: "select",
|
|
@@ -29233,18 +29546,24 @@ var teamMembersManifest = createBlockManifest({
|
|
|
29233
29546
|
],
|
|
29234
29547
|
ui: { intent: "display" }
|
|
29235
29548
|
}),
|
|
29236
|
-
|
|
29237
|
-
|
|
29238
|
-
|
|
29239
|
-
|
|
29240
|
-
|
|
29241
|
-
|
|
29242
|
-
|
|
29243
|
-
|
|
29244
|
-
|
|
29245
|
-
|
|
29549
|
+
{
|
|
29550
|
+
...fragmentsToRepeaterField(
|
|
29551
|
+
"members",
|
|
29552
|
+
"Team members",
|
|
29553
|
+
{ teamMember: teamMemberFragment },
|
|
29554
|
+
{
|
|
29555
|
+
minItems: 0,
|
|
29556
|
+
maxItems: 50,
|
|
29557
|
+
itemLabel: "Team member",
|
|
29558
|
+
itemLabelSource: "name",
|
|
29559
|
+
description: "Add people to this section."
|
|
29560
|
+
}
|
|
29561
|
+
),
|
|
29562
|
+
ui: {
|
|
29563
|
+
intent: "content",
|
|
29564
|
+
visibleWhen: { field: "source", equals: "manual" }
|
|
29246
29565
|
}
|
|
29247
|
-
|
|
29566
|
+
}
|
|
29248
29567
|
],
|
|
29249
29568
|
layout: gridVariant,
|
|
29250
29569
|
variants: {
|
|
@@ -29270,7 +29589,20 @@ var teamMembersManifest = createBlockManifest({
|
|
|
29270
29589
|
styleTokens: { spacing: "lg" }
|
|
29271
29590
|
});
|
|
29272
29591
|
var teamMembersBlockDefinition = {
|
|
29273
|
-
manifest: teamMembersManifest
|
|
29592
|
+
manifest: teamMembersManifest,
|
|
29593
|
+
dataSchemas: {
|
|
29594
|
+
members: teamMembersDataSchema
|
|
29595
|
+
},
|
|
29596
|
+
dataLoaders: {
|
|
29597
|
+
members: {
|
|
29598
|
+
endpoint: "listPublicTeamMembers",
|
|
29599
|
+
params: {
|
|
29600
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
29601
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
|
|
29602
|
+
},
|
|
29603
|
+
mode: "server"
|
|
29604
|
+
}
|
|
29605
|
+
}
|
|
29274
29606
|
};
|
|
29275
29607
|
|
|
29276
29608
|
// ../blocks/src/system/blocks/location-map.ts
|
|
@@ -32313,6 +32645,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
|
|
|
32313
32645
|
"getPublishedEntryPreview",
|
|
32314
32646
|
"listPublicEvents",
|
|
32315
32647
|
"listPublicCourses",
|
|
32648
|
+
"listPublicTeamMembers",
|
|
32316
32649
|
"listPublicProducts",
|
|
32317
32650
|
"listPublicPasses",
|
|
32318
32651
|
"listPublicMemberships",
|
|
@@ -44777,7 +45110,7 @@ var SimpleCache = class {
|
|
|
44777
45110
|
};
|
|
44778
45111
|
|
|
44779
45112
|
// src/version.ts
|
|
44780
|
-
var SDK_VERSION = "0.60.
|
|
45113
|
+
var SDK_VERSION = "0.60.7";
|
|
44781
45114
|
|
|
44782
45115
|
// src/client/error.ts
|
|
44783
45116
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -45571,19 +45904,20 @@ function createRiverbankClient(config2) {
|
|
|
45571
45904
|
}
|
|
45572
45905
|
return {
|
|
45573
45906
|
async getSite(params) {
|
|
45574
|
-
const { slug, domain, id, signal, force } = params;
|
|
45907
|
+
const { slug, domain, id, signal, force, currentPath } = params;
|
|
45575
45908
|
if (!slug && !domain && !id) {
|
|
45576
45909
|
throw new Error(
|
|
45577
45910
|
`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
|
|
45578
45911
|
);
|
|
45579
45912
|
}
|
|
45580
|
-
const cacheKey = `site:${slug || domain || id}`;
|
|
45913
|
+
const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
|
|
45581
45914
|
const siteId = id || slug || domain;
|
|
45582
45915
|
return resilientFetch(cacheKey, async (sig) => {
|
|
45583
45916
|
const apiParams = {};
|
|
45584
45917
|
if (params.slug) apiParams.slug = params.slug;
|
|
45585
45918
|
if (params.domain) apiParams.domain = params.domain;
|
|
45586
45919
|
if (params.id) apiParams.id = params.id;
|
|
45920
|
+
if (currentPath) apiParams.currentPath = currentPath;
|
|
45587
45921
|
if (force) apiParams.force = "true";
|
|
45588
45922
|
return await apiClient({
|
|
45589
45923
|
endpoint: "getSite",
|
|
@@ -45815,6 +46149,24 @@ function createRiverbankClient(config2) {
|
|
|
45815
46149
|
return await apiClient({ endpoint: "listPublicCourses", params: apiParams, options: { signal: sig } });
|
|
45816
46150
|
}, { signal });
|
|
45817
46151
|
},
|
|
46152
|
+
async listPublicTeamMembers(params) {
|
|
46153
|
+
const { siteId, stage, signal } = params;
|
|
46154
|
+
if (!siteId) {
|
|
46155
|
+
throw new Error("listPublicTeamMembers() requires siteId");
|
|
46156
|
+
}
|
|
46157
|
+
const cacheKey = `public-team-members:${siteId}:${stage ?? ""}`;
|
|
46158
|
+
return resilientFetch(cacheKey, async (sig) => {
|
|
46159
|
+
const apiParams = {
|
|
46160
|
+
siteId,
|
|
46161
|
+
...stage && { stage }
|
|
46162
|
+
};
|
|
46163
|
+
return await apiClient({
|
|
46164
|
+
endpoint: "listPublicTeamMembers",
|
|
46165
|
+
params: apiParams,
|
|
46166
|
+
options: { signal: sig }
|
|
46167
|
+
});
|
|
46168
|
+
}, { signal });
|
|
46169
|
+
},
|
|
45818
46170
|
async listPublicProducts(params) {
|
|
45819
46171
|
const { siteId, stage, categorySelector, signal } = params;
|
|
45820
46172
|
if (!siteId) {
|