efficient-web-builder 19.1.0 → 22.0.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.
- package/CHANGELOG.md +301 -0
- package/dist/components/AnimatedStat.js +1 -1
- package/dist/components/Banner.js +1 -1
- package/dist/components/Cards.js +1 -1
- package/dist/components/CategoryBar.js +1 -1
- package/dist/components/ChartSection.js +1 -1
- package/dist/components/ChatSettingsPanel.js +1 -1
- package/dist/components/ContactLocations.js +3 -3
- package/dist/components/Countdown.js +1 -1
- package/dist/components/DealerFinder.d.ts +12 -0
- package/dist/components/DealerFinder.js +1 -0
- package/dist/components/DocMasthead.js +1 -1
- package/dist/components/DocMetaCards.js +1 -1
- package/dist/components/DocTabs.js +1 -1
- package/dist/components/FAQ.js +1 -1
- package/dist/components/FeaturedCover.js +1 -1
- package/dist/components/Footprint.d.ts +8 -1
- package/dist/components/Footprint.js +5 -5
- package/dist/components/HeroPartPanel.d.ts +7 -0
- package/dist/components/HeroPartPanel.js +1 -0
- package/dist/components/HeroPoster.d.ts +2 -1
- package/dist/components/HeroPoster.js +1 -1
- package/dist/components/HeroSingle.d.ts +12 -1
- package/dist/components/HeroSingle.js +11 -1
- package/dist/components/HeroSlide.d.ts +2 -1
- package/dist/components/HeroSlide.js +1 -1
- package/dist/components/HeroVideoPlay.d.ts +13 -0
- package/dist/components/HeroVideoPlay.js +1 -0
- package/dist/components/ImageBlock.d.ts +2 -1
- package/dist/components/ImageBlock.js +1 -1
- package/dist/components/KeyFeatures.js +1 -1
- package/dist/components/LocationGroupHeader.js +1 -1
- package/dist/components/Logos.js +1 -1
- package/dist/components/LongRead.js +1 -1
- package/dist/components/Manifesto.js +1 -1
- package/dist/components/Masthead.js +1 -1
- package/dist/components/MediaUploadField.d.ts +3 -1
- package/dist/components/MediaUploadField.js +1 -1
- package/dist/components/MockupSection.js +1 -1
- package/dist/components/OrderSummary.js +1 -1
- package/dist/components/PagesPanel.js +1 -1
- package/dist/components/ParagraphsA.js +1 -1
- package/dist/components/PostCard.js +1 -1
- package/dist/components/PreviewChatContext.d.ts +8 -0
- package/dist/components/PreviewChatContext.js +1 -1
- package/dist/components/PreviewHeroPartContext.d.ts +3 -0
- package/dist/components/PreviewHeroPartContext.js +1 -0
- package/dist/components/ProcessSteps.js +1 -1
- package/dist/components/Prose.js +1 -1
- package/dist/components/PublishedPartStylesContext.js +1 -1
- package/dist/components/Reel.js +1 -1
- package/dist/components/SectionEditor.d.ts +10 -0
- package/dist/components/SectionEditor.js +1 -1
- package/dist/components/SectionEyebrow.js +1 -1
- package/dist/components/SectionHeader.js +1 -1
- package/dist/components/SectionIcon.js +1 -1
- package/dist/components/Series.js +1 -1
- package/dist/components/SiteFields.d.ts +3 -1
- package/dist/components/SiteFields.js +1 -1
- package/dist/components/SiteTextStylesField.js +1 -1
- package/dist/components/Split.js +1 -1
- package/dist/components/StandaloneSectionEditor.js +1 -1
- package/dist/components/Stats.js +1 -1
- package/dist/components/StatsParagraph.js +1 -1
- package/dist/components/StorefrontEditor.js +1 -1
- package/dist/components/Testimonials.js +1 -1
- package/dist/components/Text.js +1 -1
- package/dist/components/ThemeField.js +1 -1
- package/dist/components/Timeline.js +1 -1
- package/dist/components/TimelineTrack.js +1 -1
- package/dist/components/WebsiteScreenParts.js +1 -1
- package/dist/components/storefront-editor.css +103 -302
- package/dist/components/useLocationsTree.js +1 -1
- package/dist/lib/content/chat-launcher.d.ts +9 -0
- package/dist/lib/content/chat-launcher.js +1 -0
- package/dist/lib/content/page-width.d.ts +1 -0
- package/dist/lib/content/page-width.js +1 -1
- package/dist/lib/content/phone-focus.d.ts +7 -0
- package/dist/lib/content/phone-focus.js +1 -0
- package/dist/lib/dealer-source.d.ts +34 -0
- package/dist/lib/dealer-source.js +1 -0
- package/dist/lib/editor-words-catalogue.d.ts +23 -7
- package/dist/lib/editor-words-catalogue.js +4 -4
- package/dist/lib/hero-arrows.d.ts +1 -1
- package/dist/lib/hero-media-layout.d.ts +11 -0
- package/dist/lib/hero-media-layout.js +1 -0
- package/dist/lib/hero-video.d.ts +15 -0
- package/dist/lib/hero-video.js +1 -0
- package/dist/lib/links/phone-href.d.ts +1 -0
- package/dist/lib/links/phone-href.js +1 -0
- package/dist/lib/markup.d.ts +5 -3
- package/dist/lib/markup.js +2 -2
- package/dist/lib/preview-header-settings.d.ts +1 -0
- package/dist/lib/puck/MarkupToolbar.d.ts +1 -1
- package/dist/lib/puck/MarkupToolbar.js +1 -1
- package/dist/lib/puck/blocks/general/Footprint/fields.js +1 -1
- package/dist/lib/puck/blocks/general/Footprint/render.js +2 -2
- package/dist/lib/puck/blocks/general/Hero/fields.js +1 -1
- package/dist/lib/puck/blocks/general/HeroSingle/fields.js +1 -1
- package/dist/lib/puck/blocks/general/HeroSingle/render.js +1 -1
- package/dist/lib/puck/blocks/general/HeroSlide/fields.js +1 -1
- package/dist/lib/puck/blocks/general/HeroSlide/render.js +1 -1
- package/dist/lib/puck/blocks/general/ImageBlock/fields.js +1 -1
- package/dist/lib/puck/blocks/general/ImageBlock/render.js +1 -1
- package/dist/lib/puck/canvas-typing.d.ts +1 -2
- package/dist/lib/puck/controls.d.ts +49 -2
- package/dist/lib/puck/controls.js +1 -1
- package/dist/lib/puck/field-groups.js +1 -1
- package/dist/lib/puck/hero-media-parts.d.ts +42 -0
- package/dist/lib/puck/hero-media-parts.js +1 -0
- package/dist/lib/puck/media-manifest.json +3 -1
- package/dist/lib/puck/part-styles.js +2 -2
- package/dist/lib/puck/passes/settings-groups.js +1 -1
- package/dist/lib/reel.d.ts +3 -3
- package/dist/lib/reel.js +1 -1
- package/dist/lib/sections/collection-card-text-regions.d.ts +9 -1
- package/dist/lib/sections/collection-card-text-regions.js +1 -1
- package/dist/lib/sections/text-regions.d.ts +1 -0
- package/dist/lib/sections/text-regions.js +1 -1
- package/dist/lib/site-text-styles.d.ts +1 -0
- package/dist/lib/site-text-styles.js +2 -2
- package/dist/lib/source-rules/heading-ceiling-sweep.js +3 -3
- package/dist/lib/source-rules/one-markup-grammar.d.ts +5 -0
- package/dist/lib/source-rules/one-markup-grammar.js +4 -0
- package/dist/lib/source-rules/one-site-column.d.ts +6 -0
- package/dist/lib/source-rules/one-site-column.js +3 -0
- package/dist/lib/source-rules/part-style-naming.js +2 -2
- package/dist/lib/source-rules/rule.d.ts +1 -0
- package/dist/lib/source-rules/rule.js +3 -1
- package/dist/lib/source-rules/size-token-paints.js +4 -4
- package/dist/lib/source-rules/style-face-matches-size.js +3 -3
- package/dist/lib/web-backend.d.ts +5 -0
- package/package.json +7 -5
- package/dist/components/ImageFocusRow.d.ts +0 -7
- package/dist/components/ImageFocusRow.js +0 -1
- package/dist/components/TemplateGlyph.d.ts +0 -6
- package/dist/components/TemplateGlyph.js +0 -1
- package/dist/components/TextStyleRow.d.ts +0 -13
- package/dist/components/TextStyleRow.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as r,jsxs as m,Fragment as me}from"react/jsx-runtime";import{Fragment as Q,useEffect as V,useRef as z}from"react";import{useTreeDrag as X}from"efficient-easel/drag";import{GlobeIcon as ke,ImageIcon as xe,LocationIcon as ve,MapIcon as fe,TextLinesIcon as Le,TrashIcon as Z}from"efficient-easel/icons";import{Subtree as b,TreeRow as S,TreeRowAction as ee,TreeSeam as oe}from"efficient-easel/tree";import{useEaselStrings as Ie}from"efficient-easel/strings";import{decodeLocationPartId as Pe,encodeLocationPartId as Se,usePreviewLocationPart as he}from"./PreviewLocationPartContext.js";import{PUCK_MODE as we}from"./SectionEditor.js";import{say as p,sayCount as Ce}from"../lib/editor-words.js";import{useLocationsFocus as $e,setLocationsFocus as i}from"../lib/puck/locations-focus.js";import{bucketsOf as ne,moveGroup as te,moveCity as re,addCity as Te,addGroup as De,deleteGroup as Fe,deleteCity as Oe,absCityIndex as ce,groupLabelOf as Ge,cardKey as se}from"../lib/puck/locations-tree.js";const le="ContactLocations",T=k=>({parentId:`locations-${k}`,slot:"groups"}),A=(k,y)=>({parentId:`locations-${k}`,slot:`cities:${y}`});function We(k,y){const{readOnly:h,selected:w}=y,f=Ie().tree,x=y.data?.content??[],ae=k.kind===we.kind,D=z(null);V(()=>{const o=w?.type===le?String(w.props.id):null;o&&o!==D.current&&i({level:"groups"}),D.current=o},[w?.props.id]);const{selectedLocationPartId:ie,setSelectedLocationPartId:N,setSelectHandler:R}=he(),c=$e(),u=(o,e)=>{const t=x[o];t&&y.replace(o,{type:t.type,props:{...t.props,locations:e}})},L=o=>{const e=x[o]?.props?.locations;return Array.isArray(e)?e:[]},_=X({keyOf:o=>`group:${o.si}:${o.index}`,readOnly:!!h,canDrop:(o,e)=>e.parentId===T(o.si).parentId&&e.slot==="groups",onDrop:(o,e)=>{u(o.si,te(L(o.si),o.index,e.index)),c.level==="city"&&i({level:"groups"})},onStep:(o,e)=>{u(o.si,te(L(o.si),o.index,e<0?o.index-1:o.index+2)),c.level==="city"&&i({level:"groups"})}}),F=X({keyOf:o=>`city:${o.si}:${o.group}:${o.index}`,readOnly:!!h,canDrop:(o,e)=>e.parentId===T(o.si).parentId&&e.slot.startsWith("cities:"),onDrop:(o,e)=>{const t=e.slot.slice(7);u(o.si,re(L(o.si),o.group,o.index,t,e.index)),i({level:"group",key:t})},onStep:(o,e)=>{u(o.si,re(L(o.si),o.group,o.index,o.group,e<0?o.index-1:o.index+2)),c.level==="city"&&i({level:"group",key:o.group})}}),E=z(x);E.current=x;const j=z(()=>{});V(()=>{R(o=>{const e=Pe(o);if(!e)return;const t=E.current.findIndex(C=>C.props?.id===e.nodeId);t<0||j.current(t,{level:e.part,index:e.index})})},[R]);const s=(o,e)=>{D.current=x[o]?.props?.id??null,y.select(o),i(e),k.reveal();const t=x[o]?.props?.id;typeof t=="string"&&(e.level==="image"||e.level==="map")?N(Se(t,e.index,e.level)):N(null),typeof t=="string"&&y.scrollTo(t)};return j.current=s,{renderLocationTree:(o,e,{rowClick:t,isCollapsed:C,toggleCollapse:M})=>{const v=L(e),de=ne(v),I=String(o.props.id),P=ae&&w?.props.id===I,K=n=>r(oe,{...h?{}:_.seam({place:{...T(e),index:n}})},`seam:${I}:groups:${n}`),U=(n,d)=>r(oe,{...h?{}:F.seam({place:{...A(e,n),index:d}})},`seam:${I}:cities:${n}:${d}`);return m(me,{children:[r(S,{icon:r(Le,{size:13}),name:p("Texts"),words:f,onSelect:()=>s(e,{level:"texts"}),selected:P&&c.level==="texts",rowProps:{onClick:t(()=>s(e,{level:"texts"}))}}),de.map((n,d)=>{const O=`${I}::grp::${n.key}`,B=C(O),pe=P&&c.level==="group"&&c.key===n.key,H=n.name||n.key?Ge(n.key,n.name):p("Ungrouped"),W={...A(e,n.key),index:n.cards.length},Y=F.row({item:{si:e,group:n.key,index:-1},place:W,into:W,canDrag:!1},{onClick:t(()=>s(e,{level:"group",key:n.key}))}),$=_.row({item:{si:e,index:d},place:{...T(e),index:d}},Y.rowProps);return m(Q,{children:[d===0&&K(0),r(S,{icon:r(ke,{size:13}),name:H,words:f,onSelect:()=>s(e,{level:"group",key:n.key}),selected:pe,draggable:$.draggable,dragging:$.dragging,drop:$.drop??Y.drop,fold:{open:!B,label:p("group"),onToggle:()=>M(O)},actions:r(ee,{kind:"delete",label:Ce("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",n.cards.length,{label:H}),onClick:()=>{u(e,Fe(v,n.key)),i({level:"groups"})},children:r(Z,{size:15})}),rowProps:$.rowProps,children:r("span",{className:"es-group-count",children:n.cards.length})}),!B&&m(b,{children:[n.cards.map((g,a)=>{const l=ce(v,n.key,a),ue=P&&c.level==="city"&&c.index===l,G=String(g?.name??"")||p("City"),q=`${I}::city::${se(g)}`,J=C(q),{rowProps:ye,...ge}=F.row({item:{si:e,group:n.key,index:a},place:{...A(e,n.key),index:a}},{onClick:t(()=>s(e,{level:"city",index:l}))});return m(Q,{children:[a===0&&U(n.key,0),r(S,{icon:r(ve,{size:13}),name:G,words:f,onSelect:()=>s(e,{level:"city",index:l}),selected:ue,...ge,fold:{open:!J,label:G,onToggle:()=>M(q)},actions:r(ee,{kind:"delete",label:p("Delete {name}",{name:G}),onClick:()=>{u(e,Oe(v,n.key,a)),i({level:"group",key:n.key})},children:r(Z,{size:15})}),rowProps:ye}),!J&&m(b,{children:[r(S,{icon:r(xe,{size:13}),name:p("Image"),words:f,onSelect:()=>s(e,{level:"image",index:l}),selected:P&&c.level==="image"&&c.index===l,rowProps:{onClick:t(()=>s(e,{level:"image",index:l}))}}),r(S,{icon:r(fe,{size:13}),name:p("Map"),words:f,onSelect:()=>s(e,{level:"map",index:l}),selected:P&&c.level==="map"&&c.index===l,rowProps:{onClick:t(()=>s(e,{level:"map",index:l}))}})]}),U(n.key,a+1)]},se(g))}),m("button",{type:"button",className:"sf-add-card",onClick:()=>{const g=Te(v,n.key);u(e,g);const a=ne(g).find(l=>l.key===n.key);i(a&&a.cards.length?{level:"city",index:ce(g,n.key,a.cards.length-1)}:{level:"group",key:n.key})},children:[r("span",{className:"sf-plus sf-plus--sm",children:"+"}),p("Add city")]})]}),K(d+1)]},O)}),m("button",{type:"button",className:"sf-add-card",onClick:()=>{const{cards:n,key:d}=De(v);u(e,n),s(e,{level:"group",key:d})},children:[r("span",{className:"sf-plus sf-plus--sm",children:"+"}),p("Add group")]})]})},sectionPressed:o=>{o?.type===le&&i({level:"groups"})}}}export{le as LOCATIONS_TYPE,We as useLocationsTree};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const CHAT_LAUNCHER_ICONS: readonly ["chat-bubble-left-right", "chat-bubble-oval-left-ellipsis", "chat", "megaphone", "phone", "sparkles"];
|
|
2
|
+
export type ChatLauncherIcon = (typeof CHAT_LAUNCHER_ICONS)[number];
|
|
3
|
+
export declare const DEFAULT_CHAT_LAUNCHER_ICON: ChatLauncherIcon;
|
|
4
|
+
export declare const CHAT_LAUNCHER_POSITIONS: readonly ["right", "left"];
|
|
5
|
+
export type ChatLauncherPosition = (typeof CHAT_LAUNCHER_POSITIONS)[number];
|
|
6
|
+
export declare const DEFAULT_CHAT_LAUNCHER_POSITION: ChatLauncherPosition;
|
|
7
|
+
export declare function chatLauncherIcon(value?: string | null): ChatLauncherIcon;
|
|
8
|
+
export declare function chatLauncherPosition(value?: string | null): ChatLauncherPosition;
|
|
9
|
+
export declare function chatLauncherColor(value?: string | null): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],o=e[0],n=["right","left"],r="right";function c(t){return e.includes(t??"")?t:o}function h(t){return t==="left"?"left":r}function a(t){return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():""}export{e as CHAT_LAUNCHER_ICONS,n as CHAT_LAUNCHER_POSITIONS,o as DEFAULT_CHAT_LAUNCHER_ICON,r as DEFAULT_CHAT_LAUNCHER_POSITION,a as chatLauncherColor,c as chatLauncherIcon,h as chatLauncherPosition};
|
|
@@ -31,6 +31,7 @@ export declare const SITE_GUTTER_NARROW: {
|
|
|
31
31
|
};
|
|
32
32
|
export declare const SITE_GUTTER_SUBSTITUTIONS: ReadonlyArray<readonly [string, string]>;
|
|
33
33
|
export declare function asMainGutters(html: string): string;
|
|
34
|
+
export declare const SITE_COLUMN = "mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]";
|
|
34
35
|
export declare function normalizeSiteGutter(v?: number | null): number;
|
|
35
36
|
export declare function siteGutterTokens(v?: number | null): Record<string, string>;
|
|
36
37
|
export declare function siteHalfColumnCap(dividerPx?: number): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const n={min:1e3,max:2e3,step:50,default:1600};function m(t){return{maxWidth:t,marginInline:"auto",width:"100%"}}function D(t,
|
|
1
|
+
const n={min:1e3,max:2e3,step:50,default:1600};function m(t){return{maxWidth:t,marginInline:"auto",width:"100%"}}function D(t,e){if(t!==!1)return null;const a=typeof e=="number"?e:n.default;return m(a)}const s="--sf-site-width",r=`var(${s},${n.default}px)`,T=`max-w-[${r}]`,P=`max-w-[${n.default}px]`;function $(t){return typeof t!="number"||!Number.isFinite(t)?n.default:Math.round(Math.min(Math.max(t,n.min),n.max))}function w(t){const e=$(t);return e===n.default?{}:{[s]:`${e}px`}}const o={min:0,max:80,step:4,default:40},c="--sf-site-gutter",x=`var(${c},${o.default}px)`,A=`px-[${x}]`,M=["px-10","px-[60px]"],p={md:`min(24px,${x})`,sm:`min(20px,${x})`,frame:`min(24px,${x})`,tabs:`min(16px,${x})`},C=[[`max-[1100px]:px-[${p.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${p.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${p.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${p.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${p.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${p.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${p.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${p.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${x}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${x})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${x})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${x})]`,"max-[720px]:-mx-5"],[`-mx-[${x}]`,"-mx-10"],[A,"px-10"]];function W(t){return C.reduce((e,[a,R])=>e.split(a).join(R),t)}const G="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]";function S(t){return typeof t!="number"||!Number.isFinite(t)?o.default:Math.round(Math.min(Math.max(t,o.min),o.max))}function L(t){const e=S(t);return e===o.default?{}:{[c]:`${e}px`}}function d(t=0){return`calc(${r}/2 - ${x}*2 - ${t}px)`}function v(t=0){return`max-w-[${d(t).replace(/ /g,"_")}]`}const f=`min(var(--sf-page-cap,${r}),${r})`,g=`max-w-[${f}]`,U=`max-w-[min(var(--sf-page-cap,${n.default}px),${n.default}px)]`,E="--sf-hero-cap",H=`var(${E},none)`,N=`max-w-[${H}]`,u="--sf-hero-bleed-m",_="--sf-hero-bleed-w",B=`var(${u},calc(50% - 50vw))`,b=`var(${_},100vw)`,V=`mx-[var(${u},calc(50%_-_50vw))]`,y=`w-[var(${_},100vw)]`,I="--sf-hero-chrome-x",h="--sf-hero-chrome-cap";function k(t){return t===!0?{[E]:f,[u]:"auto",[_]:"100%",[I]:"24px",[h]:"none"}:{}}const i=`calc(${r} - ${x}*2)`,K=`max-w-[${i.replace(/ /g,"_")}]`,z=T;function F(t){return t!==!1?null:m(l)}const O="--sf-chrome-cap",l=`var(${O},${i})`,j="data-page-width";function q(t){return t==="full"?"full":null}function J(t){return t==="full"?null:m(t==="content"?i:l)}function Q(t){if(t==="full")return"full";if(t==="content")return"content"}export{l as CHROME_CAP_READ,O as CHROME_CAP_VAR,i as CHROME_WIDTH_CAP,K as CHROME_WIDTH_CAP_CLASS,H as HERO_BACKGROUND_CAP,N as HERO_BACKGROUND_CAP_CLASS,E as HERO_BACKGROUND_VAR,B as HERO_BLEED_MARGIN,V as HERO_BLEED_MARGIN_CLASS,u as HERO_BLEED_MARGIN_VAR,b as HERO_BLEED_WIDTH,y as HERO_BLEED_WIDTH_CLASS,_ as HERO_BLEED_WIDTH_VAR,f as HERO_CAP,g as HERO_CAP_CLASS,h as HERO_CHROME_CAP_VAR,I as HERO_CHROME_INSET_VAR,n as PAGE_WIDTH,j as PAGE_WIDTH_ATTR,z as PRE_CHROME_WIDTH_CAP_CLASS,U as PRE_HERO_CAP_CLASS,M as PRE_SITE_GUTTER_CLASSES,P as PRE_SITE_WIDTH_CAP_CLASS,G as SITE_COLUMN,o as SITE_GUTTER,x as SITE_GUTTER_CAP,A as SITE_GUTTER_CLASS,p as SITE_GUTTER_NARROW,C as SITE_GUTTER_SUBSTITUTIONS,c as SITE_GUTTER_VAR,r as SITE_WIDTH_CAP,T as SITE_WIDTH_CAP_CLASS,s as SITE_WIDTH_VAR,W as asMainGutters,m as centredCap,J as chromeWidthStyle,k as heroBackgroundTokens,S as normalizeSiteGutter,$ as normalizeSiteWidth,q as pageWidthMarker,D as pageWidthStyle,Q as resolveChromeWidth,L as siteGutterTokens,d as siteHalfColumnCap,v as siteHalfColumnCapClass,F as siteWidthCapStyle,w as siteWidthTokens};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CSSProperties } from "react";
|
|
2
|
+
export declare const PHONE_FOCUS_CLASS = "sf-focus-phone";
|
|
3
|
+
export declare const PHONE_FOCUS_VAR = "--sf-focus-phone";
|
|
4
|
+
export declare function phoneFocus(phone: unknown): {
|
|
5
|
+
className: string;
|
|
6
|
+
style: CSSProperties;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{formatFocal as e,parseFocal as r}from"efficient-shell/format";const c="sf-focus-phone",f="--sf-focus-phone";function a(s){if(typeof s!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(s))return{className:"",style:{}};const{x:o,y:t}=r(s);return{className:c,style:{[f]:e(o,t)}}}export{c as PHONE_FOCUS_CLASS,f as PHONE_FOCUS_VAR,a as phoneFocus};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { MapPin } from "efficient-shell/map";
|
|
2
|
+
export type FootprintSource = "typed" | "dealers";
|
|
3
|
+
export type DealerListPosition = "below" | "left" | "right";
|
|
4
|
+
export type DealerPlacement = "located" | "approximate" | "pending" | "not_found" | "failed" | "no_address";
|
|
5
|
+
export interface SiteDealer {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
address: string;
|
|
9
|
+
city: string;
|
|
10
|
+
state: string;
|
|
11
|
+
postcode: string;
|
|
12
|
+
country: string;
|
|
13
|
+
phone: string;
|
|
14
|
+
website: string;
|
|
15
|
+
pickupPoint: boolean;
|
|
16
|
+
placement: DealerPlacement;
|
|
17
|
+
lat: number | null;
|
|
18
|
+
lng: number | null;
|
|
19
|
+
distanceKm: number | null;
|
|
20
|
+
}
|
|
21
|
+
export type DealerNear = "found" | "not_found" | "try_again" | null;
|
|
22
|
+
export interface DealerList {
|
|
23
|
+
near: DealerNear;
|
|
24
|
+
dealers: SiteDealer[];
|
|
25
|
+
}
|
|
26
|
+
export type DealerSource = (query: {
|
|
27
|
+
near?: string;
|
|
28
|
+
}) => Promise<DealerList>;
|
|
29
|
+
export declare const DealerSourceProvider: import("react").Provider<DealerSource | null>;
|
|
30
|
+
export declare const useDealerSource: () => DealerSource | null;
|
|
31
|
+
export declare function parseFootprintSource(value: unknown): FootprintSource;
|
|
32
|
+
export declare function parseDealerListPosition(value: unknown): DealerListPosition;
|
|
33
|
+
export declare function dealerPins(dealers: SiteDealer[]): MapPin[];
|
|
34
|
+
export declare function dealerDistanceLabel(km: number | null): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as r,useContext as l}from"react";const o=r(null),p=o.Provider,u=()=>l(o),i=["typed","dealers"],a=["below","left","right"];function s(e){return i.includes(e)?e:"typed"}function d(e){return a.includes(e)?e:"below"}function x(e){const n=[];for(const t of e)t.placement!=="located"&&t.placement!=="approximate"||t.lat===null||t.lng===null||n.push({key:t.id,label:t.name,lat:t.lat,lng:t.lng,glyph:"",tone:"",approximate:t.placement==="approximate"});return n}function f(e){return e===null||!Number.isFinite(e)?"":e<10?`${e.toFixed(1)} km`:`${Math.round(e)} km`}export{p as DealerSourceProvider,f as dealerDistanceLabel,x as dealerPins,d as parseDealerListPosition,s as parseFootprintSource,u as useDealerSource};
|
|
@@ -149,7 +149,6 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
149
149
|
readonly Background: "Background";
|
|
150
150
|
readonly "Background image": "Background image";
|
|
151
151
|
readonly "Background images": "Background images";
|
|
152
|
-
readonly "Background video": "Background video";
|
|
153
152
|
readonly Badge: "Badge";
|
|
154
153
|
readonly Banner: "Banner";
|
|
155
154
|
readonly "Banner headline": "Banner headline";
|
|
@@ -161,6 +160,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
161
160
|
readonly Basics: "Basics";
|
|
162
161
|
readonly Before: "Before";
|
|
163
162
|
readonly "Begin reading": "Begin reading";
|
|
163
|
+
readonly Below: "Below";
|
|
164
164
|
readonly "Below picture": "Below picture";
|
|
165
165
|
readonly "Big first": "Big first";
|
|
166
166
|
readonly "Big left": "Big left";
|
|
@@ -250,7 +250,6 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
250
250
|
readonly "Chat with us": "Chat with us";
|
|
251
251
|
readonly "Checkout & ordering": "Checkout & ordering";
|
|
252
252
|
readonly "Chip label": "Chip label";
|
|
253
|
-
readonly "Choose a background image first \u2014 there\u2019s nothing to focus yet.": "Choose a background image first — there’s nothing to focus yet.";
|
|
254
253
|
readonly "Choose a page": "Choose a page";
|
|
255
254
|
readonly "Choose a post": "Choose a post";
|
|
256
255
|
readonly "Choose a product": "Choose a product";
|
|
@@ -269,6 +268,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
269
268
|
readonly "Clear this site\u2019s colors?": "Clear this site’s colors?";
|
|
270
269
|
readonly "Clear {what}": "Clear {what}";
|
|
271
270
|
readonly "Clear {what}: {label}": "Clear {what}: {label}";
|
|
271
|
+
readonly "Click to play": "Click to play";
|
|
272
272
|
readonly Collections: "Collections";
|
|
273
273
|
readonly Color: "Color";
|
|
274
274
|
readonly "Column *title.*": "Column *title.*";
|
|
@@ -304,7 +304,6 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
304
304
|
readonly "Couldn\u2019t delete the page \u2014 please retry.": "Couldn’t delete the page — please retry.";
|
|
305
305
|
readonly "Couldn\u2019t duplicate the section \u2014 please retry": "Couldn’t duplicate the section — please retry";
|
|
306
306
|
readonly "Couldn\u2019t load pages": "Couldn’t load pages";
|
|
307
|
-
readonly "Couldn\u2019t open the media picker \u2014 please try again.": "Couldn’t open the media picker — please try again.";
|
|
308
307
|
readonly "Couldn\u2019t open this section.": "Couldn’t open this section.";
|
|
309
308
|
readonly "Couldn\u2019t reach {place}.": "Couldn’t reach {place}.";
|
|
310
309
|
readonly Count: "Count";
|
|
@@ -329,6 +328,8 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
329
328
|
readonly Dashed: "Dashed";
|
|
330
329
|
readonly "Data points": "Data points";
|
|
331
330
|
readonly Date: "Date";
|
|
331
|
+
readonly Dealers: "Dealers";
|
|
332
|
+
readonly "Dealers are not available on this website": "Dealers are not available on this website";
|
|
332
333
|
readonly "Deck / standfirst": "Deck / standfirst";
|
|
333
334
|
readonly Default: "Default";
|
|
334
335
|
readonly "Defect rate by product": "Defect rate by product";
|
|
@@ -354,6 +355,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
354
355
|
readonly "Directions link": "Directions link";
|
|
355
356
|
readonly "Dismiss link": "Dismiss link";
|
|
356
357
|
readonly Display: "Display";
|
|
358
|
+
readonly Distance: "Distance";
|
|
357
359
|
readonly "Distance from top": "Distance from top";
|
|
358
360
|
readonly Divider: "Divider";
|
|
359
361
|
readonly "Document Detail Cards": "Document Detail Cards";
|
|
@@ -535,11 +537,13 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
535
537
|
readonly Icon: "Icon";
|
|
536
538
|
readonly "Icon after text": "Icon after text";
|
|
537
539
|
readonly "Icon before text": "Icon before text";
|
|
540
|
+
readonly "Icon only": "Icon only";
|
|
538
541
|
readonly "Icon position": "Icon position";
|
|
539
542
|
readonly "Illustrative example": "Illustrative example";
|
|
540
543
|
readonly Image: "Image";
|
|
541
544
|
readonly "Image & Text Columns": "Image & Text Columns";
|
|
542
545
|
readonly "Image & Text Split": "Image & Text Split";
|
|
546
|
+
readonly "Image 2": "Image 2";
|
|
543
547
|
readonly "Image background": "Image background";
|
|
544
548
|
readonly "Image caption": "Image caption";
|
|
545
549
|
readonly "Image column": "Image column";
|
|
@@ -686,10 +690,12 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
686
690
|
readonly "Next slide": "Next slide";
|
|
687
691
|
readonly "No fill": "No fill";
|
|
688
692
|
readonly "No locations yet.": "No locations yet.";
|
|
693
|
+
readonly "No match": "No match";
|
|
689
694
|
readonly "No match (gray \u2715)": "No match (gray ✕)";
|
|
690
695
|
readonly "No other pages": "No other pages";
|
|
691
696
|
readonly "No pages match your search": "No pages match your search";
|
|
692
697
|
readonly "No pages yet. Add one with + above.": "No pages yet. Add one with + above.";
|
|
698
|
+
readonly "No place found. Try another postcode.": "No place found. Try another postcode.";
|
|
693
699
|
readonly "No section anchors yet": "No section anchors yet";
|
|
694
700
|
readonly "No style": "No style";
|
|
695
701
|
readonly "No wrap": "No wrap";
|
|
@@ -720,6 +726,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
720
726
|
readonly "On every blog post.": "On every blog post.";
|
|
721
727
|
readonly "On picture": "On picture";
|
|
722
728
|
readonly "On this page": "On this page";
|
|
729
|
+
readonly One: "One";
|
|
723
730
|
readonly "One row": "One row";
|
|
724
731
|
readonly "One then four": "One then four";
|
|
725
732
|
readonly "Only the size follows a site style. This section sets its own font, weight and letter case.": "Only the size follows a site style. This section sets its own font, weight and letter case.";
|
|
@@ -728,7 +735,6 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
728
735
|
readonly "Open the {name} in a new tab": "Open the {name} in a new tab";
|
|
729
736
|
readonly "Open your saved draft in a new tab. Visitors don't see it.": "Open your saved draft in a new tab. Visitors don't see it.";
|
|
730
737
|
readonly "Opening hours": "Opening hours";
|
|
731
|
-
readonly "Opening the picker\u2026": "Opening the picker…";
|
|
732
738
|
readonly Option: "Option";
|
|
733
739
|
readonly "Order Table": "Order Table";
|
|
734
740
|
readonly "Order summary": "Order summary";
|
|
@@ -769,6 +775,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
769
775
|
readonly Placement: "Placement";
|
|
770
776
|
readonly Plain: "Plain";
|
|
771
777
|
readonly "Play video": "Play video";
|
|
778
|
+
readonly Playback: "Playback";
|
|
772
779
|
readonly "Playback speed": "Playback speed";
|
|
773
780
|
readonly "Plays well with\n*your favourite apps.*": "Plays well with\n*your favourite apps.*";
|
|
774
781
|
readonly "Pop up - SubscribePopup": "Pop up - SubscribePopup";
|
|
@@ -892,10 +899,12 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
892
899
|
readonly "Short description of this figure.": "Short description of this figure.";
|
|
893
900
|
readonly "Short detail line": "Short detail line";
|
|
894
901
|
readonly "Short supporting line": "Short supporting line";
|
|
902
|
+
readonly Show: "Show";
|
|
895
903
|
readonly "Show arrows": "Show arrows";
|
|
896
904
|
readonly "Show cover image": "Show cover image";
|
|
897
905
|
readonly "Show hints": "Show hints";
|
|
898
906
|
readonly "Show on a card": "Show on a card";
|
|
907
|
+
readonly "Show on phones": "Show on phones";
|
|
899
908
|
readonly "Show slide picker": "Show slide picker";
|
|
900
909
|
readonly "Show texture": "Show texture";
|
|
901
910
|
readonly "Show the chat bubble": "Show the chat bubble";
|
|
@@ -903,11 +912,13 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
903
912
|
readonly "Show ticker": "Show ticker";
|
|
904
913
|
readonly "Show {label} on the slide": "Show {label} on the slide";
|
|
905
914
|
readonly "Shown beside the heading": "Shown beside the heading";
|
|
915
|
+
readonly "Shows when a visitor points at the button": "Shows when a visitor points at the button";
|
|
906
916
|
readonly "Side space": "Side space";
|
|
907
917
|
readonly "Side-by-side image and text in two columns.": "Side-by-side image and text in two columns.";
|
|
908
918
|
readonly Sideways: "Sideways";
|
|
909
919
|
readonly "Signup Form": "Signup Form";
|
|
910
920
|
readonly Simple: "Simple";
|
|
921
|
+
readonly "Site button color": "Site button color";
|
|
911
922
|
readonly "Site settings": "Site settings";
|
|
912
923
|
readonly "Site styles": "Site styles";
|
|
913
924
|
readonly "Six across": "Six across";
|
|
@@ -925,6 +936,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
925
936
|
readonly "Social links": "Social links";
|
|
926
937
|
readonly Soft: "Soft";
|
|
927
938
|
readonly Solid: "Solid";
|
|
939
|
+
readonly Source: "Source";
|
|
928
940
|
readonly "Space above and below": "Space above and below";
|
|
929
941
|
readonly "Space between": "Space between";
|
|
930
942
|
readonly Spacer: "Spacer";
|
|
@@ -936,6 +948,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
936
948
|
readonly "Spine (single rail)": "Spine (single rail)";
|
|
937
949
|
readonly "Split (editorial aside)": "Split (editorial aside)";
|
|
938
950
|
readonly Square: "Square";
|
|
951
|
+
readonly Squares: "Squares";
|
|
939
952
|
readonly Stacked: "Stacked";
|
|
940
953
|
readonly Standard: "Standard";
|
|
941
954
|
readonly Start: "Start";
|
|
@@ -1080,7 +1093,9 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1080
1093
|
readonly "Two image galleries with tabs and filters.": "Two image galleries with tabs and filters.";
|
|
1081
1094
|
readonly "Two tall": "Two tall";
|
|
1082
1095
|
readonly Type: "Type";
|
|
1096
|
+
readonly "Type a postcode or address": "Type a postcode or address";
|
|
1083
1097
|
readonly "Typed here": "Typed here";
|
|
1098
|
+
readonly "Typed in": "Typed in";
|
|
1084
1099
|
readonly "Tyre Fitment Form": "Tyre Fitment Form";
|
|
1085
1100
|
readonly "Tyre Sizes": "Tyre Sizes";
|
|
1086
1101
|
readonly "URL pill": "URL pill";
|
|
@@ -1094,8 +1109,8 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1094
1109
|
readonly Upcoming: "Upcoming";
|
|
1095
1110
|
readonly "Update style": "Update style";
|
|
1096
1111
|
readonly "Update {style}?": "Update {style}?";
|
|
1112
|
+
readonly Upload: "Upload";
|
|
1097
1113
|
readonly "Upload a background image": "Upload a background image";
|
|
1098
|
-
readonly "Upload a background video": "Upload a background video";
|
|
1099
1114
|
readonly "Upload a poster still": "Upload a poster still";
|
|
1100
1115
|
readonly "Uppercase heading": "Uppercase heading";
|
|
1101
1116
|
readonly "Use {colour}": "Use {colour}";
|
|
@@ -1103,6 +1118,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1103
1118
|
readonly "Value suffix": "Value suffix";
|
|
1104
1119
|
readonly "Vertical breathing room between sections.": "Vertical breathing room between sections.";
|
|
1105
1120
|
readonly Video: "Video";
|
|
1121
|
+
readonly "Video file": "Video file";
|
|
1106
1122
|
readonly "Video poster": "Video poster";
|
|
1107
1123
|
readonly "View all": "View all";
|
|
1108
1124
|
readonly "View all questions": "View all questions";
|
|
@@ -1128,6 +1144,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1128
1144
|
readonly "Year \u2192": "Year →";
|
|
1129
1145
|
readonly Years: "Years";
|
|
1130
1146
|
readonly YouTube: "YouTube";
|
|
1147
|
+
readonly "YouTube link": "YouTube link";
|
|
1131
1148
|
readonly "Your *first* section.": "Your *first* section.";
|
|
1132
1149
|
readonly "Your *second* section.": "Your *second* section.";
|
|
1133
1150
|
readonly "Your fifth question goes here?": "Your fifth question goes here?";
|
|
@@ -1152,7 +1169,7 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1152
1169
|
readonly "each block's own spacing": "each block's own spacing";
|
|
1153
1170
|
readonly entries: "entries";
|
|
1154
1171
|
readonly group: "group";
|
|
1155
|
-
readonly "
|
|
1172
|
+
readonly "https://youtu.be/\u2026": "https://youtu.be/…";
|
|
1156
1173
|
readonly item: "item";
|
|
1157
1174
|
readonly label: "label";
|
|
1158
1175
|
readonly manifesto: "manifesto";
|
|
@@ -1169,7 +1186,6 @@ export declare const WEB_BUILDER_WORDS: {
|
|
|
1169
1186
|
readonly "the theme's image stage": "the theme's image stage";
|
|
1170
1187
|
readonly "the theme's section background": "the theme's section background";
|
|
1171
1188
|
readonly "this container's own spacing": "this container's own spacing";
|
|
1172
|
-
readonly "videos only": "videos only";
|
|
1173
1189
|
readonly "{grade} on the button": "{grade} on the button";
|
|
1174
1190
|
readonly "{label} hex code": "{label} hex code";
|
|
1175
1191
|
readonly "{label} {n}": "{label} {n}";
|