@riverbankcms/sdk 0.76.0 → 0.77.0

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 (144) hide show
  1. package/dist/{PreviewEditorSidebar-X2HWXFOL.mjs → PreviewEditorSidebar-XSX7QKHQ.mjs} +1019 -442
  2. package/dist/{PreviewEditorUI-AQXIXPOH.mjs → PreviewEditorUI-YZNEZ3QD.mjs} +2 -2
  3. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +528 -20
  5. package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
  6. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  7. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -0
  9. package/dist/_dts/block-form/src/client/index.d.ts +2 -2
  10. package/dist/_dts/block-form/src/index.d.ts +2 -1
  11. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
  12. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
  13. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
  14. package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
  15. package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
  16. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +38 -0
  17. package/dist/_dts/blocks/src/index.d.ts +2 -0
  18. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
  19. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
  20. package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
  21. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
  22. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
  23. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  24. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
  25. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
  26. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
  27. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +11 -2
  28. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  29. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
  32. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  34. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
  35. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
  36. package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
  37. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
  38. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  39. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
  40. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  41. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -1
  42. package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
  43. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
  44. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  45. package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
  46. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
  47. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
  48. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
  49. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
  50. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
  51. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
  52. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
  53. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
  54. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
  55. package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
  56. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
  57. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
  58. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
  59. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
  60. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
  61. package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
  62. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
  63. package/dist/_dts/sdk/src/client/types.d.ts +9 -0
  64. package/dist/_dts/sdk/src/client.d.ts +1 -1
  65. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
  66. package/dist/_dts/sdk/src/index.d.ts +2 -1
  67. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
  68. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  69. package/dist/_dts/sdk/src/version.d.ts +1 -1
  70. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  71. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
  72. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  73. package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
  74. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +45 -0
  75. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  76. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
  77. package/dist/_dts/theme-core/src/schema.d.ts +280 -0
  78. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
  79. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
  80. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
  81. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +118 -2
  82. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
  83. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  84. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +364 -5
  85. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
  86. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  87. package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
  88. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
  89. package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
  90. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
  91. package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
  92. package/dist/{chunk-V5VORNEJ.mjs → chunk-ANKDYZ2E.mjs} +1 -1
  93. package/dist/{chunk-Q4OLG66B.mjs → chunk-EAWHBECW.mjs} +476 -153
  94. package/dist/{chunk-TW2Y4RR5.mjs → chunk-GSQX43EZ.mjs} +383 -51
  95. package/dist/{chunk-LYI7TEMH.mjs → chunk-WLQBJN2Z.mjs} +3096 -354
  96. package/dist/cli/index.mjs +2023 -181
  97. package/dist/client/{accordion-2YHIBOZH.mjs → accordion-RZMQSYLR.mjs} +1 -1
  98. package/dist/client/{bookingForm-35IBDWAS.mjs → bookingForm-NF4ASVNV.mjs} +2 -2
  99. package/dist/client/bookings.mjs +92 -0
  100. package/dist/client/{carousel-K6XG7NZQ.mjs → carousel-LDX47ZIK.mjs} +1 -1
  101. package/dist/client/{cart-HCFYUTTU.mjs → cart-RGXDS5F4.mjs} +3 -3
  102. package/dist/client/{checkout-J3U4XR7K.mjs → checkout-P7WWSNNY.mjs} +3 -3
  103. package/dist/client/{chunk-BOIHIU7E.mjs → chunk-E2TDNXCL.mjs} +1 -1
  104. package/dist/client/{chunk-PFBX3IQL.mjs → chunk-GMVTOKYG.mjs} +2 -2
  105. package/dist/client/{chunk-FGUIVT2B.mjs → chunk-JNC7CGHX.mjs} +1 -1
  106. package/dist/client/{chunk-SNSWVZEP.mjs → chunk-L3DNHIJX.mjs} +3 -3
  107. package/dist/client/{chunk-7UOSCYY4.mjs → chunk-R56FQ3RR.mjs} +92 -0
  108. package/dist/client/{chunk-J227A3CQ.mjs → chunk-UFSWADAO.mjs} +1 -1
  109. package/dist/client/client.mjs +2134 -228
  110. package/dist/client/{courseRegistration-ZBXS7VGI.mjs → courseRegistration-7F65K5ZR.mjs} +2 -2
  111. package/dist/client/{eventCalendar-EQQZHJBA.mjs → eventCalendar-GLSC5KTL.mjs} +4 -4
  112. package/dist/client/{eventCombined-JCFTGBFQ.mjs → eventCombined-ZHK4WKUR.mjs} +4 -4
  113. package/dist/client/{eventDetails-HLUTQSYY.mjs → eventDetails-E3PJYBIN.mjs} +4 -4
  114. package/dist/client/{eventListing-FG4MICVB.mjs → eventListing-EMS3WC3E.mjs} +4 -4
  115. package/dist/client/{eventRegistration-GUEB7LBT.mjs → eventRegistration-NZOTVNPI.mjs} +4 -4
  116. package/dist/client/{form-YQEW4YIT.mjs → form-ETFZFATW.mjs} +1 -1
  117. package/dist/client/{headerSection-GTR3TTRM.mjs → headerSection-4LBP7ULT.mjs} +2 -2
  118. package/dist/client/hooks.mjs +1918 -293
  119. package/dist/client/{locationMap-SPC7VGUH.mjs → locationMap-5M655YSJ.mjs} +1 -1
  120. package/dist/client/{newsletterForm-4IW5BLID.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
  121. package/dist/client/{productDetail-KP5H2WJO.mjs → productDetail-O4DOCWQG.mjs} +3 -3
  122. package/dist/client/{productList-3M3M72XZ.mjs → productList-A5RO5WIS.mjs} +3 -3
  123. package/dist/client/rendering/client.mjs +198 -32
  124. package/dist/client/rendering/islands.mjs +18 -18
  125. package/dist/client/rendering.mjs +2095 -208
  126. package/dist/client/{shop-ACQKVGOM.mjs → shop-L4MZH4I2.mjs} +3 -3
  127. package/dist/preview-next/client/runtime.mjs +4 -4
  128. package/dist/{sdk-runtime-K7HNB4U2.mjs → sdk-runtime-Q6MTR4KL.mjs} +5 -5
  129. package/dist/server/components.mjs +2046 -204
  130. package/dist/server/config-validation.mjs +1921 -293
  131. package/dist/server/config.mjs +1921 -293
  132. package/dist/server/data.mjs +1918 -293
  133. package/dist/server/index.mjs +31 -2
  134. package/dist/server/next.mjs +2067 -206
  135. package/dist/server/page-converter.mjs +1894 -281
  136. package/dist/server/prebuild.mjs +1 -1
  137. package/dist/server/rendering/server.mjs +2046 -204
  138. package/dist/server/rendering.mjs +2046 -204
  139. package/dist/server/routing.mjs +1963 -275
  140. package/dist/server/server.mjs +1932 -288
  141. package/dist/server/theme-bridge.mjs +158 -1
  142. package/dist/server/theme.mjs +158 -1
  143. package/package.json +1 -1
  144. package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +0 -8
@@ -1,4 +1,4 @@
1
- import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
1
+ import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
2
2
  import './chunk-PMAIXMAB.mjs';
3
3
 
4
4
  // src/rendering/islands/enhancers/accordion.ts
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { DiscountCodeSection } from './chunk-OJPZEZU2.mjs';
3
- import { useDiscountCodeUi, usePolling } from './chunk-J227A3CQ.mjs';
3
+ import { useDiscountCodeUi, usePolling } from './chunk-UFSWADAO.mjs';
4
4
  import { SpinnerNode } from './chunk-TQ5MSPDX.mjs';
5
5
  import { scrollToBlock, buildCheckoutReturnUrls, formatPrice } from './chunk-JEZECJ3W.mjs';
6
6
  import { FieldValidationMessage, getFieldValidationControlProps } from './chunk-3DCJ45Z2.mjs';
@@ -8,7 +8,7 @@ import './chunk-3PEDD5KJ.mjs';
8
8
  import { isSpamProtectionEnabled, getChallengeUrl, AltchaWidget } from './chunk-YLMKMCSJ.mjs';
9
9
  import { BlockApiProvider, useBlockApi, FeedbackMessage } from './chunk-M3L3KYYR.mjs';
10
10
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, okWith, err } from './chunk-7UOSCYY4.mjs';
11
+ import { defineIslandPropsDecoder, resolveBookingSiteId, resolveDefaultBookingServiceId, getBookingRedirectStateFromLocation, deriveBookingFormViewState, logger, getBookingSuccessMessage, resolveAppointmentCheckoutVerificationState, themeButtonClassName, toSelectedCollectionOptionKind, assertNever, prepareBookingSubmission, formatBookingSubmissionPreparationError, resolveBookingPaymentStep, BOOKING_FORM_DATA_RESERVED_KEYS, okWith, err } from './chunk-R56FQ3RR.mjs';
12
12
  import { resolveBookingTimeZoneId, DEFAULT_BOOKING_TIME_ZONE, asFormId, asAppointmentResourceId, asCustomerPassId, asAppointmentServiceId, formatLocalScheduleDate, addLocalScheduleDays, parseBookingLocalDate, resolveFlexibleBalanceInitialPaymentCents, resolveFlexibleBalanceDueAt, getBookingInstalmentDepositRefundability, asPassId, splitAmountWithRemainderInFirst, addIntervalPreservingMonthAnchor, clampConfiguredAmount, getBookingInstalmentPlanIntervalCount, omitZeroAmountFutureRows, formatBookingInstant } from './chunk-PMAIXMAB.mjs';
13
13
  import React2, { useRef, useState, useMemo, useReducer, useEffect, useCallback, useLayoutEffect } from 'react';
14
14
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -4441,6 +4441,97 @@ var confidentChip = defineButtonPersonality({
4441
4441
  }
4442
4442
  });
4443
4443
 
4444
+ // ../theme-core/src/buttons/personalities/earth-pill.ts
4445
+ var earthPill = defineButtonPersonality({
4446
+ id: "earth-pill",
4447
+ name: "Earth Pill",
4448
+ description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
4449
+ tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
4450
+ buttonSystem: {
4451
+ global: {
4452
+ cornerStyle: "pill",
4453
+ shadow: "low",
4454
+ textTransform: "none",
4455
+ fontWeight: 500,
4456
+ borderWidth: 1,
4457
+ hoverTransform: "lift",
4458
+ hoverColor: "none",
4459
+ typography: "body",
4460
+ paddingPreset: "default"
4461
+ },
4462
+ sizes: {
4463
+ sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
4464
+ md: { padding: "0.625rem 1.35rem" },
4465
+ lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
4466
+ xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
4467
+ },
4468
+ variants: [
4469
+ {
4470
+ id: "primary",
4471
+ name: "Primary",
4472
+ enabled: true,
4473
+ priority: 1,
4474
+ background: { type: "solid", colorToken: "primary" },
4475
+ textColorToken: "primaryForeground",
4476
+ borderRadius: "rounded-full",
4477
+ shadow: { elevation: "low", softness: "soft", position: "bottom" },
4478
+ effects: {
4479
+ hover: [
4480
+ { effectId: "lift", options: { translateY: "-1px" } },
4481
+ { effectId: "background-on-hover", options: { colorToken: "accent" } }
4482
+ ],
4483
+ active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
4484
+ }
4485
+ },
4486
+ {
4487
+ id: "secondary",
4488
+ name: "Secondary",
4489
+ enabled: true,
4490
+ priority: 2,
4491
+ background: { type: "transparent" },
4492
+ textColorToken: "primary",
4493
+ borderRadius: "rounded-full",
4494
+ border: { widthClass: "border", colorToken: "primary" },
4495
+ effects: {
4496
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
4497
+ }
4498
+ },
4499
+ {
4500
+ id: "outline",
4501
+ name: "Outline",
4502
+ enabled: true,
4503
+ priority: 3,
4504
+ background: { type: "transparent" },
4505
+ textColorToken: "text",
4506
+ borderRadius: "rounded-full",
4507
+ border: { widthClass: "border", colorToken: "border" },
4508
+ effects: {
4509
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
4510
+ }
4511
+ },
4512
+ {
4513
+ id: "ghost",
4514
+ name: "Ghost",
4515
+ enabled: true,
4516
+ priority: 3,
4517
+ background: { type: "transparent" },
4518
+ textColorToken: "primary",
4519
+ borderRadius: "rounded-full",
4520
+ shadow: { elevation: "none", softness: null, position: "bottom" },
4521
+ sizes: {
4522
+ sm: { padding: "0.25rem 0", fontSize: "text-sm" },
4523
+ md: { padding: "0.375rem 0" },
4524
+ lg: { padding: "0.5rem 0", fontSize: "text-lg" },
4525
+ xl: { padding: "0.625rem 0", fontSize: "text-xl" }
4526
+ },
4527
+ effects: {
4528
+ hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
4529
+ }
4530
+ }
4531
+ ]
4532
+ }
4533
+ });
4534
+
4444
4535
  // ../theme-core/src/buttons/personalities/editorial-link.ts
4445
4536
  var editorialLink = defineButtonPersonality({
4446
4537
  id: "editorial-link",
@@ -4899,6 +4990,7 @@ var softPill = defineButtonPersonality({
4899
4990
  // ../theme-core/src/buttons/personalities/index.ts
4900
4991
  var buttonPersonalities = [
4901
4992
  softPill,
4993
+ earthPill,
4902
4994
  confidentChip,
4903
4995
  editorialLink,
4904
4996
  pebble,
@@ -1,7 +1,7 @@
1
1
  import { normalizeCarouselProps, CarouselNodeClient } from './chunk-II7O4XN3.mjs';
2
2
  import './chunk-RTZ3JKKX.mjs';
3
3
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
4
- import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
4
+ import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
5
5
  import './chunk-PMAIXMAB.mjs';
6
6
  import { jsx } from 'react/jsx-runtime';
7
7
 
@@ -1,5 +1,5 @@
1
- import { mountShopBlockIsland, CartClient } from './chunk-PFBX3IQL.mjs';
2
- import './chunk-BOIHIU7E.mjs';
1
+ import { mountShopBlockIsland, CartClient } from './chunk-GMVTOKYG.mjs';
2
+ import './chunk-E2TDNXCL.mjs';
3
3
  import './chunk-II7O4XN3.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-RTZ3JKKX.mjs';
@@ -8,7 +8,7 @@ import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-M3L3KYYR.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
12
12
  import './chunk-PMAIXMAB.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/cart.tsx
@@ -1,5 +1,5 @@
1
- import { mountShopBlockIsland, CheckoutClient } from './chunk-PFBX3IQL.mjs';
2
- import './chunk-BOIHIU7E.mjs';
1
+ import { mountShopBlockIsland, CheckoutClient } from './chunk-GMVTOKYG.mjs';
2
+ import './chunk-E2TDNXCL.mjs';
3
3
  import './chunk-II7O4XN3.mjs';
4
4
  import './chunk-I2MMZO53.mjs';
5
5
  import './chunk-RTZ3JKKX.mjs';
@@ -8,7 +8,7 @@ import './chunk-3DCJ45Z2.mjs';
8
8
  import './chunk-3PEDD5KJ.mjs';
9
9
  import './chunk-M3L3KYYR.mjs';
10
10
  import './chunk-N7PBWBWQ.mjs';
11
- import { defineIslandPropsDecoder } from './chunk-7UOSCYY4.mjs';
11
+ import { defineIslandPropsDecoder } from './chunk-R56FQ3RR.mjs';
12
12
  import './chunk-PMAIXMAB.mjs';
13
13
 
14
14
  // src/rendering/islands/enhancers/checkout.tsx
@@ -1,4 +1,4 @@
1
- import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-7UOSCYY4.mjs';
1
+ import { EMPTY_COMMERCE_CART_STATE, parseStoredCommerceCartState, reduceCommerceCart, buildPassCartItem } from './chunk-R56FQ3RR.mjs';
2
2
  import * as React from 'react';
3
3
 
4
4
  var EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { addPassToCommerceCart, useCommerceCart } from './chunk-BOIHIU7E.mjs';
2
+ import { addPassToCommerceCart, useCommerceCart } from './chunk-E2TDNXCL.mjs';
3
3
  import { CarouselNodeClient } from './chunk-II7O4XN3.mjs';
4
4
  import { isRecord } from './chunk-I2MMZO53.mjs';
5
5
  import { createBodyThemePortalRoot, consumeSearchParams, scrollToBlock, TerminalPanel, StateIcon, CheckIcon, CrossIcon, ActionRow, consumeSearchParam, buildCheckoutReturnUrls } from './chunk-JEZECJ3W.mjs';
6
6
  import { ModalShell, resolveDedicatedCheckoutPath } from './chunk-3PEDD5KJ.mjs';
7
7
  import { useBlockApi, FeedbackMessage, BlockApiProvider } from './chunk-M3L3KYYR.mjs';
8
8
  import { mountReactIsland } from './chunk-N7PBWBWQ.mjs';
9
- import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever } from './chunk-7UOSCYY4.mjs';
9
+ import { themeButtonClassName, formatCommercePrice, formatInterval, getShopDisplayForItems, buildProductDetailDisplay, productItemKey, buildProductCartItem, buildProductCardDisplay, assertNever } from './chunk-R56FQ3RR.mjs';
10
10
  import { getCurrentResolveImageUrlContext, resolveImageUrlWithContext, ImagePresets } from './chunk-PMAIXMAB.mjs';
11
11
  import * as React3 from 'react';
12
12
  import React3__default, { useState, useRef, useCallback, useEffect } from 'react';
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useBlockApi, BlockApiError } from './chunk-M3L3KYYR.mjs';
3
- import { themeButtonClassName } from './chunk-7UOSCYY4.mjs';
3
+ import { themeButtonClassName } from './chunk-R56FQ3RR.mjs';
4
4
  import { useState, useSyncExternalStore, useEffect } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { LeafletStaticMap } from './chunk-F7LHOKEH.mjs';
3
- import { MagicLinkForm, useWaitlistClaim } from './chunk-FGUIVT2B.mjs';
3
+ import { MagicLinkForm, useWaitlistClaim } from './chunk-JNC7CGHX.mjs';
4
4
  import { CreditCard, Ticket, Star, Sparkles } from './chunk-RTZ3JKKX.mjs';
5
- import { useDiscountCodeUi, usePolling } from './chunk-J227A3CQ.mjs';
5
+ import { useDiscountCodeUi, usePolling } from './chunk-UFSWADAO.mjs';
6
6
  import { SpinnerNode } from './chunk-TQ5MSPDX.mjs';
7
7
  import { TabBarFragment, logoutPortal, StepIndicator, TerminalPanel, StateIcon, formatPrice, CrossIcon, ClockIcon, consumeSearchParam, LoggedInAsUser, CheckIcon } from './chunk-JEZECJ3W.mjs';
8
8
  import { getFieldValidationControlProps, FieldValidationMessage } from './chunk-3DCJ45Z2.mjs';
9
9
  import { ModalShell } from './chunk-3PEDD5KJ.mjs';
10
10
  import { isSpamProtectionEnabled, AltchaWidget, getChallengeUrl } from './chunk-YLMKMCSJ.mjs';
11
11
  import { useBlockApi, FeedbackMessage } from './chunk-M3L3KYYR.mjs';
12
- import { buildEventCalendarListingRender, getWeekCalendarDays, formatCalendarTitle, groupEventsByDate, getOrderedDayNames, getMonthCalendarDays, formatDateKey, themeButtonClassName, normalizeEventBlockKind, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, addMonths, getThreeMonthRange, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventDateParts, formatCoursePriceAmount, DateTimeTile, normalizeIdList, EventCard, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceDisplay, MONTH_NAMES, formatEventPrice, getEventAvailability, formatEventTeacherLine, assertNever } from './chunk-7UOSCYY4.mjs';
12
+ import { buildEventCalendarListingRender, getWeekCalendarDays, formatCalendarTitle, groupEventsByDate, getOrderedDayNames, getMonthCalendarDays, formatDateKey, themeButtonClassName, normalizeEventBlockKind, EventCompactRow, EmptyState, getContainerClass, getCardOrientation, addMonths, getThreeMonthRange, isToday, MAX_EVENTS_PER_DAY, formatTime, resolveCoursePricingState, formatEventDateParts, formatCoursePriceAmount, DateTimeTile, normalizeIdList, EventCard, buildTimetableModel, formatDate, isEventContentType, formatCoursePriceDisplay, MONTH_NAMES, formatEventPrice, getEventAvailability, formatEventTeacherLine, assertNever } from './chunk-R56FQ3RR.mjs';
13
13
  import { getBookingLocalDateKey, toScheduledBookingDateTime, toBookingTimeZone, formatBookingDateTime, formatBookingDate, formatBookingTime } from './chunk-PMAIXMAB.mjs';
14
14
  import { createContext, useId, useMemo, useState, useRef, useEffect, useCallback, useContext, useReducer } from 'react';
15
15
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1151,6 +1151,97 @@ var confidentChip = defineButtonPersonality({
1151
1151
  }
1152
1152
  });
1153
1153
 
1154
+ // ../theme-core/src/buttons/personalities/earth-pill.ts
1155
+ var earthPill = defineButtonPersonality({
1156
+ id: "earth-pill",
1157
+ name: "Earth Pill",
1158
+ description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
1159
+ tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
1160
+ buttonSystem: {
1161
+ global: {
1162
+ cornerStyle: "pill",
1163
+ shadow: "low",
1164
+ textTransform: "none",
1165
+ fontWeight: 500,
1166
+ borderWidth: 1,
1167
+ hoverTransform: "lift",
1168
+ hoverColor: "none",
1169
+ typography: "body",
1170
+ paddingPreset: "default"
1171
+ },
1172
+ sizes: {
1173
+ sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
1174
+ md: { padding: "0.625rem 1.35rem" },
1175
+ lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
1176
+ xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
1177
+ },
1178
+ variants: [
1179
+ {
1180
+ id: "primary",
1181
+ name: "Primary",
1182
+ enabled: true,
1183
+ priority: 1,
1184
+ background: { type: "solid", colorToken: "primary" },
1185
+ textColorToken: "primaryForeground",
1186
+ borderRadius: "rounded-full",
1187
+ shadow: { elevation: "low", softness: "soft", position: "bottom" },
1188
+ effects: {
1189
+ hover: [
1190
+ { effectId: "lift", options: { translateY: "-1px" } },
1191
+ { effectId: "background-on-hover", options: { colorToken: "accent" } }
1192
+ ],
1193
+ active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
1194
+ }
1195
+ },
1196
+ {
1197
+ id: "secondary",
1198
+ name: "Secondary",
1199
+ enabled: true,
1200
+ priority: 2,
1201
+ background: { type: "transparent" },
1202
+ textColorToken: "primary",
1203
+ borderRadius: "rounded-full",
1204
+ border: { widthClass: "border", colorToken: "primary" },
1205
+ effects: {
1206
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
1207
+ }
1208
+ },
1209
+ {
1210
+ id: "outline",
1211
+ name: "Outline",
1212
+ enabled: true,
1213
+ priority: 3,
1214
+ background: { type: "transparent" },
1215
+ textColorToken: "text",
1216
+ borderRadius: "rounded-full",
1217
+ border: { widthClass: "border", colorToken: "border" },
1218
+ effects: {
1219
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
1220
+ }
1221
+ },
1222
+ {
1223
+ id: "ghost",
1224
+ name: "Ghost",
1225
+ enabled: true,
1226
+ priority: 3,
1227
+ background: { type: "transparent" },
1228
+ textColorToken: "primary",
1229
+ borderRadius: "rounded-full",
1230
+ shadow: { elevation: "none", softness: null, position: "bottom" },
1231
+ sizes: {
1232
+ sm: { padding: "0.25rem 0", fontSize: "text-sm" },
1233
+ md: { padding: "0.375rem 0" },
1234
+ lg: { padding: "0.5rem 0", fontSize: "text-lg" },
1235
+ xl: { padding: "0.625rem 0", fontSize: "text-xl" }
1236
+ },
1237
+ effects: {
1238
+ hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
1239
+ }
1240
+ }
1241
+ ]
1242
+ }
1243
+ });
1244
+
1154
1245
  // ../theme-core/src/buttons/personalities/editorial-link.ts
1155
1246
  var editorialLink = defineButtonPersonality({
1156
1247
  id: "editorial-link",
@@ -1609,6 +1700,7 @@ var softPill = defineButtonPersonality({
1609
1700
  // ../theme-core/src/buttons/personalities/index.ts
1610
1701
  var buttonPersonalities = [
1611
1702
  softPill,
1703
+ earthPill,
1612
1704
  confidentChip,
1613
1705
  editorialLink,
1614
1706
  pebble,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { assertNever } from './chunk-7UOSCYY4.mjs';
2
+ import { assertNever } from './chunk-R56FQ3RR.mjs';
3
3
  import { useState, useEffect, useReducer, useRef, useCallback } from 'react';
4
4
 
5
5
  function useDiscountCodeUi(options) {