@riverbankcms/sdk 0.78.2 → 0.79.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 (159) hide show
  1. package/README.md +80 -0
  2. package/dist/{PreviewEditorSidebar-4DXLYX2V.mjs → PreviewEditorSidebar-56NMJMIK.mjs} +724 -47
  3. package/dist/{PreviewEditorUI-CS5P4N3P.mjs → PreviewEditorUI-27KJVEET.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +36 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +55 -0
  7. package/dist/_dts/api/src/index.d.ts +5 -3
  8. package/dist/_dts/api/src/media.d.ts +8 -1
  9. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  10. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +8 -8
  11. package/dist/_dts/api/src/navigation/identity.d.ts +59 -0
  12. package/dist/_dts/api/src/navigation.d.ts +2 -0
  13. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +4 -0
  14. package/dist/_dts/api/src/sdkContracts.d.ts +1 -0
  15. package/dist/_dts/api/src/siteIcons.d.ts +128 -0
  16. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +16 -0
  17. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -0
  18. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  19. package/dist/_dts/api/src/types.d.ts +1 -1
  20. package/dist/_dts/api/src/webhooks.d.ts +239 -0
  21. package/dist/_dts/blocks/src/index.d.ts +4 -0
  22. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -288
  23. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -288
  24. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -288
  25. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -288
  26. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -288
  27. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +294 -289
  28. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +57 -0
  29. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +4 -0
  30. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -288
  31. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -1
  33. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +22 -22
  34. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -288
  35. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -288
  36. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -288
  37. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
  38. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +170 -0
  39. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
  40. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +3 -1
  41. package/dist/_dts/blocks/src/system/icons/ids.d.ts +13 -0
  42. package/dist/_dts/blocks/src/system/icons/index.d.ts +6 -0
  43. package/dist/_dts/blocks/src/system/icons/presets.d.ts +4 -0
  44. package/dist/_dts/blocks/src/system/icons/registry.d.ts +18 -0
  45. package/dist/_dts/blocks/src/system/icons/semantic.d.ts +239 -0
  46. package/dist/_dts/blocks/src/system/icons/value.d.ts +94 -0
  47. package/dist/_dts/blocks/src/system/index.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +4 -1
  49. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +23 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +13 -0
  51. package/dist/_dts/content-model/src/contentManifest.d.ts +3 -1
  52. package/dist/_dts/core/src/branded.d.ts +6 -0
  53. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +191 -0
  54. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +12 -1
  55. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +12 -1
  56. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +12 -2
  57. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +21 -0
  58. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +40 -0
  59. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +11 -1
  60. package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +82 -0
  61. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  62. package/dist/_dts/media-core/src/fileDomain.d.ts +8 -1
  63. package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -2
  64. package/dist/_dts/media-react/src/components/MediaLibrary.d.ts +2 -1
  65. package/dist/_dts/media-react/src/components/MediaPickerMini.d.ts +2 -1
  66. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +17 -0
  67. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -0
  68. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +3 -2
  69. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -0
  70. package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +11 -0
  71. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +4 -0
  72. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +1 -0
  73. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +9 -0
  74. package/dist/_dts/sdk/src/client/management/types.d.ts +2 -0
  75. package/dist/_dts/sdk/src/config/field-definitions.d.ts +3 -1
  76. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  77. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +19 -2
  78. package/dist/_dts/sdk/src/next/index.d.ts +1 -1
  79. package/dist/_dts/sdk/src/next/revalidate.d.ts +26 -5
  80. package/dist/_dts/sdk/src/next/static-params.d.ts +28 -3
  81. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -1
  82. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  83. package/dist/_dts/sdk/src/version.d.ts +1 -1
  84. package/dist/_dts/sdk/src/webhooks/index.d.ts +1 -1
  85. package/dist/_dts/sdk/src/webhooks/verify.d.ts +6 -102
  86. package/dist/_dts/site-commands/src/commands.d.ts +3 -0
  87. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  88. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -3
  89. package/dist/_dts/theme-core/src/schema.d.ts +5 -5
  90. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +25 -2
  91. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +5 -5
  92. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  93. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -4
  94. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +2 -0
  95. package/dist/_dts/ui/src/combobox.d.ts +1 -0
  96. package/dist/{chunk-RGTOD4AJ.mjs → chunk-4HCW7FHJ.mjs} +491 -56
  97. package/dist/{chunk-OKMBEAXY.mjs → chunk-A3HHFKVT.mjs} +1 -1
  98. package/dist/{chunk-6HYXHRAI.mjs → chunk-GP555I66.mjs} +177 -7
  99. package/dist/{chunk-CR5HKAGU.mjs → chunk-K2IIF34C.mjs} +55 -0
  100. package/dist/{chunk-4QEGTLK6.mjs → chunk-LCY32PXF.mjs} +1 -1
  101. package/dist/{chunk-MCRQMPET.mjs → chunk-V47ZU33I.mjs} +1745 -157
  102. package/dist/cli/index.mjs +1169 -171
  103. package/dist/cli/init-docs/content/workflow-editor-workflows.md +2 -0
  104. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +138 -0
  105. package/dist/client/{accordion-PLYNJIIM.mjs → accordion-QLA7KBYO.mjs} +1 -1
  106. package/dist/client/{bookingForm-BXAP6AO7.mjs → bookingForm-PYZIPA5G.mjs} +3 -3
  107. package/dist/client/bookings.mjs +110 -2
  108. package/dist/client/{carousel-TRBXDHGF.mjs → carousel-5EIULWBI.mjs} +2 -2
  109. package/dist/client/{cart-Z7H3HJRS.mjs → cart-DOP3FNI4.mjs} +5 -5
  110. package/dist/client/{checkout-WAFCUBIX.mjs → checkout-BVMF6FBV.mjs} +5 -5
  111. package/dist/client/{chunk-JRDUHZCT.mjs → chunk-44K2U3QI.mjs} +4 -4
  112. package/dist/client/{chunk-UVQEJJTN.mjs → chunk-CCNTDRCF.mjs} +1 -1
  113. package/dist/client/{chunk-ZI3LLBPZ.mjs → chunk-GG4M2NP6.mjs} +1 -1
  114. package/dist/client/{chunk-JGXPTEI2.mjs → chunk-R5ESWNKX.mjs} +6 -3
  115. package/dist/client/{chunk-CWGTG37I.mjs → chunk-TYONZMST.mjs} +1 -1
  116. package/dist/client/{chunk-75OUS5MT.mjs → chunk-UDS3NTWA.mjs} +1 -1
  117. package/dist/client/{chunk-DNRGY432.mjs → chunk-V6M5FCR5.mjs} +1 -1
  118. package/dist/client/{chunk-FUXW6VW2.mjs → chunk-YLDYVRZL.mjs} +4 -4
  119. package/dist/client/client.mjs +21329 -19729
  120. package/dist/client/{courseRegistration-AHFQHWIJ.mjs → courseRegistration-E6EAA6NL.mjs} +3 -3
  121. package/dist/client/{eventCalendar-LDXTV5R7.mjs → eventCalendar-HBG3HAK6.mjs} +5 -5
  122. package/dist/client/{eventCombined-A4JGTNJO.mjs → eventCombined-6K5ZZWAK.mjs} +5 -5
  123. package/dist/client/{eventDetails-4YXTZ7EG.mjs → eventDetails-Q75ICXLT.mjs} +5 -5
  124. package/dist/client/{eventListing-P72TPFFM.mjs → eventListing-27P5F7DZ.mjs} +5 -5
  125. package/dist/client/{eventRegistration-LSYJHGMT.mjs → eventRegistration-IQ7AMASR.mjs} +5 -5
  126. package/dist/client/{form-AOPYOKOW.mjs → form-JRTD65FN.mjs} +1 -1
  127. package/dist/client/{headerSection-5TFYDFVQ.mjs → headerSection-7FPSSZHS.mjs} +2 -2
  128. package/dist/client/hooks.mjs +350 -35
  129. package/dist/client/{locationMap-QSZ3ZVAZ.mjs → locationMap-7NGFNYBH.mjs} +1 -1
  130. package/dist/client/{newsletterForm-KTRHZY52.mjs → newsletterForm-F3BADCI2.mjs} +1 -1
  131. package/dist/client/{productDetail-N4E775RG.mjs → productDetail-V3HP7ITJ.mjs} +5 -5
  132. package/dist/client/{productList-UGUQ2S45.mjs → productList-L3EGJUF2.mjs} +5 -5
  133. package/dist/client/rendering/client.mjs +2713 -1382
  134. package/dist/client/rendering/islands.mjs +18 -18
  135. package/dist/client/rendering.mjs +2014 -414
  136. package/dist/client/{shop-VHSZEEQ2.mjs → shop-DQUB5E2C.mjs} +5 -5
  137. package/dist/preview-next/before-render.mjs +55 -0
  138. package/dist/preview-next/client/runtime.mjs +5 -5
  139. package/dist/preview-next/middleware.mjs +55 -0
  140. package/dist/{sdk-runtime-WHPJEF5G.mjs → sdk-runtime-AF6KXJU4.mjs} +6 -6
  141. package/dist/server/components.mjs +2169 -781
  142. package/dist/server/config-validation.mjs +350 -35
  143. package/dist/server/config.mjs +350 -35
  144. package/dist/server/data.mjs +350 -35
  145. package/dist/server/index.mjs +64 -1
  146. package/dist/server/next/revalidate.mjs +229 -34
  147. package/dist/server/next.mjs +2307 -818
  148. package/dist/server/page-converter.mjs +275 -34
  149. package/dist/server/prebuild.mjs +1 -1
  150. package/dist/server/rendering/server.mjs +2174 -786
  151. package/dist/server/rendering.mjs +2187 -799
  152. package/dist/server/routing.mjs +767 -50
  153. package/dist/server/server.mjs +351 -36
  154. package/dist/server/theme-bridge.mjs +164 -2
  155. package/dist/server/theme.mjs +2 -2
  156. package/dist/server/webhooks.mjs +129 -25
  157. package/dist/styles/index.css +55 -0
  158. package/package.json +2 -1
  159. package/dist/SdkPreviewModeRuntime-IJDHTW4W.mjs +0 -8
@@ -919,11 +919,23 @@ var init_fileSafety = __esm({
919
919
  });
920
920
 
921
921
  // ../media-core/src/fileDomain.ts
922
- var FILE_SIZE_LIMITS, DEFAULT_PRIVATE_FILE_SIGNED_URL_EXPIRY_SECONDS;
922
+ var AMBIENT_BACKGROUND_ROLES, SITE_BACKGROUND_ASSET_USES, FILE_SIZE_LIMITS, DEFAULT_PRIVATE_FILE_SIGNED_URL_EXPIRY_SECONDS;
923
923
  var init_fileDomain = __esm({
924
924
  "../media-core/src/fileDomain.ts"() {
925
925
  "use strict";
926
926
  init_src();
927
+ AMBIENT_BACKGROUND_ROLES = [
928
+ "light-texture",
929
+ "proof-band-dark",
930
+ "cta-wash",
931
+ "footer-detail",
932
+ "style-atmosphere-1",
933
+ "style-atmosphere-2"
934
+ ];
935
+ SITE_BACKGROUND_ASSET_USES = [
936
+ "selected-background",
937
+ ...AMBIENT_BACKGROUND_ROLES
938
+ ];
927
939
  FILE_SIZE_LIMITS = {
928
940
  audio: unsafeAsPositiveByteCount(250 * 1024 * 1024),
929
941
  rawVideoBeforeCompression: unsafeAsPositiveByteCount(500 * 1024 * 1024),
@@ -4392,7 +4404,7 @@ function parseThemeColorToken(value) {
4392
4404
  if (!isThemeColorToken(value)) return null;
4393
4405
  return value.trim();
4394
4406
  }
4395
- var PALETTE_TOKEN_NAMES, paletteTokenNameSchema, themeColorBaseTokenNames, themeColorBaseTokenSet, SHADE_STEPS, shadeStepSet, themeColorTokenSchema;
4407
+ var PALETTE_TOKEN_NAMES, paletteTokenNameSchema, themeColorBaseTokenNames, themeColorBaseTokenSet, themeColorShadeSteps, shadeStepSet, themeColorTokenSchema;
4396
4408
  var init_themeColorTokens = __esm({
4397
4409
  "../theme-core/src/tokens/themeColorTokens.ts"() {
4398
4410
  "use strict";
@@ -4427,7 +4439,7 @@ var init_themeColorTokens = __esm({
4427
4439
  "accentForeground"
4428
4440
  ];
4429
4441
  themeColorBaseTokenSet = new Set(themeColorBaseTokenNames);
4430
- SHADE_STEPS = [
4442
+ themeColorShadeSteps = [
4431
4443
  "50",
4432
4444
  "100",
4433
4445
  "200",
@@ -4440,7 +4452,7 @@ var init_themeColorTokens = __esm({
4440
4452
  "900",
4441
4453
  "950"
4442
4454
  ];
4443
- shadeStepSet = new Set(SHADE_STEPS);
4455
+ shadeStepSet = new Set(themeColorShadeSteps);
4444
4456
  themeColorTokenSchema = z8.string().min(1).refine((value) => Boolean(isThemeColorToken(value)), "Expected a known Theme V2 color token");
4445
4457
  }
4446
4458
  });
@@ -10919,6 +10931,7 @@ var init_curatedSiteStyles = __esm({
10919
10931
  "site-style:personal-retreat-journal",
10920
10932
  "site-style:tactile-workshop",
10921
10933
  "site-style:modern-wellness",
10934
+ "site-style:clarity-zen-blue",
10922
10935
  SOFT_EARTH_SITE_STYLE_ID_VALUE,
10923
10936
  "site-style:bold-launch",
10924
10937
  "site-style:south-west-twerk-school"
@@ -11271,6 +11284,114 @@ var init_curatedSiteStyles = __esm({
11271
11284
  paletteChoice("warm-neutral-clay")
11272
11285
  ]
11273
11286
  }),
11287
+ defineCuratedSiteStyle({
11288
+ id: "site-style:clarity-zen-blue",
11289
+ name: "Clarity Zen",
11290
+ description: "Calm, editorial, and reassuring for therapy, counselling, and wellbeing support practices.",
11291
+ generationBrief: "Use a calm, soft palette, editorial serif headings, warm grounded copy, rounded cards, calm proof sections, and clear booking routes. Keep the tone compassionate and straightforward, with professional trust rather than hard-sell wellness language.",
11292
+ siteCreatorSelection: {
11293
+ kind: "site_creator_keyword_heuristic",
11294
+ priority: 25
11295
+ },
11296
+ selectionKeywordRules: [
11297
+ { kind: "substring", value: "psychotherap" },
11298
+ { kind: "phrase", value: "mental health" },
11299
+ { kind: "phrase", value: "talk therapy" },
11300
+ { kind: "phrase", value: "therapy and wellbeing" }
11301
+ ],
11302
+ tokenRecipes: {
11303
+ palette: "brand-led",
11304
+ contrast: "standard",
11305
+ radius: "rounded",
11306
+ shadow: "subtle",
11307
+ typography: "serif-editorial",
11308
+ spacing: "airy",
11309
+ motion: "subtle"
11310
+ },
11311
+ compositionBudget: balancedBudget,
11312
+ themeOverrides: {
11313
+ typography: {
11314
+ body: {
11315
+ family: "Inter, system-ui, sans-serif",
11316
+ size: "md",
11317
+ weight: "regular",
11318
+ lineHeight: "relaxed",
11319
+ letterSpacing: "normal"
11320
+ },
11321
+ headings: {
11322
+ default: {
11323
+ family: '"Cormorant Garamond", Georgia, serif',
11324
+ weight: "regular",
11325
+ lineHeight: "normal",
11326
+ letterSpacing: "normal",
11327
+ colorToken: "text",
11328
+ italic: null,
11329
+ case: null
11330
+ },
11331
+ h1: {
11332
+ size: "xl",
11333
+ weight: "regular",
11334
+ lineHeight: "normal",
11335
+ letterSpacing: "normal",
11336
+ italic: null
11337
+ },
11338
+ h2: {
11339
+ size: "lg",
11340
+ weight: "regular",
11341
+ lineHeight: "normal",
11342
+ letterSpacing: "normal",
11343
+ italic: null
11344
+ },
11345
+ h3: {
11346
+ size: "md",
11347
+ weight: "regular",
11348
+ lineHeight: "normal",
11349
+ letterSpacing: "normal",
11350
+ italic: null
11351
+ }
11352
+ },
11353
+ scale: "majorThird"
11354
+ },
11355
+ bodyText: {
11356
+ intro: {
11357
+ paragraphSize: "default",
11358
+ headingSize: "editorial"
11359
+ }
11360
+ }
11361
+ },
11362
+ defaultBlockVariants: {
11363
+ "block.faq": "split-heading-columns"
11364
+ },
11365
+ recommendedAppearancePresetIds: [
11366
+ "hero-split-editorial",
11367
+ "intro-organic-statement",
11368
+ "feature-cards-raised-rule",
11369
+ "media-text-quiet-story",
11370
+ "testimonials-brand-background-quotes",
11371
+ "faq-contained-help",
11372
+ "contact-form-panel"
11373
+ ],
11374
+ recommendedHeaderLookIds: [
11375
+ "centered-calm",
11376
+ "serif-line",
11377
+ "minimal-transparent"
11378
+ ],
11379
+ recommendedFooterLookIds: [
11380
+ "footer-muted-grounding",
11381
+ "site-footer-brand-two-band"
11382
+ ],
11383
+ buttonPersonalityChoices: [
11384
+ buttonChoice("soft-pill"),
11385
+ buttonChoice("pebble"),
11386
+ buttonChoice("editorial-link")
11387
+ ],
11388
+ paletteVariantChoices: [
11389
+ paletteChoice("brand-led-cool"),
11390
+ paletteChoice("soft-natural-watercolor"),
11391
+ paletteChoice("soft-natural-stone"),
11392
+ paletteChoice("warm-neutral-cream")
11393
+ ]
11394
+ }),
11274
11395
  defineCuratedSiteStyle({
11275
11396
  id: "site-style:personal-retreat-journal",
11276
11397
  name: "Personal Retreat Journal",
@@ -14107,6 +14228,15 @@ var init_repeaterGrid = __esm({
14107
14228
  }
14108
14229
  });
14109
14230
 
14231
+ // ../blocks/src/system/icons/presets.ts
14232
+ var ICON_PICKER_PRESETS;
14233
+ var init_presets2 = __esm({
14234
+ "../blocks/src/system/icons/presets.ts"() {
14235
+ "use strict";
14236
+ ICON_PICKER_PRESETS = ["cta", "feature"];
14237
+ }
14238
+ });
14239
+
14110
14240
  // ../blocks/src/system/manifest/schema.ts
14111
14241
  import { z as z29 } from "zod";
14112
14242
  function isDisplayMediaKind(kind) {
@@ -14197,6 +14327,7 @@ var init_schema3 = __esm({
14197
14327
  init_src2();
14198
14328
  init_node();
14199
14329
  init_repeaterGrid();
14330
+ init_presets2();
14200
14331
  visibilityLevels = ["admin", "designer", "author"];
14201
14332
  MEDIA_KINDS = [
14202
14333
  "image",
@@ -14348,7 +14479,7 @@ var init_schema3 = __esm({
14348
14479
  layoutGridColumnField: z29.string().optional(),
14349
14480
  layoutGridMaxRows: z29.number().int().positive().optional(),
14350
14481
  // Icon picker configuration (used when ui.widget === 'iconPicker')
14351
- iconPickerPreset: z29.enum(["cta"]).optional(),
14482
+ iconPickerPreset: z29.enum(ICON_PICKER_PRESETS).optional(),
14352
14483
  // Entry picker configuration
14353
14484
  contentTypeField: z29.string().optional(),
14354
14485
  fixedContentType: z29.string().optional(),
@@ -15642,36 +15773,46 @@ function buildCarouselLayout() {
15642
15773
  [buildTestimonialCard(repeat("data.entries", "testimonial"))]
15643
15774
  );
15644
15775
  }
15776
+ function buildResponsiveGridCards() {
15777
+ return [
15778
+ // 2 columns
15779
+ grid(
15780
+ { gap: "lg", cols: { base: 1, sm: 2 } },
15781
+ [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15782
+ when("gridColumns", { equals: "2" })
15783
+ ),
15784
+ // 3 columns (default when unset)
15785
+ grid(
15786
+ { gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
15787
+ [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15788
+ when("gridColumns", { equals: "3" })
15789
+ ),
15790
+ // 4 columns
15791
+ grid(
15792
+ { gap: "lg", cols: { base: 1, sm: 2, lg: 3, xl: 4 } },
15793
+ [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15794
+ when("gridColumns", { equals: "4" })
15795
+ ),
15796
+ // Fallback to 3 columns when gridColumns is not set
15797
+ grid(
15798
+ { gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
15799
+ [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15800
+ when("gridColumns", { not: true })
15801
+ )
15802
+ ];
15803
+ }
15645
15804
  function buildGridLayout() {
15646
15805
  return el(
15647
15806
  "div",
15648
15807
  { className: "rb-mt-12 rb-testimonials-carousel" },
15649
- [
15650
- // 2 columns
15651
- grid(
15652
- { gap: "lg", cols: { base: 1, sm: 2 } },
15653
- [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15654
- when("gridColumns", { equals: "2" })
15655
- ),
15656
- // 3 columns (default when unset)
15657
- grid(
15658
- { gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
15659
- [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15660
- when("gridColumns", { equals: "3" })
15661
- ),
15662
- // 4 columns
15663
- grid(
15664
- { gap: "lg", cols: { base: 1, sm: 2, lg: 3, xl: 4 } },
15665
- [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15666
- when("gridColumns", { equals: "4" })
15667
- ),
15668
- // Fallback to 3 columns when gridColumns is not set
15669
- grid(
15670
- { gap: "lg", cols: { base: 1, sm: 2, lg: 3 } },
15671
- [buildTestimonialCard(repeat("data.entries", "testimonial"))],
15672
- when("gridColumns", { not: true })
15673
- )
15674
- ]
15808
+ buildResponsiveGridCards()
15809
+ );
15810
+ }
15811
+ function buildGridCardsLayout(className) {
15812
+ return el(
15813
+ "div",
15814
+ { className },
15815
+ buildResponsiveGridCards()
15675
15816
  );
15676
15817
  }
15677
15818
  var grid, testimonialsCarouselFragment;
@@ -22392,171 +22533,309 @@ var init_arrow_right = __esm({
22392
22533
  }
22393
22534
  });
22394
22535
 
22536
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/award.js
22537
+ var __iconNode4, Award;
22538
+ var init_award = __esm({
22539
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/award.js"() {
22540
+ "use strict";
22541
+ init_createLucideIcon();
22542
+ __iconNode4 = [
22543
+ [
22544
+ "path",
22545
+ {
22546
+ d: "m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",
22547
+ key: "1yiouv"
22548
+ }
22549
+ ],
22550
+ ["circle", { cx: "12", cy: "8", r: "6", key: "1vp47v" }]
22551
+ ];
22552
+ Award = createLucideIcon("award", __iconNode4);
22553
+ }
22554
+ });
22555
+
22556
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/badge-check.js
22557
+ var __iconNode5, BadgeCheck;
22558
+ var init_badge_check = __esm({
22559
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/badge-check.js"() {
22560
+ "use strict";
22561
+ init_createLucideIcon();
22562
+ __iconNode5 = [
22563
+ [
22564
+ "path",
22565
+ {
22566
+ d: "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",
22567
+ key: "3c2336"
22568
+ }
22569
+ ],
22570
+ ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
22571
+ ];
22572
+ BadgeCheck = createLucideIcon("badge-check", __iconNode5);
22573
+ }
22574
+ });
22575
+
22576
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/book-open.js
22577
+ var __iconNode6, BookOpen;
22578
+ var init_book_open = __esm({
22579
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/book-open.js"() {
22580
+ "use strict";
22581
+ init_createLucideIcon();
22582
+ __iconNode6 = [
22583
+ ["path", { d: "M12 7v14", key: "1akyts" }],
22584
+ [
22585
+ "path",
22586
+ {
22587
+ d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",
22588
+ key: "ruj8y"
22589
+ }
22590
+ ]
22591
+ ];
22592
+ BookOpen = createLucideIcon("book-open", __iconNode6);
22593
+ }
22594
+ });
22595
+
22596
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/brain.js
22597
+ var __iconNode7, Brain;
22598
+ var init_brain = __esm({
22599
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/brain.js"() {
22600
+ "use strict";
22601
+ init_createLucideIcon();
22602
+ __iconNode7 = [
22603
+ ["path", { d: "M12 18V5", key: "adv99a" }],
22604
+ ["path", { d: "M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4", key: "1e3is1" }],
22605
+ ["path", { d: "M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5", key: "1gqd8o" }],
22606
+ ["path", { d: "M17.997 5.125a4 4 0 0 1 2.526 5.77", key: "iwvgf7" }],
22607
+ ["path", { d: "M18 18a4 4 0 0 0 2-7.464", key: "efp6ie" }],
22608
+ ["path", { d: "M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517", key: "1gq6am" }],
22609
+ ["path", { d: "M6 18a4 4 0 0 1-2-7.464", key: "k1g0md" }],
22610
+ ["path", { d: "M6.003 5.125a4 4 0 0 0-2.526 5.77", key: "q97ue3" }]
22611
+ ];
22612
+ Brain = createLucideIcon("brain", __iconNode7);
22613
+ }
22614
+ });
22615
+
22616
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/briefcase-business.js
22617
+ var __iconNode8, BriefcaseBusiness;
22618
+ var init_briefcase_business = __esm({
22619
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/briefcase-business.js"() {
22620
+ "use strict";
22621
+ init_createLucideIcon();
22622
+ __iconNode8 = [
22623
+ ["path", { d: "M12 12h.01", key: "1mp3jc" }],
22624
+ ["path", { d: "M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2", key: "1ksdt3" }],
22625
+ ["path", { d: "M22 13a18.15 18.15 0 0 1-20 0", key: "12hx5q" }],
22626
+ ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
22627
+ ];
22628
+ BriefcaseBusiness = createLucideIcon("briefcase-business", __iconNode8);
22629
+ }
22630
+ });
22631
+
22632
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/calendar-days.js
22633
+ var __iconNode9, CalendarDays;
22634
+ var init_calendar_days = __esm({
22635
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/calendar-days.js"() {
22636
+ "use strict";
22637
+ init_createLucideIcon();
22638
+ __iconNode9 = [
22639
+ ["path", { d: "M8 2v4", key: "1cmpym" }],
22640
+ ["path", { d: "M16 2v4", key: "4m81vk" }],
22641
+ ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
22642
+ ["path", { d: "M3 10h18", key: "8toen8" }],
22643
+ ["path", { d: "M8 14h.01", key: "6423bh" }],
22644
+ ["path", { d: "M12 14h.01", key: "1etili" }],
22645
+ ["path", { d: "M16 14h.01", key: "1gbofw" }],
22646
+ ["path", { d: "M8 18h.01", key: "lrp35t" }],
22647
+ ["path", { d: "M12 18h.01", key: "mhygvu" }],
22648
+ ["path", { d: "M16 18h.01", key: "kzsmim" }]
22649
+ ];
22650
+ CalendarDays = createLucideIcon("calendar-days", __iconNode9);
22651
+ }
22652
+ });
22653
+
22395
22654
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/calendar.js
22396
- var __iconNode4, Calendar;
22655
+ var __iconNode10, Calendar;
22397
22656
  var init_calendar = __esm({
22398
22657
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/calendar.js"() {
22399
22658
  "use strict";
22400
22659
  init_createLucideIcon();
22401
- __iconNode4 = [
22660
+ __iconNode10 = [
22402
22661
  ["path", { d: "M8 2v4", key: "1cmpym" }],
22403
22662
  ["path", { d: "M16 2v4", key: "4m81vk" }],
22404
22663
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
22405
22664
  ["path", { d: "M3 10h18", key: "8toen8" }]
22406
22665
  ];
22407
- Calendar = createLucideIcon("calendar", __iconNode4);
22666
+ Calendar = createLucideIcon("calendar", __iconNode10);
22408
22667
  }
22409
22668
  });
22410
22669
 
22411
22670
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/check.js
22412
- var __iconNode5, Check;
22671
+ var __iconNode11, Check;
22413
22672
  var init_check = __esm({
22414
22673
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/check.js"() {
22415
22674
  "use strict";
22416
22675
  init_createLucideIcon();
22417
- __iconNode5 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
22418
- Check = createLucideIcon("check", __iconNode5);
22676
+ __iconNode11 = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
22677
+ Check = createLucideIcon("check", __iconNode11);
22419
22678
  }
22420
22679
  });
22421
22680
 
22422
22681
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-down.js
22423
- var __iconNode6, ChevronDown;
22682
+ var __iconNode12, ChevronDown;
22424
22683
  var init_chevron_down = __esm({
22425
22684
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-down.js"() {
22426
22685
  "use strict";
22427
22686
  init_createLucideIcon();
22428
- __iconNode6 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
22429
- ChevronDown = createLucideIcon("chevron-down", __iconNode6);
22687
+ __iconNode12 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
22688
+ ChevronDown = createLucideIcon("chevron-down", __iconNode12);
22430
22689
  }
22431
22690
  });
22432
22691
 
22433
22692
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-left.js
22434
- var __iconNode7, ChevronLeft;
22693
+ var __iconNode13, ChevronLeft;
22435
22694
  var init_chevron_left = __esm({
22436
22695
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-left.js"() {
22437
22696
  "use strict";
22438
22697
  init_createLucideIcon();
22439
- __iconNode7 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
22440
- ChevronLeft = createLucideIcon("chevron-left", __iconNode7);
22698
+ __iconNode13 = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
22699
+ ChevronLeft = createLucideIcon("chevron-left", __iconNode13);
22441
22700
  }
22442
22701
  });
22443
22702
 
22444
22703
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-right.js
22445
- var __iconNode8, ChevronRight;
22704
+ var __iconNode14, ChevronRight;
22446
22705
  var init_chevron_right = __esm({
22447
22706
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-right.js"() {
22448
22707
  "use strict";
22449
22708
  init_createLucideIcon();
22450
- __iconNode8 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
22451
- ChevronRight = createLucideIcon("chevron-right", __iconNode8);
22709
+ __iconNode14 = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
22710
+ ChevronRight = createLucideIcon("chevron-right", __iconNode14);
22452
22711
  }
22453
22712
  });
22454
22713
 
22455
22714
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-up.js
22456
- var __iconNode9, ChevronUp;
22715
+ var __iconNode15, ChevronUp;
22457
22716
  var init_chevron_up = __esm({
22458
22717
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/chevron-up.js"() {
22459
22718
  "use strict";
22460
22719
  init_createLucideIcon();
22461
- __iconNode9 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
22462
- ChevronUp = createLucideIcon("chevron-up", __iconNode9);
22720
+ __iconNode15 = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
22721
+ ChevronUp = createLucideIcon("chevron-up", __iconNode15);
22463
22722
  }
22464
22723
  });
22465
22724
 
22466
22725
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-minus.js
22467
- var __iconNode10, CircleMinus;
22726
+ var __iconNode16, CircleMinus;
22468
22727
  var init_circle_minus = __esm({
22469
22728
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-minus.js"() {
22470
22729
  "use strict";
22471
22730
  init_createLucideIcon();
22472
- __iconNode10 = [
22731
+ __iconNode16 = [
22473
22732
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22474
22733
  ["path", { d: "M8 12h8", key: "1wcyev" }]
22475
22734
  ];
22476
- CircleMinus = createLucideIcon("circle-minus", __iconNode10);
22735
+ CircleMinus = createLucideIcon("circle-minus", __iconNode16);
22477
22736
  }
22478
22737
  });
22479
22738
 
22480
22739
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-plus.js
22481
- var __iconNode11, CirclePlus;
22740
+ var __iconNode17, CirclePlus;
22482
22741
  var init_circle_plus = __esm({
22483
22742
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/circle-plus.js"() {
22484
22743
  "use strict";
22485
22744
  init_createLucideIcon();
22486
- __iconNode11 = [
22745
+ __iconNode17 = [
22487
22746
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22488
22747
  ["path", { d: "M8 12h8", key: "1wcyev" }],
22489
22748
  ["path", { d: "M12 8v8", key: "napkw2" }]
22490
22749
  ];
22491
- CirclePlus = createLucideIcon("circle-plus", __iconNode11);
22750
+ CirclePlus = createLucideIcon("circle-plus", __iconNode17);
22492
22751
  }
22493
22752
  });
22494
22753
 
22495
22754
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/clock.js
22496
- var __iconNode12, Clock;
22755
+ var __iconNode18, Clock;
22497
22756
  var init_clock = __esm({
22498
22757
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/clock.js"() {
22499
22758
  "use strict";
22500
22759
  init_createLucideIcon();
22501
- __iconNode12 = [
22760
+ __iconNode18 = [
22502
22761
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
22503
22762
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
22504
22763
  ];
22505
- Clock = createLucideIcon("clock", __iconNode12);
22764
+ Clock = createLucideIcon("clock", __iconNode18);
22765
+ }
22766
+ });
22767
+
22768
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/compass.js
22769
+ var __iconNode19, Compass;
22770
+ var init_compass = __esm({
22771
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/compass.js"() {
22772
+ "use strict";
22773
+ init_createLucideIcon();
22774
+ __iconNode19 = [
22775
+ [
22776
+ "path",
22777
+ {
22778
+ d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",
22779
+ key: "9ktpf1"
22780
+ }
22781
+ ],
22782
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
22783
+ ];
22784
+ Compass = createLucideIcon("compass", __iconNode19);
22506
22785
  }
22507
22786
  });
22508
22787
 
22509
22788
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/credit-card.js
22510
- var __iconNode13, CreditCard;
22789
+ var __iconNode20, CreditCard;
22511
22790
  var init_credit_card = __esm({
22512
22791
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/credit-card.js"() {
22513
22792
  "use strict";
22514
22793
  init_createLucideIcon();
22515
- __iconNode13 = [
22794
+ __iconNode20 = [
22516
22795
  ["rect", { width: "20", height: "14", x: "2", y: "5", rx: "2", key: "ynyp8z" }],
22517
22796
  ["line", { x1: "2", x2: "22", y1: "10", y2: "10", key: "1b3vmo" }]
22518
22797
  ];
22519
- CreditCard = createLucideIcon("credit-card", __iconNode13);
22798
+ CreditCard = createLucideIcon("credit-card", __iconNode20);
22520
22799
  }
22521
22800
  });
22522
22801
 
22523
22802
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/download.js
22524
- var __iconNode14, Download;
22803
+ var __iconNode21, Download;
22525
22804
  var init_download = __esm({
22526
22805
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/download.js"() {
22527
22806
  "use strict";
22528
22807
  init_createLucideIcon();
22529
- __iconNode14 = [
22808
+ __iconNode21 = [
22530
22809
  ["path", { d: "M12 15V3", key: "m9g1x1" }],
22531
22810
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
22532
22811
  ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
22533
22812
  ];
22534
- Download = createLucideIcon("download", __iconNode14);
22813
+ Download = createLucideIcon("download", __iconNode21);
22535
22814
  }
22536
22815
  });
22537
22816
 
22538
22817
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/external-link.js
22539
- var __iconNode15, ExternalLink;
22818
+ var __iconNode22, ExternalLink;
22540
22819
  var init_external_link = __esm({
22541
22820
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/external-link.js"() {
22542
22821
  "use strict";
22543
22822
  init_createLucideIcon();
22544
- __iconNode15 = [
22823
+ __iconNode22 = [
22545
22824
  ["path", { d: "M15 3h6v6", key: "1q9fwt" }],
22546
22825
  ["path", { d: "M10 14 21 3", key: "gplh6r" }],
22547
22826
  ["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
22548
22827
  ];
22549
- ExternalLink = createLucideIcon("external-link", __iconNode15);
22828
+ ExternalLink = createLucideIcon("external-link", __iconNode22);
22550
22829
  }
22551
22830
  });
22552
22831
 
22553
22832
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-archive.js
22554
- var __iconNode16, FileArchive;
22833
+ var __iconNode23, FileArchive;
22555
22834
  var init_file_archive = __esm({
22556
22835
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-archive.js"() {
22557
22836
  "use strict";
22558
22837
  init_createLucideIcon();
22559
- __iconNode16 = [
22838
+ __iconNode23 = [
22560
22839
  [
22561
22840
  "path",
22562
22841
  {
@@ -22570,17 +22849,17 @@ var init_file_archive = __esm({
22570
22849
  ["path", { d: "M8 7V6", key: "1nbb54" }],
22571
22850
  ["circle", { cx: "8", cy: "20", r: "2", key: "ckkr5m" }]
22572
22851
  ];
22573
- FileArchive = createLucideIcon("file-archive", __iconNode16);
22852
+ FileArchive = createLucideIcon("file-archive", __iconNode23);
22574
22853
  }
22575
22854
  });
22576
22855
 
22577
22856
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-headphone.js
22578
- var __iconNode17, FileHeadphone;
22857
+ var __iconNode24, FileHeadphone;
22579
22858
  var init_file_headphone = __esm({
22580
22859
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-headphone.js"() {
22581
22860
  "use strict";
22582
22861
  init_createLucideIcon();
22583
- __iconNode17 = [
22862
+ __iconNode24 = [
22584
22863
  [
22585
22864
  "path",
22586
22865
  {
@@ -22597,17 +22876,17 @@ var init_file_headphone = __esm({
22597
22876
  }
22598
22877
  ]
22599
22878
  ];
22600
- FileHeadphone = createLucideIcon("file-headphone", __iconNode17);
22879
+ FileHeadphone = createLucideIcon("file-headphone", __iconNode24);
22601
22880
  }
22602
22881
  });
22603
22882
 
22604
22883
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js
22605
- var __iconNode18, FileSpreadsheet;
22884
+ var __iconNode25, FileSpreadsheet;
22606
22885
  var init_file_spreadsheet = __esm({
22607
22886
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js"() {
22608
22887
  "use strict";
22609
22888
  init_createLucideIcon();
22610
- __iconNode18 = [
22889
+ __iconNode25 = [
22611
22890
  [
22612
22891
  "path",
22613
22892
  {
@@ -22621,17 +22900,17 @@ var init_file_spreadsheet = __esm({
22621
22900
  ["path", { d: "M8 17h2", key: "2yhykz" }],
22622
22901
  ["path", { d: "M14 17h2", key: "10kma7" }]
22623
22902
  ];
22624
- FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode18);
22903
+ FileSpreadsheet = createLucideIcon("file-spreadsheet", __iconNode25);
22625
22904
  }
22626
22905
  });
22627
22906
 
22628
22907
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-text.js
22629
- var __iconNode19, FileText;
22908
+ var __iconNode26, FileText;
22630
22909
  var init_file_text = __esm({
22631
22910
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/file-text.js"() {
22632
22911
  "use strict";
22633
22912
  init_createLucideIcon();
22634
- __iconNode19 = [
22913
+ __iconNode26 = [
22635
22914
  [
22636
22915
  "path",
22637
22916
  {
@@ -22644,46 +22923,246 @@ var init_file_text = __esm({
22644
22923
  ["path", { d: "M16 13H8", key: "t4e002" }],
22645
22924
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
22646
22925
  ];
22647
- FileText = createLucideIcon("file-text", __iconNode19);
22926
+ FileText = createLucideIcon("file-text", __iconNode26);
22927
+ }
22928
+ });
22929
+
22930
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/flower-2.js
22931
+ var __iconNode27, Flower2;
22932
+ var init_flower_2 = __esm({
22933
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/flower-2.js"() {
22934
+ "use strict";
22935
+ init_createLucideIcon();
22936
+ __iconNode27 = [
22937
+ [
22938
+ "path",
22939
+ {
22940
+ d: "M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1",
22941
+ key: "3pnvol"
22942
+ }
22943
+ ],
22944
+ ["circle", { cx: "12", cy: "8", r: "2", key: "1822b1" }],
22945
+ ["path", { d: "M12 10v12", key: "6ubwww" }],
22946
+ ["path", { d: "M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z", key: "9hd38g" }],
22947
+ ["path", { d: "M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z", key: "ufn41s" }]
22948
+ ];
22949
+ Flower2 = createLucideIcon("flower-2", __iconNode27);
22950
+ }
22951
+ });
22952
+
22953
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/globe.js
22954
+ var __iconNode28, Globe;
22955
+ var init_globe = __esm({
22956
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/globe.js"() {
22957
+ "use strict";
22958
+ init_createLucideIcon();
22959
+ __iconNode28 = [
22960
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22961
+ ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
22962
+ ["path", { d: "M2 12h20", key: "9i4pu4" }]
22963
+ ];
22964
+ Globe = createLucideIcon("globe", __iconNode28);
22965
+ }
22966
+ });
22967
+
22968
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/graduation-cap.js
22969
+ var __iconNode29, GraduationCap;
22970
+ var init_graduation_cap = __esm({
22971
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/graduation-cap.js"() {
22972
+ "use strict";
22973
+ init_createLucideIcon();
22974
+ __iconNode29 = [
22975
+ [
22976
+ "path",
22977
+ {
22978
+ d: "M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",
22979
+ key: "j76jl0"
22980
+ }
22981
+ ],
22982
+ ["path", { d: "M22 10v6", key: "1lu8f3" }],
22983
+ ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
22984
+ ];
22985
+ GraduationCap = createLucideIcon("graduation-cap", __iconNode29);
22986
+ }
22987
+ });
22988
+
22989
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/hand-heart.js
22990
+ var __iconNode30, HandHeart;
22991
+ var init_hand_heart = __esm({
22992
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/hand-heart.js"() {
22993
+ "use strict";
22994
+ init_createLucideIcon();
22995
+ __iconNode30 = [
22996
+ ["path", { d: "M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16", key: "1v1a37" }],
22997
+ [
22998
+ "path",
22999
+ {
23000
+ d: "m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95",
23001
+ key: "fhfbnt"
23002
+ }
23003
+ ],
23004
+ ["path", { d: "m2 15 6 6", key: "10dquu" }],
23005
+ [
23006
+ "path",
23007
+ {
23008
+ d: "m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91",
23009
+ key: "1x6kdw"
23010
+ }
23011
+ ]
23012
+ ];
23013
+ HandHeart = createLucideIcon("hand-heart", __iconNode30);
23014
+ }
23015
+ });
23016
+
23017
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/heart-handshake.js
23018
+ var __iconNode31, HeartHandshake;
23019
+ var init_heart_handshake = __esm({
23020
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/heart-handshake.js"() {
23021
+ "use strict";
23022
+ init_createLucideIcon();
23023
+ __iconNode31 = [
23024
+ [
23025
+ "path",
23026
+ {
23027
+ d: "M19.414 14.414C21 12.828 22 11.5 22 9.5a5.5 5.5 0 0 0-9.591-3.676.6.6 0 0 1-.818.001A5.5 5.5 0 0 0 2 9.5c0 2.3 1.5 4 3 5.5l5.535 5.362a2 2 0 0 0 2.879.052 2.12 2.12 0 0 0-.004-3 2.124 2.124 0 1 0 3-3 2.124 2.124 0 0 0 3.004 0 2 2 0 0 0 0-2.828l-1.881-1.882a2.41 2.41 0 0 0-3.409 0l-1.71 1.71a2 2 0 0 1-2.828 0 2 2 0 0 1 0-2.828l2.823-2.762",
23028
+ key: "17lmqv"
23029
+ }
23030
+ ]
23031
+ ];
23032
+ HeartHandshake = createLucideIcon("heart-handshake", __iconNode31);
23033
+ }
23034
+ });
23035
+
23036
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/heart.js
23037
+ var __iconNode32, Heart;
23038
+ var init_heart = __esm({
23039
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/heart.js"() {
23040
+ "use strict";
23041
+ init_createLucideIcon();
23042
+ __iconNode32 = [
23043
+ [
23044
+ "path",
23045
+ {
23046
+ d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
23047
+ key: "mvr1a0"
23048
+ }
23049
+ ]
23050
+ ];
23051
+ Heart = createLucideIcon("heart", __iconNode32);
23052
+ }
23053
+ });
23054
+
23055
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/house.js
23056
+ var __iconNode33, House;
23057
+ var init_house = __esm({
23058
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/house.js"() {
23059
+ "use strict";
23060
+ init_createLucideIcon();
23061
+ __iconNode33 = [
23062
+ ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
23063
+ [
23064
+ "path",
23065
+ {
23066
+ d: "M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",
23067
+ key: "r6nss1"
23068
+ }
23069
+ ]
23070
+ ];
23071
+ House = createLucideIcon("house", __iconNode33);
22648
23072
  }
22649
23073
  });
22650
23074
 
22651
23075
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/info.js
22652
- var __iconNode20, Info;
23076
+ var __iconNode34, Info;
22653
23077
  var init_info = __esm({
22654
23078
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/info.js"() {
22655
23079
  "use strict";
22656
23080
  init_createLucideIcon();
22657
- __iconNode20 = [
23081
+ __iconNode34 = [
22658
23082
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22659
23083
  ["path", { d: "M12 16v-4", key: "1dtifu" }],
22660
23084
  ["path", { d: "M12 8h.01", key: "e9boi3" }]
22661
23085
  ];
22662
- Info = createLucideIcon("info", __iconNode20);
23086
+ Info = createLucideIcon("info", __iconNode34);
23087
+ }
23088
+ });
23089
+
23090
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/leaf.js
23091
+ var __iconNode35, Leaf;
23092
+ var init_leaf = __esm({
23093
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/leaf.js"() {
23094
+ "use strict";
23095
+ init_createLucideIcon();
23096
+ __iconNode35 = [
23097
+ [
23098
+ "path",
23099
+ {
23100
+ d: "M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",
23101
+ key: "nnexq3"
23102
+ }
23103
+ ],
23104
+ ["path", { d: "M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12", key: "mt58a7" }]
23105
+ ];
23106
+ Leaf = createLucideIcon("leaf", __iconNode35);
23107
+ }
23108
+ });
23109
+
23110
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/lightbulb.js
23111
+ var __iconNode36, Lightbulb;
23112
+ var init_lightbulb = __esm({
23113
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/lightbulb.js"() {
23114
+ "use strict";
23115
+ init_createLucideIcon();
23116
+ __iconNode36 = [
23117
+ [
23118
+ "path",
23119
+ {
23120
+ d: "M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",
23121
+ key: "1gvzjb"
23122
+ }
23123
+ ],
23124
+ ["path", { d: "M9 18h6", key: "x1upvd" }],
23125
+ ["path", { d: "M10 22h4", key: "ceow96" }]
23126
+ ];
23127
+ Lightbulb = createLucideIcon("lightbulb", __iconNode36);
23128
+ }
23129
+ });
23130
+
23131
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/lock.js
23132
+ var __iconNode37, Lock;
23133
+ var init_lock = __esm({
23134
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/lock.js"() {
23135
+ "use strict";
23136
+ init_createLucideIcon();
23137
+ __iconNode37 = [
23138
+ ["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
23139
+ ["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
23140
+ ];
23141
+ Lock = createLucideIcon("lock", __iconNode37);
22663
23142
  }
22664
23143
  });
22665
23144
 
22666
23145
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/mail.js
22667
- var __iconNode21, Mail;
23146
+ var __iconNode38, Mail;
22668
23147
  var init_mail = __esm({
22669
23148
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/mail.js"() {
22670
23149
  "use strict";
22671
23150
  init_createLucideIcon();
22672
- __iconNode21 = [
23151
+ __iconNode38 = [
22673
23152
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
22674
23153
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
22675
23154
  ];
22676
- Mail = createLucideIcon("mail", __iconNode21);
23155
+ Mail = createLucideIcon("mail", __iconNode38);
22677
23156
  }
22678
23157
  });
22679
23158
 
22680
23159
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/map-pin.js
22681
- var __iconNode22, MapPin;
23160
+ var __iconNode39, MapPin;
22682
23161
  var init_map_pin = __esm({
22683
23162
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/map-pin.js"() {
22684
23163
  "use strict";
22685
23164
  init_createLucideIcon();
22686
- __iconNode22 = [
23165
+ __iconNode39 = [
22687
23166
  [
22688
23167
  "path",
22689
23168
  {
@@ -22693,28 +23172,69 @@ var init_map_pin = __esm({
22693
23172
  ],
22694
23173
  ["circle", { cx: "12", cy: "10", r: "3", key: "ilqhr7" }]
22695
23174
  ];
22696
- MapPin = createLucideIcon("map-pin", __iconNode22);
23175
+ MapPin = createLucideIcon("map-pin", __iconNode39);
23176
+ }
23177
+ });
23178
+
23179
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/message-circle.js
23180
+ var __iconNode40, MessageCircle;
23181
+ var init_message_circle = __esm({
23182
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/message-circle.js"() {
23183
+ "use strict";
23184
+ init_createLucideIcon();
23185
+ __iconNode40 = [
23186
+ [
23187
+ "path",
23188
+ {
23189
+ d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
23190
+ key: "1sd12s"
23191
+ }
23192
+ ]
23193
+ ];
23194
+ MessageCircle = createLucideIcon("message-circle", __iconNode40);
22697
23195
  }
22698
23196
  });
22699
23197
 
22700
23198
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/minus.js
22701
- var __iconNode23, Minus;
23199
+ var __iconNode41, Minus;
22702
23200
  var init_minus = __esm({
22703
23201
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/minus.js"() {
22704
23202
  "use strict";
22705
23203
  init_createLucideIcon();
22706
- __iconNode23 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
22707
- Minus = createLucideIcon("minus", __iconNode23);
23204
+ __iconNode41 = [["path", { d: "M5 12h14", key: "1ays0h" }]];
23205
+ Minus = createLucideIcon("minus", __iconNode41);
23206
+ }
23207
+ });
23208
+
23209
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/package.js
23210
+ var __iconNode42, Package;
23211
+ var init_package = __esm({
23212
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/package.js"() {
23213
+ "use strict";
23214
+ init_createLucideIcon();
23215
+ __iconNode42 = [
23216
+ [
23217
+ "path",
23218
+ {
23219
+ d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
23220
+ key: "1a0edw"
23221
+ }
23222
+ ],
23223
+ ["path", { d: "M12 22V12", key: "d0xqtd" }],
23224
+ ["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }],
23225
+ ["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }]
23226
+ ];
23227
+ Package = createLucideIcon("package", __iconNode42);
22708
23228
  }
22709
23229
  });
22710
23230
 
22711
23231
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/phone.js
22712
- var __iconNode24, Phone;
23232
+ var __iconNode43, Phone;
22713
23233
  var init_phone = __esm({
22714
23234
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/phone.js"() {
22715
23235
  "use strict";
22716
23236
  init_createLucideIcon();
22717
- __iconNode24 = [
23237
+ __iconNode43 = [
22718
23238
  [
22719
23239
  "path",
22720
23240
  {
@@ -22723,17 +23243,17 @@ var init_phone = __esm({
22723
23243
  }
22724
23244
  ]
22725
23245
  ];
22726
- Phone = createLucideIcon("phone", __iconNode24);
23246
+ Phone = createLucideIcon("phone", __iconNode43);
22727
23247
  }
22728
23248
  });
22729
23249
 
22730
23250
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/play.js
22731
- var __iconNode25, Play;
23251
+ var __iconNode44, Play;
22732
23252
  var init_play = __esm({
22733
23253
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/play.js"() {
22734
23254
  "use strict";
22735
23255
  init_createLucideIcon();
22736
- __iconNode25 = [
23256
+ __iconNode44 = [
22737
23257
  [
22738
23258
  "path",
22739
23259
  {
@@ -22742,31 +23262,71 @@ var init_play = __esm({
22742
23262
  }
22743
23263
  ]
22744
23264
  ];
22745
- Play = createLucideIcon("play", __iconNode25);
23265
+ Play = createLucideIcon("play", __iconNode44);
22746
23266
  }
22747
23267
  });
22748
23268
 
22749
23269
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/plus.js
22750
- var __iconNode26, Plus;
23270
+ var __iconNode45, Plus;
22751
23271
  var init_plus = __esm({
22752
23272
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/plus.js"() {
22753
23273
  "use strict";
22754
23274
  init_createLucideIcon();
22755
- __iconNode26 = [
23275
+ __iconNode45 = [
22756
23276
  ["path", { d: "M5 12h14", key: "1ays0h" }],
22757
23277
  ["path", { d: "M12 5v14", key: "s699le" }]
22758
23278
  ];
22759
- Plus = createLucideIcon("plus", __iconNode26);
23279
+ Plus = createLucideIcon("plus", __iconNode45);
23280
+ }
23281
+ });
23282
+
23283
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shield.js
23284
+ var __iconNode46, Shield;
23285
+ var init_shield = __esm({
23286
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shield.js"() {
23287
+ "use strict";
23288
+ init_createLucideIcon();
23289
+ __iconNode46 = [
23290
+ [
23291
+ "path",
23292
+ {
23293
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
23294
+ key: "oel41y"
23295
+ }
23296
+ ]
23297
+ ];
23298
+ Shield = createLucideIcon("shield", __iconNode46);
23299
+ }
23300
+ });
23301
+
23302
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shopping-bag.js
23303
+ var __iconNode47, ShoppingBag;
23304
+ var init_shopping_bag = __esm({
23305
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shopping-bag.js"() {
23306
+ "use strict";
23307
+ init_createLucideIcon();
23308
+ __iconNode47 = [
23309
+ ["path", { d: "M16 10a4 4 0 0 1-8 0", key: "1ltviw" }],
23310
+ ["path", { d: "M3.103 6.034h17.794", key: "awc11p" }],
23311
+ [
23312
+ "path",
23313
+ {
23314
+ d: "M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",
23315
+ key: "o988cm"
23316
+ }
23317
+ ]
23318
+ ];
23319
+ ShoppingBag = createLucideIcon("shopping-bag", __iconNode47);
22760
23320
  }
22761
23321
  });
22762
23322
 
22763
23323
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shopping-cart.js
22764
- var __iconNode27, ShoppingCart;
23324
+ var __iconNode48, ShoppingCart;
22765
23325
  var init_shopping_cart = __esm({
22766
23326
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/shopping-cart.js"() {
22767
23327
  "use strict";
22768
23328
  init_createLucideIcon();
22769
- __iconNode27 = [
23329
+ __iconNode48 = [
22770
23330
  ["circle", { cx: "8", cy: "21", r: "1", key: "jimo8o" }],
22771
23331
  ["circle", { cx: "19", cy: "21", r: "1", key: "13723u" }],
22772
23332
  [
@@ -22777,17 +23337,33 @@ var init_shopping_cart = __esm({
22777
23337
  }
22778
23338
  ]
22779
23339
  ];
22780
- ShoppingCart = createLucideIcon("shopping-cart", __iconNode27);
23340
+ ShoppingCart = createLucideIcon("shopping-cart", __iconNode48);
23341
+ }
23342
+ });
23343
+
23344
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/smile.js
23345
+ var __iconNode49, Smile;
23346
+ var init_smile = __esm({
23347
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/smile.js"() {
23348
+ "use strict";
23349
+ init_createLucideIcon();
23350
+ __iconNode49 = [
23351
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
23352
+ ["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }],
23353
+ ["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }],
23354
+ ["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }]
23355
+ ];
23356
+ Smile = createLucideIcon("smile", __iconNode49);
22781
23357
  }
22782
23358
  });
22783
23359
 
22784
23360
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sparkles.js
22785
- var __iconNode28, Sparkles;
23361
+ var __iconNode50, Sparkles;
22786
23362
  var init_sparkles = __esm({
22787
23363
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sparkles.js"() {
22788
23364
  "use strict";
22789
23365
  init_createLucideIcon();
22790
- __iconNode28 = [
23366
+ __iconNode50 = [
22791
23367
  [
22792
23368
  "path",
22793
23369
  {
@@ -22799,17 +23375,38 @@ var init_sparkles = __esm({
22799
23375
  ["path", { d: "M22 4h-4", key: "gwowj6" }],
22800
23376
  ["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
22801
23377
  ];
22802
- Sparkles = createLucideIcon("sparkles", __iconNode28);
23378
+ Sparkles = createLucideIcon("sparkles", __iconNode50);
23379
+ }
23380
+ });
23381
+
23382
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sprout.js
23383
+ var __iconNode51, Sprout;
23384
+ var init_sprout = __esm({
23385
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/sprout.js"() {
23386
+ "use strict";
23387
+ init_createLucideIcon();
23388
+ __iconNode51 = [
23389
+ [
23390
+ "path",
23391
+ {
23392
+ d: "M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3",
23393
+ key: "139s4v"
23394
+ }
23395
+ ],
23396
+ ["path", { d: "M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4", key: "1dlkgp" }],
23397
+ ["path", { d: "M5 21h14", key: "11awu3" }]
23398
+ ];
23399
+ Sprout = createLucideIcon("sprout", __iconNode51);
22803
23400
  }
22804
23401
  });
22805
23402
 
22806
23403
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/star.js
22807
- var __iconNode29, Star;
23404
+ var __iconNode52, Star;
22808
23405
  var init_star = __esm({
22809
23406
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/star.js"() {
22810
23407
  "use strict";
22811
23408
  init_createLucideIcon();
22812
- __iconNode29 = [
23409
+ __iconNode52 = [
22813
23410
  [
22814
23411
  "path",
22815
23412
  {
@@ -22818,17 +23415,32 @@ var init_star = __esm({
22818
23415
  }
22819
23416
  ]
22820
23417
  ];
22821
- Star = createLucideIcon("star", __iconNode29);
23418
+ Star = createLucideIcon("star", __iconNode52);
23419
+ }
23420
+ });
23421
+
23422
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/target.js
23423
+ var __iconNode53, Target;
23424
+ var init_target = __esm({
23425
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/target.js"() {
23426
+ "use strict";
23427
+ init_createLucideIcon();
23428
+ __iconNode53 = [
23429
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
23430
+ ["circle", { cx: "12", cy: "12", r: "6", key: "1vlfrh" }],
23431
+ ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }]
23432
+ ];
23433
+ Target = createLucideIcon("target", __iconNode53);
22822
23434
  }
22823
23435
  });
22824
23436
 
22825
23437
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/ticket.js
22826
- var __iconNode30, Ticket;
23438
+ var __iconNode54, Ticket;
22827
23439
  var init_ticket = __esm({
22828
23440
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/ticket.js"() {
22829
23441
  "use strict";
22830
23442
  init_createLucideIcon();
22831
- __iconNode30 = [
23443
+ __iconNode54 = [
22832
23444
  [
22833
23445
  "path",
22834
23446
  {
@@ -22840,36 +23452,86 @@ var init_ticket = __esm({
22840
23452
  ["path", { d: "M13 17v2", key: "1ont0d" }],
22841
23453
  ["path", { d: "M13 11v2", key: "1wjjxi" }]
22842
23454
  ];
22843
- Ticket = createLucideIcon("ticket", __iconNode30);
23455
+ Ticket = createLucideIcon("ticket", __iconNode54);
22844
23456
  }
22845
23457
  });
22846
23458
 
22847
23459
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/upload.js
22848
- var __iconNode31, Upload;
23460
+ var __iconNode55, Upload;
22849
23461
  var init_upload = __esm({
22850
23462
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/upload.js"() {
22851
23463
  "use strict";
22852
23464
  init_createLucideIcon();
22853
- __iconNode31 = [
23465
+ __iconNode55 = [
22854
23466
  ["path", { d: "M12 3v12", key: "1x0j5s" }],
22855
23467
  ["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
22856
23468
  ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
22857
23469
  ];
22858
- Upload = createLucideIcon("upload", __iconNode31);
23470
+ Upload = createLucideIcon("upload", __iconNode55);
23471
+ }
23472
+ });
23473
+
23474
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/user-round-check.js
23475
+ var __iconNode56, UserRoundCheck;
23476
+ var init_user_round_check = __esm({
23477
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/user-round-check.js"() {
23478
+ "use strict";
23479
+ init_createLucideIcon();
23480
+ __iconNode56 = [
23481
+ ["path", { d: "M2 21a8 8 0 0 1 13.292-6", key: "bjp14o" }],
23482
+ ["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }],
23483
+ ["path", { d: "m16 19 2 2 4-4", key: "1b14m6" }]
23484
+ ];
23485
+ UserRoundCheck = createLucideIcon("user-round-check", __iconNode56);
23486
+ }
23487
+ });
23488
+
23489
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/users.js
23490
+ var __iconNode57, Users;
23491
+ var init_users = __esm({
23492
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/users.js"() {
23493
+ "use strict";
23494
+ init_createLucideIcon();
23495
+ __iconNode57 = [
23496
+ ["path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }],
23497
+ ["path", { d: "M16 3.128a4 4 0 0 1 0 7.744", key: "16gr8j" }],
23498
+ ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
23499
+ ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
23500
+ ];
23501
+ Users = createLucideIcon("users", __iconNode57);
23502
+ }
23503
+ });
23504
+
23505
+ // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/wrench.js
23506
+ var __iconNode58, Wrench;
23507
+ var init_wrench = __esm({
23508
+ "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/wrench.js"() {
23509
+ "use strict";
23510
+ init_createLucideIcon();
23511
+ __iconNode58 = [
23512
+ [
23513
+ "path",
23514
+ {
23515
+ d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",
23516
+ key: "1ngwbx"
23517
+ }
23518
+ ]
23519
+ ];
23520
+ Wrench = createLucideIcon("wrench", __iconNode58);
22859
23521
  }
22860
23522
  });
22861
23523
 
22862
23524
  // ../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/x.js
22863
- var __iconNode32, X;
23525
+ var __iconNode59, X;
22864
23526
  var init_x = __esm({
22865
23527
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/x.js"() {
22866
23528
  "use strict";
22867
23529
  init_createLucideIcon();
22868
- __iconNode32 = [
23530
+ __iconNode59 = [
22869
23531
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
22870
23532
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
22871
23533
  ];
22872
- X = createLucideIcon("x", __iconNode32);
23534
+ X = createLucideIcon("x", __iconNode59);
22873
23535
  }
22874
23536
  });
22875
23537
 
@@ -22877,13 +23539,21 @@ var init_x = __esm({
22877
23539
  var init_lucide_react = __esm({
22878
23540
  "../../node_modules/.pnpm/lucide-react@0.563.0_react@19.2.4/node_modules/lucide-react/dist/esm/lucide-react.js"() {
22879
23541
  "use strict";
23542
+ init_badge_check();
22880
23543
  init_circle_minus();
22881
23544
  init_circle_plus();
22882
23545
  init_file_headphone();
23546
+ init_house();
22883
23547
  init_sparkles();
23548
+ init_user_round_check();
22884
23549
  init_arrow_down();
22885
23550
  init_arrow_left();
22886
23551
  init_arrow_right();
23552
+ init_award();
23553
+ init_book_open();
23554
+ init_brain();
23555
+ init_briefcase_business();
23556
+ init_calendar_days();
22887
23557
  init_calendar();
22888
23558
  init_check();
22889
23559
  init_chevron_down();
@@ -22891,23 +23561,42 @@ var init_lucide_react = __esm({
22891
23561
  init_chevron_right();
22892
23562
  init_chevron_up();
22893
23563
  init_clock();
23564
+ init_compass();
22894
23565
  init_credit_card();
22895
23566
  init_download();
22896
23567
  init_external_link();
22897
23568
  init_file_archive();
22898
23569
  init_file_spreadsheet();
22899
23570
  init_file_text();
23571
+ init_flower_2();
23572
+ init_globe();
23573
+ init_graduation_cap();
23574
+ init_hand_heart();
23575
+ init_heart_handshake();
23576
+ init_heart();
22900
23577
  init_info();
23578
+ init_leaf();
23579
+ init_lightbulb();
23580
+ init_lock();
22901
23581
  init_mail();
22902
23582
  init_map_pin();
23583
+ init_message_circle();
22903
23584
  init_minus();
23585
+ init_package();
22904
23586
  init_phone();
22905
23587
  init_play();
22906
23588
  init_plus();
23589
+ init_shield();
23590
+ init_shopping_bag();
22907
23591
  init_shopping_cart();
23592
+ init_smile();
23593
+ init_sprout();
22908
23594
  init_star();
23595
+ init_target();
22909
23596
  init_ticket();
22910
23597
  init_upload();
23598
+ init_users();
23599
+ init_wrench();
22911
23600
  init_x();
22912
23601
  }
22913
23602
  });
@@ -49438,6 +50127,524 @@ var linkSchema = z50.union([
49438
50127
 
49439
50128
  // ../blocks/src/system/manifest/fieldValidation/index.ts
49440
50129
  init_schema3();
50130
+
50131
+ // ../blocks/src/system/icons/ids.ts
50132
+ var GENERATED_ICON_SET_ID_PATTERN = /^generated-icon-set:[a-z0-9][a-z0-9:_-]{0,107}$/u;
50133
+ var GENERATED_ICON_ASSET_ID_PATTERN = /^generated-icon-asset:[a-z0-9][a-z0-9:_-]{0,105}$/u;
50134
+ var SITE_ICON_STYLE_GUIDE_VERSION_ID_PATTERN = /^site-icon-style-guide:[a-f0-9]{16}$/u;
50135
+ function normalizeString(value) {
50136
+ if (typeof value !== "string") return null;
50137
+ const normalized = value.trim();
50138
+ return normalized.length > 0 ? normalized : null;
50139
+ }
50140
+ function unsafeAsGeneratedIconSetId(value) {
50141
+ return value;
50142
+ }
50143
+ function unsafeAsGeneratedIconAssetId(value) {
50144
+ return value;
50145
+ }
50146
+ function unsafeAsSiteIconStyleGuideVersionId(value) {
50147
+ return value;
50148
+ }
50149
+ function parseGeneratedIconSetId(value) {
50150
+ const normalized = normalizeString(value);
50151
+ return normalized !== null && GENERATED_ICON_SET_ID_PATTERN.test(normalized) ? unsafeAsGeneratedIconSetId(normalized) : null;
50152
+ }
50153
+ function parseGeneratedIconAssetId(value) {
50154
+ const normalized = normalizeString(value);
50155
+ return normalized !== null && GENERATED_ICON_ASSET_ID_PATTERN.test(normalized) ? unsafeAsGeneratedIconAssetId(normalized) : null;
50156
+ }
50157
+ function parseSiteIconStyleGuideVersionId(value) {
50158
+ if (typeof value !== "string") return null;
50159
+ const normalized = value.trim();
50160
+ return SITE_ICON_STYLE_GUIDE_VERSION_ID_PATTERN.test(normalized) ? unsafeAsSiteIconStyleGuideVersionId(normalized) : null;
50161
+ }
50162
+
50163
+ // ../blocks/src/system/icons/semantic.ts
50164
+ init_lucide_react();
50165
+ var SEMANTIC_ICON_IDS = [
50166
+ "protection-trust",
50167
+ "confidentiality",
50168
+ "care-support",
50169
+ "partnership",
50170
+ "warmth",
50171
+ "community",
50172
+ "personal-guidance",
50173
+ "conversation",
50174
+ "friendly-welcome",
50175
+ "insight-learning",
50176
+ "natural-wellbeing",
50177
+ "growth",
50178
+ "gentle-care",
50179
+ "special-touch",
50180
+ "ideas",
50181
+ "direction",
50182
+ "focus",
50183
+ "quality",
50184
+ "highlight",
50185
+ "verified-quality",
50186
+ "learning",
50187
+ "training",
50188
+ "programmes-dates",
50189
+ "place",
50190
+ "products",
50191
+ "packages",
50192
+ "time",
50193
+ "practical-service",
50194
+ "at-home",
50195
+ "worldwide",
50196
+ "professional-service"
50197
+ ];
50198
+ var SEMANTIC_ICON_COMPONENTS = {
50199
+ "protection-trust": Shield,
50200
+ confidentiality: Lock,
50201
+ "care-support": HandHeart,
50202
+ partnership: HeartHandshake,
50203
+ warmth: Heart,
50204
+ community: Users,
50205
+ "personal-guidance": UserRoundCheck,
50206
+ conversation: MessageCircle,
50207
+ "friendly-welcome": Smile,
50208
+ "insight-learning": Brain,
50209
+ "natural-wellbeing": Leaf,
50210
+ growth: Sprout,
50211
+ "gentle-care": Flower2,
50212
+ "special-touch": Sparkles,
50213
+ ideas: Lightbulb,
50214
+ direction: Compass,
50215
+ focus: Target,
50216
+ quality: Award,
50217
+ highlight: Star,
50218
+ "verified-quality": BadgeCheck,
50219
+ learning: BookOpen,
50220
+ training: GraduationCap,
50221
+ "programmes-dates": CalendarDays,
50222
+ place: MapPin,
50223
+ products: ShoppingBag,
50224
+ packages: Package,
50225
+ time: Clock,
50226
+ "practical-service": Wrench,
50227
+ "at-home": House,
50228
+ worldwide: Globe,
50229
+ "professional-service": BriefcaseBusiness
50230
+ };
50231
+ var featurePreset = ["feature"];
50232
+ var SEMANTIC_ICON_DEFINITIONS = [
50233
+ {
50234
+ id: "protection-trust",
50235
+ label: "Protection and trust",
50236
+ tags: ["safe", "safety", "security", "trust", "privacy", "confidence"],
50237
+ domains: ["wellbeing", "services", "technology"],
50238
+ tone: ["trustworthy", "practical"],
50239
+ presets: featurePreset
50240
+ },
50241
+ {
50242
+ id: "confidentiality",
50243
+ label: "Confidentiality",
50244
+ tags: ["confidential", "privacy", "secure", "protected", "private"],
50245
+ domains: ["wellbeing", "coaching", "services", "technology"],
50246
+ tone: ["trustworthy", "calm"],
50247
+ presets: featurePreset
50248
+ },
50249
+ {
50250
+ id: "care-support",
50251
+ label: "Care and support",
50252
+ tags: ["care", "support", "therapy", "kindness", "help", "compassion"],
50253
+ domains: ["wellbeing", "coaching", "community"],
50254
+ tone: ["warm", "human"],
50255
+ presets: featurePreset
50256
+ },
50257
+ {
50258
+ id: "partnership",
50259
+ label: "Partnership",
50260
+ tags: ["partnership", "together", "support", "relationship", "collaboration"],
50261
+ domains: ["coaching", "community", "services"],
50262
+ tone: ["warm", "human", "trustworthy"],
50263
+ presets: featurePreset
50264
+ },
50265
+ {
50266
+ id: "warmth",
50267
+ label: "Warmth",
50268
+ tags: ["heart", "warmth", "care", "love", "wellbeing", "personal"],
50269
+ domains: ["wellbeing", "community", "hospitality"],
50270
+ tone: ["warm", "human"],
50271
+ presets: featurePreset
50272
+ },
50273
+ {
50274
+ id: "community",
50275
+ label: "Community",
50276
+ tags: ["community", "group", "people", "team", "members", "belonging"],
50277
+ domains: ["community", "education", "events"],
50278
+ tone: ["human", "warm"],
50279
+ presets: featurePreset
50280
+ },
50281
+ {
50282
+ id: "personal-guidance",
50283
+ label: "Personal guidance",
50284
+ tags: ["guidance", "personal", "coach", "expert", "one to one", "trusted"],
50285
+ domains: ["coaching", "services", "education"],
50286
+ tone: ["trustworthy", "human"],
50287
+ presets: featurePreset
50288
+ },
50289
+ {
50290
+ id: "conversation",
50291
+ label: "Conversation",
50292
+ tags: ["conversation", "talk", "chat", "communication", "support"],
50293
+ domains: ["coaching", "community", "services"],
50294
+ tone: ["human", "warm"],
50295
+ presets: featurePreset
50296
+ },
50297
+ {
50298
+ id: "friendly-welcome",
50299
+ label: "Friendly welcome",
50300
+ tags: ["friendly", "welcome", "positive", "happy", "approachable"],
50301
+ domains: ["hospitality", "community", "services"],
50302
+ tone: ["warm", "playful", "human"],
50303
+ presets: featurePreset
50304
+ },
50305
+ {
50306
+ id: "insight-learning",
50307
+ label: "Insight and learning",
50308
+ tags: ["mind", "insight", "learning", "clarity", "thinking", "therapy"],
50309
+ domains: ["wellbeing", "coaching", "education"],
50310
+ tone: ["calm", "practical"],
50311
+ presets: featurePreset
50312
+ },
50313
+ {
50314
+ id: "natural-wellbeing",
50315
+ label: "Natural wellbeing",
50316
+ tags: ["natural", "wellbeing", "growth", "eco", "calm", "organic"],
50317
+ domains: ["wellbeing", "hospitality", "creative"],
50318
+ tone: ["calm", "warm"],
50319
+ presets: featurePreset
50320
+ },
50321
+ {
50322
+ id: "growth",
50323
+ label: "Growth",
50324
+ tags: ["growth", "new", "progress", "development", "nurture"],
50325
+ domains: ["wellbeing", "coaching", "education", "community"],
50326
+ tone: ["warm", "calm"],
50327
+ presets: featurePreset
50328
+ },
50329
+ {
50330
+ id: "gentle-care",
50331
+ label: "Gentle care",
50332
+ tags: ["gentle", "soft", "care", "wellbeing", "beauty", "calm"],
50333
+ domains: ["wellbeing", "creative", "hospitality"],
50334
+ tone: ["warm", "calm", "premium"],
50335
+ presets: featurePreset
50336
+ },
50337
+ {
50338
+ id: "special-touch",
50339
+ label: "Special touch",
50340
+ tags: ["special", "sparkle", "magic", "polish", "delight", "creative"],
50341
+ domains: ["creative", "commerce", "hospitality"],
50342
+ tone: ["playful", "premium"],
50343
+ presets: featurePreset
50344
+ },
50345
+ {
50346
+ id: "ideas",
50347
+ label: "Ideas",
50348
+ tags: ["idea", "innovation", "clarity", "creative", "strategy"],
50349
+ domains: ["coaching", "education", "creative", "technology"],
50350
+ tone: ["practical", "playful"],
50351
+ presets: featurePreset
50352
+ },
50353
+ {
50354
+ id: "direction",
50355
+ label: "Direction",
50356
+ tags: ["direction", "navigation", "path", "journey", "guidance"],
50357
+ domains: ["coaching", "education", "services"],
50358
+ tone: ["trustworthy", "practical"],
50359
+ presets: featurePreset
50360
+ },
50361
+ {
50362
+ id: "focus",
50363
+ label: "Focus",
50364
+ tags: ["focus", "goal", "outcome", "aim", "strategy"],
50365
+ domains: ["coaching", "services", "technology"],
50366
+ tone: ["practical"],
50367
+ presets: featurePreset
50368
+ },
50369
+ {
50370
+ id: "quality",
50371
+ label: "Quality",
50372
+ tags: ["quality", "award", "standard", "achievement", "premium"],
50373
+ domains: ["services", "education", "commerce"],
50374
+ tone: ["premium", "trustworthy"],
50375
+ presets: featurePreset
50376
+ },
50377
+ {
50378
+ id: "highlight",
50379
+ label: "Highlight",
50380
+ tags: ["highlight", "featured", "favorite", "quality", "special"],
50381
+ domains: ["creative", "commerce", "services"],
50382
+ tone: ["playful", "premium"],
50383
+ presets: featurePreset
50384
+ },
50385
+ {
50386
+ id: "verified-quality",
50387
+ label: "Verified quality",
50388
+ tags: ["verified", "quality", "approved", "trusted", "check"],
50389
+ domains: ["services", "commerce", "education"],
50390
+ tone: ["trustworthy", "practical"],
50391
+ presets: featurePreset
50392
+ },
50393
+ {
50394
+ id: "learning",
50395
+ label: "Learning",
50396
+ tags: ["learning", "book", "course", "knowledge", "education"],
50397
+ domains: ["education", "coaching", "community"],
50398
+ tone: ["calm", "practical"],
50399
+ presets: featurePreset
50400
+ },
50401
+ {
50402
+ id: "training",
50403
+ label: "Training",
50404
+ tags: ["training", "course", "qualification", "school", "education"],
50405
+ domains: ["education", "coaching"],
50406
+ tone: ["trustworthy", "practical"],
50407
+ presets: featurePreset
50408
+ },
50409
+ {
50410
+ id: "programmes-dates",
50411
+ label: "Programmes and dates",
50412
+ tags: ["calendar", "dates", "schedule", "events", "programme", "classes"],
50413
+ domains: ["events", "education", "community"],
50414
+ tone: ["practical"],
50415
+ presets: featurePreset
50416
+ },
50417
+ {
50418
+ id: "place",
50419
+ label: "Place",
50420
+ tags: ["place", "location", "local", "venue", "destination"],
50421
+ domains: ["events", "hospitality", "services"],
50422
+ tone: ["practical"],
50423
+ presets: featurePreset
50424
+ },
50425
+ {
50426
+ id: "products",
50427
+ label: "Products",
50428
+ tags: ["products", "shop", "store", "retail", "commerce"],
50429
+ domains: ["commerce"],
50430
+ tone: ["practical", "premium"],
50431
+ presets: featurePreset
50432
+ },
50433
+ {
50434
+ id: "packages",
50435
+ label: "Packages",
50436
+ tags: ["package", "bundle", "delivery", "offer", "product"],
50437
+ domains: ["commerce", "services"],
50438
+ tone: ["practical"],
50439
+ presets: featurePreset
50440
+ },
50441
+ {
50442
+ id: "time",
50443
+ label: "Time",
50444
+ tags: ["time", "duration", "schedule", "availability", "appointment"],
50445
+ domains: ["events", "services", "wellbeing"],
50446
+ tone: ["practical", "calm"],
50447
+ presets: featurePreset
50448
+ },
50449
+ {
50450
+ id: "practical-service",
50451
+ label: "Practical service",
50452
+ tags: ["service", "repair", "setup", "practical", "tools", "support"],
50453
+ domains: ["services", "technology"],
50454
+ tone: ["practical"],
50455
+ presets: featurePreset
50456
+ },
50457
+ {
50458
+ id: "at-home",
50459
+ label: "At home",
50460
+ tags: ["home", "domestic", "comfort", "local", "space"],
50461
+ domains: ["hospitality", "services", "community"],
50462
+ tone: ["warm", "calm"],
50463
+ presets: featurePreset
50464
+ },
50465
+ {
50466
+ id: "worldwide",
50467
+ label: "Worldwide",
50468
+ tags: ["global", "online", "worldwide", "remote", "international"],
50469
+ domains: ["technology", "education", "services"],
50470
+ tone: ["practical"],
50471
+ presets: featurePreset
50472
+ },
50473
+ {
50474
+ id: "professional-service",
50475
+ label: "Professional service",
50476
+ tags: ["business", "professional", "consulting", "service", "work"],
50477
+ domains: ["services", "technology", "coaching"],
50478
+ tone: ["practical", "trustworthy"],
50479
+ presets: featurePreset
50480
+ }
50481
+ ];
50482
+ var SEMANTIC_ICON_OPTIONS = SEMANTIC_ICON_DEFINITIONS.map(({ id, label }) => ({
50483
+ id,
50484
+ label
50485
+ }));
50486
+ function isSemanticIconId(value) {
50487
+ return typeof value === "string" && SEMANTIC_ICON_IDS.includes(value);
50488
+ }
50489
+ function getSemanticIconComponent(name) {
50490
+ if (!isSemanticIconId(name)) return null;
50491
+ return SEMANTIC_ICON_COMPONENTS[name] ?? null;
50492
+ }
50493
+
50494
+ // ../blocks/src/system/icons/value.ts
50495
+ var NO_BLOCK_ICON_VALUE = { kind: "none" };
50496
+ function isRecord7(value) {
50497
+ return typeof value === "object" && value !== null && !Array.isArray(value);
50498
+ }
50499
+ function parseBlockIconValue(value) {
50500
+ if (isSemanticIconId(value)) {
50501
+ return { kind: "semantic", iconId: value };
50502
+ }
50503
+ if (!isRecord7(value)) {
50504
+ return NO_BLOCK_ICON_VALUE;
50505
+ }
50506
+ switch (value.kind) {
50507
+ case "none":
50508
+ return NO_BLOCK_ICON_VALUE;
50509
+ case "semantic":
50510
+ return isSemanticIconId(value.iconId) ? { kind: "semantic", iconId: value.iconId } : NO_BLOCK_ICON_VALUE;
50511
+ case "generated": {
50512
+ const setId = parseGeneratedIconSetId(value.setId);
50513
+ const assetId = parseGeneratedIconAssetId(value.assetId);
50514
+ const styleGuideVersionId = parseSiteIconStyleGuideVersionId(value.styleGuideVersionId);
50515
+ if (setId !== null && assetId !== null && isSemanticIconId(value.semanticFallbackIconId) && styleGuideVersionId !== null) {
50516
+ return {
50517
+ kind: "generated",
50518
+ setId,
50519
+ assetId,
50520
+ semanticFallbackIconId: value.semanticFallbackIconId,
50521
+ styleGuideVersionId
50522
+ };
50523
+ }
50524
+ return NO_BLOCK_ICON_VALUE;
50525
+ }
50526
+ default:
50527
+ return NO_BLOCK_ICON_VALUE;
50528
+ }
50529
+ }
50530
+ function getBlockIconSemanticFallbackId(value) {
50531
+ const parsed = parseBlockIconValue(value);
50532
+ switch (parsed.kind) {
50533
+ case "none":
50534
+ return null;
50535
+ case "semantic":
50536
+ return parsed.iconId;
50537
+ case "generated":
50538
+ return parsed.semanticFallbackIconId;
50539
+ }
50540
+ }
50541
+ function hasRenderableBlockIcon(value) {
50542
+ return getBlockIconSemanticFallbackId(value) !== null;
50543
+ }
50544
+ function unsafeAsGeneratedBlockIconAssetSrc(value) {
50545
+ return value;
50546
+ }
50547
+ function parseGeneratedBlockIconAssetSrc(value) {
50548
+ if (typeof value !== "string") return null;
50549
+ const normalized = value.trim();
50550
+ return normalized.length > 0 ? unsafeAsGeneratedBlockIconAssetSrc(normalized) : null;
50551
+ }
50552
+ function generatedBlockIconRenderAssetKey(setId, assetId) {
50553
+ return `${setId}\0${assetId}`;
50554
+ }
50555
+ function buildGeneratedBlockIconRenderAssetLookup(assets) {
50556
+ const lookup = /* @__PURE__ */ new Map();
50557
+ for (const asset of assets) {
50558
+ const key = generatedBlockIconRenderAssetKey(asset.setId, asset.assetId);
50559
+ if (lookup.has(key)) {
50560
+ return {
50561
+ kind: "duplicate_asset",
50562
+ setId: asset.setId,
50563
+ assetId: asset.assetId
50564
+ };
50565
+ }
50566
+ const src = parseGeneratedBlockIconAssetSrc(asset.src);
50567
+ if (!src) {
50568
+ return {
50569
+ kind: "invalid_src",
50570
+ setId: asset.setId,
50571
+ assetId: asset.assetId,
50572
+ src: asset.src
50573
+ };
50574
+ }
50575
+ lookup.set(key, {
50576
+ ...asset,
50577
+ src
50578
+ });
50579
+ }
50580
+ return { kind: "ok", lookup };
50581
+ }
50582
+ function parseOptionalGeneratedAssetDimension(value) {
50583
+ return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : void 0;
50584
+ }
50585
+ function buildGeneratedBlockIconRenderAssetLookupFromUnknown(value) {
50586
+ if (typeof value === "undefined" || value === null) {
50587
+ return { kind: "ok", lookup: /* @__PURE__ */ new Map() };
50588
+ }
50589
+ if (!Array.isArray(value)) {
50590
+ return { kind: "invalid_asset_list" };
50591
+ }
50592
+ const inputs = [];
50593
+ for (const [index, item] of value.entries()) {
50594
+ if (!isRecord7(item)) {
50595
+ return { kind: "invalid_asset_entry", index, reason: "not_object" };
50596
+ }
50597
+ const setId = parseGeneratedIconSetId(item.setId);
50598
+ if (!setId) {
50599
+ return { kind: "invalid_asset_entry", index, reason: "invalid_set_id" };
50600
+ }
50601
+ const assetId = parseGeneratedIconAssetId(item.assetId);
50602
+ if (!assetId) {
50603
+ return { kind: "invalid_asset_entry", index, reason: "invalid_asset_id" };
50604
+ }
50605
+ if (typeof item.src !== "string") {
50606
+ return { kind: "invalid_asset_entry", index, reason: "invalid_src" };
50607
+ }
50608
+ inputs.push({
50609
+ setId,
50610
+ assetId,
50611
+ src: item.src,
50612
+ width: parseOptionalGeneratedAssetDimension(item.width),
50613
+ height: parseOptionalGeneratedAssetDimension(item.height)
50614
+ });
50615
+ }
50616
+ return buildGeneratedBlockIconRenderAssetLookup(inputs);
50617
+ }
50618
+ function findGeneratedRenderAsset(value, assets) {
50619
+ return assets.get(generatedBlockIconRenderAssetKey(value.setId, value.assetId)) ?? null;
50620
+ }
50621
+ function resolveBlockIconRenderValue(value, generatedAssets = /* @__PURE__ */ new Map()) {
50622
+ const parsed = parseBlockIconValue(value);
50623
+ switch (parsed.kind) {
50624
+ case "none":
50625
+ return NO_BLOCK_ICON_VALUE;
50626
+ case "semantic":
50627
+ return { kind: "semantic", iconId: parsed.iconId };
50628
+ case "generated": {
50629
+ const asset = findGeneratedRenderAsset(parsed, generatedAssets);
50630
+ return asset ? {
50631
+ kind: "generated_asset",
50632
+ asset,
50633
+ semanticFallbackIconId: parsed.semanticFallbackIconId,
50634
+ styleGuideVersionId: parsed.styleGuideVersionId
50635
+ } : {
50636
+ kind: "generated_fallback",
50637
+ setId: parsed.setId,
50638
+ assetId: parsed.assetId,
50639
+ semanticFallbackIconId: parsed.semanticFallbackIconId,
50640
+ styleGuideVersionId: parsed.styleGuideVersionId,
50641
+ reason: "asset_unavailable"
50642
+ };
50643
+ }
50644
+ }
50645
+ }
50646
+
50647
+ // ../blocks/src/system/manifest/fieldValidation/index.ts
49441
50648
  var TEL_RE = /^[+()0-9\s-]{3,}$/;
49442
50649
  var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
49443
50650
  var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
@@ -49526,7 +50733,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
49526
50733
  return makePlan("number", "number", field, path, required, constraints2);
49527
50734
  }
49528
50735
  const constraints = commonConstraints(required, {
49529
- kind: "textType"
50736
+ kind: field.ui?.widget === "iconPicker" ? "blockIconValue" : "textType"
49530
50737
  });
49531
50738
  if (inputType === "email") constraints.push({ kind: "emailFormat" });
49532
50739
  if (inputType === "tel") constraints.push({ kind: "phoneFormat" });
@@ -49859,39 +51066,52 @@ function isMissingForPlan(plan, value) {
49859
51066
  return false;
49860
51067
  }
49861
51068
  function validateStringPlan(plan, value) {
51069
+ if (plan.constraints.some((constraint) => constraint.kind === "blockIconValue")) {
51070
+ return plan.constraints.flatMap((constraint) => validateStringConstraint(plan, constraint, value));
51071
+ }
49862
51072
  if (typeof value !== "string") return [issue(plan, "wrongType", { expected: "text" })];
49863
51073
  return plan.constraints.flatMap((constraint) => validateStringConstraint(plan, constraint, value));
49864
51074
  }
49865
51075
  function validateStringConstraint(plan, constraint, value) {
49866
51076
  switch (constraint.kind) {
49867
51077
  case "required":
51078
+ return [];
49868
51079
  case "textType":
49869
51080
  case "referenceText":
49870
- return [];
51081
+ return typeof value === "string" ? [] : [issue(plan, "wrongType", { expected: "text" })];
51082
+ case "blockIconValue":
51083
+ return isValidIconPickerValue(value) ? [] : [issue(plan, "wrongType", { expected: "text or icon" })];
49871
51084
  case "maxLength":
49872
- return value.length > constraint.maximum ? [issue(plan, "tooLong", { maximum: constraint.maximum })] : [];
51085
+ return typeof value === "string" && value.length > constraint.maximum ? [issue(plan, "tooLong", { maximum: constraint.maximum })] : [];
49873
51086
  case "emailFormat":
49874
- return isCanonicalEmailValue(value) ? [] : [issue(plan, "invalidEmail")];
51087
+ return typeof value === "string" && isCanonicalEmailValue(value) ? [] : [issue(plan, "invalidEmail")];
49875
51088
  case "phoneFormat":
49876
- return isCanonicalPhoneValue(value) ? [] : [issue(plan, "invalidPhone")];
51089
+ return typeof value === "string" && isCanonicalPhoneValue(value) ? [] : [issue(plan, "invalidPhone")];
49877
51090
  case "patternFormat": {
51091
+ if (typeof value !== "string") return [issue(plan, "wrongType", { expected: "text" })];
49878
51092
  const re = compilePattern(constraint.pattern);
49879
51093
  return re && !re.test(value) ? [issue(plan, "invalidPattern")] : [];
49880
51094
  }
49881
51095
  case "urlFormat":
49882
- return isCanonicalUrlValue(value, { allowRelative: constraint.allowRelative }) ? [] : [issue(plan, "invalidUrl")];
51096
+ return typeof value === "string" && isCanonicalUrlValue(value, { allowRelative: constraint.allowRelative }) ? [] : [issue(plan, "invalidUrl")];
49883
51097
  case "dateFormat":
49884
- return isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
51098
+ return typeof value === "string" && isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
49885
51099
  case "timeFormat":
49886
- return isValidTimeString(value) ? [] : [issue(plan, "invalidTime")];
51100
+ return typeof value === "string" && isValidTimeString(value) ? [] : [issue(plan, "invalidTime")];
49887
51101
  case "datetimeFormat":
49888
- return isValidDateTimeInstantString(value) ? [] : [issue(plan, "invalidDateTime")];
51102
+ return typeof value === "string" && isValidDateTimeInstantString(value) ? [] : [issue(plan, "invalidDateTime")];
49889
51103
  case "slugFormat":
49890
- return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
51104
+ return typeof value === "string" && SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
49891
51105
  default:
49892
51106
  return assertNever6(constraint);
49893
51107
  }
49894
51108
  }
51109
+ function isValidIconPickerValue(value) {
51110
+ if (typeof value === "string") return true;
51111
+ if (!value || typeof value !== "object" || Array.isArray(value)) return false;
51112
+ if (value.kind === "none") return true;
51113
+ return parseBlockIconValue(value).kind !== "none";
51114
+ }
49895
51115
  function validateNumberPlan(plan, value) {
49896
51116
  if (!isValidNumber(value)) return [issue(plan, "invalidNumber")];
49897
51117
  return plan.constraints.flatMap((constraint) => validateNumberConstraint(plan, constraint, Number(value)));
@@ -51488,6 +52708,24 @@ var questionColumnsLayout = styledSection({
51488
52708
  }),
51489
52709
  baseClass: ""
51490
52710
  });
52711
+ var splitHeadingColumnsLayout = styledSection({
52712
+ children: styledContainer({
52713
+ baseClassName: "rb-relative rb-isolate",
52714
+ children: el(
52715
+ "div",
52716
+ {
52717
+ className: "rb-faq-split-heading-columns rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
52718
+ },
52719
+ [
52720
+ el("div", { className: "rb-faq-split-heading-columns-copy" }, [headingLayout]),
52721
+ el("div", { className: "rb-faq-split-heading-columns-accordion" }, [
52722
+ questionColumnsAccordionLayout
52723
+ ])
52724
+ ]
52725
+ )
52726
+ }),
52727
+ baseClass: ""
52728
+ });
51491
52729
  var faqManifest = createBlockManifest({
51492
52730
  id: "block.faq",
51493
52731
  title: "FAQ",
@@ -51508,7 +52746,8 @@ var faqManifest = createBlockManifest({
51508
52746
  variants: {
51509
52747
  default: defaultLayout,
51510
52748
  "two-column": twoColumnLayout,
51511
- "question-columns": questionColumnsLayout
52749
+ "question-columns": questionColumnsLayout,
52750
+ "split-heading-columns": splitHeadingColumnsLayout
51512
52751
  },
51513
52752
  defaultVariant: "default",
51514
52753
  variantOptions: {
@@ -51523,6 +52762,10 @@ var faqManifest = createBlockManifest({
51523
52762
  "question-columns": {
51524
52763
  label: "Question columns",
51525
52764
  description: "A full-width heading above FAQ items split into two columns."
52765
+ },
52766
+ "split-heading-columns": {
52767
+ label: "Split heading columns",
52768
+ description: "A left heading column with FAQ items split into two columns on the right."
51526
52769
  }
51527
52770
  },
51528
52771
  description: "Accordion of frequently asked questions and answers.",
@@ -53680,6 +54923,8 @@ init_boxStyles2();
53680
54923
  init_defineBlock();
53681
54924
  init_builder();
53682
54925
  init_fragments2();
54926
+ init_colorStyles();
54927
+ var backgroundImageClassName = "rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-object-cover rb-opacity-50";
53683
54928
  var wrapVariant = (variantLayout) => styledSection({
53684
54929
  children: styledContainer({
53685
54930
  children: stack(
@@ -53693,10 +54938,53 @@ var wrapVariant = (variantLayout) => styledSection({
53693
54938
  // styledContainer (rb-container) already provides horizontal padding
53694
54939
  baseClass: "",
53695
54940
  spacing: "comfortable",
53696
- imageClassName: "rb-absolute rb-inset-0 rb-z-neg-10 rb-h-full rb-w-full rb-object-cover rb-opacity-50"
54941
+ imageClassName: backgroundImageClassName
53697
54942
  });
53698
54943
  var carouselLayout = wrapVariant(buildCarouselLayout());
53699
54944
  var gridLayout2 = wrapVariant(buildGridLayout());
54945
+ var splitHeading = stack(
54946
+ { gap: "md", className: "rb-testimonials-split-heading-copy rb-max-w-xl" },
54947
+ [
54948
+ text(
54949
+ { as: "h2" },
54950
+ when("content.heading"),
54951
+ bind("content.heading")
54952
+ ),
54953
+ headingDecoration({
54954
+ family: "short-center-rule",
54955
+ placement: "after-heading"
54956
+ }),
54957
+ text(
54958
+ {
54959
+ as: "p",
54960
+ className: "rb-prose",
54961
+ style: textColorStyle("mutedText")
54962
+ },
54963
+ when("content.subheading"),
54964
+ bind("content.subheading")
54965
+ )
54966
+ ]
54967
+ );
54968
+ var splitGridLayout = styledSection({
54969
+ children: styledContainer({
54970
+ baseClassName: "rb-relative rb-isolate",
54971
+ children: el(
54972
+ "div",
54973
+ {
54974
+ className: "rb-testimonials-split-grid rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
54975
+ },
54976
+ [
54977
+ el("div", { className: "rb-testimonials-split-grid-heading" }, [splitHeading]),
54978
+ el("div", { className: "rb-testimonials-split-grid-cards" }, [
54979
+ buildGridCardsLayout("rb-testimonials-split-grid-card-list")
54980
+ ])
54981
+ ]
54982
+ )
54983
+ }),
54984
+ baseClass: "",
54985
+ spacing: "comfortable",
54986
+ imageClassName: backgroundImageClassName
54987
+ });
53700
54988
  var additionalFields = parseFieldDefinitions([
53701
54989
  // Heading fields from fragment
53702
54990
  ...testimonialsHeadingFragment.fields,
@@ -53728,7 +55016,7 @@ var additionalFields = parseFieldDefinitions([
53728
55016
  ],
53729
55017
  ui: {
53730
55018
  intent: "display",
53731
- visibleWhen: { field: "variant", equals: "grid" }
55019
+ visibleWhen: { field: "variant", oneOf: ["grid", "split-grid"] }
53732
55020
  }
53733
55021
  },
53734
55022
  // Carousel-specific fields (from fragment)
@@ -53762,7 +55050,8 @@ var testimonialsManifest = createBlockManifest({
53762
55050
  // Variant system - enables the variant switcher control in the editor
53763
55051
  variants: {
53764
55052
  carousel: carouselLayout,
53765
- grid: gridLayout2
55053
+ grid: gridLayout2,
55054
+ "split-grid": splitGridLayout
53766
55055
  },
53767
55056
  defaultVariant: "carousel",
53768
55057
  variantOptions: {
@@ -53775,6 +55064,11 @@ var testimonialsManifest = createBlockManifest({
53775
55064
  label: "Grid",
53776
55065
  description: "Responsive grid layout",
53777
55066
  icon: "Grid"
55067
+ },
55068
+ "split-grid": {
55069
+ label: "Split grid",
55070
+ description: "Heading on the left with testimonial cards on the right",
55071
+ icon: "PanelLeft"
53778
55072
  }
53779
55073
  },
53780
55074
  // Fields (variant field is auto-generated by augmentManifest)
@@ -54189,6 +55483,25 @@ init_ctas();
54189
55483
  init_builder();
54190
55484
  init_fragments();
54191
55485
  init_colorStyles();
55486
+
55487
+ // ../blocks/src/system/blocks/feature-card-icons.ts
55488
+ var FEATURE_CARD_ICON_TREATMENTS = [
55489
+ "plain",
55490
+ "soft-badge",
55491
+ "utility-badge"
55492
+ ];
55493
+ function getFeatureCardIconCompletion(cards) {
55494
+ const safeCards = cards ?? [];
55495
+ return {
55496
+ totalCards: safeCards.length,
55497
+ cardsWithIcons: safeCards.filter((card) => hasRenderableBlockIcon(card.icon)).length
55498
+ };
55499
+ }
55500
+ function shouldReserveFeatureCardIconZone(cards) {
55501
+ return getFeatureCardIconCompletion(cards).cardsWithIcons > 0;
55502
+ }
55503
+
55504
+ // ../blocks/src/system/blocks/feature-cards.ts
54192
55505
  function grid3(props2, children) {
54193
55506
  return el("grid", props2 ?? void 0, children ?? void 0);
54194
55507
  }
@@ -54230,6 +55543,15 @@ var featureCard = styledCard(
54230
55543
  bind("card.media")
54231
55544
  ),
54232
55545
  stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
55546
+ el(
55547
+ "feature-card-icon",
55548
+ {
55549
+ treatment: { $bind: { from: "content._iconTreatment", fallback: "soft-badge" } },
55550
+ generatedAssets: { $bind: { from: "data.generatedIconAssets" } }
55551
+ },
55552
+ null,
55553
+ bind("card.icon")
55554
+ ),
54233
55555
  text(
54234
55556
  {
54235
55557
  as: "h3",
@@ -54351,6 +55673,16 @@ var featureCardsConfig = {
54351
55673
  defaultValue: "4/3",
54352
55674
  visibleWhen: { field: "media", notEquals: null }
54353
55675
  }),
55676
+ {
55677
+ id: "icon",
55678
+ type: "text",
55679
+ label: "Icon",
55680
+ required: false,
55681
+ ui: {
55682
+ widget: "iconPicker",
55683
+ iconPickerPreset: "feature"
55684
+ }
55685
+ },
54354
55686
  {
54355
55687
  id: "title",
54356
55688
  type: "text",
@@ -54386,6 +55718,19 @@ var featureCardsConfig = {
54386
55718
  ]
54387
55719
  }
54388
55720
  },
55721
+ {
55722
+ id: "_iconTreatment",
55723
+ type: "select",
55724
+ label: "Icon style",
55725
+ required: false,
55726
+ defaultValue: "soft-badge",
55727
+ multiple: false,
55728
+ options: FEATURE_CARD_ICON_TREATMENTS.map((value) => ({
55729
+ value,
55730
+ label: value === "plain" ? "Plain" : value === "soft-badge" ? "Soft badge" : "Utility badge"
55731
+ })),
55732
+ ui: { intent: "display" }
55733
+ },
54389
55734
  cardStylesField({
54390
55735
  id: "_cardStyles",
54391
55736
  label: "Card styles"
@@ -59772,7 +61117,8 @@ var systemBlockDefinitionsRaw = [
59772
61117
  layoutProfiles: [
59773
61118
  layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
59774
61119
  layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" }),
59775
- layoutProfile({ variantKey: "question-columns", family: "grid", weight: "standard" })
61120
+ layoutProfile({ variantKey: "question-columns", family: "grid", weight: "standard" }),
61121
+ layoutProfile({ variantKey: "split-heading-columns", family: "split", weight: "standard" })
59776
61122
  ]
59777
61123
  })),
59778
61124
  withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
@@ -59803,6 +61149,12 @@ var systemBlockDefinitionsRaw = [
59803
61149
  family: "grid",
59804
61150
  weight: "standard",
59805
61151
  bias: "soft"
61152
+ }),
61153
+ layoutProfile({
61154
+ variantKey: "split-grid",
61155
+ family: "split",
61156
+ weight: "featured",
61157
+ bias: "soft"
59806
61158
  })
59807
61159
  ]
59808
61160
  })),
@@ -60966,6 +62318,41 @@ function getCtaIconComponent(name) {
60966
62318
  return CTA_ICON_COMPONENTS[name] ?? null;
60967
62319
  }
60968
62320
 
62321
+ // ../blocks/src/system/icons/registry.ts
62322
+ function buildSearchText(parts) {
62323
+ return parts.map((part) => part.trim()).filter(Boolean).join(" ");
62324
+ }
62325
+ function semanticDefinitionToOption(definition, preset2) {
62326
+ return {
62327
+ id: definition.id,
62328
+ label: definition.label,
62329
+ searchText: buildSearchText([
62330
+ definition.label,
62331
+ definition.id,
62332
+ ...definition.tags,
62333
+ ...definition.domains,
62334
+ ...definition.tone
62335
+ ]),
62336
+ preset: preset2
62337
+ };
62338
+ }
62339
+ var CTA_PICKER_OPTIONS = CTA_ICON_OPTIONS.map((option) => ({
62340
+ id: option.id,
62341
+ label: option.label,
62342
+ searchText: buildSearchText([option.label, option.id]),
62343
+ preset: "cta"
62344
+ }));
62345
+ function semanticOptionsForPreset(preset2) {
62346
+ return SEMANTIC_ICON_DEFINITIONS.filter((definition) => definition.presets.includes(preset2)).map((definition) => semanticDefinitionToOption(definition, preset2));
62347
+ }
62348
+ var ICON_PICKER_OPTIONS_BY_PRESET = {
62349
+ cta: CTA_PICKER_OPTIONS,
62350
+ feature: semanticOptionsForPreset("feature")
62351
+ };
62352
+ function getIconComponent(name) {
62353
+ return getCtaIconComponent(name) ?? getSemanticIconComponent(name);
62354
+ }
62355
+
60969
62356
  // ../blocks/src/system/runtime/nodes/icon.tsx
60970
62357
  import { jsx as jsx119 } from "react/jsx-runtime";
60971
62358
  var IconNode = ({
@@ -60979,7 +62366,7 @@ var IconNode = ({
60979
62366
  pathBase: _pathBase,
60980
62367
  ...rest
60981
62368
  }) => {
60982
- const Icon2 = getCtaIconComponent(value);
62369
+ const Icon2 = getIconComponent(getBlockIconSemanticFallbackId(value) ?? value);
60983
62370
  if (!Icon2) return null;
60984
62371
  const ariaLabel = rest["aria-label"];
60985
62372
  const decorative = !ariaLabel && !title;
@@ -60994,6 +62381,63 @@ var IconNode = ({
60994
62381
  );
60995
62382
  };
60996
62383
 
62384
+ // ../blocks/src/system/runtime/nodes/feature-card-icon.tsx
62385
+ import { jsx as jsx120 } from "react/jsx-runtime";
62386
+ function joinClasses8(...values) {
62387
+ const className = values.filter(Boolean).join(" ");
62388
+ return className || void 0;
62389
+ }
62390
+ function resolveTreatment(value) {
62391
+ return value && FEATURE_CARD_ICON_TREATMENTS.includes(value) ? value : "soft-badge";
62392
+ }
62393
+ function buildRenderAssetLookupFromUnknown(value) {
62394
+ const result = buildGeneratedBlockIconRenderAssetLookupFromUnknown(value);
62395
+ return result.kind === "ok" ? result.lookup : /* @__PURE__ */ new Map();
62396
+ }
62397
+ var FeatureCardIconNode = ({
62398
+ value,
62399
+ treatment,
62400
+ className,
62401
+ generatedAssets,
62402
+ blockContent
62403
+ }) => {
62404
+ if (!shouldReserveFeatureCardIconZone(blockContent?.cards)) return null;
62405
+ const resolvedIcon = resolveBlockIconRenderValue(value, buildRenderAssetLookupFromUnknown(generatedAssets));
62406
+ const iconId = resolvedIcon.kind === "semantic" ? resolvedIcon.iconId : resolvedIcon.kind === "generated_fallback" ? resolvedIcon.semanticFallbackIconId : null;
62407
+ const resolvedTreatment = resolveTreatment(treatment);
62408
+ const hasIcon = resolvedIcon.kind !== "none";
62409
+ return /* @__PURE__ */ jsx120(
62410
+ "div",
62411
+ {
62412
+ className: joinClasses8(
62413
+ "rb-feature-card-icon-zone",
62414
+ `rb-feature-card-icon-zone--${resolvedTreatment}`,
62415
+ hasIcon ? "rb-feature-card-icon-zone--filled" : "rb-feature-card-icon-zone--empty",
62416
+ className
62417
+ ),
62418
+ "aria-hidden": "true",
62419
+ children: resolvedIcon.kind === "generated_asset" ? /* @__PURE__ */ jsx120(
62420
+ "img",
62421
+ {
62422
+ src: resolvedIcon.asset.src,
62423
+ width: resolvedIcon.asset.width,
62424
+ height: resolvedIcon.asset.height,
62425
+ alt: "",
62426
+ loading: "lazy",
62427
+ decoding: "async",
62428
+ className: "rb-feature-card-icon rb-feature-card-icon--generated"
62429
+ }
62430
+ ) : iconId ? /* @__PURE__ */ jsx120(
62431
+ IconNode,
62432
+ {
62433
+ value: iconId,
62434
+ className: "rb-feature-card-icon"
62435
+ }
62436
+ ) : null
62437
+ }
62438
+ );
62439
+ };
62440
+
60997
62441
  // ../blocks/src/system/runtime/components/registry.server.ts
60998
62442
  init_media_server();
60999
62443
 
@@ -61003,7 +62447,7 @@ init_colorStyles();
61003
62447
  init_media();
61004
62448
  init_buttons();
61005
62449
  init_media3();
61006
- import { jsx as jsx120, jsxs as jsxs68 } from "react/jsx-runtime";
62450
+ import { jsx as jsx121, jsxs as jsxs68 } from "react/jsx-runtime";
61007
62451
  var FILE_DOWNLOAD_BUTTON_VARIANTS = [
61008
62452
  "primary",
61009
62453
  "secondary",
@@ -61023,13 +62467,13 @@ function displayFilename(value) {
61023
62467
  function iconForMediaType(type) {
61024
62468
  switch (type) {
61025
62469
  case "audio":
61026
- return /* @__PURE__ */ jsx120(FileHeadphone, { "aria-hidden": "true" });
62470
+ return /* @__PURE__ */ jsx121(FileHeadphone, { "aria-hidden": "true" });
61027
62471
  case "document":
61028
- return /* @__PURE__ */ jsx120(FileText, { "aria-hidden": "true" });
62472
+ return /* @__PURE__ */ jsx121(FileText, { "aria-hidden": "true" });
61029
62473
  case "spreadsheet":
61030
- return /* @__PURE__ */ jsx120(FileSpreadsheet, { "aria-hidden": "true" });
62474
+ return /* @__PURE__ */ jsx121(FileSpreadsheet, { "aria-hidden": "true" });
61031
62475
  case "archive":
61032
- return /* @__PURE__ */ jsx120(FileArchive, { "aria-hidden": "true" });
62476
+ return /* @__PURE__ */ jsx121(FileArchive, { "aria-hidden": "true" });
61033
62477
  }
61034
62478
  }
61035
62479
  function normalizeButtonVariant(value) {
@@ -61051,9 +62495,9 @@ function FileDownloadNode({
61051
62495
  const body = description?.trim();
61052
62496
  const label = buttonLabel?.trim() || "Download";
61053
62497
  const variant = normalizeButtonVariant(buttonVariant);
61054
- return /* @__PURE__ */ jsx120("div", { className, children: /* @__PURE__ */ jsxs68("div", { className: "card-surface rb-flex rb-flex-col rb-gap-4 rb-p-5 rb-sm-flex-row rb-sm-items-center rb-sm-justify-between", children: [
62498
+ return /* @__PURE__ */ jsx121("div", { className, children: /* @__PURE__ */ jsxs68("div", { className: "card-surface rb-flex rb-flex-col rb-gap-4 rb-p-5 rb-sm-flex-row rb-sm-items-center rb-sm-justify-between", children: [
61055
62499
  /* @__PURE__ */ jsxs68("div", { className: "rb-flex rb-min-w-0 rb-items-start rb-gap-3", children: [
61056
- /* @__PURE__ */ jsx120(
62500
+ /* @__PURE__ */ jsx121(
61057
62501
  "span",
61058
62502
  {
61059
62503
  className: "rb-mt-1 rb-flex rb-h-10 rb-w-10 rb-shrink-0 rb-items-center rb-justify-center rb-rounded-full rb-border",
@@ -61062,7 +62506,7 @@ function FileDownloadNode({
61062
62506
  }
61063
62507
  ),
61064
62508
  /* @__PURE__ */ jsxs68("div", { className: "rb-min-w-0 rb-space-y-1", children: [
61065
- /* @__PURE__ */ jsx120(
62509
+ /* @__PURE__ */ jsx121(
61066
62510
  "h2",
61067
62511
  {
61068
62512
  className: "rb-m-0 rb-text-lg rb-font-semibold",
@@ -61070,7 +62514,7 @@ function FileDownloadNode({
61070
62514
  children: heading
61071
62515
  }
61072
62516
  ),
61073
- body ? /* @__PURE__ */ jsx120(
62517
+ body ? /* @__PURE__ */ jsx121(
61074
62518
  "p",
61075
62519
  {
61076
62520
  className: "rb-m-0 rb-text-sm",
@@ -61078,7 +62522,7 @@ function FileDownloadNode({
61078
62522
  children: body
61079
62523
  }
61080
62524
  ) : null,
61081
- /* @__PURE__ */ jsx120(
62525
+ /* @__PURE__ */ jsx121(
61082
62526
  "p",
61083
62527
  {
61084
62528
  className: "rb-m-0 rb-truncate rb-text-xs",
@@ -61099,7 +62543,7 @@ function FileDownloadNode({
61099
62543
  extraClassName: "rb-inline-flex rb-shrink-0 rb-items-center rb-justify-center rb-gap-2"
61100
62544
  }),
61101
62545
  children: [
61102
- /* @__PURE__ */ jsx120(Download, { "aria-hidden": "true" }),
62546
+ /* @__PURE__ */ jsx121(Download, { "aria-hidden": "true" }),
61103
62547
  label
61104
62548
  ]
61105
62549
  }
@@ -61252,7 +62696,7 @@ function getVideoEmbed(url) {
61252
62696
 
61253
62697
  // ../blocks/src/system/runtime/nodes/video-embed.tsx
61254
62698
  init_colorStyles();
61255
- import { jsx as jsx121, jsxs as jsxs69 } from "react/jsx-runtime";
62699
+ import { jsx as jsx122, jsxs as jsxs69 } from "react/jsx-runtime";
61256
62700
  var VideoEmbedNode = ({
61257
62701
  value,
61258
62702
  className,
@@ -61272,7 +62716,7 @@ var VideoEmbedNode = ({
61272
62716
  }
61273
62717
  const embedInfo = getVideoEmbed(value);
61274
62718
  if (!embedInfo) {
61275
- return /* @__PURE__ */ jsx121(
62719
+ return /* @__PURE__ */ jsx122(
61276
62720
  "div",
61277
62721
  {
61278
62722
  className,
@@ -61297,7 +62741,7 @@ var VideoEmbedNode = ({
61297
62741
  const title = getVideoTitle(embedInfo);
61298
62742
  const loadingStrategy = getVideoEmbedLoadingStrategy(embedInfo.provider);
61299
62743
  const shouldDeferSrc = loadingStrategy === "defer-until-near-viewport";
61300
- return /* @__PURE__ */ jsx121("div", { ...rest, children: /* @__PURE__ */ jsxs69(
62744
+ return /* @__PURE__ */ jsx122("div", { ...rest, children: /* @__PURE__ */ jsxs69(
61301
62745
  "div",
61302
62746
  {
61303
62747
  className,
@@ -61309,7 +62753,7 @@ var VideoEmbedNode = ({
61309
62753
  width: "100%"
61310
62754
  },
61311
62755
  children: [
61312
- /* @__PURE__ */ jsx121(
62756
+ /* @__PURE__ */ jsx122(
61313
62757
  "iframe",
61314
62758
  {
61315
62759
  src: shouldDeferSrc ? void 0 : embedInfo.embedUrl,
@@ -61330,7 +62774,7 @@ var VideoEmbedNode = ({
61330
62774
  allowFullScreen: true
61331
62775
  }
61332
62776
  ),
61333
- shouldDeferSrc ? /* @__PURE__ */ jsx121("noscript", { children: /* @__PURE__ */ jsx121("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
62777
+ shouldDeferSrc ? /* @__PURE__ */ jsx122("noscript", { children: /* @__PURE__ */ jsx122("a", { href: embedInfo.url, children: "View on Instagram" }) }) : null
61334
62778
  ]
61335
62779
  }
61336
62780
  ) });
@@ -61374,7 +62818,7 @@ init_clsx();
61374
62818
  import React31 from "react";
61375
62819
 
61376
62820
  // ../blocks/src/system/runtime/islands/ssr.tsx
61377
- import { jsx as jsx122 } from "react/jsx-runtime";
62821
+ import { jsx as jsx123 } from "react/jsx-runtime";
61378
62822
  function getIslandRootProps(kind, id) {
61379
62823
  const resolved = { "data-rb-island": kind };
61380
62824
  if (id) resolved["data-rb-island-id"] = id;
@@ -61384,7 +62828,7 @@ function serializeIslandProps(value) {
61384
62828
  return JSON.stringify(value).replace(/</g, "\\u003c");
61385
62829
  }
61386
62830
  function IslandPropsScript({ value }) {
61387
- return /* @__PURE__ */ jsx122(
62831
+ return /* @__PURE__ */ jsx123(
61388
62832
  "script",
61389
62833
  {
61390
62834
  type: "application/json",
@@ -61396,7 +62840,7 @@ function IslandPropsScript({ value }) {
61396
62840
 
61397
62841
  // ../blocks/src/system/runtime/nodes/carousel.server.tsx
61398
62842
  init_carousel_shared();
61399
- import { jsx as jsx123, jsxs as jsxs70 } from "react/jsx-runtime";
62843
+ import { jsx as jsx124, jsxs as jsxs70 } from "react/jsx-runtime";
61400
62844
  var CarouselNodeSSR = ({
61401
62845
  blockId,
61402
62846
  children,
@@ -61427,7 +62871,7 @@ var CarouselNodeSSR = ({
61427
62871
  "data-show-controls": controlsEnabled ? "true" : "false",
61428
62872
  ...getIslandRootProps("carousel", blockId),
61429
62873
  children: [
61430
- /* @__PURE__ */ jsx123(
62874
+ /* @__PURE__ */ jsx124(
61431
62875
  IslandPropsScript,
61432
62876
  {
61433
62877
  value: {
@@ -61442,7 +62886,7 @@ var CarouselNodeSSR = ({
61442
62886
  }
61443
62887
  }
61444
62888
  ),
61445
- /* @__PURE__ */ jsx123("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx123(
62889
+ /* @__PURE__ */ jsx124("div", { className: "carousel-frame rb-overflow-hidden rb-w-full", children: /* @__PURE__ */ jsx124(
61446
62890
  "div",
61447
62891
  {
61448
62892
  className: clsx_default(
@@ -61450,7 +62894,7 @@ var CarouselNodeSSR = ({
61450
62894
  "rb-overflow-x-auto",
61451
62895
  shouldSnap && "rb-snap-x rb-snap-mandatory"
61452
62896
  ),
61453
- children: /* @__PURE__ */ jsx123("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx123(
62897
+ children: /* @__PURE__ */ jsx124("div", { className: "carousel-track rb-flex rb-w-full", children: slides.map((slide, index) => /* @__PURE__ */ jsx124(
61454
62898
  "div",
61455
62899
  {
61456
62900
  "data-carousel-slide": true,
@@ -61524,7 +62968,7 @@ function assertNever7(value) {
61524
62968
  }
61525
62969
 
61526
62970
  // ../blocks/src/system/runtime/nodes/accordion.server.tsx
61527
- import { jsx as jsx124, jsxs as jsxs71 } from "react/jsx-runtime";
62971
+ import { jsx as jsx125, jsxs as jsxs71 } from "react/jsx-runtime";
61528
62972
  var ACCORDION_ICONS = {
61529
62973
  Plus,
61530
62974
  Minus,
@@ -61549,7 +62993,7 @@ var AccordionNodeSSR = ({
61549
62993
  "data-default-value": Array.isArray(defaultValue) ? defaultValue.join(",") : defaultValue,
61550
62994
  ...getIslandRootProps("accordion", blockId),
61551
62995
  children: [
61552
- /* @__PURE__ */ jsx124(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
62996
+ /* @__PURE__ */ jsx125(IslandPropsScript, { value: { type, defaultValue, collapsible } }),
61553
62997
  children
61554
62998
  ]
61555
62999
  }
@@ -61581,7 +63025,7 @@ var AccordionItemNodeSSR = ({
61581
63025
  "data-state": "closed",
61582
63026
  children: [
61583
63027
  /* @__PURE__ */ jsxs71("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
61584
- /* @__PURE__ */ jsx124("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
63028
+ /* @__PURE__ */ jsx125("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
61585
63029
  /* @__PURE__ */ jsxs71(
61586
63030
  "span",
61587
63031
  {
@@ -61591,13 +63035,13 @@ var AccordionItemNodeSSR = ({
61591
63035
  "data-accordion-icon-motion": iconTreatment?.motion,
61592
63036
  style: iconColorStyle,
61593
63037
  children: [
61594
- ClosedIconComponent && /* @__PURE__ */ jsx124(ClosedIconComponent, { className: "accordion-icon-closed" }),
61595
- OpenIconComponent && /* @__PURE__ */ jsx124(OpenIconComponent, { className: "accordion-icon-open" })
63038
+ ClosedIconComponent && /* @__PURE__ */ jsx125(ClosedIconComponent, { className: "accordion-icon-closed" }),
63039
+ OpenIconComponent && /* @__PURE__ */ jsx125(OpenIconComponent, { className: "accordion-icon-open" })
61596
63040
  ]
61597
63041
  }
61598
63042
  )
61599
63043
  ] }),
61600
- /* @__PURE__ */ jsx124(
63044
+ /* @__PURE__ */ jsx125(
61601
63045
  "div",
61602
63046
  {
61603
63047
  className: "accordion-content",
@@ -61606,7 +63050,7 @@ var AccordionItemNodeSSR = ({
61606
63050
  hidden: true,
61607
63051
  "aria-hidden": "true",
61608
63052
  inert: true,
61609
- children: /* @__PURE__ */ jsx124("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
63053
+ children: /* @__PURE__ */ jsx125("div", { className: "accordion-content-inner", children: resolveNode(contentSource) })
61610
63054
  }
61611
63055
  )
61612
63056
  ]
@@ -61616,12 +63060,12 @@ var AccordionItemNodeSSR = ({
61616
63060
  function resolveNode(value) {
61617
63061
  if (typeof value === "string" || typeof value === "number") return String(value);
61618
63062
  const doc = coerceRichTextDoc(value);
61619
- if (doc) return /* @__PURE__ */ jsx124(RichText, { doc });
63063
+ if (doc) return /* @__PURE__ */ jsx125(RichText, { doc });
61620
63064
  return value;
61621
63065
  }
61622
63066
 
61623
63067
  // ../blocks/src/system/runtime/nodes/header-section.server.tsx
61624
- import { jsx as jsx125, jsxs as jsxs72 } from "react/jsx-runtime";
63068
+ import { jsx as jsx126, jsxs as jsxs72 } from "react/jsx-runtime";
61625
63069
  function hasShrinkClasses(className) {
61626
63070
  return typeof className === "string" && className.includes("rb-header-shrink");
61627
63071
  }
@@ -61654,8 +63098,8 @@ var HeaderSectionNode = ({
61654
63098
  "data-block-id": blockId ?? void 0,
61655
63099
  "data-preview-site-chrome-surface": previewSiteChromeSurface,
61656
63100
  children: [
61657
- /* @__PURE__ */ jsx125(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
61658
- /* @__PURE__ */ jsx125(
63101
+ /* @__PURE__ */ jsx126(IslandPropsScript, { value: { enabled: hasShrinkClasses(className) } }),
63102
+ /* @__PURE__ */ jsx126(
61659
63103
  Section_default,
61660
63104
  {
61661
63105
  as: asProp,
@@ -61678,7 +63122,7 @@ init_spinner2();
61678
63122
 
61679
63123
  // ../blocks/src/system/runtime/nodes/booking-form.server.tsx
61680
63124
  init_booking_form_interactive();
61681
- import { Fragment as Fragment24, jsx as jsx126, jsxs as jsxs73 } from "react/jsx-runtime";
63125
+ import { Fragment as Fragment24, jsx as jsx127, jsxs as jsxs73 } from "react/jsx-runtime";
61682
63126
  function BookingFormSSR({
61683
63127
  blockId,
61684
63128
  siteId,
@@ -61728,10 +63172,10 @@ function BookingFormSSR({
61728
63172
  className: `booking-form-ssr ${className ?? ""}`.trim(),
61729
63173
  ...getIslandRootProps("booking-form", blockId),
61730
63174
  children: [
61731
- /* @__PURE__ */ jsx126(IslandPropsScript, { value: islandProps }),
61732
- /* @__PURE__ */ jsx126("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx126("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */ jsxs73(Fragment24, { children: [
61733
- /* @__PURE__ */ jsx126("strong", { children: display.submitLabel }),
61734
- display.successMessage ? /* @__PURE__ */ jsx126("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
63175
+ /* @__PURE__ */ jsx127(IslandPropsScript, { value: islandProps }),
63176
+ /* @__PURE__ */ jsx127("div", { className: "booking-form-ssr__summary", children: display.state === "missing" ? /* @__PURE__ */ jsx127("p", { className: "booking-form-ssr__error", children: display.message }) : /* @__PURE__ */ jsxs73(Fragment24, { children: [
63177
+ /* @__PURE__ */ jsx127("strong", { children: display.submitLabel }),
63178
+ display.successMessage ? /* @__PURE__ */ jsx127("p", { className: "booking-form-ssr__success", children: display.successMessage }) : null
61735
63179
  ] }) }),
61736
63180
  children
61737
63181
  ]
@@ -61743,7 +63187,7 @@ var booking_form_server_default = BookingFormSSR;
61743
63187
  // ../blocks/src/system/runtime/nodes/event-details.server.tsx
61744
63188
  init_logic();
61745
63189
  init_view();
61746
- import { jsx as jsx127, jsxs as jsxs74 } from "react/jsx-runtime";
63190
+ import { jsx as jsx128, jsxs as jsxs74 } from "react/jsx-runtime";
61747
63191
  function EventDetailsSSR({
61748
63192
  blockId,
61749
63193
  occurrenceContext,
@@ -61779,7 +63223,7 @@ function EventDetailsSSR({
61779
63223
  "data-block": "event-details",
61780
63224
  ...getIslandRootProps("event-details", blockId),
61781
63225
  children: [
61782
- /* @__PURE__ */ jsx127(
63226
+ /* @__PURE__ */ jsx128(
61783
63227
  IslandPropsScript,
61784
63228
  {
61785
63229
  value: {
@@ -61800,7 +63244,7 @@ function EventDetailsSSR({
61800
63244
  }
61801
63245
  }
61802
63246
  ),
61803
- /* @__PURE__ */ jsx127(
63247
+ /* @__PURE__ */ jsx128(
61804
63248
  EventDetailsView,
61805
63249
  {
61806
63250
  selection,
@@ -61814,7 +63258,7 @@ function EventDetailsSSR({
61814
63258
  applicableMemberships,
61815
63259
  autoApplyDiscount: autoApplyDiscount ?? null,
61816
63260
  mapClassName: "venue-map event-details-map",
61817
- renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx127("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx127(
63261
+ renderVenueMap: ({ venueName, className: className2, height }) => /* @__PURE__ */ jsx128("div", { className: "event-details-map-wrap rb-w-full rb-ml-auto", children: /* @__PURE__ */ jsx128(
61818
63262
  "div",
61819
63263
  {
61820
63264
  className: className2,
@@ -61840,7 +63284,7 @@ var event_details_server_default = EventDetailsSSR;
61840
63284
  // ../blocks/src/system/runtime/nodes/location-map.server.tsx
61841
63285
  init_location_map_shared();
61842
63286
  init_location_map_view();
61843
- import { jsx as jsx128, jsxs as jsxs75 } from "react/jsx-runtime";
63287
+ import { jsx as jsx129, jsxs as jsxs75 } from "react/jsx-runtime";
61844
63288
  function LocationMapSSR(props2) {
61845
63289
  const normalized = normalizeLocationMapProps(props2);
61846
63290
  const hydrationProps = toLocationMapHydrationProps(props2);
@@ -61851,8 +63295,8 @@ function LocationMapSSR(props2) {
61851
63295
  "data-block": "location-map",
61852
63296
  ...getIslandRootProps("location-map", props2.blockId),
61853
63297
  children: [
61854
- /* @__PURE__ */ jsx128(IslandPropsScript, { value: hydrationProps }),
61855
- /* @__PURE__ */ jsx128(
63298
+ /* @__PURE__ */ jsx129(IslandPropsScript, { value: hydrationProps }),
63299
+ /* @__PURE__ */ jsx129(
61856
63300
  LocationMapView,
61857
63301
  {
61858
63302
  addressText: normalized.addressText,
@@ -61863,7 +63307,7 @@ function LocationMapSSR(props2) {
61863
63307
  showDirections: normalized.showDirections,
61864
63308
  directionsLabel: normalized.directionsLabel,
61865
63309
  unresolvedMessage: normalized.unresolvedMessage,
61866
- renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx128(
63310
+ renderMap: ({ addressText, className, height }) => /* @__PURE__ */ jsx129(
61867
63311
  "div",
61868
63312
  {
61869
63313
  className,
@@ -62004,12 +63448,12 @@ init_shared3();
62004
63448
  init_RichText();
62005
63449
  init_richText_coerce();
62006
63450
  init_DateTimeTile();
62007
- import { jsx as jsx129, jsxs as jsxs76 } from "react/jsx-runtime";
63451
+ import { jsx as jsx130, jsxs as jsxs76 } from "react/jsx-runtime";
62008
63452
  function TeamMemberName2({
62009
63453
  name,
62010
63454
  profilePath
62011
63455
  }) {
62012
- return profilePath ? /* @__PURE__ */ jsx129("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx129("strong", { children: name }) }) : /* @__PURE__ */ jsx129("strong", { children: name });
63456
+ return profilePath ? /* @__PURE__ */ jsx130("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx130("strong", { children: name }) }) : /* @__PURE__ */ jsx130("strong", { children: name });
62013
63457
  }
62014
63458
  function parseLimit2(value, fallback2) {
62015
63459
  if (value === "all") return "all";
@@ -62030,7 +63474,7 @@ function CourseDetailsView(props2) {
62030
63474
  showMembershipNote = true
62031
63475
  } = props2;
62032
63476
  if (!course) {
62033
- return /* @__PURE__ */ jsx129("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
63477
+ return /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: "Course details unavailable." });
62034
63478
  }
62035
63479
  const pricing = resolveCoursePricingState(course);
62036
63480
  const sessionLimit = parseLimit2(sessionsLimit, 10);
@@ -62040,12 +63484,12 @@ function CourseDetailsView(props2) {
62040
63484
  const descriptionDoc = showDescription ? coerceRichTextDoc(course.description) : null;
62041
63485
  const teamMembers = course.teamMembers ?? [];
62042
63486
  return /* @__PURE__ */ jsxs76("div", { className: "rb-flex rb-flex-col rb-gap-6", children: [
62043
- showTitle && /* @__PURE__ */ jsx129("h3", { children: course.title }),
63487
+ showTitle && /* @__PURE__ */ jsx130("h3", { children: course.title }),
62044
63488
  /* @__PURE__ */ jsxs76("div", { className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2", children: [
62045
63489
  /* @__PURE__ */ jsxs76("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
62046
63490
  showPrice && /* @__PURE__ */ jsxs76("div", { children: [
62047
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
62048
- pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx129("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs76("div", { children: [
63491
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price" }),
63492
+ pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx130("div", { className: "rb-flex rb-flex-col rb-gap-2", children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs76("div", { children: [
62049
63493
  /* @__PURE__ */ jsxs76("strong", { children: [
62050
63494
  option.name,
62051
63495
  ": ",
@@ -62054,47 +63498,47 @@ function CourseDetailsView(props2) {
62054
63498
  pricing.currency
62055
63499
  )
62056
63500
  ] }),
62057
- option.description ? /* @__PURE__ */ jsx129("p", { className: "rb-caption status-muted", children: option.description }) : null
62058
- ] }, option.id)) }) : /* @__PURE__ */ jsx129("div", { children: /* @__PURE__ */ jsx129("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
63501
+ option.description ? /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: option.description }) : null
63502
+ ] }, option.id)) }) : /* @__PURE__ */ jsx130("div", { children: /* @__PURE__ */ jsx130("strong", { children: formatCoursePriceDisplay(pricing.display) }) })
62059
63503
  ] }),
62060
63504
  showCapacity && /* @__PURE__ */ jsxs76("div", { children: [
62061
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: "Spots" }),
62062
- /* @__PURE__ */ jsx129("div", { children: /* @__PURE__ */ jsx129("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
63505
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Spots" }),
63506
+ /* @__PURE__ */ jsx130("div", { children: /* @__PURE__ */ jsx130("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })
62063
63507
  ] }),
62064
63508
  showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs76("div", { children: [
62065
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: "Membership" }),
62066
- /* @__PURE__ */ jsx129("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
63509
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Membership" }),
63510
+ /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: "Eligible memberships can be used for free enrollment" })
62067
63511
  ] }),
62068
63512
  teamMembers.length > 0 && /* @__PURE__ */ jsxs76("div", { children: [
62069
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: "Team members" }),
62070
- /* @__PURE__ */ jsx129("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs76("div", { children: [
62071
- /* @__PURE__ */ jsx129("p", { children: /* @__PURE__ */ jsx129(
63513
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Team members" }),
63514
+ /* @__PURE__ */ jsx130("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs76("div", { children: [
63515
+ /* @__PURE__ */ jsx130("p", { children: /* @__PURE__ */ jsx130(
62072
63516
  TeamMemberName2,
62073
63517
  {
62074
63518
  name: teamMember.name,
62075
63519
  profilePath: teamMember.profilePath
62076
63520
  }
62077
63521
  ) }),
62078
- teamMember.summary && /* @__PURE__ */ jsx129("p", { className: "rb-caption status-muted", children: teamMember.summary })
63522
+ teamMember.summary && /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: teamMember.summary })
62079
63523
  ] }, teamMember.id)) })
62080
63524
  ] })
62081
63525
  ] }),
62082
63526
  /* @__PURE__ */ jsxs76("div", { className: "rb-flex rb-flex-col rb-gap-4", children: [
62083
63527
  showVenue && course.venue && /* @__PURE__ */ jsxs76("div", { children: [
62084
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: "Venue" }),
62085
- /* @__PURE__ */ jsx129("h3", { children: course.venue.name }),
62086
- course.venue.address && /* @__PURE__ */ jsx129("p", { className: "rb-caption status-muted", children: course.venue.address })
63528
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Venue" }),
63529
+ /* @__PURE__ */ jsx130("h3", { children: course.venue.name }),
63530
+ course.venue.address && /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: course.venue.address })
62087
63531
  ] }),
62088
63532
  showEnrollmentStatus && /* @__PURE__ */ jsxs76("div", { children: [
62089
- /* @__PURE__ */ jsx129("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
62090
- /* @__PURE__ */ jsx129("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx129("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
63533
+ /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Enrollment" }),
63534
+ /* @__PURE__ */ jsx130("p", { className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed", children: /* @__PURE__ */ jsx130("strong", { children: course.enrollmentOpen ? "Open" : "Closed" }) })
62091
63535
  ] })
62092
63536
  ] })
62093
63537
  ] }),
62094
- descriptionDoc && /* @__PURE__ */ jsx129("div", { className: "cd-description", children: /* @__PURE__ */ jsx129(RichText, { doc: descriptionDoc }) }),
63538
+ descriptionDoc && /* @__PURE__ */ jsx130("div", { className: "cd-description", children: /* @__PURE__ */ jsx130(RichText, { doc: descriptionDoc }) }),
62095
63539
  showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs76("div", { children: [
62096
- /* @__PURE__ */ jsx129("div", { className: "rb-label", children: "Sessions" }),
62097
- /* @__PURE__ */ jsx129("div", { className: "rb-mt-2 rb-tiles-grid", children: visibleSessions.map((s) => /* @__PURE__ */ jsx129("div", { className: "rb-tile", children: /* @__PURE__ */ jsx129(DateTimeTile, { startsAt: s.startsAt, endsAt: s.endsAt }) }, s.id)) }),
63540
+ /* @__PURE__ */ jsx130("div", { className: "rb-label", children: "Sessions" }),
63541
+ /* @__PURE__ */ jsx130("div", { className: "rb-mt-2 rb-tiles-grid", children: visibleSessions.map((s) => /* @__PURE__ */ jsx130("div", { className: "rb-tile", children: /* @__PURE__ */ jsx130(DateTimeTile, { startsAt: s.startsAt, endsAt: s.endsAt }) }, s.id)) }),
62098
63542
  hasMoreSessions && /* @__PURE__ */ jsxs76("p", { className: "cd-sessions__more", children: [
62099
63543
  "Showing ",
62100
63544
  visibleSessions.length,
@@ -62107,7 +63551,7 @@ function CourseDetailsView(props2) {
62107
63551
  }
62108
63552
 
62109
63553
  // ../blocks/src/system/runtime/nodes/course-details.server.tsx
62110
- import { jsx as jsx130, jsxs as jsxs77 } from "react/jsx-runtime";
63554
+ import { jsx as jsx131, jsxs as jsxs77 } from "react/jsx-runtime";
62111
63555
  function CourseDetailsSSR({
62112
63556
  courses,
62113
63557
  contentEntry,
@@ -62146,7 +63590,7 @@ function CourseDetailsSSR({
62146
63590
  const lastPastRun = pastRuns[0] ?? null;
62147
63591
  const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
62148
63592
  return /* @__PURE__ */ jsxs77("div", { className: `course-details ${className ?? ""}`.trim(), "data-block": "course-details", children: [
62149
- selection.selected ? /* @__PURE__ */ jsx130(
63593
+ selection.selected ? /* @__PURE__ */ jsx131(
62150
63594
  CourseDetailsView,
62151
63595
  {
62152
63596
  course: selection.selected,
@@ -62162,30 +63606,30 @@ function CourseDetailsSSR({
62162
63606
  }
62163
63607
  ) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs77("div", { className: "rb-flex rb-flex-col rb-gap-3", children: [
62164
63608
  /* @__PURE__ */ jsxs77("div", { children: [
62165
- /* @__PURE__ */ jsx130("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
62166
- /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
63609
+ /* @__PURE__ */ jsx131("div", { className: "rb-label rb-mb-2", children: "Upcoming runs" }),
63610
+ /* @__PURE__ */ jsx131("p", { className: "rb-caption status-muted", children: "Choose a run to see sessions and details." })
62167
63611
  ] }),
62168
- nonPastRuns.length > 0 ? /* @__PURE__ */ jsx130("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
63612
+ nonPastRuns.length > 0 ? /* @__PURE__ */ jsx131("ul", { className: "rb-flex rb-flex-col rb-gap-2", children: nonPastRuns.map(({ course, range }) => {
62169
63613
  const start = range.start;
62170
63614
  const end = range.end;
62171
63615
  const isInProgress = Boolean(start && end && start <= now && end > now);
62172
63616
  const href = basePath ? `${basePath.replace(/\/$/, "")}/${course.slug}` : null;
62173
- return /* @__PURE__ */ jsx130("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx130("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */ jsxs77("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-3", children: [
63617
+ return /* @__PURE__ */ jsx131("li", { className: "rb-rounded-md rb-border rb-p-3", children: /* @__PURE__ */ jsx131("div", { className: "rb-flex rb-flex-col rb-gap-1", children: /* @__PURE__ */ jsxs77("div", { className: "rb-flex rb-items-center rb-justify-between rb-gap-3", children: [
62174
63618
  /* @__PURE__ */ jsxs77("div", { className: "rb-min-w-0", children: [
62175
- href ? /* @__PURE__ */ jsx130("a", { href, className: "rb-truncate", children: /* @__PURE__ */ jsx130("strong", { children: course.title }) }) : /* @__PURE__ */ jsx130("div", { className: "rb-truncate", children: /* @__PURE__ */ jsx130("strong", { children: course.title }) }),
62176
- /* @__PURE__ */ jsx130("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
63619
+ href ? /* @__PURE__ */ jsx131("a", { href, className: "rb-truncate", children: /* @__PURE__ */ jsx131("strong", { children: course.title }) }) : /* @__PURE__ */ jsx131("div", { className: "rb-truncate", children: /* @__PURE__ */ jsx131("strong", { children: course.title }) }),
63620
+ /* @__PURE__ */ jsx131("div", { className: "rb-caption status-muted", children: formatCourseDateRange(range) })
62177
63621
  ] }),
62178
- /* @__PURE__ */ jsx130("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
63622
+ /* @__PURE__ */ jsx131("div", { className: "rb-caption status-muted rb-shrink-0", children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed" })
62179
63623
  ] }) }) }, course.id);
62180
- }) }) : /* @__PURE__ */ jsx130("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
63624
+ }) }) : /* @__PURE__ */ jsx131("p", { className: "rb-caption status-muted", children: "No upcoming runs." }),
62181
63625
  lastPastRun ? /* @__PURE__ */ jsxs77("div", { className: "rb-caption status-muted", children: [
62182
63626
  "Last run: ",
62183
- /* @__PURE__ */ jsx130("strong", { children: lastPastRun.course.title }),
63627
+ /* @__PURE__ */ jsx131("strong", { children: lastPastRun.course.title }),
62184
63628
  " (",
62185
63629
  formatCourseDateRange(lastPastRun.range),
62186
63630
  ")"
62187
63631
  ] }) : null
62188
- ] }) : /* @__PURE__ */ jsx130(
63632
+ ] }) : /* @__PURE__ */ jsx131(
62189
63633
  CourseDetailsView,
62190
63634
  {
62191
63635
  course: null,
@@ -62208,7 +63652,7 @@ var course_details_server_default = CourseDetailsSSR;
62208
63652
  // ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
62209
63653
  init_shared4();
62210
63654
  init_buttons();
62211
- import { jsx as jsx131, jsxs as jsxs78 } from "react/jsx-runtime";
63655
+ import { jsx as jsx132, jsxs as jsxs78 } from "react/jsx-runtime";
62212
63656
  var EventSpotlight = ({
62213
63657
  events,
62214
63658
  layout = "grid",
@@ -62226,13 +63670,13 @@ var EventSpotlight = ({
62226
63670
  }) => {
62227
63671
  const normalizedEvents = events ?? [];
62228
63672
  if (normalizedEvents.length === 0) {
62229
- return /* @__PURE__ */ jsx131(EmptyState, { message: emptyMessage, className });
63673
+ return /* @__PURE__ */ jsx132(EmptyState, { message: emptyMessage, className });
62230
63674
  }
62231
63675
  const containerClass = getContainerClass(layout, columns);
62232
63676
  const cardOrientation = getCardOrientation(layout);
62233
63677
  const buttonClass = themeButtonClassName({ variant: buttonVariant, size: "md" });
62234
63678
  return /* @__PURE__ */ jsxs78("div", { className: `event-spotlight-section ${className || ""}`, "data-block": "event-spotlight", children: [
62235
- /* @__PURE__ */ jsx131("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx131(
63679
+ /* @__PURE__ */ jsx132("div", { className: `event-spotlight ${containerClass}`, children: normalizedEvents.map((event) => /* @__PURE__ */ jsx132(
62236
63680
  EventCard,
62237
63681
  {
62238
63682
  event,
@@ -62246,7 +63690,7 @@ var EventSpotlight = ({
62246
63690
  },
62247
63691
  event.occurrenceId || event.id
62248
63692
  )) }),
62249
- ctaLabel && ctaUrl ? /* @__PURE__ */ jsx131("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx131("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
63693
+ ctaLabel && ctaUrl ? /* @__PURE__ */ jsx132("div", { className: "rb-mt-8 rb-text-center", children: /* @__PURE__ */ jsx132("a", { href: ctaUrl, className: buttonClass, children: ctaLabel }) }) : null
62250
63694
  ] });
62251
63695
  };
62252
63696
 
@@ -62257,10 +63701,10 @@ init_shared4();
62257
63701
  // ../blocks/src/system/runtime/nodes/events/shared/renderEventListItem.tsx
62258
63702
  init_EventCard();
62259
63703
  init_EventCompactRow();
62260
- import { jsx as jsx132 } from "react/jsx-runtime";
63704
+ import { jsx as jsx133 } from "react/jsx-runtime";
62261
63705
  function renderEventListItem(event, display) {
62262
63706
  if (display.listLayout === "compact") {
62263
- return /* @__PURE__ */ jsx132(
63707
+ return /* @__PURE__ */ jsx133(
62264
63708
  EventCompactRow,
62265
63709
  {
62266
63710
  event,
@@ -62270,7 +63714,7 @@ function renderEventListItem(event, display) {
62270
63714
  event.occurrenceId || event.id
62271
63715
  );
62272
63716
  }
62273
- return /* @__PURE__ */ jsx132(
63717
+ return /* @__PURE__ */ jsx133(
62274
63718
  EventCard,
62275
63719
  {
62276
63720
  event,
@@ -62288,7 +63732,7 @@ function renderEventListItem(event, display) {
62288
63732
  }
62289
63733
 
62290
63734
  // ../blocks/src/system/runtime/nodes/events/EventCombined.server.tsx
62291
- import { jsx as jsx133, jsxs as jsxs79 } from "react/jsx-runtime";
63735
+ import { jsx as jsx134, jsxs as jsxs79 } from "react/jsx-runtime";
62292
63736
  var EventCombinedSSR = ({
62293
63737
  blockId,
62294
63738
  ...source
@@ -62304,9 +63748,9 @@ var EventCombinedSSR = ({
62304
63748
  "data-block": "event-combined",
62305
63749
  ...getIslandRootProps("event-combined", blockId),
62306
63750
  children: [
62307
- /* @__PURE__ */ jsx133(IslandPropsScript, { value: islandProps }),
63751
+ /* @__PURE__ */ jsx134(IslandPropsScript, { value: islandProps }),
62308
63752
  /* @__PURE__ */ jsxs79("div", { className: "nav-tabs", role: "tablist", children: [
62309
- /* @__PURE__ */ jsx133(
63753
+ /* @__PURE__ */ jsx134(
62310
63754
  "button",
62311
63755
  {
62312
63756
  type: "button",
@@ -62316,7 +63760,7 @@ var EventCombinedSSR = ({
62316
63760
  children: "List"
62317
63761
  }
62318
63762
  ),
62319
- /* @__PURE__ */ jsx133(
63763
+ /* @__PURE__ */ jsx134(
62320
63764
  "button",
62321
63765
  {
62322
63766
  type: "button",
@@ -62327,7 +63771,7 @@ var EventCombinedSSR = ({
62327
63771
  }
62328
63772
  )
62329
63773
  ] }),
62330
- /* @__PURE__ */ jsx133("div", { className: "event-combined-content", children: listDisplay.events.length === 0 ? /* @__PURE__ */ jsx133(EmptyState, { message: ssrEmptyMessage }) : /* @__PURE__ */ jsx133("div", { className: listDisplay.containerClass, children: listDisplay.events.map((event) => renderEventListItem(event, listDisplay)) }) })
63774
+ /* @__PURE__ */ jsx134("div", { className: "event-combined-content", children: listDisplay.events.length === 0 ? /* @__PURE__ */ jsx134(EmptyState, { message: ssrEmptyMessage }) : /* @__PURE__ */ jsx134("div", { className: listDisplay.containerClass, children: listDisplay.events.map((event) => renderEventListItem(event, listDisplay)) }) })
62331
63775
  ]
62332
63776
  }
62333
63777
  );
@@ -62338,10 +63782,10 @@ init_buttons();
62338
63782
  init_RichText();
62339
63783
  init_richText_coerce();
62340
63784
  init_view2();
62341
- import { Fragment as Fragment25, jsx as jsx134, jsxs as jsxs80 } from "react/jsx-runtime";
63785
+ import { Fragment as Fragment25, jsx as jsx135, jsxs as jsxs80 } from "react/jsx-runtime";
62342
63786
  function renderServerPendingAction(label, soldOut) {
62343
63787
  return /* @__PURE__ */ jsxs80(Fragment25, { children: [
62344
- /* @__PURE__ */ jsx134(
63788
+ /* @__PURE__ */ jsx135(
62345
63789
  "button",
62346
63790
  {
62347
63791
  type: "button",
@@ -62351,16 +63795,16 @@ function renderServerPendingAction(label, soldOut) {
62351
63795
  children: soldOut ? "Sold out" : label
62352
63796
  }
62353
63797
  ),
62354
- !soldOut ? /* @__PURE__ */ jsx134("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
63798
+ !soldOut ? /* @__PURE__ */ jsx135("p", { className: "rb-caption status-muted", children: "Cart actions become interactive after page load." }) : null
62355
63799
  ] });
62356
63800
  }
62357
63801
  function ProductListServerContent(props2) {
62358
- return /* @__PURE__ */ jsx134(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx134(
63802
+ return /* @__PURE__ */ jsx135(ProductListSectionView, { display: props2.render.display, children: props2.render.display.cards.map((card) => /* @__PURE__ */ jsx135(
62359
63803
  ProductCardView,
62360
63804
  {
62361
63805
  display: card,
62362
63806
  layout: props2.render.display.layout,
62363
- variantControl: /* @__PURE__ */ jsx134(
63807
+ variantControl: /* @__PURE__ */ jsx135(
62364
63808
  VariantSelectView,
62365
63809
  {
62366
63810
  options: card.variantOptions,
@@ -62370,7 +63814,7 @@ function ProductListServerContent(props2) {
62370
63814
  ),
62371
63815
  actions: /* @__PURE__ */ jsxs80(Fragment25, { children: [
62372
63816
  renderServerPendingAction(card.actionLabel, card.soldOut),
62373
- card.path ? /* @__PURE__ */ jsx134(
63817
+ card.path ? /* @__PURE__ */ jsx135(
62374
63818
  "a",
62375
63819
  {
62376
63820
  href: card.path,
@@ -62384,18 +63828,18 @@ function ProductListServerContent(props2) {
62384
63828
  )) });
62385
63829
  }
62386
63830
  function ProductDetailServerContent(props2) {
62387
- return /* @__PURE__ */ jsx134(
63831
+ return /* @__PURE__ */ jsx135(
62388
63832
  ProductDetailView,
62389
63833
  {
62390
63834
  display: props2.render.display,
62391
- gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx134(
63835
+ gallery: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx135(
62392
63836
  ProductGalleryFrameView,
62393
63837
  {
62394
63838
  gallery: props2.render.display.gallery,
62395
- renderCarousel: (slides) => /* @__PURE__ */ jsx134(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
63839
+ renderCarousel: (slides) => /* @__PURE__ */ jsx135(CarouselNodeSSR, { slidesToShow: 1, showDots: true, showControls: true, className: "rb-w-full", children: slides })
62396
63840
  }
62397
63841
  ) : null,
62398
- variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx134(
63842
+ variantControl: props2.render.display.state === "ready" ? /* @__PURE__ */ jsx135(
62399
63843
  VariantSelectView,
62400
63844
  {
62401
63845
  options: props2.render.display.variantOptions,
@@ -62407,20 +63851,20 @@ function ProductDetailServerContent(props2) {
62407
63851
  props2.render.display.actionLabel,
62408
63852
  props2.render.display.soldOut
62409
63853
  ) : null,
62410
- body: props2.render.display.state === "ready" && props2.render.display.body ? /* @__PURE__ */ jsx134("div", { className: "rb-prose rb-max-w-none", children: /* @__PURE__ */ jsx134(RichText, { doc: coerceRichTextDoc(props2.render.display.body) }) }) : null
63854
+ body: props2.render.display.state === "ready" && props2.render.display.body ? /* @__PURE__ */ jsx135("div", { className: "rb-prose rb-max-w-none", children: /* @__PURE__ */ jsx135(RichText, { doc: coerceRichTextDoc(props2.render.display.body) }) }) : null
62411
63855
  }
62412
63856
  );
62413
63857
  }
62414
63858
  function CartServerContent(props2) {
62415
- return /* @__PURE__ */ jsx134(CartShellView, { display: props2.render.display });
63859
+ return /* @__PURE__ */ jsx135(CartShellView, { display: props2.render.display });
62416
63860
  }
62417
63861
  function CheckoutServerContent(props2) {
62418
- return /* @__PURE__ */ jsx134(CheckoutShellView, { display: props2.render.display });
63862
+ return /* @__PURE__ */ jsx135(CheckoutShellView, { display: props2.render.display });
62419
63863
  }
62420
63864
 
62421
63865
  // ../blocks/src/system/runtime/nodes/cart.server.tsx
62422
63866
  init_shop_interactive();
62423
- import { jsx as jsx135, jsxs as jsxs81 } from "react/jsx-runtime";
63867
+ import { jsx as jsx136, jsxs as jsxs81 } from "react/jsx-runtime";
62424
63868
  function CartSSR({
62425
63869
  blockId,
62426
63870
  siteId,
@@ -62445,8 +63889,8 @@ function CartSSR({
62445
63889
  "data-site-id": siteId ?? void 0,
62446
63890
  ...getIslandRootProps("cart", blockId),
62447
63891
  children: [
62448
- /* @__PURE__ */ jsx135(IslandPropsScript, { value: islandProps }),
62449
- /* @__PURE__ */ jsx135(CartServerContent, { render: islandProps.render }),
63892
+ /* @__PURE__ */ jsx136(IslandPropsScript, { value: islandProps }),
63893
+ /* @__PURE__ */ jsx136(CartServerContent, { render: islandProps.render }),
62450
63894
  children
62451
63895
  ]
62452
63896
  }
@@ -62456,7 +63900,7 @@ var cart_server_default = CartSSR;
62456
63900
 
62457
63901
  // ../blocks/src/system/runtime/nodes/checkout.server.tsx
62458
63902
  init_shop_interactive();
62459
- import { jsx as jsx136, jsxs as jsxs82 } from "react/jsx-runtime";
63903
+ import { jsx as jsx137, jsxs as jsxs82 } from "react/jsx-runtime";
62460
63904
  function CheckoutSSR({
62461
63905
  blockId,
62462
63906
  siteId,
@@ -62481,8 +63925,8 @@ function CheckoutSSR({
62481
63925
  "data-site-id": siteId ?? void 0,
62482
63926
  ...getIslandRootProps("checkout", blockId),
62483
63927
  children: [
62484
- /* @__PURE__ */ jsx136(IslandPropsScript, { value: islandProps }),
62485
- /* @__PURE__ */ jsx136(CheckoutServerContent, { render: islandProps.render }),
63928
+ /* @__PURE__ */ jsx137(IslandPropsScript, { value: islandProps }),
63929
+ /* @__PURE__ */ jsx137(CheckoutServerContent, { render: islandProps.render }),
62486
63930
  children
62487
63931
  ]
62488
63932
  }
@@ -62492,7 +63936,7 @@ var checkout_server_default = CheckoutSSR;
62492
63936
 
62493
63937
  // ../blocks/src/system/runtime/nodes/course-registration.server.tsx
62494
63938
  init_course_registration_interactive();
62495
- import { jsx as jsx137, jsxs as jsxs83 } from "react/jsx-runtime";
63939
+ import { jsx as jsx138, jsxs as jsxs83 } from "react/jsx-runtime";
62496
63940
  function CourseRegistrationSSR({
62497
63941
  blockId,
62498
63942
  siteId,
@@ -62540,8 +63984,8 @@ function CourseRegistrationSSR({
62540
63984
  "data-block": "course-registration",
62541
63985
  ...getIslandRootProps("course-registration", blockId),
62542
63986
  children: [
62543
- /* @__PURE__ */ jsx137(IslandPropsScript, { value: islandProps }),
62544
- /* @__PURE__ */ jsx137("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx137("strong", { children: islandProps.render.display.summaryButtonText }) }),
63987
+ /* @__PURE__ */ jsx138(IslandPropsScript, { value: islandProps }),
63988
+ /* @__PURE__ */ jsx138("div", { className: "course-registration__summary", children: /* @__PURE__ */ jsx138("strong", { children: islandProps.render.display.summaryButtonText }) }),
62545
63989
  children
62546
63990
  ]
62547
63991
  }
@@ -62551,7 +63995,7 @@ var course_registration_server_default = CourseRegistrationSSR;
62551
63995
 
62552
63996
  // ../blocks/src/system/runtime/nodes/gifting.server.tsx
62553
63997
  init_gifting_interactive();
62554
- import { jsx as jsx138, jsxs as jsxs84 } from "react/jsx-runtime";
63998
+ import { jsx as jsx139, jsxs as jsxs84 } from "react/jsx-runtime";
62555
63999
  function GiftingSSR({ blockId, ...rest }) {
62556
64000
  const islandProps = buildGiftingInteractiveIslandProps(rest);
62557
64001
  const offers = islandProps.render.hydration.offers;
@@ -62568,7 +64012,7 @@ function GiftingSSR({ blockId, ...rest }) {
62568
64012
  },
62569
64013
  ...getIslandRootProps("gifting", blockId),
62570
64014
  children: [
62571
- /* @__PURE__ */ jsx138(IslandPropsScript, { value: islandProps }),
64015
+ /* @__PURE__ */ jsx139(IslandPropsScript, { value: islandProps }),
62572
64016
  /* @__PURE__ */ jsxs84(
62573
64017
  "div",
62574
64018
  {
@@ -62578,13 +64022,13 @@ function GiftingSSR({ blockId, ...rest }) {
62578
64022
  },
62579
64023
  children: [
62580
64024
  /* @__PURE__ */ jsxs84("div", { className: "rb-grid", style: { gap: "0.5rem" }, children: [
62581
- /* @__PURE__ */ jsx138("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
62582
- islandProps.render.display.intro ? /* @__PURE__ */ jsx138("p", { style: { margin: 0, color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: islandProps.render.display.intro }) : null
64025
+ /* @__PURE__ */ jsx139("h2", { style: { fontSize: "clamp(1.75rem, 3vw, 2.5rem)", fontWeight: 700, margin: 0 }, children: islandProps.render.display.heading }),
64026
+ islandProps.render.display.intro ? /* @__PURE__ */ jsx139("p", { style: { margin: 0, color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: islandProps.render.display.intro }) : null
62583
64027
  ] }),
62584
64028
  hasOffers ? /* @__PURE__ */ jsxs84("div", { className: "rb-grid", style: { gap: "1.5rem" }, children: [
62585
64029
  (offers?.giftCards.length ?? 0) > 0 ? /* @__PURE__ */ jsxs84("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
62586
- /* @__PURE__ */ jsx138("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
62587
- /* @__PURE__ */ jsx138("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs84(
64030
+ /* @__PURE__ */ jsx139("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.giftCardsHeading }),
64031
+ /* @__PURE__ */ jsx139("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.giftCards.map((offer) => /* @__PURE__ */ jsxs84(
62588
64032
  "article",
62589
64033
  {
62590
64034
  style: {
@@ -62594,16 +64038,16 @@ function GiftingSSR({ blockId, ...rest }) {
62594
64038
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
62595
64039
  },
62596
64040
  children: [
62597
- /* @__PURE__ */ jsx138("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
62598
- offer.description ? /* @__PURE__ */ jsx138("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
64041
+ /* @__PURE__ */ jsx139("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
64042
+ offer.description ? /* @__PURE__ */ jsx139("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
62599
64043
  ]
62600
64044
  },
62601
64045
  offer.id
62602
64046
  )) })
62603
64047
  ] }) : null,
62604
64048
  (offers?.vouchers.length ?? 0) > 0 ? /* @__PURE__ */ jsxs84("div", { className: "rb-grid", style: { gap: "1rem" }, children: [
62605
- /* @__PURE__ */ jsx138("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
62606
- /* @__PURE__ */ jsx138("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs84(
64049
+ /* @__PURE__ */ jsx139("h3", { style: { margin: 0, fontSize: "1.25rem", fontWeight: 700 }, children: islandProps.render.display.vouchersHeading }),
64050
+ /* @__PURE__ */ jsx139("div", { className: "rb-grid", style: { gap: "1rem" }, children: offers?.vouchers.map((offer) => /* @__PURE__ */ jsxs84(
62607
64051
  "article",
62608
64052
  {
62609
64053
  style: {
@@ -62613,14 +64057,14 @@ function GiftingSSR({ blockId, ...rest }) {
62613
64057
  background: "rgb(var(--tb-surface, 255 255 255) / 0.92)"
62614
64058
  },
62615
64059
  children: [
62616
- /* @__PURE__ */ jsx138("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
62617
- offer.description ? /* @__PURE__ */ jsx138("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
64060
+ /* @__PURE__ */ jsx139("h4", { style: { margin: 0, fontSize: "1.05rem", fontWeight: 700 }, children: offer.title }),
64061
+ offer.description ? /* @__PURE__ */ jsx139("p", { style: { margin: "0.5rem 0 0", color: "rgb(var(--tb-text, 17 24 39) / 0.72)" }, children: offer.description }) : null
62618
64062
  ]
62619
64063
  },
62620
64064
  offer.id
62621
64065
  )) })
62622
64066
  ] }) : null
62623
- ] }) : /* @__PURE__ */ jsx138("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
64067
+ ] }) : /* @__PURE__ */ jsx139("p", { style: { margin: 0 }, children: islandProps.render.display.emptyStateText })
62624
64068
  ]
62625
64069
  }
62626
64070
  )
@@ -62637,7 +64081,7 @@ init_EventCalendar_interactive();
62637
64081
  init_utils();
62638
64082
  init_timetableModel();
62639
64083
  init_buttons();
62640
- import { jsx as jsx139, jsxs as jsxs85 } from "react/jsx-runtime";
64084
+ import { jsx as jsx140, jsxs as jsxs85 } from "react/jsx-runtime";
62641
64085
  function assertNeverDisplayMode(value) {
62642
64086
  throw new Error(`Unsupported event-calendar displayMode: ${String(value)}`);
62643
64087
  }
@@ -62651,7 +64095,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
62651
64095
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents, "event-combined-content");
62652
64096
  return /* @__PURE__ */ jsxs85("div", { className: clsx_default("event-combined", display.className ?? void 0), "data-block": "event-combined", children: [
62653
64097
  /* @__PURE__ */ jsxs85("div", { className: "nav-tabs", role: "tablist", children: [
62654
- /* @__PURE__ */ jsx139(
64098
+ /* @__PURE__ */ jsx140(
62655
64099
  "button",
62656
64100
  {
62657
64101
  type: "button",
@@ -62661,7 +64105,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
62661
64105
  children: "List"
62662
64106
  }
62663
64107
  ),
62664
- /* @__PURE__ */ jsx139(
64108
+ /* @__PURE__ */ jsx140(
62665
64109
  "button",
62666
64110
  {
62667
64111
  type: "button",
@@ -62672,7 +64116,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
62672
64116
  }
62673
64117
  )
62674
64118
  ] }),
62675
- /* @__PURE__ */ jsx139(
64119
+ /* @__PURE__ */ jsx140(
62676
64120
  EventListingFrameView,
62677
64121
  {
62678
64122
  display: listDisplay,
@@ -62683,7 +64127,7 @@ function renderCombinedSsr(display, prefetchedEvents) {
62683
64127
  }
62684
64128
  function renderListSsr(display, prefetchedEvents) {
62685
64129
  const listDisplay = buildEventCalendarListingDisplay(display, prefetchedEvents);
62686
- return /* @__PURE__ */ jsx139(
64130
+ return /* @__PURE__ */ jsx140(
62687
64131
  EventListingFrameView,
62688
64132
  {
62689
64133
  display: listDisplay,
@@ -62701,27 +64145,27 @@ function renderCalendarGrid(display) {
62701
64145
  return /* @__PURE__ */ jsxs85("div", { className: clsx_default("event-calendar", display.className ?? void 0), "data-block": "event-calendar", children: [
62702
64146
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-header", children: [
62703
64147
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-nav", children: [
62704
- /* @__PURE__ */ jsx139(
64148
+ /* @__PURE__ */ jsx140(
62705
64149
  "button",
62706
64150
  {
62707
64151
  type: "button",
62708
64152
  className: "event-calendar-nav-btn",
62709
64153
  "aria-label": calendarView === "week" ? "Previous week" : "Previous month",
62710
- children: /* @__PURE__ */ jsx139("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx139("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
64154
+ children: /* @__PURE__ */ jsx140("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
62711
64155
  }
62712
64156
  ),
62713
- /* @__PURE__ */ jsx139("h3", { className: "event-calendar-title", children: headerTitle }),
62714
- /* @__PURE__ */ jsx139(
64157
+ /* @__PURE__ */ jsx140("h3", { className: "event-calendar-title", children: headerTitle }),
64158
+ /* @__PURE__ */ jsx140(
62715
64159
  "button",
62716
64160
  {
62717
64161
  type: "button",
62718
64162
  className: "event-calendar-nav-btn",
62719
64163
  "aria-label": calendarView === "week" ? "Next week" : "Next month",
62720
- children: /* @__PURE__ */ jsx139("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx139("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
64164
+ children: /* @__PURE__ */ jsx140("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
62721
64165
  }
62722
64166
  )
62723
64167
  ] }),
62724
- /* @__PURE__ */ jsx139(
64168
+ /* @__PURE__ */ jsx140(
62725
64169
  "button",
62726
64170
  {
62727
64171
  type: "button",
@@ -62734,8 +64178,8 @@ function renderCalendarGrid(display) {
62734
64178
  )
62735
64179
  ] }),
62736
64180
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-container", children: [
62737
- /* @__PURE__ */ jsx139("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx139("div", { className: "event-calendar-day-header", children: day }, day)) }),
62738
- /* @__PURE__ */ jsx139("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
64181
+ /* @__PURE__ */ jsx140("div", { className: "event-calendar-day-headers", children: dayNames.map((day) => /* @__PURE__ */ jsx140("div", { className: "event-calendar-day-header", children: day }, day)) }),
64182
+ /* @__PURE__ */ jsx140("div", { className: "event-calendar-grid", children: calendarDays.map((date) => {
62739
64183
  const dateKey = formatDateKey2(date);
62740
64184
  const dayEvents = eventsByDate.get(dateKey) || [];
62741
64185
  const isCurrentMonth = date.getMonth() === viewDate.getMonth();
@@ -62746,7 +64190,7 @@ function renderCalendarGrid(display) {
62746
64190
  today && "event-calendar-day--today"
62747
64191
  );
62748
64192
  return /* @__PURE__ */ jsxs85("div", { className: dayClasses, children: [
62749
- /* @__PURE__ */ jsx139("div", { className: "event-calendar-day-number", children: date.getDate() }),
64193
+ /* @__PURE__ */ jsx140("div", { className: "event-calendar-day-number", children: date.getDate() }),
62750
64194
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-events", children: [
62751
64195
  dayEvents.slice(0, MAX_EVENTS_PER_DAY).map((event) => /* @__PURE__ */ jsxs85(
62752
64196
  "a",
@@ -62755,9 +64199,9 @@ function renderCalendarGrid(display) {
62755
64199
  className: "event-calendar-event",
62756
64200
  title: `${event.title} at ${formatTime(event.startsAt, { timeZone: getEventTimeZone(event) })}`,
62757
64201
  children: [
62758
- /* @__PURE__ */ jsx139("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
64202
+ /* @__PURE__ */ jsx140("span", { className: "event-calendar-event-time", children: formatTime(event.startsAt, { timeZone: getEventTimeZone(event) }) }),
62759
64203
  " ",
62760
- /* @__PURE__ */ jsx139("span", { className: "event-calendar-event-title", children: event.title })
64204
+ /* @__PURE__ */ jsx140("span", { className: "event-calendar-event-title", children: event.title })
62761
64205
  ]
62762
64206
  },
62763
64207
  event.occurrenceId || event.id
@@ -62771,7 +64215,7 @@ function renderCalendarGrid(display) {
62771
64215
  ] }, dateKey);
62772
64216
  }) })
62773
64217
  ] }),
62774
- display.events.length === 0 ? /* @__PURE__ */ jsx139("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
64218
+ display.events.length === 0 ? /* @__PURE__ */ jsx140("p", { className: "event-calendar-empty", children: display.emptyMessage }) : null
62775
64219
  ] });
62776
64220
  }
62777
64221
  function renderTimetableSsr(display) {
@@ -62787,27 +64231,27 @@ function renderTimetableSsr(display) {
62787
64231
  return /* @__PURE__ */ jsxs85("div", { className: clsx_default("event-calendar", "event-calendar--timetable", display.className ?? void 0), "data-block": "event-calendar", children: [
62788
64232
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-header", children: [
62789
64233
  /* @__PURE__ */ jsxs85("div", { className: "event-calendar-nav", children: [
62790
- /* @__PURE__ */ jsx139(
64234
+ /* @__PURE__ */ jsx140(
62791
64235
  "button",
62792
64236
  {
62793
64237
  type: "button",
62794
64238
  className: "event-calendar-nav-btn",
62795
64239
  "aria-label": "Previous week",
62796
- children: /* @__PURE__ */ jsx139("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx139("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
64240
+ children: /* @__PURE__ */ jsx140("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
62797
64241
  }
62798
64242
  ),
62799
- /* @__PURE__ */ jsx139("h3", { className: "event-calendar-title", children: headerTitle }),
62800
- /* @__PURE__ */ jsx139(
64243
+ /* @__PURE__ */ jsx140("h3", { className: "event-calendar-title", children: headerTitle }),
64244
+ /* @__PURE__ */ jsx140(
62801
64245
  "button",
62802
64246
  {
62803
64247
  type: "button",
62804
64248
  className: "event-calendar-nav-btn",
62805
64249
  "aria-label": "Next week",
62806
- children: /* @__PURE__ */ jsx139("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx139("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
64250
+ children: /* @__PURE__ */ jsx140("svg", { width: "20", height: "20", fill: "none", stroke: "currentColor", strokeWidth: 2, viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx140("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
62807
64251
  }
62808
64252
  )
62809
64253
  ] }),
62810
- /* @__PURE__ */ jsx139(
64254
+ /* @__PURE__ */ jsx140(
62811
64255
  "button",
62812
64256
  {
62813
64257
  type: "button",
@@ -62820,7 +64264,7 @@ function renderTimetableSsr(display) {
62820
64264
  )
62821
64265
  ] }),
62822
64266
  /* @__PURE__ */ jsxs85("div", { className: "event-timetable", children: [
62823
- /* @__PURE__ */ jsx139("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx139(
64267
+ /* @__PURE__ */ jsx140("div", { className: "event-timetable-day-selector", "aria-label": "Choose timetable day", children: model.days.map((day) => /* @__PURE__ */ jsx140(
62824
64268
  "button",
62825
64269
  {
62826
64270
  type: "button",
@@ -62832,10 +64276,10 @@ function renderTimetableSsr(display) {
62832
64276
  },
62833
64277
  day.dateKey
62834
64278
  )) }),
62835
- /* @__PURE__ */ jsx139("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs85("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
64279
+ /* @__PURE__ */ jsx140("div", { className: "event-timetable-container", children: /* @__PURE__ */ jsxs85("div", { className: "event-timetable-grid", "aria-label": "Weekly timetable", children: [
62836
64280
  /* @__PURE__ */ jsxs85("div", { className: "event-timetable-time-rail", "aria-hidden": "true", children: [
62837
- /* @__PURE__ */ jsx139("div", { className: "event-timetable-day-heading" }),
62838
- /* @__PURE__ */ jsx139("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx139(
64281
+ /* @__PURE__ */ jsx140("div", { className: "event-timetable-day-heading" }),
64282
+ /* @__PURE__ */ jsx140("div", { className: "event-timetable-time-body", children: model.hourTicks.map((hour) => /* @__PURE__ */ jsx140(
62839
64283
  "div",
62840
64284
  {
62841
64285
  className: "event-timetable-time-label",
@@ -62856,7 +64300,7 @@ function renderTimetableSsr(display) {
62856
64300
  children: [
62857
64301
  /* @__PURE__ */ jsxs85("h4", { className: "event-timetable-day-heading", children: [
62858
64302
  day.label,
62859
- day.isToday ? /* @__PURE__ */ jsx139("span", { className: "event-timetable-today-badge", children: "Today" }) : null
64303
+ day.isToday ? /* @__PURE__ */ jsx140("span", { className: "event-timetable-today-badge", children: "Today" }) : null
62860
64304
  ] }),
62861
64305
  /* @__PURE__ */ jsxs85(
62862
64306
  "div",
@@ -62864,7 +64308,7 @@ function renderTimetableSsr(display) {
62864
64308
  className: "event-timetable-day-body",
62865
64309
  style: { "--event-timetable-range-minutes": String(model.rangeMinutes) },
62866
64310
  children: [
62867
- model.hourTicks.map((hour) => /* @__PURE__ */ jsx139(
64311
+ model.hourTicks.map((hour) => /* @__PURE__ */ jsx140(
62868
64312
  "div",
62869
64313
  {
62870
64314
  className: "event-timetable-hour-line",
@@ -62873,7 +64317,7 @@ function renderTimetableSsr(display) {
62873
64317
  },
62874
64318
  hour
62875
64319
  )),
62876
- day.events.length === 0 ? /* @__PURE__ */ jsx139("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs85(
64320
+ day.events.length === 0 ? /* @__PURE__ */ jsx140("p", { className: "event-timetable-day-empty", children: "No classes" }) : day.events.map((cell) => /* @__PURE__ */ jsxs85(
62877
64321
  "a",
62878
64322
  {
62879
64323
  href: cell.event.path,
@@ -62887,11 +64331,11 @@ function renderTimetableSsr(display) {
62887
64331
  borderColor: cell.categoryColor
62888
64332
  },
62889
64333
  children: [
62890
- /* @__PURE__ */ jsx139("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
62891
- /* @__PURE__ */ jsx139("span", { className: "event-timetable-event-title", children: cell.event.title }),
62892
- cell.teacherLine ? /* @__PURE__ */ jsx139("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
62893
- cell.event.venue ? /* @__PURE__ */ jsx139("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
62894
- display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx139(
64334
+ /* @__PURE__ */ jsx140("span", { className: "event-timetable-event-time", children: cell.timeLabel }),
64335
+ /* @__PURE__ */ jsx140("span", { className: "event-timetable-event-title", children: cell.event.title }),
64336
+ cell.teacherLine ? /* @__PURE__ */ jsx140("span", { className: "event-timetable-event-teacher", children: cell.teacherLine }) : null,
64337
+ cell.event.venue ? /* @__PURE__ */ jsx140("span", { className: "event-timetable-event-meta", children: cell.event.venue.name }) : null,
64338
+ display.showCapacity && cell.capacityLabel ? /* @__PURE__ */ jsx140(
62895
64339
  "span",
62896
64340
  {
62897
64341
  className: clsx_default(
@@ -62913,7 +64357,7 @@ function renderTimetableSsr(display) {
62913
64357
  day.dateKey
62914
64358
  ))
62915
64359
  ] }) }),
62916
- !model.hasEvents ? /* @__PURE__ */ jsx139("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
64360
+ !model.hasEvents ? /* @__PURE__ */ jsx140("p", { className: "event-timetable-empty", children: display.emptyMessage }) : null
62917
64361
  ] })
62918
64362
  ] });
62919
64363
  }
@@ -62951,7 +64395,7 @@ var EventCalendarSSR = (props2) => {
62951
64395
  content = assertNeverDisplayMode(display.displayMode);
62952
64396
  }
62953
64397
  return /* @__PURE__ */ jsxs85("div", { ...getIslandRootProps("event-calendar", props2.blockId), children: [
62954
- /* @__PURE__ */ jsx139(IslandPropsScript, { value: islandProps }),
64398
+ /* @__PURE__ */ jsx140(IslandPropsScript, { value: islandProps }),
62955
64399
  content
62956
64400
  ] });
62957
64401
  };
@@ -62959,13 +64403,13 @@ var EventCalendarSSR = (props2) => {
62959
64403
  // ../blocks/src/system/runtime/nodes/events/EventListing.server.tsx
62960
64404
  init_EventListing_interactive();
62961
64405
  init_EventListing_view();
62962
- import { jsx as jsx140, jsxs as jsxs86 } from "react/jsx-runtime";
64406
+ import { jsx as jsx141, jsxs as jsxs86 } from "react/jsx-runtime";
62963
64407
  var EventListingSSR = (props2) => {
62964
64408
  const islandProps = buildEventListingInteractiveIslandProps(props2);
62965
64409
  const display = islandProps.render.display;
62966
64410
  return /* @__PURE__ */ jsxs86("div", { ...getIslandRootProps("event-listing", props2.blockId), children: [
62967
- /* @__PURE__ */ jsx140(IslandPropsScript, { value: islandProps }),
62968
- /* @__PURE__ */ jsx140(
64411
+ /* @__PURE__ */ jsx141(IslandPropsScript, { value: islandProps }),
64412
+ /* @__PURE__ */ jsx141(
62969
64413
  EventListingFrameView,
62970
64414
  {
62971
64415
  display,
@@ -62977,7 +64421,7 @@ var EventListingSSR = (props2) => {
62977
64421
 
62978
64422
  // ../blocks/src/system/runtime/nodes/event-registration.server.tsx
62979
64423
  init_event_registration_interactive();
62980
- import { jsx as jsx141, jsxs as jsxs87 } from "react/jsx-runtime";
64424
+ import { jsx as jsx142, jsxs as jsxs87 } from "react/jsx-runtime";
62981
64425
  function EventRegistrationSSR({
62982
64426
  blockId,
62983
64427
  siteId,
@@ -63024,8 +64468,8 @@ function EventRegistrationSSR({
63024
64468
  className: `event-registration ${className ?? ""}`.trim(),
63025
64469
  ...getIslandRootProps("event-registration", blockId),
63026
64470
  children: [
63027
- /* @__PURE__ */ jsx141(IslandPropsScript, { value: islandProps }),
63028
- /* @__PURE__ */ jsx141("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx141("strong", { children: islandProps.render.display.summaryButtonText }) }),
64471
+ /* @__PURE__ */ jsx142(IslandPropsScript, { value: islandProps }),
64472
+ /* @__PURE__ */ jsx142("div", { className: "event-registration__summary", children: /* @__PURE__ */ jsx142("strong", { children: islandProps.render.display.summaryButtonText }) }),
63029
64473
  children
63030
64474
  ]
63031
64475
  }
@@ -63038,7 +64482,7 @@ init_clsx();
63038
64482
  init_buttons();
63039
64483
  init_FeedbackMessage();
63040
64484
  init_form_interactive();
63041
- import { jsx as jsx142, jsxs as jsxs88 } from "react/jsx-runtime";
64485
+ import { jsx as jsx143, jsxs as jsxs88 } from "react/jsx-runtime";
63042
64486
  var FormNodeSSR = ({
63043
64487
  blockId,
63044
64488
  value,
@@ -63064,8 +64508,8 @@ var FormNodeSSR = ({
63064
64508
  const form2 = display.form;
63065
64509
  if (!form2) {
63066
64510
  return /* @__PURE__ */ jsxs88("div", { ...getIslandRootProps("form", blockId), children: [
63067
- /* @__PURE__ */ jsx142(IslandPropsScript, { value: islandProps }),
63068
- /* @__PURE__ */ jsx142(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
64511
+ /* @__PURE__ */ jsx143(IslandPropsScript, { value: islandProps }),
64512
+ /* @__PURE__ */ jsx143(FeedbackMessage, { tone: "warning", className: clsx_default("fb-empty", className), role: "status", children: "Missing or unknown form." })
63069
64513
  ] });
63070
64514
  }
63071
64515
  const groups = display.groups;
@@ -63076,8 +64520,8 @@ var FormNodeSSR = ({
63076
64520
  const type = String(field.type ?? "text");
63077
64521
  if (type === "textarea") {
63078
64522
  return /* @__PURE__ */ jsxs88("div", { className: "fb-field", children: [
63079
- /* @__PURE__ */ jsx142("label", { htmlFor: inputId, className: "form-label", children: label }),
63080
- /* @__PURE__ */ jsx142(
64523
+ /* @__PURE__ */ jsx143("label", { htmlFor: inputId, className: "form-label", children: label }),
64524
+ /* @__PURE__ */ jsx143(
63081
64525
  "textarea",
63082
64526
  {
63083
64527
  id: inputId,
@@ -63094,19 +64538,19 @@ var FormNodeSSR = ({
63094
64538
  const options = field.options ?? [];
63095
64539
  const multiple = Boolean(field.multiple);
63096
64540
  return /* @__PURE__ */ jsxs88("div", { className: "fb-field", children: [
63097
- /* @__PURE__ */ jsx142("label", { htmlFor: inputId, className: "form-label", children: label }),
64541
+ /* @__PURE__ */ jsx143("label", { htmlFor: inputId, className: "form-label", children: label }),
63098
64542
  /* @__PURE__ */ jsxs88("select", { id: inputId, name: field.id, multiple, required, className: "form-select", children: [
63099
- !multiple && /* @__PURE__ */ jsx142("option", { value: "", children: "Select\u2026" }),
63100
- options.map((opt) => /* @__PURE__ */ jsx142("option", { value: opt.value, children: opt.label }, opt.value))
64543
+ !multiple && /* @__PURE__ */ jsx143("option", { value: "", children: "Select\u2026" }),
64544
+ options.map((opt) => /* @__PURE__ */ jsx143("option", { value: opt.value, children: opt.label }, opt.value))
63101
64545
  ] })
63102
64546
  ] }, field.id);
63103
64547
  }
63104
64548
  if (type === "radio") {
63105
64549
  const options = field.options ?? [];
63106
64550
  return /* @__PURE__ */ jsxs88("fieldset", { className: "fb-fieldset", children: [
63107
- /* @__PURE__ */ jsx142("legend", { className: "form-label", children: label }),
64551
+ /* @__PURE__ */ jsx143("legend", { className: "form-label", children: label }),
63108
64552
  options.map((opt) => /* @__PURE__ */ jsxs88("label", { className: "fb-inline form-label", children: [
63109
- /* @__PURE__ */ jsx142(
64553
+ /* @__PURE__ */ jsx143(
63110
64554
  "input",
63111
64555
  {
63112
64556
  type: "radio",
@@ -63116,14 +64560,14 @@ var FormNodeSSR = ({
63116
64560
  className: "form-radio"
63117
64561
  }
63118
64562
  ),
63119
- /* @__PURE__ */ jsx142("span", { children: opt.label })
64563
+ /* @__PURE__ */ jsx143("span", { children: opt.label })
63120
64564
  ] }, opt.value))
63121
64565
  ] }, field.id);
63122
64566
  }
63123
64567
  if (type === "checkbox" || type === "consent") {
63124
64568
  return /* @__PURE__ */ jsxs88("label", { className: "fb-inline form-label", children: [
63125
- /* @__PURE__ */ jsx142("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
63126
- /* @__PURE__ */ jsx142("span", { children: label })
64569
+ /* @__PURE__ */ jsx143("input", { type: "checkbox", name: field.id, required, className: "form-checkbox" }),
64570
+ /* @__PURE__ */ jsx143("span", { children: label })
63127
64571
  ] }, field.id);
63128
64572
  }
63129
64573
  const inputType = type === "email" || type === "url" || type === "tel" || type === "number" ? type : "text";
@@ -63138,8 +64582,8 @@ var FormNodeSSR = ({
63138
64582
  if (typeof field.max === "number") extra.max = field.max;
63139
64583
  }
63140
64584
  return /* @__PURE__ */ jsxs88("div", { className: "fb-field", children: [
63141
- /* @__PURE__ */ jsx142("label", { htmlFor: inputId, className: "form-label", children: label }),
63142
- /* @__PURE__ */ jsx142(
64585
+ /* @__PURE__ */ jsx143("label", { htmlFor: inputId, className: "form-label", children: label }),
64586
+ /* @__PURE__ */ jsx143(
63143
64587
  "input",
63144
64588
  {
63145
64589
  id: inputId,
@@ -63154,7 +64598,7 @@ var FormNodeSSR = ({
63154
64598
  ] }, field.id);
63155
64599
  };
63156
64600
  return /* @__PURE__ */ jsxs88("div", { ...getIslandRootProps("form", blockId), children: [
63157
- /* @__PURE__ */ jsx142(IslandPropsScript, { value: islandProps }),
64601
+ /* @__PURE__ */ jsx143(IslandPropsScript, { value: islandProps }),
63158
64602
  /* @__PURE__ */ jsxs88(
63159
64603
  "form",
63160
64604
  {
@@ -63163,15 +64607,15 @@ var FormNodeSSR = ({
63163
64607
  onSubmit,
63164
64608
  className: clsx_default("fb-form", display.className ?? void 0),
63165
64609
  children: [
63166
- /* @__PURE__ */ jsx142("input", { type: "hidden", name: "form_id", value: form2.id }),
63167
- /* @__PURE__ */ jsx142("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
64610
+ /* @__PURE__ */ jsx143("input", { type: "hidden", name: "form_id", value: form2.id }),
64611
+ /* @__PURE__ */ jsx143("input", { type: "text", name: "company", className: "hidden", tabIndex: -1, autoComplete: "off" }),
63168
64612
  groups.map((group) => {
63169
64613
  if (group.type === "row") {
63170
- return /* @__PURE__ */ jsx142("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
64614
+ return /* @__PURE__ */ jsx143("div", { className: "fb-row fb-row-2", children: group.fields.map(renderField) }, group.key);
63171
64615
  }
63172
64616
  return renderField(group.field);
63173
64617
  }),
63174
- /* @__PURE__ */ jsx142("div", { className: "fb-actions", children: /* @__PURE__ */ jsx142("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx142(
64618
+ /* @__PURE__ */ jsx143("div", { className: "fb-actions", children: /* @__PURE__ */ jsx143("div", { className: "fb-actions-inner", children: /* @__PURE__ */ jsx143(
63175
64619
  "button",
63176
64620
  {
63177
64621
  type: "submit",
@@ -63193,7 +64637,7 @@ var FormNodeSSR = ({
63193
64637
  init_clsx();
63194
64638
  init_buttons();
63195
64639
  init_newsletter_form_interactive();
63196
- import { jsx as jsx143, jsxs as jsxs89 } from "react/jsx-runtime";
64640
+ import { jsx as jsx144, jsxs as jsxs89 } from "react/jsx-runtime";
63197
64641
  function NewsletterFormSSR({
63198
64642
  blockId,
63199
64643
  siteId,
@@ -63228,9 +64672,9 @@ function NewsletterFormSSR({
63228
64672
  return /* @__PURE__ */ jsxs89("div", { className: "fb-field newsletter-field", children: [
63229
64673
  /* @__PURE__ */ jsxs89("label", { htmlFor: inputId, className: "form-label", children: [
63230
64674
  field.label,
63231
- field.required && /* @__PURE__ */ jsx143("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
64675
+ field.required && /* @__PURE__ */ jsx144("span", { className: "newsletter-required", "aria-hidden": "true", children: "*" })
63232
64676
  ] }),
63233
- /* @__PURE__ */ jsx143(
64677
+ /* @__PURE__ */ jsx144(
63234
64678
  "input",
63235
64679
  {
63236
64680
  id: inputId,
@@ -63250,9 +64694,9 @@ function NewsletterFormSSR({
63250
64694
  ...getIslandRootProps("newsletter-form", blockId),
63251
64695
  className: clsx_default("newsletter-form-ssr", className),
63252
64696
  children: [
63253
- /* @__PURE__ */ jsx143(IslandPropsScript, { value: islandProps }),
64697
+ /* @__PURE__ */ jsx144(IslandPropsScript, { value: islandProps }),
63254
64698
  /* @__PURE__ */ jsxs89("form", { method: "POST", className: "newsletter-form fb-form", children: [
63255
- /* @__PURE__ */ jsx143(
64699
+ /* @__PURE__ */ jsx144(
63256
64700
  "input",
63257
64701
  {
63258
64702
  type: "text",
@@ -63265,7 +64709,7 @@ function NewsletterFormSSR({
63265
64709
  ),
63266
64710
  /* @__PURE__ */ jsxs89("div", { className: "newsletter-form-fields", children: [
63267
64711
  fields3.map(renderField),
63268
- /* @__PURE__ */ jsx143("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx143(
64712
+ /* @__PURE__ */ jsx144("div", { className: "newsletter-submit", children: /* @__PURE__ */ jsx144(
63269
64713
  "button",
63270
64714
  {
63271
64715
  type: "submit",
@@ -63274,7 +64718,7 @@ function NewsletterFormSSR({
63274
64718
  }
63275
64719
  ) })
63276
64720
  ] }),
63277
- display.privacyNote && /* @__PURE__ */ jsx143("p", { className: "newsletter-privacy-note", children: display.privacyNote })
64721
+ display.privacyNote && /* @__PURE__ */ jsx144("p", { className: "newsletter-privacy-note", children: display.privacyNote })
63278
64722
  ] })
63279
64723
  ]
63280
64724
  }
@@ -63284,7 +64728,7 @@ var newsletter_form_server_default = NewsletterFormSSR;
63284
64728
 
63285
64729
  // ../blocks/src/system/runtime/nodes/product-detail.server.tsx
63286
64730
  init_shop_interactive();
63287
- import { jsx as jsx144, jsxs as jsxs90 } from "react/jsx-runtime";
64731
+ import { jsx as jsx145, jsxs as jsxs90 } from "react/jsx-runtime";
63288
64732
  function ProductDetailSSR({
63289
64733
  blockId,
63290
64734
  siteId,
@@ -63309,8 +64753,8 @@ function ProductDetailSSR({
63309
64753
  "data-site-id": siteId ?? void 0,
63310
64754
  ...getIslandRootProps("product-detail", blockId),
63311
64755
  children: [
63312
- /* @__PURE__ */ jsx144(IslandPropsScript, { value: islandProps }),
63313
- /* @__PURE__ */ jsx144(ProductDetailServerContent, { render: islandProps.render }),
64756
+ /* @__PURE__ */ jsx145(IslandPropsScript, { value: islandProps }),
64757
+ /* @__PURE__ */ jsx145(ProductDetailServerContent, { render: islandProps.render }),
63314
64758
  children
63315
64759
  ]
63316
64760
  }
@@ -63320,7 +64764,7 @@ var product_detail_server_default = ProductDetailSSR;
63320
64764
 
63321
64765
  // ../blocks/src/system/runtime/nodes/product-list.server.tsx
63322
64766
  init_shop_interactive();
63323
- import { jsx as jsx145, jsxs as jsxs91 } from "react/jsx-runtime";
64767
+ import { jsx as jsx146, jsxs as jsxs91 } from "react/jsx-runtime";
63324
64768
  function ProductListSSR({
63325
64769
  blockId,
63326
64770
  siteId,
@@ -63345,8 +64789,8 @@ function ProductListSSR({
63345
64789
  "data-site-id": siteId ?? void 0,
63346
64790
  ...getIslandRootProps("product-list", blockId),
63347
64791
  children: [
63348
- /* @__PURE__ */ jsx145(IslandPropsScript, { value: islandProps }),
63349
- /* @__PURE__ */ jsx145(ProductListServerContent, { render: islandProps.render }),
64792
+ /* @__PURE__ */ jsx146(IslandPropsScript, { value: islandProps }),
64793
+ /* @__PURE__ */ jsx146(ProductListServerContent, { render: islandProps.render }),
63350
64794
  children
63351
64795
  ]
63352
64796
  }
@@ -63358,7 +64802,7 @@ var product_list_server_default = ProductListSSR;
63358
64802
  init_buttons();
63359
64803
  init_view2();
63360
64804
  init_shop_interactive();
63361
- import { jsx as jsx146, jsxs as jsxs92 } from "react/jsx-runtime";
64805
+ import { jsx as jsx147, jsxs as jsxs92 } from "react/jsx-runtime";
63362
64806
  function ShopSSR({
63363
64807
  blockId,
63364
64808
  siteId,
@@ -63385,16 +64829,16 @@ function ShopSSR({
63385
64829
  "data-site-id": siteId ?? void 0,
63386
64830
  ...getIslandRootProps("shop", blockId),
63387
64831
  children: [
63388
- /* @__PURE__ */ jsx146(IslandPropsScript, { value: islandProps }),
63389
- /* @__PURE__ */ jsx146(
64832
+ /* @__PURE__ */ jsx147(IslandPropsScript, { value: islandProps }),
64833
+ /* @__PURE__ */ jsx147(
63390
64834
  PassesMembershipsSectionView,
63391
64835
  {
63392
64836
  display: render.display,
63393
- passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx146(
64837
+ passCards: render.display.passes.map((pass) => /* @__PURE__ */ jsx147(
63394
64838
  PassCardView,
63395
64839
  {
63396
64840
  display: pass,
63397
- action: /* @__PURE__ */ jsx146(
64841
+ action: /* @__PURE__ */ jsx147(
63398
64842
  "button",
63399
64843
  {
63400
64844
  type: "button",
@@ -63407,11 +64851,11 @@ function ShopSSR({
63407
64851
  },
63408
64852
  pass.id
63409
64853
  )),
63410
- membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx146(
64854
+ membershipCards: render.display.memberships.map((membership) => /* @__PURE__ */ jsx147(
63411
64855
  MembershipCardView,
63412
64856
  {
63413
64857
  display: membership,
63414
- action: /* @__PURE__ */ jsx146(
64858
+ action: /* @__PURE__ */ jsx147(
63415
64859
  "button",
63416
64860
  {
63417
64861
  type: "button",
@@ -63522,6 +64966,7 @@ var serverComponentRegistry = {
63522
64966
  richText: RichTextNode,
63523
64967
  button: ButtonNode,
63524
64968
  icon: IconNode,
64969
+ "feature-card-icon": FeatureCardIconNode,
63525
64970
  media: MediaNodeServer,
63526
64971
  "file-download": FileDownloadNode,
63527
64972
  videoEmbed: VideoEmbedNode,
@@ -68165,7 +69610,7 @@ function sourceLabel(source) {
68165
69610
  // ../blocks/src/PageRenderer.tsx
68166
69611
  init_typeGuards2();
68167
69612
  init_media3();
68168
- import { Fragment as Fragment26, jsx as jsx147 } from "react/jsx-runtime";
69613
+ import { Fragment as Fragment26, jsx as jsx148 } from "react/jsx-runtime";
68169
69614
  function PageRenderer({
68170
69615
  theme,
68171
69616
  page,
@@ -68189,12 +69634,12 @@ function PageRenderer({
68189
69634
  ]
68190
69635
  );
68191
69636
  if (!page || page.blocks.length === 0) {
68192
- return /* @__PURE__ */ jsx147("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
69637
+ return /* @__PURE__ */ jsx148("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: "No blocks found." });
68193
69638
  }
68194
69639
  const themeTokens = providedThemeTokens ?? buildThemeRuntime(theme).tokens;
68195
69640
  const resolvedRegistry = registry ?? getDefaultComponentRegistry();
68196
69641
  setContextResolveImageUrlContext(imageResolveContext);
68197
- return /* @__PURE__ */ jsx147("div", { children: page.blocks.map((block, index) => {
69642
+ return /* @__PURE__ */ jsx148("div", { children: page.blocks.map((block, index) => {
68198
69643
  const blockKey = block.id ?? `${block.kind}-${index}`;
68199
69644
  const cleanKind = block.kind.replace(/^block\./, "");
68200
69645
  const definition = getBlockDefinition(block.kind);
@@ -68217,14 +69662,14 @@ function PageRenderer({
68217
69662
  customBlocks
68218
69663
  };
68219
69664
  if (!shouldUseWrapper) {
68220
- return /* @__PURE__ */ jsx147(MemoBlockSection, { ...blockSectionProps }, blockKey);
69665
+ return /* @__PURE__ */ jsx148(MemoBlockSection, { ...blockSectionProps }, blockKey);
68221
69666
  }
68222
69667
  const wrapperClassName = [
68223
69668
  `block-${cleanKind}`,
68224
69669
  wrapBlock ? "group relative" : null
68225
69670
  ].filter(Boolean).join(" ");
68226
69671
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
68227
- return /* @__PURE__ */ jsx147(
69672
+ return /* @__PURE__ */ jsx148(
68228
69673
  "div",
68229
69674
  {
68230
69675
  className: wrapperClassName,
@@ -68234,7 +69679,7 @@ function PageRenderer({
68234
69679
  "data-variant": variantKey ?? void 0,
68235
69680
  "data-block-variant": variantKey ?? void 0,
68236
69681
  "data-style-group": styleGroup,
68237
- children: /* @__PURE__ */ jsx147(MemoBlockSection, { ...blockSectionProps })
69682
+ children: /* @__PURE__ */ jsx148(MemoBlockSection, { ...blockSectionProps })
68238
69683
  },
68239
69684
  blockKey
68240
69685
  );
@@ -68355,8 +69800,8 @@ var MemoBlockSection = React34.memo(
68355
69800
  blockId: block.id ?? null,
68356
69801
  blockKind: block.kind
68357
69802
  };
68358
- const rendered2 = /* @__PURE__ */ jsx147(OverrideComponent, { ...baseProps });
68359
- const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered2 });
69803
+ const rendered2 = /* @__PURE__ */ jsx148(OverrideComponent, { ...baseProps });
69804
+ const node2 = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered2) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered2 });
68360
69805
  return finish(node2, {
68361
69806
  outcome: "overrideWithoutDefinition",
68362
69807
  override: true,
@@ -68381,7 +69826,7 @@ var MemoBlockSection = React34.memo(
68381
69826
  const rendered = fallback(
68382
69827
  block.kind.startsWith("custom.") ? `No renderer available for block kind "${block.kind}". The custom block definition was not found (missing manifest).` : `No renderer available for block kind "${block.kind}".`
68383
69828
  );
68384
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered });
69829
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered });
68385
69830
  return finish(node, { outcome: "missingDefinition", override: false });
68386
69831
  }
68387
69832
  const manifestHasLayout = Boolean(definition.manifest.layout) || definition.manifest.variants && Object.keys(definition.manifest.variants).length > 0;
@@ -68403,7 +69848,7 @@ var MemoBlockSection = React34.memo(
68403
69848
  const rendered = fallback(
68404
69849
  block.kind.startsWith("custom.") ? `No renderer available for block kind "${block.kind}". This custom block has no layout/variants, so it must be rendered via blockOverrides["${block.kind}"].` : `No renderer available for block kind "${block.kind}".`
68405
69850
  );
68406
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered });
69851
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered });
68407
69852
  return finish(node, { outcome: "missingLayout", override: false });
68408
69853
  }
68409
69854
  const content = getRenderableContent(block);
@@ -68440,14 +69885,14 @@ var MemoBlockSection = React34.memo(
68440
69885
  const rendered = fallback(
68441
69886
  `Unable to render block kind "${block.kind}".`
68442
69887
  );
68443
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered });
69888
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered });
68444
69889
  return finish(node, { outcome: "invalidPlaceholder", override: false });
68445
69890
  }
68446
69891
  } else {
68447
69892
  const rendered = fallback(
68448
69893
  `Invalid content for block kind "${block.kind}".`
68449
69894
  );
68450
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered });
69895
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered });
68451
69896
  return finish(node, { outcome: "invalidContent", override: false });
68452
69897
  }
68453
69898
  try {
@@ -68480,7 +69925,7 @@ var MemoBlockSection = React34.memo(
68480
69925
  };
68481
69926
  let rendered;
68482
69927
  if (OverrideComponent) {
68483
- rendered = /* @__PURE__ */ jsx147(OverrideComponent, { ...baseProps });
69928
+ rendered = /* @__PURE__ */ jsx148(OverrideComponent, { ...baseProps });
68484
69929
  } else {
68485
69930
  const BlockComponent = getCachedBlockComponent(definition.manifest);
68486
69931
  const pathBase = typeof block.id === "string" && block.id.length > 0 ? `blocks.${block.id}.` : void 0;
@@ -68503,7 +69948,7 @@ var MemoBlockSection = React34.memo(
68503
69948
  };
68504
69949
  const blockBindings = block.bindings;
68505
69950
  const fragmentRegistry2 = getFragmentRegistry();
68506
- rendered = /* @__PURE__ */ jsx147(
69951
+ rendered = /* @__PURE__ */ jsx148(
68507
69952
  BlockComponent,
68508
69953
  {
68509
69954
  ...baseProps,
@@ -68517,18 +69962,18 @@ var MemoBlockSection = React34.memo(
68517
69962
  );
68518
69963
  }
68519
69964
  if (wrapBlock && block.id) {
68520
- return finish(/* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }), {
69965
+ return finish(/* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }), {
68521
69966
  override: Boolean(OverrideComponent),
68522
69967
  hasResolvedData
68523
69968
  });
68524
69969
  }
68525
- return finish(/* @__PURE__ */ jsx147(Fragment26, { children: rendered }), {
69970
+ return finish(/* @__PURE__ */ jsx148(Fragment26, { children: rendered }), {
68526
69971
  override: Boolean(OverrideComponent),
68527
69972
  hasResolvedData
68528
69973
  });
68529
69974
  } catch {
68530
69975
  const rendered = usePlaceholders ? fallback(`Unable to render block kind "${block.kind}".`) : fallback(`Invalid content for block kind "${block.kind}".`);
68531
- const node = wrapBlock && block.id ? /* @__PURE__ */ jsx147(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx147(Fragment26, { children: rendered });
69976
+ const node = wrapBlock && block.id ? /* @__PURE__ */ jsx148(Fragment26, { children: wrapBlock(block.id, rendered) }) : /* @__PURE__ */ jsx148(Fragment26, { children: rendered });
68532
69977
  return finish(node, { outcome: "exception", override: false });
68533
69978
  }
68534
69979
  },
@@ -68537,7 +69982,7 @@ var MemoBlockSection = React34.memo(
68537
69982
  }
68538
69983
  );
68539
69984
  function fallback(message) {
68540
- return /* @__PURE__ */ jsx147("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
69985
+ return /* @__PURE__ */ jsx148("div", { className: "rb-p-6 rb-caption", style: textColorStyle("mutedText"), children: message });
68541
69986
  }
68542
69987
  function shouldDebugCustomBlocks() {
68543
69988
  try {
@@ -78073,10 +79518,64 @@ var containerResponsiveThemeCss = `/*
78073
79518
 
78074
79519
  :where(.theme-scope) .rb-heading-decoration-color-muted {
78075
79520
  color: rgb(var(--tb-mutedText));
79521
+ }
79522
+
79523
+ /* =============================================================================
79524
+ * Block: Feature Card Icons
79525
+ * =============================================================================
79526
+ */
79527
+
79528
+ :where(.theme-scope) .rb-feature-card-icon-zone {
79529
+ display: inline-flex;
79530
+ align-items: center;
79531
+ justify-content: center;
79532
+ flex: 0 0 auto;
79533
+ margin-bottom: 0.125rem;
79534
+ color: rgb(var(--tb-primary));
79535
+ }
79536
+
79537
+ :where(.theme-scope) .rb-feature-card-icon-zone--empty {
79538
+ visibility: hidden;
79539
+ }
79540
+
79541
+ :where(.theme-scope) .rb-feature-card-icon-zone--plain {
79542
+ width: 1.5rem;
79543
+ height: 1.5rem;
79544
+ }
79545
+
79546
+ :where(.theme-scope) .rb-feature-card-icon-zone--soft-badge,
79547
+ :where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
79548
+ width: 2.5rem;
79549
+ height: 2.5rem;
79550
+ border-radius: var(--rb-block-radius, 0.75rem);
79551
+ }
79552
+
79553
+ :where(.theme-scope) .rb-feature-card-icon-zone--soft-badge {
79554
+ background-color: rgb(var(--tb-primary) / 10%);
79555
+ }
79556
+
79557
+ :where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
79558
+ background-color: rgb(var(--tb-surface));
79559
+ border: 1px solid rgb(var(--tb-border));
79560
+ box-shadow: 0 1px 2px rgba(var(--tb-shadow), 0.08);
79561
+ }
79562
+
79563
+ :where(.theme-scope) .rb-feature-card-icon {
79564
+ width: 1.25rem;
79565
+ height: 1.25rem;
79566
+ }
79567
+
79568
+ :where(.theme-scope) .rb-feature-card-icon--generated {
79569
+ object-fit: contain;
79570
+ }
79571
+
79572
+ :where(.theme-scope) .rb-feature-card-icon-zone--plain .rb-feature-card-icon {
79573
+ width: 1.5rem;
79574
+ height: 1.5rem;
78076
79575
  }`;
78077
79576
 
78078
79577
  // ../theme-core/src/ThemeScopeCore.tsx
78079
- import { jsx as jsx148, jsxs as jsxs93 } from "react/jsx-runtime";
79578
+ import { jsx as jsx149, jsxs as jsxs93 } from "react/jsx-runtime";
78080
79579
  function ThemeScopeCore({
78081
79580
  cssVars,
78082
79581
  buttonCss,
@@ -78117,7 +79616,7 @@ function ThemeScopeCore({
78117
79616
  ...dataAttrs,
78118
79617
  suppressHydrationWarning,
78119
79618
  children: [
78120
- isContainerResponsive && /* @__PURE__ */ jsx148(
79619
+ isContainerResponsive && /* @__PURE__ */ jsx149(
78121
79620
  "style",
78122
79621
  {
78123
79622
  "data-container-responsive-overrides": true,
@@ -78126,70 +79625,70 @@ function ThemeScopeCore({
78126
79625
  }
78127
79626
  }
78128
79627
  ),
78129
- layoutCss && /* @__PURE__ */ jsx148(
79628
+ layoutCss && /* @__PURE__ */ jsx149(
78130
79629
  "style",
78131
79630
  {
78132
79631
  "data-layout-styles": true,
78133
79632
  dangerouslySetInnerHTML: { __html: escapeStyleContent(layoutCss) }
78134
79633
  }
78135
79634
  ),
78136
- buttonCss && /* @__PURE__ */ jsx148(
79635
+ buttonCss && /* @__PURE__ */ jsx149(
78137
79636
  "style",
78138
79637
  {
78139
79638
  "data-button-effects": true,
78140
79639
  dangerouslySetInnerHTML: { __html: escapeStyleContent(buttonCss) }
78141
79640
  }
78142
79641
  ),
78143
- headerCss && /* @__PURE__ */ jsx148(
79642
+ headerCss && /* @__PURE__ */ jsx149(
78144
79643
  "style",
78145
79644
  {
78146
79645
  "data-header-styles": true,
78147
79646
  dangerouslySetInnerHTML: { __html: escapeStyleContent(headerCss) }
78148
79647
  }
78149
79648
  ),
78150
- footerCss && /* @__PURE__ */ jsx148(
79649
+ footerCss && /* @__PURE__ */ jsx149(
78151
79650
  "style",
78152
79651
  {
78153
79652
  "data-footer-styles": true,
78154
79653
  dangerouslySetInnerHTML: { __html: escapeStyleContent(footerCss) }
78155
79654
  }
78156
79655
  ),
78157
- cardCss && /* @__PURE__ */ jsx148(
79656
+ cardCss && /* @__PURE__ */ jsx149(
78158
79657
  "style",
78159
79658
  {
78160
79659
  "data-card-styles": true,
78161
79660
  dangerouslySetInnerHTML: { __html: escapeStyleContent(cardCss) }
78162
79661
  }
78163
79662
  ),
78164
- accordionCss && /* @__PURE__ */ jsx148(
79663
+ accordionCss && /* @__PURE__ */ jsx149(
78165
79664
  "style",
78166
79665
  {
78167
79666
  "data-accordion-styles": true,
78168
79667
  dangerouslySetInnerHTML: { __html: escapeStyleContent(accordionCss) }
78169
79668
  }
78170
79669
  ),
78171
- inputCss && /* @__PURE__ */ jsx148(
79670
+ inputCss && /* @__PURE__ */ jsx149(
78172
79671
  "style",
78173
79672
  {
78174
79673
  "data-input-styles": true,
78175
79674
  dangerouslySetInnerHTML: { __html: escapeStyleContent(inputCss) }
78176
79675
  }
78177
79676
  ),
78178
- statusCss && /* @__PURE__ */ jsx148(
79677
+ statusCss && /* @__PURE__ */ jsx149(
78179
79678
  "style",
78180
79679
  {
78181
79680
  "data-status-styles": true,
78182
79681
  dangerouslySetInnerHTML: { __html: escapeStyleContent(statusCss) }
78183
79682
  }
78184
79683
  ),
78185
- progressCss && /* @__PURE__ */ jsx148(
79684
+ progressCss && /* @__PURE__ */ jsx149(
78186
79685
  "style",
78187
79686
  {
78188
79687
  "data-progress-styles": true,
78189
79688
  dangerouslySetInnerHTML: { __html: escapeStyleContent(progressCss) }
78190
79689
  }
78191
79690
  ),
78192
- typographyCss && /* @__PURE__ */ jsx148(
79691
+ typographyCss && /* @__PURE__ */ jsx149(
78193
79692
  "style",
78194
79693
  {
78195
79694
  "data-typography-styles": true,
@@ -78198,7 +79697,7 @@ function ThemeScopeCore({
78198
79697
  }
78199
79698
  }
78200
79699
  ),
78201
- eventCalendarCss && /* @__PURE__ */ jsx148(
79700
+ eventCalendarCss && /* @__PURE__ */ jsx149(
78202
79701
  "style",
78203
79702
  {
78204
79703
  "data-event-calendar-styles": true,
@@ -78207,14 +79706,14 @@ function ThemeScopeCore({
78207
79706
  }
78208
79707
  }
78209
79708
  ),
78210
- blockVarsCss && /* @__PURE__ */ jsx148(
79709
+ blockVarsCss && /* @__PURE__ */ jsx149(
78211
79710
  "style",
78212
79711
  {
78213
79712
  "data-block-vars-styles": true,
78214
79713
  dangerouslySetInnerHTML: { __html: escapeStyleContent(blockVarsCss) }
78215
79714
  }
78216
79715
  ),
78217
- blockCustomVarsCss && /* @__PURE__ */ jsx148(
79716
+ blockCustomVarsCss && /* @__PURE__ */ jsx149(
78218
79717
  "style",
78219
79718
  {
78220
79719
  "data-block-custom-vars-styles": true,
@@ -78223,7 +79722,7 @@ function ThemeScopeCore({
78223
79722
  }
78224
79723
  }
78225
79724
  ),
78226
- blockCustomCss && /* @__PURE__ */ jsx148(
79725
+ blockCustomCss && /* @__PURE__ */ jsx149(
78227
79726
  "style",
78228
79727
  {
78229
79728
  "data-block-custom-styles": true,
@@ -78232,14 +79731,14 @@ function ThemeScopeCore({
78232
79731
  }
78233
79732
  }
78234
79733
  ),
78235
- atRulesCss && /* @__PURE__ */ jsx148(
79734
+ atRulesCss && /* @__PURE__ */ jsx149(
78236
79735
  "style",
78237
79736
  {
78238
79737
  "data-at-rules-styles": true,
78239
79738
  dangerouslySetInnerHTML: { __html: escapeStyleContent(atRulesCss) }
78240
79739
  }
78241
79740
  ),
78242
- customCss && /* @__PURE__ */ jsx148(
79741
+ customCss && /* @__PURE__ */ jsx149(
78243
79742
  "style",
78244
79743
  {
78245
79744
  "data-custom-theme-styles": true,
@@ -78266,7 +79765,7 @@ function buildThemeDataAttrs(axes, themeId) {
78266
79765
  }
78267
79766
 
78268
79767
  // ../theme-core/src/ThemeScope.tsx
78269
- import { jsx as jsx149 } from "react/jsx-runtime";
79768
+ import { jsx as jsx150 } from "react/jsx-runtime";
78270
79769
  function ThemeScope({
78271
79770
  theme,
78272
79771
  children,
@@ -78276,7 +79775,7 @@ function ThemeScope({
78276
79775
  }) {
78277
79776
  const runtime = buildThemeRuntime(theme, { themeId, responsiveMode });
78278
79777
  const dataAttrs = buildThemeDataAttrs(theme.axes, themeId);
78279
- return /* @__PURE__ */ jsx149(
79778
+ return /* @__PURE__ */ jsx150(
78280
79779
  ThemeScopeCore,
78281
79780
  {
78282
79781
  cssVars: runtime.cssVars,
@@ -78338,11 +79837,11 @@ init_breakpoints();
78338
79837
 
78339
79838
  // ../theme-core/src/ThemeFontLoader.tsx
78340
79839
  import * as React35 from "react";
78341
- import { Fragment as Fragment27, jsx as jsx150, jsxs as jsxs94 } from "react/jsx-runtime";
79840
+ import { Fragment as Fragment27, jsx as jsx151, jsxs as jsxs94 } from "react/jsx-runtime";
78342
79841
 
78343
79842
  // ../theme-core/src/siteChrome.tsx
78344
79843
  init_types3();
78345
- import { Fragment as Fragment28, jsx as jsx151, jsxs as jsxs95 } from "react/jsx-runtime";
79844
+ import { Fragment as Fragment28, jsx as jsx152, jsxs as jsxs95 } from "react/jsx-runtime";
78346
79845
 
78347
79846
  // ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
78348
79847
  init_colorConversion();
@@ -78444,10 +79943,10 @@ init_colorConversion();
78444
79943
  init_expandPalette();
78445
79944
 
78446
79945
  // ../theme-core/src/mock-themes/components/swatch.tsx
78447
- import { jsx as jsx152, jsxs as jsxs96 } from "react/jsx-runtime";
79946
+ import { jsx as jsx153, jsxs as jsxs96 } from "react/jsx-runtime";
78448
79947
 
78449
79948
  // ../theme-core/src/mock-themes/components/PaletteCard.tsx
78450
- import { jsx as jsx153, jsxs as jsxs97 } from "react/jsx-runtime";
79949
+ import { jsx as jsx154, jsxs as jsxs97 } from "react/jsx-runtime";
78451
79950
 
78452
79951
  // ../theme-core/src/index.ts
78453
79952
  init_modern_minimal();
@@ -78550,7 +80049,7 @@ function ThemeScope2(props2) {
78550
80049
  }
78551
80050
 
78552
80051
  // src/rendering/components/pageShared.tsx
78553
- import { jsx as jsx154 } from "react/jsx-runtime";
80052
+ import { jsx as jsx155 } from "react/jsx-runtime";
78554
80053
  function toPageHydrationBootstrapConfig(props2) {
78555
80054
  return {
78556
80055
  siteId: props2.siteId,
@@ -78582,7 +80081,7 @@ function PageContent({
78582
80081
  }) {
78583
80082
  const baseTokens = providedTokens ?? buildThemeRuntime2(theme).tokens;
78584
80083
  const themeTokens = sdkConfig?.theme?.palette ? { ...baseTokens, palette: { ...baseTokens.palette, ...sdkConfig.theme.palette } } : baseTokens;
78585
- const content = /* @__PURE__ */ jsx154(
80084
+ const content = /* @__PURE__ */ jsx155(
78586
80085
  PageRenderer2,
78587
80086
  {
78588
80087
  theme,
@@ -78618,16 +80117,16 @@ function PageContent({
78618
80117
  customBlocks
78619
80118
  }
78620
80119
  );
78621
- return useThemeScope ? /* @__PURE__ */ jsx154(ThemeScope2, { theme, children: content }) : content;
80120
+ return useThemeScope ? /* @__PURE__ */ jsx155(ThemeScope2, { theme, children: content }) : content;
78622
80121
  }
78623
80122
 
78624
80123
  // src/rendering/components/Page.tsx
78625
- import { Fragment as Fragment29, jsx as jsx155, jsxs as jsxs98 } from "react/jsx-runtime";
80124
+ import { Fragment as Fragment29, jsx as jsx156, jsxs as jsxs98 } from "react/jsx-runtime";
78626
80125
  var HydratorWithContextProps = BlocksIslandsHydrator;
78627
80126
  function Page(props2) {
78628
80127
  return /* @__PURE__ */ jsxs98(Fragment29, { children: [
78629
- /* @__PURE__ */ jsx155(HydratorWithContextProps, { ...toPageHydrationBootstrapConfig(props2) }),
78630
- /* @__PURE__ */ jsx155(PageContent, { ...props2 })
80128
+ /* @__PURE__ */ jsx156(HydratorWithContextProps, { ...toPageHydrationBootstrapConfig(props2) }),
80129
+ /* @__PURE__ */ jsx156(PageContent, { ...props2 })
78631
80130
  ] });
78632
80131
  }
78633
80132
 
@@ -79065,7 +80564,7 @@ function buildLogo(logo, fallbackAlt) {
79065
80564
  }
79066
80565
 
79067
80566
  // src/rendering/components/Layout.tsx
79068
- import { Fragment as Fragment30, jsx as jsx156, jsxs as jsxs99 } from "react/jsx-runtime";
80567
+ import { Fragment as Fragment30, jsx as jsx157, jsxs as jsxs99 } from "react/jsx-runtime";
79069
80568
  async function Layout({
79070
80569
  siteData: providedSiteData,
79071
80570
  client,
@@ -79173,7 +80672,7 @@ async function Layout({
79173
80672
  isSdkSite,
79174
80673
  mode: theme.footer?.mode
79175
80674
  });
79176
- const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx156(
80675
+ const footerBlocksElement = footerPlan.renderFooterBlocks && footerBlocks.length > 0 ? /* @__PURE__ */ jsx157(
79177
80676
  PageRenderer2,
79178
80677
  {
79179
80678
  theme,
@@ -79221,7 +80720,7 @@ async function Layout({
79221
80720
  children,
79222
80721
  footerElement
79223
80722
  ] });
79224
- return useThemeScope ? /* @__PURE__ */ jsx156(ThemeScope2, { theme, children: content }) : content;
80723
+ return useThemeScope ? /* @__PURE__ */ jsx157(ThemeScope2, { theme, children: content }) : content;
79225
80724
  }
79226
80725
 
79227
80726
  // ../theme-core/src/styles/gradients.ts
@@ -82965,6 +84464,46 @@ var ENDPOINT_DEFINITIONS = {
82965
84464
  auth: "user",
82966
84465
  responseKind: "json"
82967
84466
  },
84467
+ getSiteIconStyleGuide: {
84468
+ path: "/sites/{siteId}/settings/icon-style-guide",
84469
+ method: "GET",
84470
+ revalidate: 120,
84471
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
84472
+ auth: "user",
84473
+ responseKind: "json",
84474
+ errors: []
84475
+ },
84476
+ updateSiteIconStyleGuide: {
84477
+ path: "/sites/{siteId}/settings/icon-style-guide",
84478
+ method: "POST",
84479
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
84480
+ auth: "user",
84481
+ responseKind: "json",
84482
+ errors: []
84483
+ },
84484
+ regenerateSiteIconStyleGuide: {
84485
+ path: "/sites/{siteId}/settings/icon-style-guide/regenerate",
84486
+ method: "POST",
84487
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
84488
+ auth: "user",
84489
+ responseKind: "json",
84490
+ errors: []
84491
+ },
84492
+ generateGeneratedIconSet: {
84493
+ path: "/sites/{siteId}/ai/generated-icons/generate",
84494
+ method: "POST",
84495
+ auth: "user",
84496
+ responseKind: "json",
84497
+ errors: []
84498
+ },
84499
+ applyGeneratedIconSet: {
84500
+ path: "/sites/{siteId}/ai/generated-icons/apply",
84501
+ method: "POST",
84502
+ tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
84503
+ auth: "user",
84504
+ responseKind: "json",
84505
+ errors: []
84506
+ },
82968
84507
  getSiteAiProfile: {
82969
84508
  path: "/sites/{siteId}/settings/ai-site-profile",
82970
84509
  method: "GET",
@@ -84740,6 +86279,14 @@ var ENDPOINT_DEFINITIONS = {
84740
86279
  auth: "public",
84741
86280
  responseKind: "json"
84742
86281
  },
86282
+ getGeneratedIconRenderAssets: {
86283
+ path: "/public/sites/{siteId}/generated-icon-assets",
86284
+ method: "POST",
86285
+ tags: [TAG_TEMPLATES.siteRoutableContent],
86286
+ auth: "public",
86287
+ responseKind: "json",
86288
+ errors: []
86289
+ },
84743
86290
  // Resolve entry subroute by kind and URL segment
84744
86291
  resolveEntrySubroute: {
84745
86292
  path: "/public/sites/{siteId}/routing/subroutes/resolve",
@@ -86444,6 +87991,13 @@ var ENDPOINT_DEFINITIONS = {
86444
87991
  auth: "service",
86445
87992
  responseKind: "json"
86446
87993
  },
87994
+ sdkDeleteNavigationMenu: {
87995
+ path: "/sdk/{siteId}/navigation/{menuId}",
87996
+ method: "DELETE",
87997
+ auth: "service",
87998
+ responseKind: "json",
87999
+ errors: ["resource:not_found", "server:internal_error"]
88000
+ },
86447
88001
  sdkUpsertTheme: {
86448
88002
  path: "/sdk/{siteId}/theme",
86449
88003
  method: "POST",
@@ -87085,6 +88639,20 @@ var managedDomainAddOnPricingSnapshotSchema = z68.object({
87085
88639
  monthlyCurrency: z68.literal("gbp")
87086
88640
  });
87087
88641
 
88642
+ // ../api/src/media.ts
88643
+ var AMBIENT_BACKGROUND_ROLES2 = [
88644
+ "light-texture",
88645
+ "proof-band-dark",
88646
+ "cta-wash",
88647
+ "footer-detail",
88648
+ "style-atmosphere-1",
88649
+ "style-atmosphere-2"
88650
+ ];
88651
+ var SITE_BACKGROUND_ASSET_USES2 = [
88652
+ "selected-background",
88653
+ ...AMBIENT_BACKGROUND_ROLES2
88654
+ ];
88655
+
87088
88656
  // ../api/src/navigation/contracts.ts
87089
88657
  import { z as z69 } from "zod";
87090
88658
  var portalLinkPayloadSchema = z69.object({
@@ -87788,7 +89356,7 @@ function preset(id, verticalId, canonicalBehaviour, label, pluralLabel, descript
87788
89356
  }
87789
89357
 
87790
89358
  // ../api/src/utils/isRecord.ts
87791
- function isRecord7(value) {
89359
+ function isRecord8(value) {
87792
89360
  return typeof value === "object" && value !== null && !Array.isArray(value);
87793
89361
  }
87794
89362
 
@@ -88095,7 +89663,7 @@ function sanitizeMarks(marks) {
88095
89663
  if (mark.type === "bold" || mark.type === "strong" || mark.type === "italic" || mark.type === "em") {
88096
89664
  return [{ type: mark.type }];
88097
89665
  }
88098
- if (mark.type === "link" && isRecord7(mark.attrs) && typeof mark.attrs.href === "string") {
89666
+ if (mark.type === "link" && isRecord8(mark.attrs) && typeof mark.attrs.href === "string") {
88099
89667
  const attrs = { href: mark.attrs.href };
88100
89668
  if (typeof mark.attrs.target === "string" && mark.attrs.target.trim().length > 0) {
88101
89669
  attrs.target = mark.attrs.target;
@@ -88110,10 +89678,10 @@ function sanitizeMarks(marks) {
88110
89678
  return sanitized.length > 0 ? sanitized : void 0;
88111
89679
  }
88112
89680
  function unwrapRichTextValue(value) {
88113
- if (isRecord7(value) && isRecord7(value.doc)) {
89681
+ if (isRecord8(value) && isRecord8(value.doc)) {
88114
89682
  return unwrapRichTextValue(value.doc);
88115
89683
  }
88116
- if (isRecord7(value) && value.type === "doc") {
89684
+ if (isRecord8(value) && value.type === "doc") {
88117
89685
  return {
88118
89686
  type: "doc",
88119
89687
  content: Array.isArray(value.content) ? value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) : []
@@ -88122,7 +89690,7 @@ function unwrapRichTextValue(value) {
88122
89690
  return EMPTY_SITE_BANNER_BODY;
88123
89691
  }
88124
89692
  function isTipTapNodeLike(value) {
88125
- return isRecord7(value) && typeof value.type === "string";
89693
+ return isRecord8(value) && typeof value.type === "string";
88126
89694
  }
88127
89695
  function coerceTipTapNode(value) {
88128
89696
  return {
@@ -88130,9 +89698,9 @@ function coerceTipTapNode(value) {
88130
89698
  ...Array.isArray(value.content) ? { content: value.content.filter(isTipTapNodeLike).map(coerceTipTapNode) } : {},
88131
89699
  ...typeof value.text === "string" ? { text: value.text } : {},
88132
89700
  ...Array.isArray(value.marks) ? {
88133
- marks: value.marks.filter((mark) => isRecord7(mark) && typeof mark.type === "string").map((mark) => ({
89701
+ marks: value.marks.filter((mark) => isRecord8(mark) && typeof mark.type === "string").map((mark) => ({
88134
89702
  type: mark.type,
88135
- ...isRecord7(mark.attrs) ? { attrs: mark.attrs } : {}
89703
+ ...isRecord8(mark.attrs) ? { attrs: mark.attrs } : {}
88136
89704
  }))
88137
89705
  } : {}
88138
89706
  };
@@ -88197,7 +89765,6 @@ var websiteSurfaceIds = [
88197
89765
  "site.footerBlocks",
88198
89766
  "site.navigation",
88199
89767
  "site.media",
88200
- "site.style",
88201
89768
  "site.performance"
88202
89769
  ];
88203
89770
  var websiteSurfaceIdSet = new Set(
@@ -88218,6 +89785,12 @@ var hiddenDemoSettingsNavSurfaceIds = [
88218
89785
  ];
88219
89786
  var hiddenDemoSettingsNavIds = new Set(hiddenDemoSettingsNavSurfaceIds);
88220
89787
 
89788
+ // ../api/src/navigation/identity.ts
89789
+ function unsafeAsNavigationMenuIdentifier(identifier) {
89790
+ return identifier;
89791
+ }
89792
+ var MAIN_NAVIGATION_MENU_IDENTIFIER = unsafeAsNavigationMenuIdentifier("main");
89793
+
88221
89794
  // ../api/src/aiPlayground.ts
88222
89795
  import { z as z75 } from "zod";
88223
89796
  var Rfc6902PatchOp = z75.discriminatedUnion("op", [
@@ -88542,7 +90115,7 @@ async function prefetchBlockData2(page, context, client, options) {
88542
90115
  }
88543
90116
 
88544
90117
  // src/rendering/components/Block.shared.tsx
88545
- import { jsx as jsx157, jsxs as jsxs100 } from "react/jsx-runtime";
90118
+ import { jsx as jsx158, jsxs as jsxs100 } from "react/jsx-runtime";
88546
90119
  function toBlockHydrationBootstrapConfig(props2) {
88547
90120
  return {
88548
90121
  siteId: props2.siteId,
@@ -88551,7 +90124,7 @@ function toBlockHydrationBootstrapConfig(props2) {
88551
90124
  };
88552
90125
  }
88553
90126
  function renderUnknownBlock(blockKind) {
88554
- return /* @__PURE__ */ jsx157("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs100("p", { className: "text-red-800 font-semibold", children: [
90127
+ return /* @__PURE__ */ jsx158("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs100("p", { className: "text-red-800 font-semibold", children: [
88555
90128
  "Unknown block type: ",
88556
90129
  blockKind
88557
90130
  ] }) });
@@ -88631,7 +90204,7 @@ function renderBlockOverride({
88631
90204
  runtime,
88632
90205
  resolvedData
88633
90206
  }) {
88634
- return /* @__PURE__ */ jsx157(
90207
+ return /* @__PURE__ */ jsx158(
88635
90208
  OverrideComponent,
88636
90209
  {
88637
90210
  content: props2.content,
@@ -88657,7 +90230,7 @@ function renderManifestBlock({
88657
90230
  const BlockComponent = makeDefaultBlockComponent({ manifest: definition.manifest });
88658
90231
  const registry = getDefaultComponentRegistry();
88659
90232
  const blocksThemeConfig = runtime.blocksTheme;
88660
- return /* @__PURE__ */ jsx157(
90233
+ return /* @__PURE__ */ jsx158(
88661
90234
  BlockComponent,
88662
90235
  {
88663
90236
  blockId: props2.blockId ?? void 0,
@@ -88694,12 +90267,12 @@ async function BlockContent(props2) {
88694
90267
  }
88695
90268
 
88696
90269
  // src/rendering/components/Block.tsx
88697
- import { Fragment as Fragment31, jsx as jsx158, jsxs as jsxs101 } from "react/jsx-runtime";
90270
+ import { Fragment as Fragment31, jsx as jsx159, jsxs as jsxs101 } from "react/jsx-runtime";
88698
90271
  var HydratorWithContextProps2 = BlocksIslandsHydrator;
88699
90272
  function Block(props2) {
88700
90273
  return /* @__PURE__ */ jsxs101(Fragment31, { children: [
88701
- /* @__PURE__ */ jsx158(HydratorWithContextProps2, { ...toBlockHydrationBootstrapConfig(props2) }),
88702
- /* @__PURE__ */ jsx158(BlockContent, { ...props2 })
90274
+ /* @__PURE__ */ jsx159(HydratorWithContextProps2, { ...toBlockHydrationBootstrapConfig(props2) }),
90275
+ /* @__PURE__ */ jsx159(BlockContent, { ...props2 })
88703
90276
  ] });
88704
90277
  }
88705
90278
 
@@ -89323,9 +90896,9 @@ var ImagePresets2 = {
89323
90896
  };
89324
90897
 
89325
90898
  // src/rendering/primitives/RichText.tsx
89326
- import { jsx as jsx159 } from "react/jsx-runtime";
90899
+ import { jsx as jsx160 } from "react/jsx-runtime";
89327
90900
  function RichText3(props2) {
89328
- return /* @__PURE__ */ jsx159(RichText2, { ...props2 });
90901
+ return /* @__PURE__ */ jsx160(RichText2, { ...props2 });
89329
90902
  }
89330
90903
 
89331
90904
  // src/rendering/image.ts
@@ -89386,6 +90959,12 @@ lucide-react/dist/esm/createLucideIcon.js:
89386
90959
  lucide-react/dist/esm/icons/arrow-down.js:
89387
90960
  lucide-react/dist/esm/icons/arrow-left.js:
89388
90961
  lucide-react/dist/esm/icons/arrow-right.js:
90962
+ lucide-react/dist/esm/icons/award.js:
90963
+ lucide-react/dist/esm/icons/badge-check.js:
90964
+ lucide-react/dist/esm/icons/book-open.js:
90965
+ lucide-react/dist/esm/icons/brain.js:
90966
+ lucide-react/dist/esm/icons/briefcase-business.js:
90967
+ lucide-react/dist/esm/icons/calendar-days.js:
89389
90968
  lucide-react/dist/esm/icons/calendar.js:
89390
90969
  lucide-react/dist/esm/icons/check.js:
89391
90970
  lucide-react/dist/esm/icons/chevron-down.js:
@@ -89395,6 +90974,7 @@ lucide-react/dist/esm/icons/chevron-up.js:
89395
90974
  lucide-react/dist/esm/icons/circle-minus.js:
89396
90975
  lucide-react/dist/esm/icons/circle-plus.js:
89397
90976
  lucide-react/dist/esm/icons/clock.js:
90977
+ lucide-react/dist/esm/icons/compass.js:
89398
90978
  lucide-react/dist/esm/icons/credit-card.js:
89399
90979
  lucide-react/dist/esm/icons/download.js:
89400
90980
  lucide-react/dist/esm/icons/external-link.js:
@@ -89402,18 +90982,38 @@ lucide-react/dist/esm/icons/file-archive.js:
89402
90982
  lucide-react/dist/esm/icons/file-headphone.js:
89403
90983
  lucide-react/dist/esm/icons/file-spreadsheet.js:
89404
90984
  lucide-react/dist/esm/icons/file-text.js:
90985
+ lucide-react/dist/esm/icons/flower-2.js:
90986
+ lucide-react/dist/esm/icons/globe.js:
90987
+ lucide-react/dist/esm/icons/graduation-cap.js:
90988
+ lucide-react/dist/esm/icons/hand-heart.js:
90989
+ lucide-react/dist/esm/icons/heart-handshake.js:
90990
+ lucide-react/dist/esm/icons/heart.js:
90991
+ lucide-react/dist/esm/icons/house.js:
89405
90992
  lucide-react/dist/esm/icons/info.js:
90993
+ lucide-react/dist/esm/icons/leaf.js:
90994
+ lucide-react/dist/esm/icons/lightbulb.js:
90995
+ lucide-react/dist/esm/icons/lock.js:
89406
90996
  lucide-react/dist/esm/icons/mail.js:
89407
90997
  lucide-react/dist/esm/icons/map-pin.js:
90998
+ lucide-react/dist/esm/icons/message-circle.js:
89408
90999
  lucide-react/dist/esm/icons/minus.js:
91000
+ lucide-react/dist/esm/icons/package.js:
89409
91001
  lucide-react/dist/esm/icons/phone.js:
89410
91002
  lucide-react/dist/esm/icons/play.js:
89411
91003
  lucide-react/dist/esm/icons/plus.js:
91004
+ lucide-react/dist/esm/icons/shield.js:
91005
+ lucide-react/dist/esm/icons/shopping-bag.js:
89412
91006
  lucide-react/dist/esm/icons/shopping-cart.js:
91007
+ lucide-react/dist/esm/icons/smile.js:
89413
91008
  lucide-react/dist/esm/icons/sparkles.js:
91009
+ lucide-react/dist/esm/icons/sprout.js:
89414
91010
  lucide-react/dist/esm/icons/star.js:
91011
+ lucide-react/dist/esm/icons/target.js:
89415
91012
  lucide-react/dist/esm/icons/ticket.js:
89416
91013
  lucide-react/dist/esm/icons/upload.js:
91014
+ lucide-react/dist/esm/icons/user-round-check.js:
91015
+ lucide-react/dist/esm/icons/users.js:
91016
+ lucide-react/dist/esm/icons/wrench.js:
89417
91017
  lucide-react/dist/esm/icons/x.js:
89418
91018
  lucide-react/dist/esm/lucide-react.js:
89419
91019
  (**