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 y}from"react/jsx-runtime";import{useState as O}from"react";import{TextStylesList as v}from"efficient-easel/text-styles";import{FONT_OPTIONS as x}from"../lib/fonts.js";import{usePreviewDevice as I}from"./PreviewDeviceContext.js";import{applyListChange as _,resolveTextStyles as C,toPanelStyles as E}from"../lib/site-text-styles.js";const c=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],b=["size","lineSpacing","letterSpacing","letterCase"],k=500,w=x.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function L({saved:e,old:s,colours:p,sizeOf:o,onChange:f,openId:a,onOpenChange:S,readOnly:d=!1,withoutSize:g=!1}){const[m,u]=O(null),T=I()==="mobile",l=C(e,s),r=E(l,o);return y(v,{styles:r,onChange:t=>f(_({saved:e,old:s,cur:r,next:t,sizeOf:o})),fonts:w,colours:p,settings:g?c.filter(t=>t!=="size"):c,auto:b,openId:a===void 0?m:a,onOpenChange:S??u,readOnly:d,device:T?"phone":"desktop",fallback:t=>{const n=l.find(h=>h.id===(t.kind==="heading"?"heading-1":"body-1")),i={};return n?.values.font&&t.id!==n.id&&(i.font=n.values.font),t.kind==="heading"&&(i.weight=k),i}})}export{w as SITE_FONTS,L as default};
|
package/dist/components/Split.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{SiteLink as v}from"../lib/site-runtime.js";import
|
|
1
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{SiteLink as v}from"../lib/site-runtime.js";import w from"./Btn.js";import{resolveImageTreatment as E}from"../lib/content/image-treatment.js";import y from"./Placeholder.js";import{useSitePhotography as I}from"./SitePhotographyContext.js";import L from"./SectionEyebrow.js";import{renderGold as i,renderHeadline as P,splitParagraphs as U}from"./goldPhrases.js";import{ON_MEDIA_INK_STYLE as S}from"../lib/content/ink.js";const t={headingMediumUpTo800:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",labelUpTo800:"max-[800px]:text-[length:var(--size-label,12px)]",headingMedium:"text-[length:min(var(--size-headingMedium,56px),var(--sf-heading-max,9999px))]",body:"text-[length:var(--size-body,16px)]",label:"text-[length:var(--size-label,13px)]"};function A({imageLabel:d,imageSrc:p,imageTint:c=.4,imageObjectPosition:N,eyebrow:x,title:m,body:h,cta:l,reverse:f=!1,uppercase:j=!1,textAlign:k="left",textBgSrc:s,textBgLabel:$,textBgTint:b=.6,textBgObjectPosition:z,featureBar:a,imageButton:n,grayscale:M}){const g=E(M,I()),u={left:{items:"",text:"",cta:"self-start"},center:{items:"items-center",text:"text-center",cta:"self-center"},right:{items:"items-end",text:"text-right",cta:"self-end"}},o=u[k]??u.left;return e("section",{className:"relative z-[2] bg-bg p-0",children:r("div",{className:["grid min-h-[72vh] grid-cols-2 border-t border-b border-line","max-[960px]:grid-cols-1","max-[960px]:min-h-0",f?"min-[961px]:[direction:rtl]":""].join(" "),children:[r("div",{className:"sf-card relative flex items-center justify-center overflow-hidden bg-surface [direction:ltr] max-[960px]:aspect-[4/3] max-[960px]:order-2",style:f?{borderLeft:"1px solid var(--site-line)"}:{borderRight:"1px solid var(--site-line)"},children:[e(y,{label:d,src:p,objectPosition:N,treatment:g}),p&&c>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${c})`}}),(a||n)&&r("div",{className:"pointer-events-none absolute inset-0 z-[3] flex flex-col items-center justify-center gap-4 px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:[a&&r(v,{href:a.href,className:`pointer-events-auto inline-flex items-center justify-center gap-3 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"rgba(245,241,232,0.3)",color:"rgba(245,241,232,0.85)",background:"rgba(0,0,0,0.45)"},children:[e("span",{children:i(a.wheel)}),e("span",{"aria-hidden":!0,style:{opacity:.55},children:"·"}),e("span",{children:i(a.category)}),e("span",{"aria-hidden":!0,children:"→"}),e("span",{children:i(a.cta??"Shop now")})]}),n&&r(v,{href:n.href,className:`pointer-events-auto inline-flex items-center justify-center gap-2 border px-7 py-4 font-mono ${t.label} uppercase tracking-[0.18em] backdrop-blur-sm transition-colors hover:bg-[rgba(245,241,232,0.1)] max-[800px]:gap-2 max-[800px]:px-5 max-[800px]:py-3 ${t.labelUpTo800}`,style:{borderColor:"rgba(245,241,232,0.5)",color:"rgba(245,241,232,0.95)",background:"transparent"},children:[e("span",{children:i(n.text??"Learn more")}),e("span",{"aria-hidden":!0,children:"→"})]})]})]}),r("div",{className:"relative overflow-hidden [direction:ltr] max-[960px]:order-1",children:[s&&r("div",{className:"absolute inset-0","aria-hidden":!0,children:[e(y,{label:$??d,src:s,objectPosition:z,treatment:g}),b>0&&e("div",{className:"absolute inset-0",style:{background:`rgba(0,0,0,${b})`}})]}),e("div",{className:"relative z-[2] flex h-full min-h-full flex-col px-[60px] py-[100px] max-[960px]:px-6 max-[960px]:py-[60px]",style:s?S:void 0,children:r("div",{className:["flex flex-1 flex-col justify-center gap-6",o.items,o.text].join(" "),children:[x&&e(L,{text:x,size:14}),m&&e("h2",{className:[`font-heading2 ${t.headingMedium} font-normal leading-[1.05] tracking-[-0.03em]`,`${t.headingMediumUpTo800} max-[800px]:leading-[1]`,j?"uppercase":""].join(" "),children:P(m,!1)}),h&&U(h).map((T,_)=>e("p",{className:[`max-w-[520px] ${t.body} leading-[1.7]`,"text-fg-dim"].join(" "),children:i(T)},_)),l.text&&e("div",{className:`mt-2 ${o.cta}`,children:e(w,{href:l.href,variant:"primary",children:i(l.text)})})]})})]})]})})}export{A as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as o}from"react/jsx-runtime";import{useCallback as
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{useCallback as H,useEffect as P,useMemo as l,useRef as V,useState as u}from"react";import R from"next/dynamic";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as X}from"../lib/puck/build-config.js";import{withTemplateMediaPlaceholders as Z}from"../lib/puck/templateFields.js";import{setEditorPageSlug as x}from"../lib/puck/editor-page-context.js";import{StorefrontDocumentContext as $}from"./StorefrontDocumentContext.js";import{PreviewHeaderProvider as ee}from"./PreviewHeaderContext.js";import{PreviewTickerProvider as te}from"./PreviewTickerContext.js";import{PreviewHeroPartProvider as re}from"./PreviewHeroPartContext.js";import{PreviewPartsProvider as oe}from"./PreviewPartsContext.js";import{PreviewLocationPartProvider as ie}from"./PreviewLocationPartContext.js";import{PreviewPartStyleProvider as ne}from"./PreviewPartStyleContext.js";import{sectionTemplates as O}from"../lib/editor-section-templates.js";import{nodeToDoc as se,docToNode as B}from"../lib/puck/section-doc.js";import{newNodeId as de}from"../lib/puck/content-tree.js";import{migrateRenamedProps as ae}from"../lib/puck/renamed-props.js";import{buildSlotSeedChildren as ce}from"../lib/puck/slot-specs.js";import{FOOTER_TYPE as me,buildDefaultFooterBlocks as le}from"../lib/puck/footer-blocks.js";import{NO_BRIDGED_CAPABILITIES as ue,useAdminBridge as fe}from"../lib/editor-admin-bridge.js";import{useEditorHost as pe}from"../lib/editor-host.js";import{ChromeWrap as ve}from"../lib/editor-chrome.js";import{sessionRegistry as ge}from"../lib/editor-session.js";import{useEditorSession as he}from"../lib/editor-session-context.js";import{say as F}from"../lib/editor-words.js";import{retargetWhenSaved as Pe}from"../lib/section-retarget.js";import{routeSharedHostMessage as Se}from"../lib/editor-host-inbound.js";import{routeWebsiteHostMessage as Ee}from"../lib/website-host-inbound.js";import{DEFAULT_THEME_MODE as S,THEME_MODE_KEY as ye}from"../lib/theme.js";import{makeSitePageAdapter as L}from"../lib/editor-document-adapter.js";import{documentPermissions as Te}from"efficient-easel/edit-lock";import{useAutosave as we}from"efficient-easel/autosave";import{saveStatusOf as Ne}from"../lib/puck/pinned-seed-gate.js";import{blocksOf as ke}from"../lib/website-session.js";const Ae=R(()=>import("./SiteEditorProvider.js"),{ssr:!1}),Ce=R(()=>import("./SectionEditorShell.js"),{ssr:!1}),U="HeroSingle",W="Untitled section";function Ie(i,E){const d=E.components,r=d[i]?i:U,y=d[r]?.defaultProps??{},n=ce(r,f=>d[f]?.defaultProps??{}),s=r===me?{blocks:le()}:null;return{type:r,props:{id:de(r),...y,...n?{[n.slot]:n.children}:null,...s}}}function Oe(){if(typeof window>"u")return S;try{const i=window.localStorage.getItem(ye);return i==="light"||i==="dark"||i==="auto"?i:S}catch{return S}}function be({id:i,initialType:E,initialName:d=W}){const[r,y]=u(i),n=V(r);P(()=>{n.current=r},[r]);const s=pe(),[f,Y]=u(E),[b,j]=u(d),[a,T]=u(void 0),[K,G]=u(S),{token:w,tokenRef:M}=fe({onMessage:e=>{if(Ee(e)||Se(e))return;const t=e;if(t?.type==="storefront-editor:navigate"&&t.target?.kind==="section"&&t.target.id){const I=t.target.id;if(I===n.current)return;const J=t.target.type,Q=t.target.name;Pe(k,()=>{Y(J),j(Q||W),y(I),s.address.show({kind:"section",id:I})},()=>s.send("storefront-editor:save-failed"))}}}),N=we({save:e=>O.update(e.id,e.node).then(()=>{}),onFailure:(e,t)=>{t===0&&s.send("storefront-editor:save-failed")}}),{state:p,push:_,flush:k}=N;P(()=>G(Oe()),[]);const c=he(),v=c.usesBridgedToken?!!w:!0,g=l(()=>X(ge(c),ke(c)),[c]);P(()=>{if(!v)return;let e=!1;return T(void 0),O.ensure(r,b,Ie(f??U,g)).then(t=>!e&&T(t.node)).catch(()=>!e&&T(null)),()=>{e=!0}},[r,f,b,v,g]);const A=H(e=>{s.send("storefront-editor:dirty");const t=B(e);t&&_({id:n.current,node:t})},[_,s]),h=s.send,D=H(async e=>{try{return await e(M.current??""),!0}catch{return h("storefront-editor:save-failed"),!1}},[h]),q=l(()=>Z(g,!0),[g]);P(()=>(x(null),()=>x(null)),[]);const m=l(()=>a?ae(se(a)):null,[a]),C=l(()=>({target:{kind:"page",slug:""},adapter:L(void 0),capabilities:L(void 0).capabilities,templateId:null,currentSlug:"",currentKind:null,siteId:null,ready:v,token:w,tokenRef:M,notifyParent:h,runAuthed:D,docId:r,data:m,getLiveData:()=>m,footerOriginSlug:null,error:null,redirecting:!1,saveStatus:Ne(p),saveState:p,autoSaveEnabled:!0,autoSaveStoppedByConflict:!1,hasUnsavedEdits:p.pending,toggleAutoSave:()=>{},retrySave:()=>{N.retryNow()},onChange:A,flushSave:k,onPublish:async e=>{const t=B(e);t&&await O.update(n.current,t)},bridgeCapabilities:ue,access:{kind:"editing"},readOnly:!1,takeOverEditing:()=>{},viewReadOnly:()=>{},saveConflict:null,reloadFromServer:()=>{},navigate:()=>{},pendingNav:null,cancelPendingNav:()=>{},discardAndNavigate:()=>{},saveAndNavigate:async()=>{}}),[r,v,w,h,D,m,p,A,k,N.retryNow]),z=l(()=>Te(!C.readOnly),[C.readOnly]);return a===void 0?o("div",{className:"sf-msg",children:F("Loading…")}):a===null||!m?o("div",{className:"sf-msg sf-msg--error",children:F("Couldn’t open this section.")}):o($.Provider,{value:C,children:o(ee,{themeMode:K,chromePlaceholder:!0,children:o(ve,{wrap:c.chrome?.wrap,surface:"section",children:o(te,{children:o(re,{children:o(oe,{children:o(ie,{children:o(ne,{children:o(Ae,{config:q,data:m,onChange:A,permissions:z,children:o(Ce,{})},r)})})})})})})})})}export{be as default};
|
package/dist/components/Stats.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as m}from"react/jsx-runtime";import o from"./BlockFrame.js";import f from"./CountUpText.js";import{renderGold as r}from"./goldPhrases.js";const i={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))]",label:"text-[length:var(--size-label,12px)]"},u="grid grid-cols-4 gap-8 max-[800px]:grid-cols-2",h={2:"grid grid-cols-2 gap-8",3:"grid grid-cols-3 gap-8 max-[800px]:grid-cols-2",4:"grid grid-cols-4 gap-8 max-[800px]:grid-cols-2"};function v({items:c,contained:l,heading:a,columns:t,background:d,editing:g}){const p=t===void 0?u:h[t],s=e("div",{className:p,children:(c??[]).map((n,x)=>m("div",{className:"border-t border-line pt-5",children:[e("div",{className:`font-heading2 ${i.headingMedium} font-medium leading-none tracking-[-0.03em] text-fg ${i.headingMediumUpTo800}`,children:g?r(n.value):e(f,{value:n.value})}),e("div",{className:`mt-2 font-mono ${i.label} uppercase tracking-[0.2em] text-fg-dim`,children:r(n.label)})]},x))});return a===void 0&&d===void 0?e(o,{contained:l,className:"py-12",children:s}):e(o,{contained:l,className:"py-12",children:m("div",{style:d?{backgroundColor:d}:void 0,children:[a?e("div",{className:`mb-6 font-mono ${i.label} uppercase tracking-[0.2em] text-fg-dim`,children:r(a)}):null,s]})})}export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsxs as r,jsx as a,Fragment as w}from"react/jsx-runtime";import{sectionRunsFullWidth as k}from"../lib/content/section-width.js";import C from"./EditorialSectionHead.js";import{renderGold as h,renderHeadline as
|
|
1
|
+
"use client";import{jsxs as r,jsx as a,Fragment as w}from"react/jsx-runtime";import{sectionRunsFullWidth as k}from"../lib/content/section-width.js";import C from"./EditorialSectionHead.js";import{renderGold as h,renderHeadline as E}from"./goldPhrases.js";import{useCountUp as _}from"./useCountUp.js";import{say as v}from"../lib/editor-words.js";const f={body:"text-[length:var(--size-body,16px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"},N="font-normal italic text-accent";function j({value:x,prefix:m,suffix:l,supSuffix:c,emphasizeAll:i,label:t,sub:n}){const s=(x??"").trim(),d=/^\d+$/.test(s),{ref:g,value:u}=_(d?parseInt(s,10):0),p=d?String(u):s,o=m??"";return r("div",{className:"flex min-h-[240px] flex-col gap-3 bg-bg px-8 py-12",children:[r("div",{ref:g,className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(56px,7vw,96px)),var(--sf-heading-max,9999px))] font-medium leading-[0.9] tracking-[-0.04em] tabular-nums",children:[i?r("em",{className:N,children:[o,p]}):r(w,{children:[o,p,l?a("em",{className:N,children:l}):null]}),c?a("sup",{className:`ml-8 inline-block pt-[18px] align-top font-mono ${f.labelLarge} leading-none tracking-[0.18em] text-accent`,children:c}):null]}),(t||n)&&r("div",{className:`mt-auto font-mono ${f.labelSmall} uppercase tracking-[0.24em] text-fg-dim`,children:[t?a("strong",{className:`mb-1 block font-display ${f.body} font-normal normal-case tracking-[-0.01em] text-fg`,children:t}):null,n?h(n):null]})]})}function z({eyebrow:x,title:m,desc:l,stats:c,background:i,padTop:t,padBottom:n,editing:s=!1,omitHead:d=!1,...g}={}){const u=typeof t=="number"?t:120,p=typeof n=="number"?n:120,o=(c??[]).filter(e=>(e.value??"").trim()!==""||(e.label??"").trim()!==""||(e.sub??"").trim()!==""||(e.suffix??"").trim()!==""||(e.supSuffix??"").trim()!==""),b=o.length>0?o:s?[{value:"0",label:v("Stat"),sub:v("Add your numbers.")}]:[],y=!!(i&&i!=="transparent");return r("section",{className:k(g)?"border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:{paddingTop:u,paddingBottom:p,...y?{backgroundColor:i}:{}},children:[d?null:a(C,{num:x,title:m?E(m):void 0,desc:l?h(l):void 0}),b.length>0&&a("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:b.map((e,S)=>a(j,{...e},S))})]})}export{z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as s,jsxs as it}from"react/jsx-runtime";import{useCallback as a,useEffect as p,useMemo as M,useRef as S,useState as r}from"react";import"efficient-easel/easel.css";import"efficient-easel/shell.css";import"efficient-easel/rail.css";import"efficient-easel/panel.css";import"efficient-easel/fields.css";import"efficient-easel/pick.css";import"efficient-easel/copy.css";import"efficient-easel/gold.css";import"efficient-easel/text-styles.css";import"efficient-easel/menu.css";import"efficient-easel/chrome.css";import"efficient-easel/tree.css";import"efficient-easel/drag.css";import"efficient-easel/screen.css";import"./storefront-editor.css";import{buildConfig as ct}from"../lib/puck/build-config.js";import{ChromeWrap as st}from"../lib/editor-chrome.js";import{sessionRegistry as dt}from"../lib/editor-session.js";import{backendOf as G,blocksOf as ut}from"../lib/website-session.js";import{useEditorSession as ht}from"../lib/editor-session-context.js";import{withSiteBlockGapFields as lt}from"../lib/puck/site-gap-fields.js";import{withTemplateMediaPlaceholders as mt}from"../lib/puck/templateFields.js";import{setEditorPage as de}from"../lib/puck/editor-page-context.js";import{resolveSiteName as pt}from"../lib/content/site-name.js";import{normalizeSiteGutter as St,normalizeSiteWidth as ft}from"../lib/content/page-width.js";import{normalizeSiteBlockGap as gt}from"../lib/content/container-gap.js";import wt,{DocumentScreen as Ct}from"./EditorScreenMount.js";import{useStorefrontDocument as Tt}from"./StorefrontDocumentContext.js";import{PreviewHeaderProvider as _t}from"./PreviewHeaderContext.js";import{PreviewFooterProvider as Et}from"./PreviewFooterContext.js";import{PreviewChatProvider as yt,DEFAULT_CHAT_PREVIEW as Pt}from"./PreviewChatContext.js";import{PreviewSocialProvider as vt}from"./PreviewSocialContext.js";import{useSocialSettings as Ht}from"./useSocialSettings.js";import{PreviewSurfaceProvider as It}from"./PreviewSurfaceContext.js";import{WEBSITE_ADDRESSING as Mt}from"../lib/website-document-addressing.js";import{PreviewTickerProvider as Gt}from"./PreviewTickerContext.js";import{PreviewHeroPartProvider as Rt}from"./PreviewHeroPartContext.js";import{PreviewPartsProvider as Ft}from"./PreviewPartsContext.js";import{PreviewLocationPartProvider as kt}from"./PreviewLocationPartContext.js";import{PreviewPartStyleProvider as At}from"./PreviewPartStyleContext.js";import{SiteMapsProvider as Dt,readSiteMapsKey as Wt,writeSiteMapsKey as ue,readSiteMapId as xt,writeSiteMapId as Bt}from"../lib/maps-config.js";import{CORNER_STYLE_TO_PX as Nt,DEFAULT_HEADING_COMPRESSION as Ot,DEFAULT_HEADING_TYPOGRAPHY as bt,DEFAULT_SWITCH_SHOWN as R,DEFAULT_SIZES as zt,DEFAULT_THEME_MODE as C,normalizeCornerRadius as Kt,normalizeCornerStyle as Lt,normalizeCardShadow as Yt,normalizeCardGap as Ut,normalizeHoverEffect as jt,normalizeShadowColor as Vt,IDENTITY_CARD_GAP as he,IDENTITY_CARD_SHADOW as Xt,IDENTITY_HOVER_EFFECT as Zt,THEME_MODE_KEY as le,THEME_STORAGE_KEY as qt,THEME_SWITCH_HIDE as me,THEME_SWITCH_KEY as F}from"../lib/theme.js";import{DEFAULT_FONTS as Jt}from"../lib/fonts.js";import{WEBSITE_SCREEN as Qt}from"./WebsiteScreenParts.js";import{routeWebsiteHostMessage as $t}from"../lib/website-host-inbound.js";import{siteTextFromRow as er}from"../lib/site-text-styles.js";import{chatPreviewFrom as tr}from"./PreviewChatContext.js";const rr=()=>{if(typeof window>"u")return C;try{const i=window.localStorage.getItem(le);return i==="light"||i==="dark"||i==="auto"?i:C}catch{return C}},pe=i=>{if(!(typeof window>"u"))try{window.localStorage.setItem(le,i)}catch{}},or=()=>{if(typeof window>"u")return R;try{return window.localStorage.getItem(F)!==me}catch{return R}},nr=()=>{if(!(typeof window>"u"))try{window.localStorage.removeItem(qt)}catch{}},Se=i=>{if(!(typeof window>"u"))try{i?window.localStorage.removeItem(F):window.localStorage.setItem(F,me)}catch{}};function ar(){const{adapter:i,capabilities:d,templateId:k,ready:f,token:l,siteId:c,currentSlug:A,currentKind:D}=Tt();p(()=>(de(A,D),()=>de(null,null)),[A,D]);const T=d.placeholderFrames,[fe,W]=r(null),[ge,x]=r("");p(()=>{const e=i.templateName;if(!f||!k||!e){x("");return}let o=!1;return e().then(u=>!o&&x(u??"")).catch(()=>{}),()=>{o=!0}},[f,l,k,i]);const[we,_]=r(C),[Ce,E]=r(R),[Te,B]=r({selected:0,themes:[]}),[_e,N]=r(Jt),[Ee,O]=r(zt),[ye,b]=r(null),[Pe,z]=r(Ot),[ve,K]=r(null),[He,L]=r(null),[Ie,Y]=r(he),[Me,U]=r(null),[Ge,j]=r(null),[Re,V]=r(null),[y,X]=r(null),h=ht(),Z=M(()=>ct(dt(h),ut(h)),[h]),Fe=M(()=>lt(mt(Z,T),y),[Z,T,y]),[ke,q]=r(bt),[Ae,J]=r(null),[De,Q]=r(null),[We,$]=r(null),ee=S(null),n=S(!1);p(()=>{_(rr()),E(or())},[]);const xe=a(e=>{n.current=!0,nr(),pe(e),_(e)},[]),Be=a(e=>{n.current=!0,Se(e),E(e)},[]),Ne=a(e=>{n.current=!0,B(e)},[]),Oe=a(e=>{n.current=!0,N(e)},[]),be=a(e=>{n.current=!0,O(e)},[]),ze=a(e=>{n.current=!0,b(e)},[]),Ke=a(e=>{n.current=!0,z(e)},[]),Le=a(e=>{n.current=!0,K(e)},[]),Ye=a(e=>{n.current=!0,L(e)},[]),Ue=a(e=>{n.current=!0,Y(e)},[]),je=a(e=>{n.current=!0,U(e)},[]),Ve=a(e=>{n.current=!0,q(e)},[]),[Xe,te]=r(null),Ze=a(e=>{n.current=!0,te(e)},[]),qe=a(e=>{n.current=!0,j(e)},[]),Je=a(e=>{n.current=!0,V(e)},[]),Qe=a(e=>{n.current=!0,X(e)},[]),$e=a(e=>{n.current=!0,J(e)},[]),et=a(e=>{n.current=!0,Q(e)},[]),tt=a(e=>{n.current=!0,$(e)},[]);p(()=>{const e=G(h).theme;if(!l||!d.hasSiteTheme||!e)return;const o=c??"";ee.current!==o&&(ee.current=o,n.current=!1);let u=!1;return e.get(c?{siteId:c}:void 0).then(t=>{if(u||n.current)return;pe(t.default_mode),Se(t.show_theme_switch),_(t.default_mode),E(t.show_theme_switch),B({selected:t.selected_preset,themes:t.theme_presets});const m=er(t);N(m.fonts),O(m.sizes),b(t.corner_radius_px===void 0?Nt[Lt(t.corner_style)]:Kt(t.corner_radius_px)),z(m.compression),K(t.card_shadow==null?Xt:Yt(t.card_shadow)),Y(t.card_gap==null?he:Ut(t.card_gap)),U(t.hover_effect==null?Zt:jt(t.hover_effect)),L(Vt(t.shadow_color)),j(ft(t.site_width)),V(St(t.site_gutter)),X(gt(t.block_gap)),q(m.typography),te(m.textStyles),J(t.hero_background_follows_width===!0),Q(t.photography_grayscale===!0),$(t.share_button_on_posts===!0)}).catch(()=>{}),()=>{u=!0}},[l,c,d.hasSiteTheme,h]);const rt=Ht({token:l,siteId:c,enabled:d.hasSiteSettings}),[ot,re]=r(Pt),oe=S(null),P=S(!1),v=S(null),g=S({}),nt=a(e=>{P.current=!0,re(o=>({...o,...e})),!(!d.hasSiteSettings||!l)&&(g.current={...g.current,...e},v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{const o=g.current;g.current={},G(h).chat?.update(o,c?{siteId:c}:void 0).catch(()=>{})},500))},[d.hasSiteSettings,l,c,h]);p(()=>{if(!l||!d.hasSiteSettings)return;const e=c??"";oe.current!==e&&(oe.current=e,P.current=!1);let o=!1;const u=G(h).chat;if(u)return u.get(c?{siteId:c}:void 0).then(t=>{o||P.current||re(tr(t))}).catch(()=>{}),()=>{o=!0}},[l,c,d.hasSiteSettings,h]);const[w,H]=r(""),ne=S(null),I=S(!1);p(()=>H(Wt()),[]);const ae=a(e=>{const o=e.trim();if(o===w)return;I.current=!0,ue(o),H(o);const u=i.updateSite;!d.canEditSiteRecord||!f||!u||u({mapsApiKey:o}).catch(()=>{})},[w,d.canEditSiteRecord,f,i]),[ie,ce]=r("");p(()=>ce(xt()),[]),p(()=>{const e=i.site;if(!f||!d.hasSiteRecord||!e){W(null);return}const o=c??"";ne.current!==o&&(ne.current=o,I.current=!1);let u=!1;return e().then(t=>{if(u||(W(pt(t.name)),I.current))return;const m=t.mapsApiKey??"";ue(m),H(m);const se=t.mapsMapId??"";Bt(se),ce(se)}).catch(()=>{}),()=>{u=!0}},[f,l,d.hasSiteRecord,c,i]);const at=M(()=>({apiKey:w,setApiKey:ae,mapId:ie}),[w,ae,ie]);return s(Ct,{config:Fe,parts:Qt,wrap:(e,o)=>s(_t,{websiteName:fe,templateChrome:T,templateName:ge||null,themeMode:we,onThemeModeChange:xe,themeSwitchShown:Ce,onThemeSwitchShownChange:Be,theme:Te,onThemeChange:Ne,fonts:_e,onFontsChange:Oe,cornerRadiusPx:ye,onCornerRadiusPxChange:ze,cardShadow:ve,onCardShadowChange:Le,shadowColor:He,onShadowColorChange:Ye,cardGap:Ie,onCardGapChange:Ue,hoverEffect:Me,onHoverEffectChange:je,headingCompression:Pe,onHeadingCompressionChange:Ke,headingTypography:ke,onHeadingTypographyChange:Ve,textStyles:Xe,onTextStylesChange:Ze,sizes:Ee,onSizesChange:be,siteWidth:Ge,onSiteWidthChange:qe,siteGutter:Re,onSiteGutterChange:Je,blockGap:y,onBlockGapChange:Qe,heroBackgroundFollowsWidth:Ae,onHeroBackgroundFollowsWidthChange:$e,photographyGrayscale:De,onPhotographyGrayscaleChange:et,shareButtonOnPosts:We,onShareButtonOnPostsChange:tt,themeFromDocument:!d.hasSiteTheme,children:s(Et,{children:s(st,{wrap:h.chrome?.wrap,surface:"page",children:s(Gt,{children:s(Rt,{children:s(Ft,{children:s(kt,{children:s(At,{children:it(Dt,{value:at,children:[s(yt,{chat:ot,onChatChange:nt,children:s(vt,{value:rt,children:s(It,{children:e})})}),o]})})})})})})})})})})}function ir({target:i}){return s(wt,{target:i,addressing:Mt,onHostMessage:$t,children:s(ar,{})})}export{ir as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as
|
|
1
|
+
import{jsx as e,Fragment as u,jsxs as i}from"react/jsx-runtime";import b from"./SectionEyebrow.js";import{renderGold as v,renderHeadline as N,splitParagraphs as M}from"./goldPhrases.js";import{say as y}from"../lib/editor-words.js";const t={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium1:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",bodySmall:"text-[length:var(--size-body,12px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,16px)]",headingMedium2:"text-[length:var(--size-headingMedium,46px)]"},z="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",_="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function E({look:o,eyebrow:r,title:s,items:x,columns:p,omitHead:m=!1,editing:d=!1}={}){const c=Math.min(3,Math.max(1,p??3)),n=(x??[]).filter(a=>d||(a.quote??"").trim()),g=!!(r??"").trim()||!!(s??"").trim();return!d&&!g&&n.length===0?null:e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:m?_:z,children:[m?null:i(u,{children:[(r??"").trim()&&e(b,{text:r??"",look:o,className:"mb-4 block"}),(s??"").trim()&&e("h2",{className:`mb-11 font-heading2 ${t.headingMedium1} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 ${t.headingMediumUpTo800}`,children:N(s??"",!1)})]}),n.length>0&&e("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--tm-cols),minmax(0,1fr))]",style:{"--tm-cols":String(c)},children:n.map((a,h)=>i("figure",{className:"flex flex-col gap-5 bg-bg p-9 max-[800px]:p-7",children:[e("span",{"aria-hidden":!0,className:`font-heading2 ${t.headingMedium2} leading-none text-accent`,children:"“"}),e("blockquote",{className:`flex-1 ${t.bodyLarge} leading-[1.6] text-fg-dim`,children:M((a.quote??"").trim()||y("A short customer quote goes here.")).map((f,l)=>e("p",{className:l?"mt-3":"",children:v(f)},l))}),i("figcaption",{className:"border-t border-line pt-[18px]",children:[e("div",{className:`font-display ${t.body} font-medium uppercase tracking-[0.04em] text-fg`,children:(a.name??"").trim()||"Customer name"}),(a.role??"").trim()&&e("div",{className:`mt-1 ${t.bodySmall} text-fg-dim`,children:a.role})]})]},h))})]})})}export{E as default};
|
package/dist/components/Text.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import x from"./BlockFrame.js";import{renderGold as r,splitParagraphs as c}from"./goldPhrases.js";const t={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,14px)]",bodySmall:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,17px)]"},f={left:"text-left",center:"text-center mx-auto",right:"text-right ml-auto"},g=`max-w-[380px] ${t.bodySmall} leading-[1.5] opacity-80 ${t.bodyUpTo800}`,y={default:"text-fg",dim:"text-fg-dim"};function h({text:a,align:l,tone:n,contained:s,hero:d=!1,pad:o}){if(d)return e("p",{className:g,children:r(a)});const i=`max-w-[680px] whitespace-pre-line ${t.bodyLarge} leading-[1.7] ${f[l]} ${y[n]}`;return e(x,{contained:s,className:"py-4",pad:o?{values:o,frame:16}:void 0,children:c(a).map((p,m)=>e("p",{className:i,children:r(p)},m))})}export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as o,jsxs as d,Fragment as w}from"react/jsx-runtime";import{useState as f}from"react";import{SettingsDefaultReset as A,SettingsField as j}from"efficient-easel/panel";import{useEaselStrings as k}from"efficient-easel/strings";import{AddIcon as L}from"efficient-easel/icons";import{iconOf as D,noGlyph as F}from"../lib/puck/controls.js";import{ThemeCard as G}from"./ThemeCard.js";import{ClearColoursDialog as I}from"./ClearColoursDialog.js";import{say as m}from"../lib/editor-words.js";import{BRAND_INKS as N,brandTheme as O,normalizeTheme as y,normalizeThemeColors as z,selectedThemeColors as B}from"../lib/theme.js";const P=F("the row's whole content is an action; the gutter names a subject and this row has none — the button's label is the name GG, 2026-09-23"),v="Reset color",H={selected:0,themes:[]};function K(r){r(H)}function M({value:r,onChange:n}){const a=r?.themes??[],p=a.length===0,t=y(r),[u,c]=f(!1),g=k(),[b,h]=f(null),T=(e,s)=>{n({...t,themes:t.themes.map((l,S)=>S===e?s:l)})},E=B(t).accent,x=new Set(t.themes.map(e=>e.brandInk).filter(Boolean)),C=N.filter(e=>!x.has(e)).map(e=>O(E,e)),i=[...t.themes,...C],R=e=>{if(e<t.themes.length)return n({...t,selected:e});const s=[...t.themes,i[e]];n({...t,themes:s,selected:s.length-1})},_=()=>{const e=[...t.themes,{...z(t.themes[t.selected])}];n({...t,themes:e,selected:e.length-1}),h(e.length-1)};return d(w,{children:[p?null:o(j,{label:m(v),icon:D(P),labelId:"sf-theme-reset",action:o(A,{label:m("all theme colors"),words:g.panel,changed:!0,onReset:()=>c(!0)})}),u&&o(I,{count:a.length,onCancel:()=>c(!1),onConfirm:()=>{c(!1),K(n)}}),o("div",{className:"sf-theme-list",role:"radiogroup","aria-label":m("Theme"),children:i.map((e,s)=>o(G,{index:s,colors:e,selected:s===t.selected,open:b===s&&s<t.themes.length,editable:s<t.themes.length,onPick:()=>R(s),onEdit:()=>h(l=>l===s?null:s),onChangeColors:l=>T(s,l)},s))}),d("button",{type:"button",onClick:_,className:"sf-theme-add",children:[o(L,{size:12}),m("Add new theme")]})]})}export{H as CLEARED_THEME,v as RESET_COLOUR_LABEL,K as commitClearedTheme,M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as
|
|
1
|
+
import{jsx as e,Fragment as N,jsxs as n}from"react/jsx-runtime";import{SiteLink as j}from"../lib/site-runtime.js";import{stripMarkup as _}from"../lib/markup.js";import E from"./Placeholder.js";import U from"./SectionEyebrow.js";import{renderGold as m,renderHeadline as w,splitParagraphs as C}from"./goldPhrases.js";const i={bodyUpTo800:"max-[800px]:text-[length:var(--size-body,16px)]",headingSmallUpTo800:"max-[800px]:text-[length:var(--size-headingSmall,20px)]",bodySmall:"text-[length:var(--size-body,14px)]",bodyLarge:"text-[length:var(--size-body,17px)]",headingSmall:"text-[length:var(--size-headingSmall,24px)]",labelSmall:"text-[length:var(--size-label,11px)]",labelLarge:"text-[length:var(--size-label,13px)]"};function y({eyebrow:a,title:t,intro:r,center:s=!1}){return n(N,{children:[a&&e(U,{text:a,size:12}),t&&e("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(40px,5vw,76px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.94] tracking-[-0.03em] text-fg",children:w(t)}),r&&e("p",{className:[`font-display ${i.bodySmall} leading-[1.6] text-fg-dim`,s?"max-w-[520px]":"max-w-[360px]"].join(" "),children:m(r,!0)})]})}function z({cta:a,className:t=""}){return a?.text?n(j,{href:a.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4",`font-mono ${i.labelLarge} uppercase tracking-[0.3em] text-fg`,"transition-colors hover:border-accent hover:text-accent",t].join(" "),children:[m(a.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]}):null}function k({src:a,caption:t,meta:r,aspectClass:s,editing:x,sizes:c="100vw",className:o=""}){return!a&&!x?null:n("figure",{className:["relative overflow-hidden border border-line bg-surface",s,o].join(" "),children:[e(E,{label:t||"Image",src:a,alt:_(t??""),sizes:c}),e("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",style:{background:"linear-gradient(180deg, transparent 55%, rgba(10,10,10,0.75) 100%)"}}),(t||r)&&n("figcaption",{className:`absolute inset-x-0 bottom-0 z-[1] flex items-center justify-between gap-3 px-4 py-3 font-mono ${i.labelSmall} uppercase tracking-[0.24em] text-overlay-fg/85`,children:[e("span",{children:t?m(t):""}),r&&e("span",{className:"text-accent",children:m(r)})]})]})}function g({entry:a}){const t=C(a.body??"");return n(N,{children:[a.title&&e("h3",{className:`mb-3.5 font-heading3 ${i.headingSmall} font-medium uppercase tracking-[-0.02em] text-fg ${i.headingSmallUpTo800}`,children:w(a.title)}),t.length>0&&e("div",{className:`space-y-3.5 font-display ${i.bodyLarge} leading-[1.6] ${i.bodyUpTo800}`,children:t.map((r,s)=>e("p",{className:s===0?"text-fg":"text-fg-dim",children:m(r,!0)},s))})]})}const S={boxShadow:"0 0 0 4px var(--bg)"};function F({layout:a="split",eyebrow:t,title:r,intro:s,imageSrc:x,imageCaption:c,imageMeta:o,cta:h,entries:L,padTop:f,padBottom:b,editing:u}={}){const T=typeof f=="number"?f:120,$=typeof b=="number"?b:120,d=(L??[]).filter(l=>(l.date??"").trim()||(l.title??"").trim()||(l.body??"").trim());return e("section",{className:"relative z-[2] bg-bg",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:T,paddingBottom:$},children:a==="split"?n("div",{className:"grid grid-cols-[1fr_1.4fr] gap-20 max-[1100px]:grid-cols-1 max-[1100px]:gap-12",children:[n("aside",{className:"sticky top-[120px] flex flex-col gap-6 self-start max-[1100px]:static",children:[e(y,{eyebrow:t,title:r,intro:s}),e(k,{src:x,caption:c,meta:o,aspectClass:"mt-1 aspect-[4/5]",sizes:"(max-width: 1100px) 100vw, 420px",editing:u}),e(z,{cta:h,className:"mt-2 self-start"})]}),e("ol",{className:"flex flex-col gap-12",children:d.map((l,p)=>n("li",{className:"grid grid-cols-[80px_1fr] items-start gap-6 max-[700px]:grid-cols-1 max-[700px]:gap-2",children:[e("span",{className:`pt-1.5 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))})]}):n("div",{children:[n("header",{className:"mx-auto flex max-w-[760px] flex-col items-center gap-6 text-center",children:[e(y,{eyebrow:t,title:r,intro:s,center:!0}),e(z,{cta:h})]}),e(k,{src:x,caption:c,meta:o,aspectClass:"mx-auto mt-12 aspect-[16/9] w-full max-w-[900px]",sizes:"(max-width: 900px) 100vw, 900px",editing:u}),a==="spine"?e("ol",{className:"relative mx-auto mt-16 max-w-[760px]",children:d.map((l,p)=>n("li",{className:"relative border-l border-line pb-12 pl-10 last:pb-0 max-[700px]:pl-8",children:[e("span",{className:"absolute left-[-5px] top-1.5 h-2.5 w-2.5 rounded-full bg-accent",style:S}),e("div",{className:`mb-2 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:"max-w-[640px]",children:e(g,{entry:l})})]},p))}):n("ol",{className:"relative mx-auto mt-16 max-w-[1000px]",children:[e("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px bg-line left-[7px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2"}),d.map((l,p)=>{const v=p%2===0;return n("li",{className:"relative mb-14 pl-8 last:mb-0 min-[801px]:grid min-[801px]:grid-cols-2 min-[801px]:gap-16 min-[801px]:pl-0",children:[e("span",{className:"absolute top-1.5 h-2.5 w-2.5 rounded-full bg-accent left-[2px] min-[801px]:left-1/2 min-[801px]:-translate-x-1/2",style:S}),n("div",{className:v?"min-[801px]:col-start-1 min-[801px]:pr-8 min-[801px]:text-right":"min-[801px]:col-start-2 min-[801px]:pl-8",children:[e("div",{className:`mb-2 font-mono ${i.labelLarge} tracking-[0.24em] text-accent`,children:l.date?m(l.date):""}),e("div",{className:["max-w-[520px] max-[800px]:max-w-none",v?"min-[801px]:ml-auto":""].join(" "),children:e(g,{entry:l})})]})]},p)})]})]})})})}export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as
|
|
1
|
+
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as S}from"../lib/site-runtime.js";import T from"./EditorialSectionHead.js";import f from"./PartStyledText.js";import{withRMark as o}from"./RMark.js";import{renderGold as b,renderHeadline as $}from"./goldPhrases.js";const n={body:"text-[length:var(--size-body,13px)]",headingSmall:"text-[length:var(--size-headingSmall,20px)]",label:"text-[length:var(--size-label,13px)]"};function z({eyebrow:g,title:p,intro:x,entries:u,cta:l,padTop:s,padBottom:d,background:h,editing:v,omitHead:m=!1}={}){const N=typeof s=="number"?s:120,y=typeof d=="number"?d:120,c=h??"var(--section-bg)",j=c!=="transparent",r=(u??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(r.length===0&&!v)return null;const k=r.filter(e=>!e.future).length,w=r.length?k/r.length*100:0;return t("section",{className:"relative z-[2]",children:a("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:{paddingTop:N,paddingBottom:y,...j?{backgroundColor:c}:{}},children:[m?null:t(T,{num:g,title:p?$(p):void 0,desc:x?b(x,!0):void 0,spaceBelow:"",className:"text-fg"}),a("div",{className:m?"relative mt-0 grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-0 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0":"relative mt-[60px] grid grid-cols-[repeat(var(--cols),minmax(0,1fr))] gap-0 border-t border-line pt-[60px] max-[1100px]:mt-9 max-[1100px]:grid-cols-1 max-[1100px]:gap-0 max-[1100px]:border-t-0 max-[1100px]:pt-0",style:{"--cols":r.length},children:[t("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-px bg-line max-[1100px]:hidden",children:t("div",{className:"absolute -top-px left-0 h-[3px] bg-gradient-to-r from-accent to-transparent",style:{width:`${w}%`}})}),r.map((e,i)=>a("div",{className:["relative flex min-h-[280px] flex-col gap-3.5 px-3.5","border-l",e.future?"border-line":"max-[1100px]:border-accent border-line",i===0?"min-[1101px]:border-l-0":"","max-[1100px]:min-h-0 max-[1100px]:border-t-0 max-[1100px]:py-6 max-[1100px]:pl-7 max-[1100px]:ml-1.5"].join(" "),children:[t("span",{className:["pointer-events-none absolute h-2.5 w-2.5 rounded-full border-2 border-bg",e.future?"border-line bg-surface-2":"bg-accent",i===0?"-top-[66px] left-[-1px]":"-top-[66px] left-[-5px]","max-[1100px]:left-[-5px] max-[1100px]:top-7"].join(" ")}),t("span",{className:[`font-mono ${n.label} tracking-[0.22em]`,e.future?"text-fg-dim":"text-accent"].join(" "),children:e.date?t(f,{value:e.date,children:o(e.date)}):""}),e.title&&t("h3",{className:`whitespace-pre-line font-heading3 ${n.headingSmall} font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg`,children:t(f,{value:e.title,children:o(e.title)})}),e.blurb&&t("p",{className:`mt-auto font-display ${n.body} leading-[1.55] text-fg-dim`,children:b(e.blurb,!0)})]},i))]}),l?.text&&t("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:a(S,{href:l.href,className:`group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono ${n.label} uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent`,children:[o(l.text),t("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})}export{z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as I}from"react/jsx-runtime";import{useCallback as k,useEffect as E,useState as j}from"react";import{Button as F,Tooltip as K}from"efficient-shell/ui";import{SettingsSwitch as z}from"efficient-easel/panel";import{PagesIcon as U,StylesIcon as Z}from"efficient-easel/rail";import{TreeRow as q}from"efficient-easel/tree";import{useEaselStrings as X}from"efficient-easel/strings";import{LocationsTreeContext as J}from"./LocationsTreeContext.js";import Q from"./PagesPanel.js";import{usePreviewChat as $}from"./PreviewChatContext.js";import{PREVIEW_DEVICES as ee}from"./preview-devices.js";import{PreviewDeviceContext as te}from"./PreviewDeviceContext.js";import{usePreviewHeader as oe}from"./PreviewHeaderContext.js";import{usePreviewSocial as re}from"./PreviewSocialContext.js";import{usePreviewSurface as ie}from"./PreviewSurfaceContext.js";import{TICKER_PART_LABEL as ne,usePreviewTicker as se}from"./PreviewTickerContext.js";import ae,{CHAT_MODE as ce,HEADER_MODE as A,SOCIAL_MODE as le,WEBSITE_MODE as B}from"./SectionEditor.js";import C from"./SectionIcon.js";import de from"./SectionThumbnail.js";import{useStorefrontDocument as L}from"./StorefrontDocumentContext.js";import pe from"./StylesPanel.js";import me from"./TemplateGlyph.js";import{LOCATIONS_TYPE as fe,useLocationsTree as ue}from"./useLocationsTree.js";import{usePinnedChromeSeed as Se}from"./usePinnedChromeSeed.js";import{usePreviewHref as Te}from"./usePreviewHref.js";import{WebsitePreviewButton as Ee}from"./WebsitePreviewButton.js";import{SITE_STYLES_TABS as we,SITE_STYLES_TEXT_TAB as be,useWebsiteName as he}from"./WebsiteSettingsPanel.js";import{useWebsiteMainAction as Pe}from"./useWebsiteMainAction.js";import{useEditorSession as ve}from"../lib/editor-session-context.js";import{useOpenPageName as ge}from"../lib/page-rows.js";import{HERO_GROUP_TYPE as ke,heroGroupNestDepth as Ie}from"../lib/hero-group-placement.js";import{stripMarkup as Ce}from"../lib/markup.js";import{categoryShortLabel as Le,PINNED_SECTION_TYPE as _e}from"../lib/puck/add-palette.js";import{canAddTo as Oe}from"../lib/puck/add-target.js";import{blockIsOffered as ye}from"../lib/puck/block-offer.js";import{sectionIdOfBoxZone as Ae,setBookingPreview as Be}from"../lib/puck/booking-preview.js";import{footerBlockRowName as Ne}from"../lib/puck/footer-block-row-name.js";import{FOOTER_TYPE as Re,HEADER_TYPE as N}from"../lib/puck/footer-blocks.js";import{leftViewForSelection as De,readLeftView as He,resolveLeftView as We,writeLeftView as xe}from"../lib/puck/left-view.js";import{websiteIsLockedBlock as Ve}from"../lib/puck/locked-blocks.js";import{everyPageBadge as Me,everyPageNotice as Ge,pinnedGroupTab as Ye,websiteDuplicateBlocked as je}from"../lib/puck/every-page.js";import{pinnedChromeInPlace as g}from"../lib/pinned-chrome-lock.js";import{scrollPreviewToSection as Fe,scrollPreviewToTop as R}from"../lib/puck/preview-dom.js";import{SiteCanvas as Ke}from"../lib/puck/overrides.js";import{labelAtLevel as ze}from"../lib/puck/section-catalog.js";import{editorWords as Ue,say as n}from"../lib/editor-words.js";import{SECTION_DESCRIPTIONS as Ze}from"../lib/puck/section-descriptions.js";import{groupAccepts as qe,isSectionGroupType as Xe,sectionGroupZone as Je,SITE_FOOTER_TYPE as Qe,SITE_HEADER_TYPE as $e}from"../lib/puck/section-groups.js";import{resolveSaveAsTemplateAction as et,SAVE_AS_TEMPLATE_EVENT as tt}from"../lib/save-as-template-action.js";import{newSectionNode as ot}from"../lib/sections/new-section-node.js";import{useHostProducts as rt}from"../lib/use-host-products.js";import{backendOf as it}from"../lib/website-session.js";function D({mode:e,open:t}){const{setSelectedHeroId:o,setSelectHandler:i}=se(),a=X().tree,c=e,d=c.kind==="ticker"?c.heroId:null,l=k(s=>{if(!s)return;t({kind:"ticker",heroId:s}),Fe(s)},[t]);return E(()=>{o(d)},[d,o]),E(()=>{i(l)},[i,l]),{partRows:(s,{rowClick:m})=>{const f=String(s.props.id);return s.type==="Hero"&&r(q,{icon:r(C,{type:"ticker",size:13}),name:n(ne),onSelect:()=>l(f),selected:d===f,rowProps:{onClick:m(()=>l(f))},words:a})}}}function nt(e){const{adapter:t,capabilities:o,currentSlug:i,siteId:a,docId:c,hasUnsavedEdits:d,bridgeCapabilities:l,notifyParent:s,token:m}=L(),{hasPreviewLink:f}=o,w=it(ve()).preview?.draftLink,P=Pe(e.data),u=et({hasTrustedConsole:!!m,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:o,siteId:a,hasUnsavedEdits:d}),b=k(()=>{!a||!i||s(tt,{siteId:a,slug:i})},[s,a,i]),h=Te({pageSlug:i,siteId:a,token:m}),T=t.previewHref?.(i)??h;return{barLead:()=>u.visible&&r(K,{side:"bottom",content:u.enabled?n("Save this website as a platform template"):n(u.disabledReason),children:r("span",{className:"sf-tip-disabled",tabIndex:u.enabled?void 0:0,children:r(F,{variant:"secondary",disabled:!u.enabled,onClick:b,rightIcon:r(me,{}),children:n("Save as Template")})})}),barTrail:()=>f&&i&&r(Ee,{liveHref:T,pageId:c??null,draftLink:w}),mainAction:P}}function st(){return I("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:[r("path",{d:"M12 3a9 9 0 0 0 0 18 2.3 2.3 0 0 0 2.3-2.3c0-.55-.22-1.05-.57-1.42-.34-.37-.56-.87-.56-1.43A2.35 2.35 0 0 1 15.6 13.5H18a3 3 0 0 0 3-3c0-4.14-4-7.5-9-7.5z"}),r("circle",{cx:"7.7",cy:"11.3",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"12",cy:"8",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"16",cy:"11",r:"1.05",fill:"currentColor",stroke:"none"})]})}function at(e,t){const{capabilities:o,templateId:i,siteId:a,tokenRef:c,navigate:d}=L(),{hasSiteTheme:l,explainsSiteSettings:s}=o,m=p=>t.setView(p),[f,w]=j(we[0].id),{surface:P,setSurface:u}=ie(),b=()=>{if(l){m("styles"),t.reveal(),R();return}e.show(B),e.reveal(),R()},h={id:"pages",label:n("Pages"),icon:r(U,{}),panel:({onHide:p})=>r(Q,{activeSurface:P,onPreviewSurface:u,onNavigate:S=>{u(null),d(i?{kind:"template",id:i,pageSlug:S}:{kind:"page",slug:S,siteId:a??void 0})},onClose:p})},T=[];return!l&&s&&T.push({id:"appearance",label:n("Appearance"),icon:r(st,{}),active:e.kind==="website",onSelect:b}),l&&T.push({id:"styles",label:n("Site styles"),icon:r(Z,{}),panel:({onHide:p,notify:S})=>r(pe,{tokenRef:c,siteId:a??void 0,onClose:p,onNotify:S,tab:f,onTabChange:w})}),{railLead:[h],railTrail:T,resolveLeftView:(p,S)=>We(p,l,S),openSettings:b,openStyles:()=>{w(be),m("styles")}}}function ct(e,t,o,i){const{kind:a,open:c}=e,{selected:d,zoneOf:l}=t;E(()=>{Be(d?.type==="BookingBox"&&d.props.region==="confirm"?Ae(l(String(d.props.id))):null)},[d?.props.id]);const s=ue(e,t),{capabilities:{hasSiteSettings:m}}=L(),{setSelected:f,setSelectHandler:w}=oe(),{chat:P,setChat:u,setSelected:b,setSelectHandler:h}=$(),T=a==="header";E(()=>{f(T)},[T,f]),E(()=>{w(()=>c(A))},[w,c]);const p=k(()=>c(ce),[c]),S=a==="chat";E(()=>{b(S)},[S,b]),E(()=>{h(p)},[h,p]);const{setOpenHandler:O}=re(),y=k(()=>c(le),[c]);E(()=>{O(y)},[O,y]);const x=D(e),V=nt(t),M=at(e,i),G=o.device;return{...x,...V,...M,hasOwnRows:v=>v.type===fe,ownRows:s.renderLocationTree,sectionPressed:s.sectionPressed,wrap:v=>r(J.Provider,{value:!0,children:r(te.Provider,{value:G,children:v})}),addPanelRow:v=>m?I("div",{className:"sf-addside-sitewide",children:[r("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:r(C,{type:"chat",size:16})}),I("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{v(),p()},children:[n("Live chat"),r("span",{className:"sf-addside-sitewide-desc",children:n("A chat bubble on every page")})]}),r(z,{checked:P.enabled,onChange:Y=>u({enabled:Y}),ariaLabel:n("Show the chat bubble on the whole site")})]}):void 0}}let H=null,_=new WeakMap;function lt(e){const t=Ue();if(!e||!t)return e;H!==t&&(H=t,_=new WeakMap);let o=_.get(e);return o||(o={...e,choices:e.choices?e.choices.map(i=>({...i,label:n(i.label)})):null,spec:e.spec?{...e.spec,addLabel:n(e.spec.addLabel)}:null},_.set(e,o)),o}const dt={isLockedBlock:Ve,duplicateBlocked:je,nestDepth:(e,t,o)=>t===ke?Ie(e,o):0,newSectionNode:ot,canAddTo:(e,t)=>lt(Oe(e,t)),blockIsOffered:ye},pt=new Proxy(Ze,{get:(e,t)=>{const o=Reflect.get(e,t);return typeof o=="string"?n(o):o}}),mt={labelAtLevel:(e,t,o)=>n(ze(e,t,o)),descriptions:pt,categoryLabel:e=>{const t=Le(e);return t===void 0?void 0:n(t)},firstSection:_e,blockRowName:Ne,plainText:Ce,Icon:C,Thumbnail:de,useProducts:rt},ft={desktop:2e3,tablet:800,mobile:390},W="desktop",ut={options:ee,initial:W,fluid:W,widths:ft},St={read:He,write:e=>xe(e),forSelection:(e,t)=>De(e,t)},Tt={first:N,last:Re,firstGroup:$e,lastGroup:Qe,isSectionGroup:Xe,sectionGroupZone:Je,panelOf:e=>e===N?A:null,get groupTab(){return g()?Ye:void 0},get groupBadge(){return g()?Me():void 0},get changeNotice(){return g()?Ge():void 0},get band(){return g()?Et:void 0},get groupAccepts(){return g()?qe:void 0}},Et={foldable:!0};function wt(e){return{...D(e),openSettings:()=>e.show(B)}}const wo={useOwnerName:he,useDocumentLabel:ge,useBridges:ct,useStandaloneBridges:wt,useDocumentPass:Se,blockRules:dt,blockLook:mt,devices:ut,leftView:St,pinned:Tt,Canvas:Ke,Inspector:ae};export{wo as WEBSITE_SCREEN};
|
|
1
|
+
"use client";import{jsx as r,Fragment as A,jsxs as k}from"react/jsx-runtime";import{useCallback as _,useEffect as b,useRef as X,useState as J}from"react";import{Button as Q,Tooltip as $}from"efficient-shell/ui";import{SettingsSwitch as ee}from"efficient-easel/panel";import{PagesIcon as te,StylesIcon as oe}from"efficient-easel/rail";import{TemplateIcon as re}from"efficient-easel/icons";import{Subtree as ne,TreeRow as y}from"efficient-easel/tree";import{useEasel as ie}from"efficient-easel/easel";import{useEaselStrings as B}from"efficient-easel/strings";import{LocationsTreeContext as se}from"./LocationsTreeContext.js";import ae from"./PagesPanel.js";import{usePreviewChat as ce}from"./PreviewChatContext.js";import{PREVIEW_DEVICES as le}from"./preview-devices.js";import{PreviewDeviceContext as de}from"./PreviewDeviceContext.js";import{usePreviewHeader as pe}from"./PreviewHeaderContext.js";import{usePreviewSocial as me}from"./PreviewSocialContext.js";import{usePreviewSurface as fe}from"./PreviewSurfaceContext.js";import{TICKER_PART_LABEL as ue,usePreviewTicker as Se}from"./PreviewTickerContext.js";import{usePreviewHeroPart as we}from"./PreviewHeroPartContext.js";import{HERO_MEDIA_PARTS as Ee,HERO_PART_MODE as H,heroMediaRows as he,heroPartId as N,readHeroPartId as Pe}from"../lib/puck/hero-media-parts.js";import Te,{CHAT_MODE as be,HEADER_MODE as D,SOCIAL_MODE as ge,WEBSITE_MODE as W}from"./SectionEditor.js";import L from"./SectionIcon.js";import Ie from"./SectionThumbnail.js";import{useStorefrontDocument as R}from"./StorefrontDocumentContext.js";import ve from"./StylesPanel.js";import{LOCATIONS_TYPE as ke,useLocationsTree as _e}from"./useLocationsTree.js";import{usePinnedChromeSeed as Ce}from"./usePinnedChromeSeed.js";import{usePreviewHref as Le}from"./usePreviewHref.js";import{WebsitePreviewButton as Re}from"./WebsitePreviewButton.js";import{SITE_STYLES_TABS as Oe,SITE_STYLES_TEXT_TAB as Ae,useWebsiteName as ye}from"./WebsiteSettingsPanel.js";import{useWebsiteMainAction as Be}from"./useWebsiteMainAction.js";import{useEditorSession as He}from"../lib/editor-session-context.js";import{useOpenPageName as Ne}from"../lib/page-rows.js";import{HERO_GROUP_TYPE as De,heroGroupNestDepth as We}from"../lib/hero-group-placement.js";import{stripMarkup as xe}from"../lib/markup.js";import{categoryShortLabel as Me,PINNED_SECTION_TYPE as Ve}from"../lib/puck/add-palette.js";import{canAddTo as Ye}from"../lib/puck/add-target.js";import{blockIsOffered as Ge}from"../lib/puck/block-offer.js";import{sectionIdOfBoxZone as Fe,setBookingPreview as ze}from"../lib/puck/booking-preview.js";import{footerBlockRowName as je}from"../lib/puck/footer-block-row-name.js";import{FOOTER_TYPE as Ke,HEADER_TYPE as x}from"../lib/puck/footer-blocks.js";import{leftViewForSelection as Ue,readLeftView as Ze,resolveLeftView as qe,writeLeftView as Xe}from"../lib/puck/left-view.js";import{websiteIsLockedBlock as Je}from"../lib/puck/locked-blocks.js";import{everyPageBadge as Qe,everyPageNotice as $e,pinnedGroupTab as et,websiteDuplicateBlocked as tt}from"../lib/puck/every-page.js";import{pinnedChromeInPlace as C}from"../lib/pinned-chrome-lock.js";import{scrollPreviewToSection as ot,scrollPreviewToTop as M}from"../lib/puck/preview-dom.js";import{SiteCanvas as rt}from"../lib/puck/overrides.js";import{labelAtLevel as nt}from"../lib/puck/section-catalog.js";import{editorWords as it,say as c}from"../lib/editor-words.js";import{SECTION_DESCRIPTIONS as st}from"../lib/puck/section-descriptions.js";import{groupAccepts as at,isSectionGroupType as ct,sectionGroupZone as lt,SITE_FOOTER_TYPE as dt,SITE_HEADER_TYPE as pt}from"../lib/puck/section-groups.js";import{resolveSaveAsTemplateAction as mt,SAVE_AS_TEMPLATE_EVENT as ft}from"../lib/save-as-template-action.js";import{newSectionNode as ut}from"../lib/sections/new-section-node.js";import{useHostProducts as St}from"../lib/use-host-products.js";import{backendOf as wt}from"../lib/website-session.js";function V({mode:e,open:t}){const{setSelectedHeroId:o,setSelectHandler:n}=Se(),l=B().tree,d=e,p=d.kind==="ticker"?d.heroId:null,a=_(i=>{if(!i)return;t({kind:"ticker",heroId:i}),ot(i)},[t]);return b(()=>{o(p)},[p,o]),b(()=>{n(a)},[n,a]),{partRows:(i,{rowClick:u})=>{const m=String(i.props.id);return i.type==="Hero"&&r(y,{icon:r(L,{type:"ticker",size:13}),name:c(ue),onSelect:()=>a(m),selected:p===m,rowProps:{onClick:u(()=>a(m))},words:l})}}}function Y({mode:e,select:t}){const{setSelectedHeroPart:o,setSelectHandler:n}=we(),l=B().tree,{appState:d}=ie(f=>f),p=d.data.content??[],a=X(p);a.current=p;const i=e,u=Ee.find(f=>H[f]===i.kind),m=u&&"nodeId"in i?N(String(i.nodeId),u):null,E=_(f=>{const s=Pe(f);if(!s)return;const h=a.current.findIndex(S=>String(S.props.id)===s.nodeId);if(h<0)return;const T={kind:H[s.part],nodeId:s.nodeId};t({index:h},T)},[t]);return b(()=>{o(m)},[m,o]),b(()=>{n(E)},[n,E]),{partRows:(f,{rowClick:s})=>{const h=String(f.props.id),T=he(f);if(T.length===0)return null;const S=I=>{const g=N(h,I.part);return r(y,{icon:r(L,{type:I.part==="media"?"heroMedia":"heroImage",size:13}),name:c(I.label),onSelect:()=>E(g),selected:m===g,rowProps:{onClick:s(()=>E(g))},words:l},g)},[w,...P]=T;return k(A,{children:[S(w),P.length>0&&r(ne,{children:P.map(S)})]})}}}function G(e,t){return{partRows:(o,n)=>k(A,{children:[e.partRows?.(o,n),t.partRows?.(o,n)]})}}function Et(e){const{adapter:t,capabilities:o,currentSlug:n,siteId:l,docId:d,hasUnsavedEdits:p,bridgeCapabilities:a,notifyParent:i,token:u}=R(),{hasPreviewLink:m}=o,E=wt(He()).preview?.draftLink,f=Be(e.data),s=mt({hasTrustedConsole:!!u,canCreatePlatformTemplate:a.canCreatePlatformTemplate,capabilities:o,siteId:l,hasUnsavedEdits:p}),h=_(()=>{!l||!n||i(ft,{siteId:l,slug:n})},[i,l,n]),T=Le({pageSlug:n,siteId:l,token:u}),S=t.previewHref?.(n)??T;return{barLead:()=>s.visible&&r($,{side:"bottom",content:s.enabled?c("Save this website as a platform template"):c(s.disabledReason),children:r("span",{className:"sf-tip-disabled",tabIndex:s.enabled?void 0:0,children:r(Q,{variant:"secondary",disabled:!s.enabled,onClick:h,rightIcon:r(re,{size:15}),children:c("Save as Template")})})}),barTrail:()=>m&&n&&r(Re,{liveHref:S,pageId:d??null,draftLink:E}),mainAction:f}}function ht(){return k("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:[r("path",{d:"M12 3a9 9 0 0 0 0 18 2.3 2.3 0 0 0 2.3-2.3c0-.55-.22-1.05-.57-1.42-.34-.37-.56-.87-.56-1.43A2.35 2.35 0 0 1 15.6 13.5H18a3 3 0 0 0 3-3c0-4.14-4-7.5-9-7.5z"}),r("circle",{cx:"7.7",cy:"11.3",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"12",cy:"8",r:"1.05",fill:"currentColor",stroke:"none"}),r("circle",{cx:"16",cy:"11",r:"1.05",fill:"currentColor",stroke:"none"})]})}function Pt(e,t){const{capabilities:o,templateId:n,siteId:l,tokenRef:d,navigate:p}=R(),{hasSiteTheme:a,explainsSiteSettings:i}=o,u=w=>t.setView(w),[m,E]=J(Oe[0].id),{surface:f,setSurface:s}=fe(),h=()=>{if(a){u("styles"),t.reveal(),M();return}e.show(W),e.reveal(),M()},T={id:"pages",label:c("Pages"),icon:r(te,{}),panel:({onHide:w})=>r(ae,{activeSurface:f,onPreviewSurface:s,onNavigate:P=>{s(null),p(n?{kind:"template",id:n,pageSlug:P}:{kind:"page",slug:P,siteId:l??void 0})},onClose:w})},S=[];return!a&&i&&S.push({id:"appearance",label:c("Appearance"),icon:r(ht,{}),active:e.kind==="website",onSelect:h}),a&&S.push({id:"styles",label:c("Site styles"),icon:r(oe,{}),panel:({onHide:w,notify:P})=>r(ve,{tokenRef:d,siteId:l??void 0,onClose:w,onNotify:P,tab:m,onTabChange:E})}),{railLead:[T],railTrail:S,resolveLeftView:(w,P)=>qe(w,a,P),openSettings:h,openStyles:()=>{E(Ae),u("styles")}}}function Tt(e,t,o,n){const{kind:l,open:d}=e,{selected:p,zoneOf:a}=t;b(()=>{ze(p?.type==="BookingBox"&&p.props.region==="confirm"?Fe(a(String(p.props.id))):null)},[p?.props.id]);const i=_e(e,t),{capabilities:{hasSiteSettings:u}}=R(),{setSelected:m,setSelectHandler:E}=pe(),{chat:f,setChat:s,setSelected:h,setSelectHandler:T}=ce(),S=l==="header";b(()=>{m(S)},[S,m]),b(()=>{E(()=>d(D))},[E,d]);const w=_(()=>d(be),[d]),P=l==="chat";b(()=>{h(P)},[P,h]),b(()=>{T(w)},[T,w]);const{setOpenHandler:I}=me(),g=_(()=>d(ge),[d]);b(()=>{I(g)},[I,g]);const j=G(V(e),Y(e)),K=Et(t),U=Pt(e,n),Z=o.device;return{...j,...K,...U,hasOwnRows:v=>v.type===ke,ownRows:i.renderLocationTree,sectionPressed:i.sectionPressed,wrap:v=>r(se.Provider,{value:!0,children:r(de.Provider,{value:Z,children:v})}),addPanelRow:v=>u?k("div",{className:"sf-addside-sitewide",children:[r("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:r(L,{type:"chat",size:16})}),k("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{v(),w()},children:[c("Live chat"),r("span",{className:"sf-addside-sitewide-desc",children:c("A chat bubble on every page")})]}),r(ee,{checked:f.enabled,onChange:q=>s({enabled:q}),ariaLabel:c("Show the chat bubble on the whole site")})]}):void 0}}let F=null,O=new WeakMap;function bt(e){const t=it();if(!e||!t)return e;F!==t&&(F=t,O=new WeakMap);let o=O.get(e);return o||(o={...e,choices:e.choices?e.choices.map(n=>({...n,label:c(n.label)})):null,spec:e.spec?{...e.spec,addLabel:c(e.spec.addLabel)}:null},O.set(e,o)),o}const gt={isLockedBlock:Je,duplicateBlocked:tt,nestDepth:(e,t,o)=>t===De?We(e,o):0,newSectionNode:ut,canAddTo:(e,t)=>bt(Ye(e,t)),blockIsOffered:Ge},It=new Proxy(st,{get:(e,t)=>{const o=Reflect.get(e,t);return typeof o=="string"?c(o):o}}),vt={labelAtLevel:(e,t,o)=>c(nt(e,t,o)),descriptions:It,categoryLabel:e=>{const t=Me(e);return t===void 0?void 0:c(t)},firstSection:Ve,blockRowName:je,plainText:xe,Icon:L,Thumbnail:Ie,useProducts:St},kt={desktop:2e3,tablet:800,mobile:390},z="desktop",_t={options:le,initial:z,fluid:z,widths:kt},Ct={read:Ze,write:e=>Xe(e),forSelection:(e,t)=>Ue(e,t)},Lt={first:x,last:Ke,firstGroup:pt,lastGroup:dt,isSectionGroup:ct,sectionGroupZone:lt,panelOf:e=>e===x?D:null,get groupTab(){return C()?et:void 0},get groupBadge(){return C()?Qe():void 0},get changeNotice(){return C()?$e():void 0},get band(){return C()?Rt:void 0},get groupAccepts(){return C()?at:void 0}},Rt={foldable:!0};function Ot(e){return{...G(V(e),Y(e)),openSettings:()=>e.show(W)}}const Bo={useOwnerName:ye,useDocumentLabel:Ne,useBridges:Tt,useStandaloneBridges:Ot,useDocumentPass:Ce,blockRules:gt,blockLook:vt,devices:_t,leftView:Ct,pinned:Lt,Canvas:rt,Inspector:Te};export{Bo as WEBSITE_SCREEN};
|