efficient-storefront-blocks 0.80.0 → 0.81.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 (133) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/chunks/{EditorPreviewCheckout-PSONSVRR.js → EditorPreviewCheckout-OIN6G67Y.js} +4 -4
  3. package/dist/chunks/{SiteEditorProvider-PWHW2UA6.js → SiteEditorProvider-PXXYEDUI.js} +1 -1
  4. package/dist/chunks/{chunk-MCCDGDRW.js → chunk-EEBM2KUO.js} +1 -1
  5. package/dist/chunks/{chunk-3Q66B5NU.js → chunk-K3VUREAB.js} +1 -1
  6. package/dist/chunks/chunk-SXRBNRRO.js +320 -0
  7. package/dist/chunks/{fitment-data-Q2TJ6FBU.js → fitment-data-WHDQR3A2.js} +1 -1
  8. package/dist/editor/components/PreviewProductPicker.js +1 -1
  9. package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -1
  10. package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
  11. package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
  12. package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -1
  13. package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -1
  14. package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -1
  15. package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
  16. package/dist/editor/lib/document/blocks/commerce/page-rules.d.ts +2 -0
  17. package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -1
  18. package/dist/editor/lib/document/config.d.ts +1 -0
  19. package/dist/editor/lib/document/config.js +1 -1
  20. package/dist/editor/lib/document/section-text-regions.d.ts +1 -0
  21. package/dist/editor/lib/document/section-text-regions.js +1 -0
  22. package/dist/index.js +28 -28
  23. package/dist/render/app/globals.css +17 -17
  24. package/dist/render/built-with.json +1 -1
  25. package/dist/render/components/AppointmentBooking.js +1 -1
  26. package/dist/render/components/CheckoutCTA.js +1 -1
  27. package/dist/render/components/CollectionCard.js +1 -1
  28. package/dist/render/components/Collections.js +1 -1
  29. package/dist/render/components/CompatibleTyres.js +1 -1
  30. package/dist/render/components/ConsentBanner.js +1 -1
  31. package/dist/render/components/ContactCards.js +1 -1
  32. package/dist/render/components/ContactRouting.js +1 -1
  33. package/dist/render/components/DeliveryOptions.js +1 -1
  34. package/dist/render/components/DetailRows.js +1 -1
  35. package/dist/render/components/EuTyreLabels.d.ts +1 -1
  36. package/dist/render/components/EuTyreLabels.js +1 -1
  37. package/dist/render/components/Events.js +1 -1
  38. package/dist/render/components/FitmentTable.js +1 -1
  39. package/dist/render/components/FooterDivider.js +1 -1
  40. package/dist/render/components/FooterSection.js +1 -1
  41. package/dist/render/components/FooterSocial.js +1 -1
  42. package/dist/render/components/FormBlock.js +1 -1
  43. package/dist/render/components/GalleryCard.js +1 -1
  44. package/dist/render/components/GalleryGrid.js +1 -1
  45. package/dist/render/components/GalleryItem.js +1 -1
  46. package/dist/render/components/GalleryShowcase.js +1 -1
  47. package/dist/render/components/LinkedProductHero.d.ts +2 -1
  48. package/dist/render/components/MessagingCards.js +1 -1
  49. package/dist/render/components/ProductCard.js +1 -1
  50. package/dist/render/components/ProductCardChrome.d.ts +4 -3
  51. package/dist/render/components/ProductCardChrome.js +1 -1
  52. package/dist/render/components/ProductGallery.js +1 -1
  53. package/dist/render/components/ProductGridSection.d.ts +7 -6
  54. package/dist/render/components/ProductGridSection.js +1 -1
  55. package/dist/render/components/ProductHeroPanel.d.ts +7 -2
  56. package/dist/render/components/ProductHeroPanel.js +1 -1
  57. package/dist/render/components/ProductLightbox.js +1 -1
  58. package/dist/render/components/RateTable.js +1 -1
  59. package/dist/render/components/ReviewForm.js +1 -1
  60. package/dist/render/components/Reviews.js +1 -1
  61. package/dist/render/components/SectionBand.d.ts +5 -2
  62. package/dist/render/components/SectionBand.js +1 -1
  63. package/dist/render/components/SectionBandChoice.d.ts +5 -0
  64. package/dist/render/components/SectionBandChoice.js +1 -0
  65. package/dist/render/components/SpecTable.js +1 -1
  66. package/dist/render/components/SubmitBuild.js +1 -1
  67. package/dist/render/components/Subscribe.js +1 -1
  68. package/dist/render/components/ThemedSelect.d.ts +4 -2
  69. package/dist/render/components/ThemedSelect.js +1 -1
  70. package/dist/render/components/TyreVehicleFitment.d.ts +2 -2
  71. package/dist/render/components/TyreVehicleFitment.js +1 -1
  72. package/dist/render/components/WheelCardFrame.js +1 -1
  73. package/dist/render/components/WheelPlaceholder.d.ts +3 -1
  74. package/dist/render/components/WheelPlaceholder.js +1 -1
  75. package/dist/render/components/booking/BookingRegions.js +1 -1
  76. package/dist/render/components/buy-row.d.ts +1 -1
  77. package/dist/render/components/buy-row.js +1 -1
  78. package/dist/render/components/card-pieces/CardPicture.d.ts +1 -1
  79. package/dist/render/components/card-pieces/CardPicture.js +1 -1
  80. package/dist/render/components/card-spin.d.ts +7 -0
  81. package/dist/render/components/card-spin.js +1 -0
  82. package/dist/render/components/catalog/CatalogFilterBar.js +1 -1
  83. package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -1
  84. package/dist/render/components/catalog/PriceRange.d.ts +6 -0
  85. package/dist/render/components/catalog/PriceRange.js +1 -0
  86. package/dist/render/components/catalog/SortSelect.d.ts +8 -0
  87. package/dist/render/components/catalog/SortSelect.js +1 -0
  88. package/dist/render/components/checkout/CheckoutPageClient.js +1 -1
  89. package/dist/render/components/checkout/checkout-parts.js +1 -1
  90. package/dist/render/components/fitment/FitmentFinder.js +1 -1
  91. package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
  92. package/dist/render/components/fitment/StockFitmentCard.js +1 -1
  93. package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
  94. package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
  95. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
  96. package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +2 -1
  97. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +3 -2
  98. package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
  99. package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
  100. package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
  101. package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
  102. package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +3 -2
  103. package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
  104. package/dist/render/components/wheels-plp/PlpCard.d.ts +3 -2
  105. package/dist/render/components/wheels-plp/PlpCard.js +1 -1
  106. package/dist/render/components/wheels-plp/PlpToolbar.d.ts +16 -0
  107. package/dist/render/components/wheels-plp/PlpToolbar.js +1 -0
  108. package/dist/render/lib/catalog/relationships.js +1 -1
  109. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -1
  110. package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -1
  111. package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.js +1 -1
  112. package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
  113. package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
  114. package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -1
  115. package/dist/render/lib/sections/catalog-text-size.d.ts +7 -0
  116. package/dist/render/lib/sections/catalog-text-size.js +1 -0
  117. package/dist/render/lib/sections/fill-row.js +1 -1
  118. package/dist/render/lib/sections/grid-no-hole.d.ts +1 -1
  119. package/dist/render/lib/sections/grid-no-hole.js +1 -1
  120. package/dist/render/lib/sections/product-hero-text-regions.d.ts +3 -0
  121. package/dist/render/lib/sections/product-hero-text-regions.js +1 -0
  122. package/dist/render/lib/sections/section-band.d.ts +2 -0
  123. package/dist/render/lib/sections/section-band.js +1 -0
  124. package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
  125. package/dist/render/lib/wheels/lug-count.d.ts +1 -0
  126. package/dist/render/lib/wheels/lug-count.js +1 -1
  127. package/dist/words.d.ts +13 -1
  128. package/dist/words.js +5 -5
  129. package/package.json +3 -2
  130. package/dist/chunks/chunk-6MHGEO3D.js +0 -320
  131. /package/dist/chunks/{chunk-X5W6GJLI.js → chunk-5O3W5AUB.js} +0 -0
  132. /package/dist/chunks/{chunk-JUGY3EKR.js → chunk-PBQWSV3B.js} +0 -0
  133. /package/dist/chunks/{chunk-6MHGEO3D.js.LEGAL.txt → chunk-SXRBNRRO.js.LEGAL.txt} +0 -0
@@ -464,7 +464,7 @@
464
464
  family would bring the whole question back.
465
465
 
466
466
  The fallbacks live here rather than in the emitted style attribute so the
467
- wrapper stays a pure reference with no hex in it (DD's rule, 2026-08-25). */
467
+ wrapper stays a pure reference with no hex in it (the design rule, 2026-08-25). */
468
468
  /* ⚠️ TWO SELECTORS, ONE COPY OF THE MAPPING — the map/paint split the
469
469
  `[ADD] The Header Can Take Its Own Space, And Pick A Theme` card owed an
470
470
  answer for, and it is a SELECTOR LIST rather than a second block on purpose.
@@ -474,7 +474,7 @@
474
474
  block). A SECTION wants both. The HEADER wants only the first half: its bar
475
475
  must stay see-through at the top of a `Shared` page, so a rule that painted
476
476
  unconditionally would fill it in. Copying the nine references into a second
477
- block would be the duplication DD's rule and card 66152 both exist to stop —
477
+ block would be the duplication the design rule and card 66152 both exist to stop —
478
478
  a copy is cheap the day it is made and permanent afterwards.
479
479
 
480
480
  So the mapping is declared ONCE, for both, and only the paint is
@@ -1313,7 +1313,7 @@ body:has([data-page-width="full"]) footer {
1313
1313
  --breakpoint-view-desktop: 1100px;
1314
1314
  /* THE WIDE LINE: below it a page draws its phone layout (`max-view-wide:`),
1315
1315
  from it the wide one (`view-wide:`). Under the v1 rules it is 800, the line
1316
- every hand-typed `max-[800px]:` / `min-[800px]:` drew, and it compiles to
1316
+ the hand-typed 800px classes drew before they took these names, and it compiles to
1317
1317
  the same `width < 800px` / `width >= 800px`. The switch to the v2 rules
1318
1318
  (three-views plan PR 11) moves it to 720, the Tablet view's edge, in this
1319
1319
  one line; the same guard holds it to the rules in force. */
@@ -2335,8 +2335,8 @@ em.text-accent {
2335
2335
  flex-direction: column;
2336
2336
  flex-wrap: nowrap;
2337
2337
  /* The slide's own padding steps down HERE rather than on the element (card
2338
- 66265). It used to be `max-[800px]:px-5 max-[800px]:pt-[100px]
2339
- max-[800px]:pb-[90px]`, which Tailwind compiles to
2338
+ 66265). It used to be (in today's names) `max-view-wide:px-5 max-view-wide:pt-[100px]
2339
+ max-view-wide:pb-[90px]`, which Tailwind compiles to
2340
2340
  `@media (width < 800px)` — one pixel short of this block's own line — so
2341
2341
  at exactly 800px THIS DIV was a phone column with desktop padding on it.
2342
2342
  The values are the ones those three utilities emitted, `--spacing` and
@@ -2379,7 +2379,7 @@ em.text-accent {
2379
2379
  button is the same collision this whole block exists to prevent, one tier
2380
2380
  down. The stored answer is untouched and comes straight back at 801px.
2381
2381
 
2382
- IT LIVES HERE, IN THIS BLOCK, RATHER THAN AS A `max-[800px]:flex-col` ON THE
2382
+ IT LIVES HERE, IN THIS BLOCK, RATHER THAN AS A `max-view-wide:flex-col` ON THE
2383
2383
  ELEMENT — which is how components/Flex.tsx spells the same idea, and how the
2384
2384
  rest of the shop spells every phone rule it has. Tailwind compiles that
2385
2385
  variant to `@media (width < 800px)`, which stops at 799; this block is
@@ -2396,7 +2396,7 @@ em.text-accent {
2396
2396
  flex-direction: column;
2397
2397
  }
2398
2398
  /* ── AND THE REST OF THE HERO, MOVED HERE BY CARD 66265 ──────────────────
2399
- Everything below drew its phone answer from a `max-[800px]:` variant on the
2399
+ Everything below drew its phone answer from a `max-view-wide:` variant on the
2400
2400
  element until that card. Tailwind v4 compiles that variant to
2401
2401
  `@media (width < 800px)`, which STOPS AT 799, while this block is
2402
2402
  `@media (max-width: 800px)`, which does not — so at a viewport of exactly
@@ -2429,8 +2429,8 @@ em.text-accent {
2429
2429
  }
2430
2430
  /* ── AND THE HERO'S OVER-MEDIA CHROME, MOVED HERE BY CARD 66270 ──────────
2431
2431
  The MIRROR HALF of the block above. Those declarations arrived because
2432
- `max-[800px]:` compiles to `@media (width < 800px)`, which stops one pixel
2433
- SHORT of this block's line. These two arrive because `min-[800px]:`
2432
+ `max-view-wide:` compiles to `@media (width < 800px)`, which stops one pixel
2433
+ SHORT of this block's line. These two arrive because `view-wide:`
2434
2434
  compiles to `@media (width >= 800px)`, which INCLUDES 800 — exactly as this
2435
2435
  block does. So at a viewport of exactly 800px the slide had already
2436
2436
  collapsed into its phone column, above, while the slideshow still drew its
@@ -2474,7 +2474,7 @@ em.text-accent {
2474
2474
  margin-top: 28px;
2475
2475
  }
2476
2476
  /* ── ON A PHONE THE HERO GROWS TO FIT ITS WORDS (card [FIX] Hero Grows On
2477
- Phone, GG 2026-10-16) ─────────────────────────────────────────────────
2477
+ Phone, the reviewer 2026-10-16) ─────────────────────────────────────────────────
2478
2478
  The phone column above is bottom-aligned (`justify-content: flex-end`) in
2479
2479
  a layer that covered a hero of FIXED height (`absolute inset-0` on a
2480
2480
  `h-[…]` / `h-screen min-h-[680px]` section). Words taller than the hero
@@ -2500,7 +2500,7 @@ em.text-accent {
2500
2500
  Words that already fit stay exactly where the bottom-aligned stack put
2501
2501
  them. 801px and up is untouched.
2502
2502
 
2503
- HERE, on the hero's one phone line, and not as `max-[720px]:` utilities on
2503
+ HERE, on the hero's one phone line, and not as `max-view-tablet:` utilities on
2504
2504
  the components (17.0.1 did that, and drew the layout on a second line —
2505
2505
  between 720 and 800 the old overflow stayed). UNLAYERED, like the rest of
2506
2506
  this block: it must beat the height and position utilities the elements
@@ -2533,7 +2533,7 @@ em.text-accent {
2533
2533
  }
2534
2534
  }
2535
2535
  /* …and WHICH height is the minimum between 720 and 800: the desktop one, as
2536
- the builder's own `min-[720px]:h-[var(--sf-hero-h-d)]` says (VIEW_TABLET_MIN,
2536
+ the builder's own `view-tablet:h-[var(--sf-hero-h-d)]` says (VIEW_TABLET_MIN,
2537
2537
  the line the Height control switches on). Only the height is chosen here;
2538
2538
  the layout above is on the hero's one line, 800. */
2539
2539
  @media (min-width: 720px) and (max-width: 800px) {
@@ -2583,7 +2583,7 @@ em.text-accent {
2583
2583
  reading a "the gaps got smaller on mobile" report should stop here.
2584
2584
 
2585
2585
  800px is the breakpoint the Gallery already shipped a 2:1 step at
2586
- (`gap-2 max-[800px]:gap-1`), so the one number every container now halves at
2586
+ (`gap-2 max-view-wide:gap-1`), so the one number every container now halves at
2587
2587
  is the one number one of them already used, rather than a sixth opinion.
2588
2588
 
2589
2589
  `calc(… / 2)` rather than a second property from the render: the halving is a
@@ -2612,7 +2612,7 @@ em.text-accent {
2612
2612
  gap: var(--sf-gap-len-phone, calc(var(--sf-gap-len) / 2));
2613
2613
  }
2614
2614
  }
2615
- /* The Tablet view's own Gap (three-views plan PR 5b; GG 2026-11-03), on
2615
+ /* The Tablet view's own Gap (three-views plan PR 5b; the reviewer 2026-11-03), on
2616
2616
  `--sf-gap-len-tablet`, which efficient-web-builder's `containerGapProps`
2617
2617
  writes only when a tablet value is drawn, as it does the phone's. The widths
2618
2618
  are the Tablet view's: efficient-easel's VIEW_TABLET_MIN (720) up to, not
@@ -2622,7 +2622,7 @@ em.text-accent {
2622
2622
  length from 800 up, and from 720 to 800 the phone rule above (its own phone
2623
2623
  length, else half). The second block restates that part, after the first.
2624
2624
  An empty PHONE value keeps the phone rule: it does not follow the tablet
2625
- (GG 2026-11-03, the named exception in plan row 5b).
2625
+ (the reviewer 2026-11-03, the named exception in plan row 5b).
2626
2626
  scripts/test-gap-tablet-css.ts holds all of it. */
2627
2627
  @media (min-width: 720px) and (max-width: 1099.98px) {
2628
2628
  .sf-gap-zone {
@@ -2927,7 +2927,7 @@ em.text-accent {
2927
2927
  itself on the published page, the editor's item on the canvas — the same
2928
2928
  "both are the grid item" fact the nth-child rules rely on.
2929
2929
 
2930
- ⚠️ THE TILE IS NAMED BY ITS ROLE, NOT BY HOW DEEP IT SITS (GG 2026-10-26,
2930
+ ⚠️ THE TILE IS NAMED BY ITS ROLE, NOT BY HOW DEEP IT SITS (the reviewer 2026-10-26,
2931
2931
  Lewis 2026-10-25: hartesmetal.com Home's "Vehicle gallery" drew its heading
2932
2932
  and an empty grid in the editor). This read `.sf-gallery-zone > * > *`, which
2933
2933
  on the canvas is the builder's part host (`[data-sf-part-host]`,
@@ -3257,7 +3257,7 @@ em.text-accent {
3257
3257
  `padding-block`, not `padding`: a block's own SIDE padding is its business and
3258
3258
  several blocks read the site gutter through it.
3259
3259
 
3260
- ONE RULE FOR THE PAGE AND THE EDITOR'S CANVAS (GG 2026-10-23, the hartesmetal
3260
+ ONE RULE FOR THE PAGE AND THE EDITOR'S CANVAS (the reviewer 2026-10-23, the hartesmetal
3261
3261
  Home name Box: apart on the canvas, on top of each other live). On the canvas
3262
3262
  two elements stand between the Box and each block: The editor's item
3263
3263
  (`[data-easel-block]`) and the builder's part host (`[data-sf-part-host]`,
@@ -1,3 +1,3 @@
1
1
  {
2
- "efficient-web-builder": "48.2.0"
2
+ "efficient-web-builder": "49.1.0"
3
3
  }
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as S,useBookingForm as b}from"./booking/BookingFormState.js";import{useBookingPreview as k}from"efficient-web-builder/render/lib/document/booking-preview";import{say as n}from"efficient-web-builder/format/lib/editor-words";import{BookingChoose as N,BookingConfirmed as B,BookingDetails as y,BookingHead as w}from"./booking/BookingRegions.js";function A(t={}){const o=k();return e(S,{editing:t.editing,previewConfirmation:!!t.nodeId&&o===t.nodeId,children:e(C,{...t})})}const p="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 min-[800px]:px-[var(--sf-site-gutter,40px)] min-[800px]:py-[88px]",s="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function C({eyebrow:t,heading:o,intro:g,buttonLabel:f,successMessage:u,boxes:r,inBoxes:x=!1}){const{fieldPrefix:_,editing:v,services:m,currency:D,serviceId:I,setServiceId:L,requiresPayment:P,date:j,earliestDate:z,setDate:E,setDateTouched:F,availability:M,loadingSlots:T,noSlotsMessage:R,selectedStart:$,setSelectedStart:q,customerTimezone:G,name:H,setName:O,email:J,setEmail:K,phone:Q,setPhone:U,notes:V,setNotes:W,confirmation:c,submitting:X,error:Y,canSubmit:Z,handleSubmit:l,sample:h}=b(),d=h?e("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:n("Example form — add an active service in {place}.",{place:n("Storefront → Booking Services")})}):null,a=m===void 0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments…"}):m?.length===0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:v?n("Add an active service in {place}.",{place:n("Storefront → Booking Services")}):"Appointments are not available right now."}):null;return x&&r?e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,c?e(r,{className:`${s} items-start`}):i("form",{onSubmit:l,children:[e(r,{className:`${s} items-start`}),a]})]})}):e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,e(w,{eyebrow:t,heading:o,intro:g}),c?e(B,{successMessage:u}):a||i("form",{onSubmit:l,className:s,children:[e(N,{}),e(y,{buttonLabel:f})]})]})})}export{C as AppointmentBookingBody,A as default};
1
+ "use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as S,useBookingForm as b}from"./booking/BookingFormState.js";import{useBookingPreview as k}from"efficient-web-builder/render/lib/document/booking-preview";import{say as n}from"efficient-web-builder/format/lib/editor-words";import{BookingChoose as N,BookingConfirmed as w,BookingDetails as B,BookingHead as y}from"./booking/BookingRegions.js";function A(t={}){const o=k();return e(S,{editing:t.editing,previewConfirmation:!!t.nodeId&&o===t.nodeId,children:e(C,{...t})})}const p="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 view-wide:px-[var(--sf-site-gutter,40px)] view-wide:py-[88px]",s="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function C({eyebrow:t,heading:o,intro:g,buttonLabel:f,successMessage:u,boxes:r,inBoxes:x=!1}){const{fieldPrefix:_,editing:v,services:m,currency:D,serviceId:I,setServiceId:L,requiresPayment:P,date:j,earliestDate:z,setDate:E,setDateTouched:F,availability:M,loadingSlots:T,noSlotsMessage:R,selectedStart:$,setSelectedStart:q,customerTimezone:G,name:H,setName:O,email:J,setEmail:K,phone:Q,setPhone:U,notes:V,setNotes:W,confirmation:c,submitting:X,error:Y,canSubmit:Z,handleSubmit:l,sample:h}=b(),d=h?e("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:n("Example form — add an active service in {place}.",{place:n("Storefront → Booking Services")})}):null,a=m===void 0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments…"}):m?.length===0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:v?n("Add an active service in {place}.",{place:n("Storefront → Booking Services")}):"Appointments are not available right now."}):null;return x&&r?e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,c?e(r,{className:`${s} items-start`}):i("form",{onSubmit:l,children:[e(r,{className:`${s} items-start`}),a]})]})}):e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,e(y,{eyebrow:t,heading:o,intro:g}),c?e(w,{successMessage:u}):a||i("form",{onSubmit:l,className:s,children:[e(N,{}),e(B,{buttonLabel:f})]})]})})}export{C as AppointmentBookingBody,A as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as p}from"react/jsx-runtime";import d from"efficient-web-builder/render/components/BlockFrame";import f from"efficient-web-builder/render/components/Btn";import h from"efficient-web-builder/render/components/SectionEyebrow";import{renderGold as i,renderHeadline as g,splitParagraphs as u}from"efficient-web-builder/render/components/goldPhrases";function v({eyebrow:m,title:n,body:t,ctaText:a,ctaHref:s,secondaryText:r,secondaryHref:l,contained:c}){return e(d,{contained:c,className:"py-6",children:p("div",{className:"flex flex-col items-center gap-5 px-6 py-16 text-center max-[800px]:py-10",children:[m&&e(h,{text:m,scaled:!1}),n&&e("h2",{className:"max-w-[720px] font-display text-[min(44px,var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[min(30px,var(--sf-heading-max,9999px))]",children:g(n,!1)}),t&&u(t).map((x,o)=>e("p",{className:"max-w-[560px] text-[16px] leading-[1.6] opacity-85",children:i(x)},o)),(a||r)&&p("div",{className:"mt-2 flex items-center gap-6",children:[a&&e(f,{href:s||"/checkout",variant:"primary",children:i(a)}),r&&e("a",{href:l||"#",className:"font-mono text-[13px] uppercase tracking-[0.2em] underline underline-offset-4 opacity-70 hover:opacity-100",children:i(r)})]})]})})}export{v as default};
1
+ import{jsx as e,jsxs as p}from"react/jsx-runtime";import d from"efficient-web-builder/render/components/BlockFrame";import f from"efficient-web-builder/render/components/Btn";import h from"efficient-web-builder/render/components/SectionEyebrow";import{renderGold as r,renderHeadline as g,splitParagraphs as u}from"efficient-web-builder/render/components/goldPhrases";function v({eyebrow:m,title:n,body:t,ctaText:a,ctaHref:s,secondaryText:i,secondaryHref:l,contained:c}){return e(d,{contained:c,className:"py-6",children:p("div",{className:"flex flex-col items-center gap-5 px-6 py-16 text-center max-view-wide:py-10",children:[m&&e(h,{text:m,scaled:!1}),n&&e("h2",{className:"max-w-[720px] font-display text-[min(44px,var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-view-wide:text-[min(30px,var(--sf-heading-max,9999px))]",children:g(n,!1)}),t&&u(t).map((o,x)=>e("p",{className:"max-w-[560px] text-[16px] leading-[1.6] opacity-85",children:r(o)},x)),(a||i)&&p("div",{className:"mt-2 flex items-center gap-6",children:[a&&e(f,{href:s||"/checkout",variant:"primary",children:r(a)}),i&&e("a",{href:l||"#",className:"font-mono text-[13px] uppercase tracking-[0.2em] underline underline-offset-4 opacity-70 hover:opacity-100",children:r(i)})]})]})})}export{v as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as s}from"react/jsx-runtime";import{createContext as _,useContext as N}from"react";import v from"next/link";import E from"efficient-web-builder/render/components/Placeholder";import{SIZE_STEP_OF_ROLE as O}from"efficient-web-builder/format/lib/fonts";import{COLLECTION_CARD_REGIONS as T,COLLECTION_CARD_TEXT_SIZE as r}from"efficient-web-builder/format/lib/sections/collection-card-text-regions";import{TEXT_REGION_ATTR as k,regionStyle as S,textRegionPartKey as I}from"efficient-web-builder/format/lib/sections/text-regions";import{renderGold as l,renderHeadline as L,splitParagraphs as R}from"efficient-web-builder/render/components/goldPhrases";import{absolutizeApiUrl as w}from"efficient-web-builder/render/lib/media";function $(a){return w(a)??void 0}const P=_({}),K=3;function j({tag:a,name:i,desc:c,href:d,imageSrc:x,imageLabel:g,price:m}){const{showPrice:f,cardStyle:p,partStyles:u,editing:h}=N(P),b=p==="bordered"?" border border-line":p==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",y=$(x),o=t=>h?{[k]:t}:{},n=t=>S(u?.[I(t)]?.role,T[t],O);return s(v,{href:d||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${b}`,children:[e("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:e(E,{label:g||"collection.jpg",src:y})}),e("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-[800px]:hidden",style:{transition:"none"}}),s("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-3 text-overlay-fg max-[800px]:relative max-[800px]:inset-auto max-[800px]:p-6 max-[800px]:gap-3 max-[800px]:text-fg",children:[a&&e("span",{...o("tag"),style:n("tag"),className:`font-mono ${r.tag} uppercase tracking-[0.25em] opacity-70`,children:l(a)}),i&&e("h3",{...o("name"),style:n("name"),className:`font-heading2 ${r.name} font-medium leading-none tracking-[-0.03em] ${r.namePhone}`,children:typeof i=="string"?L(i,!1):i}),c&&R(c).map((t,C)=>e("p",{...o("body"),style:n("body"),className:`max-w-[420px] ${r.body} leading-[1.5] opacity-80`,children:l(t)},C)),f&&m&&e("span",{...o("price"),style:n("price"),className:`font-mono ${r.price} tracking-[0.05em] text-accent`,children:l(m)}),s("span",{...o("link"),style:n("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${r.link} uppercase tracking-[0.2em]`,children:["Explore",e("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"→"})]})]})]})}export{K as COLLECTION_CARD_SEED_COUNT,P as CollectionCardStyleContext,j as default,$ as resolveCategoryImage};
1
+ "use client";import{jsx as e,jsxs as s}from"react/jsx-runtime";import{createContext as w,useContext as C}from"react";import _ from"next/link";import N from"efficient-web-builder/render/components/Placeholder";import{SIZE_STEP_OF_ROLE as E}from"efficient-web-builder/format/lib/fonts";import{COLLECTION_CARD_REGIONS as O,COLLECTION_CARD_TEXT_SIZE as r}from"efficient-web-builder/format/lib/sections/collection-card-text-regions";import{TEXT_REGION_ATTR as T,regionStyle as k,textRegionPartKey as S}from"efficient-web-builder/format/lib/sections/text-regions";import{renderGold as l,renderHeadline as I,splitParagraphs as L}from"efficient-web-builder/render/components/goldPhrases";import{absolutizeApiUrl as R}from"efficient-web-builder/render/lib/media";function $(a){return R(a)??void 0}const P=w({}),K=3;function j({tag:a,name:i,desc:c,href:p,imageSrc:g,imageLabel:f,price:m}){const{showPrice:x,cardStyle:d,partStyles:u,editing:h}=C(P),b=d==="bordered"?" border border-line":d==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",v=$(g),o=t=>h?{[T]:t}:{},n=t=>k(u?.[S(t)]?.role,O[t],E);return s(_,{href:p||"#",className:`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${b}`,children:[e("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:e(N,{label:f||"collection.jpg",src:v})}),e("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-view-wide:hidden",style:{transition:"none"}}),s("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-3 text-overlay-fg max-view-wide:relative max-view-wide:inset-auto max-view-wide:p-6 max-view-wide:gap-3 max-view-wide:text-fg",children:[a&&e("span",{...o("tag"),style:n("tag"),className:`font-mono ${r.tag} uppercase tracking-[0.25em] opacity-70`,children:l(a)}),i&&e("h3",{...o("name"),style:n("name"),className:`font-heading2 ${r.name} font-medium leading-none tracking-[-0.03em] ${r.namePhone}`,children:typeof i=="string"?I(i,!1):i}),c&&L(c).map((t,y)=>e("p",{...o("body"),style:n("body"),className:`max-w-[420px] ${r.body} leading-[1.5] opacity-80`,children:l(t)},y)),x&&m&&e("span",{...o("price"),style:n("price"),className:`font-mono ${r.price} tracking-[0.05em] text-accent`,children:l(m)}),s("span",{...o("link"),style:n("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${r.link} uppercase tracking-[0.2em]`,children:["Explore",e("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"→"})]})]})]})}export{K as COLLECTION_CARD_SEED_COUNT,P as CollectionCardStyleContext,j as default,$ as resolveCategoryImage};
@@ -1 +1 @@
1
- "use client";import{Fragment as x,jsx as e,jsxs as l}from"react/jsx-runtime";import{useScopeClass as y}from"../lib/use-scope-class.js";import T from"efficient-web-builder/render/components/SectionHeader";import{SectionTextParts as E}from"efficient-web-builder/render/lib/document/editing-bridges";import{CollectionCardStyleContext as M}from"./CollectionCard.js";import{fillRowCss as S}from"../lib/sections/fill-row.js";import{renderHeadline as $}from"efficient-web-builder/render/components/goldPhrases";import{CONTENT_CAP_GUTTER as m}from"../lib/sections/content-cap-gutter.js";function R({editing:n,nodeId:s,children:t}){return!n||!s?e(x,{children:t}):e(E,{nodeId:s,sectionType:"Collections",children:t})}const j=`${m} py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]`,v=`${m} pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]`,A={2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5"};function F({eyebrow:n,heading:s,columns:t,showPrice:f,cardStyle:g,layout:u,limit:r,cards:i,omitHead:c=!1,nodeId:h,partStyles:C,editing:a=!1}={}){const o=y("cg"),N=typeof r=="number"&&r>0,_=u==="list"?"grid-cols-1":t===void 0?"grid-cols-3":A[Math.min(5,Math.max(2,Math.round(t)))]??"grid-cols-3",p=`${o} grid ${_} gap-4 max-[800px]:grid-cols-1 max-[800px]:gap-3`,d=S(o,p,{limit:r});return l("section",{className:c?v:j,children:[c?null:e(T,{num:n!==void 0?n:"01 / Collections",accentNum:!0,title:s!==void 0?$(s,!1):l(x,{children:["Three ranges,",e("br",{}),"one standard."]}),link:{text:"View all",href:"/wheels"}}),i&&e(R,{editing:a,nodeId:h,children:l(M.Provider,{value:{showPrice:f,cardStyle:g,partStyles:C,editing:a},children:[N&&e("style",{children:`.${o} > *:nth-child(n+${r+1}){display:none}`}),d&&e("style",{children:d}),e(i,{className:p,minEmptyHeight:260})]})})]})}export{F as default};
1
+ "use client";import{Fragment as m,jsx as e,jsxs as o}from"react/jsx-runtime";import{useScopeClass as N}from"../lib/use-scope-class.js";import _ from"efficient-web-builder/render/components/SectionHeader";import{SectionTextParts as y}from"efficient-web-builder/render/lib/document/editing-bridges";import{CollectionCardStyleContext as T}from"./CollectionCard.js";import{fillRowCss as E}from"../lib/sections/fill-row.js";import{renderHeadline as M}from"efficient-web-builder/render/components/goldPhrases";import{CONTENT_CAP_GUTTER as x}from"../lib/sections/content-cap-gutter.js";function S({editing:t,nodeId:i,children:s}){return!t||!i?e(m,{children:s}):e(y,{nodeId:i,sectionType:"Collections",children:s})}const $=`${x} py-[120px] max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))] max-view-wide:py-[70px]`,R=`${x} pt-0 pb-[120px] max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))] max-view-wide:pt-0 max-view-wide:pb-[70px]`,j={2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5"};function A({eyebrow:t,heading:i,columns:s,showPrice:f,cardStyle:g,layout:u,limit:n,cards:l,omitHead:c=!1,nodeId:w,partStyles:h,editing:a=!1}={}){const r=N("cg"),C=typeof n=="number"&&n>0,v=u==="list"?"grid-cols-1":s===void 0?"grid-cols-3":j[Math.min(5,Math.max(2,Math.round(s)))]??"grid-cols-3",d=`${r} grid ${v} gap-4 max-view-wide:grid-cols-1 max-view-wide:gap-3`,p=E(r,d,{limit:n});return o("section",{className:c?R:$,children:[c?null:e(_,{num:t!==void 0?t:"01 / Collections",accentNum:!0,title:i!==void 0?M(i,!1):o(m,{children:["Three ranges,",e("br",{}),"one standard."]}),link:{text:"View all",href:"/wheels"}}),l&&e(S,{editing:a,nodeId:w,children:o(T.Provider,{value:{showPrice:f,cardStyle:g,partStyles:h,editing:a},children:[C&&e("style",{children:`.${r} > *:nth-child(n+${n+1}){display:none}`}),p&&e("style",{children:p}),e(l,{className:d,minEmptyHeight:260})]})})]})}export{A as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as p}from"react/jsx-runtime";import R from"./SectionBand.js";import{useScopeClass as j}from"../lib/use-scope-class.js";import z from"efficient-web-builder/render/components/SectionHeader";import F from"./SectionFootnote.js";import L from"./TyreCard.js";import H from"./ViewMoreLink.js";import{renderGold as f,renderHeadline as O}from"efficient-web-builder/render/components/goldPhrases";import{useCurrency as P}from"./CurrencyContext.js";import{tyrePagePath as w}from"../lib/tyres/tyre-page-path.js";import{TYRE_ILLUSTRATION_NOTE as B}from"../lib/wheels/tyre-render.js";import{cardImageShapeTokens as $}from"efficient-web-builder/format/lib/content/card-image-shape";import{DEFAULT_CARD_INDEX_FORMAT as v,cardIndexCss as U}from"efficient-web-builder/format/lib/sections/product-card-style";import{say as Y}from"efficient-web-builder/format/lib/editor-words";const G="border-b border-line py-[120px] max-[1100px]:py-20";function u({frameClassName:o,style:i,children:n}){return o!==void 0?e("section",{className:o,style:i,children:n}):e(R,{className:G,style:i,children:n})}const x={2:"grid grid-cols-2 gap-2 max-[720px]:grid-cols-1",3:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",4:"grid grid-cols-4 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1"};function V({num:o,title:i,description:n,tyres:g,footnote:h,footnoteLinkText:y,footnoteLinkHref:T,viewMore:s,editing:b=!1,frameClassName:l,omitHead:N=!1,columns:S=3,cardImage:_,outline:k,indexBadge:C}){const{currency:A,formatPrice:D}=P(),t=g??[],c=j("ct"),m=C??v,a=U(c,m),E=t.some(r=>!r.image),I=[h,E?B:null].filter(Boolean).join(" "),d=N?null:e(z,{num:o!=null?f(o):void 0,title:i!=null?O(i,!1):void 0,description:n!=null?f(n):void 0,accent:!0});return t.length===0?b?p(u,{frameClassName:l,children:[d,e("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:Y("No compatible tyres found for this wheel’s sizes yet — tyres appear automatically when a matching size is active and priced in the catalog.")})]}):null:p(u,{frameClassName:l,style:$(_),children:[a&&e("style",{children:a}),d,e("div",{className:`${a?`${c} `:""}${x[S]??x[3]}`,children:t.map(r=>e(L,{outline:k,showIndex:m!=="off",size:r.size,specs:r.specs,prices:r.prices,image:r.image,inStock:r.inStock,href:w(r.slug),currency:A,formatPrice:D},r.sku))}),s&&e("div",{className:"mt-10 flex",children:e(H,{href:s.href,label:s.label})}),e(F,{text:I,linkText:y,linkHref:T})]})}export{V as default};
1
+ "use client";import{jsx as e,jsxs as f}from"react/jsx-runtime";import E from"./SectionBand.js";import{useScopeClass as I}from"../lib/use-scope-class.js";import R from"efficient-web-builder/render/components/SectionHeader";import j from"./SectionFootnote.js";import z from"./TyreCard.js";import F from"./ViewMoreLink.js";import{renderGold as p,renderHeadline as L}from"efficient-web-builder/render/components/goldPhrases";import{useCurrency as H}from"./CurrencyContext.js";import{tyrePagePath as O}from"../lib/tyres/tyre-page-path.js";import{TYRE_ILLUSTRATION_NOTE as P}from"../lib/wheels/tyre-render.js";import{cardImageShapeTokens as B}from"efficient-web-builder/format/lib/content/card-image-shape";import{DEFAULT_CARD_INDEX_FORMAT as $,cardIndexCss as U}from"efficient-web-builder/format/lib/sections/product-card-style";import{say as Y}from"efficient-web-builder/format/lib/editor-words";const G="border-b border-line py-[120px] max-view-desktop:py-20";function u({frameClassName:i,style:o,children:t}){return i!==void 0?e("section",{className:i,style:o,children:t}):e(E,{className:G,style:o,children:t})}const g={2:"grid grid-cols-2 gap-2 max-view-tablet:grid-cols-1",3:"grid grid-cols-3 gap-2 max-view-desktop:grid-cols-2 max-view-tablet:grid-cols-1",4:"grid grid-cols-4 gap-2 max-view-desktop:grid-cols-2 max-view-tablet:grid-cols-1"};function V({num:i,title:o,description:t,tyres:x,footnote:h,footnoteLinkText:b,footnoteLinkHref:y,viewMore:n,editing:T=!1,frameClassName:l,omitHead:k=!1,columns:N=3,cardImage:S,outline:w,indexBadge:_}){const{currency:v,formatPrice:C}=H(),s=x??[],c=I("ct"),m=_??$,a=U(c,m),A=s.some(r=>!r.image),D=[h,A?P:null].filter(Boolean).join(" "),d=k?null:e(R,{num:i!=null?p(i):void 0,title:o!=null?L(o,!1):void 0,description:t!=null?p(t):void 0,accent:!0});return s.length===0?T?f(u,{frameClassName:l,children:[d,e("p",{className:"border-t border-line py-6 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.18em] text-fg-dim",children:Y("No compatible tyres found for this wheel’s sizes yet — tyres appear automatically when a matching size is active and priced in the catalog.")})]}):null:f(u,{frameClassName:l,style:B(S),children:[a&&e("style",{children:a}),d,e("div",{className:`${a?`${c} `:""}${g[N]??g[3]}`,children:s.map(r=>e(z,{outline:w,showIndex:m!=="off",size:r.size,specs:r.specs,prices:r.prices,image:r.image,inStock:r.inStock,href:O(r.slug),currency:v,formatPrice:C},r.sku))}),n&&e("div",{className:"mt-10 flex",children:e(F,{href:n.href,label:n.label})}),e(j,{text:D,linkText:b,linkHref:y})]})}export{V as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as n,Fragment as x}from"react/jsx-runtime";import{usePreviewHeader as v}from"efficient-web-builder/render/components/PreviewHeaderContext";import{NEUTRAL_SITE_NAME as y}from"../lib/content/site.js";import{bannerWords as C,CONSENT_BUTTONS as r,CONSENT_RULES as T}from"../lib/consent/rules.js";const i="flex items-center justify-center gap-5 border border-fg bg-transparent px-6 py-4 font-mono text-[14px] uppercase tracking-[0.3em] text-fg transition-colors hover:bg-fg hover:text-bg",k="font-mono text-[13px] uppercase tracking-[0.15em] text-fg underline decoration-line underline-offset-4 hover:decoration-fg",E="text-fg underline decoration-line underline-offset-4";function f({text:a}){return n("div",{className:"flex items-center gap-3 font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:[e("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),e("span",{children:a})]})}function _({model:a,words:t,layout:g,privacyHref:s,onAccept:l,onReject:h,onChoose:p,inline:N=!1}){const m=n("p",{className:"mt-3 font-body text-[15px] leading-[1.55] text-fg-dim max-[880px]:text-[14px]",children:[t.before,e("span",{className:"text-fg",children:t.link}),t.after,s&&n(x,{children:[" ",e("a",{className:E,href:s,children:r.privacyPolicy})]})]}),d=a==="opt-in",b=d?n(x,{children:[e("button",{type:"button",className:`${i} max-[880px]:order-2`,onClick:h,children:r.reject}),e("button",{type:"button",className:`${i} max-[880px]:order-1`,onClick:l,children:r.accept})]}):n(x,{children:[e("button",{type:"button",className:`${i} max-[880px]:order-2`,onClick:p,children:r.privacyChoices}),e("button",{type:"button",className:`${i} max-[880px]:order-1`,onClick:l,children:r.ok})]}),o=d?e("button",{type:"button",className:k,onClick:p,children:r.choose}):null,u=N?"absolute":"fixed";return g==="card"?n("div",{role:"region","aria-label":t.heading,"data-consent-banner":"card",className:`${u} bottom-6 left-6 z-[90] w-[420px] border border-line bg-bg p-6 [border-radius:var(--sf-section-radius,0px)] max-[880px]:inset-x-0 max-[880px]:bottom-0 max-[880px]:left-0 max-[880px]:w-auto max-[880px]:border-x-0 max-[880px]:border-b-0 max-[880px]:px-5 max-[880px]:pb-8 max-[880px]:pt-6 max-[880px]:[border-radius:0]`,children:[e(f,{text:t.heading}),m,e("div",{className:"mt-5 grid grid-cols-2 gap-3 max-[880px]:grid-cols-1",children:b}),o&&e("div",{className:"mt-4 max-[880px]:text-center",children:o})]}):e("div",{role:"region","aria-label":t.heading,"data-consent-banner":"bar",className:`${u} inset-x-0 bottom-0 z-[90] border-t border-line bg-bg`,children:n("div",{className:"flex items-center justify-between gap-10 px-10 py-6 max-[1100px]:flex-col max-[1100px]:items-start max-[1100px]:gap-5 max-[880px]:px-5 max-[880px]:pb-8",children:[n("div",{className:"min-w-0 max-w-[700px]",children:[e(f,{text:t.heading}),m]}),n("div",{className:"flex flex-none items-center gap-3 max-[880px]:grid max-[880px]:w-full",children:[o&&e("span",{className:"mr-3 max-[880px]:order-3 max-[880px]:mr-0 max-[880px]:mt-1 max-[880px]:text-center",children:o}),b]})]})})}function $({layout:a}){const t=v().websiteName?.trim()||y;return e("div",{className:"relative min-h-[640px] w-full","data-consent-banner-preview":!0,children:e(_,{model:"opt-in",words:C(T.other,t,{analytics:!0,googleAds:!0,meta:!0}),layout:a,privacyHref:null,onAccept:c,onReject:c,onChoose:c,inline:!0})})}function c(){}export{i as CONSENT_CHOICE_BUTTON,k as CONSENT_TEXT_BUTTON,$ as ConsentBannerPreview,_ as ConsentBannerView,f as ConsentEyebrow};
1
+ "use client";import{jsx as e,jsxs as n,Fragment as s}from"react/jsx-runtime";import{usePreviewHeader as v}from"efficient-web-builder/render/components/PreviewHeaderContext";import{NEUTRAL_SITE_NAME as y}from"../lib/content/site.js";import{bannerWords as k,CONSENT_BUTTONS as r,CONSENT_RULES as C}from"../lib/consent/rules.js";const i="flex items-center justify-center gap-5 border border-fg bg-transparent px-6 py-4 font-mono text-[14px] uppercase tracking-[0.3em] text-fg transition-colors hover:bg-fg hover:text-bg",T="font-mono text-[13px] uppercase tracking-[0.15em] text-fg underline decoration-line underline-offset-4 hover:decoration-fg",w="text-fg underline decoration-line underline-offset-4";function f({text:a}){return n("div",{className:"flex items-center gap-3 font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:[e("span",{className:"block h-1.5 w-1.5 rounded-full bg-accent"}),e("span",{children:a})]})}function E({model:a,words:t,layout:g,privacyHref:c,onAccept:l,onReject:h,onChoose:p,inline:N=!1}){const m=n("p",{className:"mt-3 font-body text-[15px] leading-[1.55] text-fg-dim max-[880px]:text-[14px]",children:[t.before,e("span",{className:"text-fg",children:t.link}),t.after,c&&n(s,{children:[" ",e("a",{className:w,href:c,children:r.privacyPolicy})]})]}),d=a==="opt-in",b=d?n(s,{children:[e("button",{type:"button",className:`${i} max-[880px]:order-2`,onClick:h,children:r.reject}),e("button",{type:"button",className:`${i} max-[880px]:order-1`,onClick:l,children:r.accept})]}):n(s,{children:[e("button",{type:"button",className:`${i} max-[880px]:order-2`,onClick:p,children:r.privacyChoices}),e("button",{type:"button",className:`${i} max-[880px]:order-1`,onClick:l,children:r.ok})]}),o=d?e("button",{type:"button",className:T,onClick:p,children:r.choose}):null,u=N?"absolute":"fixed";return g==="card"?n("div",{role:"region","aria-label":t.heading,"data-consent-banner":"card",className:`${u} bottom-6 left-6 z-[90] w-[420px] border border-line bg-bg p-6 [border-radius:var(--sf-section-radius,0px)] max-[880px]:inset-x-0 max-[880px]:bottom-0 max-[880px]:left-0 max-[880px]:w-auto max-[880px]:border-x-0 max-[880px]:border-b-0 max-[880px]:px-5 max-[880px]:pb-8 max-[880px]:pt-6 max-[880px]:[border-radius:0]`,children:[e(f,{text:t.heading}),m,e("div",{className:"mt-5 grid grid-cols-2 gap-3 max-[880px]:grid-cols-1",children:b}),o&&e("div",{className:"mt-4 max-[880px]:text-center",children:o})]}):e("div",{role:"region","aria-label":t.heading,"data-consent-banner":"bar",className:`${u} inset-x-0 bottom-0 z-[90] border-t border-line bg-bg`,children:n("div",{className:"flex items-center justify-between gap-10 px-10 py-6 max-view-desktop:flex-col max-view-desktop:items-start max-view-desktop:gap-5 max-[880px]:px-5 max-[880px]:pb-8",children:[n("div",{className:"min-w-0 max-w-[700px]",children:[e(f,{text:t.heading}),m]}),n("div",{className:"flex flex-none items-center gap-3 max-[880px]:grid max-[880px]:w-full",children:[o&&e("span",{className:"mr-3 max-[880px]:order-3 max-[880px]:mr-0 max-[880px]:mt-1 max-[880px]:text-center",children:o}),b]})]})})}function $({layout:a}){const t=v().websiteName?.trim()||y;return e("div",{className:"relative min-h-[640px] w-full","data-consent-banner-preview":!0,children:e(E,{model:"opt-in",words:k(C.other,t,{analytics:!0,googleAds:!0,meta:!0}),layout:a,privacyHref:null,onAccept:x,onReject:x,onChoose:x,inline:!0})})}function x(){}export{i as CONSENT_CHOICE_BUTTON,T as CONSENT_TEXT_BUTTON,$ as ConsentBannerPreview,E as ConsentBannerView,f as ConsentEyebrow};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as r}from"react/jsx-runtime";import x from"efficient-web-builder/render/components/BlockFrame";import{renderGold as f,renderHeadline as g,splitParagraphs as o}from"efficient-web-builder/render/components/goldPhrases";import N from"./CopyText.js";import t from"./QrCode.js";import{MESSAGING_ACTION as i,MESSAGING_WORDS as d}from"../lib/sections/messaging.js";const p={call:l=>l?`Call ${l}`:"Call",email:l=>l?`Email ${l}`:"Email"};function c({title:l,description:s,contacts:n,contained:h}){return n.length?a(x,{contained:h,className:"py-6",children:r("div",{className:"flex flex-col gap-6",children:[(l||s)&&r("div",{className:"flex max-w-[680px] flex-col gap-3",children:[l&&a("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:g(l,!1)}),s&&o(s).map((e,m)=>a("p",{className:"text-[15px] leading-[1.6] opacity-85",children:f(e)},m))]}),a("ul",{className:"grid gap-3 sm:grid-cols-2 md:gap-4 lg:grid-cols-3","data-contact-cards":"",children:n.map((e,m)=>r("li",{className:"flex min-w-0 items-start justify-between gap-4 rounded-[var(--radius-card,12px)] border border-line p-4 md:p-5",children:[r("div",{className:"flex min-w-0 flex-col gap-1.5",children:[a("p",{className:"font-mono text-[12px] uppercase tracking-[0.14em] text-fg-dim",children:e.way}),e.name&&a("p",{className:"font-heading2 text-[18px] font-medium leading-tight",children:e.name}),a("p",{className:"break-all text-[15px] text-fg-dim",children:e.handle}),a("div",{className:"pt-1",children:e.kind==="phone"?a("a",{href:e.href,className:i,children:p.call(e.name)}):e.kind==="email"?a("a",{href:e.href,className:i,children:p.email(e.name)}):e.href?r("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:i,children:[d.open(e.way),r("span",{className:"sr-only",children:[" ",d.opensApp]})]}):a(N,{text:e.handle,className:i})})]}),e.qr&&a(t,{text:e.qr,label:d.qrLabel(e.way,e.handle),className:"aspect-square w-24 shrink-0 rounded-sm"})]},m))})]})}):null}export{p as CONTACT_WORDS,c as default};
1
+ import{jsx as a,jsxs as r}from"react/jsx-runtime";import x from"efficient-web-builder/render/components/BlockFrame";import{renderGold as f,renderHeadline as g,splitParagraphs as o}from"efficient-web-builder/render/components/goldPhrases";import N from"./CopyText.js";import t from"./QrCode.js";import{MESSAGING_ACTION as i,MESSAGING_WORDS as d}from"../lib/sections/messaging.js";const p={call:l=>l?`Call ${l}`:"Call",email:l=>l?`Email ${l}`:"Email"};function c({title:l,description:s,contacts:n,contained:h}){return n.length?a(x,{contained:h,className:"py-6",children:r("div",{className:"flex flex-col gap-6",children:[(l||s)&&r("div",{className:"flex max-w-[680px] flex-col gap-3",children:[l&&a("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-view-wide:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:g(l,!1)}),s&&o(s).map((e,m)=>a("p",{className:"text-[15px] leading-[1.6] opacity-85",children:f(e)},m))]}),a("ul",{className:"grid gap-3 sm:grid-cols-2 md:gap-4 lg:grid-cols-3","data-contact-cards":"",children:n.map((e,m)=>r("li",{className:"flex min-w-0 items-start justify-between gap-4 rounded-[var(--radius-card,12px)] border border-line p-4 md:p-5",children:[r("div",{className:"flex min-w-0 flex-col gap-1.5",children:[a("p",{className:"font-mono text-[12px] uppercase tracking-[0.14em] text-fg-dim",children:e.way}),e.name&&a("p",{className:"font-heading2 text-[18px] font-medium leading-tight",children:e.name}),a("p",{className:"break-all text-[15px] text-fg-dim",children:e.handle}),a("div",{className:"pt-1",children:e.kind==="phone"?a("a",{href:e.href,className:i,children:p.call(e.name)}):e.kind==="email"?a("a",{href:e.href,className:i,children:p.email(e.name)}):e.href?r("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:i,children:[d.open(e.way),r("span",{className:"sr-only",children:[" ",d.opensApp]})]}):a(N,{text:e.handle,className:i})})]}),e.qr&&a(t,{text:e.qr,label:d.qrLabel(e.way,e.handle),className:"aspect-square w-24 shrink-0 rounded-sm"})]},m))})]})}):null}export{p as CONTACT_WORDS,c as default};
@@ -1 +1 @@
1
- "use client";import{jsx as n,jsxs as i,Fragment as Y}from"react/jsx-runtime";import ee from"./SectionBand.js";import{useEffect as _,useState as q}from"react";import{useRootIsDark as ne}from"efficient-shell/theme";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as te,FormHoneypot as ae,successMessageFor as re,useBoundForm as le,useFormSubmission as oe}from"./formSubmission.js";import ie from"efficient-web-builder/render/components/SectionEyebrow";import se,{FieldCaption as ce}from"./WebFormField.js";import{scrollBehavior as de}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as T,renderGold as $,renderHeadline as me,splitParagraphs as pe}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as fe}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ue,encodePartRow as xe}from"efficient-web-builder/render/lib/document/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},E={label:"Label",value:"Value",sub:"Sub line"};function be(s,r){return s.map((l,a)=>r?{...l,at:a,label:l.label||j(E.label),value:l.value||j(E.value),sub:l.sub||j(E.sub)}:{...l,at:a}).filter(l=>!l.hidden)}function V(s,r){return r?{[ue]:xe("channels",s.at)}:{}}function X(s){if(s.href)return s.href;const r=(s.value??"").trim();if(r.includes("@"))return`mailto:${r}`;if(/^\+?[\d\s().-]{6,}$/.test(r))return fe(r)}function ge(s){const r=[],l=new Map;for(const a of s){if(!a.groupId){r.push(a);continue}const p=a.value.trim().toLowerCase(),x=l.get(p);if(x)x.label=`${x.label} · ${a.label}`;else{const b={...a};l.set(p,b),r.push(b)}}return r}function he(s,r,l){const a=p=>String(p??"").trim().toLowerCase();for(const p of s?.fields??[]){if(p.type!=="select"||!Array.isArray(p.options))continue;const x=p.options.map(String);if(!r.some(c=>x.some(f=>a(f)===a(c.title))))continue;const b=c=>a(c===h?l:r.find(f=>f.id===c)?.title);return{key:p.key,optionFor:c=>x.find(f=>a(f)===b(c)&&b(c)!==""),idFor:c=>{const f=r.find(w=>a(w.title)===a(c));return f?f.id:l&&a(c)===a(l)?h:void 0}}}return null}const A=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function ye({routingNumber:s,routingTagline:r,groups:l,formNumber:a,formHeading:p,metaLines:x,showOther:b=!0,otherLabel:c="Other",otherNoteTitle:f,otherNoteBody:w,buttonText:H,consent:M,channels:B,formSlug:O,form:D,editing:y,initialActiveId:v,onActiveChange:L,reasonExtras:W}){const N=[...l.map(e=>e.id),...b?[h]:[]],G=v&&N.includes(v)?v:N[0]??h,[g,C]=q(G);_(()=>{N.includes(g)||C(N[0]??h)},[N.join("|")]),_(()=>{v&&N.includes(v)&&C(v)},[v]);const k=le(O,D),d=oe({form:k,formSlug:O,editing:y}),u=he(k,l,b?c:void 0),R=e=>{C(e),z(null);const o=u?.optionFor(e);u&&o!==void 0&&d.set(u.key,o),L?.(e)};_(()=>{if(!u||d.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&d.set(u.key,e)},[u?.key]);const[P,z]=q(null),S=be(B??[],!!y),U=e=>P!==null?!e.groupId&&e.value===P:e.groupId===g,Z=k===void 0,I=!!k||!!y,J=!ne({whenUnset:!0}),K=l.length>0||!!y;return i(Y,{children:[K&&i(ee,{className:"border-b border-line py-[60px]",style:J?void 0:{background:"var(--section-bg)"},children:[(s||r)&&i("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[s&&n(ie,{text:s}),r&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:$(r)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:l.map(e=>{const o=g===e.id;return i("button",{type:"button",onClick:()=>{R(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:de(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&i("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(I||S.length>0)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-[1100px]:py-[60px]",children:i("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",I&&S.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[I&&i("div",{children:[i("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[i("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:$(a)}),p&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:me(p,!0)})]}),!!(x&&x.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:x.map((e,o)=>n("div",{children:e},o))})]}),k?d.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:re(k,"Thanks — we've received your message.")}):i("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:d.handleSubmit,children:[k.fields.map(e=>n(se,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(te,{field:e,value:d.valueOf(e.key),onChange:o=>{d.set(e.key,o);const m=u&&e.key===u.key?u.idFor(o):void 0;m!==void 0&&(C(m),z(null),L?.(m))},className:e.type==="textarea"?`${A} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":A})},e.key)),i("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ce,{required:!0,children:"Reason"}),i("div",{className:"mt-1 flex flex-wrap gap-2",children:[l.map(e=>{const o=g===e.id;return n("button",{type:"button",onClick:()=>R(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,o?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),b&&n("button",{type:"button",onClick:()=>R(h),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===h?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:T(c)})]})]}),W?.(g),g===h&&(f||w)&&i("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:$(f)}),w&&pe(w).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},o))]}),n(ae,{value:d.honeypot,onChange:d.setHoneypot}),d.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:d.error}),i("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[M&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:$(M)}),n("button",{type:y?"button":"submit",disabled:d.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:d.submitting?"Sending…":H?T(H):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:Z?j("Loading form…"):j("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),S.length>0&&n("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:S.map((e,o)=>{const m=U(e),F=!!!e.groupId;return i("div",{...V(e,y),onClick:F?()=>z(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",F?"cursor-pointer border-t-2 border-t-accent":"",m?"border-l-accent pl-6":F?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,m?"text-fg":"text-accent"].join(" "),children:e.label}),F?n("a",{href:e.href,onClick:Q=>Q.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,m?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:X(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})}),S.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-[1100px]:flex",children:ge(S).map((e,o)=>{const m=!!e.groupId;return i("div",{...V(e,y),className:["flex flex-col gap-3 border-b border-line px-5 py-5",m?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,m?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:X(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})})]})})]})}export{E as CHANNEL_HINTS,X as channelHref,ye as default,be as drawnChannels,A as fieldClass,ge as mergeChannelsForPhone,he as topicFieldOf};
1
+ "use client";import{jsx as n,jsxs as i,Fragment as Y}from"react/jsx-runtime";import ee from"./SectionBand.js";import{useEffect as _,useState as q}from"react";import{useRootIsDark as ne}from"efficient-shell/theme";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as te,FormHoneypot as ae,successMessageFor as re,useBoundForm as le,useFormSubmission as oe}from"./formSubmission.js";import ie from"efficient-web-builder/render/components/SectionEyebrow";import se,{FieldCaption as ce}from"./WebFormField.js";import{scrollBehavior as de}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as T,renderGold as $,renderHeadline as me,splitParagraphs as pe}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as fe}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ue,encodePartRow as be}from"efficient-web-builder/render/lib/document/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},E={label:"Label",value:"Value",sub:"Sub line"};function xe(s,r){return s.map((l,a)=>r?{...l,at:a,label:l.label||j(E.label),value:l.value||j(E.value),sub:l.sub||j(E.sub)}:{...l,at:a}).filter(l=>!l.hidden)}function V(s,r){return r?{[ue]:be("channels",s.at)}:{}}function X(s){if(s.href)return s.href;const r=(s.value??"").trim();if(r.includes("@"))return`mailto:${r}`;if(/^\+?[\d\s().-]{6,}$/.test(r))return fe(r)}function ge(s){const r=[],l=new Map;for(const a of s){if(!a.groupId){r.push(a);continue}const p=a.value.trim().toLowerCase(),b=l.get(p);if(b)b.label=`${b.label} · ${a.label}`;else{const x={...a};l.set(p,x),r.push(x)}}return r}function he(s,r,l){const a=p=>String(p??"").trim().toLowerCase();for(const p of s?.fields??[]){if(p.type!=="select"||!Array.isArray(p.options))continue;const b=p.options.map(String);if(!r.some(c=>b.some(f=>a(f)===a(c.title))))continue;const x=c=>a(c===h?l:r.find(f=>f.id===c)?.title);return{key:p.key,optionFor:c=>b.find(f=>a(f)===x(c)&&x(c)!==""),idFor:c=>{const f=r.find(S=>a(S.title)===a(c));return f?f.id:l&&a(c)===a(l)?h:void 0}}}return null}const A=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function ve({routingNumber:s,routingTagline:r,groups:l,formNumber:a,formHeading:p,metaLines:b,showOther:x=!0,otherLabel:c="Other",otherNoteTitle:f,otherNoteBody:S,buttonText:H,consent:M,channels:B,formSlug:O,form:D,editing:v,initialActiveId:y,onActiveChange:L,reasonExtras:W}){const w=[...l.map(e=>e.id),...x?[h]:[]],G=y&&w.includes(y)?y:w[0]??h,[g,C]=q(G);_(()=>{w.includes(g)||C(w[0]??h)},[w.join("|")]),_(()=>{y&&w.includes(y)&&C(y)},[y]);const k=le(O,D),d=oe({form:k,formSlug:O,editing:v}),u=he(k,l,x?c:void 0),R=e=>{C(e),z(null);const o=u?.optionFor(e);u&&o!==void 0&&d.set(u.key,o),L?.(e)};_(()=>{if(!u||d.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&d.set(u.key,e)},[u?.key]);const[P,z]=q(null),N=xe(B??[],!!v),U=e=>P!==null?!e.groupId&&e.value===P:e.groupId===g,Z=k===void 0,I=!!k||!!v,J=!ne({whenUnset:!0}),K=l.length>0||!!v;return i(Y,{children:[K&&i(ee,{className:"border-b border-line py-[60px]",style:J?void 0:{background:"var(--section-bg)"},children:[(s||r)&&i("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[s&&n(ie,{text:s}),r&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:$(r)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-view-desktop:grid-cols-2 max-[700px]:grid-cols-1",children:l.map(e=>{const o=g===e.id;return i("button",{type:"button",onClick:()=>{R(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:de(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&i("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(I||N.length>0)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-view-desktop:py-[60px]",children:i("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-view-desktop:grid-cols-1 max-view-desktop:gap-[60px] max-view-desktop:px-[min(24px,var(--sf-site-gutter,40px))]",I&&N.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[I&&i("div",{children:[i("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[i("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:$(a)}),p&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:me(p,!0)})]}),!!(b&&b.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:b.map((e,o)=>n("div",{children:e},o))})]}),k?d.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:re(k,"Thanks — we've received your message.")}):i("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:d.handleSubmit,children:[k.fields.map(e=>n(se,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(te,{field:e,value:d.valueOf(e.key),onChange:o=>{d.set(e.key,o);const m=u&&e.key===u.key?u.idFor(o):void 0;m!==void 0&&(C(m),z(null),L?.(m))},className:e.type==="textarea"?`${A} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":A})},e.key)),i("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ce,{required:!0,children:"Reason"}),i("div",{className:"mt-1 flex flex-wrap gap-2",children:[l.map(e=>{const o=g===e.id;return n("button",{type:"button",onClick:()=>R(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,o?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),x&&n("button",{type:"button",onClick:()=>R(h),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===h?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:T(c)})]})]}),W?.(g),g===h&&(f||S)&&i("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:$(f)}),S&&pe(S).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},o))]}),n(ae,{value:d.honeypot,onChange:d.setHoneypot}),d.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:d.error}),i("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[M&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:$(M)}),n("button",{type:v?"button":"submit",disabled:d.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:d.submitting?"Sending…":H?T(H):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:Z?j("Loading form…"):j("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),N.length>0&&n("aside",{className:"flex flex-col gap-0 max-view-desktop:hidden",children:N.map((e,o)=>{const m=U(e),F=!!!e.groupId;return i("div",{...V(e,v),onClick:F?()=>z(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",F?"cursor-pointer border-t-2 border-t-accent":"",m?"border-l-accent pl-6":F?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,m?"text-fg":"text-accent"].join(" "),children:e.label}),F?n("a",{href:e.href,onClick:Q=>Q.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,m?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:X(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})}),N.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-view-desktop:flex",children:ge(N).map((e,o)=>{const m=!!e.groupId;return i("div",{...V(e,v),className:["flex flex-col gap-3 border-b border-line px-5 py-5",m?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,m?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:X(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})})]})})]})}export{E as CHANNEL_HINTS,X as channelHref,ve as default,xe as drawnChannels,A as fieldClass,ge as mergeChannelsForPhone,he as topicFieldOf};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as r}from"react/jsx-runtime";import d from"efficient-web-builder/render/components/BlockFrame";import f from"efficient-web-builder/render/components/SectionEyebrow";import{renderGold as l,renderHeadline as o,splitParagraphs as g}from"efficient-web-builder/render/components/goldPhrases";const h="py-6",u="pt-0 pb-6";function N({eyebrow:n,title:t,body:s,options:c=[],highlightBadge:p,contained:x,omitHead:m=!1}){return a(d,{contained:x,className:m?u:h,children:r("div",{className:"flex flex-col gap-6",children:[m?null:n||t||s?r("div",{className:"flex max-w-[680px] flex-col gap-3",children:[n&&a(f,{text:n,scaled:!1}),t&&a("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:o(t,!1)}),s&&g(s).map((e,i)=>a("p",{className:"text-[15px] leading-[1.6] opacity-85",children:l(e)},i))]}):null,c.length>0&&a("ul",{className:"grid grid-cols-3 gap-4 max-[800px]:grid-cols-1",children:c.map((e,i)=>r("li",{className:`sf-card relative flex flex-col gap-2 border bg-surface px-6 py-6 ${e.highlighted?"border-accent":"border-line"}`,children:[e.highlighted&&p&&a("span",{className:"absolute -top-2.5 left-5 bg-bg px-2 font-mono text-[10px] uppercase tracking-[0.25em] text-accent",children:l(p)}),e.name&&a("span",{className:"text-[17px] font-medium",children:l(e.name)}),e.eta&&a("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] opacity-60",children:l(e.eta)}),e.blurb&&a("p",{className:"text-[13.5px] leading-[1.6] opacity-75",children:l(e.blurb)}),e.price&&a("span",{className:"mt-auto pt-2 font-display text-[20px] font-medium text-accent",children:l(e.price)})]},i))})]})})}export{N as default};
1
+ import{jsx as a,jsxs as r}from"react/jsx-runtime";import x from"efficient-web-builder/render/components/BlockFrame";import f from"efficient-web-builder/render/components/SectionEyebrow";import{renderGold as l,renderHeadline as o,splitParagraphs as g}from"efficient-web-builder/render/components/goldPhrases";const h="py-6",u="pt-0 pb-6";function N({eyebrow:n,title:t,body:i,options:c=[],highlightBadge:p,contained:d,omitHead:m=!1}){return a(x,{contained:d,className:m?u:h,children:r("div",{className:"flex flex-col gap-6",children:[m?null:n||t||i?r("div",{className:"flex max-w-[680px] flex-col gap-3",children:[n&&a(f,{text:n,scaled:!1}),t&&a("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium leading-[1.05] tracking-[-0.03em] max-view-wide:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:o(t,!1)}),i&&g(i).map((e,s)=>a("p",{className:"text-[15px] leading-[1.6] opacity-85",children:l(e)},s))]}):null,c.length>0&&a("ul",{className:"grid grid-cols-3 gap-4 max-view-wide:grid-cols-1",children:c.map((e,s)=>r("li",{className:`sf-card relative flex flex-col gap-2 border bg-surface px-6 py-6 ${e.highlighted?"border-accent":"border-line"}`,children:[e.highlighted&&p&&a("span",{className:"absolute -top-2.5 left-5 bg-bg px-2 font-mono text-[10px] uppercase tracking-[0.25em] text-accent",children:l(p)}),e.name&&a("span",{className:"text-[17px] font-medium",children:l(e.name)}),e.eta&&a("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] opacity-60",children:l(e.eta)}),e.blurb&&a("p",{className:"text-[13.5px] leading-[1.6] opacity-75",children:l(e.blurb)}),e.price&&a("span",{className:"mt-auto pt-2 font-display text-[20px] font-medium text-accent",children:l(e.price)})]},s))})]})})}export{N as default};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import j from"./SectionBand.js";import k from"efficient-web-builder/render/components/Placeholder";import{withRMark as s}from"efficient-web-builder/render/components/RMark";import{renderGold as f}from"efficient-web-builder/render/components/goldPhrases";import{say as d}from"efficient-web-builder/format/lib/editor-words";import{stripMarkup as z}from"efficient-web-builder/format/lib/markup";const m={body:"text-[length:var(--size-body,15px)]",labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function $({rows:h,startLeft:b=!1,layout:u="even",padTop:c,padBottom:o,editing:v=!1}){const a=u==="narrow",y=typeof c=="number"?c:100,w=typeof o=="number"?o:100,p=(h??[]).filter(e=>(e?.eyebrow??"").trim()||(e?.title??"").trim()||(e?.copy??"").trim()||(e?.tag??"").trim()||(e?.image??"").trim()),g=p.length>0?p:v?[{tag:d("Row {n}",{n:1})},{tag:d("Row {n}",{n:2})},{tag:d("Row {n}",{n:3})}]:[];return g.length===0?null:t(j,{className:"relative z-[2] border-b border-line bg-bg",style:{paddingTop:y,paddingBottom:w},children:g.map((e,l)=>{const r=l%2===1!==b;return n("div",{className:["grid items-center py-[60px]",a?"grid-cols-[1fr_460px] gap-[72px]":"grid-cols-2 gap-12","max-[1100px]:grid-cols-1",r?"[direction:rtl] max-[1100px]:[direction:ltr]":"",l>0?"border-t border-line":""].join(" "),children:[n("div",{className:["[direction:ltr] flex flex-col gap-4",a?"max-w-[560px]":"",a&&!r?"ml-auto max-[1100px]:ml-0":""].join(" "),children:[e.eyebrow?.trim()&&t("div",{className:`font-mono ${m.labelLarge} uppercase tracking-[0.2em] text-accent`,children:s(e.eyebrow)}),e.title?.trim()&&t("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3vw,42px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[1.1] tracking-[-0.02em]",children:f(e.title,!0)}),e.copy?.trim()&&t("p",{className:`${m.body} leading-[1.6] text-fg-dim`,children:f(e.copy,!1)}),(()=>{const x=(e.specs??[]).filter(i=>(i?.label??"").trim()||(i?.value??"").trim());return x.length===0?null:t("dl",{className:`mt-2 border-t border-line pt-3 font-mono ${m.label} uppercase tracking-[0.1em] leading-[2.1]`,children:x.map((i,N)=>n("div",{className:"flex items-baseline justify-between gap-6",children:[t("dt",{className:"text-fg-dim",children:s(i.label??"")}),t("dd",{className:"text-fg",children:s(i.value??"")})]},N))})})()]}),n("div",{className:["[direction:ltr] flex flex-col gap-3",a?r?"items-end":"items-start":"",a?"max-[1100px]:items-start":""].join(" "),children:[e.media?t("div",{className:"w-full",children:e.media}):t("div",{className:["relative overflow-hidden max-w-full",a?e.imageShape==="wide"?"w-[460px] aspect-[16/9]":"w-[360px] aspect-square":"aspect-square"].join(" "),children:t(k,{label:e.tag?.trim()||e.title?.trim()||`row-${l+1}`,src:e.image||void 0,alt:z(e.title?.trim()||e.tag?.trim()||""),showBackground:!e.image,objectFit:"contain",sizes:a?"(max-width: 1100px) 100vw, 460px":"(max-width: 1100px) 100vw, 50vw"})}),e.tag?.trim()&&t("span",{className:`font-mono ${m.labelSmall} uppercase tracking-[0.2em] text-fg-dim ${r?"text-left":"text-right"}`,children:s(e.tag)})]})]},l)})})}export{$ as default};
1
+ import{jsx as t,jsxs as r}from"react/jsx-runtime";import j from"./SectionBand.js";import z from"efficient-web-builder/render/components/Placeholder";import{withRMark as s}from"efficient-web-builder/render/components/RMark";import{renderGold as x}from"efficient-web-builder/render/components/goldPhrases";import{say as d}from"efficient-web-builder/format/lib/editor-words";import{stripMarkup as $}from"efficient-web-builder/format/lib/markup";import{finiteNumber as h}from"efficient-web-builder/format/lib/finite-number";const m={body:"text-[length:var(--size-body,15px)]",labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function R({rows:b,startLeft:u=!1,layout:v="even",padTop:w,padBottom:N,editing:y=!1}){const i=v==="narrow",o=h(w),c=h(N),p=(b??[]).filter(e=>(e?.eyebrow??"").trim()||(e?.title??"").trim()||(e?.copy??"").trim()||(e?.tag??"").trim()||(e?.image??"").trim()),g=p.length>0?p:y?[{tag:d("Row {n}",{n:1})},{tag:d("Row {n}",{n:2})},{tag:d("Row {n}",{n:3})}]:[];return g.length===0?null:t(j,{className:"relative z-[2] border-b border-line bg-bg",style:{...o===void 0?{}:{paddingTop:o},...c===void 0?{}:{paddingBottom:c}},defaults:{paddingTop:100,paddingBottom:100},children:g.map((e,l)=>{const n=l%2===1!==u;return r("div",{className:["grid items-center py-[60px]",i?"grid-cols-[1fr_460px] gap-[72px]":"grid-cols-2 gap-12","max-view-desktop:grid-cols-1",n?"[direction:rtl] max-view-desktop:[direction:ltr]":"",l>0?"border-t border-line":""].join(" "),children:[r("div",{className:["[direction:ltr] flex flex-col gap-4",i?"max-w-[560px]":"",i&&!n?"ml-auto max-view-desktop:ml-0":""].join(" "),children:[e.eyebrow?.trim()&&t("div",{className:`font-mono ${m.labelLarge} uppercase tracking-[0.2em] text-accent`,children:s(e.eyebrow)}),e.title?.trim()&&t("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3vw,42px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[1.1] tracking-[-0.02em]",children:x(e.title,!0)}),e.copy?.trim()&&t("p",{className:`${m.body} leading-[1.6] text-fg-dim`,children:x(e.copy,!1)}),(()=>{const f=(e.specs??[]).filter(a=>(a?.label??"").trim()||(a?.value??"").trim());return f.length===0?null:t("dl",{className:`mt-2 border-t border-line pt-3 font-mono ${m.label} uppercase tracking-[0.1em] leading-[2.1]`,children:f.map((a,k)=>r("div",{className:"flex items-baseline justify-between gap-6",children:[t("dt",{className:"text-fg-dim",children:s(a.label??"")}),t("dd",{className:"text-fg",children:s(a.value??"")})]},k))})})()]}),r("div",{className:["[direction:ltr] flex flex-col gap-3",i?n?"items-end":"items-start":"",i?"max-view-desktop:items-start":""].join(" "),children:[e.media?t("div",{className:"w-full",children:e.media}):t("div",{className:["relative overflow-hidden max-w-full",i?e.imageShape==="wide"?"w-[460px] aspect-[16/9]":"w-[360px] aspect-square":"aspect-square"].join(" "),children:t(z,{label:e.tag?.trim()||e.title?.trim()||`row-${l+1}`,src:e.image||void 0,alt:$(e.title?.trim()||e.tag?.trim()||""),showBackground:!e.image,objectFit:"contain",sizes:i?"(max-width: 1100px) 100vw, 460px":"(max-width: 1100px) 100vw, 50vw"})}),e.tag?.trim()&&t("span",{className:`font-mono ${m.labelSmall} uppercase tracking-[0.2em] text-fg-dim ${n?"text-left":"text-right"}`,children:s(e.tag)})]})]},l)})})}export{R as default};
@@ -1,5 +1,5 @@
1
1
  import type { EuTyreLabel } from "../lib/tyres/eu-tyre-label.js";
2
- export declare const EU_LABEL_BAND = "border-b border-line py-[120px] max-[1100px]:py-20";
2
+ export declare const EU_LABEL_BAND = "border-b border-line py-[120px] max-view-desktop:py-20";
3
3
  export default function EuTyreLabels({ labels, num, capped, }: {
4
4
  labels: EuTyreLabel[];
5
5
  num: string;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as o,Fragment as a}from"react/jsx-runtime";import s from"./EuTyreLabelCard.js";import n from"./SectionBand.js";import d from"efficient-web-builder/render/components/SectionHeader";import l from"./SectionFootnote.js";const c="border-b border-line py-[120px] max-[1100px]:py-20";function m({labels:e,num:t,capped:i=!0}){return e.length===0?null:o(n,{className:c,capped:i,children:[r(d,{num:t,title:"EU tyre *label.*",description:"The registered grades for this tyre, read live from the EU product registry.",accent:!0}),r(p,{labels:e})]})}function p({labels:e}){return o(a,{children:[r("div",{className:"grid grid-cols-3 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:e.map(t=>r(s,{label:t},t.registrationNumber))}),r(l,{text:"Source: *EPREL*, the European Product Registry for Energy Labelling. Grades are shown as registered; the registry is the authority."})]})}export{c as EU_LABEL_BAND,p as EuTyreLabelGrades,m as default};
1
+ import{jsx as e,jsxs as o,Fragment as a}from"react/jsx-runtime";import s from"./EuTyreLabelCard.js";import n from"./SectionBand.js";import d from"efficient-web-builder/render/components/SectionHeader";import l from"./SectionFootnote.js";const c="border-b border-line py-[120px] max-view-desktop:py-20";function m({labels:r,num:t,capped:i=!0}){return r.length===0?null:o(n,{className:c,capped:i,children:[e(d,{num:t,title:"EU tyre *label.*",description:"The registered grades for this tyre, read live from the EU product registry.",accent:!0}),e(p,{labels:r})]})}function p({labels:r}){return o(a,{children:[e("div",{className:"grid grid-cols-3 gap-2 max-view-desktop:grid-cols-2 max-view-tablet:grid-cols-1",children:r.map(t=>e(s,{label:t},t.registrationNumber))}),e(l,{text:"Source: *EPREL*, the European Product Registry for Energy Labelling. Grades are shown as registered; the registry is the authority."})]})}export{c as EU_LABEL_BAND,p as EuTyreLabelGrades,m as default};
@@ -1 +1 @@
1
- import{jsx as n,jsxs as l}from"react/jsx-runtime";import{useState as G}from"react";import{useScopeClass as ue}from"../lib/use-scope-class.js";import{containerGapProps as he}from"efficient-web-builder/format/lib/content/container-gap";import be from"efficient-web-builder/render/components/SectionHeader";import v from"efficient-web-builder/render/components/PostCard";import ve from"efficient-web-builder/render/components/Placeholder";import{SiteLink as z}from"efficient-web-builder/render/lib/site-runtime";import{renderGold as x,renderHeadline as N}from"efficient-web-builder/render/components/goldPhrases";import{say as y}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as Ne}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as K}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as ye}from"../lib/sections/fill-row.js";import{headIsEmpty as Ee,ownPadding as Te}from"../lib/sections/own-padding.js";const Ae=4;function st(t){if(!Array.isArray(t))return;const a=t.filter(e=>typeof e=="string"&&!!e.trim()).map(e=>e.trim()).slice(0,Ae);return a.length?a:void 0}function ot(t){if(!t||typeof t!="object"||Array.isArray(t))return;const a={};for(const[e,r]of Object.entries(t))if(e.trim()){if(typeof r=="string")r.trim()&&(a[e]=r.trim());else if(Array.isArray(r)){const o=r.filter(c=>typeof c=="string"&&!!c.trim()).map(c=>c.trim());o.length&&(a[e]=o)}}return Object.keys(a).length?a:void 0}function H(t,a){const e=t.facets?.[a];return e===void 0?[]:typeof e=="string"?[e]:e}const _e=new Intl.Collator("en",{numeric:!0,sensitivity:"base"});function Ce(t){const a=[],e=new Map;for(const r of t)for(const o of Object.keys(r.facets??{})){e.has(o)||(a.push(o),e.set(o,new Set));for(const c of H(r,o))e.get(o).add(c)}return a.map(r=>({label:r,values:[...e.get(r)].sort(_e.compare)}))}function Le(t,a){return Object.entries(a).every(([e,r])=>r===""||H(t,e).includes(r))}const W=3,X="featured",J="tabs",q="portrait",u="spread",Q="count",lt=[{label:"Even grid",value:"even"},{label:"Featured first",value:X},{label:"Tabs",value:J},{label:"Photo cards",value:q},{label:"Staggered spread",value:u},{label:"Count",value:Q}],Se=[q,u],it="even",k={min:2,max:11,step:1,fallback:7,unit:"of 12"},$e="bottom-left",Oe=55,we="bottom";function Fe(t){const a=typeof t=="number"?t:Number.parseFloat(String(t??"")),e=Number.isFinite(a)?Math.min(k.max,Math.max(k.min,Math.round(a))):k.fallback;return`${e}fr ${12-e}fr`}const Z={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1"},ee={2:"grid-cols-2",3:"grid-cols-3 max-[800px]:grid-cols-2",4:"grid-cols-4 max-[1100px]:grid-cols-3 max-[800px]:grid-cols-2"},ze="Find by name",ke="Nobody by that name.",Re="Nobody matches.",Me="Any";function Ue(t,a){const e=o=>o.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),r=e(a);return r===""||e(t).includes(r)}function te({typed:t,onType:a,wide:e=!1}){return l("label",{className:`flex max-w-[360px] flex-col gap-1.5${e?" w-full":""}`,children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:ze}),n("input",{type:"search",value:t,onChange:r=>a(r.target.value),autoComplete:"off",className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent"})]})}function ne({tags:t}){return n("ul",{"aria-label":"Details",className:"flex gap-1.5 overflow-hidden",children:t.map((a,e)=>n("li",{className:"shrink-0 rounded-[var(--sf-button-radius,4px)] border border-line px-2 py-0.5 text-[length:var(--size-label,12px)] text-fg-dim",children:a},`${a}-${e}`))})}function De({card:t,scaffold:a,lower:e=!1}){return l(z,{href:t.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${e?" min-[801px]:mt-16":""}`,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,children:[n("div",{className:"absolute inset-0 transition-transform duration-700 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100",children:n(ve,{label:`card-${t.slug}`,src:t.cover||void 0,sizes:"(max-width: 800px) 50vw, 25vw"})}),n("div",{"aria-hidden":!0,className:"absolute inset-0 z-0",style:{background:"linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--bg) 88%, transparent) 100%)"}}),t.meta&&n("span",{className:"absolute left-3 top-3 z-[1] rounded-[var(--sf-button-radius,999px)] bg-bg/85 px-2.5 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-accent",children:x(t.meta)}),l("div",{className:"relative z-[1] mt-auto flex w-full flex-col gap-1 p-4 max-[800px]:p-3",children:[n("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,24px)] leading-[1.1] tracking-[-0.01em] text-fg",children:N(t.title,!1)}),t.dateLabel&&n("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:x(t.dateLabel)}),t.tags&&t.tags.length>0&&n(ne,{tags:t.tags}),t.excerpt&&n("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:x(t.excerpt)})]})]})}function Ie({cards:t,scaffold:a}){return n("nav",{"aria-label":"Days",className:"-mx-1 [scrollbar-width:none] max-[800px]:overflow-x-auto [&::-webkit-scrollbar]:hidden",children:n("ul",{className:"flex flex-wrap gap-2 px-1 pb-1 max-[800px]:min-w-max max-[800px]:flex-nowrap",children:t.map((e,r)=>{const o=!!e.meta;return n("li",{children:l(z,{href:e.href||"#","aria-current":o?"page":void 0,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,className:`flex flex-col gap-0.5 rounded-[var(--sf-button-radius,999px)] border px-5 py-2.5 transition-colors ${o?"border-accent bg-accent text-accent-ink":"border-line text-fg hover:border-accent hover:text-accent"}`,children:[n("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:N(e.title,!1)}),e.excerpt&&n("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${o?"opacity-80":"text-fg-dim"}`,children:x(e.excerpt)})]})},`${e.slug}-${r}`)})})})}function Pe({count:t,words:a,href:e}){const r=l("span",{className:"inline-flex items-baseline gap-3",children:[n("span",{className:"font-heading text-[length:var(--size-headingLarge,64px)] leading-none text-accent",children:t}),a!==void 0&&n("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:a})]});return e?n(z,{href:e,className:"inline-flex hover:opacity-85",children:r}):r}const je="relative z-[2] bg-bg py-[120px] max-[800px]:py-[70px]",Ve="relative z-[2] bg-bg pt-0 pb-[120px] max-[800px]:pt-0 max-[800px]:pb-[70px]",Ye="relative z-[2] bg-bg py-[32px] max-[800px]:py-[24px]";function Be({num:t,title:a,link:e,posts:r,columns:o,limit:c,showAll:E=!1,editing:T=!1,cardImage:ae,gap:re,gapPhone:se,layout:f,featuredWidth:oe,listCover:le=!0,featuredDarken:ie,omitHead:h=!1,sample:A,nameFilter:ce=!1,padTop:de,padBottom:pe}){const[_,R]=G(""),[M,fe]=G({}),C=ue("ev"),U=r??[],D=E?U.length:typeof c=="number"&&c>0?c:W,L=U.slice(0,D),m=T&&L.length===0;if(L.length===0&&!T)return null;const I=E?W:D,d=m?A?.length?A.slice(0,E?A.length:I):Array.from({length:I},(s,i)=>({slug:`placeholder-${i}`,title:y("Blog post title"),excerpt:y("A short summary of the post appears here."),cover:"",meta:y("Journal"),dateLabel:y("Date")})):L,p=he("Events",re,"both",se),S=f===X&&d.length>1,me=Fe(oe),$=f===J,P=f===Q,j=Se.includes(f??""),O=ce&&!$&&!P&&!S,w=O?Ce(d):[],b=O?d.filter(s=>Ue(s.title,_)&&Le(s,M)):d,F=Te(de,pe),xe=!T&&Ee(t,a,e?.text),V=f===u?"grid-cols-3 max-[800px]:grid-cols-2":ee[Math.min(4,Math.max(2,o??3))]??ee[3],Y=Z[Math.min(4,Math.max(1,o??3))]??Z[3],B=$||S||f===u?"":ye(C,j?V:Y,{cards:b.length});return P?n("section",{className:Ye,style:Object.keys(F).length?F:void 0,children:n("div",{className:K,children:n(Pe,{count:d.length,words:h||a===void 0?void 0:N(a,!1),href:h?void 0:e?.href})})}):n("section",{className:h?Ve:je,style:{...Ne(ae),...F},children:l("div",{className:K,children:[h||xe?null:n(be,{num:t!==void 0?x(t):void 0,title:a!==void 0?N(a,!1):void 0,link:e?{text:x(e.text),href:e.href}:void 0}),O&&l("div",{className:"mb-6 flex flex-col gap-2",children:[w.length===0?n(te,{typed:_,onType:R}):l("div",{className:"flex flex-wrap items-end gap-3",children:[n(te,{typed:_,onType:R,wide:!0}),w.map(({label:s,values:i})=>l("label",{className:"flex min-w-[140px] flex-col gap-1.5 max-[800px]:flex-1",children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:s}),l("select",{value:M[s]??"",onChange:g=>fe(ge=>({...ge,[s]:g.target.value})),className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent",children:[n("option",{value:"",children:Me}),i.map(g=>n("option",{value:g,children:g},g))]})]},s))]}),b.length===0&&n("p",{role:"status",className:"text-[length:var(--size-body,14px)] text-fg-dim",children:w.length===0?ke:Re})]}),B&&n("style",{children:B}),$?n(Ie,{cards:d,scaffold:m}):j?n("div",{className:`${C} sf-card-grid grid${p.className} ${V}`,style:p.style,children:b.map((s,i)=>n(De,{card:s,scaffold:m,lower:f===u&&i%3===1},`${s.slug}-${i}`))}):S?l("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-[800px]:grid-cols-1${p.className}`,style:{...p.style,"--sf-events-split":me},children:[n(v,{post:d[0],href:d[0].href,scaffold:m,layout:"cover",darken:ie??Oe,darkenStyle:we,placement:$e},`${d[0].slug}-0`),n("div",{className:`grid auto-rows-min${p.className}`,style:p.style,children:d.slice(1).map((s,i)=>n(v,{post:s,href:s.href,scaffold:m,showCover:le},`${s.slug}-${i+1}`))})]}):n("div",{className:`${C} sf-card-grid grid${p.className} ${Y}`,style:p.style,children:b.map((s,i)=>s.tags&&s.tags.length>0?l("div",{className:"flex flex-col gap-2",children:[n(v,{post:s,href:s.href,scaffold:m}),n(ne,{tags:s.tags})]},`${s.slug}-${i}`):n(v,{post:s,href:s.href,scaffold:m},`${s.slug}-${i}`))})]})})}export{k as EVENTS_FEATURED_WIDTH,lt as EVENTS_LAYOUTS,Q as EVENTS_LAYOUT_COUNT,it as EVENTS_LAYOUT_FALLBACK,X as EVENTS_LAYOUT_FEATURED,q as EVENTS_LAYOUT_PORTRAIT,u as EVENTS_LAYOUT_SPREAD,J as EVENTS_LAYOUT_TABS,Se as EVENTS_PHOTO_LAYOUTS,Ae as MAX_CARD_TAGS,Be as default,Ce as facetChoices,Le as matchesFacets,Ue as matchesName,ot as readFacets,st as readTags};
1
+ import{jsx as n,jsxs as l}from"react/jsx-runtime";import{useState as G}from"react";import{useScopeClass as xe}from"../lib/use-scope-class.js";import{containerGapProps as he}from"efficient-web-builder/format/lib/content/container-gap";import be from"efficient-web-builder/render/components/SectionHeader";import v from"efficient-web-builder/render/components/PostCard";import ve from"efficient-web-builder/render/components/Placeholder";import{SiteLink as F}from"efficient-web-builder/render/lib/site-runtime";import{renderGold as g,renderHeadline as N}from"efficient-web-builder/render/components/goldPhrases";import{say as w}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as Ne}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as K}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as we}from"../lib/sections/fill-row.js";import{headIsEmpty as ye,ownPadding as Ee}from"../lib/sections/own-padding.js";const Te=4;function st(t){if(!Array.isArray(t))return;const a=t.filter(e=>typeof e=="string"&&!!e.trim()).map(e=>e.trim()).slice(0,Te);return a.length?a:void 0}function ot(t){if(!t||typeof t!="object"||Array.isArray(t))return;const a={};for(const[e,r]of Object.entries(t))if(e.trim()){if(typeof r=="string")r.trim()&&(a[e]=r.trim());else if(Array.isArray(r)){const o=r.filter(c=>typeof c=="string"&&!!c.trim()).map(c=>c.trim());o.length&&(a[e]=o)}}return Object.keys(a).length?a:void 0}function H(t,a){const e=t.facets?.[a];return e===void 0?[]:typeof e=="string"?[e]:e}const Ae=new Intl.Collator("en",{numeric:!0,sensitivity:"base"});function _e(t){const a=[],e=new Map;for(const r of t)for(const o of Object.keys(r.facets??{})){e.has(o)||(a.push(o),e.set(o,new Set));for(const c of H(r,o))e.get(o).add(c)}return a.map(r=>({label:r,values:[...e.get(r)].sort(Ae.compare)}))}function Ce(t,a){return Object.entries(a).every(([e,r])=>r===""||H(t,e).includes(r))}const W=3,X="featured",J="tabs",q="portrait",x="spread",Q="count",lt=[{label:"Even grid",value:"even"},{label:"Featured first",value:X},{label:"Tabs",value:J},{label:"Photo cards",value:q},{label:"Staggered spread",value:x},{label:"Count",value:Q}],Le=[q,x],it="even",z={min:2,max:11,step:1,fallback:7,unit:"of 12"},Se="bottom-left",$e=55,Oe="bottom";function ke(t){const a=typeof t=="number"?t:Number.parseFloat(String(t??"")),e=Number.isFinite(a)?Math.min(z.max,Math.max(z.min,Math.round(a))):z.fallback;return`${e}fr ${12-e}fr`}const Z={1:"grid-cols-1",2:"grid-cols-2 max-view-wide:grid-cols-1",3:"grid-cols-3 max-view-wide:grid-cols-1",4:"grid-cols-4 max-view-desktop:grid-cols-2 max-view-wide:grid-cols-1"},ee={2:"grid-cols-2",3:"grid-cols-3 max-view-wide:grid-cols-2",4:"grid-cols-4 max-view-desktop:grid-cols-3 max-view-wide:grid-cols-2"},Fe="Find by name",ze="Nobody by that name.",Re="Nobody matches.",Me="Any";function Ue(t,a){const e=o=>o.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),r=e(a);return r===""||e(t).includes(r)}function te({typed:t,onType:a,wide:e=!1}){return l("label",{className:`flex max-w-[360px] flex-col gap-1.5${e?" w-full":""}`,children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:Fe}),n("input",{type:"search",value:t,onChange:r=>a(r.target.value),autoComplete:"off",className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent"})]})}function ne({tags:t}){return n("ul",{"aria-label":"Details",className:"flex gap-1.5 overflow-hidden",children:t.map((a,e)=>n("li",{className:"shrink-0 rounded-[var(--sf-button-radius,4px)] border border-line px-2 py-0.5 text-[length:var(--size-label,12px)] text-fg-dim",children:a},`${a}-${e}`))})}function De({card:t,scaffold:a,lower:e=!1}){return l(F,{href:t.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${e?" min-[801px]:mt-16":""}`,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,children:[n("div",{className:"absolute inset-0 transition-transform duration-700 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100",children:n(ve,{label:`card-${t.slug}`,src:t.cover||void 0,sizes:"(max-width: 800px) 50vw, 25vw"})}),n("div",{"aria-hidden":!0,className:"absolute inset-0 z-0",style:{background:"linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--bg) 88%, transparent) 100%)"}}),t.meta&&n("span",{className:"absolute left-3 top-3 z-[1] rounded-[var(--sf-button-radius,999px)] bg-bg/85 px-2.5 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-accent",children:g(t.meta)}),l("div",{className:"relative z-[1] mt-auto flex w-full flex-col gap-1 p-4 max-view-wide:p-3",children:[n("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,24px)] leading-[1.1] tracking-[-0.01em] text-fg",children:N(t.title,!1)}),t.dateLabel&&n("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:g(t.dateLabel)}),t.tags&&t.tags.length>0&&n(ne,{tags:t.tags}),t.excerpt&&n("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:g(t.excerpt)})]})]})}function Ie({cards:t,scaffold:a}){return n("nav",{"aria-label":"Days",className:"-mx-1 [scrollbar-width:none] max-view-wide:overflow-x-auto [&::-webkit-scrollbar]:hidden",children:n("ul",{className:"flex flex-wrap gap-2 px-1 pb-1 max-view-wide:min-w-max max-view-wide:flex-nowrap",children:t.map((e,r)=>{const o=!!e.meta;return n("li",{children:l(F,{href:e.href||"#","aria-current":o?"page":void 0,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,className:`flex flex-col gap-0.5 rounded-[var(--sf-button-radius,999px)] border px-5 py-2.5 transition-colors ${o?"border-accent bg-accent text-accent-ink":"border-line text-fg hover:border-accent hover:text-accent"}`,children:[n("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:N(e.title,!1)}),e.excerpt&&n("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${o?"opacity-80":"text-fg-dim"}`,children:g(e.excerpt)})]})},`${e.slug}-${r}`)})})})}function Pe({count:t,words:a,href:e}){const r=l("span",{className:"inline-flex items-baseline gap-3",children:[n("span",{className:"font-heading text-[length:var(--size-headingLarge,64px)] leading-none text-accent",children:t}),a!==void 0&&n("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:a})]});return e?n(F,{href:e,className:"inline-flex hover:opacity-85",children:r}):r}const je="relative z-[2] bg-bg py-[120px] max-view-wide:py-[70px]",Ve="relative z-[2] bg-bg pt-0 pb-[120px] max-view-wide:pt-0 max-view-wide:pb-[70px]",Ye="relative z-[2] bg-bg py-[32px] max-view-wide:py-[24px]";function Be({num:t,title:a,link:e,posts:r,columns:o,limit:c,showAll:y=!1,editing:E=!1,cardImage:ae,gap:re,gapPhone:se,layout:p,featuredWidth:oe,listCover:le=!0,featuredDarken:ie,omitHead:h=!1,sample:T,nameFilter:ce=!1,padTop:de,padBottom:fe}){const[A,R]=G(""),[M,pe]=G({}),_=xe("ev"),U=r??[],D=y?U.length:typeof c=="number"&&c>0?c:W,C=U.slice(0,D),m=E&&C.length===0;if(C.length===0&&!E)return null;const I=y?W:D,d=m?T?.length?T.slice(0,y?T.length:I):Array.from({length:I},(s,i)=>({slug:`placeholder-${i}`,title:w("Blog post title"),excerpt:w("A short summary of the post appears here."),cover:"",meta:w("Journal"),dateLabel:w("Date")})):C,f=he("Events",re,"both",se),L=p===X&&d.length>1,me=ke(oe),S=p===J,P=p===Q,j=Le.includes(p??""),$=ce&&!S&&!P&&!L,O=$?_e(d):[],b=$?d.filter(s=>Ue(s.title,A)&&Ce(s,M)):d,k=Ee(de,fe),ge=!E&&ye(t,a,e?.text),V=p===x?"grid-cols-3 max-view-wide:grid-cols-2":ee[Math.min(4,Math.max(2,o??3))]??ee[3],Y=Z[Math.min(4,Math.max(1,o??3))]??Z[3],B=S||L||p===x?"":we(_,j?V:Y,{cards:b.length});return P?n("section",{className:Ye,style:Object.keys(k).length?k:void 0,children:n("div",{className:K,children:n(Pe,{count:d.length,words:h||a===void 0?void 0:N(a,!1),href:h?void 0:e?.href})})}):n("section",{className:h?Ve:je,style:{...Ne(ae),...k},children:l("div",{className:K,children:[h||ge?null:n(be,{num:t!==void 0?g(t):void 0,title:a!==void 0?N(a,!1):void 0,link:e?{text:g(e.text),href:e.href}:void 0}),$&&l("div",{className:"mb-6 flex flex-col gap-2",children:[O.length===0?n(te,{typed:A,onType:R}):l("div",{className:"flex flex-wrap items-end gap-3",children:[n(te,{typed:A,onType:R,wide:!0}),O.map(({label:s,values:i})=>l("label",{className:"flex min-w-[140px] flex-col gap-1.5 max-view-wide:flex-1",children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:s}),l("select",{value:M[s]??"",onChange:u=>pe(ue=>({...ue,[s]:u.target.value})),className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent",children:[n("option",{value:"",children:Me}),i.map(u=>n("option",{value:u,children:u},u))]})]},s))]}),b.length===0&&n("p",{role:"status",className:"text-[length:var(--size-body,14px)] text-fg-dim",children:O.length===0?ze:Re})]}),B&&n("style",{children:B}),S?n(Ie,{cards:d,scaffold:m}):j?n("div",{className:`${_} sf-card-grid grid${f.className} ${V}`,style:f.style,children:b.map((s,i)=>n(De,{card:s,scaffold:m,lower:p===x&&i%3===1},`${s.slug}-${i}`))}):L?l("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-view-wide:grid-cols-1${f.className}`,style:{...f.style,"--sf-events-split":me},children:[n(v,{post:d[0],href:d[0].href,scaffold:m,layout:"cover",darken:ie??$e,darkenStyle:Oe,placement:Se},`${d[0].slug}-0`),n("div",{className:`grid auto-rows-min${f.className}`,style:f.style,children:d.slice(1).map((s,i)=>n(v,{post:s,href:s.href,scaffold:m,showCover:le},`${s.slug}-${i+1}`))})]}):n("div",{className:`${_} sf-card-grid grid${f.className} ${Y}`,style:f.style,children:b.map((s,i)=>s.tags&&s.tags.length>0?l("div",{className:"flex flex-col gap-2",children:[n(v,{post:s,href:s.href,scaffold:m}),n(ne,{tags:s.tags})]},`${s.slug}-${i}`):n(v,{post:s,href:s.href,scaffold:m},`${s.slug}-${i}`))})]})})}export{z as EVENTS_FEATURED_WIDTH,lt as EVENTS_LAYOUTS,Q as EVENTS_LAYOUT_COUNT,it as EVENTS_LAYOUT_FALLBACK,X as EVENTS_LAYOUT_FEATURED,q as EVENTS_LAYOUT_PORTRAIT,x as EVENTS_LAYOUT_SPREAD,J as EVENTS_LAYOUT_TABS,Le as EVENTS_PHOTO_LAYOUTS,Te as MAX_CARD_TAGS,Be as default,_e as facetChoices,Ce as matchesFacets,Ue as matchesName,ot as readFacets,st as readTags};
@@ -1 +1 @@
1
- "use client";import{jsx as t,jsxs as r,Fragment as D}from"react/jsx-runtime";import F from"./SectionBand.js";import{useEffect as J,useState as A}from"react";import E from"efficient-web-builder/render/components/SectionHeader";import M from"./SectionFootnote.js";import{renderGold as u,renderHeadline as _}from"efficient-web-builder/render/components/goldPhrases";import Q from"./fitment/FitmentRowFit.js";import{useVehicleFit as Y}from"./fitment/useVehicleFit.js";import{fitmentRowAnswer as ee}from"../lib/wheels/fitment-row-fit.js";import{fitmentColumns as te,loadUnitFor as ne}from"../lib/wheels/fitment-columns.js";import{useActiveCountry as re}from"./CurrencyContext.js";import{say as T}from"efficient-web-builder/format/lib/editor-words";import{useEnglish as le}from"./EnglishVariant.js";const o={body:"text-[length:var(--size-body,12px)]",labelXs:"text-[length:var(--size-label,11px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},oe=[],ae="whitespace-nowrap border-b border-line px-4 py-4",X=`relative cursor-pointer border-2 px-4 py-2 font-mono ${o.labelSmall} font-semibold uppercase tracking-[0.18em] text-fg transition-colors`,j="border-b border-line py-[120px] max-[1100px]:py-20",L="border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20",R={background:"color-mix(in oklab, var(--accent) 14%, transparent)"},B=(a,i,s)=>i.map(f=>f.cell(a,s)).join("|");function ie({num:a,title:i,description:s,rows:f,showFilter:I=!0,tooltipDefaultOn:b=!0,footnote:H,footnoteLinkText:O,footnoteLinkHref:W,editing:y=!1,omitHead:p=!1,fieldUsage:G=oe}){const N=f??[],c=te(G),K=le(),h=ne(re()),[x,k]=A(null),[l,S]=A(b);J(()=>S(b),[b]);const P=Y({editing:y}),$=c.length===0;if(N.length===0||$)return y?r(F,{className:p?L:j,children:[p?null:t(E,{num:a!=null?u(a):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),t("p",{className:`border-t border-line py-6 font-mono ${o.labelLarge} uppercase tracking-[0.18em] text-fg-dim`,children:$?T("Every fitment column is hidden in Product Types — show one to draw this table."):T("No fitment data for this wheel — pick a wheel with fitment specs.")})]}):null;const z=new Set,g=N.filter(e=>{const n=B(e,c,h);return z.has(n)?!1:(z.add(n),!0)}),w=Array.from(new Set(g.map(e=>e.diameter))).sort((e,n)=>e-n),d=x!==null&&w.includes(x)?x:null,v=d===null?g:g.filter(e=>e.diameter===d),V=I&&w.length>1,U=e=>{if(e===0)return!1;const n=v[e-1],m=v[e];return n.diameter!==m.diameter||n.width!==m.width};return r(F,{className:p?L:j,children:[p?null:t(E,{num:a!=null?u(a):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),r("div",{className:"mb-6 flex flex-wrap items-center gap-x-2 gap-y-3",children:[V&&r(D,{children:[t("span",{className:`mr-2 font-mono ${o.labelSmall} uppercase tracking-[0.24em] text-fg-dim max-[720px]:mr-0 max-[720px]:mb-1 max-[720px]:w-full`,children:"Filter by size:"}),r("button",{type:"button",onClick:()=>k(null),className:`${X} ${d===null?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:d===null?R:void 0,children:[d===null&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),"All"]}),w.map(e=>{const n=e===d;return r("button",{type:"button",onClick:()=>k(n?null:e),className:`${X} ${n?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:n?R:void 0,children:[n&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e,'"']},e)})]}),r("button",{type:"button",onClick:()=>S(e=>!e),"aria-pressed":l,"aria-label":l?"Hide vehicle tooltip":"Show vehicle tooltip",className:`ml-auto inline-flex items-center gap-3 font-mono ${o.labelSmall} uppercase tracking-[0.24em] text-fg-dim transition-colors hover:text-fg max-[720px]:hidden`,children:[t("span",{children:"Vehicle tooltip"}),t("span",{className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 transition-colors ${l?"border-accent":"border-fg-dim/50"}`,style:l?{background:"color-mix(in oklab, var(--accent) 30%, transparent)"}:void 0,"aria-hidden":!0,children:t("span",{className:`block h-3 w-3 rounded-full transition-transform ${l?"translate-x-[18px] bg-accent":"translate-x-[2px] bg-fg-dim"}`})}),t("span",{className:l?"text-accent":"text-fg-dim",children:l?"On":"Off"})]})]}),t("div",{className:"-mx-1 overflow-x-auto",children:r("table",{className:`w-full border-collapse font-mono ${o.labelXl} tracking-[0.06em] text-fg`,children:[t("thead",{children:t("tr",{children:c.map(({header:e},n)=>t("th",{className:`whitespace-nowrap border-b border-line bg-surface px-4 py-4 text-left ${o.body} font-normal uppercase tracking-[0.22em] text-fg-dim`,children:K(e)},n))})}),t("tbody",{children:v.map((e,n)=>t("tr",{className:`group transition-colors hover:[&>td]:bg-surface ${U(n)?"[&>td]:border-t [&>td]:border-line":""}`,children:c.map((m,Z)=>{const C=Z===c.length-1,q=m.fieldKey==="diameter";return r("td",{className:`${C?"relative ":""}${ae}${q?" text-accent":""}`,children:[m.cell(e,h),C&&l&&t("span",{role:"tooltip",className:`pointer-events-none absolute top-1/2 right-0 z-20 hidden w-[520px] -translate-y-1/2 whitespace-normal bg-[var(--tooltip-bg)] px-3 py-2 text-right font-mono ${o.labelXs} normal-case tracking-[0.12em] text-fg shadow-lg group-hover:block max-[720px]:!hidden`,children:t(Q,{answer:ee(e,P)})})]},m.fieldKey)})},B(e,c,h)))})]})}),t(M,{text:H,linkText:O,linkHref:W})]})}export{ie as default};
1
+ "use client";import{jsx as t,jsxs as l,Fragment as D}from"react/jsx-runtime";import F from"./SectionBand.js";import{useEffect as J,useState as A}from"react";import E from"efficient-web-builder/render/components/SectionHeader";import M from"./SectionFootnote.js";import{renderGold as u,renderHeadline as _}from"efficient-web-builder/render/components/goldPhrases";import Q from"./fitment/FitmentRowFit.js";import{useVehicleFit as Y}from"./fitment/useVehicleFit.js";import{fitmentRowAnswer as ee}from"../lib/wheels/fitment-row-fit.js";import{fitmentColumns as te,loadUnitFor as ne}from"../lib/wheels/fitment-columns.js";import{useActiveCountry as le}from"./CurrencyContext.js";import{say as T}from"efficient-web-builder/format/lib/editor-words";import{useEnglish as re}from"./EnglishVariant.js";const o={body:"text-[length:var(--size-body,12px)]",labelXs:"text-[length:var(--size-label,11px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},oe=[],ae="whitespace-nowrap border-b border-line px-4 py-4",X=`relative cursor-pointer border-2 px-4 py-2 font-mono ${o.labelSmall} font-semibold uppercase tracking-[0.18em] text-fg transition-colors`,j="border-b border-line py-[120px] max-view-desktop:py-20",L="border-b border-line pt-0 pb-[120px] max-view-desktop:pt-0 max-view-desktop:pb-20",R={background:"color-mix(in oklab, var(--accent) 14%, transparent)"},B=(a,i,s)=>i.map(f=>f.cell(a,s)).join("|");function ie({num:a,title:i,description:s,rows:f,showFilter:I=!0,tooltipDefaultOn:b=!0,footnote:H,footnoteLinkText:O,footnoteLinkHref:W,editing:y=!1,omitHead:p=!1,fieldUsage:G=oe}){const N=f??[],c=te(G),K=re(),h=ne(le()),[x,k]=A(null),[r,S]=A(b);J(()=>S(b),[b]);const P=Y({editing:y}),$=c.length===0;if(N.length===0||$)return y?l(F,{className:p?L:j,children:[p?null:t(E,{num:a!=null?u(a):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),t("p",{className:`border-t border-line py-6 font-mono ${o.labelLarge} uppercase tracking-[0.18em] text-fg-dim`,children:$?T("Every fitment column is hidden in Product Types — show one to draw this table."):T("No fitment data for this wheel — pick a wheel with fitment specs.")})]}):null;const z=new Set,g=N.filter(e=>{const n=B(e,c,h);return z.has(n)?!1:(z.add(n),!0)}),w=Array.from(new Set(g.map(e=>e.diameter))).sort((e,n)=>e-n),d=x!==null&&w.includes(x)?x:null,v=d===null?g:g.filter(e=>e.diameter===d),V=I&&w.length>1,U=e=>{if(e===0)return!1;const n=v[e-1],m=v[e];return n.diameter!==m.diameter||n.width!==m.width};return l(F,{className:p?L:j,children:[p?null:t(E,{num:a!=null?u(a):void 0,title:i!=null?_(i,!1):void 0,description:s!=null?u(s):void 0,accent:!0}),l("div",{className:"mb-6 flex flex-wrap items-center gap-x-2 gap-y-3",children:[V&&l(D,{children:[t("span",{className:`mr-2 font-mono ${o.labelSmall} uppercase tracking-[0.24em] text-fg-dim max-view-tablet:mr-0 max-view-tablet:mb-1 max-view-tablet:w-full`,children:"Filter by size:"}),l("button",{type:"button",onClick:()=>k(null),className:`${X} ${d===null?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:d===null?R:void 0,children:[d===null&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),"All"]}),w.map(e=>{const n=e===d;return l("button",{type:"button",onClick:()=>k(n?null:e),className:`${X} ${n?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"}`,style:n?R:void 0,children:[n&&t("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e,'"']},e)})]}),l("button",{type:"button",onClick:()=>S(e=>!e),"aria-pressed":r,"aria-label":r?"Hide vehicle tooltip":"Show vehicle tooltip",className:`ml-auto inline-flex items-center gap-3 font-mono ${o.labelSmall} uppercase tracking-[0.24em] text-fg-dim transition-colors hover:text-fg max-view-tablet:hidden`,children:[t("span",{children:"Vehicle tooltip"}),t("span",{className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 transition-colors ${r?"border-accent":"border-fg-dim/50"}`,style:r?{background:"color-mix(in oklab, var(--accent) 30%, transparent)"}:void 0,"aria-hidden":!0,children:t("span",{className:`block h-3 w-3 rounded-full transition-transform ${r?"translate-x-[18px] bg-accent":"translate-x-[2px] bg-fg-dim"}`})}),t("span",{className:r?"text-accent":"text-fg-dim",children:r?"On":"Off"})]})]}),t("div",{className:"-mx-1 overflow-x-auto",children:l("table",{className:`w-full border-collapse font-mono ${o.labelXl} tracking-[0.06em] text-fg`,children:[t("thead",{children:t("tr",{children:c.map(({header:e},n)=>t("th",{className:`whitespace-nowrap border-b border-line bg-surface px-4 py-4 text-left ${o.body} font-normal uppercase tracking-[0.22em] text-fg-dim`,children:K(e)},n))})}),t("tbody",{children:v.map((e,n)=>t("tr",{className:`group transition-colors hover:[&>td]:bg-surface ${U(n)?"[&>td]:border-t [&>td]:border-line":""}`,children:c.map((m,Z)=>{const C=Z===c.length-1,q=m.fieldKey==="diameter";return l("td",{className:`${C?"relative ":""}${ae}${q?" text-accent":""}`,children:[m.cell(e,h),C&&r&&t("span",{role:"tooltip",className:`pointer-events-none absolute top-1/2 right-0 z-20 hidden w-[520px] -translate-y-1/2 whitespace-normal bg-[var(--tooltip-bg)] px-3 py-2 text-right font-mono ${o.labelXs} normal-case tracking-[0.12em] text-fg shadow-lg group-hover:block max-view-tablet:!hidden`,children:t(Q,{answer:ee(e,P)})})]},m.fieldKey)})},B(e,c,h)))})]})}),t(M,{text:H,linkText:O,linkHref:W})]})}export{ie as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";function s({thickness:i=1,lengthPct:l=100,hideOnMobile:a=!1}){return e("div",{className:`col-span-full w-full basis-full ${a?"max-[800px]:hidden":""}`,"aria-hidden":"true",children:e("div",{className:"bg-line",style:{height:`${i}px`,width:`${l}%`}})})}export{s as default};
1
+ import{jsx as e}from"react/jsx-runtime";function s({thickness:i=1,lengthPct:l=100,hideOnMobile:a=!1}){return e("div",{className:`col-span-full w-full basis-full ${a?"max-view-wide:hidden":""}`,"aria-hidden":"true",children:e("div",{className:"bg-line",style:{height:`${i}px`,width:`${l}%`}})})}export{s as default};
@@ -1 +1 @@
1
- "use client";import{jsx as p,jsxs as P}from"react/jsx-runtime";import{useContext as G,useEffect as I,useRef as N,useState as F}from"react";import{PublishedFooterContext as U}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewDevice as q}from"efficient-easel/screen/components/PreviewDeviceContext";import H from"./LegalLine.js";import{LOGO_FILL_DEFAULT as K,LOGO_ROW_FILL_DEFAULT as J,normalizeFooterColumns as Q}from"efficient-web-builder/format/lib/content/footer";import{viewTierForWidth as V}from"efficient-easel/screen/lib/content/view-tiers";import{chromeWidthStyle as X,resolveChromeWidth as Y}from"efficient-web-builder/format/lib/content/page-width";const k={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},Z={1:"min-[720px]:grid-cols-1",2:"min-[720px]:grid-cols-2",3:"min-[720px]:grid-cols-3",4:"min-[720px]:grid-cols-4",5:"min-[720px]:grid-cols-5",6:"min-[720px]:grid-cols-6"},ee={1:"min-[1100px]:grid-cols-1",2:"min-[1100px]:grid-cols-2",3:"min-[1100px]:grid-cols-3",4:"min-[1100px]:grid-cols-4",5:"min-[1100px]:grid-cols-5",6:"min-[1100px]:grid-cols-6"};function oe({blocks:O,editing:e=!1,width:S,columns:_,logoFill:E,logoRowFill:R}){const l=G(U),{desktop:i,tablet:c,mobile:n}=Q(_),{desktop:d,tablet:a,mobile:u}={...K,...E},{desktop:f,tablet:g,mobile:b}={...J,...R},t=q(),D=e?k[t==="desktop"?i:t==="tablet"?c:n]:`${k[n]} ${Z[c]} ${ee[i]}`,x=N(null),[y,M]=F(1),[W,$]=F(!1);if(I(()=>{if(!e&&!l)return;const s=x.current;if(!s)return;const h=()=>{const o=s.querySelector(".footer-block-grid");if(!o)return;const r=e?t:V(window.innerWidth),v=r==="desktop"?f:r==="tablet"?g:b;$(v);const z=r==="desktop"?d:r==="tablet"?a:u,C=getComputedStyle(o).gridTemplateColumns.split(" ").filter(Boolean).length-1,B=Math.max(o.childElementCount-1,0);M(!v&&z&&C>=1?Math.max(Math.ceil(B/C),1):1)};let m;const L=()=>{clearTimeout(m),m=setTimeout(h,0)},A=[0,80,250,600].map(o=>setTimeout(h,o)),w=new MutationObserver(L);w.observe(s,{childList:!0,subtree:!0});const T=new ResizeObserver(L);return T.observe(s),()=>{clearTimeout(m),A.forEach(clearTimeout),w.disconnect(),T.disconnect()}},[i,c,n,e,l,t,d,a,u,f,g,b]),!e&&!l)return null;const j=X(Y(S))??void 0;return p("footer",{ref:x,className:`${e?"sf-theme-surfaces text-fg ":""}border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-14`,style:{"--footer-logo-rows":y,"--footer-logo-col":W?"1 / -1":"1"},children:P("div",{style:j,children:[p(O,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${D}`,minEmptyHeight:160}),p(H,{})]})})}export{oe as default};
1
+ "use client";import{jsx as a,jsxs as P}from"react/jsx-runtime";import{useContext as G,useEffect as I,useRef as N,useState as C}from"react";import{PublishedFooterContext as U}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewDevice as q}from"efficient-easel/screen/components/PreviewDeviceContext";import H from"./LegalLine.js";import{LOGO_FILL_DEFAULT as K,LOGO_ROW_FILL_DEFAULT as J,normalizeFooterColumns as Q}from"efficient-web-builder/format/lib/content/footer";import{viewTierForWidth as V}from"efficient-easel/screen/lib/content/view-tiers";import{chromeWidthStyle as X,resolveChromeWidth as Y}from"efficient-web-builder/format/lib/content/page-width";const F={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},Z={1:"view-tablet:grid-cols-1",2:"view-tablet:grid-cols-2",3:"view-tablet:grid-cols-3",4:"view-tablet:grid-cols-4",5:"view-tablet:grid-cols-5",6:"view-tablet:grid-cols-6"},ee={1:"view-desktop:grid-cols-1",2:"view-desktop:grid-cols-2",3:"view-desktop:grid-cols-3",4:"view-desktop:grid-cols-4",5:"view-desktop:grid-cols-5",6:"view-desktop:grid-cols-6"};function te({blocks:O,editing:e=!1,width:S,columns:_,logoFill:E,logoRowFill:R}){const l=G(U),{desktop:i,tablet:c,mobile:n}=Q(_),{desktop:m,tablet:p,mobile:u}={...K,...E},{desktop:b,tablet:f,mobile:g}={...J,...R},o=q(),D=e?F[o==="desktop"?i:o==="tablet"?c:n]:`${F[n]} ${Z[c]} ${ee[i]}`,w=N(null),[y,M]=C(1),[W,$]=C(!1);if(I(()=>{if(!e&&!l)return;const s=w.current;if(!s)return;const v=()=>{const t=s.querySelector(".footer-block-grid");if(!t)return;const r=e?o:V(window.innerWidth),L=r==="desktop"?b:r==="tablet"?f:g;$(L);const z=r==="desktop"?m:r==="tablet"?p:u,T=getComputedStyle(t).gridTemplateColumns.split(" ").filter(Boolean).length-1,B=Math.max(t.childElementCount-1,0);M(!L&&z&&T>=1?Math.max(Math.ceil(B/T),1):1)};let d;const h=()=>{clearTimeout(d),d=setTimeout(v,0)},A=[0,80,250,600].map(t=>setTimeout(v,t)),k=new MutationObserver(h);k.observe(s,{childList:!0,subtree:!0});const x=new ResizeObserver(h);return x.observe(s),()=>{clearTimeout(d),A.forEach(clearTimeout),k.disconnect(),x.disconnect()}},[i,c,n,e,l,o,m,p,u,b,f,g]),!e&&!l)return null;const j=X(Y(S))??void 0;return a("footer",{ref:w,className:`${e?"sf-theme-surfaces text-fg ":""}border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))] max-view-wide:pt-14`,style:{"--footer-logo-rows":y,"--footer-logo-col":W?"1 / -1":"1"},children:P("div",{style:j,children:[a(O,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${D}`,minEmptyHeight:160}),a(H,{})]})})}export{te as default};
@@ -1 +1 @@
1
- "use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as u}from"./SiteRecordContext.js";import{SOCIAL_GAP_DEFAULT as x,SOCIAL_GAP_MAX as _,SOCIAL_GAP_MIN as A}from"../lib/sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as S,SocialMark as b}from"efficient-web-builder/render/components/socialIcons";import{normalizeSocialLinks as h,socialLinksToDraw as L}from"efficient-web-builder/format/lib/content/social-links";import{say as k}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as g}from"efficient-web-builder/format/lib/content/block-align";import{legacyBlockAlignOf as I}from"../lib/content/legacy-block-align.js";const l={small:16,medium:20,large:24};function O({iconStyle:t=S,iconSize:n="medium",align:s,gap:i=x,editing:c=!1}){const m=u(),o=L(h(m));if(o.length===0)return c?e("div",{"data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:k("Add your social links")}):null;const a=l[n]??l.medium,p={gap:Math.min(_,Math.max(A,Number.isFinite(i)?i:0)),"--social-mark":`${a}px`};return e("ul",{"data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-[800px]:[margin:calc((40px-var(--social-mark))/-2)] ${g[I(s)??"left"]}`,style:p,children:o.map(({platform:r,href:f,label:d})=>e("li",{children:e("a",{href:f,target:"_blank",rel:"noopener noreferrer","aria-label":`${d} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-[800px]:h-10 max-[800px]:w-10",children:e(b,{platform:r,iconStyle:t,size:a})})},r))})}export{l as SOCIAL_ICON_PX,O as default};
1
+ "use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as u}from"./SiteRecordContext.js";import{SOCIAL_GAP_DEFAULT as x,SOCIAL_GAP_MAX as _,SOCIAL_GAP_MIN as A}from"../lib/sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as S,SocialMark as b}from"efficient-web-builder/render/components/socialIcons";import{normalizeSocialLinks as h,socialLinksToDraw as L}from"efficient-web-builder/format/lib/content/social-links";import{say as k}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as v}from"efficient-web-builder/format/lib/content/block-align";import{legacyBlockAlignOf as w}from"../lib/content/legacy-block-align.js";const l={small:16,medium:20,large:24};function g({iconStyle:t=S,iconSize:n="medium",align:s,gap:i=x,editing:c=!1}){const m=u(),o=L(h(m));if(o.length===0)return c?e("div",{"data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:k("Add your social links")}):null;const a=l[n]??l.medium,d={gap:Math.min(_,Math.max(A,Number.isFinite(i)?i:0)),"--social-mark":`${a}px`};return e("ul",{"data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-view-wide:[margin:calc((40px-var(--social-mark))/-2)] ${v[w(s)??"left"]}`,style:d,children:o.map(({platform:r,href:f,label:p})=>e("li",{children:e("a",{href:f,target:"_blank",rel:"noopener noreferrer","aria-label":`${p} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-view-wide:h-10 max-view-wide:w-10",children:e(b,{platform:r,iconStyle:t,size:a})})},r))})}export{l as SOCIAL_ICON_PX,g as default};
@@ -1 +1 @@
1
- "use client";import{jsx as t,jsxs as c}from"react/jsx-runtime";import{useEffect as F}from"react";import{FormFieldInput as h,FormHoneypot as S,successMessageFor as z,useBoundForm as w,useFormSubmission as T}from"./formSubmission.js";import g from"./SectionNotice.js";import{say as b}from"efficient-web-builder/format/lib/editor-words";import C from"./WebFormField.js";import{usePopupScope as j}from"./PopupHost.js";import{FIELD_INPUT_CLASS as N}from"../lib/field-input.js";function B({field:e,value:s,onChange:n}){const r={field:e,value:s,onChange:n};return e.type==="checkbox"?c("label",{className:"flex items-start gap-3",children:[t(h,{...r,className:"mt-1 size-4 accent-accent"}),c("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?t("span",{className:"text-accent",children:" *"}):null]})]}):t(C,{label:e.label,required:e.required,children:t(h,{...r,className:e.type==="textarea"?N+" resize-y":N})})}function L({formSlug:e,heading:s,intro:n,submitText:r,finePrint:i,form:p,editing:o=!1}={}){const a=w(e,p),x=j();if(a===void 0)return t(g,{size:"short",children:b("Loading form…")});if(a===null)return t(g,{size:"short",children:o?b("Choose a form in the inspector, under Form."):"This form is unavailable."});const m=(s??"").trim()||a.title;return t("section",{className:"relative z-[2] border-t border-line bg-surface",children:c("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[m&&t("h2",{className:"mb-4 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:m}),(n??"").trim()&&t("p",{className:"mb-12 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:n}),t(_,{form:a,formSlug:e,submitText:r,finePrint:i,editing:o,onSent:x?.markSent})]})})}function _({form:e,formSlug:s,submitText:n,finePrint:r,editing:i=!1,onSent:p}){const{valueOf:o,set:a,honeypot:x,setHoneypot:m,submitting:d,done:u,error:f,handleSubmit:y}=T({form:e,formSlug:s,editing:i});F(()=>{u&&p?.()},[u]);const v=(n??"").trim()||e.submitButtonText?.trim()||"Submit";return u?t("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:z(e)}):c("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:y,children:[e.fields.map(l=>t(B,{field:l,value:o(l.key),onChange:k=>a(l.key,k)},l.key)),t(S,{value:x,onChange:m}),f&&t("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:f}),t("button",{type:i?"button":"submit",disabled:d,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:d?"Sending…":v}),e.consentText?.trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(r??"").trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:r})]})}export{_ as FormBody,L as default};
1
+ "use client";import{jsx as t,jsxs as c}from"react/jsx-runtime";import{useEffect as F}from"react";import{FormFieldInput as h,FormHoneypot as S,successMessageFor as w,useBoundForm as z,useFormSubmission as T}from"./formSubmission.js";import g from"./SectionNotice.js";import{say as b}from"efficient-web-builder/format/lib/editor-words";import C from"./WebFormField.js";import{usePopupScope as j}from"./PopupHost.js";import{FIELD_INPUT_CLASS as N}from"../lib/field-input.js";function B({field:e,value:s,onChange:n}){const r={field:e,value:s,onChange:n};return e.type==="checkbox"?c("label",{className:"flex items-start gap-3",children:[t(h,{...r,className:"mt-1 size-4 accent-accent"}),c("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?t("span",{className:"text-accent",children:" *"}):null]})]}):t(C,{label:e.label,required:e.required,children:t(h,{...r,className:e.type==="textarea"?N+" resize-y":N})})}function L({formSlug:e,heading:s,intro:n,submitText:r,finePrint:i,form:p,editing:o=!1}={}){const a=z(e,p),x=j();if(a===void 0)return t(g,{size:"short",children:b("Loading form…")});if(a===null)return t(g,{size:"short",children:o?b("Choose a form in the inspector, under Form."):"This form is unavailable."});const m=(s??"").trim()||a.title;return t("section",{className:"relative z-[2] border-t border-line bg-surface",children:c("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[m&&t("h2",{className:"mb-4 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-view-wide:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:m}),(n??"").trim()&&t("p",{className:"mb-12 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:n}),t(_,{form:a,formSlug:e,submitText:r,finePrint:i,editing:o,onSent:x?.markSent})]})})}function _({form:e,formSlug:s,submitText:n,finePrint:r,editing:i=!1,onSent:p}){const{valueOf:o,set:a,honeypot:x,setHoneypot:m,submitting:d,done:u,error:f,handleSubmit:v}=T({form:e,formSlug:s,editing:i});F(()=>{u&&p?.()},[u]);const y=(n??"").trim()||e.submitButtonText?.trim()||"Submit";return u?t("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:w(e)}):c("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:v,children:[e.fields.map(l=>t(B,{field:l,value:o(l.key),onChange:k=>a(l.key,k)},l.key)),t(S,{value:x,onChange:m}),f&&t("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:f}),t("button",{type:i?"button":"submit",disabled:d,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:d?"Sending…":y}),e.consentText?.trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(r??"").trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:r})]})}export{_ as FormBody,L as default};
@@ -1 +1 @@
1
- "use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as w}from"react";import j from"next/image";import S from"efficient-web-builder/render/components/Placeholder";import{withRMark as m}from"efficient-web-builder/render/components/RMark";import{galleryCaptionIsBelow as $,galleryCardRatioClass as T}from"efficient-web-builder/format/lib/content/gallery-card-layout";import{partDisplayClass as _}from"efficient-web-builder/format/lib/content/part-display";import{PART_STYLE_KIND_ATTR as R,PART_STYLE_OWNER_ATTR as A}from"efficient-web-builder/render/lib/document/text-parts";import C from"efficient-web-builder/render/components/PartStyledKind";function E({build:e,hiddenMobile:g,alwaysShowOverlay:h,forceHover:o,index:l,total:c,ratio:y,captionPlace:u,display:v,displayPhone:b,styleOwner:p,editing:x=!1}){const a=s=>_(v,b,s),r=s=>x&&p?{[A]:p,[R]:`@${s}`}:{},i=(s,d)=>!x&&p?t(C,{kind:`@${s}`,shared:!0,children:d}):d,[N,z]=w(!1),k=$(u),f=n("div",{className:["sf-card group relative overflow-hidden bg-surface-2",T(y),g?"max-[800px]:hidden":""].join(" "),children:[n("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[t(S,{label:e.imageLabel,src:e.imageSrc}),t("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),t("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&t(j,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:N?"none":"block"},onError:()=>z(!0)})}),(e.process||l!=null&&c!=null)&&n("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-[800px]:top-2.5 max-[800px]:left-2.5 max-[800px]:right-2.5",children:[e.process&&t("span",{...r("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",a("tag"),"transition-opacity duration-300 ease-out",h||o?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:i("tag",m(e.process))}),l!=null&&c!=null&&t("span",{...r("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${a("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:i("number",`${String(l).padStart(2,"0")} / ${String(c).padStart(2,"0")}`)})]}),t("div",{className:["absolute inset-0 z-[2]","transition-[opacity,transform] duration-300 ease-out",h||o?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-[800px]:opacity-100 max-[800px]:translate-y-0"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:n("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-[800px]:top-8 max-[800px]:p-3.5",children:[e.car&&t("div",{...r("eyebrow"),className:`truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-[800px]:text-[length:var(--size-label,11px)] max-[800px]:tracking-[0.15em] ${a("eyebrow")}`.trim(),children:i("eyebrow",e.car)}),e.wheel&&t("div",{...r("title"),className:`font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-[800px]:text-[length:var(--size-body,16px)] ${a("title")}`.trim(),children:i("title",e.wheel)}),e.finish&&t("div",{...r("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${a("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:t("span",{children:i("meta",m(e.finish))})})]})})]});return k?n("div",{className:g?"max-[800px]:hidden":"",children:[f,n("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&t("div",{...r("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${a("title")}`.trim(),children:i("title",e.wheel)}),(e.finish||e.car)&&t("div",{...r(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${a(e.finish?"meta":"eyebrow")}`.trim(),children:i(e.finish?"meta":"eyebrow",m(e.finish||e.car))})]})]}):f}export{E as default};
1
+ "use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as k}from"react";import j from"next/image";import S from"efficient-web-builder/render/components/Placeholder";import{withRMark as p}from"efficient-web-builder/render/components/RMark";import{galleryCaptionIsBelow as $,galleryCardRatioClass as T}from"efficient-web-builder/format/lib/content/gallery-card-layout";import{partDisplayClass as _}from"efficient-web-builder/format/lib/content/part-display";import{PART_STYLE_KIND_ATTR as R,PART_STYLE_OWNER_ATTR as A}from"efficient-web-builder/render/lib/document/text-parts";import C from"efficient-web-builder/render/components/PartStyledKind";function E({build:e,hiddenMobile:g,alwaysShowOverlay:d,forceHover:o,index:l,total:c,ratio:x,captionPlace:w,display:y,displayPhone:u,styleOwner:m,editing:h=!1}){const a=s=>_(y,u,s),i=s=>h&&m?{[A]:m,[R]:`@${s}`}:{},r=(s,v)=>!h&&m?t(C,{kind:`@${s}`,shared:!0,children:v}):v,[b,N]=k(!1),z=$(w),f=n("div",{className:["sf-card group relative overflow-hidden bg-surface-2",T(x),g?"max-view-wide:hidden":""].join(" "),children:[n("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[t(S,{label:e.imageLabel,src:e.imageSrc}),t("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),t("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&t(j,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:b?"none":"block"},onError:()=>N(!0)})}),(e.process||l!=null&&c!=null)&&n("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-view-wide:top-2.5 max-view-wide:left-2.5 max-view-wide:right-2.5",children:[e.process&&t("span",{...i("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",a("tag"),"transition-opacity duration-300 ease-out",d||o?"opacity-100":"opacity-0 group-hover:opacity-100 max-view-wide:opacity-100"].join(" "),children:r("tag",p(e.process))}),l!=null&&c!=null&&t("span",{...i("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${a("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:r("number",`${String(l).padStart(2,"0")} / ${String(c).padStart(2,"0")}`)})]}),t("div",{className:["absolute inset-0 z-[2]","transition-[opacity,transform] duration-300 ease-out",d||o?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-view-wide:opacity-100 max-view-wide:translate-y-0"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:n("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-view-wide:top-8 max-view-wide:p-3.5",children:[e.car&&t("div",{...i("eyebrow"),className:`truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-view-wide:text-[length:var(--size-label,11px)] max-view-wide:tracking-[0.15em] ${a("eyebrow")}`.trim(),children:r("eyebrow",e.car)}),e.wheel&&t("div",{...i("title"),className:`font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-view-wide:text-[length:var(--size-body,16px)] ${a("title")}`.trim(),children:r("title",e.wheel)}),e.finish&&t("div",{...i("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${a("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:t("span",{children:r("meta",p(e.finish))})})]})})]});return z?n("div",{className:g?"max-view-wide:hidden":"",children:[f,n("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&t("div",{...i("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${a("title")}`.trim(),children:r("title",e.wheel)}),(e.finish||e.car)&&t("div",{...i(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${a(e.finish?"meta":"eyebrow")}`.trim(),children:r(e.finish?"meta":"eyebrow",p(e.finish||e.car))})]})]}):f}export{E as default};