@riverbankcms/sdk 0.60.1 → 0.60.6
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/bookingRecords.d.ts +7 -0
- package/dist/_dts/api/src/bookingVerticals.d.ts +1 -0
- package/dist/_dts/api/src/communications.d.ts +1 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
- package/dist/_dts/api/src/endpoints.d.ts +17 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/media.d.ts +1 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -2
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -1
- package/dist/_dts/api/src/siteSettings.d.ts +7 -0
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
- package/dist/_dts/core/src/business-address.d.ts +38 -0
- package/dist/_dts/core/src/index.d.ts +1 -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 +28 -6
- package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +44 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +101 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
- package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
- package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +95 -0
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
- package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
- package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +52 -0
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +52 -0
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +213 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +52 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +52 -0
- package/dist/_dts/theme-core/src/schema.d.ts +122 -10
- 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 -1
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +42 -3
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/callout.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/cli/index.mjs +2255 -947
- package/dist/client/bookings.mjs +294 -144
- package/dist/client/client.mjs +4053 -2600
- package/dist/client/hooks.mjs +3248 -2076
- package/dist/client/rendering/client.mjs +3377 -2165
- package/dist/client/rendering/islands.mjs +1911 -736
- package/dist/client/rendering.mjs +41897 -40445
- package/dist/preview-next/before-render.mjs +17 -0
- package/dist/preview-next/client/runtime.mjs +13511 -11313
- package/dist/preview-next/middleware.mjs +17 -0
- package/dist/server/components.mjs +4434 -3172
- package/dist/server/config-validation.mjs +3479 -2307
- package/dist/server/config.mjs +3479 -2307
- package/dist/server/data.mjs +3248 -2076
- package/dist/server/index.mjs +21 -3
- package/dist/server/next.mjs +3989 -2726
- package/dist/server/page-converter.mjs +3393 -2238
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4434 -3172
- package/dist/server/rendering.mjs +4434 -3172
- package/dist/server/routing.mjs +3582 -2274
- package/dist/server/server.mjs +3252 -2079
- package/dist/server/theme-bridge.mjs +1454 -496
- package/dist/server/theme.mjs +1102 -505
- package/package.json +1 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
- package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
package/dist/cli/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import z42, { z, ZodError } from 'zod';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import { createJiti } from 'jiti';
|
|
5
5
|
import * as path3 from 'path';
|
|
@@ -137,6 +137,12 @@ var init_location = __esm({
|
|
|
137
137
|
}
|
|
138
138
|
});
|
|
139
139
|
|
|
140
|
+
// ../core/src/business-address.ts
|
|
141
|
+
var init_business_address = __esm({
|
|
142
|
+
"../core/src/business-address.ts"() {
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
|
|
140
146
|
// ../core/src/assert-never.ts
|
|
141
147
|
var init_assert_never = __esm({
|
|
142
148
|
"../core/src/assert-never.ts"() {
|
|
@@ -185,6 +191,7 @@ var init_assertNever = __esm({
|
|
|
185
191
|
// ../core/src/participants.ts
|
|
186
192
|
var init_participants = __esm({
|
|
187
193
|
"../core/src/participants.ts"() {
|
|
194
|
+
init_branded();
|
|
188
195
|
init_result();
|
|
189
196
|
}
|
|
190
197
|
});
|
|
@@ -211,6 +218,7 @@ var init_src = __esm({
|
|
|
211
218
|
init_person_records();
|
|
212
219
|
init_rectification();
|
|
213
220
|
init_location();
|
|
221
|
+
init_business_address();
|
|
214
222
|
init_result();
|
|
215
223
|
init_assert_never();
|
|
216
224
|
init_try_async();
|
|
@@ -1523,6 +1531,774 @@ var init_typeGuards = __esm({
|
|
|
1523
1531
|
"../blocks/src/lib/typeGuards.ts"() {
|
|
1524
1532
|
}
|
|
1525
1533
|
});
|
|
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;
|
|
1535
|
+
var init_types2 = __esm({
|
|
1536
|
+
"../theme-core/src/buttons/types.ts"() {
|
|
1537
|
+
VARIANT_ROLES = [
|
|
1538
|
+
"primary",
|
|
1539
|
+
"secondary",
|
|
1540
|
+
"outline",
|
|
1541
|
+
"ghost",
|
|
1542
|
+
"link",
|
|
1543
|
+
"tertiary",
|
|
1544
|
+
"accent"
|
|
1545
|
+
];
|
|
1546
|
+
cornerStyleSchema = z.enum(["square", "rounded", "pill"]);
|
|
1547
|
+
shadowSizeSchema = z.enum(["none", "low", "medium", "high"]);
|
|
1548
|
+
textTransformSchema = z.enum(["none", "uppercase", "lowercase", "capitalize"]);
|
|
1549
|
+
fontWeightSchema = z.union([z.literal(500), z.literal(600), z.literal(700)]);
|
|
1550
|
+
buttonTypographySchema = z.enum(["body", "heading"]);
|
|
1551
|
+
letterSpacingSchema = z.enum(["tight", "normal", "loose"]);
|
|
1552
|
+
hoverTransformSchema = z.enum(["none", "lift", "scale", "press"]);
|
|
1553
|
+
hoverColorSchema = z.enum(["none", "brighten", "darken", "saturate", "token"]);
|
|
1554
|
+
buttonPaddingPresetSchema = z.enum(["compact", "default", "spacious"]);
|
|
1555
|
+
gradientStyleSchema = z.enum(["linear", "radial", "conic"]);
|
|
1556
|
+
gradientSharpnessSchema = z.enum(["smooth", "medium", "hard"]);
|
|
1557
|
+
prioritySchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
|
|
1558
|
+
z.enum(VARIANT_ROLES);
|
|
1559
|
+
buttonSizeNameSchema = z.enum(["sm", "md", "lg", "xl"]);
|
|
1560
|
+
PADDING_TOKEN_PATTERN = /^(?:0|\d+(?:\.\d+)?(?:rem|em|px|%))$/;
|
|
1561
|
+
paddingShorthandSchema = z.string().refine(
|
|
1562
|
+
(value) => {
|
|
1563
|
+
const parts = value.split(/\s+/).filter(Boolean);
|
|
1564
|
+
return parts.length === 2 && parts.every((token) => PADDING_TOKEN_PATTERN.test(token));
|
|
1565
|
+
},
|
|
1566
|
+
{
|
|
1567
|
+
message: 'Padding must be two space-separated CSS length tokens (e.g. "0.5rem 1rem"). Use `0` for zero.'
|
|
1568
|
+
}
|
|
1569
|
+
);
|
|
1570
|
+
buttonSizeConfigSchema = z.object({
|
|
1571
|
+
padding: paddingShorthandSchema,
|
|
1572
|
+
fontSize: z.string().optional()
|
|
1573
|
+
});
|
|
1574
|
+
buttonSizesSchema = z.object({
|
|
1575
|
+
sm: buttonSizeConfigSchema,
|
|
1576
|
+
md: buttonSizeConfigSchema,
|
|
1577
|
+
lg: buttonSizeConfigSchema,
|
|
1578
|
+
xl: buttonSizeConfigSchema.optional()
|
|
1579
|
+
}).transform(({ sm, md, lg, xl }) => ({
|
|
1580
|
+
sm,
|
|
1581
|
+
md,
|
|
1582
|
+
lg,
|
|
1583
|
+
xl: xl ?? lg
|
|
1584
|
+
}));
|
|
1585
|
+
buttonGlobalSettingsSchema = z.object({
|
|
1586
|
+
cornerStyle: cornerStyleSchema,
|
|
1587
|
+
cornerRadius: z.number().min(0).max(24).optional(),
|
|
1588
|
+
shadow: shadowSizeSchema,
|
|
1589
|
+
textTransform: textTransformSchema,
|
|
1590
|
+
fontWeight: fontWeightSchema,
|
|
1591
|
+
/**
|
|
1592
|
+
* @deprecated Set per-variant via `variant.border.widthClass` instead.
|
|
1593
|
+
* Schema field is preserved so existing presets parse; the value is unread
|
|
1594
|
+
* by the current generator and will be removed once the legacy
|
|
1595
|
+
* `primitives/content/components/Button.tsx` slot exports are deleted.
|
|
1596
|
+
*/
|
|
1597
|
+
borderWidth: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
1598
|
+
// === Family-level typography ===
|
|
1599
|
+
// Typography source (body or heading) — selects which theme typography pool to inherit
|
|
1600
|
+
typography: buttonTypographySchema.optional(),
|
|
1601
|
+
// Font size for all variants in the family (Tailwind token, e.g. "text-xs", "text-sm")
|
|
1602
|
+
// Sized variants get this as default; fixed variants inherit unless they override.
|
|
1603
|
+
// Size class CSS may still override at run time for sized variants.
|
|
1604
|
+
fontSize: z.string().optional(),
|
|
1605
|
+
// Letter spacing applied to all variants
|
|
1606
|
+
letterSpacing: letterSpacingSchema.optional(),
|
|
1607
|
+
// Italic style
|
|
1608
|
+
italic: z.boolean().optional(),
|
|
1609
|
+
// Padding preset (applies to sized variants without a sizes config)
|
|
1610
|
+
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
1611
|
+
hoverTransform: hoverTransformSchema,
|
|
1612
|
+
hoverColor: hoverColorSchema,
|
|
1613
|
+
// When hoverColor is 'token', this specifies which token to use
|
|
1614
|
+
hoverColorToken: z.string().optional(),
|
|
1615
|
+
// Gradient settings (if any variant uses gradients)
|
|
1616
|
+
gradientStyle: gradientStyleSchema.optional(),
|
|
1617
|
+
gradientAngle: z.number().min(0).max(360).optional(),
|
|
1618
|
+
gradientSharpness: gradientSharpnessSchema.optional()
|
|
1619
|
+
});
|
|
1620
|
+
gradientDirectionSchema = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
1621
|
+
buttonBackgroundSchema = z.discriminatedUnion("type", [
|
|
1622
|
+
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
1623
|
+
z.object({
|
|
1624
|
+
type: z.literal("gradient"),
|
|
1625
|
+
stops: z.array(z.string()).min(2),
|
|
1626
|
+
direction: gradientDirectionSchema
|
|
1627
|
+
}),
|
|
1628
|
+
z.object({ type: z.literal("transparent") })
|
|
1629
|
+
]);
|
|
1630
|
+
effectApplicationSchema = z.object({
|
|
1631
|
+
effectId: z.string(),
|
|
1632
|
+
options: z.record(z.string(), z.any()).optional()
|
|
1633
|
+
});
|
|
1634
|
+
buttonBorderSchema = z.object({
|
|
1635
|
+
widthClass: z.string(),
|
|
1636
|
+
colorToken: z.string()
|
|
1637
|
+
});
|
|
1638
|
+
variantShadowSchema = z.object({
|
|
1639
|
+
elevation: z.enum(["none", "low", "medium", "high"]),
|
|
1640
|
+
softness: z.enum(["crisp", "soft", "hard"]).nullable(),
|
|
1641
|
+
position: z.enum(["bottom", "bottom-right"]).default("bottom")
|
|
1642
|
+
});
|
|
1643
|
+
variantEffectsSchema = z.object({
|
|
1644
|
+
base: z.array(effectApplicationSchema).optional(),
|
|
1645
|
+
hover: z.array(effectApplicationSchema).optional(),
|
|
1646
|
+
active: z.array(effectApplicationSchema).optional(),
|
|
1647
|
+
focus: z.array(effectApplicationSchema).optional()
|
|
1648
|
+
});
|
|
1649
|
+
variantSizeOverridesSchema = z.object({
|
|
1650
|
+
sm: buttonSizeConfigSchema.optional(),
|
|
1651
|
+
md: buttonSizeConfigSchema.optional(),
|
|
1652
|
+
lg: buttonSizeConfigSchema.optional(),
|
|
1653
|
+
xl: buttonSizeConfigSchema.optional()
|
|
1654
|
+
});
|
|
1655
|
+
buttonVariantSchema = z.object({
|
|
1656
|
+
id: z.string(),
|
|
1657
|
+
name: z.string().min(1).max(20),
|
|
1658
|
+
enabled: z.boolean(),
|
|
1659
|
+
priority: prioritySchema,
|
|
1660
|
+
// Base appearance (token-based)
|
|
1661
|
+
background: buttonBackgroundSchema,
|
|
1662
|
+
textColorToken: z.string(),
|
|
1663
|
+
/** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
|
|
1664
|
+
borderRadius: z.string().optional(),
|
|
1665
|
+
// Optional shadow override (uses theme.shadow if not specified)
|
|
1666
|
+
shadow: variantShadowSchema.optional(),
|
|
1667
|
+
// Border (optional)
|
|
1668
|
+
border: buttonBorderSchema.optional(),
|
|
1669
|
+
// Hover background token (per-variant override, takes precedence over global hoverColorToken)
|
|
1670
|
+
hoverBackgroundToken: z.string().optional(),
|
|
1671
|
+
// Effect composition
|
|
1672
|
+
effects: variantEffectsSchema.optional(),
|
|
1673
|
+
// Per-variant size overrides — see VariantSizeOverrides
|
|
1674
|
+
sizes: variantSizeOverridesSchema.optional()
|
|
1675
|
+
});
|
|
1676
|
+
buttonSystemSchema = z.object({
|
|
1677
|
+
global: buttonGlobalSettingsSchema,
|
|
1678
|
+
variants: z.array(buttonVariantSchema).min(1).max(6),
|
|
1679
|
+
sizes: buttonSizesSchema.optional()
|
|
1680
|
+
});
|
|
1681
|
+
}
|
|
1682
|
+
});
|
|
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
|
+
});
|
|
1698
|
+
}
|
|
1699
|
+
});
|
|
1700
|
+
function asButtonPersonalityId(value) {
|
|
1701
|
+
if (value.length === 0) {
|
|
1702
|
+
throw new Error("ButtonPersonalityId must be a non-empty string");
|
|
1703
|
+
}
|
|
1704
|
+
return value;
|
|
1705
|
+
}
|
|
1706
|
+
function defineButtonPersonality(input) {
|
|
1707
|
+
return {
|
|
1708
|
+
id: asButtonPersonalityId(input.id),
|
|
1709
|
+
name: input.name,
|
|
1710
|
+
description: input.description,
|
|
1711
|
+
tags: input.tags,
|
|
1712
|
+
buttonSystem: input.buttonSystem
|
|
1713
|
+
};
|
|
1714
|
+
}
|
|
1715
|
+
var buttonPersonalityIdSchema;
|
|
1716
|
+
var init_types3 = __esm({
|
|
1717
|
+
"../theme-core/src/buttons/personalities/types.ts"() {
|
|
1718
|
+
init_types2();
|
|
1719
|
+
init_styleTags();
|
|
1720
|
+
buttonPersonalityIdSchema = z.string().min(1).transform((value) => asButtonPersonalityId(value));
|
|
1721
|
+
z.object({
|
|
1722
|
+
id: buttonPersonalityIdSchema,
|
|
1723
|
+
name: z.string().min(1),
|
|
1724
|
+
description: z.string().min(1),
|
|
1725
|
+
tags: styleTagsSchema,
|
|
1726
|
+
buttonSystem: buttonSystemSchema
|
|
1727
|
+
});
|
|
1728
|
+
}
|
|
1729
|
+
});
|
|
1730
|
+
|
|
1731
|
+
// ../theme-core/src/buttons/personalities/brushed-wash.ts
|
|
1732
|
+
var brushedWash;
|
|
1733
|
+
var init_brushed_wash = __esm({
|
|
1734
|
+
"../theme-core/src/buttons/personalities/brushed-wash.ts"() {
|
|
1735
|
+
init_types3();
|
|
1736
|
+
brushedWash = defineButtonPersonality({
|
|
1737
|
+
id: "brushed-wash",
|
|
1738
|
+
name: "Brushed Wash",
|
|
1739
|
+
description: "Watercolour-gradient buttons with soft shadows and generous padding.",
|
|
1740
|
+
tags: { tone: "classic", energy: "vibrant", motion: "standard", era: "organic" },
|
|
1741
|
+
buttonSystem: {
|
|
1742
|
+
global: {
|
|
1743
|
+
cornerStyle: "rounded",
|
|
1744
|
+
shadow: "low",
|
|
1745
|
+
textTransform: "none",
|
|
1746
|
+
fontWeight: 500,
|
|
1747
|
+
borderWidth: 1,
|
|
1748
|
+
hoverTransform: "none",
|
|
1749
|
+
hoverColor: "none"
|
|
1750
|
+
},
|
|
1751
|
+
sizes: {
|
|
1752
|
+
sm: { padding: "0.75rem 2rem", fontSize: "text-sm" },
|
|
1753
|
+
md: { padding: "1rem 2.5rem" },
|
|
1754
|
+
lg: { padding: "1.25rem 3rem", fontSize: "text-lg" },
|
|
1755
|
+
xl: { padding: "1.625rem 3.75rem", fontSize: "text-xl" }
|
|
1756
|
+
},
|
|
1757
|
+
variants: [
|
|
1758
|
+
{
|
|
1759
|
+
id: "primary",
|
|
1760
|
+
name: "Primary",
|
|
1761
|
+
enabled: true,
|
|
1762
|
+
priority: 1,
|
|
1763
|
+
background: {
|
|
1764
|
+
type: "gradient",
|
|
1765
|
+
stops: ["primary", "accent"],
|
|
1766
|
+
direction: "to-r"
|
|
1767
|
+
},
|
|
1768
|
+
textColorToken: "primaryForeground",
|
|
1769
|
+
borderRadius: "rounded-lg",
|
|
1770
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
1771
|
+
effects: {
|
|
1772
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
|
|
1773
|
+
}
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
id: "secondary",
|
|
1777
|
+
name: "Secondary",
|
|
1778
|
+
enabled: true,
|
|
1779
|
+
priority: 2,
|
|
1780
|
+
background: {
|
|
1781
|
+
type: "gradient",
|
|
1782
|
+
stops: ["secondary", "accent"],
|
|
1783
|
+
direction: "to-br"
|
|
1784
|
+
},
|
|
1785
|
+
textColorToken: "primaryForeground",
|
|
1786
|
+
borderRadius: "rounded-lg",
|
|
1787
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
1788
|
+
effects: {
|
|
1789
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
|
|
1790
|
+
}
|
|
1791
|
+
},
|
|
1792
|
+
{
|
|
1793
|
+
id: "outline",
|
|
1794
|
+
name: "Outline",
|
|
1795
|
+
enabled: true,
|
|
1796
|
+
priority: 3,
|
|
1797
|
+
background: { type: "transparent" },
|
|
1798
|
+
textColorToken: "primary",
|
|
1799
|
+
borderRadius: "rounded-lg",
|
|
1800
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
1801
|
+
effects: {
|
|
1802
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
1803
|
+
}
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
id: "ghost",
|
|
1807
|
+
name: "Ghost",
|
|
1808
|
+
enabled: true,
|
|
1809
|
+
priority: 3,
|
|
1810
|
+
background: { type: "transparent" },
|
|
1811
|
+
textColorToken: "text",
|
|
1812
|
+
borderRadius: "rounded-lg",
|
|
1813
|
+
effects: {
|
|
1814
|
+
hover: [
|
|
1815
|
+
{ effectId: "background-on-hover", options: { colorToken: "surface" } }
|
|
1816
|
+
]
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1819
|
+
]
|
|
1820
|
+
}
|
|
1821
|
+
});
|
|
1822
|
+
}
|
|
1823
|
+
});
|
|
1824
|
+
|
|
1825
|
+
// ../theme-core/src/buttons/personalities/confident-chip.ts
|
|
1826
|
+
var confidentChip;
|
|
1827
|
+
var init_confident_chip = __esm({
|
|
1828
|
+
"../theme-core/src/buttons/personalities/confident-chip.ts"() {
|
|
1829
|
+
init_types3();
|
|
1830
|
+
confidentChip = defineButtonPersonality({
|
|
1831
|
+
id: "confident-chip",
|
|
1832
|
+
name: "Confident Chip",
|
|
1833
|
+
description: "Mid-radius solid buttons with a crisp hover.",
|
|
1834
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "modern" },
|
|
1835
|
+
buttonSystem: {
|
|
1836
|
+
global: {
|
|
1837
|
+
cornerStyle: "rounded",
|
|
1838
|
+
shadow: "medium",
|
|
1839
|
+
textTransform: "none",
|
|
1840
|
+
fontWeight: 600,
|
|
1841
|
+
borderWidth: 1,
|
|
1842
|
+
hoverTransform: "none",
|
|
1843
|
+
hoverColor: "none"
|
|
1844
|
+
},
|
|
1845
|
+
variants: [
|
|
1846
|
+
{
|
|
1847
|
+
id: "primary",
|
|
1848
|
+
name: "Primary",
|
|
1849
|
+
enabled: true,
|
|
1850
|
+
priority: 1,
|
|
1851
|
+
background: { type: "solid", colorToken: "primary" },
|
|
1852
|
+
textColorToken: "primaryForeground",
|
|
1853
|
+
borderRadius: "rounded-md",
|
|
1854
|
+
shadow: { elevation: "medium", softness: "soft", position: "bottom" },
|
|
1855
|
+
effects: {
|
|
1856
|
+
hover: [{ effectId: "darken-background", options: { amount: 60 } }],
|
|
1857
|
+
active: [{ effectId: "scale-down", options: { scale: "0.97" } }]
|
|
1858
|
+
}
|
|
1859
|
+
},
|
|
1860
|
+
{
|
|
1861
|
+
id: "secondary",
|
|
1862
|
+
name: "Secondary",
|
|
1863
|
+
enabled: true,
|
|
1864
|
+
priority: 2,
|
|
1865
|
+
background: { type: "solid", colorToken: "surface" },
|
|
1866
|
+
textColorToken: "text",
|
|
1867
|
+
borderRadius: "rounded-md",
|
|
1868
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
1869
|
+
effects: {
|
|
1870
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
|
|
1871
|
+
}
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
id: "outline",
|
|
1875
|
+
name: "Outline",
|
|
1876
|
+
enabled: true,
|
|
1877
|
+
priority: 3,
|
|
1878
|
+
background: { type: "transparent" },
|
|
1879
|
+
textColorToken: "primary",
|
|
1880
|
+
borderRadius: "rounded-md",
|
|
1881
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
1882
|
+
effects: {
|
|
1883
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
1884
|
+
}
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
id: "ghost",
|
|
1888
|
+
name: "Ghost",
|
|
1889
|
+
enabled: true,
|
|
1890
|
+
priority: 3,
|
|
1891
|
+
background: { type: "transparent" },
|
|
1892
|
+
textColorToken: "primary",
|
|
1893
|
+
borderRadius: "rounded-md",
|
|
1894
|
+
effects: {
|
|
1895
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
]
|
|
1899
|
+
}
|
|
1900
|
+
});
|
|
1901
|
+
}
|
|
1902
|
+
});
|
|
1903
|
+
|
|
1904
|
+
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
1905
|
+
var editorialLink;
|
|
1906
|
+
var init_editorial_link = __esm({
|
|
1907
|
+
"../theme-core/src/buttons/personalities/editorial-link.ts"() {
|
|
1908
|
+
init_types3();
|
|
1909
|
+
editorialLink = defineButtonPersonality({
|
|
1910
|
+
id: "editorial-link",
|
|
1911
|
+
name: "Editorial Link",
|
|
1912
|
+
description: "Link-style with a growing underline. Refined, typographic.",
|
|
1913
|
+
tags: { tone: "minimal", energy: "calm", motion: "subtle", era: "editorial" },
|
|
1914
|
+
buttonSystem: {
|
|
1915
|
+
global: {
|
|
1916
|
+
cornerStyle: "square",
|
|
1917
|
+
shadow: "none",
|
|
1918
|
+
textTransform: "none",
|
|
1919
|
+
fontWeight: 500,
|
|
1920
|
+
borderWidth: 1,
|
|
1921
|
+
hoverTransform: "none",
|
|
1922
|
+
hoverColor: "none"
|
|
1923
|
+
},
|
|
1924
|
+
variants: [
|
|
1925
|
+
{
|
|
1926
|
+
id: "primary",
|
|
1927
|
+
name: "Primary",
|
|
1928
|
+
enabled: true,
|
|
1929
|
+
priority: 1,
|
|
1930
|
+
background: { type: "transparent" },
|
|
1931
|
+
textColorToken: "text",
|
|
1932
|
+
borderRadius: "rounded-none",
|
|
1933
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
1934
|
+
sizes: {
|
|
1935
|
+
sm: { padding: "0.25rem 0" },
|
|
1936
|
+
md: { padding: "0.5rem 0" },
|
|
1937
|
+
lg: { padding: "0.625rem 0" },
|
|
1938
|
+
xl: { padding: "0.75rem 0" }
|
|
1939
|
+
},
|
|
1940
|
+
effects: {
|
|
1941
|
+
base: [
|
|
1942
|
+
{ effectId: "border-bottom-grow", options: { height: 2, colorToken: "text", origin: "left" } }
|
|
1943
|
+
]
|
|
1944
|
+
}
|
|
1945
|
+
},
|
|
1946
|
+
{
|
|
1947
|
+
id: "secondary",
|
|
1948
|
+
name: "Secondary",
|
|
1949
|
+
enabled: true,
|
|
1950
|
+
priority: 2,
|
|
1951
|
+
background: { type: "transparent" },
|
|
1952
|
+
textColorToken: "mutedText",
|
|
1953
|
+
borderRadius: "rounded-none",
|
|
1954
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
1955
|
+
sizes: {
|
|
1956
|
+
sm: { padding: "0.25rem 0" },
|
|
1957
|
+
md: { padding: "0.5rem 0" },
|
|
1958
|
+
lg: { padding: "0.625rem 0" },
|
|
1959
|
+
xl: { padding: "0.75rem 0" }
|
|
1960
|
+
},
|
|
1961
|
+
effects: {
|
|
1962
|
+
base: [
|
|
1963
|
+
{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "mutedText", origin: "left" } }
|
|
1964
|
+
]
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
id: "outline",
|
|
1969
|
+
name: "Outline",
|
|
1970
|
+
enabled: true,
|
|
1971
|
+
priority: 3,
|
|
1972
|
+
background: { type: "transparent" },
|
|
1973
|
+
textColorToken: "accent",
|
|
1974
|
+
borderRadius: "rounded-none",
|
|
1975
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
1976
|
+
sizes: {
|
|
1977
|
+
sm: { padding: "0.25rem 0" },
|
|
1978
|
+
md: { padding: "0.5rem 0" },
|
|
1979
|
+
lg: { padding: "0.625rem 0" },
|
|
1980
|
+
xl: { padding: "0.75rem 0" }
|
|
1981
|
+
},
|
|
1982
|
+
effects: {
|
|
1983
|
+
base: [
|
|
1984
|
+
{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }
|
|
1985
|
+
]
|
|
1986
|
+
}
|
|
1987
|
+
},
|
|
1988
|
+
{
|
|
1989
|
+
id: "ghost",
|
|
1990
|
+
name: "Ghost",
|
|
1991
|
+
enabled: true,
|
|
1992
|
+
priority: 3,
|
|
1993
|
+
background: { type: "transparent" },
|
|
1994
|
+
textColorToken: "mutedText",
|
|
1995
|
+
borderRadius: "rounded-none",
|
|
1996
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
1997
|
+
sizes: {
|
|
1998
|
+
sm: { padding: "0.25rem 0" },
|
|
1999
|
+
md: { padding: "0.5rem 0" },
|
|
2000
|
+
lg: { padding: "0.625rem 0" },
|
|
2001
|
+
xl: { padding: "0.75rem 0" }
|
|
2002
|
+
},
|
|
2003
|
+
effects: {
|
|
2004
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: -20 } }]
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
]
|
|
2008
|
+
}
|
|
2009
|
+
});
|
|
2010
|
+
}
|
|
2011
|
+
});
|
|
2012
|
+
|
|
2013
|
+
// ../theme-core/src/buttons/personalities/ink-stamp.ts
|
|
2014
|
+
var inkStamp;
|
|
2015
|
+
var init_ink_stamp = __esm({
|
|
2016
|
+
"../theme-core/src/buttons/personalities/ink-stamp.ts"() {
|
|
2017
|
+
init_types3();
|
|
2018
|
+
inkStamp = defineButtonPersonality({
|
|
2019
|
+
id: "ink-stamp",
|
|
2020
|
+
name: "Ink Stamp",
|
|
2021
|
+
description: "Hand-stamped block-print buttons with a slight lift on hover.",
|
|
2022
|
+
tags: { tone: "bold", energy: "vibrant", motion: "standard", era: "organic" },
|
|
2023
|
+
buttonSystem: {
|
|
2024
|
+
global: {
|
|
2025
|
+
cornerStyle: "rounded",
|
|
2026
|
+
shadow: "none",
|
|
2027
|
+
textTransform: "uppercase",
|
|
2028
|
+
fontWeight: 600,
|
|
2029
|
+
borderWidth: 1,
|
|
2030
|
+
hoverTransform: "none",
|
|
2031
|
+
hoverColor: "none",
|
|
2032
|
+
letterSpacing: "loose"
|
|
2033
|
+
},
|
|
2034
|
+
sizes: {
|
|
2035
|
+
sm: { padding: "0.5rem 1.25rem", fontSize: "text-xs" },
|
|
2036
|
+
md: { padding: "0.75rem 1.75rem", fontSize: "text-sm" },
|
|
2037
|
+
lg: { padding: "0.875rem 2.25rem", fontSize: "text-base" },
|
|
2038
|
+
xl: { padding: "1.125rem 2.75rem", fontSize: "text-lg" }
|
|
2039
|
+
},
|
|
2040
|
+
variants: [
|
|
2041
|
+
{
|
|
2042
|
+
id: "primary",
|
|
2043
|
+
name: "Primary",
|
|
2044
|
+
enabled: true,
|
|
2045
|
+
priority: 1,
|
|
2046
|
+
background: { type: "solid", colorToken: "primary" },
|
|
2047
|
+
textColorToken: "primaryForeground",
|
|
2048
|
+
borderRadius: "rounded-md",
|
|
2049
|
+
effects: {
|
|
2050
|
+
hover: [
|
|
2051
|
+
{ effectId: "drop-shadow", options: { intensity: "medium" } },
|
|
2052
|
+
{ effectId: "scale-up", options: { scale: "1.02" } }
|
|
2053
|
+
],
|
|
2054
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
2055
|
+
}
|
|
2056
|
+
},
|
|
2057
|
+
{
|
|
2058
|
+
id: "secondary",
|
|
2059
|
+
name: "Secondary",
|
|
2060
|
+
enabled: true,
|
|
2061
|
+
priority: 2,
|
|
2062
|
+
background: { type: "transparent" },
|
|
2063
|
+
textColorToken: "primary",
|
|
2064
|
+
borderRadius: "rounded-md",
|
|
2065
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
2066
|
+
effects: {
|
|
2067
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2068
|
+
}
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
id: "outline",
|
|
2072
|
+
name: "Outline",
|
|
2073
|
+
enabled: true,
|
|
2074
|
+
priority: 3,
|
|
2075
|
+
background: { type: "transparent" },
|
|
2076
|
+
textColorToken: "text",
|
|
2077
|
+
borderRadius: "rounded-md",
|
|
2078
|
+
border: { widthClass: "border-2", colorToken: "border" },
|
|
2079
|
+
effects: {
|
|
2080
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2081
|
+
}
|
|
2082
|
+
},
|
|
2083
|
+
{
|
|
2084
|
+
id: "ghost",
|
|
2085
|
+
name: "Ghost",
|
|
2086
|
+
enabled: true,
|
|
2087
|
+
priority: 3,
|
|
2088
|
+
background: { type: "transparent" },
|
|
2089
|
+
textColorToken: "accent",
|
|
2090
|
+
borderRadius: "rounded-none",
|
|
2091
|
+
sizes: {
|
|
2092
|
+
sm: { padding: "0.375rem 0", fontSize: "text-xs" },
|
|
2093
|
+
md: { padding: "0.5rem 0", fontSize: "text-sm" },
|
|
2094
|
+
lg: { padding: "0.625rem 0", fontSize: "text-base" },
|
|
2095
|
+
xl: { padding: "0.75rem 0", fontSize: "text-lg" }
|
|
2096
|
+
},
|
|
2097
|
+
effects: {
|
|
2098
|
+
base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
]
|
|
2102
|
+
}
|
|
2103
|
+
});
|
|
2104
|
+
}
|
|
2105
|
+
});
|
|
2106
|
+
|
|
2107
|
+
// ../theme-core/src/buttons/personalities/pebble.ts
|
|
2108
|
+
var pebble;
|
|
2109
|
+
var init_pebble = __esm({
|
|
2110
|
+
"../theme-core/src/buttons/personalities/pebble.ts"() {
|
|
2111
|
+
init_types3();
|
|
2112
|
+
pebble = defineButtonPersonality({
|
|
2113
|
+
id: "pebble",
|
|
2114
|
+
name: "Pebble",
|
|
2115
|
+
description: "Generous pill buttons with a soft hover lift.",
|
|
2116
|
+
tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
|
|
2117
|
+
buttonSystem: {
|
|
2118
|
+
global: {
|
|
2119
|
+
cornerStyle: "pill",
|
|
2120
|
+
shadow: "none",
|
|
2121
|
+
textTransform: "none",
|
|
2122
|
+
fontWeight: 500,
|
|
2123
|
+
borderWidth: 2,
|
|
2124
|
+
hoverTransform: "none",
|
|
2125
|
+
hoverColor: "none"
|
|
2126
|
+
},
|
|
2127
|
+
sizes: {
|
|
2128
|
+
sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
|
|
2129
|
+
md: { padding: "0.875rem 2.25rem" },
|
|
2130
|
+
lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
|
|
2131
|
+
xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
|
|
2132
|
+
},
|
|
2133
|
+
variants: [
|
|
2134
|
+
{
|
|
2135
|
+
id: "primary",
|
|
2136
|
+
name: "Primary",
|
|
2137
|
+
enabled: true,
|
|
2138
|
+
priority: 1,
|
|
2139
|
+
background: { type: "solid", colorToken: "primary" },
|
|
2140
|
+
textColorToken: "primaryForeground",
|
|
2141
|
+
borderRadius: "rounded-full",
|
|
2142
|
+
effects: {
|
|
2143
|
+
hover: [
|
|
2144
|
+
{ effectId: "scale-up", options: { scale: "1.03" } },
|
|
2145
|
+
{ effectId: "drop-shadow", options: { intensity: "medium" } }
|
|
2146
|
+
]
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
{
|
|
2150
|
+
id: "secondary",
|
|
2151
|
+
name: "Secondary",
|
|
2152
|
+
enabled: true,
|
|
2153
|
+
priority: 2,
|
|
2154
|
+
background: { type: "transparent" },
|
|
2155
|
+
textColorToken: "primary",
|
|
2156
|
+
borderRadius: "rounded-full",
|
|
2157
|
+
border: { widthClass: "border-2", colorToken: "accent" },
|
|
2158
|
+
effects: {
|
|
2159
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
|
|
2160
|
+
}
|
|
2161
|
+
},
|
|
2162
|
+
{
|
|
2163
|
+
id: "outline",
|
|
2164
|
+
name: "Outline",
|
|
2165
|
+
enabled: true,
|
|
2166
|
+
priority: 3,
|
|
2167
|
+
background: { type: "transparent" },
|
|
2168
|
+
textColorToken: "text",
|
|
2169
|
+
borderRadius: "rounded-full",
|
|
2170
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
2171
|
+
effects: {
|
|
2172
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2173
|
+
}
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
id: "ghost",
|
|
2177
|
+
name: "Ghost",
|
|
2178
|
+
enabled: true,
|
|
2179
|
+
priority: 3,
|
|
2180
|
+
background: { type: "transparent" },
|
|
2181
|
+
textColorToken: "primary",
|
|
2182
|
+
borderRadius: "rounded-full",
|
|
2183
|
+
sizes: {
|
|
2184
|
+
sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
|
|
2185
|
+
md: { padding: "0.5rem 1rem" },
|
|
2186
|
+
lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
|
|
2187
|
+
xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
|
|
2188
|
+
},
|
|
2189
|
+
effects: {
|
|
2190
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
|
|
2191
|
+
}
|
|
2192
|
+
}
|
|
2193
|
+
]
|
|
2194
|
+
}
|
|
2195
|
+
});
|
|
2196
|
+
}
|
|
2197
|
+
});
|
|
2198
|
+
|
|
2199
|
+
// ../theme-core/src/buttons/personalities/soft-pill.ts
|
|
2200
|
+
var softPill;
|
|
2201
|
+
var init_soft_pill = __esm({
|
|
2202
|
+
"../theme-core/src/buttons/personalities/soft-pill.ts"() {
|
|
2203
|
+
init_types3();
|
|
2204
|
+
softPill = defineButtonPersonality({
|
|
2205
|
+
id: "soft-pill",
|
|
2206
|
+
name: "Soft Pill",
|
|
2207
|
+
description: "Rounded pills with a gentle lift on hover. Quietly modern.",
|
|
2208
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
2209
|
+
buttonSystem: {
|
|
2210
|
+
global: {
|
|
2211
|
+
cornerStyle: "pill",
|
|
2212
|
+
shadow: "low",
|
|
2213
|
+
textTransform: "none",
|
|
2214
|
+
fontWeight: 500,
|
|
2215
|
+
borderWidth: 2,
|
|
2216
|
+
hoverTransform: "lift",
|
|
2217
|
+
hoverColor: "none"
|
|
2218
|
+
},
|
|
2219
|
+
variants: [
|
|
2220
|
+
{
|
|
2221
|
+
id: "primary",
|
|
2222
|
+
name: "Primary",
|
|
2223
|
+
enabled: true,
|
|
2224
|
+
priority: 1,
|
|
2225
|
+
background: { type: "solid", colorToken: "primary" },
|
|
2226
|
+
textColorToken: "primaryForeground",
|
|
2227
|
+
borderRadius: "rounded-full",
|
|
2228
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
2229
|
+
effects: {
|
|
2230
|
+
hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
|
|
2231
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
2232
|
+
}
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
id: "secondary",
|
|
2236
|
+
name: "Secondary",
|
|
2237
|
+
enabled: true,
|
|
2238
|
+
priority: 2,
|
|
2239
|
+
background: { type: "transparent" },
|
|
2240
|
+
textColorToken: "primary",
|
|
2241
|
+
borderRadius: "rounded-full",
|
|
2242
|
+
border: { widthClass: "border-2", colorToken: "primary" },
|
|
2243
|
+
effects: {
|
|
2244
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
{
|
|
2248
|
+
id: "outline",
|
|
2249
|
+
name: "Outline",
|
|
2250
|
+
enabled: true,
|
|
2251
|
+
priority: 3,
|
|
2252
|
+
background: { type: "transparent" },
|
|
2253
|
+
textColorToken: "text",
|
|
2254
|
+
borderRadius: "rounded-full",
|
|
2255
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
2256
|
+
effects: {
|
|
2257
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2260
|
+
{
|
|
2261
|
+
id: "ghost",
|
|
2262
|
+
name: "Ghost",
|
|
2263
|
+
enabled: true,
|
|
2264
|
+
priority: 3,
|
|
2265
|
+
background: { type: "transparent" },
|
|
2266
|
+
textColorToken: "text",
|
|
2267
|
+
borderRadius: "rounded-full",
|
|
2268
|
+
effects: {
|
|
2269
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2272
|
+
]
|
|
2273
|
+
}
|
|
2274
|
+
});
|
|
2275
|
+
}
|
|
2276
|
+
});
|
|
2277
|
+
|
|
2278
|
+
// ../theme-core/src/buttons/personalities/index.ts
|
|
2279
|
+
var buttonPersonalities;
|
|
2280
|
+
var init_personalities = __esm({
|
|
2281
|
+
"../theme-core/src/buttons/personalities/index.ts"() {
|
|
2282
|
+
init_brushed_wash();
|
|
2283
|
+
init_confident_chip();
|
|
2284
|
+
init_editorial_link();
|
|
2285
|
+
init_ink_stamp();
|
|
2286
|
+
init_pebble();
|
|
2287
|
+
init_soft_pill();
|
|
2288
|
+
init_types3();
|
|
2289
|
+
buttonPersonalities = [
|
|
2290
|
+
softPill,
|
|
2291
|
+
confidentChip,
|
|
2292
|
+
editorialLink,
|
|
2293
|
+
pebble,
|
|
2294
|
+
inkStamp,
|
|
2295
|
+
brushedWash
|
|
2296
|
+
];
|
|
2297
|
+
new Map(
|
|
2298
|
+
buttonPersonalities.map((p) => [p.id, p])
|
|
2299
|
+
);
|
|
2300
|
+
}
|
|
2301
|
+
});
|
|
1526
2302
|
|
|
1527
2303
|
// ../theme-core/src/tokens/resolver.ts
|
|
1528
2304
|
var init_resolver = __esm({
|
|
@@ -1639,14 +2415,48 @@ var init_generateDefaultButtonSystem = __esm({
|
|
|
1639
2415
|
init_contrast();
|
|
1640
2416
|
}
|
|
1641
2417
|
});
|
|
1642
|
-
|
|
1643
|
-
// ../theme-core/src/buttons/generateButtonCss.ts
|
|
1644
2418
|
var init_generateButtonCss = __esm({
|
|
1645
2419
|
"../theme-core/src/buttons/generateButtonCss.ts"() {
|
|
2420
|
+
init_types2();
|
|
1646
2421
|
init_resolver();
|
|
1647
2422
|
init_generateEffectsCSS();
|
|
1648
2423
|
init_constants();
|
|
1649
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
|
+
|
|
2435
|
+
// ../theme-core/src/buttons/effects/types.ts
|
|
2436
|
+
var init_types4 = __esm({
|
|
2437
|
+
"../theme-core/src/buttons/effects/types.ts"() {
|
|
2438
|
+
}
|
|
2439
|
+
});
|
|
2440
|
+
|
|
2441
|
+
// ../theme-core/src/buttons/core.ts
|
|
2442
|
+
var init_core = __esm({
|
|
2443
|
+
"../theme-core/src/buttons/core.ts"() {
|
|
2444
|
+
}
|
|
2445
|
+
});
|
|
2446
|
+
|
|
2447
|
+
// ../theme-core/src/buttons/index.ts
|
|
2448
|
+
var init_buttons = __esm({
|
|
2449
|
+
"../theme-core/src/buttons/index.ts"() {
|
|
2450
|
+
init_types2();
|
|
2451
|
+
init_generateButtonCss();
|
|
2452
|
+
init_generateDefaultButtonSystem();
|
|
2453
|
+
init_constants();
|
|
2454
|
+
init_presets();
|
|
2455
|
+
init_personalities();
|
|
2456
|
+
init_types4();
|
|
2457
|
+
init_registry();
|
|
2458
|
+
init_transform();
|
|
2459
|
+
init_core();
|
|
1650
2460
|
}
|
|
1651
2461
|
});
|
|
1652
2462
|
|
|
@@ -1671,7 +2481,7 @@ var init_generateCardCss = __esm({
|
|
|
1671
2481
|
}
|
|
1672
2482
|
});
|
|
1673
2483
|
var accordionIconSchema, accordionSystemSchema;
|
|
1674
|
-
var
|
|
2484
|
+
var init_types5 = __esm({
|
|
1675
2485
|
"../theme-core/src/accordions/types.ts"() {
|
|
1676
2486
|
accordionIconSchema = z.enum([
|
|
1677
2487
|
"plus-minus",
|
|
@@ -1733,7 +2543,7 @@ var init_types2 = __esm({
|
|
|
1733
2543
|
}
|
|
1734
2544
|
});
|
|
1735
2545
|
var inputSystemSchema;
|
|
1736
|
-
var
|
|
2546
|
+
var init_types6 = __esm({
|
|
1737
2547
|
"../theme-core/src/inputs/types.ts"() {
|
|
1738
2548
|
inputSystemSchema = z.object({
|
|
1739
2549
|
// Base styling (applied to all inputs)
|
|
@@ -1826,7 +2636,7 @@ var init_baseSchema = __esm({
|
|
|
1826
2636
|
}
|
|
1827
2637
|
});
|
|
1828
2638
|
var navLinkPaddingSchema, navLinkPaddingXSchema, navLinkBorderRadiusSchema, navLinkTextSizeSchema, navLinkLetterSpacingSchema, navLinkStyleSchema;
|
|
1829
|
-
var
|
|
2639
|
+
var init_types7 = __esm({
|
|
1830
2640
|
"../theme-core/src/navigation/types.ts"() {
|
|
1831
2641
|
init_baseSchema();
|
|
1832
2642
|
navLinkPaddingSchema = z.enum(["none", "compact", "default"]);
|
|
@@ -2631,7 +3441,7 @@ function validateProps(props2, context = "node builder") {
|
|
|
2631
3441
|
}
|
|
2632
3442
|
}
|
|
2633
3443
|
var RESERVED_KEYS;
|
|
2634
|
-
var
|
|
3444
|
+
var init_types8 = __esm({
|
|
2635
3445
|
"../blocks/src/system/node/types.ts"() {
|
|
2636
3446
|
init_env();
|
|
2637
3447
|
RESERVED_KEYS = [
|
|
@@ -2758,7 +3568,7 @@ var section, headerSection, stack, inline, accordion, accordionItem, carousel, t
|
|
|
2758
3568
|
var init_builder = __esm({
|
|
2759
3569
|
"../blocks/src/system/node/builder.ts"() {
|
|
2760
3570
|
init_schema();
|
|
2761
|
-
|
|
3571
|
+
init_types8();
|
|
2762
3572
|
init_env();
|
|
2763
3573
|
section = (props2, children, ...mods) => el("section", props2, children, ...mods);
|
|
2764
3574
|
headerSection = (props2, children, ...mods) => el("headerSection", props2, children, ...mods);
|
|
@@ -3133,7 +3943,8 @@ function ctaButton(opts) {
|
|
|
3133
3943
|
},
|
|
3134
3944
|
size: {
|
|
3135
3945
|
$bind: {
|
|
3136
|
-
from: sizePath
|
|
3946
|
+
from: sizePath,
|
|
3947
|
+
fallback: opts?.sizeFallback ?? "md"
|
|
3137
3948
|
}
|
|
3138
3949
|
},
|
|
3139
3950
|
...opts?.className ? { className: opts.className } : {},
|
|
@@ -3639,7 +4450,7 @@ function createTransformRegistry(definitions) {
|
|
|
3639
4450
|
}
|
|
3640
4451
|
return registry;
|
|
3641
4452
|
}
|
|
3642
|
-
var
|
|
4453
|
+
var init_core2 = __esm({
|
|
3643
4454
|
"../blocks/src/system/transforms/registry/core.ts"() {
|
|
3644
4455
|
}
|
|
3645
4456
|
});
|
|
@@ -3767,7 +4578,7 @@ function hasVisualContainerStyles(value) {
|
|
|
3767
4578
|
var spacingTransform, raisedTransform, roundedTransform, boxStylesCompositeTransform, boxStylesBorderColorTransform, sectionClassNameTransform, containerStylesResolveClassName, containerStylesResolveBoxClassName, sectionTextColorStyleTransform, sectionHeadingColorStyleTransform, sectionColorsStyleTransform, GAP_CLASS_MAP, GAP_VALUE_MAP, semanticGapTransform, semanticGapValueTransform, boxStylesTransforms;
|
|
3768
4579
|
var init_boxStyles2 = __esm({
|
|
3769
4580
|
"../blocks/src/system/transforms/registry/boxStyles.ts"() {
|
|
3770
|
-
|
|
4581
|
+
init_core2();
|
|
3771
4582
|
init_spacing();
|
|
3772
4583
|
init_colorStyles();
|
|
3773
4584
|
init_colorResolution();
|
|
@@ -4691,7 +5502,7 @@ function scopeContentPath(path21, scope) {
|
|
|
4691
5502
|
return `content.${scope}.${path21}`;
|
|
4692
5503
|
}
|
|
4693
5504
|
var FRAGMENT_ID_PATTERN, FIELD_ID_PATTERN, dataLoaderSchema, fragmentDataSchema, fragmentConfigSchema, FragmentConfigError;
|
|
4694
|
-
var
|
|
5505
|
+
var init_types9 = __esm({
|
|
4695
5506
|
"../blocks/src/system/fragments/types.ts"() {
|
|
4696
5507
|
init_schema2();
|
|
4697
5508
|
init_node();
|
|
@@ -4824,7 +5635,7 @@ function buildFragmentDataLoaders(composition2) {
|
|
|
4824
5635
|
var FragmentCompositionError, DOT_SCOPE_REGEX;
|
|
4825
5636
|
var init_builder2 = __esm({
|
|
4826
5637
|
"../blocks/src/system/fragments/builder.ts"() {
|
|
4827
|
-
|
|
5638
|
+
init_types9();
|
|
4828
5639
|
FragmentCompositionError = class extends Error {
|
|
4829
5640
|
constructor(message) {
|
|
4830
5641
|
super(message);
|
|
@@ -4839,7 +5650,7 @@ var init_builder2 = __esm({
|
|
|
4839
5650
|
var bodyCopyFragment;
|
|
4840
5651
|
var init_bodyCopy = __esm({
|
|
4841
5652
|
"../blocks/src/system/fragments/library/bodyCopy.ts"() {
|
|
4842
|
-
|
|
5653
|
+
init_types9();
|
|
4843
5654
|
init_builder();
|
|
4844
5655
|
bodyCopyFragment = defineFragment({
|
|
4845
5656
|
id: "bodyCopy",
|
|
@@ -4938,7 +5749,7 @@ var init_bodyCopy = __esm({
|
|
|
4938
5749
|
var heroCopyFragment;
|
|
4939
5750
|
var init_heroCopy = __esm({
|
|
4940
5751
|
"../blocks/src/system/fragments/library/heroCopy.ts"() {
|
|
4941
|
-
|
|
5752
|
+
init_types9();
|
|
4942
5753
|
init_builder();
|
|
4943
5754
|
heroCopyFragment = defineFragment({
|
|
4944
5755
|
id: "heroCopy",
|
|
@@ -5022,7 +5833,7 @@ function createButtonGroup(options = {}) {
|
|
|
5022
5833
|
{ value: "outline", label: "Outline" }
|
|
5023
5834
|
],
|
|
5024
5835
|
defaultVariant,
|
|
5025
|
-
includeSize =
|
|
5836
|
+
includeSize = true,
|
|
5026
5837
|
defaultSize = "md",
|
|
5027
5838
|
showGroupLabel = false,
|
|
5028
5839
|
groupId = "button",
|
|
@@ -5164,7 +5975,7 @@ var init_ctas = __esm({
|
|
|
5164
5975
|
var ctaRowFragment;
|
|
5165
5976
|
var init_ctaRow2 = __esm({
|
|
5166
5977
|
"../blocks/src/system/fragments/library/ctaRow.ts"() {
|
|
5167
|
-
|
|
5978
|
+
init_types9();
|
|
5168
5979
|
init_fragments();
|
|
5169
5980
|
init_ctas();
|
|
5170
5981
|
ctaRowFragment = defineFragment({
|
|
@@ -5183,7 +5994,7 @@ var init_ctaRow2 = __esm({
|
|
|
5183
5994
|
var heroCtaRowFragment;
|
|
5184
5995
|
var init_heroCtaRow = __esm({
|
|
5185
5996
|
"../blocks/src/system/fragments/library/heroCtaRow.ts"() {
|
|
5186
|
-
|
|
5997
|
+
init_types9();
|
|
5187
5998
|
init_fragments();
|
|
5188
5999
|
init_ctas();
|
|
5189
6000
|
heroCtaRowFragment = defineFragment({
|
|
@@ -5229,7 +6040,7 @@ var init_heroCtaRow = __esm({
|
|
|
5229
6040
|
var ctaCopyFragment;
|
|
5230
6041
|
var init_ctaCopy = __esm({
|
|
5231
6042
|
"../blocks/src/system/fragments/library/ctaCopy.ts"() {
|
|
5232
|
-
|
|
6043
|
+
init_types9();
|
|
5233
6044
|
init_fragments();
|
|
5234
6045
|
init_builder();
|
|
5235
6046
|
ctaCopyFragment = defineFragment({
|
|
@@ -5281,7 +6092,7 @@ var init_ctaCopy = __esm({
|
|
|
5281
6092
|
var testimonialsHeadingFragment;
|
|
5282
6093
|
var init_testimonialsHeading = __esm({
|
|
5283
6094
|
"../blocks/src/system/fragments/library/testimonialsHeading.ts"() {
|
|
5284
|
-
|
|
6095
|
+
init_types9();
|
|
5285
6096
|
init_builder();
|
|
5286
6097
|
init_colorStyles();
|
|
5287
6098
|
testimonialsHeadingFragment = defineFragment({
|
|
@@ -5463,7 +6274,7 @@ function buildGridLayout() {
|
|
|
5463
6274
|
var grid, testimonialsCarouselFragment;
|
|
5464
6275
|
var init_testimonialsCarousel = __esm({
|
|
5465
6276
|
"../blocks/src/system/fragments/library/testimonialsCarousel.ts"() {
|
|
5466
|
-
|
|
6277
|
+
init_types9();
|
|
5467
6278
|
init_builder();
|
|
5468
6279
|
init_colorStyles();
|
|
5469
6280
|
init_fragments();
|
|
@@ -5597,7 +6408,7 @@ var init_testimonialsCarousel = __esm({
|
|
|
5597
6408
|
var formCopyFragment;
|
|
5598
6409
|
var init_formCopy = __esm({
|
|
5599
6410
|
"../blocks/src/system/fragments/library/formCopy.ts"() {
|
|
5600
|
-
|
|
6411
|
+
init_types9();
|
|
5601
6412
|
init_builder();
|
|
5602
6413
|
formCopyFragment = defineFragment({
|
|
5603
6414
|
id: "formCopy",
|
|
@@ -5658,7 +6469,7 @@ var init_api_bindings = __esm({
|
|
|
5658
6469
|
var formEmbedFragment;
|
|
5659
6470
|
var init_formEmbed = __esm({
|
|
5660
6471
|
"../blocks/src/system/fragments/library/formEmbed.ts"() {
|
|
5661
|
-
|
|
6472
|
+
init_types9();
|
|
5662
6473
|
init_builder();
|
|
5663
6474
|
init_api_bindings();
|
|
5664
6475
|
formEmbedFragment = defineFragment({
|
|
@@ -5718,7 +6529,7 @@ var init_formEmbed = __esm({
|
|
|
5718
6529
|
var footerBottomTextFragment;
|
|
5719
6530
|
var init_footerBottomText = __esm({
|
|
5720
6531
|
"../blocks/src/system/fragments/library/footerBottomText.ts"() {
|
|
5721
|
-
|
|
6532
|
+
init_types9();
|
|
5722
6533
|
init_builder();
|
|
5723
6534
|
init_colorStyles();
|
|
5724
6535
|
footerBottomTextFragment = defineFragment({
|
|
@@ -5785,7 +6596,7 @@ var init_footerBottomText = __esm({
|
|
|
5785
6596
|
var headerCtaFragment;
|
|
5786
6597
|
var init_headerCta = __esm({
|
|
5787
6598
|
"../blocks/src/system/fragments/library/headerCta.ts"() {
|
|
5788
|
-
|
|
6599
|
+
init_types9();
|
|
5789
6600
|
init_fragments();
|
|
5790
6601
|
headerCtaFragment = defineFragment({
|
|
5791
6602
|
id: "headerCta",
|
|
@@ -5842,7 +6653,7 @@ var init_headerCta = __esm({
|
|
|
5842
6653
|
var singleButtonFragment;
|
|
5843
6654
|
var init_singleButton = __esm({
|
|
5844
6655
|
"../blocks/src/system/fragments/library/singleButton.ts"() {
|
|
5845
|
-
|
|
6656
|
+
init_types9();
|
|
5846
6657
|
init_fragments();
|
|
5847
6658
|
init_button();
|
|
5848
6659
|
singleButtonFragment = defineFragment({
|
|
@@ -5878,7 +6689,7 @@ var init_singleButton = __esm({
|
|
|
5878
6689
|
var blogFeaturedPostFragment;
|
|
5879
6690
|
var init_blogFeaturedPost = __esm({
|
|
5880
6691
|
"../blocks/src/system/fragments/library/blogFeaturedPost.ts"() {
|
|
5881
|
-
|
|
6692
|
+
init_types9();
|
|
5882
6693
|
init_fragments();
|
|
5883
6694
|
init_builder();
|
|
5884
6695
|
init_colorStyles();
|
|
@@ -6036,7 +6847,7 @@ var init_blogFeaturedPost = __esm({
|
|
|
6036
6847
|
var faqHeadingFragment;
|
|
6037
6848
|
var init_faqHeading = __esm({
|
|
6038
6849
|
"../blocks/src/system/fragments/library/faqHeading.ts"() {
|
|
6039
|
-
|
|
6850
|
+
init_types9();
|
|
6040
6851
|
init_builder();
|
|
6041
6852
|
init_colorStyles();
|
|
6042
6853
|
faqHeadingFragment = defineFragment({
|
|
@@ -6110,7 +6921,7 @@ var faqAccordionFragment;
|
|
|
6110
6921
|
var init_faqAccordion = __esm({
|
|
6111
6922
|
"../blocks/src/system/fragments/library/faqAccordion.ts"() {
|
|
6112
6923
|
init_builder();
|
|
6113
|
-
|
|
6924
|
+
init_types9();
|
|
6114
6925
|
faqAccordionFragment = defineFragment({
|
|
6115
6926
|
id: "faqAccordion",
|
|
6116
6927
|
title: "FAQ Accordion",
|
|
@@ -6185,7 +6996,7 @@ var init_faqAccordion = __esm({
|
|
|
6185
6996
|
var cardFragment;
|
|
6186
6997
|
var init_card = __esm({
|
|
6187
6998
|
"../blocks/src/system/fragments/library/card.ts"() {
|
|
6188
|
-
|
|
6999
|
+
init_types9();
|
|
6189
7000
|
init_builder();
|
|
6190
7001
|
init_ctas();
|
|
6191
7002
|
init_ctaRow();
|
|
@@ -6321,7 +7132,7 @@ var init_card = __esm({
|
|
|
6321
7132
|
var headingFragment;
|
|
6322
7133
|
var init_heading = __esm({
|
|
6323
7134
|
"../blocks/src/system/fragments/library/heading.ts"() {
|
|
6324
|
-
|
|
7135
|
+
init_types9();
|
|
6325
7136
|
init_builder();
|
|
6326
7137
|
headingFragment = defineFragment({
|
|
6327
7138
|
id: "heading",
|
|
@@ -6367,7 +7178,7 @@ var init_heading = __esm({
|
|
|
6367
7178
|
var richTextFragment;
|
|
6368
7179
|
var init_richText = __esm({
|
|
6369
7180
|
"../blocks/src/system/fragments/library/richText.ts"() {
|
|
6370
|
-
|
|
7181
|
+
init_types9();
|
|
6371
7182
|
init_builder();
|
|
6372
7183
|
richTextFragment = defineFragment({
|
|
6373
7184
|
id: "richText",
|
|
@@ -6447,7 +7258,7 @@ var init_toRepeaterSchema = __esm({
|
|
|
6447
7258
|
var heroLayoutControlsFragment;
|
|
6448
7259
|
var init_heroLayoutControls = __esm({
|
|
6449
7260
|
"../blocks/src/system/fragments/library/heroLayoutControls.ts"() {
|
|
6450
|
-
|
|
7261
|
+
init_types9();
|
|
6451
7262
|
heroLayoutControlsFragment = defineFragment({
|
|
6452
7263
|
id: "heroLayoutControls",
|
|
6453
7264
|
title: "Hero Layout",
|
|
@@ -6504,7 +7315,7 @@ var init_heroLayoutControls = __esm({
|
|
|
6504
7315
|
var bookingFormFragment;
|
|
6505
7316
|
var init_bookingForm = __esm({
|
|
6506
7317
|
"../blocks/src/system/fragments/library/bookingForm.ts"() {
|
|
6507
|
-
|
|
7318
|
+
init_types9();
|
|
6508
7319
|
init_builder();
|
|
6509
7320
|
init_api_bindings();
|
|
6510
7321
|
bookingFormFragment = defineFragment({
|
|
@@ -6572,7 +7383,7 @@ var init_bookingForm = __esm({
|
|
|
6572
7383
|
var quoteFragment;
|
|
6573
7384
|
var init_quote = __esm({
|
|
6574
7385
|
"../blocks/src/system/fragments/library/quote.ts"() {
|
|
6575
|
-
|
|
7386
|
+
init_types9();
|
|
6576
7387
|
init_builder();
|
|
6577
7388
|
quoteFragment = defineFragment({
|
|
6578
7389
|
id: "quote",
|
|
@@ -6639,7 +7450,7 @@ var init_quote = __esm({
|
|
|
6639
7450
|
var imageFragment;
|
|
6640
7451
|
var init_image = __esm({
|
|
6641
7452
|
"../blocks/src/system/fragments/library/image.ts"() {
|
|
6642
|
-
|
|
7453
|
+
init_types9();
|
|
6643
7454
|
init_builder();
|
|
6644
7455
|
init_colorStyles();
|
|
6645
7456
|
imageFragment = defineFragment({
|
|
@@ -6753,7 +7564,7 @@ var init_image = __esm({
|
|
|
6753
7564
|
var videoEmbedFragment;
|
|
6754
7565
|
var init_videoEmbed = __esm({
|
|
6755
7566
|
"../blocks/src/system/fragments/library/videoEmbed.ts"() {
|
|
6756
|
-
|
|
7567
|
+
init_types9();
|
|
6757
7568
|
init_builder();
|
|
6758
7569
|
init_colorStyles();
|
|
6759
7570
|
videoEmbedFragment = defineFragment({
|
|
@@ -6819,7 +7630,7 @@ var init_videoEmbed = __esm({
|
|
|
6819
7630
|
var feedbackCalloutFragment;
|
|
6820
7631
|
var init_feedbackCallout2 = __esm({
|
|
6821
7632
|
"../blocks/src/system/fragments/library/feedbackCallout.ts"() {
|
|
6822
|
-
|
|
7633
|
+
init_types9();
|
|
6823
7634
|
init_ctas();
|
|
6824
7635
|
init_fragments();
|
|
6825
7636
|
feedbackCalloutFragment = defineFragment({
|
|
@@ -6894,7 +7705,7 @@ var init_feedbackCallout2 = __esm({
|
|
|
6894
7705
|
var SECTION_STATE_KIND_LABELS, sectionStateFragment;
|
|
6895
7706
|
var init_sectionState2 = __esm({
|
|
6896
7707
|
"../blocks/src/system/fragments/library/sectionState.ts"() {
|
|
6897
|
-
|
|
7708
|
+
init_types9();
|
|
6898
7709
|
init_ctas();
|
|
6899
7710
|
init_fragments();
|
|
6900
7711
|
SECTION_STATE_KIND_LABELS = {
|
|
@@ -6973,7 +7784,7 @@ var init_sectionState2 = __esm({
|
|
|
6973
7784
|
var columnContentFragment;
|
|
6974
7785
|
var init_columnContent = __esm({
|
|
6975
7786
|
"../blocks/src/system/fragments/library/columnContent.ts"() {
|
|
6976
|
-
|
|
7787
|
+
init_types9();
|
|
6977
7788
|
init_builder();
|
|
6978
7789
|
init_toRepeaterSchema();
|
|
6979
7790
|
init_image();
|
|
@@ -7040,7 +7851,7 @@ var init_columnContent = __esm({
|
|
|
7040
7851
|
var spinnerFragment;
|
|
7041
7852
|
var init_spinner = __esm({
|
|
7042
7853
|
"../blocks/src/system/fragments/library/spinner.ts"() {
|
|
7043
|
-
|
|
7854
|
+
init_types9();
|
|
7044
7855
|
init_builder();
|
|
7045
7856
|
spinnerFragment = defineFragment({
|
|
7046
7857
|
id: "spinner",
|
|
@@ -7162,7 +7973,7 @@ var init_init = __esm({
|
|
|
7162
7973
|
var newsletterCopyFragment;
|
|
7163
7974
|
var init_newsletterCopy = __esm({
|
|
7164
7975
|
"../blocks/src/system/fragments/library/newsletterCopy.ts"() {
|
|
7165
|
-
|
|
7976
|
+
init_types9();
|
|
7166
7977
|
init_builder();
|
|
7167
7978
|
newsletterCopyFragment = defineFragment({
|
|
7168
7979
|
id: "newsletterCopy",
|
|
@@ -7207,7 +8018,7 @@ var init_newsletterCopy = __esm({
|
|
|
7207
8018
|
var newsletterFormFragment;
|
|
7208
8019
|
var init_newsletterForm = __esm({
|
|
7209
8020
|
"../blocks/src/system/fragments/library/newsletterForm.ts"() {
|
|
7210
|
-
|
|
8021
|
+
init_types9();
|
|
7211
8022
|
init_builder();
|
|
7212
8023
|
init_api_bindings();
|
|
7213
8024
|
newsletterFormFragment = defineFragment({
|
|
@@ -7297,7 +8108,7 @@ var init_newsletterForm = __esm({
|
|
|
7297
8108
|
var teamMemberFragment;
|
|
7298
8109
|
var init_teamMember = __esm({
|
|
7299
8110
|
"../blocks/src/system/fragments/library/teamMember.ts"() {
|
|
7300
|
-
|
|
8111
|
+
init_types9();
|
|
7301
8112
|
init_builder();
|
|
7302
8113
|
teamMemberFragment = defineFragment({
|
|
7303
8114
|
id: "teamMember",
|
|
@@ -7368,7 +8179,7 @@ var init_teamMember = __esm({
|
|
|
7368
8179
|
// ../blocks/src/system/fragments/index.ts
|
|
7369
8180
|
var init_fragments2 = __esm({
|
|
7370
8181
|
"../blocks/src/system/fragments/index.ts"() {
|
|
7371
|
-
|
|
8182
|
+
init_types9();
|
|
7372
8183
|
init_builder2();
|
|
7373
8184
|
init_registry2();
|
|
7374
8185
|
init_toRepeaterSchema();
|
|
@@ -7834,7 +8645,7 @@ var init_shared2 = __esm({
|
|
|
7834
8645
|
});
|
|
7835
8646
|
|
|
7836
8647
|
// ../blocks/src/system/blocks/events/shared/types.ts
|
|
7837
|
-
var
|
|
8648
|
+
var init_types10 = __esm({
|
|
7838
8649
|
"../blocks/src/system/blocks/events/shared/types.ts"() {
|
|
7839
8650
|
}
|
|
7840
8651
|
});
|
|
@@ -7848,52 +8659,52 @@ var init_media = __esm({
|
|
|
7848
8659
|
"audio",
|
|
7849
8660
|
"video"
|
|
7850
8661
|
];
|
|
7851
|
-
hotspotSchema2 =
|
|
7852
|
-
x:
|
|
7853
|
-
y:
|
|
7854
|
-
radius:
|
|
7855
|
-
});
|
|
7856
|
-
rotationSchema2 =
|
|
7857
|
-
rectSchema2 =
|
|
7858
|
-
aspectCropSchema2 =
|
|
7859
|
-
aspect:
|
|
7860
|
-
rect:
|
|
7861
|
-
hotspot:
|
|
7862
|
-
rotation:
|
|
7863
|
-
});
|
|
7864
|
-
transformSchema2 =
|
|
7865
|
-
aspectCrops:
|
|
8662
|
+
hotspotSchema2 = z42.object({
|
|
8663
|
+
x: z42.number().min(0).max(1),
|
|
8664
|
+
y: z42.number().min(0).max(1),
|
|
8665
|
+
radius: z42.number().optional()
|
|
8666
|
+
});
|
|
8667
|
+
rotationSchema2 = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
|
|
8668
|
+
rectSchema2 = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
|
|
8669
|
+
aspectCropSchema2 = z42.object({
|
|
8670
|
+
aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
|
|
8671
|
+
rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
|
|
8672
|
+
hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
|
|
8673
|
+
rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
|
|
8674
|
+
});
|
|
8675
|
+
transformSchema2 = z42.object({
|
|
8676
|
+
aspectCrops: z42.preprocess((value) => {
|
|
7866
8677
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
7867
8678
|
return void 0;
|
|
7868
8679
|
}
|
|
7869
8680
|
return value;
|
|
7870
|
-
},
|
|
8681
|
+
}, z42.record(z42.string(), aspectCropSchema2.catch({}))).optional(),
|
|
7871
8682
|
rect: rectSchema2.optional(),
|
|
7872
8683
|
hotspot: hotspotSchema2.optional(),
|
|
7873
8684
|
rotation: rotationSchema2.optional()
|
|
7874
8685
|
});
|
|
7875
|
-
mediaBaseSchema =
|
|
7876
|
-
purpose:
|
|
7877
|
-
placeholder:
|
|
7878
|
-
assetId:
|
|
7879
|
-
identifier:
|
|
7880
|
-
src:
|
|
7881
|
-
alt:
|
|
7882
|
-
filename:
|
|
7883
|
-
mimeType:
|
|
7884
|
-
width:
|
|
7885
|
-
height:
|
|
7886
|
-
storageBucket:
|
|
7887
|
-
storagePath:
|
|
8686
|
+
mediaBaseSchema = z42.object({
|
|
8687
|
+
purpose: z42.string().optional(),
|
|
8688
|
+
placeholder: z42.boolean().default(true).optional(),
|
|
8689
|
+
assetId: z42.string().optional(),
|
|
8690
|
+
identifier: z42.string().optional(),
|
|
8691
|
+
src: z42.string().optional(),
|
|
8692
|
+
alt: z42.string().optional(),
|
|
8693
|
+
filename: z42.string().optional(),
|
|
8694
|
+
mimeType: z42.string().optional(),
|
|
8695
|
+
width: z42.number().optional(),
|
|
8696
|
+
height: z42.number().optional(),
|
|
8697
|
+
storageBucket: z42.string().optional(),
|
|
8698
|
+
storagePath: z42.string().optional(),
|
|
7888
8699
|
transform: transformSchema2.optional()
|
|
7889
8700
|
});
|
|
7890
|
-
imageMediaSchema = mediaBaseSchema.extend({ type:
|
|
7891
|
-
videoMediaSchema = mediaBaseSchema.extend({ type:
|
|
7892
|
-
audioMediaSchema = mediaBaseSchema.extend({ type:
|
|
7893
|
-
documentMediaSchema = mediaBaseSchema.extend({ type:
|
|
7894
|
-
spreadsheetMediaSchema = mediaBaseSchema.extend({ type:
|
|
7895
|
-
archiveMediaSchema = mediaBaseSchema.extend({ type:
|
|
7896
|
-
mediaSchema2 =
|
|
8701
|
+
imageMediaSchema = mediaBaseSchema.extend({ type: z42.literal("image") });
|
|
8702
|
+
videoMediaSchema = mediaBaseSchema.extend({ type: z42.literal("video") });
|
|
8703
|
+
audioMediaSchema = mediaBaseSchema.extend({ type: z42.literal("audio") });
|
|
8704
|
+
documentMediaSchema = mediaBaseSchema.extend({ type: z42.literal("document") });
|
|
8705
|
+
spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z42.literal("spreadsheet") });
|
|
8706
|
+
archiveMediaSchema = mediaBaseSchema.extend({ type: z42.literal("archive") });
|
|
8707
|
+
mediaSchema2 = z42.discriminatedUnion("type", [
|
|
7897
8708
|
imageMediaSchema,
|
|
7898
8709
|
videoMediaSchema,
|
|
7899
8710
|
audioMediaSchema,
|
|
@@ -8379,7 +9190,7 @@ var init_filtering = __esm({
|
|
|
8379
9190
|
// ../blocks/src/system/blocks/events/shared/index.ts
|
|
8380
9191
|
var init_shared3 = __esm({
|
|
8381
9192
|
"../blocks/src/system/blocks/events/shared/index.ts"() {
|
|
8382
|
-
|
|
9193
|
+
init_types10();
|
|
8383
9194
|
init_schemas2();
|
|
8384
9195
|
init_fields();
|
|
8385
9196
|
init_filtering();
|
|
@@ -8706,7 +9517,7 @@ var init_event_registration = __esm({
|
|
|
8706
9517
|
});
|
|
8707
9518
|
|
|
8708
9519
|
// ../blocks/src/system/blocks/courses/shared/types.ts
|
|
8709
|
-
var
|
|
9520
|
+
var init_types11 = __esm({
|
|
8710
9521
|
"../blocks/src/system/blocks/courses/shared/types.ts"() {
|
|
8711
9522
|
}
|
|
8712
9523
|
});
|
|
@@ -8720,7 +9531,7 @@ var init_pricing = __esm({
|
|
|
8720
9531
|
// ../blocks/src/system/blocks/courses/shared/index.ts
|
|
8721
9532
|
var init_shared4 = __esm({
|
|
8722
9533
|
"../blocks/src/system/blocks/courses/shared/index.ts"() {
|
|
8723
|
-
|
|
9534
|
+
init_types11();
|
|
8724
9535
|
init_schemas();
|
|
8725
9536
|
init_pricing();
|
|
8726
9537
|
}
|
|
@@ -12244,8 +13055,9 @@ function normalizeBoolean(value, fallback) {
|
|
|
12244
13055
|
return fallback;
|
|
12245
13056
|
}
|
|
12246
13057
|
function normalizeLocationMapValueRecord(record) {
|
|
13058
|
+
const addressText = typeof record.addressText === "string" ? record.addressText : typeof record.displayAddress === "string" ? record.displayAddress : null;
|
|
12247
13059
|
const normalized = {
|
|
12248
|
-
addressText: normalizeLocationAddressText(
|
|
13060
|
+
addressText: normalizeLocationAddressText(addressText),
|
|
12249
13061
|
lat: normalizeOptionalNumber(record.lat),
|
|
12250
13062
|
lng: normalizeOptionalNumber(record.lng)
|
|
12251
13063
|
};
|
|
@@ -12260,11 +13072,49 @@ function normalizeLocationMapValue(value) {
|
|
|
12260
13072
|
}
|
|
12261
13073
|
return normalizeLocationMapValueRecord(value);
|
|
12262
13074
|
}
|
|
12263
|
-
function
|
|
13075
|
+
function normalizeLocationMapSource(value) {
|
|
13076
|
+
return value === "business_address" || value === "venue" ? value : "custom";
|
|
13077
|
+
}
|
|
13078
|
+
function resolveLocationMapLocation(input) {
|
|
13079
|
+
const source = normalizeLocationMapSource(input.locationSource);
|
|
13080
|
+
if (source === "business_address") {
|
|
13081
|
+
const locationValue2 = normalizeLocationMapValue(input.businessAddress ?? input.location);
|
|
13082
|
+
return locationValue2 ? { kind: "business_address", locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_business_address" };
|
|
13083
|
+
}
|
|
13084
|
+
if (source === "venue") {
|
|
13085
|
+
const venueId = typeof input.venueId === "string" && input.venueId.trim() ? input.venueId.trim() : null;
|
|
13086
|
+
if (!venueId) {
|
|
13087
|
+
return { kind: "unresolved", source, reason: "missing_venue_id" };
|
|
13088
|
+
}
|
|
13089
|
+
const locationValue2 = input.venuesById ? normalizeLocationMapValue(input.venuesById[venueId] ?? null) : null;
|
|
13090
|
+
return locationValue2 ? { kind: "venue", venueId, locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_venue_location" };
|
|
13091
|
+
}
|
|
12264
13092
|
const locationValue = normalizeLocationMapValue(input.location);
|
|
13093
|
+
return locationValue ? { kind: "custom", locationValue } : { kind: "unresolved", source, reason: "missing_custom_location" };
|
|
13094
|
+
}
|
|
13095
|
+
function describeUnresolvedLocationMapLocation(resolvedLocation) {
|
|
13096
|
+
if (resolvedLocation.kind !== "unresolved") {
|
|
13097
|
+
return null;
|
|
13098
|
+
}
|
|
13099
|
+
switch (resolvedLocation.reason) {
|
|
13100
|
+
case "missing_business_address":
|
|
13101
|
+
return "Business address details are not configured yet.";
|
|
13102
|
+
case "missing_venue_id":
|
|
13103
|
+
return "Choose a venue to show this map.";
|
|
13104
|
+
case "missing_venue_location":
|
|
13105
|
+
return "The selected venue does not have location details yet.";
|
|
13106
|
+
case "missing_custom_location":
|
|
13107
|
+
return "Location details coming soon.";
|
|
13108
|
+
}
|
|
13109
|
+
}
|
|
13110
|
+
function normalizeLocationMapProps(input) {
|
|
13111
|
+
const resolvedLocation = resolveLocationMapLocation(input);
|
|
13112
|
+
const locationValue = resolvedLocation.kind === "unresolved" ? null : resolvedLocation.locationValue;
|
|
12265
13113
|
const directionsLabel = normalizeLocationAddressText(input.directionsLabel) ?? LOCATION_MAP_DEFAULTS.directionsLabel;
|
|
12266
13114
|
return {
|
|
13115
|
+
resolvedLocation,
|
|
12267
13116
|
locationValue,
|
|
13117
|
+
unresolvedMessage: describeUnresolvedLocationMapLocation(resolvedLocation),
|
|
12268
13118
|
addressText: locationValue?.addressText ?? null,
|
|
12269
13119
|
location: toLocationCoordinates(locationValue),
|
|
12270
13120
|
zoom: Math.min(
|
|
@@ -12378,7 +13228,7 @@ var init_border2 = __esm({
|
|
|
12378
13228
|
// ../theme-core/src/accordions/generateAccordionCss.ts
|
|
12379
13229
|
var init_generateAccordionCss = __esm({
|
|
12380
13230
|
"../theme-core/src/accordions/generateAccordionCss.ts"() {
|
|
12381
|
-
|
|
13231
|
+
init_types5();
|
|
12382
13232
|
init_constants2();
|
|
12383
13233
|
init_border2();
|
|
12384
13234
|
}
|
|
@@ -12393,7 +13243,7 @@ var init_defaults = __esm({
|
|
|
12393
13243
|
// ../theme-core/src/inputs/generateInputCss.ts
|
|
12394
13244
|
var init_generateInputCss = __esm({
|
|
12395
13245
|
"../theme-core/src/inputs/generateInputCss.ts"() {
|
|
12396
|
-
|
|
13246
|
+
init_types6();
|
|
12397
13247
|
init_constants();
|
|
12398
13248
|
init_border2();
|
|
12399
13249
|
}
|
|
@@ -12414,12 +13264,12 @@ var init_generateBaseCSS = __esm({
|
|
|
12414
13264
|
// ../theme-core/src/navigation/generateNavLinkCSS.ts
|
|
12415
13265
|
var init_generateNavLinkCSS = __esm({
|
|
12416
13266
|
"../theme-core/src/navigation/generateNavLinkCSS.ts"() {
|
|
12417
|
-
|
|
13267
|
+
init_types7();
|
|
12418
13268
|
init_generateBaseCSS();
|
|
12419
13269
|
init_generateEffectsCSS();
|
|
12420
13270
|
}
|
|
12421
13271
|
});
|
|
12422
|
-
var
|
|
13272
|
+
var init_presets2 = __esm({
|
|
12423
13273
|
"../theme-core/src/navigation/presets.ts"() {
|
|
12424
13274
|
}
|
|
12425
13275
|
});
|
|
@@ -12429,7 +13279,7 @@ var init_generateHeaderCss = __esm({
|
|
|
12429
13279
|
"../theme-core/src/header/generateHeaderCss.ts"() {
|
|
12430
13280
|
init_resolver();
|
|
12431
13281
|
init_generateNavLinkCSS();
|
|
12432
|
-
|
|
13282
|
+
init_presets2();
|
|
12433
13283
|
init_shared();
|
|
12434
13284
|
init_breakpoints();
|
|
12435
13285
|
}
|
|
@@ -12447,7 +13297,7 @@ var init_generateFooterCss = __esm({
|
|
|
12447
13297
|
"../theme-core/src/footer/generateFooterCss.ts"() {
|
|
12448
13298
|
init_resolver();
|
|
12449
13299
|
init_generateNavLinkCSS();
|
|
12450
|
-
|
|
13300
|
+
init_presets2();
|
|
12451
13301
|
}
|
|
12452
13302
|
});
|
|
12453
13303
|
|
|
@@ -15007,6 +15857,23 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
15007
15857
|
auth: "user",
|
|
15008
15858
|
responseKind: "json"
|
|
15009
15859
|
},
|
|
15860
|
+
getSiteBusinessAddress: {
|
|
15861
|
+
path: "/sites/{siteId}/settings/business-address",
|
|
15862
|
+
method: "GET",
|
|
15863
|
+
revalidate: 120,
|
|
15864
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
15865
|
+
auth: "user",
|
|
15866
|
+
responseKind: "json",
|
|
15867
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
15868
|
+
},
|
|
15869
|
+
updateSiteBusinessAddress: {
|
|
15870
|
+
path: "/sites/{siteId}/settings/business-address",
|
|
15871
|
+
method: "POST",
|
|
15872
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
15873
|
+
auth: "user",
|
|
15874
|
+
responseKind: "json",
|
|
15875
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
15876
|
+
},
|
|
15010
15877
|
getSiteGenerationIntake: {
|
|
15011
15878
|
path: "/sites/{siteId}/settings/site-generation-intake",
|
|
15012
15879
|
method: "GET",
|
|
@@ -20256,35 +21123,61 @@ function buildFieldSchema(field, allowNull, allowIncomplete = false) {
|
|
|
20256
21123
|
}
|
|
20257
21124
|
return finalizeSchema(schema, required, allowNull, allowIncomplete);
|
|
20258
21125
|
}
|
|
21126
|
+
function buildFriendlyStringSchema(field) {
|
|
21127
|
+
return z.string({
|
|
21128
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
21129
|
+
});
|
|
21130
|
+
}
|
|
20259
21131
|
function buildTextSchema(field) {
|
|
20260
21132
|
const ui = field.ui ?? {};
|
|
20261
21133
|
const inputType = ui?.inputType;
|
|
20262
21134
|
let schema;
|
|
20263
21135
|
if (inputType === "number") {
|
|
20264
|
-
schema = z.coerce.number(
|
|
20265
|
-
|
|
20266
|
-
|
|
21136
|
+
schema = z.coerce.number({
|
|
21137
|
+
error: (issue) => issue.input === void 0 ? `${field.label} is required` : `${field.label} needs a number`
|
|
21138
|
+
});
|
|
21139
|
+
if (typeof ui?.min === "number") {
|
|
21140
|
+
schema = schema.min(
|
|
21141
|
+
ui.min,
|
|
21142
|
+
`${field.label} must be ${ui.min} or more`
|
|
21143
|
+
);
|
|
21144
|
+
}
|
|
21145
|
+
if (typeof ui?.max === "number") {
|
|
21146
|
+
schema = schema.max(
|
|
21147
|
+
ui.max,
|
|
21148
|
+
`${field.label} must be ${ui.max} or less`
|
|
21149
|
+
);
|
|
21150
|
+
}
|
|
20267
21151
|
} else {
|
|
20268
|
-
schema =
|
|
21152
|
+
schema = buildFriendlyStringSchema(field);
|
|
20269
21153
|
if (inputType === "email") {
|
|
20270
|
-
schema = schema.email(
|
|
21154
|
+
schema = schema.email("Enter a valid email address");
|
|
20271
21155
|
}
|
|
20272
21156
|
if (inputType === "tel") {
|
|
20273
21157
|
const TEL_RE = /^[+()0-9\s\-]{3,}$/;
|
|
20274
|
-
schema = schema.regex(
|
|
21158
|
+
schema = schema.regex(
|
|
21159
|
+
TEL_RE,
|
|
21160
|
+
"Enter a valid phone number"
|
|
21161
|
+
);
|
|
20275
21162
|
}
|
|
20276
21163
|
if (ui?.pattern) {
|
|
20277
21164
|
try {
|
|
20278
21165
|
const re = new RegExp(ui.pattern);
|
|
20279
|
-
schema = schema.regex(
|
|
21166
|
+
schema = schema.regex(
|
|
21167
|
+
re,
|
|
21168
|
+
`${field.label} is not in the right format`
|
|
21169
|
+
);
|
|
20280
21170
|
} catch {
|
|
20281
21171
|
}
|
|
20282
21172
|
}
|
|
20283
21173
|
if (field.maxLength) {
|
|
20284
|
-
schema = schema.max(
|
|
21174
|
+
schema = schema.max(
|
|
21175
|
+
field.maxLength,
|
|
21176
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
21177
|
+
);
|
|
20285
21178
|
}
|
|
20286
21179
|
if (field.required) {
|
|
20287
|
-
schema = schema.min(1, `${field.label} is required`).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
21180
|
+
schema = schema.min(1, { message: `${field.label} is required` }).refine((v) => v.trim().length > 0, { message: `${field.label} is required` });
|
|
20288
21181
|
}
|
|
20289
21182
|
}
|
|
20290
21183
|
return schema;
|
|
@@ -20294,19 +21187,22 @@ function buildRichTextSchema2() {
|
|
|
20294
21187
|
}
|
|
20295
21188
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
20296
21189
|
function buildSlugSchema(field) {
|
|
20297
|
-
const message = `${field.label}
|
|
20298
|
-
let schema =
|
|
21190
|
+
const message = `${field.label} can only use lowercase letters, numbers, and dashes`;
|
|
21191
|
+
let schema = buildFriendlyStringSchema(field).regex(SLUG_PATTERN, message);
|
|
20299
21192
|
if (field.maxLength) {
|
|
20300
|
-
schema = schema.max(
|
|
21193
|
+
schema = schema.max(
|
|
21194
|
+
field.maxLength,
|
|
21195
|
+
`${field.label} must be ${field.maxLength} characters or less`
|
|
21196
|
+
);
|
|
20301
21197
|
}
|
|
20302
21198
|
if (field.required) {
|
|
20303
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21199
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
20304
21200
|
}
|
|
20305
21201
|
return schema;
|
|
20306
21202
|
}
|
|
20307
21203
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
20308
21204
|
function buildUrlSchema(field) {
|
|
20309
|
-
const message =
|
|
21205
|
+
const message = "Enter a valid web address";
|
|
20310
21206
|
const validate = (value) => {
|
|
20311
21207
|
if (!value) {
|
|
20312
21208
|
return !field.required;
|
|
@@ -20316,14 +21212,16 @@ function buildUrlSchema(field) {
|
|
|
20316
21212
|
}
|
|
20317
21213
|
try {
|
|
20318
21214
|
const parsed = new URL(value);
|
|
20319
|
-
return ALLOWED_URL_PROTOCOLS.includes(
|
|
21215
|
+
return ALLOWED_URL_PROTOCOLS.includes(
|
|
21216
|
+
parsed.protocol
|
|
21217
|
+
);
|
|
20320
21218
|
} catch {
|
|
20321
21219
|
return false;
|
|
20322
21220
|
}
|
|
20323
21221
|
};
|
|
20324
|
-
let schema =
|
|
21222
|
+
let schema = buildFriendlyStringSchema(field).trim().refine(validate, message);
|
|
20325
21223
|
if (field.required) {
|
|
20326
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21224
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
20327
21225
|
}
|
|
20328
21226
|
return schema;
|
|
20329
21227
|
}
|
|
@@ -20376,10 +21274,13 @@ function buildSelectSchema(field) {
|
|
|
20376
21274
|
switch (source.kind) {
|
|
20377
21275
|
case "sdk":
|
|
20378
21276
|
case "site":
|
|
20379
|
-
return
|
|
21277
|
+
return buildFriendlyStringSchema(field);
|
|
20380
21278
|
case "static": {
|
|
20381
21279
|
const values = field.options.map((option) => option.value);
|
|
20382
|
-
return
|
|
21280
|
+
return buildFriendlyStringSchema(field).refine(
|
|
21281
|
+
(value) => values.includes(value),
|
|
21282
|
+
`Choose one of the available options for ${field.label}`
|
|
21283
|
+
);
|
|
20383
21284
|
}
|
|
20384
21285
|
default:
|
|
20385
21286
|
return assertNeverSelectSource2(source);
|
|
@@ -20387,14 +21288,16 @@ function buildSelectSchema(field) {
|
|
|
20387
21288
|
})();
|
|
20388
21289
|
if (field.multiple) {
|
|
20389
21290
|
const arraySchema = z.array(singleValueSchema);
|
|
20390
|
-
return field.required ? arraySchema : arraySchema.nullable();
|
|
21291
|
+
return field.required ? arraySchema.min(1, { message: "This field is required" }) : arraySchema.nullable();
|
|
20391
21292
|
}
|
|
20392
21293
|
return field.required ? singleValueSchema : singleValueSchema.nullable();
|
|
20393
21294
|
}
|
|
20394
21295
|
function buildReferenceSchema(field) {
|
|
20395
|
-
let schema = z.string(
|
|
21296
|
+
let schema = z.string({
|
|
21297
|
+
error: (issue) => issue.input === void 0 || issue.input === null ? "This field is required" : `${field.label} needs text`
|
|
21298
|
+
});
|
|
20396
21299
|
if (field.required) {
|
|
20397
|
-
schema = schema.min(1, `${field.label} is required`);
|
|
21300
|
+
schema = schema.min(1, { message: `${field.label} is required` });
|
|
20398
21301
|
}
|
|
20399
21302
|
return schema;
|
|
20400
21303
|
}
|
|
@@ -20742,834 +21645,185 @@ function assertUniqueLayoutProfileKeys(profiles) {
|
|
|
20742
21645
|
}
|
|
20743
21646
|
}
|
|
20744
21647
|
|
|
20745
|
-
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
20746
|
-
var generatedContentFrames = [
|
|
20747
|
-
plainFrame,
|
|
20748
|
-
panelFrame("inset"),
|
|
20749
|
-
panelFrame("raised"),
|
|
20750
|
-
flushPanelFrame({ bleed: "start" })
|
|
20751
|
-
];
|
|
20752
|
-
var userContentFrames = [
|
|
20753
|
-
...generatedContentFrames,
|
|
20754
|
-
panelFrame("editorial"),
|
|
20755
|
-
flushPanelFrame({ bleed: "end" }),
|
|
20756
|
-
flushPanelFrame({ bleed: "both" })
|
|
20757
|
-
];
|
|
20758
|
-
var generatedDesignOptionCatalog = {
|
|
20759
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
20760
|
-
contentFrames: generatedContentFrames,
|
|
20761
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
20762
|
-
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
20763
|
-
emphases: ["low", "medium", "high"]};
|
|
20764
|
-
var userDesignOptionCatalog = {
|
|
20765
|
-
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
20766
|
-
contentFrames: userContentFrames,
|
|
20767
|
-
itemSurfaces: [
|
|
20768
|
-
...generatedDesignOptionCatalog.itemSurfaces,
|
|
20769
|
-
"inset",
|
|
20770
|
-
"editorial"
|
|
20771
|
-
],
|
|
20772
|
-
transitions: [
|
|
20773
|
-
...generatedDesignOptionCatalog.transitions,
|
|
20774
|
-
"wave-edge",
|
|
20775
|
-
"angle-edge"
|
|
20776
|
-
],
|
|
20777
|
-
emphases: generatedDesignOptionCatalog.emphases};
|
|
20778
|
-
|
|
20779
21648
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
20780
|
-
|
|
20781
|
-
|
|
20782
|
-
|
|
20783
|
-
|
|
20784
|
-
|
|
20785
|
-
|
|
20786
|
-
|
|
20787
|
-
|
|
20788
|
-
|
|
20789
|
-
];
|
|
20790
|
-
var
|
|
20791
|
-
|
|
20792
|
-
|
|
20793
|
-
|
|
20794
|
-
|
|
20795
|
-
|
|
20796
|
-
|
|
20797
|
-
|
|
20798
|
-
|
|
20799
|
-
|
|
20800
|
-
|
|
20801
|
-
transitionMix: "balanced",
|
|
20802
|
-
primaryCtaLimit: 3,
|
|
20803
|
-
mediaDensity: "medium",
|
|
20804
|
-
decorativeRepetition: "medium"
|
|
20805
|
-
};
|
|
20806
|
-
var expressiveBudget = {
|
|
20807
|
-
accentDensity: "high",
|
|
20808
|
-
panelDensity: "high",
|
|
20809
|
-
transitionMix: "expressive",
|
|
20810
|
-
primaryCtaLimit: 3,
|
|
20811
|
-
mediaDensity: "high",
|
|
20812
|
-
decorativeRepetition: "medium"
|
|
20813
|
-
};
|
|
20814
|
-
function uniqueContentFrameKinds() {
|
|
20815
|
-
const kinds = [...new Set(
|
|
20816
|
-
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
20817
|
-
)];
|
|
20818
|
-
const firstKind = kinds[0];
|
|
20819
|
-
if (!firstKind) {
|
|
20820
|
-
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
20821
|
-
}
|
|
20822
|
-
return [firstKind, ...kinds.slice(1)];
|
|
20823
|
-
}
|
|
20824
|
-
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
20825
|
-
function defineCuratedSiteStyle(input) {
|
|
20826
|
-
return {
|
|
20827
|
-
id: asSiteStyleId(input.id),
|
|
20828
|
-
name: input.name,
|
|
20829
|
-
description: input.description,
|
|
20830
|
-
generationBrief: input.generationBrief,
|
|
20831
|
-
selectionKeywords: input.selectionKeywords ?? [],
|
|
20832
|
-
template: {
|
|
20833
|
-
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
20834
|
-
name: input.name,
|
|
20835
|
-
version: 1,
|
|
20836
|
-
tokenRecipes: input.tokenRecipes,
|
|
20837
|
-
compositionBudget: input.compositionBudget,
|
|
20838
|
-
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
20839
|
-
supportedContentFrames: generatedContentFrameKinds,
|
|
20840
|
-
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
20841
|
-
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
21649
|
+
init_personalities();
|
|
21650
|
+
|
|
21651
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
21652
|
+
init_styleTags();
|
|
21653
|
+
var hotspotSchema = z42.object({
|
|
21654
|
+
x: z42.number().min(0).max(1),
|
|
21655
|
+
y: z42.number().min(0).max(1),
|
|
21656
|
+
radius: z42.number().optional()
|
|
21657
|
+
});
|
|
21658
|
+
var rotationSchema = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
|
|
21659
|
+
var rectSchema = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
|
|
21660
|
+
var aspectCropSchema = z42.object({
|
|
21661
|
+
aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
|
|
21662
|
+
rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
21663
|
+
hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
21664
|
+
rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
21665
|
+
});
|
|
21666
|
+
var transformSchema = z42.object({
|
|
21667
|
+
aspectCrops: z42.preprocess((value) => {
|
|
21668
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
21669
|
+
return void 0;
|
|
20842
21670
|
}
|
|
20843
|
-
|
|
20844
|
-
}
|
|
20845
|
-
|
|
20846
|
-
|
|
20847
|
-
|
|
20848
|
-
|
|
20849
|
-
|
|
20850
|
-
|
|
20851
|
-
|
|
20852
|
-
|
|
20853
|
-
|
|
20854
|
-
|
|
20855
|
-
|
|
20856
|
-
|
|
20857
|
-
|
|
20858
|
-
|
|
20859
|
-
|
|
20860
|
-
|
|
20861
|
-
|
|
20862
|
-
|
|
20863
|
-
|
|
20864
|
-
|
|
20865
|
-
|
|
20866
|
-
|
|
20867
|
-
|
|
20868
|
-
|
|
20869
|
-
|
|
20870
|
-
|
|
20871
|
-
|
|
20872
|
-
|
|
20873
|
-
|
|
20874
|
-
|
|
20875
|
-
|
|
20876
|
-
|
|
20877
|
-
}),
|
|
20878
|
-
defineCuratedSiteStyle({
|
|
20879
|
-
id: "site-style:warm-editorial",
|
|
20880
|
-
name: "Warm Editorial",
|
|
20881
|
-
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
20882
|
-
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
20883
|
-
tokenRecipes: {
|
|
20884
|
-
palette: "warm-neutral",
|
|
20885
|
-
contrast: "standard",
|
|
20886
|
-
radius: "square",
|
|
20887
|
-
shadow: "none",
|
|
20888
|
-
typography: "serif-editorial",
|
|
20889
|
-
spacing: "airy",
|
|
20890
|
-
motion: "subtle"
|
|
20891
|
-
},
|
|
20892
|
-
compositionBudget: balancedBudget
|
|
20893
|
-
}),
|
|
20894
|
-
defineCuratedSiteStyle({
|
|
20895
|
-
id: "site-style:bright-community",
|
|
20896
|
-
name: "Bright Community",
|
|
20897
|
-
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
20898
|
-
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
20899
|
-
tokenRecipes: {
|
|
20900
|
-
palette: "brand-led",
|
|
20901
|
-
contrast: "standard",
|
|
20902
|
-
radius: "rounded",
|
|
20903
|
-
shadow: "subtle",
|
|
20904
|
-
typography: "friendly-sans",
|
|
20905
|
-
spacing: "regular",
|
|
20906
|
-
motion: "expressive"
|
|
20907
|
-
},
|
|
20908
|
-
compositionBudget: balancedBudget
|
|
20909
|
-
}),
|
|
20910
|
-
defineCuratedSiteStyle({
|
|
20911
|
-
id: "site-style:quiet-luxury",
|
|
20912
|
-
name: "Quiet Luxury",
|
|
20913
|
-
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
20914
|
-
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
20915
|
-
selectionKeywords: [
|
|
20916
|
-
"luxury",
|
|
20917
|
-
"premium",
|
|
20918
|
-
"boutique",
|
|
20919
|
-
"bespoke",
|
|
20920
|
-
"exclusive"
|
|
20921
|
-
],
|
|
20922
|
-
tokenRecipes: {
|
|
20923
|
-
palette: "high-contrast",
|
|
20924
|
-
contrast: "strong",
|
|
20925
|
-
radius: "square",
|
|
20926
|
-
shadow: "none",
|
|
20927
|
-
typography: "classic-serif",
|
|
20928
|
-
spacing: "airy",
|
|
20929
|
-
motion: "none"
|
|
20930
|
-
},
|
|
20931
|
-
compositionBudget: quietBudget
|
|
20932
|
-
}),
|
|
20933
|
-
defineCuratedSiteStyle({
|
|
20934
|
-
id: "site-style:practical-services",
|
|
20935
|
-
name: "Practical Services",
|
|
20936
|
-
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
20937
|
-
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
20938
|
-
selectionKeywords: [
|
|
20939
|
-
"repair",
|
|
20940
|
-
"plumb",
|
|
20941
|
-
"electric",
|
|
20942
|
-
"cleaning",
|
|
20943
|
-
"landscap",
|
|
20944
|
-
"contractor"
|
|
20945
|
-
],
|
|
20946
|
-
tokenRecipes: {
|
|
20947
|
-
palette: "brand-led",
|
|
20948
|
-
contrast: "maximum",
|
|
20949
|
-
radius: "soft",
|
|
20950
|
-
shadow: "subtle",
|
|
20951
|
-
typography: "clean-sans",
|
|
20952
|
-
spacing: "compact",
|
|
20953
|
-
motion: "none"
|
|
20954
|
-
},
|
|
20955
|
-
compositionBudget: quietBudget
|
|
20956
|
-
}),
|
|
20957
|
-
defineCuratedSiteStyle({
|
|
20958
|
-
id: "site-style:modern-wellness",
|
|
20959
|
-
name: "Modern Wellness",
|
|
20960
|
-
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
20961
|
-
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
20962
|
-
tokenRecipes: {
|
|
20963
|
-
palette: "soft-natural",
|
|
20964
|
-
contrast: "standard",
|
|
20965
|
-
radius: "rounded",
|
|
20966
|
-
shadow: "subtle",
|
|
20967
|
-
typography: "clean-sans",
|
|
20968
|
-
spacing: "airy",
|
|
20969
|
-
motion: "subtle"
|
|
20970
|
-
},
|
|
20971
|
-
compositionBudget: balancedBudget
|
|
21671
|
+
return value;
|
|
21672
|
+
}, z42.record(z42.string(), aspectCropSchema.catch({}))).optional(),
|
|
21673
|
+
rect: rectSchema.optional(),
|
|
21674
|
+
hotspot: hotspotSchema.optional(),
|
|
21675
|
+
rotation: rotationSchema.optional()
|
|
21676
|
+
});
|
|
21677
|
+
var mediaSchema = z42.object({
|
|
21678
|
+
type: z42.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
21679
|
+
purpose: z42.string().optional(),
|
|
21680
|
+
placeholder: z42.boolean().default(true).optional(),
|
|
21681
|
+
assetId: z42.string().optional(),
|
|
21682
|
+
identifier: z42.string().optional(),
|
|
21683
|
+
src: z42.string().optional(),
|
|
21684
|
+
alt: z42.string().optional(),
|
|
21685
|
+
filename: z42.string().optional(),
|
|
21686
|
+
mimeType: z42.string().optional(),
|
|
21687
|
+
width: z42.number().optional(),
|
|
21688
|
+
height: z42.number().optional(),
|
|
21689
|
+
storageBucket: z42.string().optional(),
|
|
21690
|
+
storagePath: z42.string().optional(),
|
|
21691
|
+
transform: transformSchema.optional()
|
|
21692
|
+
});
|
|
21693
|
+
|
|
21694
|
+
// ../theme-core/src/schema.ts
|
|
21695
|
+
init_buttons();
|
|
21696
|
+
var cardSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
21697
|
+
var gradientDirectionSchema2 = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
21698
|
+
var cardBackgroundSchema = z.discriminatedUnion("type", [
|
|
21699
|
+
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
21700
|
+
z.object({
|
|
21701
|
+
type: z.literal("gradient"),
|
|
21702
|
+
fromToken: z.string(),
|
|
21703
|
+
toToken: z.string(),
|
|
21704
|
+
direction: gradientDirectionSchema2
|
|
20972
21705
|
}),
|
|
20973
|
-
|
|
20974
|
-
|
|
20975
|
-
|
|
20976
|
-
|
|
20977
|
-
|
|
20978
|
-
|
|
20979
|
-
|
|
20980
|
-
|
|
20981
|
-
|
|
20982
|
-
|
|
20983
|
-
|
|
20984
|
-
|
|
20985
|
-
|
|
20986
|
-
|
|
20987
|
-
|
|
20988
|
-
|
|
20989
|
-
|
|
20990
|
-
|
|
20991
|
-
|
|
20992
|
-
|
|
20993
|
-
|
|
20994
|
-
|
|
20995
|
-
|
|
20996
|
-
|
|
20997
|
-
|
|
20998
|
-
|
|
20999
|
-
|
|
21000
|
-
);
|
|
21706
|
+
z.object({ type: z.literal("transparent") })
|
|
21707
|
+
]);
|
|
21708
|
+
var cardBorderSchema = z.object({
|
|
21709
|
+
widthClass: z.string(),
|
|
21710
|
+
colorToken: z.string()
|
|
21711
|
+
});
|
|
21712
|
+
var cardVariantSchema = z.object({
|
|
21713
|
+
id: z.string(),
|
|
21714
|
+
name: z.string().min(1).max(20),
|
|
21715
|
+
enabled: z.boolean(),
|
|
21716
|
+
priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
21717
|
+
// Appearance (token-based)
|
|
21718
|
+
background: cardBackgroundSchema,
|
|
21719
|
+
spacing: cardSpacingSchema,
|
|
21720
|
+
// Optional overrides (uses theme defaults if not specified)
|
|
21721
|
+
shadow: z.object({
|
|
21722
|
+
elevation: z.enum(["none", "low", "medium", "high"]),
|
|
21723
|
+
softness: z.enum(["crisp", "soft", "hard"]).nullable(),
|
|
21724
|
+
position: z.enum(["bottom", "bottom-right"]).default("bottom")
|
|
21725
|
+
}).optional(),
|
|
21726
|
+
corners: z.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
21727
|
+
// Border (optional)
|
|
21728
|
+
border: cardBorderSchema.optional()
|
|
21729
|
+
});
|
|
21730
|
+
var cardSystemSchema = z.object({
|
|
21731
|
+
variants: z.array(cardVariantSchema).min(1).max(3)
|
|
21732
|
+
});
|
|
21001
21733
|
|
|
21002
|
-
// ../theme-core/src/
|
|
21003
|
-
|
|
21004
|
-
|
|
21005
|
-
|
|
21006
|
-
"_containerStyles",
|
|
21007
|
-
"_cardStyles",
|
|
21008
|
-
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
21009
|
-
// override object, but normal editors should still never see it directly.
|
|
21010
|
-
"styleGroup"
|
|
21011
|
-
];
|
|
21012
|
-
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
21013
|
-
"_contentCardStyles",
|
|
21014
|
-
"_textCardStyles"
|
|
21015
|
-
];
|
|
21016
|
-
var themeV2NormalEditorRawStyleFieldNames = [
|
|
21017
|
-
...themeV2RuntimeStyleFieldNames,
|
|
21018
|
-
...themeV2BlockSpecificRawStyleFieldNames
|
|
21019
|
-
];
|
|
21020
|
-
new Set(
|
|
21021
|
-
themeV2NormalEditorRawStyleFieldNames
|
|
21022
|
-
);
|
|
21734
|
+
// ../theme-core/src/cards/index.ts
|
|
21735
|
+
init_constants2();
|
|
21736
|
+
init_generateCardCss();
|
|
21737
|
+
init_generateDefaultCardSystem();
|
|
21023
21738
|
|
|
21024
|
-
// ../theme-core/src/
|
|
21025
|
-
|
|
21026
|
-
|
|
21027
|
-
var
|
|
21028
|
-
|
|
21029
|
-
|
|
21030
|
-
|
|
21031
|
-
|
|
21032
|
-
|
|
21739
|
+
// ../theme-core/src/schema.ts
|
|
21740
|
+
init_types5();
|
|
21741
|
+
init_types6();
|
|
21742
|
+
var gradientStopSchema = z.object({
|
|
21743
|
+
color: z.string(),
|
|
21744
|
+
// Theme color token name (e.g., 'primary-500')
|
|
21745
|
+
position: z.number().min(0).max(100)
|
|
21746
|
+
// Percentage 0-100
|
|
21747
|
+
});
|
|
21748
|
+
var gradientConfigSchema = z.object({
|
|
21749
|
+
type: z.enum(["linear", "radial"]),
|
|
21750
|
+
angle: z.number().min(0).max(360).optional(),
|
|
21751
|
+
// For linear gradients (degrees)
|
|
21752
|
+
position: z.string().optional(),
|
|
21753
|
+
// For radial gradients ('center', 'top left', etc.)
|
|
21754
|
+
stops: z.array(gradientStopSchema).min(2)
|
|
21755
|
+
});
|
|
21756
|
+
|
|
21757
|
+
// ../theme-core/src/schema.ts
|
|
21758
|
+
init_types7();
|
|
21759
|
+
init_validation();
|
|
21760
|
+
init_atRuleValidation();
|
|
21761
|
+
init_shared();
|
|
21762
|
+
var axesSchema = z.object({
|
|
21763
|
+
tone: z.enum(["minimal", "classic", "bold"]),
|
|
21764
|
+
energy: z.enum(["calm", "vibrant"]),
|
|
21765
|
+
density: z.enum(["airy", "regular", "compact"]),
|
|
21766
|
+
mediaBias: z.enum(["text", "media", "mixed"]),
|
|
21767
|
+
conversionBias: z.enum(["low", "med", "high"]),
|
|
21768
|
+
motion: z.enum(["subtle", "standard", "expressive"])
|
|
21769
|
+
});
|
|
21770
|
+
var colourHexString = z.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
21771
|
+
var paletteColorSchema = z.object({
|
|
21772
|
+
name: z.string().min(1),
|
|
21773
|
+
hex: colourHexString
|
|
21774
|
+
});
|
|
21775
|
+
var paletteMetaSchema = z.object({
|
|
21776
|
+
mode: z.enum(["light", "dark"])
|
|
21777
|
+
});
|
|
21778
|
+
var paletteSchema = z.object({
|
|
21779
|
+
colors: z.array(paletteColorSchema),
|
|
21780
|
+
meta: paletteMetaSchema
|
|
21781
|
+
});
|
|
21782
|
+
var typographyStyleSchema = z.object({
|
|
21783
|
+
family: z.string().min(1),
|
|
21784
|
+
weight: z.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
21785
|
+
letterSpacing: z.enum(["tight", "normal", "loose"]),
|
|
21786
|
+
lineHeight: z.enum(["normal", "relaxed", "loose"])
|
|
21787
|
+
});
|
|
21788
|
+
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
21789
|
+
size: z.enum(["md", "lg", "xl"])
|
|
21790
|
+
});
|
|
21791
|
+
var headingSizeSchema = z.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
21792
|
+
var headingTypographyOverridesSchema = z.object({
|
|
21793
|
+
weight: z.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
21794
|
+
letterSpacing: z.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
21795
|
+
size: headingSizeSchema.nullable().optional(),
|
|
21796
|
+
lineHeight: z.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
21797
|
+
italic: z.boolean().nullable().optional(),
|
|
21798
|
+
colorToken: z.string().min(1).nullable().optional()
|
|
21799
|
+
// Palette token name for heading color
|
|
21800
|
+
});
|
|
21801
|
+
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
21802
|
+
case: z.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
21803
|
+
italic: z.boolean().nullable(),
|
|
21804
|
+
colorToken: z.string().min(1).nullable().optional()
|
|
21805
|
+
// Palette token name for heading color
|
|
21806
|
+
});
|
|
21807
|
+
var proseLinkUnderlineStyleSchema = z.enum(["solid", "dotted", "dashed"]);
|
|
21808
|
+
var proseLinkUnderlineThicknessSchema = z.enum(["auto", "fromFont", "thin", "medium", "thick"]);
|
|
21809
|
+
var proseLinkUnderlineOffsetSchema = z.enum(["auto", "tight", "normal", "loose"]);
|
|
21810
|
+
var proseLinkStyleSchema = z.object({
|
|
21811
|
+
colorToken: z.string().min(1).optional(),
|
|
21812
|
+
hoverColorToken: z.string().min(1).optional(),
|
|
21813
|
+
underline: z.boolean().optional(),
|
|
21814
|
+
decorationColorToken: z.string().min(1).optional(),
|
|
21815
|
+
hoverDecorationColorToken: z.string().min(1).optional(),
|
|
21816
|
+
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
21817
|
+
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
21818
|
+
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
21819
|
+
});
|
|
21820
|
+
var semanticSpacingSchema = z.enum([
|
|
21033
21821
|
"none",
|
|
21034
|
-
"
|
|
21035
|
-
"
|
|
21036
|
-
|
|
21037
|
-
|
|
21038
|
-
|
|
21039
|
-
const firstValue = uniqueValues[0];
|
|
21040
|
-
if (!firstValue) {
|
|
21041
|
-
throw new Error("Expected at least one Theme V2 design state option.");
|
|
21042
|
-
}
|
|
21043
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
21044
|
-
}
|
|
21045
|
-
var userPanelTreatments = uniqueNonEmpty(
|
|
21046
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
21047
|
-
);
|
|
21048
|
-
var userFlushTreatments = uniqueNonEmpty(
|
|
21049
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
21050
|
-
);
|
|
21051
|
-
var userFlushBleeds = uniqueNonEmpty(
|
|
21052
|
-
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
21053
|
-
);
|
|
21054
|
-
var contentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
21055
|
-
z.object({ kind: z.literal("plain") }).strict(),
|
|
21056
|
-
z.object({
|
|
21057
|
-
kind: z.literal("panel"),
|
|
21058
|
-
treatment: z.enum(userPanelTreatments)
|
|
21059
|
-
}).strict(),
|
|
21060
|
-
z.object({
|
|
21061
|
-
kind: z.literal("flush-panel"),
|
|
21062
|
-
treatment: z.enum(userFlushTreatments),
|
|
21063
|
-
bleed: z.enum(userFlushBleeds)
|
|
21064
|
-
}).strict()
|
|
21065
|
-
]);
|
|
21066
|
-
var blockDesignPlanSchema = z.object({
|
|
21067
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
21068
|
-
blockKind: z.string().min(1),
|
|
21069
|
-
purpose: z.string().min(1),
|
|
21070
|
-
sectionSurface: z.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
21071
|
-
contentFrame: contentFrameIntentSchema,
|
|
21072
|
-
itemSurface: z.enum(userDesignOptionCatalog.itemSurfaces),
|
|
21073
|
-
transitionAfter: z.enum(userDesignOptionCatalog.transitions),
|
|
21074
|
-
emphasis: z.enum(userDesignOptionCatalog.emphases),
|
|
21075
|
-
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
21076
|
-
}).strict();
|
|
21077
|
-
var styleAuthoritySchema = z.discriminatedUnion("kind", [
|
|
21078
|
-
z.object({
|
|
21079
|
-
kind: z.literal("theme-v2"),
|
|
21080
|
-
source: designResolutionPolicySchema,
|
|
21081
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
21082
|
-
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
21083
|
-
templateVersion: z.number().int().nonnegative(),
|
|
21084
|
-
resolverVersion: z.number().int().nonnegative()
|
|
21085
|
-
}).strict(),
|
|
21086
|
-
z.object({
|
|
21087
|
-
kind: z.literal("legacy-raw"),
|
|
21088
|
-
reason: z.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
21089
|
-
}).strict(),
|
|
21090
|
-
z.object({
|
|
21091
|
-
kind: z.literal("advanced-detached"),
|
|
21092
|
-
reason: z.literal("detached-custom-runtime-fields")
|
|
21093
|
-
}).strict()
|
|
21094
|
-
]);
|
|
21095
|
-
var blockRuntimeStyleAuthoritySchema = z.object({
|
|
21096
|
-
unit: z.literal("block-runtime-fields"),
|
|
21097
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
21098
|
-
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
21099
|
-
authority: styleAuthoritySchema
|
|
21100
|
-
}).strict();
|
|
21101
|
-
z.object({
|
|
21102
|
-
schemaVersion: z.literal(themeV2DesignStateSchemaVersion),
|
|
21103
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
21104
|
-
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
21105
|
-
templateVersion: z.number().int().nonnegative(),
|
|
21106
|
-
resolverVersion: z.number().int().nonnegative(),
|
|
21107
|
-
rhythmPresetId: z.string().min(1),
|
|
21108
|
-
blocks: z.array(blockDesignPlanSchema),
|
|
21109
|
-
styleAuthorities: z.array(blockRuntimeStyleAuthoritySchema)
|
|
21110
|
-
}).strict();
|
|
21111
|
-
function uniqueNonEmpty2(values) {
|
|
21112
|
-
const uniqueValues = [...new Set(values)];
|
|
21113
|
-
const firstValue = uniqueValues[0];
|
|
21114
|
-
if (!firstValue) {
|
|
21115
|
-
throw new Error("Expected at least one generated schema option.");
|
|
21116
|
-
}
|
|
21117
|
-
return [firstValue, ...uniqueValues.slice(1)];
|
|
21118
|
-
}
|
|
21119
|
-
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
21120
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
21121
|
-
);
|
|
21122
|
-
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
21123
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
21124
|
-
);
|
|
21125
|
-
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
21126
|
-
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
21127
|
-
);
|
|
21128
|
-
var generatedPanelFrameSchema = z.object({
|
|
21129
|
-
kind: z.literal("panel"),
|
|
21130
|
-
treatment: z.enum(generatedPanelTreatments)
|
|
21131
|
-
}).strict();
|
|
21132
|
-
var generatedFlushPanelFrameSchema = z.object({
|
|
21133
|
-
kind: z.literal("flush-panel"),
|
|
21134
|
-
treatment: z.enum(generatedFlushTreatments),
|
|
21135
|
-
bleed: z.enum(generatedFlushBleeds)
|
|
21136
|
-
}).strict();
|
|
21137
|
-
var generatedContentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
21138
|
-
z.object({ kind: z.literal("plain") }).strict(),
|
|
21139
|
-
generatedPanelFrameSchema,
|
|
21140
|
-
generatedFlushPanelFrameSchema
|
|
21141
|
-
]);
|
|
21142
|
-
var generatedSiteStyleIdSchema = z.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
21143
|
-
function generatedChoiceSchema(valueSchema) {
|
|
21144
|
-
return z.discriminatedUnion("kind", [
|
|
21145
|
-
z.object({
|
|
21146
|
-
source: z.literal("generated"),
|
|
21147
|
-
kind: z.literal("auto")
|
|
21148
|
-
}).strict(),
|
|
21149
|
-
z.object({
|
|
21150
|
-
source: z.literal("generated"),
|
|
21151
|
-
kind: z.literal("explicit"),
|
|
21152
|
-
value: valueSchema
|
|
21153
|
-
}).strict()
|
|
21154
|
-
]);
|
|
21155
|
-
}
|
|
21156
|
-
var generatedBlockDesignIntentSchema = z.object({
|
|
21157
|
-
sectionSurface: generatedChoiceSchema(
|
|
21158
|
-
z.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
21159
|
-
),
|
|
21160
|
-
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
21161
|
-
itemSurface: generatedChoiceSchema(
|
|
21162
|
-
z.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
21163
|
-
),
|
|
21164
|
-
transitionAfter: generatedChoiceSchema(
|
|
21165
|
-
z.enum(generatedDesignOptionCatalog.transitions)
|
|
21166
|
-
),
|
|
21167
|
-
emphasis: generatedChoiceSchema(
|
|
21168
|
-
z.enum(generatedDesignOptionCatalog.emphases)
|
|
21169
|
-
)
|
|
21170
|
-
}).strict();
|
|
21171
|
-
var generatedMediaCompositionIntentSchema = z.enum([
|
|
21172
|
-
"none",
|
|
21173
|
-
"supporting",
|
|
21174
|
-
"dominant"
|
|
21175
|
-
]);
|
|
21176
|
-
var generatedDecorativeCompositionIntentSchema = z.enum([
|
|
21177
|
-
"none",
|
|
21178
|
-
"supporting"
|
|
21179
|
-
]);
|
|
21180
|
-
var generatedHeroLegibilityStrategySchema = z.enum([
|
|
21181
|
-
"none",
|
|
21182
|
-
"scrim-gradient"
|
|
21183
|
-
]);
|
|
21184
|
-
var generatedBlockMediaIntentSchema = z.object({
|
|
21185
|
-
media: generatedMediaCompositionIntentSchema,
|
|
21186
|
-
decorative: generatedDecorativeCompositionIntentSchema,
|
|
21187
|
-
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
21188
|
-
}).strict();
|
|
21189
|
-
var generatedBoundaryIntentSchema = z.object({
|
|
21190
|
-
transitionAfter: generatedChoiceSchema(
|
|
21191
|
-
z.enum(generatedDesignOptionCatalog.transitions)
|
|
21192
|
-
)
|
|
21193
|
-
}).strict();
|
|
21194
|
-
var generatedPageDesignBlockIntentSchema = z.object({
|
|
21195
|
-
blockId: z.string().min(1),
|
|
21196
|
-
blockKind: z.string().min(1),
|
|
21197
|
-
purpose: z.string().min(1),
|
|
21198
|
-
design: generatedBlockDesignIntentSchema,
|
|
21199
|
-
mediaIntent: generatedBlockMediaIntentSchema,
|
|
21200
|
-
boundaryIntent: generatedBoundaryIntentSchema
|
|
21201
|
-
}).strict();
|
|
21202
|
-
z.object({
|
|
21203
|
-
siteStyleId: generatedSiteStyleIdSchema,
|
|
21204
|
-
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
21205
|
-
}).strict();
|
|
21206
|
-
var pageDesignIntentSchemaVersion = 1;
|
|
21207
|
-
var pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
21208
|
-
kind: z.literal("user-pinned"),
|
|
21209
|
-
value: z.string().min(1).transform(asAppearancePresetId)
|
|
21210
|
-
}).strict();
|
|
21211
|
-
var pageDesignUserPinnedBoundaryChoiceSchema = z.object({
|
|
21212
|
-
kind: z.literal("user-pinned"),
|
|
21213
|
-
value: z.string().min(1).transform(asBoundaryOptionId)
|
|
21214
|
-
}).strict();
|
|
21215
|
-
var pageDesignBlockLookPinSchema = z.object({
|
|
21216
|
-
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
21217
|
-
blockKind: z.string().min(1),
|
|
21218
|
-
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
21219
|
-
}).strict();
|
|
21220
|
-
var pageDesignBoundaryPinSchema = z.object({
|
|
21221
|
-
boundaryId: z.string().min(1).transform(asDesignBoundaryId),
|
|
21222
|
-
previousBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
21223
|
-
nextBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
21224
|
-
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
21225
|
-
}).strict().superRefine((pin, ctx) => {
|
|
21226
|
-
const expectedBoundaryId = makeBoundaryId(
|
|
21227
|
-
pin.previousBlockId,
|
|
21228
|
-
pin.nextBlockId
|
|
21229
|
-
);
|
|
21230
|
-
if (pin.boundaryId !== expectedBoundaryId) {
|
|
21231
|
-
ctx.addIssue({
|
|
21232
|
-
code: z.ZodIssueCode.custom,
|
|
21233
|
-
path: ["boundaryId"],
|
|
21234
|
-
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
21235
|
-
});
|
|
21236
|
-
}
|
|
21237
|
-
});
|
|
21238
|
-
z.object({
|
|
21239
|
-
schemaVersion: z.literal(pageDesignIntentSchemaVersion),
|
|
21240
|
-
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
21241
|
-
pageFlowPresetId: z.string().min(1).transform(asPageFlowPresetId),
|
|
21242
|
-
blockLookPins: z.array(pageDesignBlockLookPinSchema),
|
|
21243
|
-
boundaryPins: z.array(pageDesignBoundaryPinSchema)
|
|
21244
|
-
}).strict().superRefine((intent, ctx) => {
|
|
21245
|
-
addDuplicateStringIssues(ctx, {
|
|
21246
|
-
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
21247
|
-
path: ["blockLookPins"],
|
|
21248
|
-
label: "block Look pin"
|
|
21249
|
-
});
|
|
21250
|
-
addDuplicateStringIssues(ctx, {
|
|
21251
|
-
values: intent.boundaryPins.map(
|
|
21252
|
-
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
21253
|
-
),
|
|
21254
|
-
path: ["boundaryPins"],
|
|
21255
|
-
label: "boundary pin"
|
|
21256
|
-
});
|
|
21257
|
-
});
|
|
21258
|
-
function addDuplicateStringIssues(ctx, input) {
|
|
21259
|
-
const seen = /* @__PURE__ */ new Set();
|
|
21260
|
-
const duplicates = /* @__PURE__ */ new Set();
|
|
21261
|
-
for (const value of input.values) {
|
|
21262
|
-
if (seen.has(value)) {
|
|
21263
|
-
duplicates.add(value);
|
|
21264
|
-
}
|
|
21265
|
-
seen.add(value);
|
|
21266
|
-
}
|
|
21267
|
-
for (const duplicate of duplicates) {
|
|
21268
|
-
ctx.addIssue({
|
|
21269
|
-
code: z.ZodIssueCode.custom,
|
|
21270
|
-
path: [...input.path],
|
|
21271
|
-
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
21272
|
-
});
|
|
21273
|
-
}
|
|
21274
|
-
}
|
|
21275
|
-
function boundaryKey(previousBlockId, nextBlockId) {
|
|
21276
|
-
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
21277
|
-
}
|
|
21278
|
-
var hotspotSchema = z39.object({
|
|
21279
|
-
x: z39.number().min(0).max(1),
|
|
21280
|
-
y: z39.number().min(0).max(1),
|
|
21281
|
-
radius: z39.number().optional()
|
|
21282
|
-
});
|
|
21283
|
-
var rotationSchema = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
|
|
21284
|
-
var rectSchema = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
|
|
21285
|
-
var aspectCropSchema = z39.object({
|
|
21286
|
-
aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
|
|
21287
|
-
rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
21288
|
-
hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
21289
|
-
rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
21290
|
-
});
|
|
21291
|
-
var transformSchema = z39.object({
|
|
21292
|
-
aspectCrops: z39.preprocess((value) => {
|
|
21293
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
21294
|
-
return void 0;
|
|
21295
|
-
}
|
|
21296
|
-
return value;
|
|
21297
|
-
}, z39.record(z39.string(), aspectCropSchema.catch({}))).optional(),
|
|
21298
|
-
rect: rectSchema.optional(),
|
|
21299
|
-
hotspot: hotspotSchema.optional(),
|
|
21300
|
-
rotation: rotationSchema.optional()
|
|
21301
|
-
});
|
|
21302
|
-
var mediaSchema = z39.object({
|
|
21303
|
-
type: z39.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
|
|
21304
|
-
purpose: z39.string().optional(),
|
|
21305
|
-
placeholder: z39.boolean().default(true).optional(),
|
|
21306
|
-
assetId: z39.string().optional(),
|
|
21307
|
-
identifier: z39.string().optional(),
|
|
21308
|
-
src: z39.string().optional(),
|
|
21309
|
-
alt: z39.string().optional(),
|
|
21310
|
-
filename: z39.string().optional(),
|
|
21311
|
-
mimeType: z39.string().optional(),
|
|
21312
|
-
width: z39.number().optional(),
|
|
21313
|
-
height: z39.number().optional(),
|
|
21314
|
-
storageBucket: z39.string().optional(),
|
|
21315
|
-
storagePath: z39.string().optional(),
|
|
21316
|
-
transform: transformSchema.optional()
|
|
21317
|
-
});
|
|
21318
|
-
var cornerStyleSchema = z.enum(["square", "rounded", "pill"]);
|
|
21319
|
-
var shadowSizeSchema = z.enum(["none", "low", "medium", "high"]);
|
|
21320
|
-
var textTransformSchema = z.enum(["none", "uppercase", "lowercase", "capitalize"]);
|
|
21321
|
-
var fontWeightSchema = z.union([z.literal(500), z.literal(600), z.literal(700)]);
|
|
21322
|
-
var buttonTypographySchema = z.enum(["body", "heading"]);
|
|
21323
|
-
var hoverTransformSchema = z.enum(["none", "lift", "scale", "press"]);
|
|
21324
|
-
var hoverColorSchema = z.enum(["none", "brighten", "darken", "saturate", "token"]);
|
|
21325
|
-
var buttonPaddingPresetSchema = z.enum(["compact", "default", "spacious"]);
|
|
21326
|
-
var gradientStyleSchema = z.enum(["linear", "radial", "conic"]);
|
|
21327
|
-
var gradientSharpnessSchema = z.enum(["smooth", "medium", "hard"]);
|
|
21328
|
-
z.enum(["sm", "md", "lg", "xl"]);
|
|
21329
|
-
var buttonSizeConfigSchema = z.object({
|
|
21330
|
-
padding: z.string(),
|
|
21331
|
-
fontSize: z.string().optional()
|
|
21332
|
-
});
|
|
21333
|
-
var buttonSizesSchema = z.object({
|
|
21334
|
-
sm: buttonSizeConfigSchema,
|
|
21335
|
-
md: buttonSizeConfigSchema,
|
|
21336
|
-
lg: buttonSizeConfigSchema,
|
|
21337
|
-
xl: buttonSizeConfigSchema.optional()
|
|
21338
|
-
});
|
|
21339
|
-
var backgroundTreatmentSchema = z.enum(["solid", "gradient", "outline", "ghost"]);
|
|
21340
|
-
var outlineHoverEffectSchema = z.enum([
|
|
21341
|
-
"border-glow",
|
|
21342
|
-
"border-shift",
|
|
21343
|
-
"border-grow",
|
|
21344
|
-
"fill-transition",
|
|
21345
|
-
"border-trace"
|
|
21346
|
-
]);
|
|
21347
|
-
var buttonGlobalSettingsSchema = z.object({
|
|
21348
|
-
cornerStyle: cornerStyleSchema,
|
|
21349
|
-
cornerRadius: z.number().min(0).max(24).optional(),
|
|
21350
|
-
shadow: shadowSizeSchema,
|
|
21351
|
-
textTransform: textTransformSchema,
|
|
21352
|
-
fontWeight: fontWeightSchema,
|
|
21353
|
-
borderWidth: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
21354
|
-
// Typography source (body or heading)
|
|
21355
|
-
typography: buttonTypographySchema.optional(),
|
|
21356
|
-
// Italic style
|
|
21357
|
-
italic: z.boolean().optional(),
|
|
21358
|
-
// Padding preset (applies to all variants unless overridden)
|
|
21359
|
-
paddingPreset: buttonPaddingPresetSchema.optional(),
|
|
21360
|
-
hoverTransform: hoverTransformSchema,
|
|
21361
|
-
hoverColor: hoverColorSchema,
|
|
21362
|
-
// When hoverColor is 'token', this specifies which token to use
|
|
21363
|
-
hoverColorToken: z.string().optional(),
|
|
21364
|
-
// Gradient settings (if any variant uses gradients)
|
|
21365
|
-
gradientStyle: gradientStyleSchema.optional(),
|
|
21366
|
-
gradientAngle: z.number().min(0).max(360).optional(),
|
|
21367
|
-
gradientSharpness: gradientSharpnessSchema.optional()
|
|
21368
|
-
});
|
|
21369
|
-
var gradientDirectionSchema = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
21370
|
-
var buttonBackgroundSchema = z.discriminatedUnion("type", [
|
|
21371
|
-
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
21372
|
-
z.object({
|
|
21373
|
-
type: z.literal("gradient"),
|
|
21374
|
-
stops: z.array(z.string()).min(2),
|
|
21375
|
-
direction: gradientDirectionSchema
|
|
21376
|
-
}),
|
|
21377
|
-
z.object({ type: z.literal("transparent") })
|
|
21378
|
-
]);
|
|
21379
|
-
var effectApplicationSchema = z.object({
|
|
21380
|
-
effectId: z.string(),
|
|
21381
|
-
options: z.record(z.string(), z.any()).optional()
|
|
21382
|
-
});
|
|
21383
|
-
var buttonBorderSchema = z.object({
|
|
21384
|
-
widthClass: z.string(),
|
|
21385
|
-
colorToken: z.string()
|
|
21386
|
-
});
|
|
21387
|
-
z.object({
|
|
21388
|
-
id: z.string(),
|
|
21389
|
-
name: z.string().min(1).max(20),
|
|
21390
|
-
enabled: z.boolean(),
|
|
21391
|
-
priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
21392
|
-
backgroundTreatment: backgroundTreatmentSchema,
|
|
21393
|
-
color: z.string().optional(),
|
|
21394
|
-
gradientColors: z.tuple([z.string(), z.string()]).optional(),
|
|
21395
|
-
borderColor: z.string().optional(),
|
|
21396
|
-
outlineHoverEffect: outlineHoverEffectSchema.optional(),
|
|
21397
|
-
effectPreset: z.string().optional()
|
|
21398
|
-
});
|
|
21399
|
-
var buttonVariantSchema = z.object({
|
|
21400
|
-
id: z.string(),
|
|
21401
|
-
name: z.string().min(1).max(20),
|
|
21402
|
-
enabled: z.boolean(),
|
|
21403
|
-
priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
21404
|
-
// Base appearance (token-based)
|
|
21405
|
-
background: buttonBackgroundSchema,
|
|
21406
|
-
textColorToken: z.string(),
|
|
21407
|
-
borderRadius: z.string(),
|
|
21408
|
-
// Optional shadow override (uses theme.shadow if not specified)
|
|
21409
|
-
shadow: z.object({
|
|
21410
|
-
elevation: z.enum(["none", "low", "medium", "high"]),
|
|
21411
|
-
softness: z.enum(["crisp", "soft", "hard"]).nullable(),
|
|
21412
|
-
position: z.enum(["bottom", "bottom-right"]).default("bottom")
|
|
21413
|
-
}).optional(),
|
|
21414
|
-
// Border (optional)
|
|
21415
|
-
border: buttonBorderSchema.optional(),
|
|
21416
|
-
// Padding (optional, defaults to "0.5rem 1rem")
|
|
21417
|
-
padding: z.string().optional(),
|
|
21418
|
-
// Font size (optional, Tailwind text size class)
|
|
21419
|
-
fontSize: z.string().optional(),
|
|
21420
|
-
// Hover background token (per-variant override, takes precedence over global hoverColorToken)
|
|
21421
|
-
hoverBackgroundToken: z.string().optional(),
|
|
21422
|
-
// Effect composition
|
|
21423
|
-
effects: z.object({
|
|
21424
|
-
base: z.array(effectApplicationSchema).optional(),
|
|
21425
|
-
hover: z.array(effectApplicationSchema).optional(),
|
|
21426
|
-
active: z.array(effectApplicationSchema).optional(),
|
|
21427
|
-
focus: z.array(effectApplicationSchema).optional()
|
|
21428
|
-
}).optional()
|
|
21429
|
-
});
|
|
21430
|
-
var buttonSystemSchema = z.object({
|
|
21431
|
-
global: buttonGlobalSettingsSchema,
|
|
21432
|
-
variants: z.array(buttonVariantSchema).min(1).max(6),
|
|
21433
|
-
sizes: buttonSizesSchema.optional()
|
|
21434
|
-
});
|
|
21435
|
-
|
|
21436
|
-
// ../theme-core/src/buttons/index.ts
|
|
21437
|
-
init_generateButtonCss();
|
|
21438
|
-
init_generateDefaultButtonSystem();
|
|
21439
|
-
init_constants();
|
|
21440
|
-
init_registry();
|
|
21441
|
-
init_transform();
|
|
21442
|
-
var cardSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
21443
|
-
var gradientDirectionSchema2 = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
21444
|
-
var cardBackgroundSchema = z.discriminatedUnion("type", [
|
|
21445
|
-
z.object({ type: z.literal("solid"), colorToken: z.string() }),
|
|
21446
|
-
z.object({
|
|
21447
|
-
type: z.literal("gradient"),
|
|
21448
|
-
fromToken: z.string(),
|
|
21449
|
-
toToken: z.string(),
|
|
21450
|
-
direction: gradientDirectionSchema2
|
|
21451
|
-
}),
|
|
21452
|
-
z.object({ type: z.literal("transparent") })
|
|
21453
|
-
]);
|
|
21454
|
-
var cardBorderSchema = z.object({
|
|
21455
|
-
widthClass: z.string(),
|
|
21456
|
-
colorToken: z.string()
|
|
21457
|
-
});
|
|
21458
|
-
var cardVariantSchema = z.object({
|
|
21459
|
-
id: z.string(),
|
|
21460
|
-
name: z.string().min(1).max(20),
|
|
21461
|
-
enabled: z.boolean(),
|
|
21462
|
-
priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
|
|
21463
|
-
// Appearance (token-based)
|
|
21464
|
-
background: cardBackgroundSchema,
|
|
21465
|
-
spacing: cardSpacingSchema,
|
|
21466
|
-
// Optional overrides (uses theme defaults if not specified)
|
|
21467
|
-
shadow: z.object({
|
|
21468
|
-
elevation: z.enum(["none", "low", "medium", "high"]),
|
|
21469
|
-
softness: z.enum(["crisp", "soft", "hard"]).nullable(),
|
|
21470
|
-
position: z.enum(["bottom", "bottom-right"]).default("bottom")
|
|
21471
|
-
}).optional(),
|
|
21472
|
-
corners: z.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
21473
|
-
// Border (optional)
|
|
21474
|
-
border: cardBorderSchema.optional()
|
|
21475
|
-
});
|
|
21476
|
-
var cardSystemSchema = z.object({
|
|
21477
|
-
variants: z.array(cardVariantSchema).min(1).max(3)
|
|
21478
|
-
});
|
|
21479
|
-
|
|
21480
|
-
// ../theme-core/src/cards/index.ts
|
|
21481
|
-
init_constants2();
|
|
21482
|
-
init_generateCardCss();
|
|
21483
|
-
init_generateDefaultCardSystem();
|
|
21484
|
-
|
|
21485
|
-
// ../theme-core/src/schema.ts
|
|
21486
|
-
init_types2();
|
|
21487
|
-
init_types3();
|
|
21488
|
-
var gradientStopSchema = z.object({
|
|
21489
|
-
color: z.string(),
|
|
21490
|
-
// Theme color token name (e.g., 'primary-500')
|
|
21491
|
-
position: z.number().min(0).max(100)
|
|
21492
|
-
// Percentage 0-100
|
|
21493
|
-
});
|
|
21494
|
-
var gradientConfigSchema = z.object({
|
|
21495
|
-
type: z.enum(["linear", "radial"]),
|
|
21496
|
-
angle: z.number().min(0).max(360).optional(),
|
|
21497
|
-
// For linear gradients (degrees)
|
|
21498
|
-
position: z.string().optional(),
|
|
21499
|
-
// For radial gradients ('center', 'top left', etc.)
|
|
21500
|
-
stops: z.array(gradientStopSchema).min(2)
|
|
21501
|
-
});
|
|
21502
|
-
|
|
21503
|
-
// ../theme-core/src/schema.ts
|
|
21504
|
-
init_types4();
|
|
21505
|
-
init_validation();
|
|
21506
|
-
init_atRuleValidation();
|
|
21507
|
-
init_shared();
|
|
21508
|
-
var axesSchema = z.object({
|
|
21509
|
-
tone: z.enum(["minimal", "classic", "bold"]),
|
|
21510
|
-
energy: z.enum(["calm", "vibrant"]),
|
|
21511
|
-
density: z.enum(["airy", "regular", "compact"]),
|
|
21512
|
-
mediaBias: z.enum(["text", "media", "mixed"]),
|
|
21513
|
-
conversionBias: z.enum(["low", "med", "high"]),
|
|
21514
|
-
motion: z.enum(["subtle", "standard", "expressive"])
|
|
21515
|
-
});
|
|
21516
|
-
var colourHexString = z.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
21517
|
-
var paletteColorSchema = z.object({
|
|
21518
|
-
name: z.string().min(1),
|
|
21519
|
-
hex: colourHexString
|
|
21520
|
-
});
|
|
21521
|
-
var paletteMetaSchema = z.object({
|
|
21522
|
-
mode: z.enum(["light", "dark"])
|
|
21523
|
-
});
|
|
21524
|
-
var paletteSchema = z.object({
|
|
21525
|
-
colors: z.array(paletteColorSchema),
|
|
21526
|
-
meta: paletteMetaSchema
|
|
21527
|
-
});
|
|
21528
|
-
var typographyStyleSchema = z.object({
|
|
21529
|
-
family: z.string().min(1),
|
|
21530
|
-
weight: z.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
21531
|
-
letterSpacing: z.enum(["tight", "normal", "loose"]),
|
|
21532
|
-
lineHeight: z.enum(["normal", "relaxed", "loose"])
|
|
21533
|
-
});
|
|
21534
|
-
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
21535
|
-
size: z.enum(["md", "lg", "xl"])
|
|
21536
|
-
});
|
|
21537
|
-
var headingSizeSchema = z.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
21538
|
-
var headingTypographyOverridesSchema = z.object({
|
|
21539
|
-
weight: z.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
21540
|
-
letterSpacing: z.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
21541
|
-
size: headingSizeSchema.nullable().optional(),
|
|
21542
|
-
lineHeight: z.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
21543
|
-
italic: z.boolean().nullable().optional(),
|
|
21544
|
-
colorToken: z.string().min(1).nullable().optional()
|
|
21545
|
-
// Palette token name for heading color
|
|
21546
|
-
});
|
|
21547
|
-
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
21548
|
-
case: z.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
21549
|
-
italic: z.boolean().nullable(),
|
|
21550
|
-
colorToken: z.string().min(1).nullable().optional()
|
|
21551
|
-
// Palette token name for heading color
|
|
21552
|
-
});
|
|
21553
|
-
var proseLinkUnderlineStyleSchema = z.enum(["solid", "dotted", "dashed"]);
|
|
21554
|
-
var proseLinkUnderlineThicknessSchema = z.enum(["auto", "fromFont", "thin", "medium", "thick"]);
|
|
21555
|
-
var proseLinkUnderlineOffsetSchema = z.enum(["auto", "tight", "normal", "loose"]);
|
|
21556
|
-
var proseLinkStyleSchema = z.object({
|
|
21557
|
-
colorToken: z.string().min(1).optional(),
|
|
21558
|
-
hoverColorToken: z.string().min(1).optional(),
|
|
21559
|
-
underline: z.boolean().optional(),
|
|
21560
|
-
decorationColorToken: z.string().min(1).optional(),
|
|
21561
|
-
hoverDecorationColorToken: z.string().min(1).optional(),
|
|
21562
|
-
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
21563
|
-
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
21564
|
-
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
21565
|
-
});
|
|
21566
|
-
var semanticSpacingSchema = z.enum([
|
|
21567
|
-
"none",
|
|
21568
|
-
"compact",
|
|
21569
|
-
"cozy",
|
|
21570
|
-
"medium",
|
|
21571
|
-
"comfortable",
|
|
21572
|
-
"spacious"
|
|
21822
|
+
"compact",
|
|
21823
|
+
"cozy",
|
|
21824
|
+
"medium",
|
|
21825
|
+
"comfortable",
|
|
21826
|
+
"spacious"
|
|
21573
21827
|
]);
|
|
21574
21828
|
var boxRoundedSchema = z.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
21575
21829
|
var boxBackgroundOverlaySchema = z.object({
|
|
@@ -21988,6 +22242,994 @@ z.object({
|
|
|
21988
22242
|
message: z.string().min(1),
|
|
21989
22243
|
themes: z.array(themeSchema).length(3)
|
|
21990
22244
|
});
|
|
22245
|
+
|
|
22246
|
+
// ../theme-core/src/palette/variants/types.ts
|
|
22247
|
+
function asPaletteVariantId(value) {
|
|
22248
|
+
if (value.length === 0) {
|
|
22249
|
+
throw new Error("PaletteVariantId must be a non-empty string");
|
|
22250
|
+
}
|
|
22251
|
+
return value;
|
|
22252
|
+
}
|
|
22253
|
+
var paletteVariantIdSchema = z.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
22254
|
+
var PALETTE_TOKEN_NAMES = [
|
|
22255
|
+
"primary",
|
|
22256
|
+
"primaryForeground",
|
|
22257
|
+
"secondary",
|
|
22258
|
+
"accent",
|
|
22259
|
+
"success",
|
|
22260
|
+
"warning",
|
|
22261
|
+
"destructive",
|
|
22262
|
+
"background",
|
|
22263
|
+
"surface",
|
|
22264
|
+
"surfaceAlt",
|
|
22265
|
+
"muted",
|
|
22266
|
+
"text",
|
|
22267
|
+
"border"
|
|
22268
|
+
];
|
|
22269
|
+
var paletteTokenNameSchema = z.enum(PALETTE_TOKEN_NAMES);
|
|
22270
|
+
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
22271
|
+
var hexColorSchema = z.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
22272
|
+
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
22273
|
+
name: paletteTokenNameSchema
|
|
22274
|
+
});
|
|
22275
|
+
z.object({
|
|
22276
|
+
id: paletteVariantIdSchema,
|
|
22277
|
+
name: z.string().min(1),
|
|
22278
|
+
description: z.string().min(1),
|
|
22279
|
+
tags: styleTagsSchema,
|
|
22280
|
+
mode: z.enum(["light", "dark"]),
|
|
22281
|
+
colors: z.array(variantPaletteColorSchema).min(1)
|
|
22282
|
+
});
|
|
22283
|
+
function definePaletteVariant(input) {
|
|
22284
|
+
return {
|
|
22285
|
+
id: asPaletteVariantId(input.id),
|
|
22286
|
+
name: input.name,
|
|
22287
|
+
description: input.description,
|
|
22288
|
+
tags: input.tags,
|
|
22289
|
+
mode: input.mode,
|
|
22290
|
+
colors: input.colors
|
|
22291
|
+
};
|
|
22292
|
+
}
|
|
22293
|
+
z.object({
|
|
22294
|
+
primary: hexColorSchema.optional(),
|
|
22295
|
+
primaryForeground: hexColorSchema.optional(),
|
|
22296
|
+
secondary: hexColorSchema.optional(),
|
|
22297
|
+
accent: hexColorSchema.optional(),
|
|
22298
|
+
success: hexColorSchema.optional(),
|
|
22299
|
+
warning: hexColorSchema.optional(),
|
|
22300
|
+
destructive: hexColorSchema.optional(),
|
|
22301
|
+
background: hexColorSchema.optional(),
|
|
22302
|
+
surface: hexColorSchema.optional(),
|
|
22303
|
+
surfaceAlt: hexColorSchema.optional(),
|
|
22304
|
+
muted: hexColorSchema.optional(),
|
|
22305
|
+
text: hexColorSchema.optional(),
|
|
22306
|
+
border: hexColorSchema.optional()
|
|
22307
|
+
}).strict().transform((value) => value);
|
|
22308
|
+
|
|
22309
|
+
// ../theme-core/src/palette/variants/brand-led.ts
|
|
22310
|
+
var brandLedCool = definePaletteVariant({
|
|
22311
|
+
id: "brand-led-cool",
|
|
22312
|
+
name: "Brand-led \u2014 Cool",
|
|
22313
|
+
description: "Confident blue primary with slate neutrals.",
|
|
22314
|
+
tags: { tone: "classic", energy: "calm", era: "modern" },
|
|
22315
|
+
mode: "light",
|
|
22316
|
+
colors: [
|
|
22317
|
+
{ name: "primary", hex: "#2563eb" },
|
|
22318
|
+
{ name: "secondary", hex: "#64748b" },
|
|
22319
|
+
{ name: "accent", hex: "#0f766e" },
|
|
22320
|
+
{ name: "success", hex: "#16a34a" },
|
|
22321
|
+
{ name: "warning", hex: "#d97706" },
|
|
22322
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
22323
|
+
{ name: "background", hex: "#ffffff" },
|
|
22324
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22325
|
+
{ name: "surfaceAlt", hex: "#f8fafc" },
|
|
22326
|
+
{ name: "muted", hex: "#f1f5f9" },
|
|
22327
|
+
{ name: "text", hex: "#0f172a" },
|
|
22328
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22329
|
+
{ name: "border", hex: "#cbd5e1" }
|
|
22330
|
+
]
|
|
22331
|
+
});
|
|
22332
|
+
var brandLedWarm = definePaletteVariant({
|
|
22333
|
+
id: "brand-led-warm",
|
|
22334
|
+
name: "Brand-led \u2014 Warm",
|
|
22335
|
+
description: "Sunset orange primary with warm grey neutrals.",
|
|
22336
|
+
tags: { tone: "classic", energy: "vibrant", era: "modern" },
|
|
22337
|
+
mode: "light",
|
|
22338
|
+
colors: [
|
|
22339
|
+
{ name: "primary", hex: "#ea580c" },
|
|
22340
|
+
{ name: "secondary", hex: "#78716c" },
|
|
22341
|
+
{ name: "accent", hex: "#a16207" },
|
|
22342
|
+
{ name: "success", hex: "#16a34a" },
|
|
22343
|
+
{ name: "warning", hex: "#d97706" },
|
|
22344
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22345
|
+
{ name: "background", hex: "#fffaf3" },
|
|
22346
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22347
|
+
{ name: "surfaceAlt", hex: "#fbeee0" },
|
|
22348
|
+
{ name: "muted", hex: "#f4e2cd" },
|
|
22349
|
+
{ name: "text", hex: "#1c1917" },
|
|
22350
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
22351
|
+
{ name: "border", hex: "#d6c4ad" }
|
|
22352
|
+
]
|
|
22353
|
+
});
|
|
22354
|
+
var brandLedJewel = definePaletteVariant({
|
|
22355
|
+
id: "brand-led-jewel",
|
|
22356
|
+
name: "Brand-led \u2014 Jewel",
|
|
22357
|
+
description: "Deep emerald primary with rich neutrals.",
|
|
22358
|
+
tags: { tone: "bold", energy: "vibrant", era: "modern" },
|
|
22359
|
+
mode: "light",
|
|
22360
|
+
colors: [
|
|
22361
|
+
{ name: "primary", hex: "#047857" },
|
|
22362
|
+
{ name: "secondary", hex: "#4b5563" },
|
|
22363
|
+
{ name: "accent", hex: "#7c3aed" },
|
|
22364
|
+
{ name: "success", hex: "#15803d" },
|
|
22365
|
+
{ name: "warning", hex: "#b45309" },
|
|
22366
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22367
|
+
{ name: "background", hex: "#ffffff" },
|
|
22368
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22369
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22370
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
22371
|
+
{ name: "text", hex: "#0c0a09" },
|
|
22372
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22373
|
+
{ name: "border", hex: "#a8a29e" }
|
|
22374
|
+
]
|
|
22375
|
+
});
|
|
22376
|
+
|
|
22377
|
+
// ../theme-core/src/palette/variants/high-contrast.ts
|
|
22378
|
+
var highContrastInk = definePaletteVariant({
|
|
22379
|
+
id: "high-contrast-ink",
|
|
22380
|
+
name: "High Contrast \u2014 Ink",
|
|
22381
|
+
description: "Near-black primary with cool greys.",
|
|
22382
|
+
tags: { tone: "bold", energy: "calm", era: "editorial" },
|
|
22383
|
+
mode: "light",
|
|
22384
|
+
colors: [
|
|
22385
|
+
{ name: "primary", hex: "#111827" },
|
|
22386
|
+
{ name: "secondary", hex: "#374151" },
|
|
22387
|
+
{ name: "accent", hex: "#1d4ed8" },
|
|
22388
|
+
{ name: "success", hex: "#047857" },
|
|
22389
|
+
{ name: "warning", hex: "#b45309" },
|
|
22390
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22391
|
+
{ name: "background", hex: "#ffffff" },
|
|
22392
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22393
|
+
{ name: "surfaceAlt", hex: "#f3f4f6" },
|
|
22394
|
+
{ name: "muted", hex: "#e5e7eb" },
|
|
22395
|
+
{ name: "text", hex: "#030712" },
|
|
22396
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22397
|
+
{ name: "border", hex: "#6b7280" }
|
|
22398
|
+
]
|
|
22399
|
+
});
|
|
22400
|
+
var highContrastCharcoal = definePaletteVariant({
|
|
22401
|
+
id: "high-contrast-charcoal",
|
|
22402
|
+
name: "High Contrast \u2014 Charcoal",
|
|
22403
|
+
description: "Warm charcoal primary on a soft cream ground.",
|
|
22404
|
+
tags: { tone: "minimal", energy: "calm", era: "editorial" },
|
|
22405
|
+
mode: "light",
|
|
22406
|
+
colors: [
|
|
22407
|
+
{ name: "primary", hex: "#1f2937" },
|
|
22408
|
+
{ name: "secondary", hex: "#52525b" },
|
|
22409
|
+
{ name: "accent", hex: "#a16207" },
|
|
22410
|
+
{ name: "success", hex: "#15803d" },
|
|
22411
|
+
{ name: "warning", hex: "#b45309" },
|
|
22412
|
+
{ name: "destructive", hex: "#991b1b" },
|
|
22413
|
+
{ name: "background", hex: "#fafaf9" },
|
|
22414
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22415
|
+
{ name: "surfaceAlt", hex: "#f5f5f4" },
|
|
22416
|
+
{ name: "muted", hex: "#e7e5e4" },
|
|
22417
|
+
{ name: "text", hex: "#0c0a09" },
|
|
22418
|
+
{ name: "primaryForeground", hex: "#fafaf9" },
|
|
22419
|
+
{ name: "border", hex: "#a8a29e" }
|
|
22420
|
+
]
|
|
22421
|
+
});
|
|
22422
|
+
var highContrastMonochrome = definePaletteVariant({
|
|
22423
|
+
id: "high-contrast-monochrome",
|
|
22424
|
+
name: "High Contrast \u2014 Monochrome",
|
|
22425
|
+
description: "Pure black-on-white with a single saturated accent.",
|
|
22426
|
+
tags: { tone: "bold", energy: "vibrant", era: "editorial" },
|
|
22427
|
+
mode: "light",
|
|
22428
|
+
colors: [
|
|
22429
|
+
{ name: "primary", hex: "#000000" },
|
|
22430
|
+
{ name: "secondary", hex: "#404040" },
|
|
22431
|
+
{ name: "accent", hex: "#dc2626" },
|
|
22432
|
+
{ name: "success", hex: "#000000" },
|
|
22433
|
+
{ name: "warning", hex: "#000000" },
|
|
22434
|
+
{ name: "destructive", hex: "#dc2626" },
|
|
22435
|
+
{ name: "background", hex: "#ffffff" },
|
|
22436
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22437
|
+
{ name: "surfaceAlt", hex: "#f5f5f5" },
|
|
22438
|
+
{ name: "muted", hex: "#e5e5e5" },
|
|
22439
|
+
{ name: "text", hex: "#000000" },
|
|
22440
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22441
|
+
{ name: "border", hex: "#525252" }
|
|
22442
|
+
]
|
|
22443
|
+
});
|
|
22444
|
+
|
|
22445
|
+
// ../theme-core/src/palette/variants/soft-natural.ts
|
|
22446
|
+
var softNaturalSage = definePaletteVariant({
|
|
22447
|
+
id: "soft-natural-sage",
|
|
22448
|
+
name: "Soft Natural \u2014 Sage",
|
|
22449
|
+
description: "Olive sage primary on an off-white ground.",
|
|
22450
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22451
|
+
mode: "light",
|
|
22452
|
+
colors: [
|
|
22453
|
+
{ name: "primary", hex: "#3f6212" },
|
|
22454
|
+
{ name: "secondary", hex: "#6b7280" },
|
|
22455
|
+
{ name: "accent", hex: "#0f766e" },
|
|
22456
|
+
{ name: "success", hex: "#15803d" },
|
|
22457
|
+
{ name: "warning", hex: "#a16207" },
|
|
22458
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22459
|
+
{ name: "background", hex: "#fbfdf7" },
|
|
22460
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22461
|
+
{ name: "surfaceAlt", hex: "#eef5e8" },
|
|
22462
|
+
{ name: "muted", hex: "#e7efdf" },
|
|
22463
|
+
{ name: "text", hex: "#1f2a1d" },
|
|
22464
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
22465
|
+
{ name: "border", hex: "#cbd8c0" }
|
|
22466
|
+
]
|
|
22467
|
+
});
|
|
22468
|
+
var softNaturalStone = definePaletteVariant({
|
|
22469
|
+
id: "soft-natural-stone",
|
|
22470
|
+
name: "Soft Natural \u2014 Stone",
|
|
22471
|
+
description: "River-stone grey-green primary with cool neutrals.",
|
|
22472
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
22473
|
+
mode: "light",
|
|
22474
|
+
colors: [
|
|
22475
|
+
{ name: "primary", hex: "#5a7a5d" },
|
|
22476
|
+
{ name: "secondary", hex: "#8a9a8c" },
|
|
22477
|
+
{ name: "accent", hex: "#c9b88f" },
|
|
22478
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
22479
|
+
{ name: "warning", hex: "#a89466" },
|
|
22480
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22481
|
+
{ name: "background", hex: "#faf6ec" },
|
|
22482
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22483
|
+
{ name: "surfaceAlt", hex: "#f0ecdf" },
|
|
22484
|
+
{ name: "muted", hex: "#e6e1d0" },
|
|
22485
|
+
{ name: "text", hex: "#2f3d31" },
|
|
22486
|
+
{ name: "primaryForeground", hex: "#faf6ec" },
|
|
22487
|
+
{ name: "border", hex: "#c9c1ad" }
|
|
22488
|
+
]
|
|
22489
|
+
});
|
|
22490
|
+
var softNaturalWatercolor = definePaletteVariant({
|
|
22491
|
+
id: "soft-natural-watercolor",
|
|
22492
|
+
name: "Soft Natural \u2014 Watercolor",
|
|
22493
|
+
description: "Soft sand primary with watercolour sage accents.",
|
|
22494
|
+
tags: { tone: "classic", energy: "vibrant", era: "organic" },
|
|
22495
|
+
mode: "light",
|
|
22496
|
+
colors: [
|
|
22497
|
+
{ name: "primary", hex: "#a8825f" },
|
|
22498
|
+
{ name: "secondary", hex: "#88a888" },
|
|
22499
|
+
{ name: "accent", hex: "#c8a78e" },
|
|
22500
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
22501
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
22502
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22503
|
+
{ name: "background", hex: "#fefdfa" },
|
|
22504
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22505
|
+
{ name: "surfaceAlt", hex: "#f6f1e6" },
|
|
22506
|
+
{ name: "muted", hex: "#eee7d1" },
|
|
22507
|
+
{ name: "text", hex: "#4a3d30" },
|
|
22508
|
+
{ name: "primaryForeground", hex: "#fefdfa" },
|
|
22509
|
+
{ name: "border", hex: "#d8c9a8" }
|
|
22510
|
+
]
|
|
22511
|
+
});
|
|
22512
|
+
|
|
22513
|
+
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
22514
|
+
var warmNeutralClay = definePaletteVariant({
|
|
22515
|
+
id: "warm-neutral-clay",
|
|
22516
|
+
name: "Warm Neutral \u2014 Clay",
|
|
22517
|
+
description: "Terracotta primary on a cream ground.",
|
|
22518
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22519
|
+
mode: "light",
|
|
22520
|
+
colors: [
|
|
22521
|
+
{ name: "primary", hex: "#8b5e34" },
|
|
22522
|
+
{ name: "secondary", hex: "#7c6f64" },
|
|
22523
|
+
{ name: "accent", hex: "#a15c38" },
|
|
22524
|
+
{ name: "success", hex: "#527853" },
|
|
22525
|
+
{ name: "warning", hex: "#b7791f" },
|
|
22526
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22527
|
+
{ name: "background", hex: "#fffaf3" },
|
|
22528
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22529
|
+
{ name: "surfaceAlt", hex: "#f5eadc" },
|
|
22530
|
+
{ name: "muted", hex: "#efe2d0" },
|
|
22531
|
+
{ name: "text", hex: "#2f241c" },
|
|
22532
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
22533
|
+
{ name: "border", hex: "#d8c6b3" }
|
|
22534
|
+
]
|
|
22535
|
+
});
|
|
22536
|
+
var warmNeutralCream = definePaletteVariant({
|
|
22537
|
+
id: "warm-neutral-cream",
|
|
22538
|
+
name: "Warm Neutral \u2014 Cream",
|
|
22539
|
+
description: "Soft sand primary with pale cream surfaces.",
|
|
22540
|
+
tags: { tone: "minimal", energy: "calm", era: "organic" },
|
|
22541
|
+
mode: "light",
|
|
22542
|
+
colors: [
|
|
22543
|
+
{ name: "primary", hex: "#b08864" },
|
|
22544
|
+
{ name: "secondary", hex: "#9a8c7e" },
|
|
22545
|
+
{ name: "accent", hex: "#c2956a" },
|
|
22546
|
+
{ name: "success", hex: "#7d8a5f" },
|
|
22547
|
+
{ name: "warning", hex: "#c89a4d" },
|
|
22548
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
22549
|
+
{ name: "background", hex: "#fdf8ee" },
|
|
22550
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22551
|
+
{ name: "surfaceAlt", hex: "#f4ebd9" },
|
|
22552
|
+
{ name: "muted", hex: "#ede3cf" },
|
|
22553
|
+
{ name: "text", hex: "#3b2f24" },
|
|
22554
|
+
{ name: "primaryForeground", hex: "#fdf8ee" },
|
|
22555
|
+
{ name: "border", hex: "#e0d2b8" }
|
|
22556
|
+
]
|
|
22557
|
+
});
|
|
22558
|
+
var warmNeutralForest = definePaletteVariant({
|
|
22559
|
+
id: "warm-neutral-forest",
|
|
22560
|
+
name: "Warm Neutral \u2014 Forest",
|
|
22561
|
+
description: "Deep forest green primary with earthy neutrals.",
|
|
22562
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
22563
|
+
mode: "light",
|
|
22564
|
+
colors: [
|
|
22565
|
+
{ name: "primary", hex: "#3d5840" },
|
|
22566
|
+
{ name: "secondary", hex: "#7a6f5d" },
|
|
22567
|
+
{ name: "accent", hex: "#b06b50" },
|
|
22568
|
+
{ name: "success", hex: "#5a7a5d" },
|
|
22569
|
+
{ name: "warning", hex: "#b7791f" },
|
|
22570
|
+
{ name: "destructive", hex: "#b91c1c" },
|
|
22571
|
+
{ name: "background", hex: "#fbf8f0" },
|
|
22572
|
+
{ name: "surface", hex: "#ffffff" },
|
|
22573
|
+
{ name: "surfaceAlt", hex: "#f2ecdb" },
|
|
22574
|
+
{ name: "muted", hex: "#ebe3cc" },
|
|
22575
|
+
{ name: "text", hex: "#2a2a2a" },
|
|
22576
|
+
{ name: "primaryForeground", hex: "#fbf8f0" },
|
|
22577
|
+
{ name: "border", hex: "#cdc1a4" }
|
|
22578
|
+
]
|
|
22579
|
+
});
|
|
22580
|
+
|
|
22581
|
+
// ../theme-core/src/palette/variants/index.ts
|
|
22582
|
+
var paletteVariants = [
|
|
22583
|
+
// Brand-led family
|
|
22584
|
+
brandLedCool,
|
|
22585
|
+
brandLedWarm,
|
|
22586
|
+
brandLedJewel,
|
|
22587
|
+
// Warm-neutral family
|
|
22588
|
+
warmNeutralClay,
|
|
22589
|
+
warmNeutralCream,
|
|
22590
|
+
warmNeutralForest,
|
|
22591
|
+
// High-contrast family
|
|
22592
|
+
highContrastInk,
|
|
22593
|
+
highContrastCharcoal,
|
|
22594
|
+
highContrastMonochrome,
|
|
22595
|
+
// Soft-natural family
|
|
22596
|
+
softNaturalSage,
|
|
22597
|
+
softNaturalStone,
|
|
22598
|
+
softNaturalWatercolor
|
|
22599
|
+
];
|
|
22600
|
+
new Map(
|
|
22601
|
+
paletteVariants.map((v) => [v.id, v])
|
|
22602
|
+
);
|
|
22603
|
+
|
|
22604
|
+
// ../theme-core/src/site-styles/sourceCatalogs.ts
|
|
22605
|
+
var generatedContentFrames = [
|
|
22606
|
+
plainFrame,
|
|
22607
|
+
panelFrame("inset"),
|
|
22608
|
+
panelFrame("raised"),
|
|
22609
|
+
flushPanelFrame({ bleed: "start" })
|
|
22610
|
+
];
|
|
22611
|
+
var userContentFrames = [
|
|
22612
|
+
...generatedContentFrames,
|
|
22613
|
+
panelFrame("editorial"),
|
|
22614
|
+
flushPanelFrame({ bleed: "end" }),
|
|
22615
|
+
flushPanelFrame({ bleed: "both" })
|
|
22616
|
+
];
|
|
22617
|
+
var generatedDesignOptionCatalog = {
|
|
22618
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
22619
|
+
contentFrames: generatedContentFrames,
|
|
22620
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
22621
|
+
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
22622
|
+
emphases: ["low", "medium", "high"]};
|
|
22623
|
+
var userDesignOptionCatalog = {
|
|
22624
|
+
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
22625
|
+
contentFrames: userContentFrames,
|
|
22626
|
+
itemSurfaces: [
|
|
22627
|
+
...generatedDesignOptionCatalog.itemSurfaces,
|
|
22628
|
+
"inset",
|
|
22629
|
+
"editorial"
|
|
22630
|
+
],
|
|
22631
|
+
transitions: [
|
|
22632
|
+
...generatedDesignOptionCatalog.transitions,
|
|
22633
|
+
"wave-edge",
|
|
22634
|
+
"angle-edge"
|
|
22635
|
+
],
|
|
22636
|
+
emphases: generatedDesignOptionCatalog.emphases};
|
|
22637
|
+
|
|
22638
|
+
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
22639
|
+
var curatedSiteStyleIdValues = [
|
|
22640
|
+
"site-style:calm-studio",
|
|
22641
|
+
"site-style:clear-professional",
|
|
22642
|
+
"site-style:warm-editorial",
|
|
22643
|
+
"site-style:bright-community",
|
|
22644
|
+
"site-style:quiet-luxury",
|
|
22645
|
+
"site-style:practical-services",
|
|
22646
|
+
"site-style:modern-wellness",
|
|
22647
|
+
"site-style:bold-launch"
|
|
22648
|
+
];
|
|
22649
|
+
var quietBudget = {
|
|
22650
|
+
accentDensity: "low",
|
|
22651
|
+
panelDensity: "medium",
|
|
22652
|
+
transitionMix: "quiet",
|
|
22653
|
+
primaryCtaLimit: 2,
|
|
22654
|
+
mediaDensity: "medium",
|
|
22655
|
+
decorativeRepetition: "low"
|
|
22656
|
+
};
|
|
22657
|
+
var balancedBudget = {
|
|
22658
|
+
accentDensity: "medium",
|
|
22659
|
+
panelDensity: "medium",
|
|
22660
|
+
transitionMix: "balanced",
|
|
22661
|
+
primaryCtaLimit: 3,
|
|
22662
|
+
mediaDensity: "medium",
|
|
22663
|
+
decorativeRepetition: "medium"
|
|
22664
|
+
};
|
|
22665
|
+
var expressiveBudget = {
|
|
22666
|
+
accentDensity: "high",
|
|
22667
|
+
panelDensity: "high",
|
|
22668
|
+
transitionMix: "expressive",
|
|
22669
|
+
primaryCtaLimit: 3,
|
|
22670
|
+
mediaDensity: "high",
|
|
22671
|
+
decorativeRepetition: "medium"
|
|
22672
|
+
};
|
|
22673
|
+
function uniqueContentFrameKinds() {
|
|
22674
|
+
const kinds = [...new Set(
|
|
22675
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
22676
|
+
)];
|
|
22677
|
+
const firstKind = kinds[0];
|
|
22678
|
+
if (!firstKind) {
|
|
22679
|
+
throw new Error("Expected generated design option catalog to expose at least one content frame kind.");
|
|
22680
|
+
}
|
|
22681
|
+
return [firstKind, ...kinds.slice(1)];
|
|
22682
|
+
}
|
|
22683
|
+
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
22684
|
+
function defineCuratedSiteStyle(input) {
|
|
22685
|
+
return {
|
|
22686
|
+
id: asSiteStyleId(input.id),
|
|
22687
|
+
name: input.name,
|
|
22688
|
+
description: input.description,
|
|
22689
|
+
generationBrief: input.generationBrief,
|
|
22690
|
+
selectionKeywords: input.selectionKeywords ?? [],
|
|
22691
|
+
template: {
|
|
22692
|
+
id: asDesignSystemTemplateId(`template:${input.id.replace("site-style:", "")}`),
|
|
22693
|
+
name: input.name,
|
|
22694
|
+
version: 1,
|
|
22695
|
+
tokenRecipes: input.tokenRecipes,
|
|
22696
|
+
compositionBudget: input.compositionBudget,
|
|
22697
|
+
supportedSectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
22698
|
+
supportedContentFrames: generatedContentFrameKinds,
|
|
22699
|
+
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
22700
|
+
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
22701
|
+
},
|
|
22702
|
+
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
22703
|
+
paletteVariantChoices: input.paletteVariantChoices
|
|
22704
|
+
};
|
|
22705
|
+
}
|
|
22706
|
+
function buttonChoice(id, note) {
|
|
22707
|
+
return { id: asButtonPersonalityId(id) };
|
|
22708
|
+
}
|
|
22709
|
+
function paletteChoice(id, note) {
|
|
22710
|
+
return { id: asPaletteVariantId(id) };
|
|
22711
|
+
}
|
|
22712
|
+
var curatedSiteStyles = [
|
|
22713
|
+
defineCuratedSiteStyle({
|
|
22714
|
+
id: "site-style:calm-studio",
|
|
22715
|
+
name: "Calm Studio",
|
|
22716
|
+
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
22717
|
+
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
22718
|
+
tokenRecipes: {
|
|
22719
|
+
palette: "soft-natural",
|
|
22720
|
+
contrast: "standard",
|
|
22721
|
+
radius: "soft",
|
|
22722
|
+
shadow: "subtle",
|
|
22723
|
+
typography: "friendly-sans",
|
|
22724
|
+
spacing: "airy",
|
|
22725
|
+
motion: "subtle"
|
|
22726
|
+
},
|
|
22727
|
+
compositionBudget: quietBudget,
|
|
22728
|
+
buttonPersonalityChoices: [
|
|
22729
|
+
buttonChoice("soft-pill"),
|
|
22730
|
+
buttonChoice("pebble"),
|
|
22731
|
+
buttonChoice("editorial-link"),
|
|
22732
|
+
buttonChoice("brushed-wash")
|
|
22733
|
+
],
|
|
22734
|
+
paletteVariantChoices: [
|
|
22735
|
+
paletteChoice("soft-natural-sage"),
|
|
22736
|
+
paletteChoice("soft-natural-stone"),
|
|
22737
|
+
paletteChoice("warm-neutral-clay"),
|
|
22738
|
+
paletteChoice("soft-natural-watercolor")
|
|
22739
|
+
]
|
|
22740
|
+
}),
|
|
22741
|
+
defineCuratedSiteStyle({
|
|
22742
|
+
id: "site-style:clear-professional",
|
|
22743
|
+
name: "Clear Professional",
|
|
22744
|
+
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
22745
|
+
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
22746
|
+
tokenRecipes: {
|
|
22747
|
+
palette: "brand-led",
|
|
22748
|
+
contrast: "strong",
|
|
22749
|
+
radius: "soft",
|
|
22750
|
+
shadow: "subtle",
|
|
22751
|
+
typography: "clean-sans",
|
|
22752
|
+
spacing: "regular",
|
|
22753
|
+
motion: "subtle"
|
|
22754
|
+
},
|
|
22755
|
+
compositionBudget: balancedBudget,
|
|
22756
|
+
buttonPersonalityChoices: [
|
|
22757
|
+
buttonChoice("confident-chip"),
|
|
22758
|
+
buttonChoice("soft-pill"),
|
|
22759
|
+
buttonChoice("editorial-link")
|
|
22760
|
+
],
|
|
22761
|
+
paletteVariantChoices: [
|
|
22762
|
+
paletteChoice("brand-led-cool"),
|
|
22763
|
+
paletteChoice("high-contrast-ink"),
|
|
22764
|
+
paletteChoice("brand-led-jewel")
|
|
22765
|
+
]
|
|
22766
|
+
}),
|
|
22767
|
+
defineCuratedSiteStyle({
|
|
22768
|
+
id: "site-style:warm-editorial",
|
|
22769
|
+
name: "Warm Editorial",
|
|
22770
|
+
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
22771
|
+
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
22772
|
+
tokenRecipes: {
|
|
22773
|
+
palette: "warm-neutral",
|
|
22774
|
+
contrast: "standard",
|
|
22775
|
+
radius: "square",
|
|
22776
|
+
shadow: "none",
|
|
22777
|
+
typography: "serif-editorial",
|
|
22778
|
+
spacing: "airy",
|
|
22779
|
+
motion: "subtle"
|
|
22780
|
+
},
|
|
22781
|
+
compositionBudget: balancedBudget,
|
|
22782
|
+
buttonPersonalityChoices: [
|
|
22783
|
+
buttonChoice("editorial-link"),
|
|
22784
|
+
buttonChoice("soft-pill"),
|
|
22785
|
+
buttonChoice("brushed-wash")
|
|
22786
|
+
],
|
|
22787
|
+
paletteVariantChoices: [
|
|
22788
|
+
paletteChoice("warm-neutral-cream"),
|
|
22789
|
+
paletteChoice("warm-neutral-clay"),
|
|
22790
|
+
paletteChoice("warm-neutral-forest"),
|
|
22791
|
+
paletteChoice("soft-natural-stone")
|
|
22792
|
+
]
|
|
22793
|
+
}),
|
|
22794
|
+
defineCuratedSiteStyle({
|
|
22795
|
+
id: "site-style:bright-community",
|
|
22796
|
+
name: "Bright Community",
|
|
22797
|
+
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
22798
|
+
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
22799
|
+
tokenRecipes: {
|
|
22800
|
+
palette: "brand-led",
|
|
22801
|
+
contrast: "standard",
|
|
22802
|
+
radius: "rounded",
|
|
22803
|
+
shadow: "subtle",
|
|
22804
|
+
typography: "friendly-sans",
|
|
22805
|
+
spacing: "regular",
|
|
22806
|
+
motion: "expressive"
|
|
22807
|
+
},
|
|
22808
|
+
compositionBudget: balancedBudget,
|
|
22809
|
+
buttonPersonalityChoices: [
|
|
22810
|
+
buttonChoice("pebble"),
|
|
22811
|
+
buttonChoice("brushed-wash"),
|
|
22812
|
+
buttonChoice("confident-chip")
|
|
22813
|
+
],
|
|
22814
|
+
paletteVariantChoices: [
|
|
22815
|
+
paletteChoice("brand-led-warm"),
|
|
22816
|
+
paletteChoice("brand-led-jewel"),
|
|
22817
|
+
paletteChoice("soft-natural-watercolor")
|
|
22818
|
+
]
|
|
22819
|
+
}),
|
|
22820
|
+
defineCuratedSiteStyle({
|
|
22821
|
+
id: "site-style:quiet-luxury",
|
|
22822
|
+
name: "Quiet Luxury",
|
|
22823
|
+
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
22824
|
+
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
22825
|
+
selectionKeywords: [
|
|
22826
|
+
"luxury",
|
|
22827
|
+
"premium",
|
|
22828
|
+
"boutique",
|
|
22829
|
+
"bespoke",
|
|
22830
|
+
"exclusive"
|
|
22831
|
+
],
|
|
22832
|
+
tokenRecipes: {
|
|
22833
|
+
palette: "high-contrast",
|
|
22834
|
+
contrast: "strong",
|
|
22835
|
+
radius: "square",
|
|
22836
|
+
shadow: "none",
|
|
22837
|
+
typography: "classic-serif",
|
|
22838
|
+
spacing: "airy",
|
|
22839
|
+
motion: "none"
|
|
22840
|
+
},
|
|
22841
|
+
compositionBudget: quietBudget,
|
|
22842
|
+
buttonPersonalityChoices: [
|
|
22843
|
+
buttonChoice("editorial-link"),
|
|
22844
|
+
buttonChoice("confident-chip"),
|
|
22845
|
+
buttonChoice("soft-pill")
|
|
22846
|
+
],
|
|
22847
|
+
paletteVariantChoices: [
|
|
22848
|
+
paletteChoice("high-contrast-charcoal"),
|
|
22849
|
+
paletteChoice("high-contrast-ink"),
|
|
22850
|
+
paletteChoice("warm-neutral-cream")
|
|
22851
|
+
]
|
|
22852
|
+
}),
|
|
22853
|
+
defineCuratedSiteStyle({
|
|
22854
|
+
id: "site-style:practical-services",
|
|
22855
|
+
name: "Practical Services",
|
|
22856
|
+
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
22857
|
+
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
22858
|
+
selectionKeywords: [
|
|
22859
|
+
"repair",
|
|
22860
|
+
"plumb",
|
|
22861
|
+
"electric",
|
|
22862
|
+
"cleaning",
|
|
22863
|
+
"landscap",
|
|
22864
|
+
"contractor"
|
|
22865
|
+
],
|
|
22866
|
+
tokenRecipes: {
|
|
22867
|
+
palette: "brand-led",
|
|
22868
|
+
contrast: "maximum",
|
|
22869
|
+
radius: "soft",
|
|
22870
|
+
shadow: "subtle",
|
|
22871
|
+
typography: "clean-sans",
|
|
22872
|
+
spacing: "compact",
|
|
22873
|
+
motion: "none"
|
|
22874
|
+
},
|
|
22875
|
+
compositionBudget: quietBudget,
|
|
22876
|
+
buttonPersonalityChoices: [
|
|
22877
|
+
buttonChoice("confident-chip"),
|
|
22878
|
+
buttonChoice("pebble"),
|
|
22879
|
+
buttonChoice("ink-stamp")
|
|
22880
|
+
],
|
|
22881
|
+
paletteVariantChoices: [
|
|
22882
|
+
paletteChoice("brand-led-cool"),
|
|
22883
|
+
paletteChoice("high-contrast-ink"),
|
|
22884
|
+
paletteChoice("brand-led-warm")
|
|
22885
|
+
]
|
|
22886
|
+
}),
|
|
22887
|
+
defineCuratedSiteStyle({
|
|
22888
|
+
id: "site-style:modern-wellness",
|
|
22889
|
+
name: "Modern Wellness",
|
|
22890
|
+
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
22891
|
+
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
22892
|
+
tokenRecipes: {
|
|
22893
|
+
palette: "soft-natural",
|
|
22894
|
+
contrast: "standard",
|
|
22895
|
+
radius: "rounded",
|
|
22896
|
+
shadow: "subtle",
|
|
22897
|
+
typography: "clean-sans",
|
|
22898
|
+
spacing: "airy",
|
|
22899
|
+
motion: "subtle"
|
|
22900
|
+
},
|
|
22901
|
+
compositionBudget: balancedBudget,
|
|
22902
|
+
buttonPersonalityChoices: [
|
|
22903
|
+
buttonChoice("soft-pill"),
|
|
22904
|
+
buttonChoice("pebble"),
|
|
22905
|
+
buttonChoice("confident-chip")
|
|
22906
|
+
],
|
|
22907
|
+
paletteVariantChoices: [
|
|
22908
|
+
paletteChoice("soft-natural-sage"),
|
|
22909
|
+
paletteChoice("soft-natural-stone"),
|
|
22910
|
+
paletteChoice("warm-neutral-forest")
|
|
22911
|
+
]
|
|
22912
|
+
}),
|
|
22913
|
+
defineCuratedSiteStyle({
|
|
22914
|
+
id: "site-style:bold-launch",
|
|
22915
|
+
name: "Bold Launch",
|
|
22916
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
22917
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
22918
|
+
selectionKeywords: [
|
|
22919
|
+
"launch",
|
|
22920
|
+
"campaign",
|
|
22921
|
+
"preorder",
|
|
22922
|
+
"pre-order",
|
|
22923
|
+
"waitlist",
|
|
22924
|
+
"drop"
|
|
22925
|
+
],
|
|
22926
|
+
tokenRecipes: {
|
|
22927
|
+
palette: "high-contrast",
|
|
22928
|
+
contrast: "maximum",
|
|
22929
|
+
radius: "pill",
|
|
22930
|
+
shadow: "layered",
|
|
22931
|
+
typography: "clean-sans",
|
|
22932
|
+
spacing: "regular",
|
|
22933
|
+
motion: "expressive"
|
|
22934
|
+
},
|
|
22935
|
+
compositionBudget: expressiveBudget,
|
|
22936
|
+
buttonPersonalityChoices: [
|
|
22937
|
+
buttonChoice("ink-stamp"),
|
|
22938
|
+
buttonChoice("confident-chip"),
|
|
22939
|
+
buttonChoice("brushed-wash"),
|
|
22940
|
+
buttonChoice("pebble")
|
|
22941
|
+
],
|
|
22942
|
+
paletteVariantChoices: [
|
|
22943
|
+
paletteChoice("high-contrast-monochrome"),
|
|
22944
|
+
paletteChoice("high-contrast-ink"),
|
|
22945
|
+
paletteChoice("brand-led-jewel"),
|
|
22946
|
+
paletteChoice("brand-led-warm")
|
|
22947
|
+
]
|
|
22948
|
+
})
|
|
22949
|
+
];
|
|
22950
|
+
new Map(
|
|
22951
|
+
curatedSiteStyles.map((style) => [style.id, style])
|
|
22952
|
+
);
|
|
22953
|
+
|
|
22954
|
+
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
22955
|
+
var themeV2RuntimeStyleFieldNames = [
|
|
22956
|
+
"_frameStyles",
|
|
22957
|
+
"_sectionStyles",
|
|
22958
|
+
"_containerStyles",
|
|
22959
|
+
"_cardStyles",
|
|
22960
|
+
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
22961
|
+
// override object, but normal editors should still never see it directly.
|
|
22962
|
+
"styleGroup"
|
|
22963
|
+
];
|
|
22964
|
+
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
22965
|
+
"_contentCardStyles",
|
|
22966
|
+
"_textCardStyles"
|
|
22967
|
+
];
|
|
22968
|
+
var themeV2NormalEditorRawStyleFieldNames = [
|
|
22969
|
+
...themeV2RuntimeStyleFieldNames,
|
|
22970
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
22971
|
+
];
|
|
22972
|
+
new Set(
|
|
22973
|
+
themeV2NormalEditorRawStyleFieldNames
|
|
22974
|
+
);
|
|
22975
|
+
|
|
22976
|
+
// ../theme-core/src/site-styles/designState.ts
|
|
22977
|
+
var themeV2DesignStateSchemaVersion = 1;
|
|
22978
|
+
var designResolutionPolicySchema = z.enum(["generated", "user", "admin", "sdk"]);
|
|
22979
|
+
var runtimeStyleFieldNameSchema = z.enum(themeV2RuntimeStyleFieldNames);
|
|
22980
|
+
var nonEmptyRuntimeStyleFieldNamesSchema = z.array(runtimeStyleFieldNameSchema).min(1).transform((fields3) => [
|
|
22981
|
+
fields3[0],
|
|
22982
|
+
...fields3.slice(1)
|
|
22983
|
+
]);
|
|
22984
|
+
var heroLegibilityStrategySchema = z.enum([
|
|
22985
|
+
"none",
|
|
22986
|
+
"scrim-gradient",
|
|
22987
|
+
"solid-panel"
|
|
22988
|
+
]);
|
|
22989
|
+
function uniqueNonEmpty(values) {
|
|
22990
|
+
const uniqueValues = [...new Set(values)];
|
|
22991
|
+
const firstValue = uniqueValues[0];
|
|
22992
|
+
if (!firstValue) {
|
|
22993
|
+
throw new Error("Expected at least one Theme V2 design state option.");
|
|
22994
|
+
}
|
|
22995
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
22996
|
+
}
|
|
22997
|
+
var userPanelTreatments = uniqueNonEmpty(
|
|
22998
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
22999
|
+
);
|
|
23000
|
+
var userFlushTreatments = uniqueNonEmpty(
|
|
23001
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
23002
|
+
);
|
|
23003
|
+
var userFlushBleeds = uniqueNonEmpty(
|
|
23004
|
+
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
23005
|
+
);
|
|
23006
|
+
var contentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
23007
|
+
z.object({ kind: z.literal("plain") }).strict(),
|
|
23008
|
+
z.object({
|
|
23009
|
+
kind: z.literal("panel"),
|
|
23010
|
+
treatment: z.enum(userPanelTreatments)
|
|
23011
|
+
}).strict(),
|
|
23012
|
+
z.object({
|
|
23013
|
+
kind: z.literal("flush-panel"),
|
|
23014
|
+
treatment: z.enum(userFlushTreatments),
|
|
23015
|
+
bleed: z.enum(userFlushBleeds)
|
|
23016
|
+
}).strict()
|
|
23017
|
+
]);
|
|
23018
|
+
var blockDesignPlanSchema = z.object({
|
|
23019
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23020
|
+
blockKind: z.string().min(1),
|
|
23021
|
+
purpose: z.string().min(1),
|
|
23022
|
+
sectionSurface: z.enum(userDesignOptionCatalog.sectionSurfaces),
|
|
23023
|
+
contentFrame: contentFrameIntentSchema,
|
|
23024
|
+
itemSurface: z.enum(userDesignOptionCatalog.itemSurfaces),
|
|
23025
|
+
transitionAfter: z.enum(userDesignOptionCatalog.transitions),
|
|
23026
|
+
emphasis: z.enum(userDesignOptionCatalog.emphases),
|
|
23027
|
+
heroLegibility: heroLegibilityStrategySchema.optional()
|
|
23028
|
+
}).strict();
|
|
23029
|
+
var styleAuthoritySchema = z.discriminatedUnion("kind", [
|
|
23030
|
+
z.object({
|
|
23031
|
+
kind: z.literal("theme-v2"),
|
|
23032
|
+
source: designResolutionPolicySchema,
|
|
23033
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23034
|
+
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
23035
|
+
templateVersion: z.number().int().nonnegative(),
|
|
23036
|
+
resolverVersion: z.number().int().nonnegative()
|
|
23037
|
+
}).strict(),
|
|
23038
|
+
z.object({
|
|
23039
|
+
kind: z.literal("legacy-raw"),
|
|
23040
|
+
reason: z.enum(["pre-theme-v2", "manual-runtime-fields"])
|
|
23041
|
+
}).strict(),
|
|
23042
|
+
z.object({
|
|
23043
|
+
kind: z.literal("advanced-detached"),
|
|
23044
|
+
reason: z.literal("detached-custom-runtime-fields")
|
|
23045
|
+
}).strict()
|
|
23046
|
+
]);
|
|
23047
|
+
var blockRuntimeStyleAuthoritySchema = z.object({
|
|
23048
|
+
unit: z.literal("block-runtime-fields"),
|
|
23049
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23050
|
+
fields: nonEmptyRuntimeStyleFieldNamesSchema,
|
|
23051
|
+
authority: styleAuthoritySchema
|
|
23052
|
+
}).strict();
|
|
23053
|
+
z.object({
|
|
23054
|
+
schemaVersion: z.literal(themeV2DesignStateSchemaVersion),
|
|
23055
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23056
|
+
templateId: z.string().min(1).transform(asDesignSystemTemplateId),
|
|
23057
|
+
templateVersion: z.number().int().nonnegative(),
|
|
23058
|
+
resolverVersion: z.number().int().nonnegative(),
|
|
23059
|
+
rhythmPresetId: z.string().min(1),
|
|
23060
|
+
blocks: z.array(blockDesignPlanSchema),
|
|
23061
|
+
styleAuthorities: z.array(blockRuntimeStyleAuthoritySchema)
|
|
23062
|
+
}).strict();
|
|
23063
|
+
function uniqueNonEmpty2(values) {
|
|
23064
|
+
const uniqueValues = [...new Set(values)];
|
|
23065
|
+
const firstValue = uniqueValues[0];
|
|
23066
|
+
if (!firstValue) {
|
|
23067
|
+
throw new Error("Expected at least one generated schema option.");
|
|
23068
|
+
}
|
|
23069
|
+
return [firstValue, ...uniqueValues.slice(1)];
|
|
23070
|
+
}
|
|
23071
|
+
var generatedPanelTreatments = uniqueNonEmpty2(
|
|
23072
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
23073
|
+
);
|
|
23074
|
+
var generatedFlushTreatments = uniqueNonEmpty2(
|
|
23075
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment)
|
|
23076
|
+
);
|
|
23077
|
+
var generatedFlushBleeds = uniqueNonEmpty2(
|
|
23078
|
+
generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed)
|
|
23079
|
+
);
|
|
23080
|
+
var generatedPanelFrameSchema = z.object({
|
|
23081
|
+
kind: z.literal("panel"),
|
|
23082
|
+
treatment: z.enum(generatedPanelTreatments)
|
|
23083
|
+
}).strict();
|
|
23084
|
+
var generatedFlushPanelFrameSchema = z.object({
|
|
23085
|
+
kind: z.literal("flush-panel"),
|
|
23086
|
+
treatment: z.enum(generatedFlushTreatments),
|
|
23087
|
+
bleed: z.enum(generatedFlushBleeds)
|
|
23088
|
+
}).strict();
|
|
23089
|
+
var generatedContentFrameIntentSchema = z.discriminatedUnion("kind", [
|
|
23090
|
+
z.object({ kind: z.literal("plain") }).strict(),
|
|
23091
|
+
generatedPanelFrameSchema,
|
|
23092
|
+
generatedFlushPanelFrameSchema
|
|
23093
|
+
]);
|
|
23094
|
+
var generatedSiteStyleIdSchema = z.enum(curatedSiteStyleIdValues).transform(asSiteStyleId);
|
|
23095
|
+
function generatedChoiceSchema(valueSchema) {
|
|
23096
|
+
return z.discriminatedUnion("kind", [
|
|
23097
|
+
z.object({
|
|
23098
|
+
source: z.literal("generated"),
|
|
23099
|
+
kind: z.literal("auto")
|
|
23100
|
+
}).strict(),
|
|
23101
|
+
z.object({
|
|
23102
|
+
source: z.literal("generated"),
|
|
23103
|
+
kind: z.literal("explicit"),
|
|
23104
|
+
value: valueSchema
|
|
23105
|
+
}).strict()
|
|
23106
|
+
]);
|
|
23107
|
+
}
|
|
23108
|
+
var generatedBlockDesignIntentSchema = z.object({
|
|
23109
|
+
sectionSurface: generatedChoiceSchema(
|
|
23110
|
+
z.enum(generatedDesignOptionCatalog.sectionSurfaces)
|
|
23111
|
+
),
|
|
23112
|
+
contentFrame: generatedChoiceSchema(generatedContentFrameIntentSchema),
|
|
23113
|
+
itemSurface: generatedChoiceSchema(
|
|
23114
|
+
z.enum(generatedDesignOptionCatalog.itemSurfaces)
|
|
23115
|
+
),
|
|
23116
|
+
transitionAfter: generatedChoiceSchema(
|
|
23117
|
+
z.enum(generatedDesignOptionCatalog.transitions)
|
|
23118
|
+
),
|
|
23119
|
+
emphasis: generatedChoiceSchema(
|
|
23120
|
+
z.enum(generatedDesignOptionCatalog.emphases)
|
|
23121
|
+
)
|
|
23122
|
+
}).strict();
|
|
23123
|
+
var generatedMediaCompositionIntentSchema = z.enum([
|
|
23124
|
+
"none",
|
|
23125
|
+
"supporting",
|
|
23126
|
+
"dominant"
|
|
23127
|
+
]);
|
|
23128
|
+
var generatedDecorativeCompositionIntentSchema = z.enum([
|
|
23129
|
+
"none",
|
|
23130
|
+
"supporting"
|
|
23131
|
+
]);
|
|
23132
|
+
var generatedHeroLegibilityStrategySchema = z.enum([
|
|
23133
|
+
"none",
|
|
23134
|
+
"scrim-gradient"
|
|
23135
|
+
]);
|
|
23136
|
+
var generatedBlockMediaIntentSchema = z.object({
|
|
23137
|
+
media: generatedMediaCompositionIntentSchema,
|
|
23138
|
+
decorative: generatedDecorativeCompositionIntentSchema,
|
|
23139
|
+
heroLegibility: generatedChoiceSchema(generatedHeroLegibilityStrategySchema)
|
|
23140
|
+
}).strict();
|
|
23141
|
+
var generatedBoundaryIntentSchema = z.object({
|
|
23142
|
+
transitionAfter: generatedChoiceSchema(
|
|
23143
|
+
z.enum(generatedDesignOptionCatalog.transitions)
|
|
23144
|
+
)
|
|
23145
|
+
}).strict();
|
|
23146
|
+
var generatedPageDesignBlockIntentSchema = z.object({
|
|
23147
|
+
blockId: z.string().min(1),
|
|
23148
|
+
blockKind: z.string().min(1),
|
|
23149
|
+
purpose: z.string().min(1),
|
|
23150
|
+
design: generatedBlockDesignIntentSchema,
|
|
23151
|
+
mediaIntent: generatedBlockMediaIntentSchema,
|
|
23152
|
+
boundaryIntent: generatedBoundaryIntentSchema
|
|
23153
|
+
}).strict();
|
|
23154
|
+
z.object({
|
|
23155
|
+
siteStyleId: generatedSiteStyleIdSchema,
|
|
23156
|
+
blocks: z.array(generatedPageDesignBlockIntentSchema)
|
|
23157
|
+
}).strict();
|
|
23158
|
+
var pageDesignIntentSchemaVersion = 1;
|
|
23159
|
+
var pageDesignUserPinnedAppearanceChoiceSchema = z.object({
|
|
23160
|
+
kind: z.literal("user-pinned"),
|
|
23161
|
+
value: z.string().min(1).transform(asAppearancePresetId)
|
|
23162
|
+
}).strict();
|
|
23163
|
+
var pageDesignUserPinnedBoundaryChoiceSchema = z.object({
|
|
23164
|
+
kind: z.literal("user-pinned"),
|
|
23165
|
+
value: z.string().min(1).transform(asBoundaryOptionId)
|
|
23166
|
+
}).strict();
|
|
23167
|
+
var pageDesignBlockLookPinSchema = z.object({
|
|
23168
|
+
blockId: z.string().min(1).transform(asDesignBlockId),
|
|
23169
|
+
blockKind: z.string().min(1),
|
|
23170
|
+
choice: pageDesignUserPinnedAppearanceChoiceSchema
|
|
23171
|
+
}).strict();
|
|
23172
|
+
var pageDesignBoundaryPinSchema = z.object({
|
|
23173
|
+
boundaryId: z.string().min(1).transform(asDesignBoundaryId),
|
|
23174
|
+
previousBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
23175
|
+
nextBlockId: z.string().min(1).transform(asDesignBlockId),
|
|
23176
|
+
choice: pageDesignUserPinnedBoundaryChoiceSchema
|
|
23177
|
+
}).strict().superRefine((pin, ctx) => {
|
|
23178
|
+
const expectedBoundaryId = makeBoundaryId(
|
|
23179
|
+
pin.previousBlockId,
|
|
23180
|
+
pin.nextBlockId
|
|
23181
|
+
);
|
|
23182
|
+
if (pin.boundaryId !== expectedBoundaryId) {
|
|
23183
|
+
ctx.addIssue({
|
|
23184
|
+
code: z.ZodIssueCode.custom,
|
|
23185
|
+
path: ["boundaryId"],
|
|
23186
|
+
message: `Boundary id must match previousBlockId and nextBlockId. Expected ${expectedBoundaryId}.`
|
|
23187
|
+
});
|
|
23188
|
+
}
|
|
23189
|
+
});
|
|
23190
|
+
z.object({
|
|
23191
|
+
schemaVersion: z.literal(pageDesignIntentSchemaVersion),
|
|
23192
|
+
siteStyleId: z.string().min(1).transform(asSiteStyleId),
|
|
23193
|
+
pageFlowPresetId: z.string().min(1).transform(asPageFlowPresetId),
|
|
23194
|
+
blockLookPins: z.array(pageDesignBlockLookPinSchema),
|
|
23195
|
+
boundaryPins: z.array(pageDesignBoundaryPinSchema)
|
|
23196
|
+
}).strict().superRefine((intent, ctx) => {
|
|
23197
|
+
addDuplicateStringIssues(ctx, {
|
|
23198
|
+
values: intent.blockLookPins.map((pin) => pin.blockId),
|
|
23199
|
+
path: ["blockLookPins"],
|
|
23200
|
+
label: "block Look pin"
|
|
23201
|
+
});
|
|
23202
|
+
addDuplicateStringIssues(ctx, {
|
|
23203
|
+
values: intent.boundaryPins.map(
|
|
23204
|
+
(pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)
|
|
23205
|
+
),
|
|
23206
|
+
path: ["boundaryPins"],
|
|
23207
|
+
label: "boundary pin"
|
|
23208
|
+
});
|
|
23209
|
+
});
|
|
23210
|
+
function addDuplicateStringIssues(ctx, input) {
|
|
23211
|
+
const seen = /* @__PURE__ */ new Set();
|
|
23212
|
+
const duplicates = /* @__PURE__ */ new Set();
|
|
23213
|
+
for (const value of input.values) {
|
|
23214
|
+
if (seen.has(value)) {
|
|
23215
|
+
duplicates.add(value);
|
|
23216
|
+
}
|
|
23217
|
+
seen.add(value);
|
|
23218
|
+
}
|
|
23219
|
+
for (const duplicate of duplicates) {
|
|
23220
|
+
ctx.addIssue({
|
|
23221
|
+
code: z.ZodIssueCode.custom,
|
|
23222
|
+
path: [...input.path],
|
|
23223
|
+
message: `Duplicate ${input.label}: ${duplicate}.`
|
|
23224
|
+
});
|
|
23225
|
+
}
|
|
23226
|
+
}
|
|
23227
|
+
function boundaryKey(previousBlockId, nextBlockId) {
|
|
23228
|
+
return makeBoundaryId(previousBlockId, nextBlockId);
|
|
23229
|
+
}
|
|
23230
|
+
|
|
23231
|
+
// ../theme-core/src/site-styles/runtimeCompiler.ts
|
|
23232
|
+
init_personalities();
|
|
21991
23233
|
var nonEmptyStringSchema = z.string().min(1);
|
|
21992
23234
|
var blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
|
|
21993
23235
|
var designBlockIdSchema = nonEmptyStringSchema.transform(asDesignBlockId);
|
|
@@ -22104,6 +23346,8 @@ var noneBoundaryOption = {
|
|
|
22104
23346
|
id: asBoundaryOptionId("break:none")};
|
|
22105
23347
|
var softBoundaryOption = {
|
|
22106
23348
|
id: asBoundaryOptionId("break:soft")};
|
|
23349
|
+
({
|
|
23350
|
+
id: asBoundaryOptionId("break:wave")});
|
|
22107
23351
|
var spaciousBoundaryOption = {
|
|
22108
23352
|
id: asBoundaryOptionId("break:spacious")};
|
|
22109
23353
|
[
|
|
@@ -22126,6 +23370,9 @@ var spaciousBoundaryOption = {
|
|
|
22126
23370
|
defaultBoundaryOptionId: spaciousBoundaryOption.id
|
|
22127
23371
|
}
|
|
22128
23372
|
];
|
|
23373
|
+
|
|
23374
|
+
// ../theme-core/src/site-styles/index.ts
|
|
23375
|
+
init_styleTags();
|
|
22129
23376
|
var themeTokenRecipeOptions = {
|
|
22130
23377
|
palette: ["brand-led", "warm-neutral", "high-contrast", "soft-natural"],
|
|
22131
23378
|
contrast: ["standard", "strong", "maximum"],
|
|
@@ -22991,7 +24238,7 @@ var formattingTransforms = [
|
|
|
22991
24238
|
];
|
|
22992
24239
|
|
|
22993
24240
|
// ../blocks/src/system/transforms/registry/ui.ts
|
|
22994
|
-
|
|
24241
|
+
init_core2();
|
|
22995
24242
|
init_colorStyles();
|
|
22996
24243
|
init_blockColorTokens();
|
|
22997
24244
|
init_sectionState_shared();
|
|
@@ -23452,7 +24699,7 @@ var uiTransforms = [
|
|
|
23452
24699
|
|
|
23453
24700
|
// ../blocks/src/system/transforms/registry/layout.ts
|
|
23454
24701
|
init_colorConversion();
|
|
23455
|
-
|
|
24702
|
+
init_core2();
|
|
23456
24703
|
init_colorStyles();
|
|
23457
24704
|
var joinClasses4 = (parts) => parts.filter(
|
|
23458
24705
|
(part) => typeof part === "string" && part.trim().length > 0
|
|
@@ -24138,14 +25385,16 @@ var headerCta = ctaButton({
|
|
|
24138
25385
|
whenPath: "menu.ctaItem.label",
|
|
24139
25386
|
variantPath: "menu.ctaItem.variant",
|
|
24140
25387
|
linkPath: "menu.ctaItem.link",
|
|
24141
|
-
|
|
25388
|
+
sizeFallback: "sm",
|
|
25389
|
+
className: `header-cta ${desktopOnlyDisplay("inline-flex")} rb-ml-6`
|
|
24142
25390
|
});
|
|
24143
25391
|
var mobileCta = ctaButton({
|
|
24144
25392
|
basePath: "menu.ctaItem",
|
|
24145
25393
|
whenPath: "menu.ctaItem.label",
|
|
24146
25394
|
variantPath: "menu.ctaItem.variant",
|
|
24147
25395
|
linkPath: "menu.ctaItem.link",
|
|
24148
|
-
|
|
25396
|
+
sizeFallback: "md",
|
|
25397
|
+
className: "nav-mobile-cta rb-w-full"
|
|
24149
25398
|
});
|
|
24150
25399
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
24151
25400
|
{
|
|
@@ -24491,6 +25740,16 @@ var bodyTextLayout = () => {
|
|
|
24491
25740
|
const bodyTextNode = layout[0];
|
|
24492
25741
|
return bodyTextNode ? [bodyTextNode] : [];
|
|
24493
25742
|
};
|
|
25743
|
+
var businessAddressLayout = () => [
|
|
25744
|
+
text(
|
|
25745
|
+
{
|
|
25746
|
+
as: "p",
|
|
25747
|
+
className: "rb-caption rb-opacity-80"
|
|
25748
|
+
},
|
|
25749
|
+
bind("site.businessAddress.displayAddress"),
|
|
25750
|
+
when("content.showBusinessAddress", { equals: true })
|
|
25751
|
+
)
|
|
25752
|
+
];
|
|
24494
25753
|
var inlineBottomTextLayout = () => {
|
|
24495
25754
|
const layout = footerTextLayout();
|
|
24496
25755
|
const bottomTextNode = layout[1];
|
|
@@ -24526,6 +25785,7 @@ var simpleFooterLayout = stack(
|
|
|
24526
25785
|
linkClassName: "footer-nav-link rb-inline-flex rb-items-center rb-px-4 rb-py-2 rb-nav-text transition-theme-standard"
|
|
24527
25786
|
}),
|
|
24528
25787
|
...bodyTextLayout(),
|
|
25788
|
+
...businessAddressLayout(),
|
|
24529
25789
|
...inlineBottomTextLayout()
|
|
24530
25790
|
],
|
|
24531
25791
|
when("$root.theme.footer.variant", { equals: "simple" })
|
|
@@ -24574,6 +25834,7 @@ var columnsFooterLayout = stack(
|
|
|
24574
25834
|
]
|
|
24575
25835
|
),
|
|
24576
25836
|
...bodyTextLayout(),
|
|
25837
|
+
...businessAddressLayout(),
|
|
24577
25838
|
...inlineBottomTextLayout()
|
|
24578
25839
|
],
|
|
24579
25840
|
when("$root.theme.footer.variant", { equals: "columns" })
|
|
@@ -24676,6 +25937,7 @@ var splitFooterLayout = stack(
|
|
|
24676
25937
|
)
|
|
24677
25938
|
]
|
|
24678
25939
|
),
|
|
25940
|
+
...businessAddressLayout(),
|
|
24679
25941
|
...inlineBottomTextLayout()
|
|
24680
25942
|
],
|
|
24681
25943
|
when("$root.theme.footer.variant", { equals: "split" })
|
|
@@ -24756,6 +26018,16 @@ var siteFooterManifest = createBlockManifest({
|
|
|
24756
26018
|
fragments: [{ fragment: footerBottomTextFragment, fieldPriority: 0 }],
|
|
24757
26019
|
// Skip section styles - this block uses theme-based styling
|
|
24758
26020
|
skipSectionStyles: true,
|
|
26021
|
+
additionalFields: [
|
|
26022
|
+
{
|
|
26023
|
+
id: "showBusinessAddress",
|
|
26024
|
+
type: "boolean",
|
|
26025
|
+
label: "Add business address to site footer?",
|
|
26026
|
+
required: false,
|
|
26027
|
+
defaultValue: false,
|
|
26028
|
+
ui: { intent: "content" }
|
|
26029
|
+
}
|
|
26030
|
+
],
|
|
24759
26031
|
layout: footerLayout,
|
|
24760
26032
|
description: "Site-wide footer with navigation links and optional columns.",
|
|
24761
26033
|
styleTokens: {
|
|
@@ -28110,15 +29382,21 @@ function normalizeLocationMapContent(content) {
|
|
|
28110
29382
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
28111
29383
|
const normalized = normalizeLocationMapProps({
|
|
28112
29384
|
location: record.location,
|
|
29385
|
+
locationSource: record.locationSource,
|
|
29386
|
+
venueId: typeof record.venueId === "string" ? record.venueId : null,
|
|
28113
29387
|
zoom: record.zoom,
|
|
28114
29388
|
heightPx: record.heightPx,
|
|
28115
29389
|
showAddressText: record.showAddressText,
|
|
28116
29390
|
showDirections: record.showDirections,
|
|
28117
29391
|
directionsLabel: typeof record.directionsLabel === "string" ? record.directionsLabel : null
|
|
28118
29392
|
});
|
|
29393
|
+
const locationSource = normalizeLocationMapSource(record.locationSource);
|
|
29394
|
+
const venueId = typeof record.venueId === "string" && record.venueId.trim() ? record.venueId.trim() : null;
|
|
28119
29395
|
return {
|
|
28120
29396
|
heading: typeof record.heading === "string" ? record.heading : null,
|
|
28121
|
-
|
|
29397
|
+
locationSource,
|
|
29398
|
+
venueId: locationSource === "venue" ? venueId : null,
|
|
29399
|
+
location: locationSource === "custom" ? normalized.locationValue : null,
|
|
28122
29400
|
showAddressText: normalized.showAddressText,
|
|
28123
29401
|
showDirections: normalized.showDirections,
|
|
28124
29402
|
directionsLabel: normalized.directionsLabel,
|
|
@@ -28143,13 +29421,37 @@ var locationMapManifest = createBlockManifest({
|
|
|
28143
29421
|
required: false,
|
|
28144
29422
|
maxLength: 120
|
|
28145
29423
|
}),
|
|
29424
|
+
parseFieldDefinition({
|
|
29425
|
+
id: "locationSource",
|
|
29426
|
+
type: "select",
|
|
29427
|
+
label: "Location source",
|
|
29428
|
+
defaultValue: "custom",
|
|
29429
|
+
options: [
|
|
29430
|
+
{ value: "business_address", label: "Use business address" },
|
|
29431
|
+
{ value: "venue", label: "Use a venue" },
|
|
29432
|
+
{ value: "custom", label: "Custom address" }
|
|
29433
|
+
],
|
|
29434
|
+
ui: { intent: "content", widget: "locationSourceSelect" }
|
|
29435
|
+
}),
|
|
29436
|
+
createSiteOptionSelectField({
|
|
29437
|
+
id: "venueId",
|
|
29438
|
+
label: "Venue",
|
|
29439
|
+
required: false,
|
|
29440
|
+
multiple: false,
|
|
29441
|
+
optionSource: "venues",
|
|
29442
|
+
ui: { intent: "content", visibleWhen: { field: "locationSource", equals: "venue" } }
|
|
29443
|
+
}),
|
|
28146
29444
|
parseFieldDefinition({
|
|
28147
29445
|
id: "location",
|
|
28148
29446
|
type: "group",
|
|
28149
29447
|
label: "Location",
|
|
28150
29448
|
description: "Enter the address and place the map pin.",
|
|
28151
29449
|
required: true,
|
|
28152
|
-
ui: {
|
|
29450
|
+
ui: {
|
|
29451
|
+
widget: "locationPicker",
|
|
29452
|
+
intent: "content",
|
|
29453
|
+
visibleWhen: { field: "locationSource", equals: "custom" }
|
|
29454
|
+
},
|
|
28153
29455
|
schema: {
|
|
28154
29456
|
fields: [
|
|
28155
29457
|
{
|
|
@@ -28232,6 +29534,10 @@ var locationMapManifest = createBlockManifest({
|
|
|
28232
29534
|
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
28233
29535
|
el("location-map", {
|
|
28234
29536
|
location: { $bind: { from: "content.location", fallback: null } },
|
|
29537
|
+
businessAddress: { $bind: { from: "site.businessAddress", fallback: null } },
|
|
29538
|
+
locationSource: { $bind: { from: "content.locationSource", fallback: "custom" } },
|
|
29539
|
+
venueId: { $bind: { from: "content.venueId", fallback: null } },
|
|
29540
|
+
venuesById: { $bind: { from: "site.venuesById", fallback: null } },
|
|
28235
29541
|
zoom: { $bind: { from: "content.zoom", fallback: LOCATION_MAP_DEFAULTS.zoom } },
|
|
28236
29542
|
heightPx: { $bind: { from: "content.heightPx", fallback: LOCATION_MAP_DEFAULTS.heightPx } },
|
|
28237
29543
|
showAddressText: { $bind: { from: "content.showAddressText", fallback: LOCATION_MAP_DEFAULTS.showAddressText } },
|
|
@@ -28709,7 +30015,7 @@ function listBlockDefinitions() {
|
|
|
28709
30015
|
}
|
|
28710
30016
|
|
|
28711
30017
|
// ../blocks/src/system/transforms/registry/index.ts
|
|
28712
|
-
|
|
30018
|
+
init_core2();
|
|
28713
30019
|
|
|
28714
30020
|
// ../blocks/src/system/transforms/registry/background.ts
|
|
28715
30021
|
init_background2();
|
|
@@ -30453,6 +31759,7 @@ init_generateShades();
|
|
|
30453
31759
|
init_expandPalette();
|
|
30454
31760
|
|
|
30455
31761
|
// ../blocks/src/index.ts
|
|
31762
|
+
init_buttons();
|
|
30456
31763
|
init_tokens2();
|
|
30457
31764
|
|
|
30458
31765
|
// ../theme-core/src/ThemeScope.tsx
|
|
@@ -43569,7 +44876,7 @@ var SimpleCache = class {
|
|
|
43569
44876
|
};
|
|
43570
44877
|
|
|
43571
44878
|
// src/version.ts
|
|
43572
|
-
var SDK_VERSION = "0.60.
|
|
44879
|
+
var SDK_VERSION = "0.60.6";
|
|
43573
44880
|
|
|
43574
44881
|
// src/client/error.ts
|
|
43575
44882
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -44363,19 +45670,20 @@ function createRiverbankClient(config2) {
|
|
|
44363
45670
|
}
|
|
44364
45671
|
return {
|
|
44365
45672
|
async getSite(params) {
|
|
44366
|
-
const { slug, domain, id, signal, force } = params;
|
|
45673
|
+
const { slug, domain, id, signal, force, currentPath } = params;
|
|
44367
45674
|
if (!slug && !domain && !id) {
|
|
44368
45675
|
throw new Error(
|
|
44369
45676
|
`getSite() requires at least one identifier: slug, domain, or id. Received: ${JSON.stringify(params)}`
|
|
44370
45677
|
);
|
|
44371
45678
|
}
|
|
44372
|
-
const cacheKey = `site:${slug || domain || id}`;
|
|
45679
|
+
const cacheKey = `site:${slug || domain || id}:${currentPath ?? ""}`;
|
|
44373
45680
|
const siteId = id || slug || domain;
|
|
44374
45681
|
return resilientFetch(cacheKey, async (sig) => {
|
|
44375
45682
|
const apiParams = {};
|
|
44376
45683
|
if (params.slug) apiParams.slug = params.slug;
|
|
44377
45684
|
if (params.domain) apiParams.domain = params.domain;
|
|
44378
45685
|
if (params.id) apiParams.id = params.id;
|
|
45686
|
+
if (currentPath) apiParams.currentPath = currentPath;
|
|
44379
45687
|
if (force) apiParams.force = "true";
|
|
44380
45688
|
return await apiClient({
|
|
44381
45689
|
endpoint: "getSite",
|