@riverbankcms/sdk 0.60.0 → 0.60.3

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.
Files changed (140) hide show
  1. package/README.md +20 -3
  2. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -3
  3. package/dist/_dts/api/src/bookingRecords.d.ts +8 -0
  4. package/dist/_dts/api/src/communications.d.ts +1 -0
  5. package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +18 -1
  7. package/dist/_dts/api/src/index.d.ts +1 -1
  8. package/dist/_dts/api/src/media.d.ts +1 -1
  9. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +45 -1
  10. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +24 -1
  11. package/dist/_dts/api/src/siteSettings.d.ts +7 -0
  12. package/dist/_dts/api/src/types.d.ts +1 -1
  13. package/dist/_dts/billing/src/plans/types.d.ts +27 -0
  14. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -0
  15. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
  16. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
  17. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +173 -2
  18. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -2
  19. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -0
  20. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.client.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  23. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  25. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  27. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +16 -0
  28. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
  32. package/dist/_dts/content-editor/src/index.d.ts +2 -2
  33. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +9 -0
  34. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -0
  35. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -0
  36. package/dist/_dts/core/src/business-address.d.ts +38 -0
  37. package/dist/_dts/core/src/index.d.ts +1 -0
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +22 -0
  39. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  40. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +4 -0
  41. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -5
  42. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +7 -5
  43. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
  44. package/dist/_dts/editor-blocks/src/block-editor/reorderControlMode.d.ts +3 -0
  45. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +4 -0
  46. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +14 -0
  47. package/dist/_dts/media-react/src/index.d.ts +1 -1
  48. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +43 -20
  49. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  50. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +11 -28
  51. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
  52. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +1 -1
  53. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  54. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
  55. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
  56. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +99 -0
  57. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +12 -0
  58. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +41 -0
  59. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +15 -0
  60. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +106 -0
  61. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +34 -0
  62. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +2 -1
  63. package/dist/_dts/preview-next/src/client/preview/useOnboardingConfirmationCheck.d.ts +4 -9
  64. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  65. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  66. package/dist/_dts/preview-next/src/onboarding-preview-planner.d.ts +89 -0
  67. package/dist/_dts/preview-next/src/route-contract.d.ts +37 -0
  68. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  69. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +7 -76
  70. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +9 -0
  71. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +78 -0
  72. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +5 -5
  73. package/dist/_dts/sdk/src/rendering/server.d.ts +2 -2
  74. package/dist/_dts/sdk/src/version.d.ts +1 -1
  75. package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
  76. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
  77. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
  78. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  79. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +11 -0
  80. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +11 -0
  81. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +11 -0
  82. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +14 -0
  83. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +11 -0
  84. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +11 -0
  85. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +11 -0
  86. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
  87. package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
  88. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  89. package/dist/_dts/theme-core/src/index.d.ts +17 -16
  90. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
  91. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  92. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +28 -0
  93. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +28 -0
  94. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +17 -0
  95. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +28 -0
  96. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
  97. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +28 -0
  98. package/dist/_dts/theme-core/src/responsiveDisplay.d.ts +23 -0
  99. package/dist/_dts/theme-core/src/responsiveMode.d.ts +21 -0
  100. package/dist/_dts/theme-core/src/schema.d.ts +122 -10
  101. package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +109 -0
  102. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +193 -0
  103. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  104. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorErrors.d.ts +1 -0
  105. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
  106. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +43 -2
  107. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
  108. package/dist/_dts/ui/src/badge.d.ts +1 -1
  109. package/dist/_dts/ui/src/callout.d.ts +1 -1
  110. package/dist/_dts/ui/src/command-multi-select.d.ts +2 -2
  111. package/dist/cli/index.mjs +1590 -302
  112. package/dist/client/bookings.mjs +321 -144
  113. package/dist/client/client.mjs +4371 -2715
  114. package/dist/client/hooks.mjs +2826 -1675
  115. package/dist/client/rendering/client.mjs +3570 -2262
  116. package/dist/client/rendering/islands.mjs +1948 -756
  117. package/dist/client/rendering.mjs +42015 -40278
  118. package/dist/preview-next/before-render.mjs +5542 -0
  119. package/dist/preview-next/client/runtime.mjs +103364 -99924
  120. package/dist/preview-next/constants.mjs +0 -2
  121. package/dist/preview-next/index.mjs +0 -2
  122. package/dist/preview-next/middleware.mjs +5552 -1
  123. package/dist/server/components.mjs +11234 -9740
  124. package/dist/server/config-validation.mjs +3057 -1906
  125. package/dist/server/config.mjs +3057 -1906
  126. package/dist/server/data.mjs +2826 -1675
  127. package/dist/server/index.mjs +19 -2
  128. package/dist/server/next.mjs +3997 -2507
  129. package/dist/server/page-converter.mjs +2970 -1836
  130. package/dist/server/prebuild.mjs +1 -1
  131. package/dist/server/rendering/server.mjs +5960 -3200
  132. package/dist/server/rendering.mjs +12734 -11162
  133. package/dist/server/routing.mjs +3045 -1743
  134. package/dist/server/server.mjs +2827 -1676
  135. package/dist/server/theme-bridge.mjs +2074 -839
  136. package/dist/server/theme.mjs +1087 -492
  137. package/dist/styles/index.css +343 -299
  138. package/package.json +1 -1
  139. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
  140. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import z39, { z, ZodError } from 'zod';
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"() {
@@ -211,6 +217,7 @@ var init_src = __esm({
211
217
  init_person_records();
212
218
  init_rectification();
213
219
  init_location();
220
+ init_business_address();
214
221
  init_result();
215
222
  init_assert_never();
216
223
  init_try_async();
@@ -1523,6 +1530,172 @@ var init_typeGuards = __esm({
1523
1530
  "../blocks/src/lib/typeGuards.ts"() {
1524
1531
  }
1525
1532
  });
1533
+ var STYLE_AXIS_VALUES, styleTagsSchema;
1534
+ var init_compatibility = __esm({
1535
+ "../theme-core/src/site-styles/compatibility.ts"() {
1536
+ STYLE_AXIS_VALUES = {
1537
+ tone: ["minimal", "classic", "bold"],
1538
+ energy: ["calm", "vibrant"],
1539
+ motion: ["subtle", "standard", "expressive"],
1540
+ era: ["editorial", "modern", "organic", "technical", "retro"]
1541
+ };
1542
+ styleTagsSchema = z.object({
1543
+ tone: z.enum(STYLE_AXIS_VALUES.tone).optional(),
1544
+ energy: z.enum(STYLE_AXIS_VALUES.energy).optional(),
1545
+ motion: z.enum(STYLE_AXIS_VALUES.motion).optional(),
1546
+ era: z.enum(STYLE_AXIS_VALUES.era).optional()
1547
+ });
1548
+ }
1549
+ });
1550
+ var VARIANT_ROLES, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, hoverColorSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, buttonGlobalSettingsSchema, gradientDirectionSchema, buttonBackgroundSchema, effectApplicationSchema, buttonBorderSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, buttonVariantSchema, buttonSystemSchema;
1551
+ var init_types2 = __esm({
1552
+ "../theme-core/src/buttons/types.ts"() {
1553
+ VARIANT_ROLES = [
1554
+ "primary",
1555
+ "secondary",
1556
+ "outline",
1557
+ "ghost",
1558
+ "link",
1559
+ "tertiary",
1560
+ "accent"
1561
+ ];
1562
+ cornerStyleSchema = z.enum(["square", "rounded", "pill"]);
1563
+ shadowSizeSchema = z.enum(["none", "low", "medium", "high"]);
1564
+ textTransformSchema = z.enum(["none", "uppercase", "lowercase", "capitalize"]);
1565
+ fontWeightSchema = z.union([z.literal(500), z.literal(600), z.literal(700)]);
1566
+ buttonTypographySchema = z.enum(["body", "heading"]);
1567
+ letterSpacingSchema = z.enum(["tight", "normal", "loose"]);
1568
+ hoverTransformSchema = z.enum(["none", "lift", "scale", "press"]);
1569
+ hoverColorSchema = z.enum(["none", "brighten", "darken", "saturate", "token"]);
1570
+ buttonPaddingPresetSchema = z.enum(["compact", "default", "spacious"]);
1571
+ gradientStyleSchema = z.enum(["linear", "radial", "conic"]);
1572
+ gradientSharpnessSchema = z.enum(["smooth", "medium", "hard"]);
1573
+ prioritySchema = z.union([z.literal(1), z.literal(2), z.literal(3)]);
1574
+ z.enum(VARIANT_ROLES);
1575
+ buttonSizeNameSchema = z.enum(["sm", "md", "lg", "xl"]);
1576
+ PADDING_TOKEN_PATTERN = /^(?:0|\d+(?:\.\d+)?(?:rem|em|px|%))$/;
1577
+ paddingShorthandSchema = z.string().refine(
1578
+ (value) => {
1579
+ const parts = value.split(/\s+/).filter(Boolean);
1580
+ return parts.length === 2 && parts.every((token) => PADDING_TOKEN_PATTERN.test(token));
1581
+ },
1582
+ {
1583
+ message: 'Padding must be two space-separated CSS length tokens (e.g. "0.5rem 1rem"). Use `0` for zero.'
1584
+ }
1585
+ );
1586
+ buttonSizeConfigSchema = z.object({
1587
+ padding: paddingShorthandSchema,
1588
+ fontSize: z.string().optional()
1589
+ });
1590
+ buttonSizesSchema = z.object({
1591
+ sm: buttonSizeConfigSchema,
1592
+ md: buttonSizeConfigSchema,
1593
+ lg: buttonSizeConfigSchema,
1594
+ xl: buttonSizeConfigSchema.optional()
1595
+ }).transform(({ sm, md, lg, xl }) => ({
1596
+ sm,
1597
+ md,
1598
+ lg,
1599
+ xl: xl ?? lg
1600
+ }));
1601
+ buttonGlobalSettingsSchema = z.object({
1602
+ cornerStyle: cornerStyleSchema,
1603
+ cornerRadius: z.number().min(0).max(24).optional(),
1604
+ shadow: shadowSizeSchema,
1605
+ textTransform: textTransformSchema,
1606
+ fontWeight: fontWeightSchema,
1607
+ /**
1608
+ * @deprecated Set per-variant via `variant.border.widthClass` instead.
1609
+ * Schema field is preserved so existing presets parse; the value is unread
1610
+ * by the current generator and will be removed once the legacy
1611
+ * `primitives/content/components/Button.tsx` slot exports are deleted.
1612
+ */
1613
+ borderWidth: z.union([z.literal(1), z.literal(2), z.literal(3)]),
1614
+ // === Family-level typography ===
1615
+ // Typography source (body or heading) — selects which theme typography pool to inherit
1616
+ typography: buttonTypographySchema.optional(),
1617
+ // Font size for all variants in the family (Tailwind token, e.g. "text-xs", "text-sm")
1618
+ // Sized variants get this as default; fixed variants inherit unless they override.
1619
+ // Size class CSS may still override at run time for sized variants.
1620
+ fontSize: z.string().optional(),
1621
+ // Letter spacing applied to all variants
1622
+ letterSpacing: letterSpacingSchema.optional(),
1623
+ // Italic style
1624
+ italic: z.boolean().optional(),
1625
+ // Padding preset (applies to sized variants without a sizes config)
1626
+ paddingPreset: buttonPaddingPresetSchema.optional(),
1627
+ hoverTransform: hoverTransformSchema,
1628
+ hoverColor: hoverColorSchema,
1629
+ // When hoverColor is 'token', this specifies which token to use
1630
+ hoverColorToken: z.string().optional(),
1631
+ // Gradient settings (if any variant uses gradients)
1632
+ gradientStyle: gradientStyleSchema.optional(),
1633
+ gradientAngle: z.number().min(0).max(360).optional(),
1634
+ gradientSharpness: gradientSharpnessSchema.optional()
1635
+ });
1636
+ gradientDirectionSchema = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
1637
+ buttonBackgroundSchema = z.discriminatedUnion("type", [
1638
+ z.object({ type: z.literal("solid"), colorToken: z.string() }),
1639
+ z.object({
1640
+ type: z.literal("gradient"),
1641
+ stops: z.array(z.string()).min(2),
1642
+ direction: gradientDirectionSchema
1643
+ }),
1644
+ z.object({ type: z.literal("transparent") })
1645
+ ]);
1646
+ effectApplicationSchema = z.object({
1647
+ effectId: z.string(),
1648
+ options: z.record(z.string(), z.any()).optional()
1649
+ });
1650
+ buttonBorderSchema = z.object({
1651
+ widthClass: z.string(),
1652
+ colorToken: z.string()
1653
+ });
1654
+ variantShadowSchema = z.object({
1655
+ elevation: z.enum(["none", "low", "medium", "high"]),
1656
+ softness: z.enum(["crisp", "soft", "hard"]).nullable(),
1657
+ position: z.enum(["bottom", "bottom-right"]).default("bottom")
1658
+ });
1659
+ variantEffectsSchema = z.object({
1660
+ base: z.array(effectApplicationSchema).optional(),
1661
+ hover: z.array(effectApplicationSchema).optional(),
1662
+ active: z.array(effectApplicationSchema).optional(),
1663
+ focus: z.array(effectApplicationSchema).optional()
1664
+ });
1665
+ variantSizeOverridesSchema = z.object({
1666
+ sm: buttonSizeConfigSchema.optional(),
1667
+ md: buttonSizeConfigSchema.optional(),
1668
+ lg: buttonSizeConfigSchema.optional(),
1669
+ xl: buttonSizeConfigSchema.optional()
1670
+ });
1671
+ buttonVariantSchema = z.object({
1672
+ id: z.string(),
1673
+ name: z.string().min(1).max(20),
1674
+ enabled: z.boolean(),
1675
+ priority: prioritySchema,
1676
+ // Base appearance (token-based)
1677
+ background: buttonBackgroundSchema,
1678
+ textColorToken: z.string(),
1679
+ /** Tailwind radius token (e.g. `'rounded-md'`). Omit to inherit from `global.cornerStyle`. */
1680
+ borderRadius: z.string().optional(),
1681
+ // Optional shadow override (uses theme.shadow if not specified)
1682
+ shadow: variantShadowSchema.optional(),
1683
+ // Border (optional)
1684
+ border: buttonBorderSchema.optional(),
1685
+ // Hover background token (per-variant override, takes precedence over global hoverColorToken)
1686
+ hoverBackgroundToken: z.string().optional(),
1687
+ // Effect composition
1688
+ effects: variantEffectsSchema.optional(),
1689
+ // Per-variant size overrides — see VariantSizeOverrides
1690
+ sizes: variantSizeOverridesSchema.optional()
1691
+ });
1692
+ buttonSystemSchema = z.object({
1693
+ global: buttonGlobalSettingsSchema,
1694
+ variants: z.array(buttonVariantSchema).min(1).max(6),
1695
+ sizes: buttonSizesSchema.optional()
1696
+ });
1697
+ }
1698
+ });
1526
1699
 
1527
1700
  // ../theme-core/src/tokens/resolver.ts
1528
1701
  var init_resolver = __esm({
@@ -1639,14 +1812,650 @@ var init_generateDefaultButtonSystem = __esm({
1639
1812
  init_contrast();
1640
1813
  }
1641
1814
  });
1642
-
1643
- // ../theme-core/src/buttons/generateButtonCss.ts
1644
1815
  var init_generateButtonCss = __esm({
1645
1816
  "../theme-core/src/buttons/generateButtonCss.ts"() {
1817
+ init_types2();
1646
1818
  init_resolver();
1647
1819
  init_generateEffectsCSS();
1648
1820
  init_constants();
1649
1821
  init_generateDefaultButtonSystem();
1822
+ buttonSizeNameSchema.options;
1823
+ }
1824
+ });
1825
+
1826
+ // ../theme-core/src/buttons/presets.ts
1827
+ var init_presets = __esm({
1828
+ "../theme-core/src/buttons/presets.ts"() {
1829
+ }
1830
+ });
1831
+ function asButtonPersonalityId(value) {
1832
+ if (value.length === 0) {
1833
+ throw new Error("ButtonPersonalityId must be a non-empty string");
1834
+ }
1835
+ return value;
1836
+ }
1837
+ function defineButtonPersonality(input) {
1838
+ return {
1839
+ id: asButtonPersonalityId(input.id),
1840
+ name: input.name,
1841
+ description: input.description,
1842
+ tags: input.tags,
1843
+ buttonSystem: input.buttonSystem
1844
+ };
1845
+ }
1846
+ var buttonPersonalityIdSchema;
1847
+ var init_types3 = __esm({
1848
+ "../theme-core/src/buttons/personalities/types.ts"() {
1849
+ init_types2();
1850
+ init_compatibility();
1851
+ buttonPersonalityIdSchema = z.string().min(1).transform((value) => asButtonPersonalityId(value));
1852
+ z.object({
1853
+ id: buttonPersonalityIdSchema,
1854
+ name: z.string().min(1),
1855
+ description: z.string().min(1),
1856
+ tags: styleTagsSchema,
1857
+ buttonSystem: buttonSystemSchema
1858
+ });
1859
+ }
1860
+ });
1861
+
1862
+ // ../theme-core/src/buttons/personalities/brushed-wash.ts
1863
+ var brushedWash;
1864
+ var init_brushed_wash = __esm({
1865
+ "../theme-core/src/buttons/personalities/brushed-wash.ts"() {
1866
+ init_types3();
1867
+ brushedWash = defineButtonPersonality({
1868
+ id: "brushed-wash",
1869
+ name: "Brushed Wash",
1870
+ description: "Watercolour-gradient buttons with soft shadows and generous padding.",
1871
+ tags: { tone: "classic", energy: "vibrant", motion: "standard", era: "organic" },
1872
+ buttonSystem: {
1873
+ global: {
1874
+ cornerStyle: "rounded",
1875
+ shadow: "low",
1876
+ textTransform: "none",
1877
+ fontWeight: 500,
1878
+ borderWidth: 1,
1879
+ hoverTransform: "none",
1880
+ hoverColor: "none"
1881
+ },
1882
+ sizes: {
1883
+ sm: { padding: "0.75rem 2rem", fontSize: "text-sm" },
1884
+ md: { padding: "1rem 2.5rem" },
1885
+ lg: { padding: "1.25rem 3rem", fontSize: "text-lg" },
1886
+ xl: { padding: "1.625rem 3.75rem", fontSize: "text-xl" }
1887
+ },
1888
+ variants: [
1889
+ {
1890
+ id: "primary",
1891
+ name: "Primary",
1892
+ enabled: true,
1893
+ priority: 1,
1894
+ background: {
1895
+ type: "gradient",
1896
+ stops: ["primary", "accent"],
1897
+ direction: "to-r"
1898
+ },
1899
+ textColorToken: "primaryForeground",
1900
+ borderRadius: "rounded-lg",
1901
+ shadow: { elevation: "low", softness: "soft", position: "bottom" },
1902
+ effects: {
1903
+ hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
1904
+ }
1905
+ },
1906
+ {
1907
+ id: "secondary",
1908
+ name: "Secondary",
1909
+ enabled: true,
1910
+ priority: 2,
1911
+ background: {
1912
+ type: "gradient",
1913
+ stops: ["secondary", "accent"],
1914
+ direction: "to-br"
1915
+ },
1916
+ textColorToken: "primaryForeground",
1917
+ borderRadius: "rounded-lg",
1918
+ shadow: { elevation: "low", softness: "soft", position: "bottom" },
1919
+ effects: {
1920
+ hover: [{ effectId: "opacity-reduce", options: { reduction: -15 } }]
1921
+ }
1922
+ },
1923
+ {
1924
+ id: "outline",
1925
+ name: "Outline",
1926
+ enabled: true,
1927
+ priority: 3,
1928
+ background: { type: "transparent" },
1929
+ textColorToken: "primary",
1930
+ borderRadius: "rounded-lg",
1931
+ border: { widthClass: "border", colorToken: "primary" },
1932
+ effects: {
1933
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
1934
+ }
1935
+ },
1936
+ {
1937
+ id: "ghost",
1938
+ name: "Ghost",
1939
+ enabled: true,
1940
+ priority: 3,
1941
+ background: { type: "transparent" },
1942
+ textColorToken: "text",
1943
+ borderRadius: "rounded-lg",
1944
+ effects: {
1945
+ hover: [
1946
+ { effectId: "background-on-hover", options: { colorToken: "surface" } }
1947
+ ]
1948
+ }
1949
+ }
1950
+ ]
1951
+ }
1952
+ });
1953
+ }
1954
+ });
1955
+
1956
+ // ../theme-core/src/buttons/personalities/confident-chip.ts
1957
+ var confidentChip;
1958
+ var init_confident_chip = __esm({
1959
+ "../theme-core/src/buttons/personalities/confident-chip.ts"() {
1960
+ init_types3();
1961
+ confidentChip = defineButtonPersonality({
1962
+ id: "confident-chip",
1963
+ name: "Confident Chip",
1964
+ description: "Mid-radius solid buttons with a crisp hover.",
1965
+ tags: { tone: "classic", energy: "calm", motion: "standard", era: "modern" },
1966
+ buttonSystem: {
1967
+ global: {
1968
+ cornerStyle: "rounded",
1969
+ shadow: "medium",
1970
+ textTransform: "none",
1971
+ fontWeight: 600,
1972
+ borderWidth: 1,
1973
+ hoverTransform: "none",
1974
+ hoverColor: "none"
1975
+ },
1976
+ variants: [
1977
+ {
1978
+ id: "primary",
1979
+ name: "Primary",
1980
+ enabled: true,
1981
+ priority: 1,
1982
+ background: { type: "solid", colorToken: "primary" },
1983
+ textColorToken: "primaryForeground",
1984
+ borderRadius: "rounded-md",
1985
+ shadow: { elevation: "medium", softness: "soft", position: "bottom" },
1986
+ effects: {
1987
+ hover: [{ effectId: "darken-background", options: { amount: 60 } }],
1988
+ active: [{ effectId: "scale-down", options: { scale: "0.97" } }]
1989
+ }
1990
+ },
1991
+ {
1992
+ id: "secondary",
1993
+ name: "Secondary",
1994
+ enabled: true,
1995
+ priority: 2,
1996
+ background: { type: "solid", colorToken: "surface" },
1997
+ textColorToken: "text",
1998
+ borderRadius: "rounded-md",
1999
+ border: { widthClass: "border", colorToken: "border" },
2000
+ effects: {
2001
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
2002
+ }
2003
+ },
2004
+ {
2005
+ id: "outline",
2006
+ name: "Outline",
2007
+ enabled: true,
2008
+ priority: 3,
2009
+ background: { type: "transparent" },
2010
+ textColorToken: "primary",
2011
+ borderRadius: "rounded-md",
2012
+ border: { widthClass: "border", colorToken: "primary" },
2013
+ effects: {
2014
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2015
+ }
2016
+ },
2017
+ {
2018
+ id: "ghost",
2019
+ name: "Ghost",
2020
+ enabled: true,
2021
+ priority: 3,
2022
+ background: { type: "transparent" },
2023
+ textColorToken: "primary",
2024
+ borderRadius: "rounded-md",
2025
+ effects: {
2026
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2027
+ }
2028
+ }
2029
+ ]
2030
+ }
2031
+ });
2032
+ }
2033
+ });
2034
+
2035
+ // ../theme-core/src/buttons/personalities/editorial-link.ts
2036
+ var editorialLink;
2037
+ var init_editorial_link = __esm({
2038
+ "../theme-core/src/buttons/personalities/editorial-link.ts"() {
2039
+ init_types3();
2040
+ editorialLink = defineButtonPersonality({
2041
+ id: "editorial-link",
2042
+ name: "Editorial Link",
2043
+ description: "Link-style with a growing underline. Refined, typographic.",
2044
+ tags: { tone: "minimal", energy: "calm", motion: "subtle", era: "editorial" },
2045
+ buttonSystem: {
2046
+ global: {
2047
+ cornerStyle: "square",
2048
+ shadow: "none",
2049
+ textTransform: "none",
2050
+ fontWeight: 500,
2051
+ borderWidth: 1,
2052
+ hoverTransform: "none",
2053
+ hoverColor: "none"
2054
+ },
2055
+ variants: [
2056
+ {
2057
+ id: "primary",
2058
+ name: "Primary",
2059
+ enabled: true,
2060
+ priority: 1,
2061
+ background: { type: "transparent" },
2062
+ textColorToken: "text",
2063
+ borderRadius: "rounded-none",
2064
+ shadow: { elevation: "none", softness: null, position: "bottom" },
2065
+ sizes: {
2066
+ sm: { padding: "0.25rem 0" },
2067
+ md: { padding: "0.5rem 0" },
2068
+ lg: { padding: "0.625rem 0" },
2069
+ xl: { padding: "0.75rem 0" }
2070
+ },
2071
+ effects: {
2072
+ base: [
2073
+ { effectId: "border-bottom-grow", options: { height: 2, colorToken: "text", origin: "left" } }
2074
+ ]
2075
+ }
2076
+ },
2077
+ {
2078
+ id: "secondary",
2079
+ name: "Secondary",
2080
+ enabled: true,
2081
+ priority: 2,
2082
+ background: { type: "transparent" },
2083
+ textColorToken: "mutedText",
2084
+ borderRadius: "rounded-none",
2085
+ shadow: { elevation: "none", softness: null, position: "bottom" },
2086
+ sizes: {
2087
+ sm: { padding: "0.25rem 0" },
2088
+ md: { padding: "0.5rem 0" },
2089
+ lg: { padding: "0.625rem 0" },
2090
+ xl: { padding: "0.75rem 0" }
2091
+ },
2092
+ effects: {
2093
+ base: [
2094
+ { effectId: "border-bottom-grow", options: { height: 1, colorToken: "mutedText", origin: "left" } }
2095
+ ]
2096
+ }
2097
+ },
2098
+ {
2099
+ id: "outline",
2100
+ name: "Outline",
2101
+ enabled: true,
2102
+ priority: 3,
2103
+ background: { type: "transparent" },
2104
+ textColorToken: "accent",
2105
+ borderRadius: "rounded-none",
2106
+ shadow: { elevation: "none", softness: null, position: "bottom" },
2107
+ sizes: {
2108
+ sm: { padding: "0.25rem 0" },
2109
+ md: { padding: "0.5rem 0" },
2110
+ lg: { padding: "0.625rem 0" },
2111
+ xl: { padding: "0.75rem 0" }
2112
+ },
2113
+ effects: {
2114
+ base: [
2115
+ { effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }
2116
+ ]
2117
+ }
2118
+ },
2119
+ {
2120
+ id: "ghost",
2121
+ name: "Ghost",
2122
+ enabled: true,
2123
+ priority: 3,
2124
+ background: { type: "transparent" },
2125
+ textColorToken: "mutedText",
2126
+ borderRadius: "rounded-none",
2127
+ shadow: { elevation: "none", softness: null, position: "bottom" },
2128
+ sizes: {
2129
+ sm: { padding: "0.25rem 0" },
2130
+ md: { padding: "0.5rem 0" },
2131
+ lg: { padding: "0.625rem 0" },
2132
+ xl: { padding: "0.75rem 0" }
2133
+ },
2134
+ effects: {
2135
+ hover: [{ effectId: "opacity-reduce", options: { reduction: -20 } }]
2136
+ }
2137
+ }
2138
+ ]
2139
+ }
2140
+ });
2141
+ }
2142
+ });
2143
+
2144
+ // ../theme-core/src/buttons/personalities/ink-stamp.ts
2145
+ var inkStamp;
2146
+ var init_ink_stamp = __esm({
2147
+ "../theme-core/src/buttons/personalities/ink-stamp.ts"() {
2148
+ init_types3();
2149
+ inkStamp = defineButtonPersonality({
2150
+ id: "ink-stamp",
2151
+ name: "Ink Stamp",
2152
+ description: "Hand-stamped block-print buttons with a slight lift on hover.",
2153
+ tags: { tone: "bold", energy: "vibrant", motion: "standard", era: "organic" },
2154
+ buttonSystem: {
2155
+ global: {
2156
+ cornerStyle: "rounded",
2157
+ shadow: "none",
2158
+ textTransform: "uppercase",
2159
+ fontWeight: 600,
2160
+ borderWidth: 1,
2161
+ hoverTransform: "none",
2162
+ hoverColor: "none",
2163
+ letterSpacing: "loose"
2164
+ },
2165
+ sizes: {
2166
+ sm: { padding: "0.5rem 1.25rem", fontSize: "text-xs" },
2167
+ md: { padding: "0.75rem 1.75rem", fontSize: "text-sm" },
2168
+ lg: { padding: "0.875rem 2.25rem", fontSize: "text-base" },
2169
+ xl: { padding: "1.125rem 2.75rem", fontSize: "text-lg" }
2170
+ },
2171
+ variants: [
2172
+ {
2173
+ id: "primary",
2174
+ name: "Primary",
2175
+ enabled: true,
2176
+ priority: 1,
2177
+ background: { type: "solid", colorToken: "primary" },
2178
+ textColorToken: "primaryForeground",
2179
+ borderRadius: "rounded-md",
2180
+ effects: {
2181
+ hover: [
2182
+ { effectId: "drop-shadow", options: { intensity: "medium" } },
2183
+ { effectId: "scale-up", options: { scale: "1.02" } }
2184
+ ],
2185
+ active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
2186
+ }
2187
+ },
2188
+ {
2189
+ id: "secondary",
2190
+ name: "Secondary",
2191
+ enabled: true,
2192
+ priority: 2,
2193
+ background: { type: "transparent" },
2194
+ textColorToken: "primary",
2195
+ borderRadius: "rounded-md",
2196
+ border: { widthClass: "border-2", colorToken: "primary" },
2197
+ effects: {
2198
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2199
+ }
2200
+ },
2201
+ {
2202
+ id: "outline",
2203
+ name: "Outline",
2204
+ enabled: true,
2205
+ priority: 3,
2206
+ background: { type: "transparent" },
2207
+ textColorToken: "text",
2208
+ borderRadius: "rounded-md",
2209
+ border: { widthClass: "border-2", colorToken: "border" },
2210
+ effects: {
2211
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2212
+ }
2213
+ },
2214
+ {
2215
+ id: "ghost",
2216
+ name: "Ghost",
2217
+ enabled: true,
2218
+ priority: 3,
2219
+ background: { type: "transparent" },
2220
+ textColorToken: "accent",
2221
+ borderRadius: "rounded-none",
2222
+ sizes: {
2223
+ sm: { padding: "0.375rem 0", fontSize: "text-xs" },
2224
+ md: { padding: "0.5rem 0", fontSize: "text-sm" },
2225
+ lg: { padding: "0.625rem 0", fontSize: "text-base" },
2226
+ xl: { padding: "0.75rem 0", fontSize: "text-lg" }
2227
+ },
2228
+ effects: {
2229
+ base: [{ effectId: "border-bottom-grow", options: { height: 1, colorToken: "accent", origin: "left" } }]
2230
+ }
2231
+ }
2232
+ ]
2233
+ }
2234
+ });
2235
+ }
2236
+ });
2237
+
2238
+ // ../theme-core/src/buttons/personalities/pebble.ts
2239
+ var pebble;
2240
+ var init_pebble = __esm({
2241
+ "../theme-core/src/buttons/personalities/pebble.ts"() {
2242
+ init_types3();
2243
+ pebble = defineButtonPersonality({
2244
+ id: "pebble",
2245
+ name: "Pebble",
2246
+ description: "Generous pill buttons with a soft hover lift.",
2247
+ tags: { tone: "classic", energy: "calm", motion: "standard", era: "organic" },
2248
+ buttonSystem: {
2249
+ global: {
2250
+ cornerStyle: "pill",
2251
+ shadow: "none",
2252
+ textTransform: "none",
2253
+ fontWeight: 500,
2254
+ borderWidth: 2,
2255
+ hoverTransform: "none",
2256
+ hoverColor: "none"
2257
+ },
2258
+ sizes: {
2259
+ sm: { padding: "0.625rem 1.75rem", fontSize: "text-sm" },
2260
+ md: { padding: "0.875rem 2.25rem" },
2261
+ lg: { padding: "1.125rem 2.75rem", fontSize: "text-lg" },
2262
+ xl: { padding: "1.5rem 3.5rem", fontSize: "text-xl" }
2263
+ },
2264
+ variants: [
2265
+ {
2266
+ id: "primary",
2267
+ name: "Primary",
2268
+ enabled: true,
2269
+ priority: 1,
2270
+ background: { type: "solid", colorToken: "primary" },
2271
+ textColorToken: "primaryForeground",
2272
+ borderRadius: "rounded-full",
2273
+ effects: {
2274
+ hover: [
2275
+ { effectId: "scale-up", options: { scale: "1.03" } },
2276
+ { effectId: "drop-shadow", options: { intensity: "medium" } }
2277
+ ]
2278
+ }
2279
+ },
2280
+ {
2281
+ id: "secondary",
2282
+ name: "Secondary",
2283
+ enabled: true,
2284
+ priority: 2,
2285
+ background: { type: "transparent" },
2286
+ textColorToken: "primary",
2287
+ borderRadius: "rounded-full",
2288
+ border: { widthClass: "border-2", colorToken: "accent" },
2289
+ effects: {
2290
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "accent" } }]
2291
+ }
2292
+ },
2293
+ {
2294
+ id: "outline",
2295
+ name: "Outline",
2296
+ enabled: true,
2297
+ priority: 3,
2298
+ background: { type: "transparent" },
2299
+ textColorToken: "text",
2300
+ borderRadius: "rounded-full",
2301
+ border: { widthClass: "border", colorToken: "border" },
2302
+ effects: {
2303
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2304
+ }
2305
+ },
2306
+ {
2307
+ id: "ghost",
2308
+ name: "Ghost",
2309
+ enabled: true,
2310
+ priority: 3,
2311
+ background: { type: "transparent" },
2312
+ textColorToken: "primary",
2313
+ borderRadius: "rounded-full",
2314
+ sizes: {
2315
+ sm: { padding: "0.375rem 0.875rem", fontSize: "text-sm" },
2316
+ md: { padding: "0.5rem 1rem" },
2317
+ lg: { padding: "0.625rem 1.25rem", fontSize: "text-lg" },
2318
+ xl: { padding: "0.75rem 1.5rem", fontSize: "text-xl" }
2319
+ },
2320
+ effects: {
2321
+ hover: [{ effectId: "opacity-reduce", options: { reduction: 30 } }]
2322
+ }
2323
+ }
2324
+ ]
2325
+ }
2326
+ });
2327
+ }
2328
+ });
2329
+
2330
+ // ../theme-core/src/buttons/personalities/soft-pill.ts
2331
+ var softPill;
2332
+ var init_soft_pill = __esm({
2333
+ "../theme-core/src/buttons/personalities/soft-pill.ts"() {
2334
+ init_types3();
2335
+ softPill = defineButtonPersonality({
2336
+ id: "soft-pill",
2337
+ name: "Soft Pill",
2338
+ description: "Rounded pills with a gentle lift on hover. Quietly modern.",
2339
+ tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
2340
+ buttonSystem: {
2341
+ global: {
2342
+ cornerStyle: "pill",
2343
+ shadow: "low",
2344
+ textTransform: "none",
2345
+ fontWeight: 500,
2346
+ borderWidth: 2,
2347
+ hoverTransform: "lift",
2348
+ hoverColor: "none"
2349
+ },
2350
+ variants: [
2351
+ {
2352
+ id: "primary",
2353
+ name: "Primary",
2354
+ enabled: true,
2355
+ priority: 1,
2356
+ background: { type: "solid", colorToken: "primary" },
2357
+ textColorToken: "primaryForeground",
2358
+ borderRadius: "rounded-full",
2359
+ shadow: { elevation: "low", softness: "soft", position: "bottom" },
2360
+ effects: {
2361
+ hover: [{ effectId: "lift", options: { translateY: "-1px" } }],
2362
+ active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
2363
+ }
2364
+ },
2365
+ {
2366
+ id: "secondary",
2367
+ name: "Secondary",
2368
+ enabled: true,
2369
+ priority: 2,
2370
+ background: { type: "transparent" },
2371
+ textColorToken: "primary",
2372
+ borderRadius: "rounded-full",
2373
+ border: { widthClass: "border-2", colorToken: "primary" },
2374
+ effects: {
2375
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2376
+ }
2377
+ },
2378
+ {
2379
+ id: "outline",
2380
+ name: "Outline",
2381
+ enabled: true,
2382
+ priority: 3,
2383
+ background: { type: "transparent" },
2384
+ textColorToken: "text",
2385
+ borderRadius: "rounded-full",
2386
+ border: { widthClass: "border", colorToken: "border" },
2387
+ effects: {
2388
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2389
+ }
2390
+ },
2391
+ {
2392
+ id: "ghost",
2393
+ name: "Ghost",
2394
+ enabled: true,
2395
+ priority: 3,
2396
+ background: { type: "transparent" },
2397
+ textColorToken: "text",
2398
+ borderRadius: "rounded-full",
2399
+ effects: {
2400
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
2401
+ }
2402
+ }
2403
+ ]
2404
+ }
2405
+ });
2406
+ }
2407
+ });
2408
+
2409
+ // ../theme-core/src/buttons/personalities/index.ts
2410
+ var buttonPersonalities;
2411
+ var init_personalities = __esm({
2412
+ "../theme-core/src/buttons/personalities/index.ts"() {
2413
+ init_brushed_wash();
2414
+ init_confident_chip();
2415
+ init_editorial_link();
2416
+ init_ink_stamp();
2417
+ init_pebble();
2418
+ init_soft_pill();
2419
+ init_types3();
2420
+ buttonPersonalities = [
2421
+ softPill,
2422
+ confidentChip,
2423
+ editorialLink,
2424
+ pebble,
2425
+ inkStamp,
2426
+ brushedWash
2427
+ ];
2428
+ new Map(
2429
+ buttonPersonalities.map((p) => [p.id, p])
2430
+ );
2431
+ }
2432
+ });
2433
+
2434
+ // ../theme-core/src/buttons/effects/types.ts
2435
+ var init_types4 = __esm({
2436
+ "../theme-core/src/buttons/effects/types.ts"() {
2437
+ }
2438
+ });
2439
+
2440
+ // ../theme-core/src/buttons/core.ts
2441
+ var init_core = __esm({
2442
+ "../theme-core/src/buttons/core.ts"() {
2443
+ }
2444
+ });
2445
+
2446
+ // ../theme-core/src/buttons/index.ts
2447
+ var init_buttons = __esm({
2448
+ "../theme-core/src/buttons/index.ts"() {
2449
+ init_types2();
2450
+ init_generateButtonCss();
2451
+ init_generateDefaultButtonSystem();
2452
+ init_constants();
2453
+ init_presets();
2454
+ init_personalities();
2455
+ init_types4();
2456
+ init_registry();
2457
+ init_transform();
2458
+ init_core();
1650
2459
  }
1651
2460
  });
1652
2461
 
@@ -1671,7 +2480,7 @@ var init_generateCardCss = __esm({
1671
2480
  }
1672
2481
  });
1673
2482
  var accordionIconSchema, accordionSystemSchema;
1674
- var init_types2 = __esm({
2483
+ var init_types5 = __esm({
1675
2484
  "../theme-core/src/accordions/types.ts"() {
1676
2485
  accordionIconSchema = z.enum([
1677
2486
  "plus-minus",
@@ -1733,7 +2542,7 @@ var init_types2 = __esm({
1733
2542
  }
1734
2543
  });
1735
2544
  var inputSystemSchema;
1736
- var init_types3 = __esm({
2545
+ var init_types6 = __esm({
1737
2546
  "../theme-core/src/inputs/types.ts"() {
1738
2547
  inputSystemSchema = z.object({
1739
2548
  // Base styling (applied to all inputs)
@@ -1826,7 +2635,7 @@ var init_baseSchema = __esm({
1826
2635
  }
1827
2636
  });
1828
2637
  var navLinkPaddingSchema, navLinkPaddingXSchema, navLinkBorderRadiusSchema, navLinkTextSizeSchema, navLinkLetterSpacingSchema, navLinkStyleSchema;
1829
- var init_types4 = __esm({
2638
+ var init_types7 = __esm({
1830
2639
  "../theme-core/src/navigation/types.ts"() {
1831
2640
  init_baseSchema();
1832
2641
  navLinkPaddingSchema = z.enum(["none", "compact", "default"]);
@@ -2631,7 +3440,7 @@ function validateProps(props2, context = "node builder") {
2631
3440
  }
2632
3441
  }
2633
3442
  var RESERVED_KEYS;
2634
- var init_types5 = __esm({
3443
+ var init_types8 = __esm({
2635
3444
  "../blocks/src/system/node/types.ts"() {
2636
3445
  init_env();
2637
3446
  RESERVED_KEYS = [
@@ -2758,7 +3567,7 @@ var section, headerSection, stack, inline, accordion, accordionItem, carousel, t
2758
3567
  var init_builder = __esm({
2759
3568
  "../blocks/src/system/node/builder.ts"() {
2760
3569
  init_schema();
2761
- init_types5();
3570
+ init_types8();
2762
3571
  init_env();
2763
3572
  section = (props2, children, ...mods) => el("section", props2, children, ...mods);
2764
3573
  headerSection = (props2, children, ...mods) => el("headerSection", props2, children, ...mods);
@@ -3639,7 +4448,7 @@ function createTransformRegistry(definitions) {
3639
4448
  }
3640
4449
  return registry;
3641
4450
  }
3642
- var init_core = __esm({
4451
+ var init_core2 = __esm({
3643
4452
  "../blocks/src/system/transforms/registry/core.ts"() {
3644
4453
  }
3645
4454
  });
@@ -3767,7 +4576,7 @@ function hasVisualContainerStyles(value) {
3767
4576
  var spacingTransform, raisedTransform, roundedTransform, boxStylesCompositeTransform, boxStylesBorderColorTransform, sectionClassNameTransform, containerStylesResolveClassName, containerStylesResolveBoxClassName, sectionTextColorStyleTransform, sectionHeadingColorStyleTransform, sectionColorsStyleTransform, GAP_CLASS_MAP, GAP_VALUE_MAP, semanticGapTransform, semanticGapValueTransform, boxStylesTransforms;
3768
4577
  var init_boxStyles2 = __esm({
3769
4578
  "../blocks/src/system/transforms/registry/boxStyles.ts"() {
3770
- init_core();
4579
+ init_core2();
3771
4580
  init_spacing();
3772
4581
  init_colorStyles();
3773
4582
  init_colorResolution();
@@ -4691,7 +5500,7 @@ function scopeContentPath(path21, scope) {
4691
5500
  return `content.${scope}.${path21}`;
4692
5501
  }
4693
5502
  var FRAGMENT_ID_PATTERN, FIELD_ID_PATTERN, dataLoaderSchema, fragmentDataSchema, fragmentConfigSchema, FragmentConfigError;
4694
- var init_types6 = __esm({
5503
+ var init_types9 = __esm({
4695
5504
  "../blocks/src/system/fragments/types.ts"() {
4696
5505
  init_schema2();
4697
5506
  init_node();
@@ -4824,7 +5633,7 @@ function buildFragmentDataLoaders(composition2) {
4824
5633
  var FragmentCompositionError, DOT_SCOPE_REGEX;
4825
5634
  var init_builder2 = __esm({
4826
5635
  "../blocks/src/system/fragments/builder.ts"() {
4827
- init_types6();
5636
+ init_types9();
4828
5637
  FragmentCompositionError = class extends Error {
4829
5638
  constructor(message) {
4830
5639
  super(message);
@@ -4839,7 +5648,7 @@ var init_builder2 = __esm({
4839
5648
  var bodyCopyFragment;
4840
5649
  var init_bodyCopy = __esm({
4841
5650
  "../blocks/src/system/fragments/library/bodyCopy.ts"() {
4842
- init_types6();
5651
+ init_types9();
4843
5652
  init_builder();
4844
5653
  bodyCopyFragment = defineFragment({
4845
5654
  id: "bodyCopy",
@@ -4938,7 +5747,7 @@ var init_bodyCopy = __esm({
4938
5747
  var heroCopyFragment;
4939
5748
  var init_heroCopy = __esm({
4940
5749
  "../blocks/src/system/fragments/library/heroCopy.ts"() {
4941
- init_types6();
5750
+ init_types9();
4942
5751
  init_builder();
4943
5752
  heroCopyFragment = defineFragment({
4944
5753
  id: "heroCopy",
@@ -5022,7 +5831,7 @@ function createButtonGroup(options = {}) {
5022
5831
  { value: "outline", label: "Outline" }
5023
5832
  ],
5024
5833
  defaultVariant,
5025
- includeSize = false,
5834
+ includeSize = true,
5026
5835
  defaultSize = "md",
5027
5836
  showGroupLabel = false,
5028
5837
  groupId = "button",
@@ -5164,7 +5973,7 @@ var init_ctas = __esm({
5164
5973
  var ctaRowFragment;
5165
5974
  var init_ctaRow2 = __esm({
5166
5975
  "../blocks/src/system/fragments/library/ctaRow.ts"() {
5167
- init_types6();
5976
+ init_types9();
5168
5977
  init_fragments();
5169
5978
  init_ctas();
5170
5979
  ctaRowFragment = defineFragment({
@@ -5183,7 +5992,7 @@ var init_ctaRow2 = __esm({
5183
5992
  var heroCtaRowFragment;
5184
5993
  var init_heroCtaRow = __esm({
5185
5994
  "../blocks/src/system/fragments/library/heroCtaRow.ts"() {
5186
- init_types6();
5995
+ init_types9();
5187
5996
  init_fragments();
5188
5997
  init_ctas();
5189
5998
  heroCtaRowFragment = defineFragment({
@@ -5229,7 +6038,7 @@ var init_heroCtaRow = __esm({
5229
6038
  var ctaCopyFragment;
5230
6039
  var init_ctaCopy = __esm({
5231
6040
  "../blocks/src/system/fragments/library/ctaCopy.ts"() {
5232
- init_types6();
6041
+ init_types9();
5233
6042
  init_fragments();
5234
6043
  init_builder();
5235
6044
  ctaCopyFragment = defineFragment({
@@ -5281,7 +6090,7 @@ var init_ctaCopy = __esm({
5281
6090
  var testimonialsHeadingFragment;
5282
6091
  var init_testimonialsHeading = __esm({
5283
6092
  "../blocks/src/system/fragments/library/testimonialsHeading.ts"() {
5284
- init_types6();
6093
+ init_types9();
5285
6094
  init_builder();
5286
6095
  init_colorStyles();
5287
6096
  testimonialsHeadingFragment = defineFragment({
@@ -5463,7 +6272,7 @@ function buildGridLayout() {
5463
6272
  var grid, testimonialsCarouselFragment;
5464
6273
  var init_testimonialsCarousel = __esm({
5465
6274
  "../blocks/src/system/fragments/library/testimonialsCarousel.ts"() {
5466
- init_types6();
6275
+ init_types9();
5467
6276
  init_builder();
5468
6277
  init_colorStyles();
5469
6278
  init_fragments();
@@ -5597,7 +6406,7 @@ var init_testimonialsCarousel = __esm({
5597
6406
  var formCopyFragment;
5598
6407
  var init_formCopy = __esm({
5599
6408
  "../blocks/src/system/fragments/library/formCopy.ts"() {
5600
- init_types6();
6409
+ init_types9();
5601
6410
  init_builder();
5602
6411
  formCopyFragment = defineFragment({
5603
6412
  id: "formCopy",
@@ -5658,7 +6467,7 @@ var init_api_bindings = __esm({
5658
6467
  var formEmbedFragment;
5659
6468
  var init_formEmbed = __esm({
5660
6469
  "../blocks/src/system/fragments/library/formEmbed.ts"() {
5661
- init_types6();
6470
+ init_types9();
5662
6471
  init_builder();
5663
6472
  init_api_bindings();
5664
6473
  formEmbedFragment = defineFragment({
@@ -5718,7 +6527,7 @@ var init_formEmbed = __esm({
5718
6527
  var footerBottomTextFragment;
5719
6528
  var init_footerBottomText = __esm({
5720
6529
  "../blocks/src/system/fragments/library/footerBottomText.ts"() {
5721
- init_types6();
6530
+ init_types9();
5722
6531
  init_builder();
5723
6532
  init_colorStyles();
5724
6533
  footerBottomTextFragment = defineFragment({
@@ -5785,7 +6594,7 @@ var init_footerBottomText = __esm({
5785
6594
  var headerCtaFragment;
5786
6595
  var init_headerCta = __esm({
5787
6596
  "../blocks/src/system/fragments/library/headerCta.ts"() {
5788
- init_types6();
6597
+ init_types9();
5789
6598
  init_fragments();
5790
6599
  headerCtaFragment = defineFragment({
5791
6600
  id: "headerCta",
@@ -5842,7 +6651,7 @@ var init_headerCta = __esm({
5842
6651
  var singleButtonFragment;
5843
6652
  var init_singleButton = __esm({
5844
6653
  "../blocks/src/system/fragments/library/singleButton.ts"() {
5845
- init_types6();
6654
+ init_types9();
5846
6655
  init_fragments();
5847
6656
  init_button();
5848
6657
  singleButtonFragment = defineFragment({
@@ -5878,7 +6687,7 @@ var init_singleButton = __esm({
5878
6687
  var blogFeaturedPostFragment;
5879
6688
  var init_blogFeaturedPost = __esm({
5880
6689
  "../blocks/src/system/fragments/library/blogFeaturedPost.ts"() {
5881
- init_types6();
6690
+ init_types9();
5882
6691
  init_fragments();
5883
6692
  init_builder();
5884
6693
  init_colorStyles();
@@ -6036,7 +6845,7 @@ var init_blogFeaturedPost = __esm({
6036
6845
  var faqHeadingFragment;
6037
6846
  var init_faqHeading = __esm({
6038
6847
  "../blocks/src/system/fragments/library/faqHeading.ts"() {
6039
- init_types6();
6848
+ init_types9();
6040
6849
  init_builder();
6041
6850
  init_colorStyles();
6042
6851
  faqHeadingFragment = defineFragment({
@@ -6110,7 +6919,7 @@ var faqAccordionFragment;
6110
6919
  var init_faqAccordion = __esm({
6111
6920
  "../blocks/src/system/fragments/library/faqAccordion.ts"() {
6112
6921
  init_builder();
6113
- init_types6();
6922
+ init_types9();
6114
6923
  faqAccordionFragment = defineFragment({
6115
6924
  id: "faqAccordion",
6116
6925
  title: "FAQ Accordion",
@@ -6185,7 +6994,7 @@ var init_faqAccordion = __esm({
6185
6994
  var cardFragment;
6186
6995
  var init_card = __esm({
6187
6996
  "../blocks/src/system/fragments/library/card.ts"() {
6188
- init_types6();
6997
+ init_types9();
6189
6998
  init_builder();
6190
6999
  init_ctas();
6191
7000
  init_ctaRow();
@@ -6321,7 +7130,7 @@ var init_card = __esm({
6321
7130
  var headingFragment;
6322
7131
  var init_heading = __esm({
6323
7132
  "../blocks/src/system/fragments/library/heading.ts"() {
6324
- init_types6();
7133
+ init_types9();
6325
7134
  init_builder();
6326
7135
  headingFragment = defineFragment({
6327
7136
  id: "heading",
@@ -6367,7 +7176,7 @@ var init_heading = __esm({
6367
7176
  var richTextFragment;
6368
7177
  var init_richText = __esm({
6369
7178
  "../blocks/src/system/fragments/library/richText.ts"() {
6370
- init_types6();
7179
+ init_types9();
6371
7180
  init_builder();
6372
7181
  richTextFragment = defineFragment({
6373
7182
  id: "richText",
@@ -6447,7 +7256,7 @@ var init_toRepeaterSchema = __esm({
6447
7256
  var heroLayoutControlsFragment;
6448
7257
  var init_heroLayoutControls = __esm({
6449
7258
  "../blocks/src/system/fragments/library/heroLayoutControls.ts"() {
6450
- init_types6();
7259
+ init_types9();
6451
7260
  heroLayoutControlsFragment = defineFragment({
6452
7261
  id: "heroLayoutControls",
6453
7262
  title: "Hero Layout",
@@ -6504,7 +7313,7 @@ var init_heroLayoutControls = __esm({
6504
7313
  var bookingFormFragment;
6505
7314
  var init_bookingForm = __esm({
6506
7315
  "../blocks/src/system/fragments/library/bookingForm.ts"() {
6507
- init_types6();
7316
+ init_types9();
6508
7317
  init_builder();
6509
7318
  init_api_bindings();
6510
7319
  bookingFormFragment = defineFragment({
@@ -6572,7 +7381,7 @@ var init_bookingForm = __esm({
6572
7381
  var quoteFragment;
6573
7382
  var init_quote = __esm({
6574
7383
  "../blocks/src/system/fragments/library/quote.ts"() {
6575
- init_types6();
7384
+ init_types9();
6576
7385
  init_builder();
6577
7386
  quoteFragment = defineFragment({
6578
7387
  id: "quote",
@@ -6639,7 +7448,7 @@ var init_quote = __esm({
6639
7448
  var imageFragment;
6640
7449
  var init_image = __esm({
6641
7450
  "../blocks/src/system/fragments/library/image.ts"() {
6642
- init_types6();
7451
+ init_types9();
6643
7452
  init_builder();
6644
7453
  init_colorStyles();
6645
7454
  imageFragment = defineFragment({
@@ -6753,7 +7562,7 @@ var init_image = __esm({
6753
7562
  var videoEmbedFragment;
6754
7563
  var init_videoEmbed = __esm({
6755
7564
  "../blocks/src/system/fragments/library/videoEmbed.ts"() {
6756
- init_types6();
7565
+ init_types9();
6757
7566
  init_builder();
6758
7567
  init_colorStyles();
6759
7568
  videoEmbedFragment = defineFragment({
@@ -6819,7 +7628,7 @@ var init_videoEmbed = __esm({
6819
7628
  var feedbackCalloutFragment;
6820
7629
  var init_feedbackCallout2 = __esm({
6821
7630
  "../blocks/src/system/fragments/library/feedbackCallout.ts"() {
6822
- init_types6();
7631
+ init_types9();
6823
7632
  init_ctas();
6824
7633
  init_fragments();
6825
7634
  feedbackCalloutFragment = defineFragment({
@@ -6894,7 +7703,7 @@ var init_feedbackCallout2 = __esm({
6894
7703
  var SECTION_STATE_KIND_LABELS, sectionStateFragment;
6895
7704
  var init_sectionState2 = __esm({
6896
7705
  "../blocks/src/system/fragments/library/sectionState.ts"() {
6897
- init_types6();
7706
+ init_types9();
6898
7707
  init_ctas();
6899
7708
  init_fragments();
6900
7709
  SECTION_STATE_KIND_LABELS = {
@@ -6973,7 +7782,7 @@ var init_sectionState2 = __esm({
6973
7782
  var columnContentFragment;
6974
7783
  var init_columnContent = __esm({
6975
7784
  "../blocks/src/system/fragments/library/columnContent.ts"() {
6976
- init_types6();
7785
+ init_types9();
6977
7786
  init_builder();
6978
7787
  init_toRepeaterSchema();
6979
7788
  init_image();
@@ -7040,7 +7849,7 @@ var init_columnContent = __esm({
7040
7849
  var spinnerFragment;
7041
7850
  var init_spinner = __esm({
7042
7851
  "../blocks/src/system/fragments/library/spinner.ts"() {
7043
- init_types6();
7852
+ init_types9();
7044
7853
  init_builder();
7045
7854
  spinnerFragment = defineFragment({
7046
7855
  id: "spinner",
@@ -7162,7 +7971,7 @@ var init_init = __esm({
7162
7971
  var newsletterCopyFragment;
7163
7972
  var init_newsletterCopy = __esm({
7164
7973
  "../blocks/src/system/fragments/library/newsletterCopy.ts"() {
7165
- init_types6();
7974
+ init_types9();
7166
7975
  init_builder();
7167
7976
  newsletterCopyFragment = defineFragment({
7168
7977
  id: "newsletterCopy",
@@ -7207,7 +8016,7 @@ var init_newsletterCopy = __esm({
7207
8016
  var newsletterFormFragment;
7208
8017
  var init_newsletterForm = __esm({
7209
8018
  "../blocks/src/system/fragments/library/newsletterForm.ts"() {
7210
- init_types6();
8019
+ init_types9();
7211
8020
  init_builder();
7212
8021
  init_api_bindings();
7213
8022
  newsletterFormFragment = defineFragment({
@@ -7297,7 +8106,7 @@ var init_newsletterForm = __esm({
7297
8106
  var teamMemberFragment;
7298
8107
  var init_teamMember = __esm({
7299
8108
  "../blocks/src/system/fragments/library/teamMember.ts"() {
7300
- init_types6();
8109
+ init_types9();
7301
8110
  init_builder();
7302
8111
  teamMemberFragment = defineFragment({
7303
8112
  id: "teamMember",
@@ -7368,7 +8177,7 @@ var init_teamMember = __esm({
7368
8177
  // ../blocks/src/system/fragments/index.ts
7369
8178
  var init_fragments2 = __esm({
7370
8179
  "../blocks/src/system/fragments/index.ts"() {
7371
- init_types6();
8180
+ init_types9();
7372
8181
  init_builder2();
7373
8182
  init_registry2();
7374
8183
  init_toRepeaterSchema();
@@ -7799,8 +8608,42 @@ var init_colorConversion = __esm({
7799
8608
  }
7800
8609
  });
7801
8610
 
8611
+ // ../theme-core/src/responsiveDisplay.ts
8612
+ function mobileOnlyDisplay(display) {
8613
+ return `${BASE_DISPLAY_CLASSES[display]} rb-lg-hidden`;
8614
+ }
8615
+ function desktopOnlyDisplay(display) {
8616
+ return `rb-hidden ${LARGE_DISPLAY_CLASSES[display]}`;
8617
+ }
8618
+ var BASE_DISPLAY_CLASSES, LARGE_DISPLAY_CLASSES;
8619
+ var init_responsiveDisplay = __esm({
8620
+ "../theme-core/src/responsiveDisplay.ts"() {
8621
+ BASE_DISPLAY_CLASSES = {
8622
+ block: "rb-block",
8623
+ flex: "rb-flex",
8624
+ "inline-block": "rb-inline-block",
8625
+ "inline-flex": "rb-inline-flex",
8626
+ grid: "rb-grid"
8627
+ };
8628
+ LARGE_DISPLAY_CLASSES = {
8629
+ block: "rb-lg-block",
8630
+ flex: "rb-lg-flex",
8631
+ "inline-block": "rb-lg-inline-block",
8632
+ "inline-flex": "rb-lg-inline-flex",
8633
+ grid: "rb-lg-grid"
8634
+ };
8635
+ }
8636
+ });
8637
+
8638
+ // ../blocks/src/system/runtime/header/shared.ts
8639
+ var init_shared2 = __esm({
8640
+ "../blocks/src/system/runtime/header/shared.ts"() {
8641
+ init_responsiveDisplay();
8642
+ }
8643
+ });
8644
+
7802
8645
  // ../blocks/src/system/blocks/events/shared/types.ts
7803
- var init_types7 = __esm({
8646
+ var init_types10 = __esm({
7804
8647
  "../blocks/src/system/blocks/events/shared/types.ts"() {
7805
8648
  }
7806
8649
  });
@@ -7814,52 +8657,52 @@ var init_media = __esm({
7814
8657
  "audio",
7815
8658
  "video"
7816
8659
  ];
7817
- hotspotSchema2 = z39.object({
7818
- x: z39.number().min(0).max(1),
7819
- y: z39.number().min(0).max(1),
7820
- radius: z39.number().optional()
7821
- });
7822
- rotationSchema2 = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
7823
- rectSchema2 = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
7824
- aspectCropSchema2 = z39.object({
7825
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
7826
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
7827
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
7828
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
7829
- });
7830
- transformSchema2 = z39.object({
7831
- aspectCrops: z39.preprocess((value) => {
8660
+ hotspotSchema2 = z42.object({
8661
+ x: z42.number().min(0).max(1),
8662
+ y: z42.number().min(0).max(1),
8663
+ radius: z42.number().optional()
8664
+ });
8665
+ rotationSchema2 = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
8666
+ rectSchema2 = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
8667
+ aspectCropSchema2 = z42.object({
8668
+ aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
8669
+ rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema2.optional()),
8670
+ hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema2.optional()),
8671
+ rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema2.optional())
8672
+ });
8673
+ transformSchema2 = z42.object({
8674
+ aspectCrops: z42.preprocess((value) => {
7832
8675
  if (!value || typeof value !== "object" || Array.isArray(value)) {
7833
8676
  return void 0;
7834
8677
  }
7835
8678
  return value;
7836
- }, z39.record(z39.string(), aspectCropSchema2.catch({}))).optional(),
8679
+ }, z42.record(z42.string(), aspectCropSchema2.catch({}))).optional(),
7837
8680
  rect: rectSchema2.optional(),
7838
8681
  hotspot: hotspotSchema2.optional(),
7839
8682
  rotation: rotationSchema2.optional()
7840
8683
  });
7841
- mediaBaseSchema = z39.object({
7842
- purpose: z39.string().optional(),
7843
- placeholder: z39.boolean().default(true).optional(),
7844
- assetId: z39.string().optional(),
7845
- identifier: z39.string().optional(),
7846
- src: z39.string().optional(),
7847
- alt: z39.string().optional(),
7848
- filename: z39.string().optional(),
7849
- mimeType: z39.string().optional(),
7850
- width: z39.number().optional(),
7851
- height: z39.number().optional(),
7852
- storageBucket: z39.string().optional(),
7853
- storagePath: z39.string().optional(),
8684
+ mediaBaseSchema = z42.object({
8685
+ purpose: z42.string().optional(),
8686
+ placeholder: z42.boolean().default(true).optional(),
8687
+ assetId: z42.string().optional(),
8688
+ identifier: z42.string().optional(),
8689
+ src: z42.string().optional(),
8690
+ alt: z42.string().optional(),
8691
+ filename: z42.string().optional(),
8692
+ mimeType: z42.string().optional(),
8693
+ width: z42.number().optional(),
8694
+ height: z42.number().optional(),
8695
+ storageBucket: z42.string().optional(),
8696
+ storagePath: z42.string().optional(),
7854
8697
  transform: transformSchema2.optional()
7855
8698
  });
7856
- imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
7857
- videoMediaSchema = mediaBaseSchema.extend({ type: z39.literal("video") });
7858
- audioMediaSchema = mediaBaseSchema.extend({ type: z39.literal("audio") });
7859
- documentMediaSchema = mediaBaseSchema.extend({ type: z39.literal("document") });
7860
- spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z39.literal("spreadsheet") });
7861
- archiveMediaSchema = mediaBaseSchema.extend({ type: z39.literal("archive") });
7862
- mediaSchema2 = z39.discriminatedUnion("type", [
8699
+ imageMediaSchema = mediaBaseSchema.extend({ type: z42.literal("image") });
8700
+ videoMediaSchema = mediaBaseSchema.extend({ type: z42.literal("video") });
8701
+ audioMediaSchema = mediaBaseSchema.extend({ type: z42.literal("audio") });
8702
+ documentMediaSchema = mediaBaseSchema.extend({ type: z42.literal("document") });
8703
+ spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z42.literal("spreadsheet") });
8704
+ archiveMediaSchema = mediaBaseSchema.extend({ type: z42.literal("archive") });
8705
+ mediaSchema2 = z42.discriminatedUnion("type", [
7863
8706
  imageMediaSchema,
7864
8707
  videoMediaSchema,
7865
8708
  audioMediaSchema,
@@ -8343,9 +9186,9 @@ var init_filtering = __esm({
8343
9186
  });
8344
9187
 
8345
9188
  // ../blocks/src/system/blocks/events/shared/index.ts
8346
- var init_shared2 = __esm({
9189
+ var init_shared3 = __esm({
8347
9190
  "../blocks/src/system/blocks/events/shared/index.ts"() {
8348
- init_types7();
9191
+ init_types10();
8349
9192
  init_schemas2();
8350
9193
  init_fields();
8351
9194
  init_filtering();
@@ -8480,7 +9323,7 @@ var init_event_registration = __esm({
8480
9323
  init_styledSection();
8481
9324
  init_fragments();
8482
9325
  init_api_bindings();
8483
- init_shared2();
9326
+ init_shared3();
8484
9327
  init_defineBlock();
8485
9328
  init_event_registration_shared();
8486
9329
  init_event_registration_interactive();
@@ -8672,7 +9515,7 @@ var init_event_registration = __esm({
8672
9515
  });
8673
9516
 
8674
9517
  // ../blocks/src/system/blocks/courses/shared/types.ts
8675
- var init_types8 = __esm({
9518
+ var init_types11 = __esm({
8676
9519
  "../blocks/src/system/blocks/courses/shared/types.ts"() {
8677
9520
  }
8678
9521
  });
@@ -8684,9 +9527,9 @@ var init_pricing = __esm({
8684
9527
  });
8685
9528
 
8686
9529
  // ../blocks/src/system/blocks/courses/shared/index.ts
8687
- var init_shared3 = __esm({
9530
+ var init_shared4 = __esm({
8688
9531
  "../blocks/src/system/blocks/courses/shared/index.ts"() {
8689
- init_types8();
9532
+ init_types11();
8690
9533
  init_schemas();
8691
9534
  init_pricing();
8692
9535
  }
@@ -8809,7 +9652,7 @@ var init_course_registration = __esm({
8809
9652
  init_styledSection();
8810
9653
  init_fragments();
8811
9654
  init_api_bindings();
8812
- init_shared3();
9655
+ init_shared4();
8813
9656
  init_defineBlock();
8814
9657
  init_course_registration_interactive();
8815
9658
  courseRegistrationManifest = createBlockManifest({
@@ -9184,7 +10027,7 @@ var init_media2 = __esm({
9184
10027
  });
9185
10028
 
9186
10029
  // ../blocks/src/system/runtime/nodes/events/shared/index.ts
9187
- var init_shared4 = __esm({
10030
+ var init_shared5 = __esm({
9188
10031
  "../blocks/src/system/runtime/nodes/events/shared/index.ts"() {
9189
10032
  init_utils();
9190
10033
  }
@@ -9193,10 +10036,10 @@ var cardVariantSchema2, cardOrientationSchema, eventBlockKindSchema, eventSurfac
9193
10036
  var init_EventListing_interactive = __esm({
9194
10037
  "../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts"() {
9195
10038
  init_schemas2();
9196
- init_shared2();
10039
+ init_shared3();
9197
10040
  init_islands();
9198
10041
  init_runtime();
9199
- init_shared4();
10042
+ init_shared5();
9200
10043
  init_contract_schemas();
9201
10044
  cardVariantSchema2 = z.enum(["default", "variant1", "variant2"]);
9202
10045
  cardOrientationSchema = z.enum(["vertical", "horizontal"]);
@@ -9356,7 +10199,7 @@ var init_event_listing = __esm({
9356
10199
  init_api_bindings();
9357
10200
  init_defineBlock();
9358
10201
  init_EventListing_interactive();
9359
- init_shared2();
10202
+ init_shared3();
9360
10203
  eventListingManifest = createBlockManifest({
9361
10204
  id: "block.event-listing",
9362
10205
  version: "1.1.0",
@@ -9634,7 +10477,7 @@ var displayModeSchema, eventBlockKindSchema2, eventSurfaceScopeSchema2, eventSch
9634
10477
  var init_EventCalendar_interactive = __esm({
9635
10478
  "../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts"() {
9636
10479
  init_schemas2();
9637
- init_shared2();
10480
+ init_shared3();
9638
10481
  init_islands();
9639
10482
  init_runtime();
9640
10483
  init_contract_schemas();
@@ -9777,7 +10620,7 @@ var init_event_calendar = __esm({
9777
10620
  init_boxStyles();
9778
10621
  init_api_bindings();
9779
10622
  init_defineBlock();
9780
- init_shared2();
10623
+ init_shared3();
9781
10624
  init_EventCalendar_interactive();
9782
10625
  eventCalendarManifest = createBlockManifest({
9783
10626
  id: "block.event-calendar",
@@ -10003,6 +10846,21 @@ var init_event_calendar = __esm({
10003
10846
  visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
10004
10847
  }
10005
10848
  },
10849
+ {
10850
+ id: "showCapacity",
10851
+ type: "boolean",
10852
+ label: "Show available spots",
10853
+ description: "Display remaining capacity on event cards and timetable cells",
10854
+ required: false,
10855
+ defaultValue: true,
10856
+ ui: {
10857
+ intent: "display",
10858
+ visibleWhen: {
10859
+ field: "displayMode",
10860
+ oneOf: ["combined", "list", "week", "timetable"]
10861
+ }
10862
+ }
10863
+ },
10006
10864
  // Block-level pre-filtering
10007
10865
  {
10008
10866
  id: "eventSurface",
@@ -10194,6 +11052,9 @@ var init_event_calendar = __esm({
10194
11052
  showStaffFilter: {
10195
11053
  $bind: { from: "content.showStaffFilter", fallback: true }
10196
11054
  },
11055
+ showCapacity: {
11056
+ $bind: { from: "content.showCapacity", fallback: true }
11057
+ },
10197
11058
  kind: { $bind: { from: "content.kind", fallback: "all" } },
10198
11059
  eventSurface: {
10199
11060
  $bind: { from: "content.eventSurface", fallback: "all" }
@@ -10264,7 +11125,7 @@ var init_event_calendar = __esm({
10264
11125
  }
10265
11126
  });
10266
11127
  var publicProductVariantSchema, publicProductSchema, publicProductsResponseSchema;
10267
- var init_shared5 = __esm({
11128
+ var init_shared6 = __esm({
10268
11129
  "../blocks/src/system/blocks/products/shared.ts"() {
10269
11130
  publicProductVariantSchema = z.object({
10270
11131
  id: z.string(),
@@ -10651,7 +11512,7 @@ var shopModeSchema, contentEntrySchema3, shopSourceSchema, productVariantOptionD
10651
11512
  var init_shop_interactive = __esm({
10652
11513
  "../blocks/src/system/runtime/nodes/shop.interactive.ts"() {
10653
11514
  init_shop_shared();
10654
- init_shared5();
11515
+ init_shared6();
10655
11516
  init_display();
10656
11517
  init_shop_commerce_shared();
10657
11518
  init_islands();
@@ -11245,7 +12106,7 @@ var init_product_list = __esm({
11245
12106
  init_api_bindings();
11246
12107
  init_defineBlock();
11247
12108
  init_shop_interactive();
11248
- init_shared5();
12109
+ init_shared6();
11249
12110
  productListManifest = createBlockManifest({
11250
12111
  id: "block.product-list",
11251
12112
  version: "1.0.0",
@@ -11404,7 +12265,7 @@ var init_product_detail = __esm({
11404
12265
  init_api_bindings();
11405
12266
  init_defineBlock();
11406
12267
  init_shop_interactive();
11407
- init_shared5();
12268
+ init_shared6();
11408
12269
  productDetailManifest = createBlockManifest({
11409
12270
  id: "block.product-detail",
11410
12271
  version: "1.0.0",
@@ -12192,8 +13053,9 @@ function normalizeBoolean(value, fallback) {
12192
13053
  return fallback;
12193
13054
  }
12194
13055
  function normalizeLocationMapValueRecord(record) {
13056
+ const addressText = typeof record.addressText === "string" ? record.addressText : typeof record.displayAddress === "string" ? record.displayAddress : null;
12195
13057
  const normalized = {
12196
- addressText: normalizeLocationAddressText(typeof record.addressText === "string" ? record.addressText : null),
13058
+ addressText: normalizeLocationAddressText(addressText),
12197
13059
  lat: normalizeOptionalNumber(record.lat),
12198
13060
  lng: normalizeOptionalNumber(record.lng)
12199
13061
  };
@@ -12208,11 +13070,49 @@ function normalizeLocationMapValue(value) {
12208
13070
  }
12209
13071
  return normalizeLocationMapValueRecord(value);
12210
13072
  }
12211
- function normalizeLocationMapProps(input) {
13073
+ function normalizeLocationMapSource(value) {
13074
+ return value === "business_address" || value === "venue" ? value : "custom";
13075
+ }
13076
+ function resolveLocationMapLocation(input) {
13077
+ const source = normalizeLocationMapSource(input.locationSource);
13078
+ if (source === "business_address") {
13079
+ const locationValue2 = normalizeLocationMapValue(input.businessAddress ?? input.location);
13080
+ return locationValue2 ? { kind: "business_address", locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_business_address" };
13081
+ }
13082
+ if (source === "venue") {
13083
+ const venueId = typeof input.venueId === "string" && input.venueId.trim() ? input.venueId.trim() : null;
13084
+ if (!venueId) {
13085
+ return { kind: "unresolved", source, reason: "missing_venue_id" };
13086
+ }
13087
+ const locationValue2 = input.venuesById ? normalizeLocationMapValue(input.venuesById[venueId] ?? null) : null;
13088
+ return locationValue2 ? { kind: "venue", venueId, locationValue: locationValue2 } : { kind: "unresolved", source, reason: "missing_venue_location" };
13089
+ }
12212
13090
  const locationValue = normalizeLocationMapValue(input.location);
13091
+ return locationValue ? { kind: "custom", locationValue } : { kind: "unresolved", source, reason: "missing_custom_location" };
13092
+ }
13093
+ function describeUnresolvedLocationMapLocation(resolvedLocation) {
13094
+ if (resolvedLocation.kind !== "unresolved") {
13095
+ return null;
13096
+ }
13097
+ switch (resolvedLocation.reason) {
13098
+ case "missing_business_address":
13099
+ return "Business address details are not configured yet.";
13100
+ case "missing_venue_id":
13101
+ return "Choose a venue to show this map.";
13102
+ case "missing_venue_location":
13103
+ return "The selected venue does not have location details yet.";
13104
+ case "missing_custom_location":
13105
+ return "Location details coming soon.";
13106
+ }
13107
+ }
13108
+ function normalizeLocationMapProps(input) {
13109
+ const resolvedLocation = resolveLocationMapLocation(input);
13110
+ const locationValue = resolvedLocation.kind === "unresolved" ? null : resolvedLocation.locationValue;
12213
13111
  const directionsLabel = normalizeLocationAddressText(input.directionsLabel) ?? LOCATION_MAP_DEFAULTS.directionsLabel;
12214
13112
  return {
13113
+ resolvedLocation,
12215
13114
  locationValue,
13115
+ unresolvedMessage: describeUnresolvedLocationMapLocation(resolvedLocation),
12216
13116
  addressText: locationValue?.addressText ?? null,
12217
13117
  location: toLocationCoordinates(locationValue),
12218
13118
  zoom: Math.min(
@@ -12326,7 +13226,7 @@ var init_border2 = __esm({
12326
13226
  // ../theme-core/src/accordions/generateAccordionCss.ts
12327
13227
  var init_generateAccordionCss = __esm({
12328
13228
  "../theme-core/src/accordions/generateAccordionCss.ts"() {
12329
- init_types2();
13229
+ init_types5();
12330
13230
  init_constants2();
12331
13231
  init_border2();
12332
13232
  }
@@ -12341,7 +13241,7 @@ var init_defaults = __esm({
12341
13241
  // ../theme-core/src/inputs/generateInputCss.ts
12342
13242
  var init_generateInputCss = __esm({
12343
13243
  "../theme-core/src/inputs/generateInputCss.ts"() {
12344
- init_types3();
13244
+ init_types6();
12345
13245
  init_constants();
12346
13246
  init_border2();
12347
13247
  }
@@ -12362,12 +13262,12 @@ var init_generateBaseCSS = __esm({
12362
13262
  // ../theme-core/src/navigation/generateNavLinkCSS.ts
12363
13263
  var init_generateNavLinkCSS = __esm({
12364
13264
  "../theme-core/src/navigation/generateNavLinkCSS.ts"() {
12365
- init_types4();
13265
+ init_types7();
12366
13266
  init_generateBaseCSS();
12367
13267
  init_generateEffectsCSS();
12368
13268
  }
12369
13269
  });
12370
- var init_presets = __esm({
13270
+ var init_presets2 = __esm({
12371
13271
  "../theme-core/src/navigation/presets.ts"() {
12372
13272
  }
12373
13273
  });
@@ -12377,7 +13277,7 @@ var init_generateHeaderCss = __esm({
12377
13277
  "../theme-core/src/header/generateHeaderCss.ts"() {
12378
13278
  init_resolver();
12379
13279
  init_generateNavLinkCSS();
12380
- init_presets();
13280
+ init_presets2();
12381
13281
  init_shared();
12382
13282
  init_breakpoints();
12383
13283
  }
@@ -12395,7 +13295,7 @@ var init_generateFooterCss = __esm({
12395
13295
  "../theme-core/src/footer/generateFooterCss.ts"() {
12396
13296
  init_resolver();
12397
13297
  init_generateNavLinkCSS();
12398
- init_presets();
13298
+ init_presets2();
12399
13299
  }
12400
13300
  });
12401
13301
 
@@ -13014,8 +13914,34 @@ var init_compile = __esm({
13014
13914
  });
13015
13915
 
13016
13916
  // ../theme-core/src/responsiveMode.ts
13917
+ function escapeRegExp(value) {
13918
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
13919
+ }
13920
+ function buildResponsiveScopeRulePatternSource() {
13921
+ return [
13922
+ "@scope",
13923
+ "\\(\\[",
13924
+ escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
13925
+ '="(?:viewport|container)"\\]\\)',
13926
+ "to",
13927
+ "\\((?::scope )?\\[",
13928
+ escapeRegExp(THEME_RESPONSIVE_MODE_ATTR),
13929
+ "\\]\\)",
13930
+ "\\{"
13931
+ ].join("\\s*");
13932
+ }
13933
+ var THEME_RESPONSIVE_MODE_ATTR;
13017
13934
  var init_responsiveMode = __esm({
13018
13935
  "../theme-core/src/responsiveMode.ts"() {
13936
+ THEME_RESPONSIVE_MODE_ATTR = "data-rb-responsive-mode";
13937
+ new RegExp(
13938
+ buildResponsiveScopeRulePatternSource(),
13939
+ "g"
13940
+ );
13941
+ new RegExp(
13942
+ buildResponsiveScopeRulePatternSource(),
13943
+ "y"
13944
+ );
13019
13945
  }
13020
13946
  });
13021
13947
 
@@ -14193,7 +15119,7 @@ var ENDPOINT_DEFINITIONS = {
14193
15119
  responseKind: "void"
14194
15120
  },
14195
15121
  googleCalendarCallback: {
14196
- path: "/sites/{siteId}/bookings/calendar/google/callback",
15122
+ path: "/bookings/calendar/google/callback",
14197
15123
  method: "GET",
14198
15124
  auth: "user",
14199
15125
  responseKind: "void"
@@ -14929,6 +15855,23 @@ var ENDPOINT_DEFINITIONS = {
14929
15855
  auth: "user",
14930
15856
  responseKind: "json"
14931
15857
  },
15858
+ getSiteBusinessAddress: {
15859
+ path: "/sites/{siteId}/settings/business-address",
15860
+ method: "GET",
15861
+ revalidate: 120,
15862
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
15863
+ auth: "user",
15864
+ responseKind: "json",
15865
+ errors: ["auth:forbidden", "server:internal_error"]
15866
+ },
15867
+ updateSiteBusinessAddress: {
15868
+ path: "/sites/{siteId}/settings/business-address",
15869
+ method: "POST",
15870
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
15871
+ auth: "user",
15872
+ responseKind: "json",
15873
+ errors: ["auth:forbidden", "server:internal_error"]
15874
+ },
14932
15875
  getSiteGenerationIntake: {
14933
15876
  path: "/sites/{siteId}/settings/site-generation-intake",
14934
15877
  method: "GET",
@@ -20664,6 +21607,9 @@ function assertUniqueLayoutProfileKeys(profiles) {
20664
21607
  }
20665
21608
  }
20666
21609
 
21610
+ // ../theme-core/src/site-styles/index.ts
21611
+ init_compatibility();
21612
+
20667
21613
  // ../theme-core/src/site-styles/sourceCatalogs.ts
20668
21614
  var generatedContentFrames = [
20669
21615
  plainFrame,
@@ -20761,7 +21707,14 @@ function defineCuratedSiteStyle(input) {
20761
21707
  supportedContentFrames: generatedContentFrameKinds,
20762
21708
  supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
20763
21709
  supportedTransitions: generatedDesignOptionCatalog.transitions
20764
- }
21710
+ },
21711
+ // The library IDs are already branded at construction (`asButtonPersonalityId`
21712
+ // / `asPaletteVariantId`); the closed-union input type guarantees only
21713
+ // shipped IDs reach this branch.
21714
+ defaultButtonPersonalityId: input.defaultButtonPersonalityId,
21715
+ acceptedButtons: input.acceptedButtons,
21716
+ defaultPaletteVariantId: input.defaultPaletteVariantId,
21717
+ acceptedPalettes: input.acceptedPalettes
20765
21718
  };
20766
21719
  }
20767
21720
  var curatedSiteStyles = [
@@ -20779,7 +21732,11 @@ var curatedSiteStyles = [
20779
21732
  spacing: "airy",
20780
21733
  motion: "subtle"
20781
21734
  },
20782
- compositionBudget: quietBudget
21735
+ compositionBudget: quietBudget,
21736
+ defaultButtonPersonalityId: "soft-pill",
21737
+ acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "editorial"] },
21738
+ defaultPaletteVariantId: "soft-natural-sage",
21739
+ acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
20783
21740
  }),
20784
21741
  defineCuratedSiteStyle({
20785
21742
  id: "site-style:clear-professional",
@@ -20795,7 +21752,11 @@ var curatedSiteStyles = [
20795
21752
  spacing: "regular",
20796
21753
  motion: "subtle"
20797
21754
  },
20798
- compositionBudget: balancedBudget
21755
+ compositionBudget: balancedBudget,
21756
+ defaultButtonPersonalityId: "confident-chip",
21757
+ acceptedButtons: { tone: ["minimal", "classic"], era: ["modern", "editorial"] },
21758
+ defaultPaletteVariantId: "brand-led-cool",
21759
+ acceptedPalettes: { tone: ["minimal", "classic"], era: ["modern", "editorial"] }
20799
21760
  }),
20800
21761
  defineCuratedSiteStyle({
20801
21762
  id: "site-style:warm-editorial",
@@ -20811,7 +21772,11 @@ var curatedSiteStyles = [
20811
21772
  spacing: "airy",
20812
21773
  motion: "subtle"
20813
21774
  },
20814
- compositionBudget: balancedBudget
21775
+ compositionBudget: balancedBudget,
21776
+ defaultButtonPersonalityId: "editorial-link",
21777
+ acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
21778
+ defaultPaletteVariantId: "warm-neutral-cream",
21779
+ acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
20815
21780
  }),
20816
21781
  defineCuratedSiteStyle({
20817
21782
  id: "site-style:bright-community",
@@ -20827,7 +21792,11 @@ var curatedSiteStyles = [
20827
21792
  spacing: "regular",
20828
21793
  motion: "expressive"
20829
21794
  },
20830
- compositionBudget: balancedBudget
21795
+ compositionBudget: balancedBudget,
21796
+ defaultButtonPersonalityId: "pebble",
21797
+ acceptedButtons: { tone: ["classic", "bold"], era: ["organic", "modern"] },
21798
+ defaultPaletteVariantId: "brand-led-warm",
21799
+ acceptedPalettes: { tone: ["classic", "bold"], era: ["modern", "organic"] }
20831
21800
  }),
20832
21801
  defineCuratedSiteStyle({
20833
21802
  id: "site-style:quiet-luxury",
@@ -20850,7 +21819,11 @@ var curatedSiteStyles = [
20850
21819
  spacing: "airy",
20851
21820
  motion: "none"
20852
21821
  },
20853
- compositionBudget: quietBudget
21822
+ compositionBudget: quietBudget,
21823
+ defaultButtonPersonalityId: "editorial-link",
21824
+ acceptedButtons: { tone: ["minimal", "classic"], era: ["editorial", "organic"] },
21825
+ defaultPaletteVariantId: "high-contrast-charcoal",
21826
+ acceptedPalettes: { tone: ["minimal", "classic"], era: ["editorial", "organic"] }
20854
21827
  }),
20855
21828
  defineCuratedSiteStyle({
20856
21829
  id: "site-style:practical-services",
@@ -20874,7 +21847,11 @@ var curatedSiteStyles = [
20874
21847
  spacing: "compact",
20875
21848
  motion: "none"
20876
21849
  },
20877
- compositionBudget: quietBudget
21850
+ compositionBudget: quietBudget,
21851
+ defaultButtonPersonalityId: "confident-chip",
21852
+ acceptedButtons: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] },
21853
+ defaultPaletteVariantId: "brand-led-cool",
21854
+ acceptedPalettes: { tone: ["minimal", "classic", "bold"], era: ["modern", "editorial"] }
20878
21855
  }),
20879
21856
  defineCuratedSiteStyle({
20880
21857
  id: "site-style:modern-wellness",
@@ -20890,7 +21867,11 @@ var curatedSiteStyles = [
20890
21867
  spacing: "airy",
20891
21868
  motion: "subtle"
20892
21869
  },
20893
- compositionBudget: balancedBudget
21870
+ compositionBudget: balancedBudget,
21871
+ defaultButtonPersonalityId: "soft-pill",
21872
+ acceptedButtons: { tone: ["minimal", "classic"], era: ["organic", "modern"] },
21873
+ defaultPaletteVariantId: "soft-natural-sage",
21874
+ acceptedPalettes: { tone: ["minimal", "classic"], era: ["organic"] }
20894
21875
  }),
20895
21876
  defineCuratedSiteStyle({
20896
21877
  id: "site-style:bold-launch",
@@ -20914,7 +21895,11 @@ var curatedSiteStyles = [
20914
21895
  spacing: "regular",
20915
21896
  motion: "expressive"
20916
21897
  },
20917
- compositionBudget: expressiveBudget
21898
+ compositionBudget: expressiveBudget,
21899
+ defaultButtonPersonalityId: "ink-stamp",
21900
+ acceptedButtons: { tone: ["classic", "bold"], era: ["editorial", "organic", "modern"] },
21901
+ defaultPaletteVariantId: "high-contrast-monochrome",
21902
+ acceptedPalettes: { tone: ["bold"], era: ["editorial", "modern"] }
20918
21903
  })
20919
21904
  ];
20920
21905
  new Map(
@@ -21197,170 +22182,49 @@ function addDuplicateStringIssues(ctx, input) {
21197
22182
  function boundaryKey(previousBlockId, nextBlockId) {
21198
22183
  return makeBoundaryId(previousBlockId, nextBlockId);
21199
22184
  }
21200
- var hotspotSchema = z39.object({
21201
- x: z39.number().min(0).max(1),
21202
- y: z39.number().min(0).max(1),
21203
- radius: z39.number().optional()
21204
- });
21205
- var rotationSchema = z39.union([z39.literal(0), z39.literal(90), z39.literal(180), z39.literal(270)]);
21206
- var rectSchema = z39.tuple([z39.number(), z39.number(), z39.number(), z39.number()]);
21207
- var aspectCropSchema = z39.object({
21208
- aspect: z39.preprocess((value) => value == null ? void 0 : value, z39.string().optional()),
21209
- rect: z39.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
21210
- hotspot: z39.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
21211
- rotation: z39.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
21212
- });
21213
- var transformSchema = z39.object({
21214
- aspectCrops: z39.preprocess((value) => {
22185
+ var hotspotSchema = z42.object({
22186
+ x: z42.number().min(0).max(1),
22187
+ y: z42.number().min(0).max(1),
22188
+ radius: z42.number().optional()
22189
+ });
22190
+ var rotationSchema = z42.union([z42.literal(0), z42.literal(90), z42.literal(180), z42.literal(270)]);
22191
+ var rectSchema = z42.tuple([z42.number(), z42.number(), z42.number(), z42.number()]);
22192
+ var aspectCropSchema = z42.object({
22193
+ aspect: z42.preprocess((value) => value == null ? void 0 : value, z42.string().optional()),
22194
+ rect: z42.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
22195
+ hotspot: z42.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
22196
+ rotation: z42.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
22197
+ });
22198
+ var transformSchema = z42.object({
22199
+ aspectCrops: z42.preprocess((value) => {
21215
22200
  if (!value || typeof value !== "object" || Array.isArray(value)) {
21216
22201
  return void 0;
21217
22202
  }
21218
22203
  return value;
21219
- }, z39.record(z39.string(), aspectCropSchema.catch({}))).optional(),
22204
+ }, z42.record(z42.string(), aspectCropSchema.catch({}))).optional(),
21220
22205
  rect: rectSchema.optional(),
21221
22206
  hotspot: hotspotSchema.optional(),
21222
22207
  rotation: rotationSchema.optional()
21223
22208
  });
21224
- var mediaSchema = z39.object({
21225
- type: z39.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
21226
- purpose: z39.string().optional(),
21227
- placeholder: z39.boolean().default(true).optional(),
21228
- assetId: z39.string().optional(),
21229
- identifier: z39.string().optional(),
21230
- src: z39.string().optional(),
21231
- alt: z39.string().optional(),
21232
- filename: z39.string().optional(),
21233
- mimeType: z39.string().optional(),
21234
- width: z39.number().optional(),
21235
- height: z39.number().optional(),
21236
- storageBucket: z39.string().optional(),
21237
- storagePath: z39.string().optional(),
22209
+ var mediaSchema = z42.object({
22210
+ type: z42.enum(["image", "video", "audio", "document", "spreadsheet", "archive"]),
22211
+ purpose: z42.string().optional(),
22212
+ placeholder: z42.boolean().default(true).optional(),
22213
+ assetId: z42.string().optional(),
22214
+ identifier: z42.string().optional(),
22215
+ src: z42.string().optional(),
22216
+ alt: z42.string().optional(),
22217
+ filename: z42.string().optional(),
22218
+ mimeType: z42.string().optional(),
22219
+ width: z42.number().optional(),
22220
+ height: z42.number().optional(),
22221
+ storageBucket: z42.string().optional(),
22222
+ storagePath: z42.string().optional(),
21238
22223
  transform: transformSchema.optional()
21239
22224
  });
21240
- var cornerStyleSchema = z.enum(["square", "rounded", "pill"]);
21241
- var shadowSizeSchema = z.enum(["none", "low", "medium", "high"]);
21242
- var textTransformSchema = z.enum(["none", "uppercase", "lowercase", "capitalize"]);
21243
- var fontWeightSchema = z.union([z.literal(500), z.literal(600), z.literal(700)]);
21244
- var buttonTypographySchema = z.enum(["body", "heading"]);
21245
- var hoverTransformSchema = z.enum(["none", "lift", "scale", "press"]);
21246
- var hoverColorSchema = z.enum(["none", "brighten", "darken", "saturate", "token"]);
21247
- var buttonPaddingPresetSchema = z.enum(["compact", "default", "spacious"]);
21248
- var gradientStyleSchema = z.enum(["linear", "radial", "conic"]);
21249
- var gradientSharpnessSchema = z.enum(["smooth", "medium", "hard"]);
21250
- z.enum(["sm", "md", "lg", "xl"]);
21251
- var buttonSizeConfigSchema = z.object({
21252
- padding: z.string(),
21253
- fontSize: z.string().optional()
21254
- });
21255
- var buttonSizesSchema = z.object({
21256
- sm: buttonSizeConfigSchema,
21257
- md: buttonSizeConfigSchema,
21258
- lg: buttonSizeConfigSchema,
21259
- xl: buttonSizeConfigSchema.optional()
21260
- });
21261
- var backgroundTreatmentSchema = z.enum(["solid", "gradient", "outline", "ghost"]);
21262
- var outlineHoverEffectSchema = z.enum([
21263
- "border-glow",
21264
- "border-shift",
21265
- "border-grow",
21266
- "fill-transition",
21267
- "border-trace"
21268
- ]);
21269
- var buttonGlobalSettingsSchema = z.object({
21270
- cornerStyle: cornerStyleSchema,
21271
- cornerRadius: z.number().min(0).max(24).optional(),
21272
- shadow: shadowSizeSchema,
21273
- textTransform: textTransformSchema,
21274
- fontWeight: fontWeightSchema,
21275
- borderWidth: z.union([z.literal(1), z.literal(2), z.literal(3)]),
21276
- // Typography source (body or heading)
21277
- typography: buttonTypographySchema.optional(),
21278
- // Italic style
21279
- italic: z.boolean().optional(),
21280
- // Padding preset (applies to all variants unless overridden)
21281
- paddingPreset: buttonPaddingPresetSchema.optional(),
21282
- hoverTransform: hoverTransformSchema,
21283
- hoverColor: hoverColorSchema,
21284
- // When hoverColor is 'token', this specifies which token to use
21285
- hoverColorToken: z.string().optional(),
21286
- // Gradient settings (if any variant uses gradients)
21287
- gradientStyle: gradientStyleSchema.optional(),
21288
- gradientAngle: z.number().min(0).max(360).optional(),
21289
- gradientSharpness: gradientSharpnessSchema.optional()
21290
- });
21291
- var gradientDirectionSchema = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
21292
- var buttonBackgroundSchema = z.discriminatedUnion("type", [
21293
- z.object({ type: z.literal("solid"), colorToken: z.string() }),
21294
- z.object({
21295
- type: z.literal("gradient"),
21296
- stops: z.array(z.string()).min(2),
21297
- direction: gradientDirectionSchema
21298
- }),
21299
- z.object({ type: z.literal("transparent") })
21300
- ]);
21301
- var effectApplicationSchema = z.object({
21302
- effectId: z.string(),
21303
- options: z.record(z.string(), z.any()).optional()
21304
- });
21305
- var buttonBorderSchema = z.object({
21306
- widthClass: z.string(),
21307
- colorToken: z.string()
21308
- });
21309
- z.object({
21310
- id: z.string(),
21311
- name: z.string().min(1).max(20),
21312
- enabled: z.boolean(),
21313
- priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
21314
- backgroundTreatment: backgroundTreatmentSchema,
21315
- color: z.string().optional(),
21316
- gradientColors: z.tuple([z.string(), z.string()]).optional(),
21317
- borderColor: z.string().optional(),
21318
- outlineHoverEffect: outlineHoverEffectSchema.optional(),
21319
- effectPreset: z.string().optional()
21320
- });
21321
- var buttonVariantSchema = z.object({
21322
- id: z.string(),
21323
- name: z.string().min(1).max(20),
21324
- enabled: z.boolean(),
21325
- priority: z.union([z.literal(1), z.literal(2), z.literal(3)]),
21326
- // Base appearance (token-based)
21327
- background: buttonBackgroundSchema,
21328
- textColorToken: z.string(),
21329
- borderRadius: z.string(),
21330
- // Optional shadow override (uses theme.shadow if not specified)
21331
- shadow: z.object({
21332
- elevation: z.enum(["none", "low", "medium", "high"]),
21333
- softness: z.enum(["crisp", "soft", "hard"]).nullable(),
21334
- position: z.enum(["bottom", "bottom-right"]).default("bottom")
21335
- }).optional(),
21336
- // Border (optional)
21337
- border: buttonBorderSchema.optional(),
21338
- // Padding (optional, defaults to "0.5rem 1rem")
21339
- padding: z.string().optional(),
21340
- // Font size (optional, Tailwind text size class)
21341
- fontSize: z.string().optional(),
21342
- // Hover background token (per-variant override, takes precedence over global hoverColorToken)
21343
- hoverBackgroundToken: z.string().optional(),
21344
- // Effect composition
21345
- effects: z.object({
21346
- base: z.array(effectApplicationSchema).optional(),
21347
- hover: z.array(effectApplicationSchema).optional(),
21348
- active: z.array(effectApplicationSchema).optional(),
21349
- focus: z.array(effectApplicationSchema).optional()
21350
- }).optional()
21351
- });
21352
- var buttonSystemSchema = z.object({
21353
- global: buttonGlobalSettingsSchema,
21354
- variants: z.array(buttonVariantSchema).min(1).max(6),
21355
- sizes: buttonSizesSchema.optional()
21356
- });
21357
22225
 
21358
- // ../theme-core/src/buttons/index.ts
21359
- init_generateButtonCss();
21360
- init_generateDefaultButtonSystem();
21361
- init_constants();
21362
- init_registry();
21363
- init_transform();
22226
+ // ../theme-core/src/schema.ts
22227
+ init_buttons();
21364
22228
  var cardSpacingSchema = z.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
21365
22229
  var gradientDirectionSchema2 = z.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
21366
22230
  var cardBackgroundSchema = z.discriminatedUnion("type", [
@@ -21405,8 +22269,8 @@ init_generateCardCss();
21405
22269
  init_generateDefaultCardSystem();
21406
22270
 
21407
22271
  // ../theme-core/src/schema.ts
21408
- init_types2();
21409
- init_types3();
22272
+ init_types5();
22273
+ init_types6();
21410
22274
  var gradientStopSchema = z.object({
21411
22275
  color: z.string(),
21412
22276
  // Theme color token name (e.g., 'primary-500')
@@ -21423,7 +22287,7 @@ var gradientConfigSchema = z.object({
21423
22287
  });
21424
22288
 
21425
22289
  // ../theme-core/src/schema.ts
21426
- init_types4();
22290
+ init_types7();
21427
22291
  init_validation();
21428
22292
  init_atRuleValidation();
21429
22293
  init_shared();
@@ -21910,6 +22774,368 @@ z.object({
21910
22774
  message: z.string().min(1),
21911
22775
  themes: z.array(themeSchema).length(3)
21912
22776
  });
22777
+
22778
+ // ../theme-core/src/site-styles/runtimeCompiler.ts
22779
+ init_personalities();
22780
+
22781
+ // ../theme-core/src/palette/variants/types.ts
22782
+ init_compatibility();
22783
+ function asPaletteVariantId(value) {
22784
+ if (value.length === 0) {
22785
+ throw new Error("PaletteVariantId must be a non-empty string");
22786
+ }
22787
+ return value;
22788
+ }
22789
+ var paletteVariantIdSchema = z.string().min(1).transform((value) => asPaletteVariantId(value));
22790
+ var PALETTE_TOKEN_NAMES = [
22791
+ "primary",
22792
+ "primaryForeground",
22793
+ "secondary",
22794
+ "accent",
22795
+ "success",
22796
+ "warning",
22797
+ "destructive",
22798
+ "background",
22799
+ "surface",
22800
+ "surfaceAlt",
22801
+ "muted",
22802
+ "text",
22803
+ "border"
22804
+ ];
22805
+ var paletteTokenNameSchema = z.enum(PALETTE_TOKEN_NAMES);
22806
+ var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
22807
+ var hexColorSchema = z.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
22808
+ var variantPaletteColorSchema = paletteColorSchema.extend({
22809
+ name: paletteTokenNameSchema
22810
+ });
22811
+ z.object({
22812
+ id: paletteVariantIdSchema,
22813
+ name: z.string().min(1),
22814
+ description: z.string().min(1),
22815
+ tags: styleTagsSchema,
22816
+ mode: z.enum(["light", "dark"]),
22817
+ colors: z.array(variantPaletteColorSchema).min(1)
22818
+ });
22819
+ function definePaletteVariant(input) {
22820
+ return {
22821
+ id: asPaletteVariantId(input.id),
22822
+ name: input.name,
22823
+ description: input.description,
22824
+ tags: input.tags,
22825
+ mode: input.mode,
22826
+ colors: input.colors
22827
+ };
22828
+ }
22829
+ z.object({
22830
+ primary: hexColorSchema.optional(),
22831
+ primaryForeground: hexColorSchema.optional(),
22832
+ secondary: hexColorSchema.optional(),
22833
+ accent: hexColorSchema.optional(),
22834
+ success: hexColorSchema.optional(),
22835
+ warning: hexColorSchema.optional(),
22836
+ destructive: hexColorSchema.optional(),
22837
+ background: hexColorSchema.optional(),
22838
+ surface: hexColorSchema.optional(),
22839
+ surfaceAlt: hexColorSchema.optional(),
22840
+ muted: hexColorSchema.optional(),
22841
+ text: hexColorSchema.optional(),
22842
+ border: hexColorSchema.optional()
22843
+ }).strict().transform((value) => value);
22844
+
22845
+ // ../theme-core/src/palette/variants/brand-led.ts
22846
+ var brandLedCool = definePaletteVariant({
22847
+ id: "brand-led-cool",
22848
+ name: "Brand-led \u2014 Cool",
22849
+ description: "Confident blue primary with slate neutrals.",
22850
+ tags: { tone: "classic", energy: "calm", era: "modern" },
22851
+ mode: "light",
22852
+ colors: [
22853
+ { name: "primary", hex: "#2563eb" },
22854
+ { name: "secondary", hex: "#64748b" },
22855
+ { name: "accent", hex: "#0f766e" },
22856
+ { name: "success", hex: "#16a34a" },
22857
+ { name: "warning", hex: "#d97706" },
22858
+ { name: "destructive", hex: "#dc2626" },
22859
+ { name: "background", hex: "#ffffff" },
22860
+ { name: "surface", hex: "#ffffff" },
22861
+ { name: "surfaceAlt", hex: "#f8fafc" },
22862
+ { name: "muted", hex: "#f1f5f9" },
22863
+ { name: "text", hex: "#0f172a" },
22864
+ { name: "primaryForeground", hex: "#ffffff" },
22865
+ { name: "border", hex: "#cbd5e1" }
22866
+ ]
22867
+ });
22868
+ var brandLedWarm = definePaletteVariant({
22869
+ id: "brand-led-warm",
22870
+ name: "Brand-led \u2014 Warm",
22871
+ description: "Sunset orange primary with warm grey neutrals.",
22872
+ tags: { tone: "classic", energy: "vibrant", era: "modern" },
22873
+ mode: "light",
22874
+ colors: [
22875
+ { name: "primary", hex: "#ea580c" },
22876
+ { name: "secondary", hex: "#78716c" },
22877
+ { name: "accent", hex: "#a16207" },
22878
+ { name: "success", hex: "#16a34a" },
22879
+ { name: "warning", hex: "#d97706" },
22880
+ { name: "destructive", hex: "#b91c1c" },
22881
+ { name: "background", hex: "#fffaf3" },
22882
+ { name: "surface", hex: "#ffffff" },
22883
+ { name: "surfaceAlt", hex: "#fbeee0" },
22884
+ { name: "muted", hex: "#f4e2cd" },
22885
+ { name: "text", hex: "#1c1917" },
22886
+ { name: "primaryForeground", hex: "#fffaf3" },
22887
+ { name: "border", hex: "#d6c4ad" }
22888
+ ]
22889
+ });
22890
+ var brandLedJewel = definePaletteVariant({
22891
+ id: "brand-led-jewel",
22892
+ name: "Brand-led \u2014 Jewel",
22893
+ description: "Deep emerald primary with rich neutrals.",
22894
+ tags: { tone: "bold", energy: "vibrant", era: "modern" },
22895
+ mode: "light",
22896
+ colors: [
22897
+ { name: "primary", hex: "#047857" },
22898
+ { name: "secondary", hex: "#4b5563" },
22899
+ { name: "accent", hex: "#7c3aed" },
22900
+ { name: "success", hex: "#15803d" },
22901
+ { name: "warning", hex: "#b45309" },
22902
+ { name: "destructive", hex: "#b91c1c" },
22903
+ { name: "background", hex: "#ffffff" },
22904
+ { name: "surface", hex: "#ffffff" },
22905
+ { name: "surfaceAlt", hex: "#f5f5f4" },
22906
+ { name: "muted", hex: "#e7e5e4" },
22907
+ { name: "text", hex: "#0c0a09" },
22908
+ { name: "primaryForeground", hex: "#ffffff" },
22909
+ { name: "border", hex: "#a8a29e" }
22910
+ ]
22911
+ });
22912
+
22913
+ // ../theme-core/src/palette/variants/high-contrast.ts
22914
+ var highContrastInk = definePaletteVariant({
22915
+ id: "high-contrast-ink",
22916
+ name: "High Contrast \u2014 Ink",
22917
+ description: "Near-black primary with cool greys.",
22918
+ tags: { tone: "bold", energy: "calm", era: "editorial" },
22919
+ mode: "light",
22920
+ colors: [
22921
+ { name: "primary", hex: "#111827" },
22922
+ { name: "secondary", hex: "#374151" },
22923
+ { name: "accent", hex: "#1d4ed8" },
22924
+ { name: "success", hex: "#047857" },
22925
+ { name: "warning", hex: "#b45309" },
22926
+ { name: "destructive", hex: "#b91c1c" },
22927
+ { name: "background", hex: "#ffffff" },
22928
+ { name: "surface", hex: "#ffffff" },
22929
+ { name: "surfaceAlt", hex: "#f3f4f6" },
22930
+ { name: "muted", hex: "#e5e7eb" },
22931
+ { name: "text", hex: "#030712" },
22932
+ { name: "primaryForeground", hex: "#ffffff" },
22933
+ { name: "border", hex: "#6b7280" }
22934
+ ]
22935
+ });
22936
+ var highContrastCharcoal = definePaletteVariant({
22937
+ id: "high-contrast-charcoal",
22938
+ name: "High Contrast \u2014 Charcoal",
22939
+ description: "Warm charcoal primary on a soft cream ground.",
22940
+ tags: { tone: "minimal", energy: "calm", era: "editorial" },
22941
+ mode: "light",
22942
+ colors: [
22943
+ { name: "primary", hex: "#1f2937" },
22944
+ { name: "secondary", hex: "#52525b" },
22945
+ { name: "accent", hex: "#a16207" },
22946
+ { name: "success", hex: "#15803d" },
22947
+ { name: "warning", hex: "#b45309" },
22948
+ { name: "destructive", hex: "#991b1b" },
22949
+ { name: "background", hex: "#fafaf9" },
22950
+ { name: "surface", hex: "#ffffff" },
22951
+ { name: "surfaceAlt", hex: "#f5f5f4" },
22952
+ { name: "muted", hex: "#e7e5e4" },
22953
+ { name: "text", hex: "#0c0a09" },
22954
+ { name: "primaryForeground", hex: "#fafaf9" },
22955
+ { name: "border", hex: "#a8a29e" }
22956
+ ]
22957
+ });
22958
+ var highContrastMonochrome = definePaletteVariant({
22959
+ id: "high-contrast-monochrome",
22960
+ name: "High Contrast \u2014 Monochrome",
22961
+ description: "Pure black-on-white with a single saturated accent.",
22962
+ tags: { tone: "bold", energy: "vibrant", era: "editorial" },
22963
+ mode: "light",
22964
+ colors: [
22965
+ { name: "primary", hex: "#000000" },
22966
+ { name: "secondary", hex: "#404040" },
22967
+ { name: "accent", hex: "#dc2626" },
22968
+ { name: "success", hex: "#000000" },
22969
+ { name: "warning", hex: "#000000" },
22970
+ { name: "destructive", hex: "#dc2626" },
22971
+ { name: "background", hex: "#ffffff" },
22972
+ { name: "surface", hex: "#ffffff" },
22973
+ { name: "surfaceAlt", hex: "#f5f5f5" },
22974
+ { name: "muted", hex: "#e5e5e5" },
22975
+ { name: "text", hex: "#000000" },
22976
+ { name: "primaryForeground", hex: "#ffffff" },
22977
+ { name: "border", hex: "#525252" }
22978
+ ]
22979
+ });
22980
+
22981
+ // ../theme-core/src/palette/variants/soft-natural.ts
22982
+ var softNaturalSage = definePaletteVariant({
22983
+ id: "soft-natural-sage",
22984
+ name: "Soft Natural \u2014 Sage",
22985
+ description: "Olive sage primary on an off-white ground.",
22986
+ tags: { tone: "classic", energy: "calm", era: "organic" },
22987
+ mode: "light",
22988
+ colors: [
22989
+ { name: "primary", hex: "#3f6212" },
22990
+ { name: "secondary", hex: "#6b7280" },
22991
+ { name: "accent", hex: "#0f766e" },
22992
+ { name: "success", hex: "#15803d" },
22993
+ { name: "warning", hex: "#a16207" },
22994
+ { name: "destructive", hex: "#b91c1c" },
22995
+ { name: "background", hex: "#fbfdf7" },
22996
+ { name: "surface", hex: "#ffffff" },
22997
+ { name: "surfaceAlt", hex: "#eef5e8" },
22998
+ { name: "muted", hex: "#e7efdf" },
22999
+ { name: "text", hex: "#1f2a1d" },
23000
+ { name: "primaryForeground", hex: "#ffffff" },
23001
+ { name: "border", hex: "#cbd8c0" }
23002
+ ]
23003
+ });
23004
+ var softNaturalStone = definePaletteVariant({
23005
+ id: "soft-natural-stone",
23006
+ name: "Soft Natural \u2014 Stone",
23007
+ description: "River-stone grey-green primary with cool neutrals.",
23008
+ tags: { tone: "minimal", energy: "calm", era: "organic" },
23009
+ mode: "light",
23010
+ colors: [
23011
+ { name: "primary", hex: "#5a7a5d" },
23012
+ { name: "secondary", hex: "#8a9a8c" },
23013
+ { name: "accent", hex: "#c9b88f" },
23014
+ { name: "success", hex: "#5a7a5d" },
23015
+ { name: "warning", hex: "#a89466" },
23016
+ { name: "destructive", hex: "#a3503e" },
23017
+ { name: "background", hex: "#faf6ec" },
23018
+ { name: "surface", hex: "#ffffff" },
23019
+ { name: "surfaceAlt", hex: "#f0ecdf" },
23020
+ { name: "muted", hex: "#e6e1d0" },
23021
+ { name: "text", hex: "#2f3d31" },
23022
+ { name: "primaryForeground", hex: "#faf6ec" },
23023
+ { name: "border", hex: "#c9c1ad" }
23024
+ ]
23025
+ });
23026
+ var softNaturalWatercolor = definePaletteVariant({
23027
+ id: "soft-natural-watercolor",
23028
+ name: "Soft Natural \u2014 Watercolor",
23029
+ description: "Soft sand primary with watercolour sage accents.",
23030
+ tags: { tone: "classic", energy: "vibrant", era: "organic" },
23031
+ mode: "light",
23032
+ colors: [
23033
+ { name: "primary", hex: "#a8825f" },
23034
+ { name: "secondary", hex: "#88a888" },
23035
+ { name: "accent", hex: "#c8a78e" },
23036
+ { name: "success", hex: "#7d8a5f" },
23037
+ { name: "warning", hex: "#c89a4d" },
23038
+ { name: "destructive", hex: "#a3503e" },
23039
+ { name: "background", hex: "#fefdfa" },
23040
+ { name: "surface", hex: "#ffffff" },
23041
+ { name: "surfaceAlt", hex: "#f6f1e6" },
23042
+ { name: "muted", hex: "#eee7d1" },
23043
+ { name: "text", hex: "#4a3d30" },
23044
+ { name: "primaryForeground", hex: "#fefdfa" },
23045
+ { name: "border", hex: "#d8c9a8" }
23046
+ ]
23047
+ });
23048
+
23049
+ // ../theme-core/src/palette/variants/warm-neutral.ts
23050
+ var warmNeutralClay = definePaletteVariant({
23051
+ id: "warm-neutral-clay",
23052
+ name: "Warm Neutral \u2014 Clay",
23053
+ description: "Terracotta primary on a cream ground.",
23054
+ tags: { tone: "classic", energy: "calm", era: "organic" },
23055
+ mode: "light",
23056
+ colors: [
23057
+ { name: "primary", hex: "#8b5e34" },
23058
+ { name: "secondary", hex: "#7c6f64" },
23059
+ { name: "accent", hex: "#a15c38" },
23060
+ { name: "success", hex: "#527853" },
23061
+ { name: "warning", hex: "#b7791f" },
23062
+ { name: "destructive", hex: "#b91c1c" },
23063
+ { name: "background", hex: "#fffaf3" },
23064
+ { name: "surface", hex: "#ffffff" },
23065
+ { name: "surfaceAlt", hex: "#f5eadc" },
23066
+ { name: "muted", hex: "#efe2d0" },
23067
+ { name: "text", hex: "#2f241c" },
23068
+ { name: "primaryForeground", hex: "#fffaf3" },
23069
+ { name: "border", hex: "#d8c6b3" }
23070
+ ]
23071
+ });
23072
+ var warmNeutralCream = definePaletteVariant({
23073
+ id: "warm-neutral-cream",
23074
+ name: "Warm Neutral \u2014 Cream",
23075
+ description: "Soft sand primary with pale cream surfaces.",
23076
+ tags: { tone: "minimal", energy: "calm", era: "organic" },
23077
+ mode: "light",
23078
+ colors: [
23079
+ { name: "primary", hex: "#b08864" },
23080
+ { name: "secondary", hex: "#9a8c7e" },
23081
+ { name: "accent", hex: "#c2956a" },
23082
+ { name: "success", hex: "#7d8a5f" },
23083
+ { name: "warning", hex: "#c89a4d" },
23084
+ { name: "destructive", hex: "#a3503e" },
23085
+ { name: "background", hex: "#fdf8ee" },
23086
+ { name: "surface", hex: "#ffffff" },
23087
+ { name: "surfaceAlt", hex: "#f4ebd9" },
23088
+ { name: "muted", hex: "#ede3cf" },
23089
+ { name: "text", hex: "#3b2f24" },
23090
+ { name: "primaryForeground", hex: "#fdf8ee" },
23091
+ { name: "border", hex: "#e0d2b8" }
23092
+ ]
23093
+ });
23094
+ var warmNeutralForest = definePaletteVariant({
23095
+ id: "warm-neutral-forest",
23096
+ name: "Warm Neutral \u2014 Forest",
23097
+ description: "Deep forest green primary with earthy neutrals.",
23098
+ tags: { tone: "classic", energy: "calm", era: "organic" },
23099
+ mode: "light",
23100
+ colors: [
23101
+ { name: "primary", hex: "#3d5840" },
23102
+ { name: "secondary", hex: "#7a6f5d" },
23103
+ { name: "accent", hex: "#b06b50" },
23104
+ { name: "success", hex: "#5a7a5d" },
23105
+ { name: "warning", hex: "#b7791f" },
23106
+ { name: "destructive", hex: "#b91c1c" },
23107
+ { name: "background", hex: "#fbf8f0" },
23108
+ { name: "surface", hex: "#ffffff" },
23109
+ { name: "surfaceAlt", hex: "#f2ecdb" },
23110
+ { name: "muted", hex: "#ebe3cc" },
23111
+ { name: "text", hex: "#2a2a2a" },
23112
+ { name: "primaryForeground", hex: "#fbf8f0" },
23113
+ { name: "border", hex: "#cdc1a4" }
23114
+ ]
23115
+ });
23116
+
23117
+ // ../theme-core/src/palette/variants/index.ts
23118
+ var paletteVariants = [
23119
+ // Brand-led family
23120
+ brandLedCool,
23121
+ brandLedWarm,
23122
+ brandLedJewel,
23123
+ // Warm-neutral family
23124
+ warmNeutralClay,
23125
+ warmNeutralCream,
23126
+ warmNeutralForest,
23127
+ // High-contrast family
23128
+ highContrastInk,
23129
+ highContrastCharcoal,
23130
+ highContrastMonochrome,
23131
+ // Soft-natural family
23132
+ softNaturalSage,
23133
+ softNaturalStone,
23134
+ softNaturalWatercolor
23135
+ ];
23136
+ new Map(
23137
+ paletteVariants.map((v) => [v.id, v])
23138
+ );
21913
23139
  var nonEmptyStringSchema = z.string().min(1);
21914
23140
  var blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
21915
23141
  var designBlockIdSchema = nonEmptyStringSchema.transform(asDesignBlockId);
@@ -22026,6 +23252,8 @@ var noneBoundaryOption = {
22026
23252
  id: asBoundaryOptionId("break:none")};
22027
23253
  var softBoundaryOption = {
22028
23254
  id: asBoundaryOptionId("break:soft")};
23255
+ ({
23256
+ id: asBoundaryOptionId("break:wave")});
22029
23257
  var spaciousBoundaryOption = {
22030
23258
  id: asBoundaryOptionId("break:spacious")};
22031
23259
  [
@@ -22913,7 +24141,7 @@ var formattingTransforms = [
22913
24141
  ];
22914
24142
 
22915
24143
  // ../blocks/src/system/transforms/registry/ui.ts
22916
- init_core();
24144
+ init_core2();
22917
24145
  init_colorStyles();
22918
24146
  init_blockColorTokens();
22919
24147
  init_sectionState_shared();
@@ -23374,7 +24602,7 @@ var uiTransforms = [
23374
24602
 
23375
24603
  // ../blocks/src/system/transforms/registry/layout.ts
23376
24604
  init_colorConversion();
23377
- init_core();
24605
+ init_core2();
23378
24606
  init_colorStyles();
23379
24607
  var joinClasses4 = (parts) => parts.filter(
23380
24608
  (part) => typeof part === "string" && part.trim().length > 0
@@ -23979,6 +25207,7 @@ function bindProp(from, opts) {
23979
25207
 
23980
25208
  // ../blocks/src/system/blocks/site-header.ts
23981
25209
  init_defineBlock();
25210
+ init_shared2();
23982
25211
  init_colorStyles();
23983
25212
  var logoRow = link(
23984
25213
  {
@@ -24059,7 +25288,7 @@ var headerCta = ctaButton({
24059
25288
  whenPath: "menu.ctaItem.label",
24060
25289
  variantPath: "menu.ctaItem.variant",
24061
25290
  linkPath: "menu.ctaItem.link",
24062
- className: "header-cta btn-sm rb-hidden rb-lg-inline-flex rb-ml-6"
25291
+ className: `header-cta btn-sm ${desktopOnlyDisplay("inline-flex")} rb-ml-6`
24063
25292
  });
24064
25293
  var mobileCta = ctaButton({
24065
25294
  basePath: "menu.ctaItem",
@@ -24087,7 +25316,7 @@ var mobileToggleButton = {
24087
25316
  props: {
24088
25317
  type: "button",
24089
25318
  variantId: "",
24090
- className: "nav-mobile-toggle rb-inline-flex rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard rb-lg-hidden",
25319
+ className: `nav-mobile-toggle ${mobileOnlyDisplay("inline-flex")} rb-h-10 rb-w-10 rb-items-center rb-justify-center rb-rounded-md transition-theme-standard`,
24091
25320
  "aria-label": "Open menu",
24092
25321
  "aria-expanded": "false",
24093
25322
  "aria-controls": "nav-mobile-overlay",
@@ -24142,7 +25371,7 @@ var mobileOverlay = {
24142
25371
  type: "div",
24143
25372
  props: {
24144
25373
  id: "nav-mobile-overlay",
24145
- className: "nav-mobile-overlay rb-fixed rb-inset-0 rb-z-50 rb-lg-hidden",
25374
+ className: `nav-mobile-overlay ${mobileOnlyDisplay("block")} rb-fixed rb-inset-0 rb-z-50`,
24146
25375
  role: "dialog",
24147
25376
  "aria-modal": "true",
24148
25377
  "aria-label": "Main menu",
@@ -24171,10 +25400,10 @@ var mobileHeaderBar = inline(
24171
25400
  className: bindProp("$root.theme.header.maxWidth", {
24172
25401
  transforms: pipe(
24173
25402
  tx("layout.maxWidthClass", {
24174
- base: "rb-header-layout rb-flex rb-w-full rb-items-center rb-justify-between rb-lg-hidden"
25403
+ base: `rb-header-layout ${mobileOnlyDisplay("flex")} rb-w-full rb-items-center rb-justify-between`
24175
25404
  })
24176
25405
  ),
24177
- fallback: "rb-container rb-header-layout rb-flex rb-w-full rb-items-center rb-justify-between rb-lg-hidden"
25406
+ fallback: `rb-container rb-header-layout ${mobileOnlyDisplay("flex")} rb-w-full rb-items-center rb-justify-between`
24178
25407
  }),
24179
25408
  align: "center",
24180
25409
  justify: "between"
@@ -24186,16 +25415,16 @@ var classicLayout2 = inline(
24186
25415
  className: bindProp("$root.theme.header.maxWidth", {
24187
25416
  transforms: pipe(
24188
25417
  tx("layout.maxWidthClass", {
24189
- base: "rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-items-center rb-gap-6"
25418
+ base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
24190
25419
  })
24191
25420
  ),
24192
- fallback: "rb-container rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-items-center rb-gap-6"
25421
+ fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
24193
25422
  }),
24194
25423
  align: "center"
24195
25424
  },
24196
25425
  [
24197
25426
  logoRow,
24198
- createNavRow("rb-ml-auto rb-hidden rb-lg-flex rb-gap-6"),
25427
+ createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
24199
25428
  headerCta
24200
25429
  ],
24201
25430
  when("$root.theme.header.variant", { equals: "classic" })
@@ -24207,16 +25436,16 @@ var centeredLayout = stack(
24207
25436
  className: bindProp("$root.theme.header.maxWidth", {
24208
25437
  transforms: pipe(
24209
25438
  tx("layout.maxWidthClass", {
24210
- base: "rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-flex-col rb-items-center rb-gap-5 rb-text-center"
25439
+ base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-5 rb-text-center`
24211
25440
  })
24212
25441
  ),
24213
- fallback: "rb-container rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-flex-col rb-items-center rb-gap-5 rb-text-center"
25442
+ fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-5 rb-text-center`
24214
25443
  })
24215
25444
  },
24216
25445
  [
24217
25446
  centeredLogoRow,
24218
25447
  createNavRow(
24219
- "rb-hidden rb-lg-flex rb-flex-wrap rb-justify-center rb-gap-x-6 rb-gap-y-3",
25448
+ `${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-6 rb-gap-y-3`,
24220
25449
  "center"
24221
25450
  )
24222
25451
  ],
@@ -24227,16 +25456,16 @@ var transparentLayout = inline(
24227
25456
  className: bindProp("$root.theme.header.maxWidth", {
24228
25457
  transforms: pipe(
24229
25458
  tx("layout.maxWidthClass", {
24230
- base: "rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-items-center rb-gap-6"
25459
+ base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
24231
25460
  })
24232
25461
  ),
24233
- fallback: "rb-container rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-items-center rb-gap-6"
25462
+ fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-items-center rb-gap-6`
24234
25463
  }),
24235
25464
  align: "center"
24236
25465
  },
24237
25466
  [
24238
25467
  logoRow,
24239
- createNavRow("rb-ml-auto rb-hidden rb-lg-flex rb-gap-6"),
25468
+ createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
24240
25469
  headerCta
24241
25470
  ],
24242
25471
  when("$root.theme.header.variant", { equals: "transparent" })
@@ -24246,18 +25475,18 @@ var floatingLayout = inline(
24246
25475
  className: bindProp("$root.theme.header.maxWidth", {
24247
25476
  transforms: pipe(
24248
25477
  tx("layout.maxWidthClass", {
24249
- base: "rb-header-layout header-floating-container rb-absolute rb-left-1/2 rb-top-4 rb-hidden rb-w-calc-100-minus-2rem rb-max-w-7xl rb-translate-x-neg-1/2 rb-items-center rb-gap-6 rb-px-6 rb-lg-flex",
25478
+ base: `rb-header-layout header-floating-container rb-absolute rb-left-1/2 rb-top-4 ${desktopOnlyDisplay("flex")} rb-w-calc-100-minus-2rem rb-max-w-7xl rb-translate-x-neg-1/2 rb-items-center rb-gap-6 rb-px-6`,
24250
25479
  container: "",
24251
25480
  full: ""
24252
25481
  })
24253
25482
  ),
24254
- fallback: "rb-header-layout header-floating-container rb-absolute rb-left-1/2 rb-top-4 rb-hidden rb-w-calc-100-minus-2rem rb-max-w-7xl rb-translate-x-neg-1/2 rb-items-center rb-gap-6 rb-px-6 rb-lg-flex"
25483
+ fallback: `rb-header-layout header-floating-container rb-absolute rb-left-1/2 rb-top-4 ${desktopOnlyDisplay("flex")} rb-w-calc-100-minus-2rem rb-max-w-7xl rb-translate-x-neg-1/2 rb-items-center rb-gap-6 rb-px-6`
24255
25484
  }),
24256
25485
  align: "center"
24257
25486
  },
24258
25487
  [
24259
25488
  logoRow,
24260
- createNavRow("rb-ml-auto rb-hidden rb-lg-flex rb-gap-6"),
25489
+ createNavRow(`rb-ml-auto ${desktopOnlyDisplay("flex")} rb-gap-6`),
24261
25490
  headerCta
24262
25491
  ],
24263
25492
  when("$root.theme.header.variant", { equals: "floating" })
@@ -24269,16 +25498,16 @@ var editorialLayout = stack(
24269
25498
  className: bindProp("$root.theme.header.maxWidth", {
24270
25499
  transforms: pipe(
24271
25500
  tx("layout.maxWidthClass", {
24272
- base: "rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center"
25501
+ base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
24273
25502
  })
24274
25503
  ),
24275
- fallback: "rb-container rb-header-layout rb-hidden rb-lg-flex rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center"
25504
+ fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
24276
25505
  })
24277
25506
  },
24278
25507
  [
24279
25508
  centeredLogoRow,
24280
25509
  createNavRow(
24281
- "rb-hidden rb-lg-flex rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3",
25510
+ `${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
24282
25511
  "center"
24283
25512
  )
24284
25513
  ],
@@ -24412,6 +25641,16 @@ var bodyTextLayout = () => {
24412
25641
  const bodyTextNode = layout[0];
24413
25642
  return bodyTextNode ? [bodyTextNode] : [];
24414
25643
  };
25644
+ var businessAddressLayout = () => [
25645
+ text(
25646
+ {
25647
+ as: "p",
25648
+ className: "rb-caption rb-opacity-80"
25649
+ },
25650
+ bind("site.businessAddress.displayAddress"),
25651
+ when("content.showBusinessAddress", { equals: true })
25652
+ )
25653
+ ];
24415
25654
  var inlineBottomTextLayout = () => {
24416
25655
  const layout = footerTextLayout();
24417
25656
  const bottomTextNode = layout[1];
@@ -24447,6 +25686,7 @@ var simpleFooterLayout = stack(
24447
25686
  linkClassName: "footer-nav-link rb-inline-flex rb-items-center rb-px-4 rb-py-2 rb-nav-text transition-theme-standard"
24448
25687
  }),
24449
25688
  ...bodyTextLayout(),
25689
+ ...businessAddressLayout(),
24450
25690
  ...inlineBottomTextLayout()
24451
25691
  ],
24452
25692
  when("$root.theme.footer.variant", { equals: "simple" })
@@ -24495,6 +25735,7 @@ var columnsFooterLayout = stack(
24495
25735
  ]
24496
25736
  ),
24497
25737
  ...bodyTextLayout(),
25738
+ ...businessAddressLayout(),
24498
25739
  ...inlineBottomTextLayout()
24499
25740
  ],
24500
25741
  when("$root.theme.footer.variant", { equals: "columns" })
@@ -24597,6 +25838,7 @@ var splitFooterLayout = stack(
24597
25838
  )
24598
25839
  ]
24599
25840
  ),
25841
+ ...businessAddressLayout(),
24600
25842
  ...inlineBottomTextLayout()
24601
25843
  ],
24602
25844
  when("$root.theme.footer.variant", { equals: "split" })
@@ -24677,6 +25919,16 @@ var siteFooterManifest = createBlockManifest({
24677
25919
  fragments: [{ fragment: footerBottomTextFragment, fieldPriority: 0 }],
24678
25920
  // Skip section styles - this block uses theme-based styling
24679
25921
  skipSectionStyles: true,
25922
+ additionalFields: [
25923
+ {
25924
+ id: "showBusinessAddress",
25925
+ type: "boolean",
25926
+ label: "Add business address to site footer?",
25927
+ required: false,
25928
+ defaultValue: false,
25929
+ ui: { intent: "content" }
25930
+ }
25931
+ ],
24680
25932
  layout: footerLayout,
24681
25933
  description: "Site-wide footer with navigation links and optional columns.",
24682
25934
  styleTokens: {
@@ -25787,7 +27039,7 @@ init_builder();
25787
27039
  init_builder();
25788
27040
  init_styledSection();
25789
27041
  init_fragments();
25790
- init_shared2();
27042
+ init_shared3();
25791
27043
  init_shop_shared();
25792
27044
  init_defineBlock();
25793
27045
  var eventDetailsManifest = createBlockManifest({
@@ -25957,7 +27209,7 @@ var eventDetailsBlockDefinition = {
25957
27209
  init_builder();
25958
27210
  init_styledSection();
25959
27211
  init_fragments();
25960
- init_shared3();
27212
+ init_shared4();
25961
27213
  init_defineBlock();
25962
27214
  var courseDetailsManifest = createBlockManifest({
25963
27215
  id: "block.course-details",
@@ -26139,7 +27391,7 @@ var courseDetailsBlockDefinition = {
26139
27391
  };
26140
27392
 
26141
27393
  // ../blocks/src/system/blocks/events/index.ts
26142
- init_shared2();
27394
+ init_shared3();
26143
27395
 
26144
27396
  // ../blocks/src/system/blocks/events/event-spotlight.ts
26145
27397
  init_builder();
@@ -26148,7 +27400,7 @@ init_styledSection();
26148
27400
  init_fragments();
26149
27401
  init_boxStyles();
26150
27402
  init_defineBlock();
26151
- init_shared2();
27403
+ init_shared3();
26152
27404
  var eventSpotlightManifest = createBlockManifest({
26153
27405
  id: "block.event-spotlight",
26154
27406
  version: "1.1.0",
@@ -28031,15 +29283,21 @@ function normalizeLocationMapContent(content) {
28031
29283
  const record = typeof content === "object" && content !== null ? content : {};
28032
29284
  const normalized = normalizeLocationMapProps({
28033
29285
  location: record.location,
29286
+ locationSource: record.locationSource,
29287
+ venueId: typeof record.venueId === "string" ? record.venueId : null,
28034
29288
  zoom: record.zoom,
28035
29289
  heightPx: record.heightPx,
28036
29290
  showAddressText: record.showAddressText,
28037
29291
  showDirections: record.showDirections,
28038
29292
  directionsLabel: typeof record.directionsLabel === "string" ? record.directionsLabel : null
28039
29293
  });
29294
+ const locationSource = normalizeLocationMapSource(record.locationSource);
29295
+ const venueId = typeof record.venueId === "string" && record.venueId.trim() ? record.venueId.trim() : null;
28040
29296
  return {
28041
29297
  heading: typeof record.heading === "string" ? record.heading : null,
28042
- location: normalized.locationValue,
29298
+ locationSource,
29299
+ venueId: locationSource === "venue" ? venueId : null,
29300
+ location: locationSource === "custom" ? normalized.locationValue : null,
28043
29301
  showAddressText: normalized.showAddressText,
28044
29302
  showDirections: normalized.showDirections,
28045
29303
  directionsLabel: normalized.directionsLabel,
@@ -28064,13 +29322,37 @@ var locationMapManifest = createBlockManifest({
28064
29322
  required: false,
28065
29323
  maxLength: 120
28066
29324
  }),
29325
+ parseFieldDefinition({
29326
+ id: "locationSource",
29327
+ type: "select",
29328
+ label: "Location source",
29329
+ defaultValue: "custom",
29330
+ options: [
29331
+ { value: "business_address", label: "Use business address" },
29332
+ { value: "venue", label: "Use a venue" },
29333
+ { value: "custom", label: "Custom address" }
29334
+ ],
29335
+ ui: { intent: "content", widget: "locationSourceSelect" }
29336
+ }),
29337
+ createSiteOptionSelectField({
29338
+ id: "venueId",
29339
+ label: "Venue",
29340
+ required: false,
29341
+ multiple: false,
29342
+ optionSource: "venues",
29343
+ ui: { intent: "content", visibleWhen: { field: "locationSource", equals: "venue" } }
29344
+ }),
28067
29345
  parseFieldDefinition({
28068
29346
  id: "location",
28069
29347
  type: "group",
28070
29348
  label: "Location",
28071
29349
  description: "Enter the address and place the map pin.",
28072
29350
  required: true,
28073
- ui: { widget: "locationPicker", intent: "content" },
29351
+ ui: {
29352
+ widget: "locationPicker",
29353
+ intent: "content",
29354
+ visibleWhen: { field: "locationSource", equals: "custom" }
29355
+ },
28074
29356
  schema: {
28075
29357
  fields: [
28076
29358
  {
@@ -28153,6 +29435,10 @@ var locationMapManifest = createBlockManifest({
28153
29435
  text({ as: "h2" }, bind("content.heading"), when("content.heading")),
28154
29436
  el("location-map", {
28155
29437
  location: { $bind: { from: "content.location", fallback: null } },
29438
+ businessAddress: { $bind: { from: "site.businessAddress", fallback: null } },
29439
+ locationSource: { $bind: { from: "content.locationSource", fallback: "custom" } },
29440
+ venueId: { $bind: { from: "content.venueId", fallback: null } },
29441
+ venuesById: { $bind: { from: "site.venuesById", fallback: null } },
28156
29442
  zoom: { $bind: { from: "content.zoom", fallback: LOCATION_MAP_DEFAULTS.zoom } },
28157
29443
  heightPx: { $bind: { from: "content.heightPx", fallback: LOCATION_MAP_DEFAULTS.heightPx } },
28158
29444
  showAddressText: { $bind: { from: "content.showAddressText", fallback: LOCATION_MAP_DEFAULTS.showAddressText } },
@@ -28630,7 +29916,7 @@ function listBlockDefinitions() {
28630
29916
  }
28631
29917
 
28632
29918
  // ../blocks/src/system/transforms/registry/index.ts
28633
- init_core();
29919
+ init_core2();
28634
29920
 
28635
29921
  // ../blocks/src/system/transforms/registry/background.ts
28636
29922
  init_background2();
@@ -30374,6 +31660,7 @@ init_generateShades();
30374
31660
  init_expandPalette();
30375
31661
 
30376
31662
  // ../blocks/src/index.ts
31663
+ init_buttons();
30377
31664
  init_tokens2();
30378
31665
 
30379
31666
  // ../theme-core/src/ThemeScope.tsx
@@ -43364,6 +44651,7 @@ init_load_config();
43364
44651
 
43365
44652
  // ../theme-core/src/index.ts
43366
44653
  init_responsiveMode();
44654
+ init_responsiveDisplay();
43367
44655
  init_breakpoints();
43368
44656
  init_ThemeScopeCore();
43369
44657
  init_buildThemeRuntime();
@@ -43489,7 +44777,7 @@ var SimpleCache = class {
43489
44777
  };
43490
44778
 
43491
44779
  // src/version.ts
43492
- var SDK_VERSION = "0.60.0";
44780
+ var SDK_VERSION = "0.60.3";
43493
44781
 
43494
44782
  // src/client/error.ts
43495
44783
  var RiverbankApiError = class _RiverbankApiError extends Error {