efficient-storefront-blocks 0.68.0 → 0.74.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 (149) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +5 -5
  3. package/dist/chunks/EditorPreviewCheckout-YQ3F5MSG.js +4 -0
  4. package/dist/chunks/{SiteEditorProvider-A7YYACG3.js → SiteEditorProvider-Z33JB5BA.js} +1 -1
  5. package/dist/chunks/chunk-5OFEWRWI.js +1 -0
  6. package/dist/chunks/{chunk-FL3KMJAT.js → chunk-BZDVZUF4.js} +1 -1
  7. package/dist/chunks/{chunk-EPJ5SM3A.js → chunk-QJDTP7K6.js} +1 -1
  8. package/dist/chunks/chunk-UGXNUQRA.js +246 -0
  9. package/dist/chunks/chunk-UJW4B64R.js +1 -0
  10. package/dist/chunks/{fitment-data-RXCNCZLU.js → fitment-data-DHKRLKNI.js} +1 -1
  11. package/dist/contract.js +10 -2
  12. package/dist/editor/components/CategorySource.js +1 -1
  13. package/dist/editor/components/HeaderSettingsPanel.d.ts +4 -7
  14. package/dist/editor/components/HeaderSettingsPanel.js +1 -1
  15. package/dist/editor/components/PreviewHeader.d.ts +0 -1
  16. package/dist/editor/components/PreviewHeader.js +1 -11
  17. package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
  18. package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
  19. package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
  20. package/dist/editor/lib/document/blocks/service/ContactCards/fields.d.ts +2 -0
  21. package/dist/editor/lib/document/blocks/service/ContactCards/fields.js +1 -0
  22. package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -1
  23. package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
  24. package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -1
  25. package/dist/editor/lib/document/blocks/service/FooterMessaging/fields.d.ts +2 -0
  26. package/dist/editor/lib/document/blocks/service/FooterMessaging/fields.js +1 -0
  27. package/dist/editor/lib/document/blocks/service/FooterPayment/fields.d.ts +2 -0
  28. package/dist/editor/lib/document/blocks/service/FooterPayment/fields.js +1 -0
  29. package/dist/editor/lib/document/blocks/service/MessagingCards/fields.d.ts +2 -0
  30. package/dist/editor/lib/document/blocks/service/MessagingCards/fields.js +1 -0
  31. package/dist/editor/lib/document/blocks/service/OpeningHours/fields.d.ts +2 -0
  32. package/dist/editor/lib/document/blocks/service/OpeningHours/fields.js +1 -0
  33. package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -1
  34. package/dist/editor/lib/document/blocks/service/index.d.ts +1 -1
  35. package/dist/editor/lib/document/blocks/service/index.js +1 -1
  36. package/dist/editor/lib/document/config.d.ts +2 -0
  37. package/dist/editor/lib/document/config.js +1 -1
  38. package/dist/editor/lib/efficient-block-sources.js +1 -1
  39. package/dist/editor/lib/header-settings-source.d.ts +2 -1
  40. package/dist/editor/lib/header-settings-source.js +1 -1
  41. package/dist/editor/lib/storefront-editor-words.d.ts +25 -7
  42. package/dist/editor/lib/storefront-editor-words.js +1 -1
  43. package/dist/editor.css +1 -1
  44. package/dist/index.d.ts +3 -3
  45. package/dist/index.js +193 -318
  46. package/dist/links.d.ts +0 -2
  47. package/dist/links.js +1 -1
  48. package/dist/render/app/globals.css +41 -13
  49. package/dist/render/built-with.json +1 -1
  50. package/dist/render/components/ChatLauncher.js +1 -1
  51. package/dist/render/components/ContactCards.d.ts +13 -0
  52. package/dist/render/components/ContactCards.js +1 -0
  53. package/dist/render/components/CopyText.d.ts +4 -0
  54. package/dist/render/components/CopyText.js +1 -0
  55. package/dist/render/components/Events.d.ts +3 -0
  56. package/dist/render/components/Events.js +1 -1
  57. package/dist/render/components/FooterMessaging.d.ts +5 -0
  58. package/dist/render/components/FooterMessaging.js +1 -0
  59. package/dist/render/components/FooterPayment.d.ts +11 -0
  60. package/dist/render/components/FooterPayment.js +1 -0
  61. package/dist/render/components/GalleryItem.js +1 -1
  62. package/dist/render/components/GalleryShowcase.js +1 -1
  63. package/dist/render/components/Header.d.ts +2 -1
  64. package/dist/render/components/Header.js +1 -1
  65. package/dist/render/components/HeaderCallButton.d.ts +9 -0
  66. package/dist/render/components/HeaderCallButton.js +1 -0
  67. package/dist/render/components/MessagingCards.d.ts +9 -0
  68. package/dist/render/components/MessagingCards.js +1 -0
  69. package/dist/render/components/OpeningHours.d.ts +12 -0
  70. package/dist/render/components/OpeningHours.js +1 -0
  71. package/dist/render/components/QrCode.d.ts +5 -0
  72. package/dist/render/components/QrCode.js +1 -0
  73. package/dist/render/components/Reviews.d.ts +14 -4
  74. package/dist/render/components/Reviews.js +1 -1
  75. package/dist/render/components/checkout/CheckoutPageClient.d.ts +2 -25
  76. package/dist/render/components/checkout/CheckoutPageClient.js +1 -3
  77. package/dist/render/components/checkout/checkout-parts.d.ts +5 -0
  78. package/dist/render/components/checkout/checkout-parts.js +1 -0
  79. package/dist/render/components/checkout/checkout-state.d.ts +169 -0
  80. package/dist/render/components/checkout/checkout-state.js +3 -0
  81. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +6 -0
  82. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
  83. package/dist/render/components/pdp-dynamic/RecordPhotoGallery.d.ts +3 -2
  84. package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
  85. package/dist/render/lib/api/index.d.ts +1 -0
  86. package/dist/render/lib/api/types.d.ts +3 -0
  87. package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -1
  88. package/dist/render/lib/document/blocks/service/ContactCards/meta.d.ts +7 -0
  89. package/dist/render/lib/document/blocks/service/ContactCards/meta.js +1 -0
  90. package/dist/render/lib/document/blocks/service/ContactCards/render.d.ts +4 -0
  91. package/dist/render/lib/document/blocks/service/ContactCards/render.js +1 -0
  92. package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
  93. package/dist/render/lib/document/blocks/service/Footer/meta.js +1 -1
  94. package/dist/render/lib/document/blocks/service/FooterGroup/meta.js +1 -1
  95. package/dist/render/lib/document/blocks/service/FooterMessaging/meta.d.ts +2 -0
  96. package/dist/render/lib/document/blocks/service/FooterMessaging/meta.js +1 -0
  97. package/dist/render/lib/document/blocks/service/FooterMessaging/render.d.ts +2 -0
  98. package/dist/render/lib/document/blocks/service/FooterMessaging/render.js +1 -0
  99. package/dist/render/lib/document/blocks/service/FooterPayment/meta.d.ts +3 -0
  100. package/dist/render/lib/document/blocks/service/FooterPayment/meta.js +1 -0
  101. package/dist/render/lib/document/blocks/service/FooterPayment/render.d.ts +2 -0
  102. package/dist/render/lib/document/blocks/service/FooterPayment/render.js +1 -0
  103. package/dist/render/lib/document/blocks/service/MessagingCards/meta.d.ts +2 -0
  104. package/dist/render/lib/document/blocks/service/MessagingCards/meta.js +1 -0
  105. package/dist/render/lib/document/blocks/service/MessagingCards/render.d.ts +4 -0
  106. package/dist/render/lib/document/blocks/service/MessagingCards/render.js +1 -0
  107. package/dist/render/lib/document/blocks/service/OpeningHours/meta.d.ts +11 -0
  108. package/dist/render/lib/document/blocks/service/OpeningHours/meta.js +1 -0
  109. package/dist/render/lib/document/blocks/service/OpeningHours/render.d.ts +4 -0
  110. package/dist/render/lib/document/blocks/service/OpeningHours/render.js +1 -0
  111. package/dist/render/lib/document/blocks/service/Reviews/meta.d.ts +6 -0
  112. package/dist/render/lib/document/blocks/service/Reviews/meta.js +1 -1
  113. package/dist/render/lib/document/blocks/service/Reviews/render.js +1 -1
  114. package/dist/render/lib/document/blocks/service/metas.d.ts +5 -0
  115. package/dist/render/lib/document/blocks/service/metas.js +1 -1
  116. package/dist/render/lib/document/blocks/service/renders.d.ts +5 -0
  117. package/dist/render/lib/document/blocks/service/renders.js +1 -1
  118. package/dist/render/lib/document/blocks/text-part-shapes.json +147 -6
  119. package/dist/render/lib/document/card-templates.d.ts +2 -0
  120. package/dist/render/lib/document/card-templates.js +1 -0
  121. package/dist/render/lib/document/footer-page-blocks.d.ts +1 -0
  122. package/dist/render/lib/document/footer-page-blocks.js +1 -1
  123. package/dist/render/lib/document/lazy-draws.js +1 -1
  124. package/dist/render/lib/document/render-config.d.ts +2 -0
  125. package/dist/render/lib/document/render-config.js +1 -1
  126. package/dist/render/lib/document/section-to-box-rows-reviews.d.ts +1 -0
  127. package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -0
  128. package/dist/render/lib/links/link-rules.d.ts +1 -1
  129. package/dist/render/lib/links/link-rules.js +1 -1
  130. package/dist/render/lib/qr.d.ts +5 -0
  131. package/dist/render/lib/qr.js +1 -0
  132. package/dist/render/lib/sections/messaging.d.ts +45 -0
  133. package/dist/render/lib/sections/messaging.js +1 -0
  134. package/dist/render/lib/sections/opening-hours.d.ts +53 -0
  135. package/dist/render/lib/sections/opening-hours.js +1 -0
  136. package/dist/render/lib/sections/reviews.d.ts +1 -0
  137. package/dist/render/lib/sections/reviews.js +1 -0
  138. package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
  139. package/dist/render/lib/wheels/collections.js +1 -1
  140. package/dist/words.d.ts +51 -12
  141. package/dist/words.js +4 -4
  142. package/package.json +4 -4
  143. package/dist/chunks/EditorPreviewCheckout-HFP2TRRR.js +0 -4
  144. package/dist/chunks/chunk-CFYEYTU6.js +0 -254
  145. package/dist/chunks/chunk-YACB7UXA.js +0 -1
  146. package/dist/chunks/chunk-YTQS5GY6.js +0 -1
  147. package/dist/render/components/useStorefrontReviews.d.ts +0 -2
  148. package/dist/render/components/useStorefrontReviews.js +0 -1
  149. /package/dist/chunks/{chunk-CFYEYTU6.js.LEGAL.txt → chunk-UGXNUQRA.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- import{jsx as n}from"react/jsx-runtime";import _ from"efficient-web-builder/editor/components/MultiSelectField";import y from"../../../../../components/WheelsPerRowField.js";import{PLP_GATE_DEFAULTS as u}from"../../../../../../render/components/wheels-plp/AlloyWheelsListing.js";import{SortIcon as L,CarIcon as C,HashIcon as O}from"efficient-easel/icons";import{useEasel as T}from"efficient-easel/easel";import{group as l,text as v,textarea as w,multiSelect as b,select as k,panelNote as E,toggle as x,copyText as f,plainTextarea as g,cardShowFields as H,cardMediaFields as N,cardStyleFields as A,slider as R}from"efficient-web-builder/editor/lib/document/controls";import{noControlField as W,NoControlMark as D}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{PLP_SORT_LABELS as G}from"../../../../../../render/lib/wheels/plp-filters.js";import{PRODUCT_KIND_OPTIONS as j,resolvePlpKinds as z}from"../../../../../../render/lib/catalog/plp-item.js";import{plpVehicleCopy as K}from"../../../../../../render/lib/catalog/plp-vehicle-copy.js";import{ALLOYWHEELSLISTING_PH as h}from"../../../../../../render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js";import{say as M}from"efficient-web-builder/format/lib/editor-words";const s=[{value:"showInStock",label:"In stock"},{value:"showCollection",label:"Collection"},{value:"showPrice",label:"Price"}],B="Brand, Color, Size and PCD follow the product type. Set them in Product types.",P="root:default-zone";function U(){const{appState:o,dispatch:t}=T(e=>e),r=o.ui.itemSelector,I=o.data.content??[],a=r&&(r.zone===void 0||r.zone===P)?r.index:-1,i=a>=0?I[a]:void 0,d=i?.props??{},S=s.filter(e=>d[e.value]!==!1).map(e=>e.value);return n(_,{label:"Filters",options:s.map(e=>({...e,label:M(e.label)})),value:S,onChange:e=>{if(!i||i.type!=="AlloyWheelsListing")return;const c={};for(const p of s){const m=e.includes(p.value);d[p.value]!==!1!==m&&(c[p.value]=m)}Object.keys(c).length&&t({type:"replace",destinationZone:P,destinationIndex:a,data:{...i,props:{...i.props,...c}}})}})}const F=()=>W({type:"custom",render:()=>n(D,{})},"always"),ie={fields:{_gHeader:l("Header"),heading:v("Heading",h.heading),intro:w("Intro",h.intro),_gResults:l("Products"),kinds:b("Product types",j,"None — this section will be empty"),defaultSort:k("Opening sort",n(L,{}),Object.entries(G).map(([o,t])=>({value:o,label:t})),"recommended"),_gFilters:l("Filters"),showInStock:{type:"custom",label:"Filters",options:s,render:()=>n(U,{})},showCollection:F(),showPrice:F(),_nFieldFilters:E(B),_gVehicle:l("Car prompt"),askForCar:x("Ask for the car first",!0,n(C,{})),gateHeading:f("Welcome heading",u.heading),gateIntro:g("Welcome intro",u.intro),...H({bottomDefault:!0}),...N({coverHint:"A card's opening picture — picking another color opens that color's first picture.",spinDefault:!1}),...A(),_gGrid:l("Grid"),columns:{type:"custom",render:({value:o,onChange:t})=>n(y,{value:o,onChange:t})},perPage:R("Products per page",n(O,{}),8,60,4,24)},resolveFields:(o,{fields:t})=>{const r=K(z(o.props.kinds));return{...t,gateHeading:f("Welcome heading",r.gateHeading),gateIntro:g("Welcome intro",r.gateIntro)}}};export{ie as AlloyWheelsListingFields};
1
+ import{jsx as n}from"react/jsx-runtime";import F from"efficient-web-builder/editor/components/MultiSelectField";import y from"../../../../../components/WheelsPerRowField.js";import{PLP_GATE_DEFAULTS as u}from"../../../../../../render/components/wheels-plp/AlloyWheelsListing.js";import{LISTING_CARD_SHOW as L}from"../../../../../../render/lib/sections/card-show-defaults.js";import{SortIcon as C,CarIcon as O,HashIcon as T}from"efficient-easel/icons";import{useEasel as v}from"efficient-easel/easel";import{group as l,text as w,textarea as k,multiSelect as E,select as H,panelNote as N,toggle as b,copyText as f,plainTextarea as g,cardShowFields as x,cardMediaFields as A,cardStyleFields as R,slider as W}from"efficient-web-builder/editor/lib/document/controls";import{noControlField as D,NoControlMark as G}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{PLP_SORT_LABELS as j}from"../../../../../../render/lib/wheels/plp-filters.js";import{PRODUCT_KIND_OPTIONS as z,resolvePlpKinds as K}from"../../../../../../render/lib/catalog/plp-item.js";import{plpVehicleCopy as M}from"../../../../../../render/lib/catalog/plp-vehicle-copy.js";import{ALLOYWHEELSLISTING_PH as h}from"../../../../../../render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js";import{say as B}from"efficient-web-builder/format/lib/editor-words";const s=[{value:"showInStock",label:"In stock"},{value:"showCollection",label:"Collection"},{value:"showPrice",label:"Price"}],U="Brand, Color, Size and PCD follow the product type. Set them in Product types.",P="root:default-zone";function V(){const{appState:o,dispatch:t}=v(e=>e),r=o.ui.itemSelector,S=o.data.content??[],a=r&&(r.zone===void 0||r.zone===P)?r.index:-1,i=a>=0?S[a]:void 0,d=i?.props??{},_=s.filter(e=>d[e.value]!==!1).map(e=>e.value);return n(F,{label:"Filters",options:s.map(e=>({...e,label:B(e.label)})),value:_,onChange:e=>{if(!i||i.type!=="AlloyWheelsListing")return;const c={};for(const p of s){const m=e.includes(p.value);d[p.value]!==!1!==m&&(c[p.value]=m)}Object.keys(c).length&&t({type:"replace",destinationZone:P,destinationIndex:a,data:{...i,props:{...i.props,...c}}})}})}const I=()=>D({type:"custom",render:()=>n(G,{})},"always"),se={fields:{_gHeader:l("Header"),heading:w("Heading",h.heading),intro:k("Intro",h.intro),_gResults:l("Products"),kinds:E("Product types",z,"None — this section will be empty"),defaultSort:H("Opening sort",n(C,{}),Object.entries(j).map(([o,t])=>({value:o,label:t})),"recommended"),_gFilters:l("Filters"),showInStock:{type:"custom",label:"Filters",options:s,render:()=>n(V,{})},showCollection:I(),showPrice:I(),_nFieldFilters:N(U),_gVehicle:l("Car prompt"),askForCar:b("Ask for the car first",!0,n(O,{})),gateHeading:f("Welcome heading",u.heading),gateIntro:g("Welcome intro",u.intro),...x({defaults:L}),...A({coverHint:"A card's opening picture — picking another color opens that color's first picture.",spinDefault:!1}),...R(),_gGrid:l("Grid"),columns:{type:"custom",render:({value:o,onChange:t})=>n(y,{value:o,onChange:t})},perPage:W("Products per page",n(T,{}),8,60,4,24)},resolveFields:(o,{fields:t})=>{const r=M(K(o.props.kinds));return{...t,gateHeading:f("Welcome heading",r.gateHeading),gateIntro:g("Welcome intro",r.gateIntro)}}};export{se as AlloyWheelsListingFields};
@@ -1 +1 @@
1
- import{jsx as l}from"react/jsx-runtime";import{ProductFieldIcon as d,ImageIcon as _,EyeIcon as g}from"efficient-easel/icons";import{group as e,toggle as p,select as a,text as r,textarea as c,linkField as t,galleryLayoutField as u,gapField as y,displayFields as A}from"efficient-web-builder/editor/lib/document/controls";import{GALLERY_TILE_PARTS as E}from"../../../../../../render/components/GalleryItem.js";import{headFieldsForPlacement as L,widthFieldsForParent as f,SPLITTABLE_SECTIONS as h}from"efficient-web-builder/format/lib/sections/section-head-placement";import{slotRowsField as R,WIDTH_ROW_KEYS as I}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{withRowRules as v}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as i,DRAWS_OTHER_RECORD as F,ON_DYNAMIC_PAGE as G,PAGE_FACTS as H}from"../page-rules.js";import{GALLERY_B_PH as o,GalleryBSlots as P}from"../../../../../../render/lib/document/blocks/commerce/GalleryB/meta.js";const S=[{label:"All media groups",value:"all"},{label:"Lifestyle photos",value:"lifestyle"},{label:"Product photos",value:"photos"},{label:"Accessories",value:"accessories"},{label:"Others",value:"others"}],D=[{label:"Group covers",value:"covers"},{label:"Every photo",value:"all"},{label:"Auto (covers if 4+ groups)",value:"auto"}],N={fields:v({_gDynamic:e("Product page"),dynamic:p("Connect to product data",!1,l(d,{})),mediaZone:a("Images from",l(_,{}),S,"all"),photoDisplay:a("Show",l(g,{}),D,"covers"),_gHeader:e("Header"),num:r("Section number",o.num),title:c("Heading",o.title),_gHeaderLink:e("Header link"),linkText:r("Header button",o.link),linkHref:t("Header link"),_gImages:e("Images"),imageList:R("GalleryB"),items:P.items,...A(E),_gGalleryLink:e("Gallery link"),galleryHref:t("“See gallery” link"),_gArrangement:e("Arrangement"),layout:u(),gap:y("GalleryB")},[[["_gDynamic","dynamic"],G],[["mediaZone","photoDisplay"],{all:[i,{not:F}]}],[["_gImages","items","imageList"],{not:i}]]),resolveFields:(s,{fields:m,parent:n})=>L(f(m,n,I),s.props.headPlacement,h.GalleryB.headRows),showWhenFacts:H};export{N as GalleryBFields};
1
+ import{jsx as l}from"react/jsx-runtime";import{ProductFieldIcon as d,ImageIcon as c,EyeIcon as p,HashIcon as g}from"efficient-easel/icons";import{group as e,toggle as _,select as t,text as i,textarea as u,linkField as s,galleryLayoutField as y,gapField as f,displayFields as h,slider as E}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as I,blockSourceFields as L,NO_BLOCK_SOURCE as A}from"efficient-web-builder/editor/lib/document/block-source-fields";import{GALLERY_TILE_PARTS as S}from"../../../../../../render/components/GalleryItem.js";import{headFieldsForPlacement as R,widthFieldsForParent as F,SPLITTABLE_SECTIONS as G}from"efficient-web-builder/format/lib/sections/section-head-placement";import{slotRowsField as H,WIDTH_ROW_KEYS as O}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{withRowRules as v}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as o,DRAWS_OTHER_RECORD as P,ON_DYNAMIC_PAGE as b,PAGE_FACTS as k}from"../page-rules.js";import{GALLERY_B_PH as a,GalleryBSlots as B}from"../../../../../../render/lib/document/blocks/commerce/GalleryB/meta.js";const D=[{label:"All media groups",value:"all"},{label:"Lifestyle photos",value:"lifestyle"},{label:"Product photos",value:"photos"},{label:"Accessories",value:"accessories"},{label:"Others",value:"others"}],T=[{label:"Group covers",value:"covers"},{label:"Every photo",value:"all"},{label:"Auto (covers if 4+ groups)",value:"auto"}],U={fields:v({_gDynamic:e("Product page"),dynamic:_("Connect to product data",!1,l(d,{})),mediaZone:t("Images from",l(c,{}),D,"all"),photoDisplay:t("Show",l(p,{}),T,"covers"),_gHeader:e("Header"),num:i("Section number",a.num),title:u("Heading",a.title),_gHeaderLink:e("Header link"),linkText:i("Header button",a.link),linkHref:s("Header link"),_gImages:e("Images"),imageList:H("GalleryB"),items:B.items,...h(S),dataSource:I("Image source","Images typed here"),limit:E("Images to show",l(g,{}),1,24,1,24),_gGalleryLink:e("Gallery link"),galleryHref:s("“See gallery” link"),_gArrangement:e("Arrangement"),layout:y(),gap:f("GalleryB")},[[["_gDynamic","dynamic"],b],[["mediaZone","photoDisplay"],{all:[o,{not:P}]}],[["_gImages"],{not:o}],[["items","imageList"],{all:[{not:o},A]}],[["limit"],{field:"dataSource",set:!0}]]),resolveFields:(r,{fields:m,parent:n})=>R(F(L("GalleryB",m,r.props),n,O),r.props.headPlacement,G.GalleryB.headRows),showWhenFacts:k};export{U as GalleryBFields};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import P from"../../../../../components/CategorySource.js";import{headerKeysOfPlace as T,LAYOUT_FIELD_KEYS as y,SECTION_THEME_FIELD_KEYS as F,SECTION_SHAPE_FIELD_KEYS as O,SECTION_ANIM_FIELD_KEYS as L,CARD_STYLE_FIELD_KEYS as g,BOUND_CARD_MEDIA_FIELD_KEYS as C,CARD_SHOW_FIELD_KEYS as N}from"efficient-web-builder/editor/lib/document/field-groups";import{TITLE_SIZES as A}from"../../../../../../render/components/ProductGridSection.js";import{DEFAULT_TITLE_SIZE as h}from"../../../../../../render/lib/sections/product-grid-title.js";import{ProductFieldIcon as H,TextSizeIcon as R,ColumnsIcon as k,ListIcon as G,HashIcon as Y}from"efficient-easel/icons";import{group as t,toggle as s,text as d,textarea as n,select as w,multiSelect as K,sourceField as U,linkField as x,cardShowFields as B,cardMediaFields as b,cardStyleFields as M,slider as l,gapField as j,spacingFields as z}from"efficient-web-builder/editor/lib/document/controls";import{isEditorOnDynamicPage as W}from"efficient-web-builder/format/lib/document/editor-page-context";import{PRODUCT_KIND_OPTIONS as Z}from"../../../../../../render/lib/catalog/plp-item.js";import{ALL_PRODUCTS_SLUG as v}from"../../../../../../render/lib/wheels/grid-source.js";import{widthFieldsForParent as q,headFieldsForPlacement as J,SPLITTABLE_SECTIONS as Q}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as m}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{slotRowsField as V,WIDTH_ROW_KEYS as X}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{PRODUCTGRID_PH as c}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";import{truthy as r,withRowRules as a}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as $,OFF_DYNAMIC_PAGE as e,ON_DYNAMIC_PAGE as oo}from"../page-rules.js";import{ProductGridSlots as to}from"../../../../../../render/lib/document/blocks/commerce/ProductGrid/meta.js";const _=z({top:120,keys:{top:"padTop",bottom:"padBottom"},group:!1,only:"top"}),eo=new Set([...T("Content"),"_gDynamic","dynamic","_gHeader","num","title","titleSize","description","_gLayout","columns",...Object.keys(_),...y,...F,...O,...L,...g,...C,...N]),io={not:$},yo={fields:a({_gDynamic:t("Product page"),dynamic:s("Connect to product data",!1,o(H,{})),_gHeader:t("Header"),num:d("Number",c.num),title:n("Heading",m.sectionHeading),titleSize:w("Heading size",o(R,{}),A,h),description:n("Body",m.body),_gProducts:t("Products"),kinds:K("Product types",Z,"None — this section will be empty"),source:U(P),productList:V("ProductGrid"),products:to.products,_gLink:t("Link"),linkText:d("Button",c.link),linkHref:x("Link"),...B({bottomDefault:!1}),...b(),...M(),_gLayout:t("Grid"),columns:l("Columns",o(k,{}),1,6,1,4),showAll:s("Show all items",!1,o(G,{})),limit:l("Items to display",o(Y,{}),1,12,1,8),gap:j("ProductGrid"),..._},[[["_gDynamic","dynamic"],oo],[["kinds"],{any:[e,{field:"source.slug",is:v}]}],[["products","productList"],{any:[e,{not:r("source.slug")}]}],[["limit"],{any:[e,{not:r("showAll")}]}],[["linkHref"],{any:[e,{not:r("linkText.hidden")}]}]]),resolveFields:(p,{fields:u,parent:E})=>{const S=q(u,E,X),D=p.props,i=J(S,D.headPlacement,Q.ProductGrid.headRows);if(!W())return i;const I=Object.keys(i).filter(f=>!eo.has(f));return a(i,[[I,io]])}};export{yo as ProductGridFields};
1
+ import{jsx as o}from"react/jsx-runtime";import P from"../../../../../components/CategorySource.js";import{headerKeysOfPlace as T,LAYOUT_FIELD_KEYS as O,SECTION_THEME_FIELD_KEYS as y,SECTION_SHAPE_FIELD_KEYS as F,SECTION_ANIM_FIELD_KEYS as L,CARD_STYLE_FIELD_KEYS as g,BOUND_CARD_MEDIA_FIELD_KEYS as C,CARD_SHOW_FIELD_KEYS as A}from"efficient-web-builder/editor/lib/document/field-groups";import{TITLE_SIZES as N}from"../../../../../../render/components/ProductGridSection.js";import{DEFAULT_TITLE_SIZE as R}from"../../../../../../render/lib/sections/product-grid-title.js";import{ProductFieldIcon as H,TextSizeIcon as h,ColumnsIcon as k,ListIcon as G,HashIcon as Y}from"efficient-easel/icons";import{group as t,toggle as s,text as d,textarea as n,select as w,multiSelect as K,sourceField as U,linkField as x,cardShowFields as B,cardMediaFields as b,cardStyleFields as M,slider as l,gapField as j,spacingFields as z}from"efficient-web-builder/editor/lib/document/controls";import{isEditorOnDynamicPage as W}from"efficient-web-builder/format/lib/document/editor-page-context";import{PRODUCT_KIND_OPTIONS as Z}from"../../../../../../render/lib/catalog/plp-item.js";import{ALL_PRODUCTS_SLUG as v}from"../../../../../../render/lib/wheels/grid-source.js";import{widthFieldsForParent as q,headFieldsForPlacement as J,SPLITTABLE_SECTIONS as Q}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as m}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{slotRowsField as V,WIDTH_ROW_KEYS as X}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{PRODUCTGRID_PH as c}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";import{GRID_CARD_SHOW as $}from"../../../../../../render/lib/sections/card-show-defaults.js";import{truthy as r,withRowRules as _}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as oo,OFF_DYNAMIC_PAGE as e,ON_DYNAMIC_PAGE as to}from"../page-rules.js";import{ProductGridSlots as eo}from"../../../../../../render/lib/document/blocks/commerce/ProductGrid/meta.js";const a=z({top:120,keys:{top:"padTop",bottom:"padBottom"},group:!1,only:"top"}),io=new Set([...T("Content"),"_gDynamic","dynamic","_gHeader","num","title","titleSize","description","_gLayout","columns",...Object.keys(a),...O,...y,...F,...L,...g,...C,...A]),ro={not:oo},Fo={fields:_({_gDynamic:t("Product page"),dynamic:s("Connect to product data",!1,o(H,{})),_gHeader:t("Header"),num:d("Number",c.num),title:n("Heading",m.sectionHeading),titleSize:w("Heading size",o(h,{}),N,R),description:n("Body",m.body),_gProducts:t("Products"),kinds:K("Product types",Z,"None — this section will be empty"),source:U(P),productList:V("ProductGrid"),products:eo.products,_gLink:t("Link"),linkText:d("Button",c.link),linkHref:x("Link"),...B({defaults:$}),...b(),...M(),_gLayout:t("Grid"),columns:l("Columns",o(k,{}),1,6,1,4),showAll:s("Show all items",!1,o(G,{})),limit:l("Items to display",o(Y,{}),1,12,1,8),gap:j("ProductGrid"),...a},[[["_gDynamic","dynamic"],to],[["kinds"],{any:[e,{field:"source.slug",is:v}]}],[["products","productList"],{any:[e,{not:r("source.slug")}]}],[["limit"],{any:[e,{not:r("showAll")}]}],[["linkHref"],{any:[e,{not:r("linkText.hidden")}]}]]),resolveFields:(p,{fields:u,parent:E})=>{const S=q(u,E,X),D=p.props,i=J(S,D.headPlacement,Q.ProductGrid.headRows);if(!W())return i;const I=Object.keys(i).filter(f=>!io.has(f));return _(i,[[I,ro]])}};export{Fo as ProductGridFields};
@@ -0,0 +1,2 @@
1
+ import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
+ export declare const ContactCardsFields: BlockFields;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{PhoneIcon as n}from"efficient-easel/icons";import{copyText as t,group as m,select as s,textarea as e}from"efficient-web-builder/editor/lib/document/controls";import{CONTACT_KIND_FALLBACK as a,CONTACT_KIND_OPTIONS as C}from"../../../../../../render/lib/document/blocks/service/ContactCards/meta.js";import{CONTACTS_MAX as i,CONTACT_KIND_NAMES as d}from"../../../../../../render/lib/sections/messaging.js";const A={fields:{_gContent:m("Content"),title:e("Heading","Who to ask"),description:e("Body",""),contacts:{type:"array",label:"Contacts",max:i,arrayFields:{name:t("Name","Who to ask for"),kind:s("Reach by",r(n,{}),C,a),value:t("Number or ID","A number, @name or an ID")},defaultItemProps:{name:"",kind:a,value:""},getItemSummary:o=>o.name||(o.kind?d[o.kind]:"Contact")}}};export{A as ContactCardsFields};
@@ -1 +1 @@
1
- import{jsx as s}from"react/jsx-runtime";import{CONTACT_ROUTING_DEFAULTS as t,slugifyGroupId as y}from"efficient-web-builder/format/lib/content/contact";import{EyeIcon as S,LinkIcon as c,EyeOffIcon as w}from"efficient-easel/icons";import{FieldGlyph as I}from"efficient-web-builder/editor/components/FieldGlyph";import{group as u,text as p,plainText as a,plainTextarea as f,textarea as b,textList as O,toggle as N,withOffPage as v,select as T}from"efficient-web-builder/editor/lib/document/controls";import{formPicker as x}from"../controls.js";import{CHANNEL_HINTS as h}from"../../../../../../render/components/ContactRouting.js";import{say as m}from"efficient-web-builder/format/lib/editor-words";const R={fields:{_gTop:u("Routing groups"),routingNumber:p("Section number",t.routingNumber),routingTagline:p("Eyebrow",t.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:a("Eyebrow"),title:f("Title"),copy:f("Body"),response:a("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||m("Group")},_gForm:u("Message form"),formSlug:x(),formNumber:p("Section number",t.formNumber),formHeading:b("Heading",t.formHeading),metaItems:O("Meta lines",s(I,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:u("“Other” reason"),showOther:N("Show “Other” reason",t.showOther,s(S,{})),otherLabel:a("“Other” chip label",t.otherLabel),otherNoteTitle:p("“Other” note title",t.otherNoteTitle),otherNoteBody:b("“Other” note body",t.otherNoteBody),_gSubmit:u("Submit button"),buttonText:a("Submit button",t.buttonText),consent:b("Consent line",t.consent),_gChannels:u("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:a("Label",h.label),value:a("Value",h.value),href:v(a("Link")),sub:a("Sub line",h.sub),groupId:T("Link to group",s(c,{}),[{label:"— Not linked —",value:""},...t.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:N("Hidden",!1,s(w,{}))},getItemSummary:e=>{const n=e?.label||e?.value||m("Channel");return e?.hidden?m("{name} · hidden",{name:n}):n}}},resolveData:e=>{const n=e.props.groups??[];if(!n.some(o=>!o?.id))return e;const i=new Set,d=n.map((o,l)=>{if(o?.id)return i.add(o.id),o;let r=y(o?.title)||`group-${l+1}`;for(;i.has(r);)r=`${r}-${l+1}`;return i.add(r),{...o,id:r}});return{...e,props:{...e.props,groups:d}}},resolveFields:(e,{fields:n})=>{const i=e.props.groups??[],d=[{label:"— Not linked —",value:""},...i.map((r,g)=>({label:r?.title||r?.eyebrow||m("Group {n}",{n:g+1}),value:r?.id||y(r?.title)||`group-${g+1}`}))],o=n,l=o.channels;return l?.type==="array"&&l.arrayFields&&(o.channels={...l,arrayFields:{...l.arrayFields,groupId:T("Link to group",s(c,{}),d,"")}}),n}};export{R as ContactRoutingFields};
1
+ import{jsx as s}from"react/jsx-runtime";import{slugify as y}from"efficient-shell/format";import{CONTACT_ROUTING_DEFAULTS as t}from"efficient-web-builder/format/lib/content/contact";import{EyeIcon as S,LinkIcon as f,EyeOffIcon as w}from"efficient-easel/icons";import{FieldGlyph as O}from"efficient-web-builder/editor/components/FieldGlyph";import{group as u,text as p,plainText as a,plainTextarea as c,textarea as d,textList as I,toggle as N,withOffPage as v,select as T}from"efficient-web-builder/editor/lib/document/controls";import{formPicker as x}from"../controls.js";import{CHANNEL_HINTS as h}from"../../../../../../render/components/ContactRouting.js";import{say as m}from"efficient-web-builder/format/lib/editor-words";const $={fields:{_gTop:u("Routing groups"),routingNumber:p("Section number",t.routingNumber),routingTagline:p("Eyebrow",t.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:a("Eyebrow"),title:c("Title"),copy:c("Body"),response:a("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||m("Group")},_gForm:u("Message form"),formSlug:x(),formNumber:p("Section number",t.formNumber),formHeading:d("Heading",t.formHeading),metaItems:I("Meta lines",s(O,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:u("“Other” reason"),showOther:N("Show “Other” reason",t.showOther,s(S,{})),otherLabel:a("“Other” chip label",t.otherLabel),otherNoteTitle:p("“Other” note title",t.otherNoteTitle),otherNoteBody:d("“Other” note body",t.otherNoteBody),_gSubmit:u("Submit button"),buttonText:a("Submit button",t.buttonText),consent:d("Consent line",t.consent),_gChannels:u("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:a("Label",h.label),value:a("Value",h.value),href:v(a("Link")),sub:a("Sub line",h.sub),groupId:T("Link to group",s(f,{}),[{label:"— Not linked —",value:""},...t.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:N("Hidden",!1,s(w,{}))},getItemSummary:e=>{const n=e?.label||e?.value||m("Channel");return e?.hidden?m("{name} · hidden",{name:n}):n}}},resolveData:e=>{const n=e.props.groups??[];if(!n.some(o=>!o?.id))return e;const l=new Set,b=n.map((o,i)=>{if(o?.id)return l.add(o.id),o;let r=y(o?.title)||`group-${i+1}`;for(;l.has(r);)r=`${r}-${i+1}`;return l.add(r),{...o,id:r}});return{...e,props:{...e.props,groups:b}}},resolveFields:(e,{fields:n})=>{const l=e.props.groups??[],b=[{label:"— Not linked —",value:""},...l.map((r,g)=>({label:r?.title||r?.eyebrow||m("Group {n}",{n:g+1}),value:r?.id||y(r?.title)||`group-${g+1}`}))],o=n,i=o.channels;return i?.type==="array"&&i.arrayFields&&(o.channels={...i,arrayFields:{...i.arrayFields,groupId:T("Link to group",s(f,{}),b,"")}}),n}};export{$ as ContactRoutingFields};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{WeightIcon as i,WidthIcon as t,PhoneIcon as s}from"efficient-easel/icons";import{group as n,slider as o,toggle as r}from"efficient-web-builder/editor/lib/document/controls";const d={fields:{_gStyle:n("Style"),thickness:o("Thickness",e(i,{}),1,8,1,1,"px"),lengthPct:o("Length",e(t,{}),10,100,1,100,"%"),hideOnMobile:r("Hide on mobile",!1,e(s,{}))}};export{d as FooterDividerFields};
1
+ import{jsx as e}from"react/jsx-runtime";import{EyeOffIcon as o,WeightIcon as t,WidthIcon as r}from"efficient-easel/icons";import{deviceField as s}from"efficient-easel/screen/lib/document/device-fields";import{group as l,slider as i,toggle as d}from"efficient-web-builder/editor/lib/document/controls";const g={fields:{_gStyle:l("Style"),thickness:i("Thickness",e(t,{}),1,8,1,1,"px"),lengthPct:i("Length",e(r,{}),10,100,1,100,"%"),hideOnMobile:s("mobile",d("Hide",!1,e(o,{})))}};export{g as FooterDividerFields};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import r from"../../../../../components/MenuPicker.js";import{PhoneIcon as s,LineBetweenIcon as l}from"efficient-easel/icons";import{group as o,plainText as a,toggle as n}from"efficient-web-builder/editor/lib/document/controls";const p={fields:{_gContent:o("Content"),menu:{type:"custom",render:({value:i,onChange:t})=>e(r,{value:i,onChange:t})},heading:a("Heading","Column heading"),_gStyle:o("Style"),accordionMobile:n("Show as accordion on mobile",!1,e(s,{})),showDividers:n("Dividers between links",!1,e(l,{}))}};export{p as FooterMenuFields};
1
+ import{jsx as e}from"react/jsx-runtime";import t from"../../../../../components/MenuPicker.js";import{PhoneIcon as l,LineBetweenIcon as m}from"efficient-easel/icons";import{deviceField as s}from"efficient-easel/screen/lib/document/device-fields";import{group as o,plainText as a,toggle as n}from"efficient-web-builder/editor/lib/document/controls";const u={fields:{_gContent:o("Content"),menu:{type:"custom",render:({value:i,onChange:r})=>e(t,{value:i,onChange:r})},heading:a("Heading","Column heading"),_gStyle:o("Style"),accordionMobile:s("mobile",n("Show as accordion",!1,e(l,{}))),showDividers:n("Dividers between links",!1,e(m,{}))}};export{u as FooterMenuFields};
@@ -0,0 +1,2 @@
1
+ import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
+ export declare const FooterMessagingFields: BlockFields;
@@ -0,0 +1 @@
1
+ import{group as s,text as r}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as t,blockSourceFields as i}from"efficient-web-builder/editor/lib/document/block-source-fields";const d={fields:{_gContent:s("Content"),heading:r("Heading","Message us"),dataSource:t("Apps from","None")},resolveFields:(e,{fields:o})=>i("FooterMessaging",o,e.props)};export{d as FooterMessagingFields};
@@ -0,0 +1,2 @@
1
+ import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
+ export declare const FooterPaymentFields: BlockFields;
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{AlignLeftIcon as a,TextSizeIcon as r}from"efficient-easel/icons";import{copyText as m,group as s,segmented as l,text as d}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as i,blockSourceFields as n}from"efficient-web-builder/editor/lib/document/block-source-fields";import{FOOTER_PAYMENT_LEAD as p}from"../../../../../../render/lib/document/blocks/service/FooterPayment/meta.js";const f={fields:{lead:d("Lead",p),dataSource:i("Methods from","Typed here"),methods:{type:"array",label:"Payment methods",arrayFields:{label:m("Name")},getItemSummary:e=>e.label||"Method"},_gStyle:s("Style"),size:l("Size",t(r,{}),[{label:"S",value:"sm"},{label:"M",value:"md"}],"sm"),align:l("Alignment",t(a,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start")},resolveFields:(e,{fields:o})=>n("FooterPayment",o,e.props,{hides:["methods"]})};export{f as FooterPaymentFields};
@@ -0,0 +1,2 @@
1
+ import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
+ export declare const MessagingCardsFields: BlockFields;
@@ -0,0 +1 @@
1
+ import{group as r,textarea as e}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as t,blockSourceFields as i}from"efficient-web-builder/editor/lib/document/block-source-fields";const n={fields:{_gContent:r("Content"),title:e("Heading","Message us"),description:e("Body",""),dataSource:t("Apps from","None")},resolveFields:(o,{fields:s})=>i("MessagingCards",s,o.props)};export{n as MessagingCardsFields};
@@ -0,0 +1,2 @@
1
+ import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
2
+ export declare const OpeningHoursFields: BlockFields;
@@ -0,0 +1 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{ClockIcon as t}from"efficient-easel/icons";import{group as s,select as i,textarea as n}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as p,blockSourceFields as l}from"efficient-web-builder/editor/lib/document/block-source-fields";import{OPENING_HOURS_SHOWS as m,OPENING_HOURS_SHOW_FALLBACK as c}from"../../../../../../render/lib/document/blocks/service/OpeningHours/meta.js";const f={fields:{_gContent:s("Content"),show:i("Show",r(t,{}),m,c),title:n("Heading","Opening hours"),dataSource:p("Hours from","None")},resolveFields:(o,{fields:e})=>l("OpeningHours",e,o.props)};export{f as OpeningHoursFields};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{StylesIcon as m,HashIcon as n,ColumnsIcon as d}from"efficient-easel/icons";import{group as o,text as a,select as p,textarea as w,slider as t,withOffPage as E,plainText as _}from"efficient-web-builder/editor/lib/document/controls";import{headFieldsForPlacement as S,widthFieldsForParent as f,SPLITTABLE_SECTIONS as y}from"efficient-web-builder/format/lib/sections/section-head-placement";import{SECTION_EYEBROW_LOOK_OPTIONS as I,eyebrowLookFor as c}from"efficient-web-builder/format/lib/sections/section-eyebrow-look";import{WIDTH_ROW_KEYS as O}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{REVIEWS_DESIGN_CODE_PH as R}from"../placeholders.js";import{REVIEWS_PH as r}from"../../../../../../render/lib/document/blocks/service/Reviews/meta.js";const x={fields:{_gContent:o("Content"),eyebrow:a("Eyebrow",r.eyebrow),eyebrowLook:p("Eyebrow style",e(m,{}),[...I],c("Reviews")),title:w("Heading",r.title),_gSource:o("Reviews"),limit:t("Reviews to display",e(n,{}),3,12,1,6),designCode:E(_("Design code",R)),_gStyle:o("Style"),columns:t("Columns",e(d,{}),1,3,1,3)},resolveFields:(i,{fields:s,parent:l})=>S(f(s,l,O),i.props.headPlacement,y.Reviews.headRows)};export{x as ReviewsFields};
1
+ import{jsx as t}from"react/jsx-runtime";import{StylesIcon as d,HashIcon as p,ColumnsIcon as c,StarIcon as R}from"efficient-easel/icons";import{group as i,text as w,select as a,textarea as u,slider as m,withOffPage as _,plainText as r,plainTextarea as f}from"efficient-web-builder/editor/lib/document/controls";import{blockSourceField as y,blockSourceFields as I}from"efficient-web-builder/editor/lib/document/block-source-fields";import{withShowWhen as l}from"efficient-web-builder/render/lib/document/show-when";import{BLOCK_SOURCE_PROP as O}from"efficient-web-builder/format/lib/content/block-sources";import{headFieldsForPlacement as E,widthFieldsForParent as g,SPLITTABLE_SECTIONS as T}from"efficient-web-builder/format/lib/sections/section-head-placement";import{SECTION_EYEBROW_LOOK_OPTIONS as b,eyebrowLookFor as v}from"efficient-web-builder/format/lib/sections/section-eyebrow-look";import{WIDTH_ROW_KEYS as P}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{RATING_STARS as h}from"../../../../../../render/components/RatingStars.js";import{REVIEWS_DESIGN_CODE_PH as C}from"../placeholders.js";import{REVIEWS_PH as n,ReviewsSlots as F}from"../../../../../../render/lib/document/blocks/service/Reviews/meta.js";const s={field:O,set:!0},N=[{label:"None",value:""},...Array.from({length:h},(e,o)=>({label:String(o+1),value:String(o+1)}))],U={fields:{_gContent:i("Content"),eyebrow:w("Eyebrow",n.eyebrow),eyebrowLook:a("Eyebrow style",t(d,{}),[...b],v("Reviews")),title:u("Heading",n.title),_gSource:i("Reviews"),dataSource:y("Review content","Manual"),items:l({type:"array",label:"Typed reviews",arrayFields:{quote:f("Quote"),title:r("Title"),name:r("Name"),role:r("Role · location"),rating:a("Rating",t(R,{}),N,"")},defaultItemProps:{quote:"",title:"",name:"",role:"",rating:""},getItemSummary:e=>e?.name||e?.quote||"Review"},{not:s}),...F,limit:l(m("Reviews to display",t(p,{}),3,12,1,6),s),dataSourceOptions:l({type:"object",label:"Product",objectFields:{designCode:_(r("Design code",C))}},s),_gStyle:i("Style"),columns:m("Columns",t(c,{}),1,3,1,3)},resolveFields:(e,{fields:o,parent:S})=>I("Reviews",E(g(o,S,P),e.props.headPlacement,T.Reviews.headRows),e.props,{hides:["items"]})};export{U as ReviewsFields};
@@ -1 +1 @@
1
- export declare const serviceBlocks: Record<"Form" | "Footer" | "FooterGroup" | "Events" | "Subscribe" | "SiteHeader" | "SiteFooter" | "AppointmentBooking" | "BookingBox" | "SubmitBuild" | "SubmitBox" | "FooterLogo" | "FooterMenu" | "FooterDivider" | "FooterText" | "FooterEmailSignup" | "FooterSocial" | "RateTable" | "Reviews" | "ReviewForm" | "ContactRouting" | "LegalLineBlock" | "RatingBlock" | "SubscribeBlogs", import("efficient-easel/blocks").ComponentConfig<any, any, Omit<import("efficient-easel/blocks").ComponentData<any, string, Record<string, import("efficient-easel/blocks").DefaultComponentProps>>, "type">>>;
1
+ export declare const serviceBlocks: Record<"Form" | "Reviews" | "Footer" | "FooterGroup" | "Events" | "SiteHeader" | "SiteFooter" | "AppointmentBooking" | "BookingBox" | "SubmitBuild" | "SubmitBox" | "FooterLogo" | "FooterMenu" | "FooterDivider" | "FooterText" | "FooterEmailSignup" | "FooterSocial" | "FooterPayment" | "Subscribe" | "OpeningHours" | "RateTable" | "MessagingCards" | "FooterMessaging" | "ReviewForm" | "ContactRouting" | "LegalLineBlock" | "ContactCards" | "RatingBlock" | "SubscribeBlogs", import("efficient-easel/blocks").ComponentConfig<any, any, Omit<import("efficient-easel/blocks").ComponentData<any, string, Record<string, import("efficient-easel/blocks").DefaultComponentProps>>, "type">>>;
@@ -1 +1 @@
1
- import{assembleBlocks as o}from"efficient-web-builder/format/lib/document/blocks/block-types";import{SITE_FOOTER_TYPE as i,SITE_HEADER_TYPE as r}from"efficient-web-builder/format/lib/document/section-groups";import{AppointmentBookingFields as e}from"./AppointmentBooking/fields.js";import{BookingBoxFields as t}from"./BookingBox/fields.js";import{ContactRoutingFields as m}from"./ContactRouting/fields.js";import{EventsFields as F}from"./Events/fields.js";import{FooterFields as l}from"./Footer/fields.js";import{FooterDividerFields as s}from"./FooterDivider/fields.js";import{FooterEmailSignupFields as p}from"./FooterEmailSignup/fields.js";import{FooterGroupFields as d}from"./FooterGroup/fields.js";import{FooterLogoFields as f}from"./FooterLogo/fields.js";import{FooterMenuFields as n}from"./FooterMenu/fields.js";import{FooterSocialFields as S}from"./FooterSocial/fields.js";import{FooterTextFields as u}from"./FooterText/fields.js";import{FormFields as B}from"./Form/fields.js";import{LegalLineBlockFields as E}from"./LegalLineBlock/fields.js";import{RateTableFields as c}from"./RateTable/fields.js";import{RatingBlockFields as a}from"./RatingBlock/fields.js";import{ReviewFormFields as g}from"./ReviewForm/fields.js";import{ReviewsFields as R}from"./Reviews/fields.js";import{SiteFooterFields as b}from"./SiteFooter/fields.js";import{SiteHeaderFields as k}from"./SiteHeader/fields.js";import{SubmitBoxFields as v}from"./SubmitBox/fields.js";import{SubmitBuildFields as T}from"./SubmitBuild/fields.js";import{SubscribeFields as x}from"./Subscribe/fields.js";import{SubscribeBlogsFields as L}from"./SubscribeBlogs/fields.js";import{SERVICE_RENDERS as _}from"../../../../../render/lib/document/blocks/service/renders.js";const D={AppointmentBooking:e,BookingBox:t,ContactRouting:m,Events:F,Footer:l,FooterDivider:s,FooterEmailSignup:p,FooterGroup:d,FooterLogo:f,FooterMenu:n,FooterSocial:S,FooterText:u,Form:B,LegalLineBlock:E,RateTable:c,RatingBlock:a,ReviewForm:g,Reviews:R,[i]:b,[r]:k,SubmitBox:v,SubmitBuild:T,Subscribe:x,SubscribeBlogs:L},ro=o(_,D);export{ro as serviceBlocks};
1
+ import{assembleBlocks as o}from"efficient-web-builder/format/lib/document/blocks/block-types";import{SITE_FOOTER_TYPE as i,SITE_HEADER_TYPE as r}from"efficient-web-builder/format/lib/document/section-groups";import{AppointmentBookingFields as e}from"./AppointmentBooking/fields.js";import{BookingBoxFields as t}from"./BookingBox/fields.js";import{ContactRoutingFields as m}from"./ContactRouting/fields.js";import{EventsFields as s}from"./Events/fields.js";import{FooterFields as F}from"./Footer/fields.js";import{FooterDividerFields as l}from"./FooterDivider/fields.js";import{FooterEmailSignupFields as p}from"./FooterEmailSignup/fields.js";import{FooterGroupFields as d}from"./FooterGroup/fields.js";import{FooterLogoFields as n}from"./FooterLogo/fields.js";import{FooterMenuFields as f}from"./FooterMenu/fields.js";import{FooterSocialFields as a}from"./FooterSocial/fields.js";import{FooterPaymentFields as g}from"./FooterPayment/fields.js";import{FooterTextFields as u}from"./FooterText/fields.js";import{FormFields as S}from"./Form/fields.js";import{LegalLineBlockFields as c}from"./LegalLineBlock/fields.js";import{OpeningHoursFields as B}from"./OpeningHours/fields.js";import{RateTableFields as E}from"./RateTable/fields.js";import{MessagingCardsFields as R}from"./MessagingCards/fields.js";import{FooterMessagingFields as b}from"./FooterMessaging/fields.js";import{ContactCardsFields as k}from"./ContactCards/fields.js";import{RatingBlockFields as C}from"./RatingBlock/fields.js";import{ReviewFormFields as v}from"./ReviewForm/fields.js";import{ReviewsFields as T}from"./Reviews/fields.js";import{SiteFooterFields as x}from"./SiteFooter/fields.js";import{SiteHeaderFields as L}from"./SiteHeader/fields.js";import{SubmitBoxFields as M}from"./SubmitBox/fields.js";import{SubmitBuildFields as _}from"./SubmitBuild/fields.js";import{SubscribeFields as D}from"./Subscribe/fields.js";import{SubscribeBlogsFields as I}from"./SubscribeBlogs/fields.js";import{SERVICE_RENDERS as w}from"../../../../../render/lib/document/blocks/service/renders.js";const H={AppointmentBooking:e,BookingBox:t,ContactRouting:m,Events:s,Footer:F,FooterDivider:l,FooterEmailSignup:p,FooterGroup:d,FooterLogo:n,FooterMenu:f,FooterSocial:a,FooterPayment:g,FooterText:u,Form:S,LegalLineBlock:c,OpeningHours:B,RateTable:E,MessagingCards:R,FooterMessaging:b,ContactCards:k,RatingBlock:C,ReviewForm:v,Reviews:T,[i]:x,[r]:L,SubmitBox:M,SubmitBuild:_,Subscribe:D,SubscribeBlogs:I},ao=o(w,H);export{ao as serviceBlocks};
@@ -1,6 +1,8 @@
1
1
  import { type Config } from "efficient-easel/blocks";
2
2
  import "../efficient-backend.js";
3
3
  import "../../../render/lib/document/slot-seeds.js";
4
+ import "../../../render/lib/document/card-templates.js";
5
+ import "../../../render/lib/document/section-to-box-rows-reviews.js";
4
6
  export declare const subscribePopupFields: {
5
7
  _gBehaviour: import("efficient-web-builder/editor/lib/document/controls").CustomField<undefined>;
6
8
  autoOpen: import("efficient-web-builder/editor/lib/document/controls").CustomField<boolean>;
@@ -1 +1 @@
1
- import{jsx as a,Fragment as G,jsxs as U}from"react/jsx-runtime";import{assignSectionGroups as W,reseatBucketTabs as K}from"efficient-web-builder/editor/lib/document/field-groups";import{buildBlockCategories as Y}from"efficient-web-builder/format/lib/document/section-catalog";import{FONT_ROLES as j,FONT_ROLE_LABELS as q}from"efficient-web-builder/format/lib/fonts";import{CONTAINER_DIRECTION_LABELS as B}from"efficient-web-builder/format/lib/content/container-direction";import{SITE_FOOTER_TYPE as V,SITE_HEADER_TYPE as X}from"efficient-web-builder/format/lib/document/section-groups";import z from"../../components/MenuLinkRangeField.js";import Q from"../../components/EditorPreviewChat.js";import J from"../../components/EditorPreviewSurface.js";import{isSystemPageSlug as Z,POPUP_DAYS_RANGE as E,POPUP_DELAY_RANGE as _,POPUP_HIDE_AFTER as $,POPUP_SCROLL_RANGE as L,POPUP_SHOW_ON as ee,POPUP_TRIGGERS as k,SUBSCRIBE_POPUP_DEFAULTS as te,SUBSCRIBE_POPUP_KIND as oe}from"efficient-web-builder/format/lib/content/subscribe";import{shownForOption as b,withRowRules as re}from"efficient-web-builder/render/lib/document/show-when";import{POPUP_KIND_PROP as ie,POPUP_TEXT_KIND_LABELS as O,POPUP_TEXT_KINDS as ae}from"efficient-web-builder/format/lib/popup/text-kinds";import{loadPages as le}from"efficient-web-builder/editor/components/StorefrontLinkField";import{pagePath as ne}from"../../../render/lib/links/link-rules.js";import{getEditorSiteId as se}from"efficient-web-builder/render/lib/editor-site";import{CART_DRAWER_DEFAULTS as ce,CART_DRAWER_KIND as F}from"efficient-web-builder/format/lib/content/cart-drawer";import{CONSENT_BANNER_KIND as v}from"efficient-web-builder/format/lib/content/consent-banner";import{consentBannerLayoutField as me}from"../../components/ConsentBannerLayoutTiles.js";import{AlignLeftIcon as ue,CategoryIcon as de,CheckIcon as R,ClockIcon as f,ColumnsIcon as pe,DirectionIcon as ge,EyeIcon as be,ListIcon as Pe,PageIcon as fe,PlacementIcon as he,ScrollPointIcon as Se,TriggerIcon as Te}from"efficient-easel/icons";import{FieldGlyph as ye}from"efficient-web-builder/editor/components/FieldGlyph";import{group as s,multiSelect as Be,panelNote as C,plainText as i,plainTextarea as u,sectionShapeFields as Ee,sectionThemeFields as _e,segmented as d,select as A,slider as h,textList as P,toggle as D}from"efficient-web-builder/editor/lib/document/controls";import{formPicker as Le}from"./blocks/service/controls.js";import{SECTION_THEME_FOLLOW_LABEL as ke}from"efficient-web-builder/editor/components/SectionThemePicker";import{nestedAccentValue as Oe}from"efficient-web-builder/format/lib/content/section-surface";import{isEditorOnDynamicPage as Fe}from"efficient-web-builder/format/lib/document/editor-page-context";import{PRODUCT_HERO_BULLETS_PROP as ve,HERO_BULLET_EXAMPLE as Re,heroBulletLine as Ce}from"../../../render/lib/content/product-hero.js";import{TEMPLATE_PRODUCT_TYPE_PROP as Ae}from"efficient-web-builder/format/lib/content/product-page";import{PRODUCT_KIND_OPTIONS as De}from"../../../render/lib/catalog/plp-item.js";import{PH as S}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{textKindGlyph as we}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import"../efficient-backend.js";import"../../../render/lib/document/slot-seeds.js";import{generalBlocks as e}from"efficient-web-builder/editor/lib/document/blocks/general/index";import{commerceBlocks as r}from"./blocks/commerce/index.js";import{serviceBlocks as l}from"./blocks/service/index.js";import{EditorThemedBody as Ie,suppressPreviewNav as xe}from"efficient-web-builder/editor/lib/document/page-root";import He from"../../components/HeaderSection.js";import{addPageBlocksFromFooter as Ne,PAGE_MENU_DIRECTION_DEFAULT as Me}from"../../../render/lib/document/footer-page-blocks.js";import{drawPopupPage as Ge,drawPublishedStorefrontRoot as Ue,drawSystemPage as We,StorefrontPageProviders as Ke}from"../../../render/lib/document/storefront-root.js";import{GENERAL_ROOT_FIELDS as Ye}from"efficient-web-builder/editor/lib/document/page-root-fields";import{finishRegistry as je}from"efficient-web-builder/editor/lib/document/registry";const qe="Newsletter (built in)",Kt=[{value:"00",label:S.label},{value:"00",label:S.label},{value:"00",label:S.label}],t=te,p={field:"autoOpen",is:!0},Ve={all:[b("hideAfter",$,t.hideAfter,["days"]),{not:{all:[{field:"hideAfter",is:null,default:null},{field:"oncePerSession",in:[!0,!1]}]}}]},Xe=[[["trigger","showOn","hideAfter"],p],[["autoOpenDelaySec"],{all:[p,b("trigger",k,t.trigger,["delay","exit"])]}],[["scrollPercent"],{all:[p,b("trigger",k,t.trigger,["scroll"])]}],[["showOnPages"],{all:[p,b("showOn",ee,t.showOn,["chosen"])]}],[["hideDays"],{all:[p,Ve]}]],ze=re({formSlug:Le(void 0,qe),_gLeft:s("Left panel"),metaLabel:i("Meta label",t.metaLabel),issueLabel:i("Issue label",t.issueLabel),issueNumber:i("Issue number",t.issueNumber),kicker:i("Eyebrow",t.kicker),heading:u("Heading",t.heading),deck:u("Deck",t.deck),stats:{type:"array",label:"Stats",arrayFields:{label:i("Label"),value:i("Value")},getItemSummary:o=>o?.label||o?.value||"Stat"},_gForm:s("Right panel · form"),formLabel:i("Section label",t.formLabel),formHeading:i("Heading",t.formHeading),formIntro:u("Intro",t.formIntro),firstNameLabel:i("First-name label",t.firstNameLabel),firstNamePlaceholder:i("First-name placeholder",t.firstNamePlaceholder),emailLabel:i("Email label",t.emailLabel),emailPlaceholder:i("Email placeholder",t.emailPlaceholder),_gChoices:s("Right panel · choices"),interestsLabel:i("Interests label",t.interestsLabel),interests:P("Interest chips",a(ye,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:i("Frequency label",t.frequencyLabel),frequencies:P("Frequency options",a(Pe,{}),"Option label","verbatim"),_gActions:s("Right panel · actions"),submitText:i("Submit button",t.submitText),finePrint:i("Fine print",t.finePrint),dismissText:i("Dismiss link",t.dismissText),emailInvalidText:i("Invalid-email error",t.emailInvalidText),submitErrorText:i("Submit-failed error",t.submitErrorText),_gSuccess:s("Success state"),successHeading:i("Heading",t.successHeading),successBody:u("Message",t.successBody),keepBrowsingText:i("Dismiss button",t.keepBrowsingText),..._e(Oe,ke),...Ee(),_gTextStyle:s("Text style"),...Object.fromEntries(ae.map(o=>[ie[o],A(O[o],we(O[o]),[{label:"Popup's own",value:""},...j.map(n=>({label:q[n],value:n}))],"")])),_gBehaviour:s("Behavior"),autoOpen:D("Show by itself",t.autoOpen,a(be,{})),trigger:d("Trigger",a(Te,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],t.trigger),autoOpenDelaySec:h("Delay",a(f,{}),_.min,_.max,1,t.autoOpenDelaySec,"s"),scrollPercent:h("Scroll",a(Se,{}),L.min,L.max,5,t.scrollPercent,"%"),showOn:d("Pages",a(fe,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],t.showOn),showOnPages:Be("Chosen pages",[],"None"),hideAfter:d("After close",a(f,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],t.hideAfter),hideDays:h("Days",a(f,{}),E.min,E.max,1,t.hideDays),_gArrangement:s("Arrangement"),formSide:d("Form side",a(he,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],t.formSide),_gPhone:s("On a phone"),valuePanelOnPhone:D("Left panel",t.valuePanelOnPhone,a(pe,{}))},Xe),w=W(ze,"SubscribePopup");async function Qe(){return(await le(se()??"")).filter(n=>!Z(n.slug)).map(n=>({label:n.label,value:ne(n.slug)}))}async function Je(){return K({...w,showOnPages:{...w.showOnPages,options:await Qe().catch(()=>[])}})}const c=ce,Ze={_gHeader:s("Header"),kickerBadge:i("Eyebrow badge",c.kickerBadge),kickerText:i("Eyebrow text",c.kickerText),titleLead:i("Heading",c.titleLead),titleAccent:i("Heading accent",c.titleAccent),subtitleEmpty:u("Sub-line · empty",c.subtitleEmpty),subtitleOne:u("Sub-line · one set",c.subtitleOne),subtitleMany:u("Sub-line · several sets",c.subtitleMany,"{count} becomes the number of sets"),_gStatus:s("Status rail"),leadTimeValue:i("Lead time",c.leadTimeValue),shipsToFallback:i("Ships to · fallback",c.shipsToFallback,"Shown only while the site serves no countries — otherwise the site's default country is stated"),_gPromises:s("Promise row"),promises:P("Trust markers",a(R,{}),"Marker","verbatim"),_gEmpty:s("Empty basket"),emptyKicker:i("Eyebrow",c.emptyKicker),emptyBody:u("Message",c.emptyBody)},$e={layout:me,_nConsentWhere:C("The banner's words follow each visitor's country. Turn consent on or off, and pick the privacy page, in Admin › Storefront › Marketing › Privacy.")};function et({kind:o}){return a("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim)",borderBottom:"1px solid var(--site-line)"},children:o===F?"This is the cart drawer — edit its copy in the Settings panel →":o===v?"This is the cookie banner — pick its layout in the Settings panel →":"This is the site popup — edit it in the Settings panel →"})}const g={root:{fields:{...Ye},resolveFields:async(o,{fields:n})=>{if(o?.props?.kind===oe)return Je();if(o?.props?.kind===F)return Ze;if(o?.props?.kind===v)return $e;const m=n;return Fe()?{[Ae]:A("Product type",a(de,{}),De,"alloy-wheel"),...m,_gHeroBullets:s("Product hero"),_nHeroBullets:C("The promises under Add to Cart. Text before the · is bold. Leave the list empty to show no promises at all."),[ve]:P("Trust bullets",a(R,{}),Ce(Re),"verbatim")}:m},render:o=>{const{editor:n,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:T,theme:H,fonts:N}=o;if(!n?.isEditing)return Ue(o);const y=We(o,a(et,{kind:o.kind}));if(y)return y;const M=Ge(o,!0);return a(Ie,{propsTheme:H,propsFonts:N,widthMode:m,fullWidth:I,pageWidth:x,pageBackground:typeof T=="string"?T:void 0,suppressPreviewNav:xe,overlay:U(G,{children:[a(Q,{}),a(J,{})]}),children:M??a(Ke,{rootProps:o,children:o.children})})}},categories:Y(),components:{Heading:e.Heading,Text:e.Text,Eyebrow:e.Eyebrow,ImageBlock:e.ImageBlock,LogoBlock:e.LogoBlock,ButtonBlock:e.ButtonBlock,Spacer:e.Spacer,Divider:e.Divider,Grid:e.Grid,Flex:e.Flex,Breadcrumb:e.Breadcrumb,Masthead:e.Masthead,CategoryBar:e.CategoryBar,FeaturedCover:e.FeaturedCover,LongRead:e.LongRead,Series:e.Series,Subscribe:l.Subscribe,SubscribeBlogs:l.SubscribeBlogs,Banner:e.Banner,ParagraphsA:e.ParagraphsA,StatsParagraph:e.StatsParagraph,Timeline:e.Timeline,Footprint:e.Footprint,TimelineTrack:e.TimelineTrack,TitleWithButtons:e.TitleWithButtons,Stats:e.Stats,Integrations:e.Integrations,Mockup:e.Mockup,Chart:e.Chart,KeyFeatures:e.KeyFeatures,Testimonials:e.Testimonials,Reviews:l.Reviews,RatingBlock:l.RatingBlock,Prose:e.Prose,Cards:e.Cards,Logos:e.Logos,Ticker:e.Ticker,ContactRouting:l.ContactRouting,ContactLocations:e.ContactLocations,HeroSingle:e.HeroSingle,Hero:e.Hero,HeroSlide:e.HeroSlide,HeroGroup:e.HeroGroup,Collections:r.Collections,CollectionCard:r.CollectionCard,Events:l.Events,RateTable:l.RateTable,PostCard:e.PostCard,DocMetaCards:e.DocMetaCards,DocTabs:e.DocTabs,DocMasthead:e.DocMasthead,DocBody:e.DocBody,FAQ:e.FAQ,Gallery:r.Gallery,GalleryB:r.GalleryB,SpecStrip:e.SpecStrip,GalleryItem:r.GalleryItem,Manifesto:e.Manifesto,SectionHeader:e.SectionHeader,IntroBleed:e.IntroBleed,Split:e.Split,SubmitBuild:l.SubmitBuild,SubmitBox:l.SubmitBox,ReviewForm:l.ReviewForm,Form:l.Form,AppointmentBooking:l.AppointmentBooking,BookingBox:l.BookingBox,CatalogFilterBar:r.CatalogFilterBar,AlloyWheelsListing:r.AlloyWheelsListing,ProductGrid:r.ProductGrid,ProductHero:r.ProductHero,ProductGallery:r.ProductGallery,SpecTable:r.SpecTable,ProcessSteps:e.ProcessSteps,DetailRows:r.DetailRows,FitmentTable:r.FitmentTable,RelatedProducts:r.RelatedProducts,BundleOffer:r.BundleOffer,CompatibleTyres:r.CompatibleTyres,TyreSizes:r.TyreSizes,TyreFitment:r.TyreFitment,EuTyreLabel:r.EuTyreLabel,EuTyreLabelBlock:r.EuTyreLabelBlock,FitmentFinder:r.FitmentFinder,OrderSummary:e.OrderSummary,DeliveryOptions:r.DeliveryOptions,PaymentBadges:e.PaymentBadges,CheckoutCTA:r.CheckoutCTA,ProductRef:r.ProductRef,CustomHTML:e.CustomHTML,Header:r.Header,Footer:l.Footer,FooterLogo:l.FooterLogo,FooterMenu:l.FooterMenu,FooterDivider:l.FooterDivider,FooterGroup:l.FooterGroup,FooterText:l.FooterText,FooterEmailSignup:l.FooterEmailSignup,FooterSocial:l.FooterSocial,LegalLineBlock:l.LegalLineBlock,SearchBlock:r.SearchBlock,CartBlock:r.CartBlock,CountrySwitchBlock:r.CountrySwitchBlock,AccountBlock:r.AccountBlock,ThemeSwitchBlock:r.ThemeSwitchBlock,[X]:l.SiteHeader,[V]:l.SiteFooter}};Ne(g.components);{const o=g.components.MenuBlock;o.fields={...o.fields,direction:d("Direction",a(ge,{}),[{label:B.column,value:"column"},{label:B.row,value:"row"}],Me)},o.fields={...o.fields,linkAlign:d("Link alignment",a(ue,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start"),linkRange:{type:"custom",render:({value:n,onChange:m})=>a(z,{value:n,onChange:m})}}}{const o=g.components.Header,n=o.render;o.render=m=>m.editor?.isEditing?a(He,{editing:!0}):n(m)}const tt=je(g),Yt=tt.sectionGroupAllow;var jt=g;export{Yt as SECTION_GROUP_ALLOW,g as config,jt as default,ze as subscribePopupFields};
1
+ import{jsx as l,Fragment as U,jsxs as W}from"react/jsx-runtime";import{assignSectionGroups as K,reseatBucketTabs as j}from"efficient-web-builder/editor/lib/document/field-groups";import{buildBlockCategories as Y}from"efficient-web-builder/format/lib/document/section-catalog";import{FONT_ROLES as q,FONT_ROLE_LABELS as V}from"efficient-web-builder/format/lib/fonts";import{CONTAINER_DIRECTION_LABELS as E}from"efficient-web-builder/format/lib/content/container-direction";import{SITE_FOOTER_TYPE as X,SITE_HEADER_TYPE as z}from"efficient-web-builder/format/lib/document/section-groups";import Q from"../../components/MenuLinkRangeField.js";import J from"../../components/EditorPreviewChat.js";import Z from"../../components/EditorPreviewSurface.js";import{isSystemPageSlug as $,POPUP_DAYS_RANGE as _,POPUP_DELAY_RANGE as O,POPUP_HIDE_AFTER as ee,POPUP_SCROLL_RANGE as L,POPUP_SHOW_ON as te,POPUP_TRIGGERS as F,SUBSCRIBE_POPUP_DEFAULTS as oe,SUBSCRIBE_POPUP_KIND as re}from"efficient-web-builder/format/lib/content/subscribe";import{shownForOption as P,withRowRules as ie}from"efficient-web-builder/render/lib/document/show-when";import{POPUP_KIND_PROP as ae,POPUP_TEXT_KIND_LABELS as k,POPUP_TEXT_KINDS as le}from"efficient-web-builder/format/lib/popup/text-kinds";import{loadPages as ne}from"efficient-web-builder/editor/components/StorefrontLinkField";import{pagePath as se}from"../../../render/lib/links/link-rules.js";import{getEditorSiteId as ce}from"efficient-web-builder/render/lib/editor-site";import{CART_DRAWER_DEFAULTS as me,CART_DRAWER_KIND as v}from"efficient-web-builder/format/lib/content/cart-drawer";import{CONSENT_BANNER_KIND as C}from"efficient-web-builder/format/lib/content/consent-banner";import{consentBannerLayoutField as ue}from"../../components/ConsentBannerLayoutTiles.js";import{AlignLeftIcon as de,CategoryIcon as pe,CheckIcon as R,ClockIcon as h,ColumnsIcon as ge,DirectionIcon as be,EyeIcon as Pe,ListIcon as fe,PageIcon as he,PlacementIcon as Se,ScrollPointIcon as Te,TriggerIcon as ye}from"efficient-easel/icons";import{deviceField as A}from"efficient-easel/screen/lib/document/device-fields";import{FieldGlyph as Be}from"efficient-web-builder/editor/components/FieldGlyph";import{group as s,multiSelect as Ee,panelNote as D,plainText as a,plainTextarea as u,sectionShapeFields as _e,sectionThemeFields as Oe,segmented as p,select as w,slider as S,textList as f,toggle as I}from"efficient-web-builder/editor/lib/document/controls";import{formPicker as Le}from"./blocks/service/controls.js";import{SECTION_THEME_FOLLOW_LABEL as Fe}from"efficient-web-builder/editor/components/SectionThemePicker";import{nestedAccentValue as ke}from"efficient-web-builder/format/lib/content/section-surface";import{isEditorOnDynamicPage as ve}from"efficient-web-builder/format/lib/document/editor-page-context";import{PRODUCT_HERO_BULLETS_PROP as Ce,HERO_BULLET_EXAMPLE as Re,heroBulletLine as Ae}from"../../../render/lib/content/product-hero.js";import{TEMPLATE_PRODUCT_TYPE_PROP as De}from"efficient-web-builder/format/lib/content/product-page";import{PRODUCT_KIND_OPTIONS as we}from"../../../render/lib/catalog/plp-item.js";import{PH as T}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{textKindGlyph as Ie}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import"../efficient-backend.js";import"../../../render/lib/document/slot-seeds.js";import"../../../render/lib/document/card-templates.js";import"../../../render/lib/document/section-to-box-rows-reviews.js";import{generalBlocks as e}from"efficient-web-builder/editor/lib/document/blocks/general/index";import{commerceBlocks as r}from"./blocks/commerce/index.js";import{serviceBlocks as i}from"./blocks/service/index.js";import{EditorThemedBody as xe,suppressPreviewNav as He}from"efficient-web-builder/editor/lib/document/page-root";import Ne from"../../components/HeaderSection.js";import{addPageBlocksFromFooter as Me,PAGE_MENU_DIRECTION_DEFAULT as Ge}from"../../../render/lib/document/footer-page-blocks.js";import{drawPopupPage as Ue,drawPublishedStorefrontRoot as We,drawSystemPage as Ke,StorefrontPageProviders as je}from"../../../render/lib/document/storefront-root.js";import{GENERAL_ROOT_FIELDS as Ye}from"efficient-web-builder/editor/lib/document/page-root-fields";import{finishRegistry as qe}from"efficient-web-builder/editor/lib/document/registry";const Ve="Newsletter (built in)",Vt=[{value:"00",label:T.label},{value:"00",label:T.label},{value:"00",label:T.label}],t=oe,g={field:"autoOpen",is:!0},Xe={all:[P("hideAfter",ee,t.hideAfter,["days"]),{not:{all:[{field:"hideAfter",is:null,default:null},{field:"oncePerSession",in:[!0,!1]}]}}]},ze=[[["trigger","showOn","hideAfter"],g],[["autoOpenDelaySec"],{all:[g,P("trigger",F,t.trigger,["delay","exit"])]}],[["scrollPercent"],{all:[g,P("trigger",F,t.trigger,["scroll"])]}],[["showOnPages"],{all:[g,P("showOn",te,t.showOn,["chosen"])]}],[["hideDays"],{all:[g,Xe]}]],Qe=ie({formSlug:Le(void 0,Ve),_gLeft:s("Left panel"),metaLabel:a("Meta label",t.metaLabel),issueLabel:a("Issue label",t.issueLabel),issueNumber:a("Issue number",t.issueNumber),kicker:a("Eyebrow",t.kicker),heading:u("Heading",t.heading),deck:u("Deck",t.deck),stats:{type:"array",label:"Stats",arrayFields:{label:a("Label"),value:a("Value")},getItemSummary:o=>o?.label||o?.value||"Stat"},_gForm:s("Right panel · form"),formLabel:a("Section label",t.formLabel),formHeading:a("Heading",t.formHeading),formIntro:u("Intro",t.formIntro),firstNameLabel:a("First-name label",t.firstNameLabel),firstNamePlaceholder:a("First-name placeholder",t.firstNamePlaceholder),emailLabel:a("Email label",t.emailLabel),emailPlaceholder:a("Email placeholder",t.emailPlaceholder),_gChoices:s("Right panel · choices"),interestsLabel:a("Interests label",t.interestsLabel),interests:f("Interest chips",l(Be,{noun:"tag"}),"Chip label","verbatim"),frequencyLabel:a("Frequency label",t.frequencyLabel),frequencies:f("Frequency options",l(fe,{}),"Option label","verbatim"),_gActions:s("Right panel · actions"),submitText:a("Submit button",t.submitText),finePrint:a("Fine print",t.finePrint),dismissText:a("Dismiss link",t.dismissText),emailInvalidText:a("Invalid-email error",t.emailInvalidText),submitErrorText:a("Submit-failed error",t.submitErrorText),_gSuccess:s("Success state"),successHeading:a("Heading",t.successHeading),successBody:u("Message",t.successBody),keepBrowsingText:a("Dismiss button",t.keepBrowsingText),...Oe(ke,Fe),..._e(),_gTextStyle:s("Text style"),...Object.fromEntries(le.map(o=>[ae[o],w(k[o],Ie(k[o]),[{label:"Popup's own",value:""},...q.map(n=>({label:V[n],value:n}))],"")])),_gBehaviour:s("Behavior"),autoOpen:I("Show by itself",t.autoOpen,l(Pe,{})),trigger:p("Trigger",l(ye,{}),[{label:"Delay",value:"delay"},{label:"Scroll",value:"scroll"},{label:"Exit",value:"exit"}],t.trigger),autoOpenDelaySec:S("Delay",l(h,{}),O.min,O.max,1,t.autoOpenDelaySec,"s"),scrollPercent:S("Scroll",l(Te,{}),L.min,L.max,5,t.scrollPercent,"%"),showOn:p("Pages",l(he,{}),[{label:"All",value:"all"},{label:"Chosen",value:"chosen"}],t.showOn),showOnPages:Ee("Chosen pages",[],"None"),hideAfter:p("After close",l(h,{}),[{label:"This visit",value:"visit"},{label:"Days",value:"days"},{label:"Never",value:"never"}],t.hideAfter),hideDays:S("Days",l(h,{}),_.min,_.max,1,t.hideDays),_gArrangement:s("Arrangement"),formSide:p("Form side",l(Se,{}),[{label:"Right",value:"right"},{label:"Left",value:"left"}],t.formSide),_gPhone:A("mobile",s("On a phone")),valuePanelOnPhone:A("mobile",I("Left panel",t.valuePanelOnPhone,l(ge,{})))},ze),x=K(Qe,"SubscribePopup");async function Je(){return(await ne(ce()??"")).filter(n=>!$(n.slug)).map(n=>({label:n.label,value:se(n.slug)}))}async function Ze(){return j({...x,showOnPages:{...x.showOnPages,options:await Je().catch(()=>[])}})}const m=me,$e={_gHeader:s("Header"),kickerBadge:a("Eyebrow badge",m.kickerBadge),kickerText:a("Eyebrow text",m.kickerText),titleLead:a("Heading",m.titleLead),titleAccent:a("Heading accent",m.titleAccent),subtitleEmpty:u("Sub-line · empty",m.subtitleEmpty),subtitleOne:u("Sub-line · one set",m.subtitleOne),subtitleMany:u("Sub-line · several sets",m.subtitleMany,"{count} becomes the number of sets"),_gStatus:s("Status rail"),leadTimeValue:a("Lead time",m.leadTimeValue),shipsToFallback:a("Ships to · fallback",m.shipsToFallback,"Shown only while the site serves no countries — otherwise the site's default country is stated"),_gPromises:s("Promise row"),promises:f("Trust markers",l(R,{}),"Marker","verbatim"),_gEmpty:s("Empty basket"),emptyKicker:a("Eyebrow",m.emptyKicker),emptyBody:u("Message",m.emptyBody)},et={layout:ue,_nConsentWhere:D("The banner's words follow each visitor's country. Turn consent on or off, and pick the privacy page, in Admin › Storefront › Marketing › Privacy.")};function tt({kind:o}){return l("div",{style:{padding:"14px 18px",fontFamily:"var(--font-mono, monospace)",fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:"var(--fg-dim)",borderBottom:"1px solid var(--site-line)"},children:o===v?"This is the cart drawer — edit its copy in the Settings panel →":o===C?"This is the cookie banner — pick its layout in the Settings panel →":"This is the site popup — edit it in the Settings panel →"})}const b={root:{fields:{...Ye},resolveFields:async(o,{fields:n})=>{if(o?.props?.kind===re)return Ze();if(o?.props?.kind===v)return $e;if(o?.props?.kind===C)return et;const c=n;return ve()?{[De]:w("Product type",l(pe,{}),we,"alloy-wheel"),...c,_gHeroBullets:s("Product hero"),_nHeroBullets:D("The promises under Add to Cart. Text before the · is bold. Leave the list empty to show no promises at all."),[Ce]:f("Trust bullets",l(R,{}),Ae(Re),"verbatim")}:c},render:o=>{const{editor:n,widthMode:c,fullWidth:d,pageWidth:H,pageBackground:y,theme:N,fonts:M}=o;if(!n?.isEditing)return We(o);const B=Ke(o,l(tt,{kind:o.kind}));if(B)return B;const G=Ue(o,!0);return l(xe,{propsTheme:N,propsFonts:M,widthMode:c,fullWidth:d,pageWidth:H,pageBackground:typeof y=="string"?y:void 0,suppressPreviewNav:He,overlay:W(U,{children:[l(J,{}),l(Z,{})]}),children:G??l(je,{rootProps:o,children:o.children})})}},categories:Y(),components:{Heading:e.Heading,Text:e.Text,Eyebrow:e.Eyebrow,ImageBlock:e.ImageBlock,LogoBlock:e.LogoBlock,ButtonBlock:e.ButtonBlock,Spacer:e.Spacer,Divider:e.Divider,Grid:e.Grid,Flex:e.Flex,Breadcrumb:e.Breadcrumb,Masthead:e.Masthead,CategoryBar:e.CategoryBar,FeaturedCover:e.FeaturedCover,LongRead:e.LongRead,Series:e.Series,Subscribe:i.Subscribe,SubscribeBlogs:i.SubscribeBlogs,Banner:e.Banner,ParagraphsA:e.ParagraphsA,StatsParagraph:e.StatsParagraph,Timeline:e.Timeline,Footprint:e.Footprint,TimelineTrack:e.TimelineTrack,TitleWithButtons:e.TitleWithButtons,Stats:e.Stats,Integrations:e.Integrations,Mockup:e.Mockup,Chart:e.Chart,KeyFeatures:e.KeyFeatures,Testimonials:e.Testimonials,Reviews:i.Reviews,RatingBlock:i.RatingBlock,Prose:e.Prose,Cards:e.Cards,Logos:e.Logos,Ticker:e.Ticker,ContactRouting:i.ContactRouting,ContactLocations:e.ContactLocations,HeroSingle:e.HeroSingle,Hero:e.Hero,HeroSlide:e.HeroSlide,HeroGroup:e.HeroGroup,Collections:r.Collections,CollectionCard:r.CollectionCard,Events:i.Events,RateTable:i.RateTable,MessagingCards:i.MessagingCards,ContactCards:i.ContactCards,OpeningHours:i.OpeningHours,PostCard:e.PostCard,DocMetaCards:e.DocMetaCards,DocTabs:e.DocTabs,DocMasthead:e.DocMasthead,DocBody:e.DocBody,FAQ:e.FAQ,Gallery:r.Gallery,GalleryB:r.GalleryB,SpecStrip:e.SpecStrip,GalleryItem:r.GalleryItem,Manifesto:e.Manifesto,SectionHeader:e.SectionHeader,IntroBleed:e.IntroBleed,Split:e.Split,SubmitBuild:i.SubmitBuild,SubmitBox:i.SubmitBox,ReviewForm:i.ReviewForm,Form:i.Form,AppointmentBooking:i.AppointmentBooking,BookingBox:i.BookingBox,CatalogFilterBar:r.CatalogFilterBar,AlloyWheelsListing:r.AlloyWheelsListing,ProductGrid:r.ProductGrid,ProductHero:r.ProductHero,ProductGallery:r.ProductGallery,SpecTable:r.SpecTable,ProcessSteps:e.ProcessSteps,DetailRows:r.DetailRows,FitmentTable:r.FitmentTable,RelatedProducts:r.RelatedProducts,BundleOffer:r.BundleOffer,CompatibleTyres:r.CompatibleTyres,TyreSizes:r.TyreSizes,TyreFitment:r.TyreFitment,EuTyreLabel:r.EuTyreLabel,EuTyreLabelBlock:r.EuTyreLabelBlock,FitmentFinder:r.FitmentFinder,OrderSummary:e.OrderSummary,DeliveryOptions:r.DeliveryOptions,PaymentBadges:e.PaymentBadges,CheckoutCTA:r.CheckoutCTA,ProductRef:r.ProductRef,CustomHTML:e.CustomHTML,Header:r.Header,Footer:i.Footer,FooterLogo:i.FooterLogo,FooterMenu:i.FooterMenu,FooterDivider:i.FooterDivider,FooterGroup:i.FooterGroup,FooterText:i.FooterText,FooterEmailSignup:i.FooterEmailSignup,FooterSocial:i.FooterSocial,FooterMessaging:i.FooterMessaging,FooterPayment:i.FooterPayment,LegalLineBlock:i.LegalLineBlock,SearchBlock:r.SearchBlock,CartBlock:r.CartBlock,CountrySwitchBlock:r.CountrySwitchBlock,AccountBlock:r.AccountBlock,ThemeSwitchBlock:r.ThemeSwitchBlock,[z]:i.SiteHeader,[X]:i.SiteFooter}};Me(b.components);{const o=b.components.MenuBlock;o.fields={...o.fields,direction:p("Direction",l(be,{}),[{label:E.column,value:"column"},{label:E.row,value:"row"}],Ge)};const n={type:"custom",render:({value:c,onChange:d})=>l(Q,{value:c,onChange:d})};o.fields=Object.fromEntries(Object.entries(o.fields).flatMap(([c,d])=>c==="menu"?[[c,d],["linkRange",n]]:[[c,d]])),o.fields={...o.fields,linkAlign:p("Link alignment",l(de,{}),[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"}],"start")}}{const o=b.components.Header,n=o.render;o.render=c=>c.editor?.isEditing?l(Ne,{editing:!0}):n(c)}const ot=qe(b),Xt=ot.sectionGroupAllow;var zt=b;export{Xt as SECTION_GROUP_ALLOW,b as config,zt as default,Qe as subscribePopupFields};
@@ -1 +1 @@
1
- import{registerBlockSources as a}from"efficient-web-builder/format/lib/content/block-sources";import{say as e}from"efficient-web-builder/format/lib/editor-words";const n=[{key:"group-offices",label:"Group offices",blocks:["Footprint"]}];a(n);const r="+00 000 0000",l={rooms:()=>[{key:"sample-1",title:e("First room"),excerpt:e("What this room has.")},{key:"sample-2",title:e("Second room"),excerpt:e("What this room has.")},{key:"sample-3",title:e("Third room"),excerpt:e("What this room has.")}],"location-contact":()=>[{key:"location",name:e("Location name"),address:e("Street address"),state:e("State"),country:e("Country"),phone:r,hours:e("Opening hours")}],"location-cards":()=>[{key:"where",name:e("Address"),note:e("Street address")},{key:"hours",name:e("Opening hours"),note:e("A line about it appears here.")},{key:"call",name:e("Phone"),note:r}],"location-footer":()=>[{text:e("Street address")},{text:r},{text:e("Opening hours")}],"location-rate-table":()=>{const t=o=>JSON.stringify([{column:e("Standard"),amount:"$000",standard:!1},{column:e("VIP"),amount:"$000",standard:o}]);return[{group:e("In-house"),label:e("Session · 60 min"),cells:t(!1)},{group:e("In-house"),label:e("Session · 60 min · Night"),cells:t(!0)},{group:e("Away"),label:e("Session · 60 min"),cells:t(!1)}]},"location-payment-methods":()=>[{label:e("Cash")},{label:e("Card")}]};function m(t){if(Array.isArray(t))for(const o of t){const s=typeof o?.key=="string"?l[o.key]?.():void 0;try{a([{key:o.key,label:o.label,blocks:o.blocks,...s?{sample:s}:{}}])}catch{}}}export{n as EFFICIENT_BLOCK_SOURCES,m as registerServedBlockSources};
1
+ import{registerBlockSources as n}from"efficient-web-builder/format/lib/content/block-sources";import{say as e}from"efficient-web-builder/format/lib/editor-words";import{OPENING_SAMPLE_WEEK as s}from"../../render/lib/sections/opening-hours.js";import{PRODUCT_REVIEWS_SOURCE as l}from"../../render/lib/sections/reviews.js";const i=[{key:"group-offices",label:"Group offices",blocks:["Footprint"]},{key:l,label:"Product reviews",blocks:["Reviews"]}];n(i);const a="+00 000 0000",c={rooms:()=>[{key:"sample-1",title:e("First room"),excerpt:e("What this room has.")},{key:"sample-2",title:e("Second room"),excerpt:e("What this room has.")},{key:"sample-3",title:e("Third room"),excerpt:e("What this room has.")}],"location-contact":()=>[{key:"location",name:e("Location name"),address:e("Street address"),state:e("State"),country:e("Country"),phone:a,hours:e("Opening hours")}],"location-cards":()=>[{key:"where",name:e("Address"),note:e("Street address")},{key:"hours",name:e("Opening hours"),note:e("A line about it appears here.")},{key:"call",name:e("Phone"),note:a}],"location-footer":()=>[{text:e("Street address")},{text:a},{text:e("Opening hours")}],"location-rate-table":()=>{const o=t=>JSON.stringify([{column:e("Standard"),amount:"$000",standard:!1},{column:e("VIP"),amount:"$000",standard:t}]);return[{group:e("In-house"),label:e("Session · 60 min"),cells:o(!1)},{group:e("In-house"),label:e("Session · 60 min · Night"),cells:o(!0)},{group:e("Away"),label:e("Session · 60 min"),cells:o(!1)}]},"location-opening":()=>[{week:s,zone:"Australia/Sydney",hours:""}],"site-messaging":()=>[{app:"wechat",name:"WeChat",handle:"yourvenue",href:"",qr:"https://u.wechat.com/yourvenue"},{app:"telegram",name:"Telegram",handle:"@yourvenue",href:"https://t.me/yourvenue",qr:"https://t.me/yourvenue"},{app:"whatsapp",name:"WhatsApp",handle:"0400 000 000",href:"https://wa.me/61400000000",qr:"https://wa.me/61400000000"},{app:"line",name:"LINE",handle:"yourvenue",href:"https://line.me/ti/p/~yourvenue",qr:"https://line.me/ti/p/~yourvenue"}],"location-payment-methods":()=>[{label:e("Cash"),kind:"cash"},{label:e("Card"),kind:"card"}],"shop-payment-methods":()=>[{label:"Visa / Mastercard / American Express",kind:"card"},{label:"PayPal",kind:""},{label:e("Bank transfer"),kind:"wire"}]};function d(o){if(Array.isArray(o))for(const t of o){const r=typeof t?.key=="string"?c[t.key]?.():void 0;try{n([{key:t.key,label:t.label,blocks:t.blocks,...r?{sample:r}:{}}])}catch{}}}export{i as EFFICIENT_BLOCK_SOURCES,d as registerServedBlockSources};
@@ -1,7 +1,8 @@
1
1
  import { type AdminHeaderSettings } from "../../render/lib/api/index.js";
2
2
  import type { PreviewHeaderSettings } from "efficient-web-builder/format/lib/preview-header-settings";
3
+ import type { HeaderCall } from "../../render/components/HeaderCallButton.js";
3
4
  export type { PreviewHeaderSettings };
4
5
  export declare function loadHeaderSettings(token: string, siteId?: string | null, force?: boolean): Promise<AdminHeaderSettings>;
5
6
  export declare function primeHeaderSettings(s: AdminHeaderSettings, siteId?: string | null): void;
6
7
  export declare function clearHeaderSettingsCache(siteId?: string | null): void;
7
- export declare function toPreviewHeaderSettings(s: AdminHeaderSettings): PreviewHeaderSettings;
8
+ export declare function toPreviewHeaderSettings(s: AdminHeaderSettings): PreviewHeaderSettings & HeaderCall;
@@ -1 +1 @@
1
- import{storefrontAdmin as a}from"../../render/lib/api/index.js";import{absolutizeApiUrl as c}from"efficient-web-builder/render/lib/media";const t=new Map,i=e=>e??"";function s(e,n,l=!1){const r=i(n);l&&t.delete(r);let o=t.get(r);return o||(o=a.getHeaderSettings(e,n??void 0),t.set(r,o),o.catch(()=>{t.get(r)===o&&t.delete(r)})),o}function p(e,n){t.set(i(n),Promise.resolve(e))}function g(e){t.delete(i(e))}function m(e){return{logoUrl:c(e.effective_logo_url),reverseLogo:e.reverse_logo,logoPosition:e.logo_position,logoSize:e.logo_size,logoSizePx:e.logo_size_px,menuItems:e.menu_items??[],menuSplit:e.menu_split??3,menuPosition:e.menu_position,menuRow:e.menu_row,menuGapPx:e.menu_gap_px??null,searchEnabled:e.search_enabled,searchPosition:e.search_position,searchRow:e.search_row,countrySelectorEnabled:e.country_selector_enabled,countrySelectorShowAs:e.country_selector_show_as,countryUrls:e.country_urls??{},accountEnabled:e.account_enabled??!0,cartEnabled:e.cart_enabled??!0,utilStyle:e.util_style,navTextCase:e.nav_text_case,lightReverseText:e.light_reverse_text,topTextColor:e.top_text_color,transparentTop:e.transparent_top,surface:e.surface,theme:e.theme,width:e.width,heightPx:e.height_px,sticky:e.sticky}}export{g as clearHeaderSettingsCache,s as loadHeaderSettings,p as primeHeaderSettings,m as toPreviewHeaderSettings};
1
+ import{storefrontAdmin as a}from"../../render/lib/api/index.js";import{absolutizeApiUrl as c}from"efficient-web-builder/render/lib/media";const t=new Map,i=e=>e??"";function s(e,n,l=!1){const r=i(n);l&&t.delete(r);let o=t.get(r);return o||(o=a.getHeaderSettings(e,n??void 0),t.set(r,o),o.catch(()=>{t.get(r)===o&&t.delete(r)})),o}function p(e,n){t.set(i(n),Promise.resolve(e))}function g(e){t.delete(i(e))}function m(e){return{logoUrl:c(e.effective_logo_url),reverseLogo:e.reverse_logo,logoPosition:e.logo_position,logoSize:e.logo_size,logoSizePx:e.logo_size_px,menuItems:e.menu_items??[],menuSplit:e.menu_split??3,menuPosition:e.menu_position,menuRow:e.menu_row,menuGapPx:e.menu_gap_px??null,searchEnabled:e.search_enabled,searchPosition:e.search_position,searchRow:e.search_row,countrySelectorEnabled:e.country_selector_enabled,countrySelectorShowAs:e.country_selector_show_as,countryUrls:e.country_urls??{},accountEnabled:e.account_enabled??!0,cartEnabled:e.cart_enabled??!0,utilStyle:e.util_style,navTextCase:e.nav_text_case,lightReverseText:e.light_reverse_text,topTextColor:e.top_text_color,transparentTop:e.transparent_top,surface:e.surface,theme:e.theme,width:e.width,heightPx:e.height_px,sticky:e.sticky,callButton:e.call_button??!1}}export{g as clearHeaderSettingsCache,s as loadHeaderSettings,p as primeHeaderSettings,m as toPreviewHeaderSettings};
@@ -13,6 +13,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
13
13
  readonly "A few quick picks and we show the right option for you.": "A few quick picks and we show the right option for you.";
14
14
  readonly "A line about it appears here.": "A line about it appears here.";
15
15
  readonly "A note about how these are matched.": "A note about how these are matched.";
16
+ readonly "A number, @name or an ID": "A number, @name or an ID";
16
17
  readonly "A short description of your newsletter or publication.": "A short description of your newsletter or publication.";
17
18
  readonly "A short summary of the post appears here.": "A short summary of the post appears here.";
18
19
  readonly "A third": "A third";
@@ -27,6 +28,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
27
28
  readonly "Add card": "Add card";
28
29
  readonly "Add image": "Add image";
29
30
  readonly "Add product": "Add product";
31
+ readonly "Add the ways you take payment": "Add the ways you take payment";
30
32
  readonly "Add your social links": "Add your social links";
31
33
  readonly "Address label": "Address label";
32
34
  readonly "Address line 1": "Address line 1";
@@ -45,6 +47,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
45
47
  readonly "Another sample": "Another sample";
46
48
  readonly "Approved customer reviews appear here automatically \u2014 this card is only a preview of the section's shape.": "Approved customer reviews appear here automatically — this card is only a preview of the section's shape.";
47
49
  readonly "Approx. 1 email per week \u00B7 Unsubscribe in one click": "Approx. 1 email per week · Unsubscribe in one click";
50
+ readonly "Apps from": "Apps from";
48
51
  readonly "Archive button": "Archive button";
49
52
  readonly "Archive link": "Archive link";
50
53
  readonly Arrangement: "Arrangement";
@@ -76,14 +79,16 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
76
79
  readonly "Bump Profile": "Bump Profile";
77
80
  readonly "Bundles containing this product appear here on a product page.": "Bundles containing this product appear here on a product page.";
78
81
  readonly CSV: "CSV";
82
+ readonly Call: "Call";
83
+ readonly "Call button": "Call button";
79
84
  readonly "Call to action": "Call to action";
85
+ readonly "Calls the phone of the location this website shows, as its Set-up keeps it. With no phone there, the button is not shown.": "Calls the phone of the location this website shows, as its Set-up keeps it. With no phone there, the button is not shown.";
80
86
  readonly "Cap Code": "Cap Code";
81
87
  readonly Capitalised: "Capitalised";
82
88
  readonly "Car prompt": "Car prompt";
83
89
  readonly "Card text": "Card text";
84
90
  readonly "Cards to show": "Cards to show";
85
91
  readonly "Cart, checkout, your country and currency, sign-in, and this choice. The site cannot work without them.": "Cart, checkout, your country and currency, sign-in, and this choice. The site cannot work without them.";
86
- readonly Cash: "Cash";
87
92
  readonly Categories: "Categories";
88
93
  readonly "Category \u2014 wheels only": "Category — wheels only";
89
94
  readonly Centered: "Centered";
@@ -110,8 +115,10 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
110
115
  readonly "Confirmation message": "Confirmation message";
111
116
  readonly "Connect to product data": "Connect to product data";
112
117
  readonly "Consent line": "Consent line";
118
+ readonly "Contact cards": "Contact cards";
113
119
  readonly "Contact info": "Contact info";
114
120
  readonly "Contact us": "Contact us";
121
+ readonly Contacts: "Contacts";
115
122
  readonly "Content source": "Content source";
116
123
  readonly Controls: "Controls";
117
124
  readonly Copyright: "Copyright";
@@ -157,7 +164,6 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
157
164
  readonly "Edit menu \u2192": "Edit menu →";
158
165
  readonly "Edit product \u270E": "Edit product ✎";
159
166
  readonly "Edit social links \u2192": "Edit social links →";
160
- readonly "Email address": "Email address";
161
167
  readonly "Email label": "Email label";
162
168
  readonly "Email placeholder": "Email placeholder";
163
169
  readonly "Email \u2014 never shown publicly": "Email — never shown publicly";
@@ -244,10 +250,10 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
244
250
  readonly "Heading override": "Heading override";
245
251
  readonly "Heading size": "Heading size";
246
252
  readonly Hidden: "Hidden";
247
- readonly "Hide on mobile": "Hide on mobile";
248
253
  readonly "Hide on the card": "Hide on the card";
249
254
  readonly "Highlight badge": "Highlight badge";
250
255
  readonly Horizontal: "Horizontal";
256
+ readonly "Hours from": "Hours from";
251
257
  readonly "How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.": "How much room the menu leaves the logo. Only the logo moves away; the space between the menu words stays as it is.";
252
258
  readonly "Hub bore": "Hub bore";
253
259
  readonly "Icon size": "Icon size";
@@ -255,9 +261,12 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
255
261
  readonly "Image / buy ratio": "Image / buy ratio";
256
262
  readonly "Image gallery": "Image gallery";
257
263
  readonly "Image shape": "Image shape";
264
+ readonly "Image source": "Image source";
258
265
  readonly "Image tag": "Image tag";
259
266
  readonly Images: "Images";
260
267
  readonly "Images from": "Images from";
268
+ readonly "Images to show": "Images to show";
269
+ readonly "Images typed here": "Images typed here";
261
270
  readonly "In stock": "In stock";
262
271
  readonly "In-house": "In-house";
263
272
  readonly "Interest chips": "Interest chips";
@@ -273,7 +282,6 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
273
282
  readonly "Item name": "Item name";
274
283
  readonly "Items to display": "Items to display";
275
284
  readonly "Its photos become the card cover and lightbox, and its car fills the Vehicle below. No group \u2192 the product\u2019s cover image.": "Its photos become the card cover and lightbox, and its car fills the Vehicle below. No group → the product’s cover image.";
276
- readonly "Join our email list": "Join our email list";
277
285
  readonly "Joins the \u201C{audience}\u201D audience": "Joins the “{audience}” audience";
278
286
  readonly "Joins the \u201C{audience}\u201D audience, but only when the consent box is ticked": "Joins the “{audience}” audience, but only when the consent box is ticked";
279
287
  readonly Journal: "Journal";
@@ -329,6 +337,9 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
329
337
  readonly "Menu Item": "Menu Item";
330
338
  readonly "Menu row": "Menu row";
331
339
  readonly "Message form": "Message form";
340
+ readonly "Message us": "Message us";
341
+ readonly "Messaging Strip": "Messaging Strip";
342
+ readonly "Messaging cards": "Messaging cards";
332
343
  readonly Meta: "Meta";
333
344
  readonly "Meta label": "Meta label";
334
345
  readonly "Meta lines": "Meta lines";
@@ -376,6 +387,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
376
387
  readonly "None \u2014 this section will be empty": "None — this section will be empty";
377
388
  readonly "Not authorized yet \u2014 reopen once the editor has loaded.": "Not authorized yet — reopen once the editor has loaded.";
378
389
  readonly "Not your size": "Not your size";
390
+ readonly "Number or ID": "Number or ID";
379
391
  readonly "OEM front": "OEM front";
380
392
  readonly "OEM rear": "OEM rear";
381
393
  readonly Offset: "Offset";
@@ -385,6 +397,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
385
397
  readonly "Only for looking at while you design. Shoppers always see the product they opened.": "Only for looking at while you design. Shoppers always see the product they opened.";
386
398
  readonly "Open chat": "Open chat";
387
399
  readonly "Open live": "Open live";
400
+ readonly "Open now badge": "Open now badge";
388
401
  readonly "Opening sort": "Opening sort";
389
402
  readonly "Option label": "Option label";
390
403
  readonly Options: "Options";
@@ -445,6 +458,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
445
458
  readonly "Rate table": "Rate table";
446
459
  readonly Rates: "Rates";
447
460
  readonly "Rates from": "Rates from";
461
+ readonly "Reach by": "Reach by";
448
462
  readonly "Read all posts \u2192": "Read all posts →";
449
463
  readonly "Ready when *you are.*": "Ready when *you are.*";
450
464
  readonly "Recent issues": "Recent issues";
@@ -460,6 +474,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
460
474
  readonly "Results link": "Results link";
461
475
  readonly Retry: "Retry";
462
476
  readonly "Reverse the Logo": "Reverse the Logo";
477
+ readonly "Review content": "Review content";
463
478
  readonly "Review title (optional)": "Review title (optional)";
464
479
  readonly "Reviews are collected by the Review Form section and wait for your approval before they show.": "Reviews are collected by the Review Form section and wait for your approval before they show.";
465
480
  readonly "Reviews to display": "Reviews to display";
@@ -520,7 +535,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
520
535
  readonly "Show all blog posts": "Show all blog posts";
521
536
  readonly "Show all items": "Show all items";
522
537
  readonly "Show as": "Show as";
523
- readonly "Show as accordion on mobile": "Show as accordion on mobile";
538
+ readonly "Show as accordion": "Show as accordion";
524
539
  readonly "Show by itself": "Show by itself";
525
540
  readonly "Show cover image on the smaller cards": "Show cover image on the smaller cards";
526
541
  readonly "Show in the buy box": "Show in the buy box";
@@ -570,7 +585,6 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
570
585
  readonly "Submit box": "Submit box";
571
586
  readonly "Submit button": "Submit button";
572
587
  readonly "Submit-failed error": "Submit-failed error";
573
- readonly Subscribe: "Subscribe";
574
588
  readonly "Subscribe Form": "Subscribe Form";
575
589
  readonly "Subscribe with Posts": "Subscribe with Posts";
576
590
  readonly "Subscribe \u2192": "Subscribe →";
@@ -585,7 +599,6 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
585
599
  readonly Tag: "Tag";
586
600
  readonly "Tag filters": "Tag filters";
587
601
  readonly "Tell readers what they get and how often. One email, straight to the inbox. We will never sell your address.": "Tell readers what they get and how often. One email, straight to the inbox. We will never sell your address.";
588
- readonly Template: "Template";
589
602
  readonly "Template pages": "Template pages";
590
603
  readonly "Text color at the top": "Text color at the top";
591
604
  readonly "Text from": "Text from";
@@ -603,6 +616,8 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
603
616
  readonly "The promises under Add to Cart. Text before the \u00B7 is bold. Leave the list empty to show no promises at all.": "The promises under Add to Cart. Text before the · is bold. Leave the list empty to show no promises at all.";
604
617
  readonly "The questions, the button text and the thank-you message all come from {place}. Edit them there \u2014 this section updates to match.": "The questions, the button text and the thank-you message all come from {place}. Edit them there — this section updates to match.";
605
618
  readonly "The vehicle question appears here on a tyre product page, with one verdict per size.": "The vehicle question appears here on a tyre product page, with one verdict per size.";
619
+ readonly "The website\u2019s pictures appear here, in the order they are put in. A website with no pictures draws nothing.": "The website’s pictures appear here, in the order they are put in. A website with no pictures draws nothing.";
620
+ readonly "The week": "The week";
606
621
  readonly "The whole hero comes from the product record \u2014 title, price, pictures, options and Add to Cart. Edit the product in the Products database and this hero updates to match.": "The whole hero comes from the product record — title, price, pictures, options and Add to Cart. Edit the product in the Products database and this hero updates to match.";
607
622
  readonly "Third card": "Third card";
608
623
  readonly "Third detail": "Third detail";
@@ -632,6 +647,7 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
632
647
  readonly Trim: "Trim";
633
648
  readonly "Trust bullets": "Trust bullets";
634
649
  readonly "Trust markers": "Trust markers";
650
+ readonly "Typed reviews": "Typed reviews";
635
651
  readonly "Tyre type": "Tyre type";
636
652
  readonly Tyres: "Tyres";
637
653
  readonly "Tyres shown are fitment-matched companions.": "Tyres shown are fitment-matched companions.";
@@ -669,6 +685,8 @@ export declare const STOREFRONT_BLOCKS_WORDS: {
669
685
  readonly "Where the answers go": "Where the answers go";
670
686
  readonly "Whether the footer's blocks sit on the page's column, or run edge to edge. The background always spans the screen.": "Whether the footer's blocks sit on the page's column, or run edge to edge. The background always spans the screen.";
671
687
  readonly "Which countries this website serves \u2014 and each region's own URL \u2014 is set in the admin console under {place}. Whether the picker is SHOWN stays here: that is header chrome, but the served-country list has tax consequences and belongs with commerce configuration.": "Which countries this website serves — and each region's own URL — is set in the admin console under {place}. Whether the picker is SHOWN stays here: that is header chrome, but the served-country list has tax consequences and belongs with commerce configuration.";
688
+ readonly "Who to ask": "Who to ask";
689
+ readonly "Who to ask for": "Who to ask for";
672
690
  readonly Wide: "Wide";
673
691
  readonly "Will it fit *your car?*": "Will it fit *your car?*";
674
692
  readonly Window: "Window";