efficient-web-builder 2.0.0 → 2.1.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 +17 -0
- package/dist/components/BlogPostSource.js +1 -1
- package/dist/components/Breadcrumb.js +1 -1
- package/dist/components/Btn.js +1 -1
- package/dist/components/CardShadowField.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/ClearColoursDialog.js +1 -1
- package/dist/components/ContactLocations.js +5 -5
- package/dist/components/CornersField.js +1 -1
- package/dist/components/DocBody.js +1 -1
- package/dist/components/DuplicateToPageMenu.js +1 -1
- package/dist/components/FeaturedCover.js +1 -1
- package/dist/components/FieldGlyph.js +1 -1
- package/dist/components/Footprint.js +1 -1
- package/dist/components/HeadingAudit.js +1 -1
- package/dist/components/HeroSection.js +1 -1
- package/dist/components/HoverEffectField.js +1 -1
- package/dist/components/ImageBlock.js +1 -1
- package/dist/components/ImageFocusRow.js +1 -1
- package/dist/components/LocationsGroupedField.js +1 -1
- package/dist/components/LongRead.js +1 -1
- package/dist/components/MediaUploadField.js +1 -1
- package/dist/components/MockupSection.js +1 -1
- package/dist/components/PagesPanel.js +1 -1
- package/dist/components/PartResetDot.js +1 -1
- package/dist/components/PartSettingsPanel.js +1 -1
- package/dist/components/PostCard.js +1 -1
- package/dist/components/ProcessSteps.js +1 -1
- package/dist/components/RMark.js +1 -1
- package/dist/components/Reel.js +1 -1
- package/dist/components/SectionEditor.js +1 -1
- package/dist/components/SectionHeader.js +1 -1
- package/dist/components/SectionThumbnail.js +1 -1
- package/dist/components/SlotChildRows.js +1 -1
- package/dist/components/SourceStatus.js +1 -1
- package/dist/components/Split.js +1 -1
- package/dist/components/StandaloneSectionEditor.js +1 -1
- package/dist/components/StylesPanel.js +1 -1
- package/dist/components/Testimonials.js +1 -1
- package/dist/components/TextStylesField.js +1 -1
- package/dist/components/ThemeCard.js +1 -1
- package/dist/components/ThemeColourField.js +1 -1
- package/dist/components/ThemeField.js +1 -1
- package/dist/components/TickerSettingsPanel.js +1 -1
- package/dist/components/Timeline.js +1 -1
- package/dist/components/TimelineTrack.js +1 -1
- package/dist/components/TitleWithButtons.js +1 -1
- package/dist/components/WebsiteScreenParts.js +1 -1
- package/dist/components/WebsiteSettingsPanel.js +1 -1
- package/dist/components/goldPhrases.js +1 -1
- package/dist/components/storefront-editor.css +25 -212
- package/dist/lib/content/contact.js +3 -3
- package/dist/lib/content/subscribe.js +1 -1
- package/dist/lib/puck/MarkupToolbar.js +1 -1
- package/dist/lib/puck/blocks/general/CategoryBar/fields.js +1 -1
- package/dist/lib/puck/blocks/general/Chart/fields.js +1 -1
- package/dist/lib/puck/blocks/general/FAQ/render.js +1 -1
- package/dist/lib/puck/blocks/general/FeaturedCover/render.js +1 -1
- package/dist/lib/puck/blocks/general/Footprint/fields.js +1 -1
- package/dist/lib/puck/blocks/general/IntroBleed/render.js +1 -1
- package/dist/lib/puck/blocks/general/LogoBlock/fields.js +1 -1
- package/dist/lib/puck/blocks/general/LongRead/render.js +1 -1
- package/dist/lib/puck/blocks/general/Masthead/render.js +1 -1
- package/dist/lib/puck/blocks/general/Mockup/fields.js +1 -1
- package/dist/lib/puck/blocks/general/OrderSummary/render.js +1 -1
- package/dist/lib/puck/blocks/general/ParagraphsA/render.js +1 -1
- package/dist/lib/puck/blocks/general/PostCard/render.js +1 -1
- package/dist/lib/puck/blocks/general/ProcessSteps/render.js +1 -1
- package/dist/lib/puck/blocks/general/Series/render.js +1 -1
- package/dist/lib/puck/blocks/general/Split/render.js +1 -1
- package/dist/lib/puck/blocks/general/Testimonials/fields.js +1 -1
- package/dist/lib/puck/blocks/general/Testimonials/render.js +1 -1
- package/dist/lib/puck/blocks/general/TimelineTrack/render.js +1 -1
- package/dist/lib/puck/blocks/placeholders.js +1 -1
- package/dist/lib/puck/controls.js +1 -1
- package/dist/lib/puck/field-groups.js +1 -1
- package/dist/lib/puck/footer-block-row-name.js +1 -1
- package/dist/lib/puck/geocode-resolve.js +1 -1
- package/dist/lib/puck/locations-tree.js +2 -2
- package/dist/lib/puck/neutralization-contracts.js +1 -1
- package/dist/lib/puck/part-rows.js +1 -1
- package/dist/lib/puck/section-catalog.js +1 -1
- package/dist/lib/puck/section-descriptions.js +1 -1
- package/dist/lib/sections/divider-style.js +1 -1
- package/dist/lib/sections/product-card-style.js +1 -1
- package/dist/lib/sections/ticker-style.js +1 -1
- package/dist/lib/source-rules/accent-token-name.js +2 -2
- package/dist/lib/source-rules/button-corners.js +1 -1
- package/dist/lib/source-rules/editor-chrome-note.js +2 -2
- package/dist/lib/source-rules/editor-context-menu.js +2 -2
- package/dist/lib/source-rules/editor-puck-drag-off.js +2 -2
- package/dist/lib/source-rules/efficient-easel-version.js +1 -1
- package/dist/lib/source-rules/every-button-follows-the-button-colour.js +4 -4
- package/dist/lib/source-rules/flat-theme-palette.js +2 -2
- package/dist/lib/source-rules/full-width-means-full.js +1 -1
- package/dist/lib/source-rules/heading-ceiling-sweep.js +3 -3
- package/dist/lib/source-rules/label-hints.js +4 -4
- package/dist/lib/source-rules/label-vocabulary.js +4 -4
- package/dist/lib/source-rules/mirrored-rows-agree.js +4 -4
- package/dist/lib/source-rules/no-comment-in-jsx.js +2 -2
- package/dist/lib/source-rules/no-glyph-rows.js +2 -2
- package/dist/lib/source-rules/one-colour-control.js +2 -2
- package/dist/lib/source-rules/one-dropdown.js +2 -2
- package/dist/lib/source-rules/one-editable-list.js +3 -3
- package/dist/lib/source-rules/one-editor-list.js +1 -1
- package/dist/lib/source-rules/one-right-click.js +2 -2
- package/dist/lib/source-rules/one-switch.js +1 -1
- package/dist/lib/source-rules/one-up-level-link.js +7 -7
- package/dist/lib/source-rules/panel-colour-tokens.js +7 -7
- package/dist/lib/source-rules/panel-no-divider-lines.js +5 -5
- package/dist/lib/source-rules/panel-one-arrow.js +1 -1
- package/dist/lib/source-rules/panel-one-hover.js +2 -2
- package/dist/lib/source-rules/panel-rows-use-the-shared-row.js +5 -5
- package/dist/lib/source-rules/part-slider-fills-row.js +8 -8
- package/dist/lib/source-rules/part-style-naming.js +1 -1
- package/dist/lib/source-rules/puck-document-surfaces.js +6 -6
- package/dist/lib/source-rules/reduced-motion.js +2 -2
- package/dist/lib/source-rules/route-content-width.js +2 -2
- package/dist/lib/source-rules/rule.js +1 -1
- package/dist/lib/source-rules/section-theme-preview.js +2 -2
- package/dist/lib/source-rules/site-square-by-default.js +1 -1
- package/dist/lib/source-rules/site-width.js +2 -2
- package/dist/lib/source-rules/size-token-paints.js +2 -2
- package/dist/lib/source-rules/social-icons-import.js +1 -1
- package/dist/lib/source-rules/source-status-is-shared.js +1 -1
- package/dist/lib/source-rules/style-face-matches-size.js +3 -3
- package/dist/lib/source-rules/support/part-slider-call-sites.js +4 -4
- package/dist/lib/source-rules/support/registry-source.js +1 -1
- package/dist/lib/source-rules/theme-mode-controls-gone.js +3 -3
- package/dist/lib/source-rules/upload-intake-guard.js +2 -2
- package/dist/lib/source-rules/word-styles.js +2 -2
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as v,jsxs as n}from"react/jsx-runtime";import{SiteLink as T}from"../lib/site-runtime.js";import{stripMarkup as C}from"../lib/markup.js";import F from"./Placeholder.js";import H from"./SectionEyebrow.js";import{renderGold as s,renderHeadline as N,splitParagraphs as L}from"./goldPhrases.js";function w({eyebrow:t,title:a,intro:i,center:r=!1}){return n(v,{children:[t&&e(H,{text:t,size:12}),a&&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:N(a)}),i&&e("p",{className:["font-display text-[length:var(--size-body,14px)] leading-[1.6] text-fg-dim",r?"max-w-[520px]":"max-w-[360px]"].join(" "),children:s(i,!0)})]})}function z({cta:t,className:a=""}){return t?.text?n(T,{href:t.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4","font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg","transition-colors hover:border-accent hover:text-accent",a].join(" "),children:[s(t.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"
|
|
1
|
+
import{jsx as e,Fragment as v,jsxs as n}from"react/jsx-runtime";import{SiteLink as T}from"../lib/site-runtime.js";import{stripMarkup as C}from"../lib/markup.js";import F from"./Placeholder.js";import H from"./SectionEyebrow.js";import{renderGold as s,renderHeadline as N,splitParagraphs as L}from"./goldPhrases.js";function w({eyebrow:t,title:a,intro:i,center:r=!1}){return n(v,{children:[t&&e(H,{text:t,size:12}),a&&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:N(a)}),i&&e("p",{className:["font-display text-[length:var(--size-body,14px)] leading-[1.6] text-fg-dim",r?"max-w-[520px]":"max-w-[360px]"].join(" "),children:s(i,!0)})]})}function z({cta:t,className:a=""}){return t?.text?n(T,{href:t.href,className:["group inline-flex items-center gap-3.5 border border-line px-5 py-4","font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg","transition-colors hover:border-accent hover:text-accent",a].join(" "),children:[s(t.text),e("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]}):null}function y({src:t,caption:a,meta:i,aspectClass:r,editing:p,sizes:m="100vw",className:c=""}){return!t&&!p?null:n("figure",{className:["relative overflow-hidden border border-line bg-surface",r,c].join(" "),children:[e(F,{label:a||"Image",src:t,alt:C(a??""),sizes:m}),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%)"}}),(a||i)&&n("figcaption",{className:"absolute inset-x-0 bottom-0 z-[1] flex items-center justify-between gap-3 px-4 py-3 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-overlay-fg/85",children:[e("span",{children:a?s(a):""}),i&&e("span",{className:"text-accent",children:s(i)})]})]})}function d({entry:t}){const a=L(t.body??"");return n(v,{children:[t.title&&e("h3",{className:"mb-3.5 font-heading3 text-[length:var(--size-headingSmall,24px)] font-medium uppercase tracking-[-0.02em] text-fg max-[800px]:text-[length:var(--size-headingSmall,20px)]",children:N(t.title)}),a.length>0&&e("div",{className:"space-y-3.5 font-display text-[length:var(--size-body,17px)] leading-[1.6] max-[800px]:text-[length:var(--size-body,16px)]",children:a.map((i,r)=>e("p",{className:r===0?"text-fg":"text-fg-dim",children:s(i,!0)},r))})]})}const k={boxShadow:"0 0 0 4px var(--bg)"};function E({layout:t="split",eyebrow:a,title:i,intro:r,imageSrc:p,imageCaption:m,imageMeta:c,cta:g,entries:j,padTop:f,padBottom:h,editing:u}={}){const _=typeof f=="number"?f:120,S=typeof h=="number"?h:120,o=(j??[]).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:_,paddingBottom:S},children:t==="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(w,{eyebrow:a,title:i,intro:r}),e(y,{src:p,caption:m,meta:c,aspectClass:"mt-1 aspect-[4/5]",sizes:"(max-width: 1100px) 100vw, 420px",editing:u}),e(z,{cta:g,className:"mt-2 self-start"})]}),e("ol",{className:"flex flex-col gap-12",children:o.map((l,x)=>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 text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:"max-w-[640px]",children:e(d,{entry:l})})]},x))})]}):n("div",{children:[n("header",{className:"mx-auto flex max-w-[760px] flex-col items-center gap-6 text-center",children:[e(w,{eyebrow:a,title:i,intro:r,center:!0}),e(z,{cta:g})]}),e(y,{src:p,caption:m,meta:c,aspectClass:"mx-auto mt-12 aspect-[16/9] w-full max-w-[900px]",sizes:"(max-width: 900px) 100vw, 900px",editing:u}),t==="spine"?e("ol",{className:"relative mx-auto mt-16 max-w-[760px]",children:o.map((l,x)=>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:k}),e("div",{className:"mb-2 font-mono text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:"max-w-[640px]",children:e(d,{entry:l})})]},x))}):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"}),o.map((l,x)=>{const b=x%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:k}),n("div",{className:b?"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 text-[length:var(--size-label,13px)] tracking-[0.24em] text-accent",children:l.date?s(l.date):""}),e("div",{className:["max-w-[520px] max-[800px]:max-w-none",b?"min-[801px]:ml-auto":""].join(" "),children:e(d,{entry:l})})]})]},x)})]})]})})})}export{E as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as w}from"../lib/site-runtime.js";import z from"./EditorialSectionHead.js";import c from"./PartStyledText.js";import{withRMark as l}from"./RMark.js";import{renderGold as f,renderHeadline as S}from"./goldPhrases.js";function B({eyebrow:g,title:o,intro:p,entries:u,cta:n,padTop:x,padBottom:s,background:b,editing:h,omitHead:d=!1}={}){const v=typeof x=="number"?x:120,N=typeof s=="number"?s:120,m=b??"var(--section-bg)",y=m!=="transparent",r=(u??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(r.length===0&&!h)return null;const j=r.filter(e=>!e.future).length,k=r.length?j/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:v,paddingBottom:N,...y?{backgroundColor:m}:{}},children:[d?null:t(z,{num:g,title:o?S(o):void 0,desc:p?f(p,!0):void 0,spaceBelow:"",className:"text-fg"}),a("div",{className:d?"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:`${k}%`}})}),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 text-[length:var(--size-label,13px)] tracking-[0.22em]",e.future?"text-fg-dim":"text-accent"].join(" "),children:e.date?t(c,{value:e.date,children:l(e.date)}):""}),e.title&&t("h3",{className:"whitespace-pre-line font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg",children:t(c,{value:e.title,children:l(e.title)})}),e.blurb&&t("p",{className:"mt-auto font-display text-[length:var(--size-body,13px)] leading-[1.55] text-fg-dim",children:f(e.blurb,!0)})]},i))]}),n?.text&&t("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:a(w,{href:n.href,className:"group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[l(n.text),t("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"
|
|
1
|
+
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{SiteLink as w}from"../lib/site-runtime.js";import z from"./EditorialSectionHead.js";import c from"./PartStyledText.js";import{withRMark as l}from"./RMark.js";import{renderGold as f,renderHeadline as S}from"./goldPhrases.js";function B({eyebrow:g,title:o,intro:p,entries:u,cta:n,padTop:x,padBottom:s,background:b,editing:h,omitHead:d=!1}={}){const v=typeof x=="number"?x:120,N=typeof s=="number"?s:120,m=b??"var(--section-bg)",y=m!=="transparent",r=(u??[]).filter(e=>(e.date??"").trim()||(e.title??"").trim()||(e.blurb??"").trim());if(r.length===0&&!h)return null;const j=r.filter(e=>!e.future).length,k=r.length?j/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:v,paddingBottom:N,...y?{backgroundColor:m}:{}},children:[d?null:t(z,{num:g,title:o?S(o):void 0,desc:p?f(p,!0):void 0,spaceBelow:"",className:"text-fg"}),a("div",{className:d?"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:`${k}%`}})}),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 text-[length:var(--size-label,13px)] tracking-[0.22em]",e.future?"text-fg-dim":"text-accent"].join(" "),children:e.date?t(c,{value:e.date,children:l(e.date)}):""}),e.title&&t("h3",{className:"whitespace-pre-line font-heading3 text-[length:var(--size-headingSmall,20px)] font-medium uppercase leading-[1.1] tracking-[-0.02em] text-fg",children:t(c,{value:e.title,children:l(e.title)})}),e.blurb&&t("p",{className:"mt-auto font-display text-[length:var(--size-body,13px)] leading-[1.55] text-fg-dim",children:f(e.blurb,!0)})]},i))]}),n?.text&&t("div",{className:"mt-12 flex justify-end border-t border-line pt-8",children:a(w,{href:n.href,className:"group inline-flex items-center gap-3.5 border border-line px-6 py-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[l(n.text),t("span",{"aria-hidden":!0,className:"text-accent transition-transform group-hover:translate-x-[3px]",children:"→"})]})})]})})}export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t,jsxs as l}from"react/jsx-runtime";import{SiteLink as b}from"../lib/site-runtime.js";import{renderHeadline as v}from"./goldPhrases.js";function w({title:s,buttons:m,padTop:x,padBottom:o,buttonsAlign:a,editing:p=!1}={}){const d=typeof x=="number"?x:140,c=typeof o=="number"?o:140,r=(m??[]).filter(e=>p||(e.label??"").trim()),i=!!(s??"").trim(),n=!i&&(a==="center"||a==="left")?a:null;return!p&&!i&&r.length===0?null:t("section",{className:"relative z-[2] bg-bg",children:l("div",{className:n==="center"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":n==="left"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-start gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[1fr_auto] items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:{paddingTop:d,paddingBottom:c},children:[n===null&&!i&&r.length>0&&t("div",{"aria-hidden":!0,className:"max-[1100px]:hidden"}),i&&t("h2",{className:"max-w-[1000px] font-display text-[length:min(var(--size-headingLarge,clamp(48px,7vw,108px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.94] tracking-[-0.035em] text-fg",children:v(s??"")}),r.length>0&&t("div",{className:"flex min-w-[280px] flex-col gap-3.5 max-[1100px]:min-w-0",children:r.map((e,f)=>{const g=(e.label??"").trim()||"Button label",h=e.href||"#",u=e.variant==="primary";return l(b,{href:h,className:["flex items-center justify-between gap-6 px-7 py-5","font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] transition-colors",u?"border border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg":"border border-line text-fg hover:border-accent hover:text-accent"].join(" "),children:[g," ",t("span",{"aria-hidden":!0,children:"
|
|
1
|
+
import{jsx as t,jsxs as l}from"react/jsx-runtime";import{SiteLink as b}from"../lib/site-runtime.js";import{renderHeadline as v}from"./goldPhrases.js";function w({title:s,buttons:m,padTop:x,padBottom:o,buttonsAlign:a,editing:p=!1}={}){const d=typeof x=="number"?x:140,c=typeof o=="number"?o:140,r=(m??[]).filter(e=>p||(e.label??"").trim()),i=!!(s??"").trim(),n=!i&&(a==="center"||a==="left")?a:null;return!p&&!i&&r.length===0?null:t("section",{className:"relative z-[2] bg-bg",children:l("div",{className:n==="center"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":n==="left"?"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-1 items-center justify-items-start gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[1fr_auto] items-center gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",style:{paddingTop:d,paddingBottom:c},children:[n===null&&!i&&r.length>0&&t("div",{"aria-hidden":!0,className:"max-[1100px]:hidden"}),i&&t("h2",{className:"max-w-[1000px] font-display text-[length:min(var(--size-headingLarge,clamp(48px,7vw,108px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] [&_em]:[font-weight:var(--sf-heading-weight-strong,inherit)] leading-[0.94] tracking-[-0.035em] text-fg",children:v(s??"")}),r.length>0&&t("div",{className:"flex min-w-[280px] flex-col gap-3.5 max-[1100px]:min-w-0",children:r.map((e,f)=>{const g=(e.label??"").trim()||"Button label",h=e.href||"#",u=e.variant==="primary";return l(b,{href:h,className:["flex items-center justify-between gap-6 px-7 py-5","font-mono text-[length:var(--size-label,14px)] uppercase tracking-[0.3em] transition-colors",u?"border border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg":"border border-line text-fg hover:border-accent hover:text-accent"].join(" "),children:[g," ",t("span",{"aria-hidden":!0,children:"→"})]},f)})})]})})}export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as w}from"react/jsx-runtime";import{useCallback as k,useEffect as f,useState as M}from"react";import{ExternalIcon as Y}from"efficient-easel/icons";import{
|
|
1
|
+
"use client";import{jsx as t,jsxs as w}from"react/jsx-runtime";import{useCallback as k,useEffect as f,useState as M}from"react";import{ExternalIcon as Y}from"efficient-easel/icons";import{Tooltip as F}from"efficient-shell/ui";import{SettingsSwitch as G}from"efficient-easel/panel";import{PagesIcon as j,StylesIcon as z}from"efficient-easel/rail";import{TreeRow as K}from"efficient-easel/tree";import U from"./HeadingAudit.js";import{LocationsTreeContext as Z}from"./LocationsTreeContext.js";import q from"./PagesPanel.js";import{usePreviewChat as X}from"./PreviewChatContext.js";import{PREVIEW_DEVICES as J}from"./preview-devices.js";import{PreviewDeviceContext as Q}from"./PreviewDeviceContext.js";import{usePreviewHeader as $}from"./PreviewHeaderContext.js";import{usePreviewSocial as ee}from"./PreviewSocialContext.js";import{usePreviewSurface as te}from"./PreviewSurfaceContext.js";import{TICKER_PART_LABEL as oe,usePreviewTicker as re}from"./PreviewTickerContext.js";import ie,{CHAT_MODE as se,HEADER_MODE as O,SOCIAL_MODE as ne,WEBSITE_MODE as y}from"./SectionEditor.js";import g from"./SectionIcon.js";import ae from"./SectionThumbnail.js";import{useStorefrontDocument as I}from"./StorefrontDocumentContext.js";import ce from"./StylesPanel.js";import le from"./TemplateGlyph.js";import{useFooterFocus as de}from"./useFooterFocus.js";import{LOCATIONS_TYPE as pe,useLocationsTree as me}from"./useLocationsTree.js";import{usePinnedChromeSeed as fe}from"./usePinnedChromeSeed.js";import{usePreviewHref as ue}from"./usePreviewHref.js";import{SITE_STYLES_TABS as Se,SITE_STYLES_TEXT_TAB as Ee,useWebsiteName as Te}from"./WebsiteSettingsPanel.js";import{HERO_GROUP_TYPE as he,duplicateBlocked as we,heroGroupNestDepth as Pe}from"../lib/hero-group-placement.js";import{stripMarkup as be}from"../lib/markup.js";import{categoryShortLabel as ve,PINNED_SECTION_TYPE as ke}from"../lib/puck/add-palette.js";import{canAddTo as ge}from"../lib/puck/add-target.js";import{blockIsOffered as Ie}from"../lib/puck/block-offer.js";import{sectionIdOfBoxZone as Ce,setBookingPreview as _e}from"../lib/puck/booking-preview.js";import{footerBlockRowName as Le}from"../lib/puck/footer-block-row-name.js";import{FOOTER_TYPE as Oe,HEADER_TYPE as A}from"../lib/puck/footer-blocks.js";import{leftViewForSelection as ye,readLeftView as Ae,resolveLeftView as Be,writeLeftView as Ne}from"../lib/puck/left-view.js";import{isLockedBlock as Re}from"../lib/puck/locked-blocks.js";import{scrollPreviewToSection as He,scrollPreviewToTop as B}from"../lib/puck/preview-dom.js";import{SiteCanvas as De}from"../lib/puck/overrides.js";import{labelAtLevel as Ve}from"../lib/puck/section-catalog.js";import{SECTION_DESCRIPTIONS as xe}from"../lib/puck/section-descriptions.js";import{isSectionGroupType as We,sectionGroupZone as Me,SITE_FOOTER_TYPE as Ye,SITE_HEADER_TYPE as Fe}from"../lib/puck/section-groups.js";import{resolveSaveAsTemplateAction as Ge,SAVE_AS_TEMPLATE_EVENT as je}from"../lib/save-as-template-action.js";import{newSectionNode as ze}from"../lib/sections/new-section-node.js";import{useHostProducts as Ke}from"../lib/use-host-products.js";function N({mode:e,open:o}){const{setSelectedHeroId:r,setSelectHandler:c}=re(),l=e,s=l.kind==="ticker"?l.heroId:null,n=k(i=>{if(!i)return;o({kind:"ticker",heroId:i}),He(i)},[o]);return f(()=>{r(s)},[s,r]),f(()=>{c(n)},[c,n]),{partRows:(i,{rowClick:m})=>{const a=String(i.props.id);return i.type==="Hero"&&t(K,{icon:t(g,{type:"ticker",size:13}),name:oe,onSelect:()=>n(a),selected:s===a,rowProps:{onClick:m(()=>n(a))}})}}}function Ue(){const{adapter:e,capabilities:o,currentSlug:r,siteId:c,hasUnsavedEdits:l,bridgeCapabilities:s,notifyParent:n,token:i}=I(),{hasPreviewLink:m}=o,a=Ge({hasTrustedConsole:!!i,canCreatePlatformTemplate:s.canCreatePlatformTemplate,capabilities:o,siteId:c,hasUnsavedEdits:l}),T=k(()=>{!c||!r||n(je,{siteId:c,slug:r})},[n,c,r]),u=ue({pageSlug:r,siteId:c,token:i}),S=e.previewHref?.(r)??u;return{barLead:()=>a.visible&&w("button",{type:"button",className:"es-btn-ghost",disabled:!a.enabled,title:a.enabled?"Save this website as a platform template":a.disabledReason,onClick:T,children:["Save as Template",t(le,{})]}),barTrail:()=>m&&r&&t(F,{content:"Preview the live site (opens in a new tab)",children:w("a",{className:"es-btn-ghost",href:S,target:"_blank",rel:"noopener noreferrer","aria-label":"Preview the live site in a new tab",children:["Preview",t(Y,{size:15})]})})}}function Ze(){return w("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:[t("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"}),t("circle",{cx:"7.7",cy:"11.3",r:"1.05",fill:"currentColor",stroke:"none"}),t("circle",{cx:"12",cy:"8",r:"1.05",fill:"currentColor",stroke:"none"}),t("circle",{cx:"16",cy:"11",r:"1.05",fill:"currentColor",stroke:"none"})]})}function qe(e,o){const{capabilities:r,templateId:c,siteId:l,tokenRef:s,navigate:n}=I(),{hasSiteTheme:i,explainsSiteSettings:m}=r,a=d=>o.setView(d),[T,u]=M(Se[0].id),{surface:S,setSurface:P}=te(),b=()=>{if(i){a("styles"),o.reveal(),B();return}e.show(y),e.reveal(),B()},v={id:"pages",label:"Pages",icon:t(j,{}),panel:({onHide:d})=>t(q,{activeSurface:S,onPreviewSurface:P,onNavigate:p=>{P(null),n(c?{kind:"template",id:c,pageSlug:p}:{kind:"page",slug:p,siteId:l??void 0})},onClose:d})},E=[];return!i&&m&&E.push({id:"appearance",label:"Appearance",icon:t(Ze,{}),active:e.kind==="website",onSelect:b}),i&&E.push({id:"styles",label:"Site styles",icon:t(z,{}),panel:({onHide:d,notify:p})=>t(ce,{tokenRef:s,siteId:l??void 0,onClose:d,onNotify:p,tab:T,onTabChange:u})}),{railLead:[v],railTrail:E,resolveLeftView:(d,p)=>Be(d,i,p),openSettings:b,openStyles:()=>{u(Ee),a("styles")}}}function Xe(e,o,r,c){const{kind:l,open:s}=e,{selected:n,zoneOf:i}=o,m=de(o,r);f(()=>{_e(n?.type==="BookingBox"&&n.props.region==="confirm"?Ce(i(String(n.props.id))):null)},[n?.props.id]);const a=me(e,o),{capabilities:{hasSiteSettings:T}}=I(),{setSelected:u,setSelectHandler:S}=$(),{chat:P,setChat:b,setSelected:v,setSelectHandler:E}=X(),d=l==="header";f(()=>{u(d)},[d,u]),f(()=>{S(()=>s(O))},[S,s]);const p=k(()=>s(se),[s]),C=l==="chat";f(()=>{v(C)},[C,v]),f(()=>{E(p)},[E,p]);const{setOpenHandler:_}=ee(),L=k(()=>s(ne),[s]);f(()=>{_(L)},[_,L]);const H=N(e),D=Ue(),V=qe(e,c),x=r.device;return{...m,...H,...D,...V,treeFoot:()=>t("div",{className:"sf-tree-tool",children:t(U,{})}),hasOwnRows:h=>h.type===pe,ownRows:a.renderLocationTree,sectionPressed:a.sectionPressed,wrap:h=>t(Z.Provider,{value:!0,children:t(Q.Provider,{value:x,children:h})}),addPanelRow:h=>T?w("div",{className:"sf-addside-sitewide",children:[t("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:t(g,{type:"chat",size:16})}),w("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{h(),p()},children:["Live chat",t("span",{className:"sf-addside-sitewide-desc",children:"A chat bubble on every page"})]}),t(G,{checked:P.enabled,onChange:W=>b({enabled:W}),ariaLabel:"Show the chat bubble on the whole site"})]}):void 0}}const Je={isLockedBlock:Re,duplicateBlocked:we,nestDepth:(e,o,r)=>o===he?Pe(e,r):0,newSectionNode:ze,canAddTo:ge,blockIsOffered:Ie},Qe={labelAtLevel:Ve,descriptions:xe,categoryLabel:ve,firstSection:ke,blockRowName:Le,plainText:be,Icon:g,Thumbnail:ae,useProducts:Ke},$e={desktop:2e3,tablet:800,mobile:390},R="desktop",et={options:J,initial:R,fluid:R,widths:$e},tt={read:Ae,write:e=>Ne(e),forSelection:(e,o)=>ye(e,o)},ot={first:A,last:Oe,firstGroup:Fe,lastGroup:Ye,isSectionGroup:We,sectionGroupZone:Me,panelOf:e=>e===A?O:null};function rt(e){return{...N(e),openSettings:()=>e.show(y)}}const Xt={useOwnerName:Te,useBridges:Xe,useStandaloneBridges:rt,useDocumentPass:fe,blockRules:Je,blockLook:Qe,devices:et,leftView:tt,pinned:ot,Canvas:De,Inspector:ie};export{Xt as WEBSITE_SCREEN};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as n,jsxs as y,Fragment as w}from"react/jsx-runtime";import{useEasel as F}from"efficient-easel/easel";import{useEffect as L,useRef as N,useState as x}from"react";import k from"./ThemeField.js";import W from"./CornersField.js";import v from"./CardShadowField.js";import B from"./ShadowColourField.js";import O from"./BlockGapField.js";import A from"./HoverEffectField.js";import j from"./HeroImageField.js";import U from"./PhotographyField.js";import Y from"./SideSpaceField.js";import M from"./SiteWidthField.js";import X from"./TextStylesField.js";import{usePreviewHeader as f}from"./PreviewHeaderContext.js";import{SettingsTabs as $}from"efficient-easel/panel";import{ContrastIcon as q,NoteIcon as J,SettingsIcon as Z,TypeIcon as K}from"efficient-easel/icons";import{useThemeRowPersist as Q}from"../lib/theme-row-persist.js";import{themeSaveNotice as V}from"../lib/theme-save-message.js";import{NEUTRAL_SITE_NAME as D}from"../lib/content/site-name.js";import{normalizeFonts as ee}from"../lib/fonts.js";import{previewFrame as oe}from"../lib/puck/preview-dom.js";import{CORNER_STYLE_TO_PX as te,normalizeCornerRadius as ne,normalizeCornerStyle as re,normalizeShadowColor as se,headingTypographyToRow as ie,normalizeHeadingCompression as ae,normalizeHeadingTypography as ce,DEFAULT_SIZES as le}from"../lib/theme.js";const b="sf-site-styles-tabpanel",de=!1,pe="Show hints";function he({shown:e,onChange:o}){return n("div",{className:"sf-hints",children:y("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[n(J,{size:13}),pe]})})}const lo="text",R=[{id:"basics",label:"Basics",icon:n(Z,{}),htmlId:"sf-site-styles-tab-basics",panelId:b},{id:"theme",label:"Theme",icon:n(q,{}),htmlId:"sf-site-styles-tab-theme",panelId:b},{id:"text",label:"Text",icon:n(K,{}),htmlId:"sf-site-styles-tab-text",panelId:b}];function ue({themeFromDocument:e,persist:o}){const{appState:s,dispatch:r}=F(u=>u),{theme:a,setTheme:t}=f(),c=s.data,h=c.root?.props??{},i=u=>{if(e){const g={...h,theme:u};r({type:"replaceRoot",root:{...c.root,props:g},recordHistory:!0})}else t(u);o({selected_preset:u.selected,theme_presets:u.themes})};return n(k,{value:e?h.theme:a,onChange:i})}function ge(e,o){const[s,r]=x(null),a=N(null),t=JSON.stringify(e),c=N(o);return c.current=o,L(()=>{if(a.current===null){a.current=t;return}if(a.current===t)return;a.current=t;const h=window.setTimeout(()=>r(c.current),700),i=window.setTimeout(()=>r(null),2200);return()=>{window.clearTimeout(h),window.clearTimeout(i)}},[t]),s}function fe({themeFromDocument:e,persist:o}){const{appState:s,dispatch:r}=F(d=>d),[a,t]=x(null),{fonts:c,setFonts:h,sizes:i,setSizes:u,headingCompression:g,setHeadingCompression:S,headingTypography:_,setHeadingTypography:l}=f(),T=s.data,m=T.root?.props??{},C=e?ee(m.fonts):c,E=e?le:i,z=e?ae(m.headingCompression):g,I=e?ce(m.headingTypography):_,H=d=>r({type:"replaceRoot",root:{...T.root,props:{...m,...d}},recordHistory:!0}),G=ge({curFonts:C,curCompression:z,curTypography:I},a);return n(X,{fonts:C,sizes:E,compression:z,headingTypography:I,openRole:a,onOpenRole:t,onFontChange:(d,P)=>{const p={...C,[d]:P};e?H({fonts:p}):h(p),o({heading_font:p.heading,body_font:p.body,accent_font:p.accent,label_font:p.label})},onSizeChange:e?void 0:(d,P)=>{const p={...E,[d]:P};u(p),o({heading_size_large_px:p.headingLarge,heading_size_medium_px:p.headingMedium,heading_size_small_px:p.headingSmall,accent_size_px:p.accent,body_size_px:p.body,label_size_px:p.label})},onCompressionChange:d=>{e?H({headingCompression:d}):S(d),o({heading_compression:d})},onHeadingTypographyChange:d=>{e?H({headingTypography:d}):l(d),o(ie(d))},livePx:Ce,savedRole:G})}const me={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function Ce(e){if(typeof document>"u")return null;const s=(oe()?.contentDocument??document).querySelector(me[e]);if(!s)return null;const r=parseFloat(getComputedStyle(s).fontSize);return Number.isFinite(r)?r:null}function ye({themeFromDocument:e,persist:o,showHint:s}){const{appState:r,dispatch:a}=F(l=>l),{cornerRadiusPx:t,setCornerRadiusPx:c}=f(),h=r.data,i=h.root?.props??{},u=i.cornerRadiusPx===void 0?te[re(i.cornerStyle)]:ne(i.cornerRadiusPx),g=e?u:t,S=l=>a({type:"replaceRoot",root:{...h.root,props:{...i,...l}},recordHistory:!0});return n(W,{value:g,onChange:l=>{e?S({cornerRadiusPx:l}):c(l),o({corner_radius_px:l})},showHint:s})}function Se(e){return{site_width:e}}function _e({persist:e,showHint:o}){const{siteWidth:s,setSiteWidth:r}=f();return n(M,{value:s,onChange:t=>{r(t),e(Se(t),t===null)},showHint:o})}function we(e){return{block_gap:e}}function Te(e){return{site_gutter:e}}function xe({persist:e,showHint:o}){const{siteGutter:s,setSiteGutter:r}=f();return n(Y,{value:s,onChange:t=>{r(t),e(Te(t),t===null)},showHint:o})}function be({persist:e,showHint:o}){const{blockGap:s,setBlockGap:r}=f();return n(O,{value:s,onChange:t=>{r(t),e(we(t),t===null)},showHint:o})}function Re({persist:e,showHint:o}){const{heroBackgroundFollowsWidth:s,setHeroBackgroundFollowsWidth:r}=f();return n(j,{value:s,onChange:t=>{r(t),e({hero_background_follows_width:t},!0)},showHint:o})}function He({persist:e,showHint:o=!0}){return y(w,{children:[n(_e,{persist:e,showHint:o}),n(xe,{persist:e,showHint:o}),n(be,{persist:e,showHint:o}),n(Re,{persist:e,showHint:o})]})}function Pe(e){return{card_shadow:e}}function Fe(e){return e===null?{shadow_color:null}:{shadow_color:se(e)}}function Ee(e){return{hover_effect:e}}function ze({persist:e,showHint:o=!0}){const{cardShadow:s,setCardShadow:r,shadowColor:a,setShadowColor:t,hoverEffect:c,setHoverEffect:h}=f();return y(w,{children:[n(v,{value:s,onChange:i=>{r(i),e(Pe(i),!0)},showHint:o}),n(B,{value:a,onChange:i=>{t(i),e(Fe(i),i===null)},showHint:o}),n(A,{value:c,onChange:i=>{h(i),e(Ee(i),!0)},showHint:o})]})}function Ie(e){return{photography_grayscale:e}}function Ne({persist:e,showHint:o}){const{photographyGrayscale:s,setPhotographyGrayscale:r}=f();return n(U,{value:s,onChange:t=>{r(t),e(Ie(t),!0)},showHint:o})}function Ge({persist:e,showHint:o=!0}){return n(w,{children:n(Ne,{persist:e,showHint:o})})}function Le(){const{websiteName:e}=f();return e?.trim()||D}function po(){const e=Le();return n("p",{className:"sf-panel-site",title:`${e}
|
|
1
|
+
"use client";import{jsx as n,jsxs as y,Fragment as w}from"react/jsx-runtime";import{useEasel as F}from"efficient-easel/easel";import{useEffect as L,useRef as N,useState as x}from"react";import k from"./ThemeField.js";import W from"./CornersField.js";import v from"./CardShadowField.js";import B from"./ShadowColourField.js";import O from"./BlockGapField.js";import A from"./HoverEffectField.js";import j from"./HeroImageField.js";import U from"./PhotographyField.js";import Y from"./SideSpaceField.js";import M from"./SiteWidthField.js";import X from"./TextStylesField.js";import{usePreviewHeader as f}from"./PreviewHeaderContext.js";import{SettingsTabs as $}from"efficient-easel/panel";import{ContrastIcon as q,NoteIcon as J,SettingsIcon as Z,TypeIcon as K}from"efficient-easel/icons";import{useThemeRowPersist as Q}from"../lib/theme-row-persist.js";import{themeSaveNotice as V}from"../lib/theme-save-message.js";import{NEUTRAL_SITE_NAME as D}from"../lib/content/site-name.js";import{normalizeFonts as ee}from"../lib/fonts.js";import{previewFrame as oe}from"../lib/puck/preview-dom.js";import{CORNER_STYLE_TO_PX as te,normalizeCornerRadius as ne,normalizeCornerStyle as re,normalizeShadowColor as se,headingTypographyToRow as ie,normalizeHeadingCompression as ae,normalizeHeadingTypography as ce,DEFAULT_SIZES as le}from"../lib/theme.js";const b="sf-site-styles-tabpanel",de=!1,pe="Show hints";function he({shown:e,onChange:o}){return n("div",{className:"sf-hints",children:y("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[n(J,{size:13}),pe]})})}const lo="text",R=[{id:"basics",label:"Basics",icon:n(Z,{}),htmlId:"sf-site-styles-tab-basics",panelId:b},{id:"theme",label:"Theme",icon:n(q,{}),htmlId:"sf-site-styles-tab-theme",panelId:b},{id:"text",label:"Text",icon:n(K,{}),htmlId:"sf-site-styles-tab-text",panelId:b}];function ue({themeFromDocument:e,persist:o}){const{appState:s,dispatch:r}=F(u=>u),{theme:a,setTheme:t}=f(),c=s.data,h=c.root?.props??{},i=u=>{if(e){const g={...h,theme:u};r({type:"replaceRoot",root:{...c.root,props:g},recordHistory:!0})}else t(u);o({selected_preset:u.selected,theme_presets:u.themes})};return n(k,{value:e?h.theme:a,onChange:i})}function ge(e,o){const[s,r]=x(null),a=N(null),t=JSON.stringify(e),c=N(o);return c.current=o,L(()=>{if(a.current===null){a.current=t;return}if(a.current===t)return;a.current=t;const h=window.setTimeout(()=>r(c.current),700),i=window.setTimeout(()=>r(null),2200);return()=>{window.clearTimeout(h),window.clearTimeout(i)}},[t]),s}function fe({themeFromDocument:e,persist:o}){const{appState:s,dispatch:r}=F(d=>d),[a,t]=x(null),{fonts:c,setFonts:h,sizes:i,setSizes:u,headingCompression:g,setHeadingCompression:S,headingTypography:_,setHeadingTypography:l}=f(),T=s.data,m=T.root?.props??{},C=e?ee(m.fonts):c,E=e?le:i,z=e?ae(m.headingCompression):g,I=e?ce(m.headingTypography):_,H=d=>r({type:"replaceRoot",root:{...T.root,props:{...m,...d}},recordHistory:!0}),G=ge({curFonts:C,curCompression:z,curTypography:I},a);return n(X,{fonts:C,sizes:E,compression:z,headingTypography:I,openRole:a,onOpenRole:t,onFontChange:(d,P)=>{const p={...C,[d]:P};e?H({fonts:p}):h(p),o({heading_font:p.heading,body_font:p.body,accent_font:p.accent,label_font:p.label})},onSizeChange:e?void 0:(d,P)=>{const p={...E,[d]:P};u(p),o({heading_size_large_px:p.headingLarge,heading_size_medium_px:p.headingMedium,heading_size_small_px:p.headingSmall,accent_size_px:p.accent,body_size_px:p.body,label_size_px:p.label})},onCompressionChange:d=>{e?H({headingCompression:d}):S(d),o({heading_compression:d})},onHeadingTypographyChange:d=>{e?H({headingTypography:d}):l(d),o(ie(d))},livePx:Ce,savedRole:G})}const me={heading:"main h1, main h2",heading2:"main h1, main h2",heading3:"main h1, main h2",accent:"main h1 em, main h2 em",body:"main p",label:"main .mono-eyebrow"};function Ce(e){if(typeof document>"u")return null;const s=(oe()?.contentDocument??document).querySelector(me[e]);if(!s)return null;const r=parseFloat(getComputedStyle(s).fontSize);return Number.isFinite(r)?r:null}function ye({themeFromDocument:e,persist:o,showHint:s}){const{appState:r,dispatch:a}=F(l=>l),{cornerRadiusPx:t,setCornerRadiusPx:c}=f(),h=r.data,i=h.root?.props??{},u=i.cornerRadiusPx===void 0?te[re(i.cornerStyle)]:ne(i.cornerRadiusPx),g=e?u:t,S=l=>a({type:"replaceRoot",root:{...h.root,props:{...i,...l}},recordHistory:!0});return n(W,{value:g,onChange:l=>{e?S({cornerRadiusPx:l}):c(l),o({corner_radius_px:l})},showHint:s})}function Se(e){return{site_width:e}}function _e({persist:e,showHint:o}){const{siteWidth:s,setSiteWidth:r}=f();return n(M,{value:s,onChange:t=>{r(t),e(Se(t),t===null)},showHint:o})}function we(e){return{block_gap:e}}function Te(e){return{site_gutter:e}}function xe({persist:e,showHint:o}){const{siteGutter:s,setSiteGutter:r}=f();return n(Y,{value:s,onChange:t=>{r(t),e(Te(t),t===null)},showHint:o})}function be({persist:e,showHint:o}){const{blockGap:s,setBlockGap:r}=f();return n(O,{value:s,onChange:t=>{r(t),e(we(t),t===null)},showHint:o})}function Re({persist:e,showHint:o}){const{heroBackgroundFollowsWidth:s,setHeroBackgroundFollowsWidth:r}=f();return n(j,{value:s,onChange:t=>{r(t),e({hero_background_follows_width:t},!0)},showHint:o})}function He({persist:e,showHint:o=!0}){return y(w,{children:[n(_e,{persist:e,showHint:o}),n(xe,{persist:e,showHint:o}),n(be,{persist:e,showHint:o}),n(Re,{persist:e,showHint:o})]})}function Pe(e){return{card_shadow:e}}function Fe(e){return e===null?{shadow_color:null}:{shadow_color:se(e)}}function Ee(e){return{hover_effect:e}}function ze({persist:e,showHint:o=!0}){const{cardShadow:s,setCardShadow:r,shadowColor:a,setShadowColor:t,hoverEffect:c,setHoverEffect:h}=f();return y(w,{children:[n(v,{value:s,onChange:i=>{r(i),e(Pe(i),!0)},showHint:o}),n(B,{value:a,onChange:i=>{t(i),e(Fe(i),i===null)},showHint:o}),n(A,{value:c,onChange:i=>{h(i),e(Ee(i),!0)},showHint:o})]})}function Ie(e){return{photography_grayscale:e}}function Ne({persist:e,showHint:o}){const{photographyGrayscale:s,setPhotographyGrayscale:r}=f();return n(U,{value:s,onChange:t=>{r(t),e(Ie(t),!0)},showHint:o})}function Ge({persist:e,showHint:o=!0}){return n(w,{children:n(Ne,{persist:e,showHint:o})})}function Le(){const{websiteName:e}=f();return e?.trim()||D}function po(){const e=Le();return n("p",{className:"sf-panel-site",title:`${e} — renamed in the Console: Storefront ▸ Sites ▸ Settings.`,children:e})}function ke({themeFromDocument:e=!1,tokenRef:o,siteId:s,onNotify:r,tab:a,onTabChange:t}){const{persist:c}=Q({themeFromDocument:e,tokenRef:o,siteId:s,onResult:m=>{const C=V(m);C&&r?.(C.msg,C.tone)}}),[h,i]=x(R[0].id),u=a!==void 0,g=u?a:h,S=u?t??(()=>{}):i,_=R.find(m=>m.id===g)??R[0],[l,T]=x(de);return y(w,{children:[n($,{items:R,activeId:_.id,onSelect:S,ariaLabel:"Site styles"}),y("div",{id:b,role:"tabpanel","aria-labelledby":_.htmlId,children:[g==="basics"&&y(w,{children:[n(ye,{themeFromDocument:e,persist:c,showHint:l}),!e&&n(ze,{persist:c,showHint:l}),!e&&n(He,{persist:c,showHint:l}),!e&&n(Ge,{persist:c,showHint:l}),n(he,{shown:l,onChange:T})]}),g==="theme"&&n(ue,{themeFromDocument:e,persist:c}),g==="text"&&n(fe,{themeFromDocument:e,persist:c})]})]})}export{ze as CardLookFields,he as HintsToggle,He as PageGroupFields,Ge as PhotographyGroupFields,de as SHOW_HINTS_DEFAULT,R as SITE_STYLES_TABS,lo as SITE_STYLES_TEXT_TAB,b as TABPANEL_ID,po as WebsiteNameReadonly,we as blockGapPatch,Pe as cardShadowPatch,ke as default,Ee as hoverEffectPatch,Ie as photographyPatch,Fe as shadowColourPatch,Te as siteGutterPatch,Se as siteWidthPatch,Le as useWebsiteName};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t,jsxs as u}from"react/jsx-runtime";import{Fragment as d}from"react";import{linePrefix as N,storefrontLines as L}from"../lib/markup.js";import{COLOUR_TOKEN as h,WORD_STYLE_ATTR as _,WORD_STYLE_BY_KIND as S}from"../lib/word-styles.js";import{isHexColour as g}from"../lib/puck/part-styles.js";import a from"./PartStyledText.js";import{withRMark as f}from"./RMark.js";function E(e,n=!1){const s=m(n),r=L(e);if(r.length===1){const[c]=r,l=N(c),b=l?w(l,c.children):c.children;return t(a,{value:e,children:o(b,s)})}const i=[];return r.forEach((c,l)=>{if(c.bullet){i.push(t("span",{"data-sf-bullet":"",className:T,children:o(c.children,s)},l));return}if(c.number!=null){i.push(u("span",{"data-sf-number":c.number,className:R,children:[u("span",{className:k,children:[c.number,"."]}),o(c.children,s)]},l));return}l>0&&!C(r[l-1])&&i.push(t("br",{},`br${l}`)),i.push(t(d,{children:o(c.children,s)},l))}),t(a,{value:e,children:i})}const T="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['
|
|
1
|
+
import{jsx as t,jsxs as u}from"react/jsx-runtime";import{Fragment as d}from"react";import{linePrefix as N,storefrontLines as L}from"../lib/markup.js";import{COLOUR_TOKEN as h,WORD_STYLE_ATTR as _,WORD_STYLE_BY_KIND as S}from"../lib/word-styles.js";import{isHexColour as g}from"../lib/puck/part-styles.js";import a from"./PartStyledText.js";import{withRMark as f}from"./RMark.js";function E(e,n=!1){const s=m(n),r=L(e);if(r.length===1){const[c]=r,l=N(c),b=l?w(l,c.children):c.children;return t(a,{value:e,children:o(b,s)})}const i=[];return r.forEach((c,l)=>{if(c.bullet){i.push(t("span",{"data-sf-bullet":"",className:T,children:o(c.children,s)},l));return}if(c.number!=null){i.push(u("span",{"data-sf-number":c.number,className:R,children:[u("span",{className:k,children:[c.number,"."]}),o(c.children,s)]},l));return}l>0&&!C(r[l-1])&&i.push(t("br",{},`br${l}`)),i.push(t(d,{children:o(c.children,s)},l))}),t(a,{value:e,children:i})}const T="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['·']",R="relative block pl-[2em]",k="absolute left-0 w-[1.6em] text-right tabular-nums";function C(e){return e.bullet||e.number!=null}const O="text-accent underline underline-offset-[0.18em]";function w(e,n){const[s,...r]=n;return s?.kind==="text"?[{kind:"text",text:`${e}${s.text}`},...r]:[{kind:"text",text:e},...n]}function A(e){if(e)return g(e)?e:Object.hasOwn(h,e)?h[e]:void 0}function o(e,n){const s=[];let r=!1;return e.forEach((i,c)=>{if(i.kind==="text"){s.push(t("span",{children:f(i.text)},c)),r=!0;return}r||s.push(t("span",{},`e${c}`)),s.push(x(i,c,n)),r=!1}),r||s.push(t("span",{},"end")),s}function p(e,n){return e.length===1&&e[0].kind==="text"?f(e[0].text):e.map((s,r)=>s.kind==="text"?t(d,{children:f(s.text)},r):x(s,r,n))}function $(e,n=!1){return o(e,m(n))}function m(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function D(e){return t(a,{value:e,children:t("span",{children:e})})}function x(e,n,s){if(e.kind==="link")return t("a",{href:e.href,className:O,children:p(e.children,s)},n);const r=p(e.children,s),i=S[e.kind];if(i)return t("span",{[_]:i,children:r},n);switch(e.kind){case"underline":return t("u",{children:r},n);case"sup":return t("sup",{children:r},n);case"sub":return t("sub",{children:r},n);case"color":{const c=A(e.color);return c?t("span",{style:{color:c},children:r},n):t("span",{children:r},n)}case"accent":case"highlight":return t("em",{className:s,children:r},n);case"bold":return t("strong",{className:"font-semibold",children:r},n);case"italic":return t("em",{className:"italic",children:r},n);case"strike":return t("s",{className:"line-through",children:r},n);default:return t("span",{children:r},n)}}function P(e,n=!0){const s=e.split(`
|
|
2
2
|
`);return t(a,{value:e,children:s.map((r,i)=>u("span",{children:[E(r,n),i<s.length-1?t("br",{}):null]},i))})}function Y(e){return e.split(/\n\s*\n/).map(n=>n.trim()).filter(Boolean)}export{D as renderChrome,E as renderGold,P as renderHeadline,$ as renderMarkupNodes,Y as splitParagraphs};
|
|
@@ -458,90 +458,6 @@
|
|
|
458
458
|
}
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
-
/* ── The one destructive confirm in the panel (Reset color) ─────────────────
|
|
462
|
-
[ADD] Reset On Every Site Style. Every other reset on Site styles clears a
|
|
463
|
-
number or a rung; this one deletes a merchant's authored palettes, so it asks
|
|
464
|
-
first (owner's ruling 2026-09-05, option B).
|
|
465
|
-
|
|
466
|
-
THE COLOURS LIVE HERE RATHER THAN ON THE COMPONENT, and that is the rule
|
|
467
|
-
rather than a preference. `test-panel-colour-tokens` sweeps `components/` for
|
|
468
|
-
literals — "a literal there is a private copy of one step of that scale: it
|
|
469
|
-
does not move when the scale moves". The older `LeaveConfirmDialog` spells its
|
|
470
|
-
palette in Tailwind literals and predates that sweep; a second dialog copying
|
|
471
|
-
it would have passed review and failed the gate.
|
|
472
|
-
|
|
473
|
-
The destructive button takes the `--sf-danger*` family that already exists,
|
|
474
|
-
not a red of its own. The radius is the 9px the theme cards and the add-card
|
|
475
|
-
button already wear, so the dialog reads as the same object as the rest of the
|
|
476
|
-
panel rather than a new shape. */
|
|
477
|
-
.sf-cleardlg-veil {
|
|
478
|
-
position: fixed;
|
|
479
|
-
inset: 0;
|
|
480
|
-
z-index: 200;
|
|
481
|
-
display: flex;
|
|
482
|
-
align-items: center;
|
|
483
|
-
justify-content: center;
|
|
484
|
-
padding: 16px;
|
|
485
|
-
background: var(--sf-addcard-veil);
|
|
486
|
-
}
|
|
487
|
-
.sf-cleardlg {
|
|
488
|
-
width: 100%;
|
|
489
|
-
max-width: 360px;
|
|
490
|
-
box-sizing: border-box;
|
|
491
|
-
padding: 20px;
|
|
492
|
-
border: 1px solid var(--sf-line);
|
|
493
|
-
border-radius: 9px;
|
|
494
|
-
background: var(--sf-panel);
|
|
495
|
-
color: var(--sf-text);
|
|
496
|
-
box-shadow: 0 20px 50px var(--sf-accent-shadow);
|
|
497
|
-
}
|
|
498
|
-
.sf-cleardlg-title {
|
|
499
|
-
margin: 0;
|
|
500
|
-
font-size: 15px;
|
|
501
|
-
font-weight: 600;
|
|
502
|
-
color: var(--sf-text);
|
|
503
|
-
}
|
|
504
|
-
.sf-cleardlg-body {
|
|
505
|
-
margin: 8px 0 0;
|
|
506
|
-
font-size: 13px;
|
|
507
|
-
line-height: 1.6;
|
|
508
|
-
color: var(--sf-muted);
|
|
509
|
-
}
|
|
510
|
-
/* The one line a merchant must not skim. NOT red — the button already carries
|
|
511
|
-
the danger colour, and a red sentence over a red button is the panel shouting
|
|
512
|
-
twice. Full-strength ink and a heavier weight instead. */
|
|
513
|
-
.sf-cleardlg-final {
|
|
514
|
-
margin: 8px 0 0;
|
|
515
|
-
font-size: 13px;
|
|
516
|
-
line-height: 1.6;
|
|
517
|
-
font-weight: 500;
|
|
518
|
-
color: var(--sf-text);
|
|
519
|
-
}
|
|
520
|
-
.sf-cleardlg-btns {
|
|
521
|
-
display: flex;
|
|
522
|
-
justify-content: flex-end;
|
|
523
|
-
gap: 8px;
|
|
524
|
-
margin-top: 18px;
|
|
525
|
-
}
|
|
526
|
-
.sf-cleardlg-btn {
|
|
527
|
-
font-family: var(--sf-font);
|
|
528
|
-
font-size: 13px;
|
|
529
|
-
padding: 7px 14px;
|
|
530
|
-
border-radius: var(--sf-field-radius);
|
|
531
|
-
border: 1px solid var(--sf-btn-border);
|
|
532
|
-
background: var(--sf-panel);
|
|
533
|
-
color: var(--sf-btn-text);
|
|
534
|
-
cursor: pointer;
|
|
535
|
-
}
|
|
536
|
-
.sf-cleardlg-btn:hover { background: var(--sf-hover); }
|
|
537
|
-
.sf-cleardlg-btn--danger {
|
|
538
|
-
font-weight: 600;
|
|
539
|
-
border-color: var(--sf-danger-strong);
|
|
540
|
-
background: var(--sf-danger-strong);
|
|
541
|
-
color: var(--sf-on-accent);
|
|
542
|
-
}
|
|
543
|
-
.sf-cleardlg-btn--danger:hover { filter: brightness(0.94); }
|
|
544
|
-
|
|
545
461
|
.sf-addcard-overlay {
|
|
546
462
|
position: absolute;
|
|
547
463
|
inset: 0;
|
|
@@ -1050,83 +966,6 @@
|
|
|
1050
966
|
}
|
|
1051
967
|
}
|
|
1052
968
|
|
|
1053
|
-
/* "Duplicate to another page" dropdown — portalled to <body> and pinned under
|
|
1054
|
-
the inspector button (see DuplicateToPageMenu), so it's position:fixed and
|
|
1055
|
-
right-aligned. Shares the floating-menu language of .sf-blockmenu. */
|
|
1056
|
-
.sf-dupmenu-backdrop {
|
|
1057
|
-
position: fixed;
|
|
1058
|
-
inset: 0;
|
|
1059
|
-
z-index: 1000;
|
|
1060
|
-
}
|
|
1061
|
-
.sf-dupmenu {
|
|
1062
|
-
position: fixed;
|
|
1063
|
-
z-index: 1001;
|
|
1064
|
-
display: flex;
|
|
1065
|
-
flex-direction: column;
|
|
1066
|
-
gap: 1px;
|
|
1067
|
-
min-width: 200px;
|
|
1068
|
-
max-width: 280px;
|
|
1069
|
-
max-height: 60vh;
|
|
1070
|
-
overflow: auto;
|
|
1071
|
-
padding: 4px;
|
|
1072
|
-
border: 1px solid var(--sf-line);
|
|
1073
|
-
border-radius: 8px;
|
|
1074
|
-
background: var(--sf-panel);
|
|
1075
|
-
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
|
|
1076
|
-
}
|
|
1077
|
-
.sf-dupmenu-head {
|
|
1078
|
-
padding: 6px 9px 4px;
|
|
1079
|
-
font-size: 11px;
|
|
1080
|
-
font-weight: 600;
|
|
1081
|
-
letter-spacing: 0.02em;
|
|
1082
|
-
color: var(--sf-muted);
|
|
1083
|
-
}
|
|
1084
|
-
.sf-dupmenu-empty {
|
|
1085
|
-
padding: 8px 9px;
|
|
1086
|
-
font-size: 13px;
|
|
1087
|
-
color: var(--sf-muted);
|
|
1088
|
-
}
|
|
1089
|
-
.sf-dupmenu-item {
|
|
1090
|
-
display: flex;
|
|
1091
|
-
align-items: center;
|
|
1092
|
-
gap: 8px;
|
|
1093
|
-
width: 100%;
|
|
1094
|
-
padding: 7px 9px;
|
|
1095
|
-
border: none;
|
|
1096
|
-
background: transparent;
|
|
1097
|
-
border-radius: 6px;
|
|
1098
|
-
cursor: pointer;
|
|
1099
|
-
font-size: 13px;
|
|
1100
|
-
text-align: left;
|
|
1101
|
-
color: var(--sf-text);
|
|
1102
|
-
}
|
|
1103
|
-
.sf-dupmenu-item:hover:not(:disabled) {
|
|
1104
|
-
background: var(--sf-accent-tint);
|
|
1105
|
-
color: var(--sf-accent);
|
|
1106
|
-
}
|
|
1107
|
-
.sf-dupmenu-item:disabled {
|
|
1108
|
-
cursor: default;
|
|
1109
|
-
opacity: 0.6;
|
|
1110
|
-
}
|
|
1111
|
-
.sf-dupmenu-name {
|
|
1112
|
-
flex: 1;
|
|
1113
|
-
min-width: 0;
|
|
1114
|
-
overflow: hidden;
|
|
1115
|
-
text-overflow: ellipsis;
|
|
1116
|
-
white-space: nowrap;
|
|
1117
|
-
}
|
|
1118
|
-
/* Here the note is a word trailing a menu row ("draft", "Copying…"), not a
|
|
1119
|
-
block: no inset of its own, and it takes the ROW's leading rather than the
|
|
1120
|
-
note's, or a draft row would stand 4px taller than a published one and the
|
|
1121
|
-
menu would lose its even rhythm. It stays quiet against the page name beside
|
|
1122
|
-
it by COLOUR, which is the note's own and the whole reason one class can
|
|
1123
|
-
serve both places. Placement only; the note style itself is .sf-note. */
|
|
1124
|
-
.sf-dupmenu-item > .sf-note {
|
|
1125
|
-
padding: 0;
|
|
1126
|
-
flex: none;
|
|
1127
|
-
line-height: inherit;
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
969
|
/* Floating-styled form controls for Puck's native fields */
|
|
1131
970
|
.sf-insp-body input[type="text"],
|
|
1132
971
|
.sf-insp-body input[type="number"],
|
|
@@ -2352,8 +2191,9 @@
|
|
|
2352
2191
|
|
|
2353
2192
|
`.sf-markup` — the container class this repo's own bar carried — is GONE from
|
|
2354
2193
|
these selectors, because nothing renders it any more (swept: no `"sf-markup"`
|
|
2355
|
-
class in app / components / lib). `.sf-markup-btn`
|
|
2356
|
-
|
|
2194
|
+
class in app / components / lib). `.sf-markup-btn` went too: the Clear
|
|
2195
|
+
button is the shell's `IconButton` (harness UI-24), with the shell's own
|
|
2196
|
+
metrics, hover and :disabled look. */
|
|
2357
2197
|
.sf-copybox > .es-copy-bar,
|
|
2358
2198
|
.es-list-above > .es-copy-bar {
|
|
2359
2199
|
display: flex;
|
|
@@ -2391,7 +2231,6 @@
|
|
|
2391
2231
|
wide as its word. `has-glyph` is the shell's own marker for the difference
|
|
2392
2232
|
(editor-shell 0.62.0), so the two cases are told apart by what they hold
|
|
2393
2233
|
rather than by a list of style names kept in step by hand. */
|
|
2394
|
-
.sf-markup-btn,
|
|
2395
2234
|
.sf-copybox .es-copy-mark.has-glyph,
|
|
2396
2235
|
.es-list-above .es-copy-mark.has-glyph {
|
|
2397
2236
|
width: 24px;
|
|
@@ -2405,7 +2244,6 @@
|
|
|
2405
2244
|
line-height: 1;
|
|
2406
2245
|
white-space: nowrap;
|
|
2407
2246
|
}
|
|
2408
|
-
.sf-markup-btn,
|
|
2409
2247
|
.sf-copybox .es-copy-mark,
|
|
2410
2248
|
.es-list-above .es-copy-mark {
|
|
2411
2249
|
height: 22px;
|
|
@@ -2420,20 +2258,17 @@
|
|
|
2420
2258
|
opacity: 0.75;
|
|
2421
2259
|
transition: background 0.12s, color 0.12s, opacity 0.12s;
|
|
2422
2260
|
}
|
|
2423
|
-
.sf-markup-btn:hover:not(:disabled),
|
|
2424
2261
|
.sf-copybox .es-copy-mark:hover:not(:disabled),
|
|
2425
2262
|
.es-list-above .es-copy-mark:hover:not(:disabled) {
|
|
2426
2263
|
background: var(--sf-hover);
|
|
2427
2264
|
color: var(--sf-text-secondary);
|
|
2428
2265
|
opacity: 1;
|
|
2429
2266
|
}
|
|
2430
|
-
.sf-markup-btn:active:not(:disabled),
|
|
2431
2267
|
.sf-copybox .es-copy-mark:active:not(:disabled),
|
|
2432
2268
|
.es-list-above .es-copy-mark:active:not(:disabled) {
|
|
2433
2269
|
background: var(--sf-accent-tint);
|
|
2434
2270
|
color: var(--sf-accent-text);
|
|
2435
2271
|
}
|
|
2436
|
-
.sf-markup-btn:disabled,
|
|
2437
2272
|
.sf-copybox .es-copy-mark:disabled,
|
|
2438
2273
|
.es-list-above .es-copy-mark:disabled {
|
|
2439
2274
|
color: var(--sf-disabled);
|
|
@@ -2445,8 +2280,8 @@
|
|
|
2445
2280
|
the whole separation: `margin-left: auto` makes the bar's own `.es-divider-v`
|
|
2446
2281
|
eat the free space, which IS the flexible spacer, and carries the button after
|
|
2447
2282
|
it to the far end. No new class, no new line and no new colour — the divider
|
|
2448
|
-
already draws itself in --sf-divider, and the button
|
|
2449
|
-
|
|
2283
|
+
already draws itself in --sf-divider, and the button is the shell's
|
|
2284
|
+
`IconButton`, with its metrics, its hover and its :disabled look.
|
|
2450
2285
|
|
|
2451
2286
|
The height is the one adjustment: `.es-divider-v` is 22px for the 30px icon
|
|
2452
2287
|
buttons of the top toolbar, which in a 22px row would run edge to edge and
|
|
@@ -3208,25 +3043,11 @@
|
|
|
3208
3043
|
/* With no warning beside it the Edit still sits hard right. */
|
|
3209
3044
|
.sf-theme-name { margin-right: auto; }
|
|
3210
3045
|
|
|
3046
|
+
/* The Edit / Done button is efficient-shell's `Button` (harness UI-24): its
|
|
3047
|
+
look is the shell's, `secondary` folded and `primary` open. This class only
|
|
3048
|
+
keeps it from shrinking in the foot. */
|
|
3211
3049
|
.sf-theme-edit {
|
|
3212
3050
|
flex: none;
|
|
3213
|
-
border: 1px solid var(--sf-input-border);
|
|
3214
|
-
background: var(--sf-panel);
|
|
3215
|
-
border-radius: 4px;
|
|
3216
|
-
font: inherit;
|
|
3217
|
-
font-size: 10px;
|
|
3218
|
-
font-weight: 700;
|
|
3219
|
-
letter-spacing: 0.03em;
|
|
3220
|
-
color: var(--sf-text-secondary);
|
|
3221
|
-
padding: 3px 8px;
|
|
3222
|
-
line-height: 1.3;
|
|
3223
|
-
cursor: pointer;
|
|
3224
|
-
}
|
|
3225
|
-
.sf-theme-edit:hover { border-color: var(--sf-muted); color: var(--sf-text); }
|
|
3226
|
-
.sf-theme-edit.is-open {
|
|
3227
|
-
background: var(--sf-accent);
|
|
3228
|
-
border-color: var(--sf-accent);
|
|
3229
|
-
color: #fff;
|
|
3230
3051
|
}
|
|
3231
3052
|
|
|
3232
3053
|
/* This theme's own colours, inside this theme's own card. The first row carries
|
|
@@ -3236,20 +3057,10 @@
|
|
|
3236
3057
|
.sf-theme-colours[hidden] { display: none; }
|
|
3237
3058
|
.sf-theme-colours > .es-field:first-child { margin-top: var(--es-rhythm-group-first); }
|
|
3238
3059
|
|
|
3060
|
+
/* The shell's `link` Button (harness UI-24); placement only. */
|
|
3239
3061
|
.sf-theme-reset {
|
|
3240
|
-
width: 100%;
|
|
3241
3062
|
margin-top: var(--es-rhythm-between-tight);
|
|
3242
|
-
border: 0;
|
|
3243
|
-
background: none;
|
|
3244
|
-
font: inherit;
|
|
3245
|
-
font-size: 10.5px;
|
|
3246
|
-
font-weight: 600;
|
|
3247
|
-
color: var(--sf-accent-text);
|
|
3248
|
-
padding: 0;
|
|
3249
|
-
cursor: pointer;
|
|
3250
|
-
text-align: left;
|
|
3251
3063
|
}
|
|
3252
|
-
.sf-theme-reset:disabled { color: var(--sf-muted); cursor: default; }
|
|
3253
3064
|
|
|
3254
3065
|
.sf-theme-add {
|
|
3255
3066
|
display: flex;
|
|
@@ -3659,19 +3470,13 @@ input.sf-slider-typed:focus {
|
|
|
3659
3470
|
color: var(--sf-text);
|
|
3660
3471
|
}
|
|
3661
3472
|
|
|
3662
|
-
/* Checkbox — a literal tick box
|
|
3663
|
-
|
|
3664
|
-
|
|
3473
|
+
/* Checkbox — a literal tick box. The row is easel's SettingsField with the box
|
|
3474
|
+
in its `action` slot (label left, box right); the label points at the box, so
|
|
3475
|
+
the text is clickable. The box is efficient-shell's `Checkbox` (harness
|
|
3476
|
+
UI-24), drawn and focus-ringed by the shell, so no rule here reaches it. */
|
|
3665
3477
|
.sf-checkbox {
|
|
3666
3478
|
cursor: pointer;
|
|
3667
3479
|
}
|
|
3668
|
-
.sf-checkbox input[type="checkbox"] {
|
|
3669
|
-
width: 17px;
|
|
3670
|
-
height: 17px;
|
|
3671
|
-
margin: 0;
|
|
3672
|
-
accent-color: var(--sf-accent);
|
|
3673
|
-
cursor: pointer;
|
|
3674
|
-
}
|
|
3675
3480
|
|
|
3676
3481
|
/* A field group greyed out because a higher-level setting overrides it — e.g. the
|
|
3677
3482
|
manual ProductPicker (Category + Product) when the Product Grid's Products
|
|
@@ -3696,8 +3501,7 @@ input.sf-slider-typed:focus {
|
|
|
3696
3501
|
.sf-swatch:focus-visible,
|
|
3697
3502
|
.sf-field-eye:focus-visible,
|
|
3698
3503
|
.sf-slider input[type="range"]:focus-visible,
|
|
3699
|
-
.sf-insp-body select:focus-visible
|
|
3700
|
-
.sf-checkbox input[type="checkbox"]:focus-visible {
|
|
3504
|
+
.sf-insp-body select:focus-visible {
|
|
3701
3505
|
outline: 2px solid var(--sf-accent);
|
|
3702
3506
|
outline-offset: 2px;
|
|
3703
3507
|
}
|
|
@@ -3884,6 +3688,11 @@ input.sf-list-marking {
|
|
|
3884
3688
|
flex-direction: column;
|
|
3885
3689
|
gap: 9px;
|
|
3886
3690
|
}
|
|
3691
|
+
/* The shell's Button in the column (SourceStatus): its own width, not the
|
|
3692
|
+
column's. Placement only; the look is the shell's (harness UI-24). */
|
|
3693
|
+
.sf-blogsource-action {
|
|
3694
|
+
align-self: flex-start;
|
|
3695
|
+
}
|
|
3887
3696
|
.sf-blogsource-status {
|
|
3888
3697
|
margin: 0;
|
|
3889
3698
|
font-size: 12px;
|
|
@@ -3922,6 +3731,11 @@ input.sf-list-marking {
|
|
|
3922
3731
|
border-radius: 2px;
|
|
3923
3732
|
}
|
|
3924
3733
|
|
|
3734
|
+
/* ⏳ DRAWN BY NO FILE OF THIS REPOSITORY'S. `SourceStatus` takes the shell's
|
|
3735
|
+
`Button` (harness UI-24); this rule is kept for the panels
|
|
3736
|
+
`efficient-storefront-blocks` still draws by hand (CollectionPicker,
|
|
3737
|
+
EditProductLink, FormPicker), and is deleted when they move
|
|
3738
|
+
(Efficient-Pty-Ltd/efficient-easel#199). */
|
|
3925
3739
|
.sf-blogsource-btn {
|
|
3926
3740
|
align-self: flex-start;
|
|
3927
3741
|
padding: 7px 14px;
|
|
@@ -4147,8 +3961,7 @@ ul.sf-image-status {
|
|
|
4147
3961
|
THE chrome's quiet sentence: what a panel says when it has something to tell
|
|
4148
3962
|
the merchant and nothing to let them edit. A whole-panel stand-in for
|
|
4149
3963
|
settings that belong to a website the open document does not have; "No pages
|
|
4150
|
-
yet"; "Loading…"
|
|
4151
|
-
menu. One voice, so it is one class.
|
|
3964
|
+
yet"; "Loading…". One voice, so it is one class.
|
|
4152
3965
|
|
|
4153
3966
|
It was six classes at five sizes — .sf-pages-note, .sf-sm-note,
|
|
4154
3967
|
.sf-panel-note, .sf-dupmenu-note, and two more that were only counted as
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{slugify as o}from"../slugify.js";const r=["tall","square","wide"],i="tall";function n(e){return r.includes(String(e??""))?String(e):i}const l={sectionNumber:"
|
|
2
|
-
Address line two`,phone:"+00 000 0000",hours:"Mon
|
|
3
|
-
Address line two`,phone:"+00 000 0000",hours:"Mon
|
|
1
|
+
import{slugify as o}from"../slugify.js";const r=["tall","square","wide"],i="tall";function n(e){return r.includes(String(e??""))?String(e):i}const l={sectionNumber:"· Locations",heading:"Our *locations.*",tagline:"Visit us in person — find your nearest studio below.",galleryKicker:"Gallery",galleryHint:"Hover to see in colour · click to jump",apiKey:"",mapId:"",mapTheme:"auto"},s=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT · UTC +0",address:`Address line one
|
|
2
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon–Fri 9:00–18:00",lat:0,lng:0,mapsUrl:""},{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT · UTC +0",address:`Address line one
|
|
3
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon–Fri 9:00–18:00",lat:0,lng:0,mapsUrl:""}];function u(e){const t=String(e??"").split(" · ");return{state:(t[0]??"").trim(),country:(t[1]??"").trim()}}const p="other",m={routingNumber:"02 · Routing",routingTagline:"What can we help you with?",groups:[{id:"fitment",eyebrow:"A · Label",title:"Group one",copy:"Short description of this routing group.",response:"< 48h"},{id:"trade",eyebrow:"B · Label",title:"Group two",copy:"Short description of this routing group.",response:"< 24h"},{id:"press",eyebrow:"C · Label",title:"Group three",copy:"Short description of this routing group.",response:"< 48h"},{id:"order",eyebrow:"D · Label",title:"Group four",copy:"Short description of this routing group.",response:"< 24h"}],formNumber:"03 · Message",formHeading:"Send *a note.*",metaLines:["Encrypted in transit","Stored 12 months"],showOther:!0,otherLabel:"Other",otherNoteTitle:"No matching team",otherNoteBody:"Tell us what you need in the message field below — we'll route it to whoever can help.",buttonText:"Send Message →",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties.",channels:[{label:"Team one",value:"team-one@email.com",href:"mailto:team-one@email.com",sub:"Detail · Detail",groupId:"fitment"},{label:"Team two",value:"team-two@email.com",href:"mailto:team-two@email.com",sub:"Detail · Detail",groupId:"trade"},{label:"Team three",value:"team-three@email.com",href:"mailto:team-three@email.com",sub:"Detail · Detail",groupId:"press"},{label:"Team four",value:"team-four@email.com",href:"mailto:team-four@email.com",sub:"Detail · Detail",groupId:"order"},{label:"Phone",value:"+1 (000) 000-0000",href:"tel:+10000000000",sub:"Mon–Fri · 9:00–18:00"}]};function h(e){return o(e)}export{s as CONTACT_LOCATIONS_CARDS_PLACEHOLDER,l as CONTACT_LOCATIONS_DEFAULTS,m as CONTACT_ROUTING_DEFAULTS,r as LOCATION_TILE_SHAPES,i as LOCATION_TILE_SHAPE_DEFAULT,p as OTHER_REASON_ID,n as parseLocationTileShape,h as slugifyGroupId,u as splitLegacyRegion};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{authoredBoolean as d,authoredNumber as m,authoredString as f,authoredStringList as b}from"./authored-props.js";import{CART_DRAWER_SLUG as P}from"./cart-drawer.js";import{popupTextStyles as p}from"../popup/text-kinds.js";import{SITE_FOOTER_SLUG as h}from"./footer.js";const g="subscribe-popup",C="subscribe-popup",G="Pop up - SubscribePopup",S=[g,h,P];function H(r){return S.includes(r)}const L=["delay","scroll","exit"],x=["all","chosen"],O=["visit","days","never"],y=["right","left"],T={min:0,max:60},A={min:10,max:90},_={min:1,max:90},o={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
2
|
-
*Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy
|
|
2
|
+
*Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy — the {email} and {issue} tokens are substituted here.",keepBrowsingText:"Button label",autoOpen:!1,autoOpenDelaySec:15,formSlug:"",trigger:"delay",scrollPercent:50,showOn:"all",showOnPages:[],hideAfter:"days",hideDays:7,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},n=f,E=m,l=d,u=b;function s(r,e,t){return typeof e=="string"&&r.includes(e)?e:t}function a(r,e,t){const i=E(r,t);return Math.min(e.max,Math.max(e.min,Math.round(i)))}function B(r){return typeof r.hideAfter=="string"?s(O,r.hideAfter,o.hideAfter):r.oncePerSession===!0?"visit":r.oncePerSession===!1?"never":o.hideAfter}function U(r){return Array.isArray(r)?r.map(e=>typeof e=="string"?e.trim():"").filter(Boolean).map(e=>e.startsWith("/")?e:`/${e}`):[]}function c(r,e){if(r==null)return e;const t=i=>i.trim()?i:"";if(typeof r=="string")return t(r);if(typeof r=="object"&&"text"in r){const i=r.text;return typeof i=="string"?t(i):""}return e}function k(r,e){return Array.isArray(r)?u(r,[]):e}function I(r,e){return Array.isArray(r)?r.map(t=>{const i=t??{};return{label:n(i.label,""),value:n(i.value,"")}}).filter(t=>t.label||t.value):e}function v(r){const e=r??{},t=o;return{metaLabel:n(e.metaLabel,t.metaLabel),issueLabel:c(e.issueLabel,t.issueLabel),issueNumber:c(e.issueNumber,t.issueNumber),kicker:n(e.kicker,t.kicker),heading:n(e.heading,t.heading),deck:n(e.deck,t.deck),stats:I(e.stats,t.stats),formLabel:n(e.formLabel,t.formLabel),formHeading:n(e.formHeading,t.formHeading),formIntro:n(e.formIntro,t.formIntro),firstNameLabel:n(e.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:n(e.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:n(e.emailLabel,t.emailLabel),emailPlaceholder:n(e.emailPlaceholder,t.emailPlaceholder),interestsLabel:n(e.interestsLabel,t.interestsLabel),interests:u(e.interests,t.interests),frequencyLabel:n(e.frequencyLabel,t.frequencyLabel),frequencies:k(e.frequencies,t.frequencies),submitText:n(e.submitText,t.submitText),finePrint:n(e.finePrint,t.finePrint),dismissText:n(e.dismissText,t.dismissText),emailInvalidText:n(e.emailInvalidText,t.emailInvalidText),submitErrorText:n(e.submitErrorText,t.submitErrorText),successHeading:n(e.successHeading,t.successHeading),successBody:n(e.successBody,t.successBody),keepBrowsingText:n(e.keepBrowsingText,t.keepBrowsingText),formSlug:typeof e.formSlug=="string"?e.formSlug.trim():t.formSlug,autoOpen:l(e.autoOpen,t.autoOpen),autoOpenDelaySec:a(e.autoOpenDelaySec,T,t.autoOpenDelaySec),trigger:s(L,e.trigger,t.trigger),scrollPercent:a(e.scrollPercent,A,t.scrollPercent),showOn:s(x,e.showOn,t.showOn),showOnPages:U(e.showOnPages),hideAfter:B(e),hideDays:a(e.hideDays,_,t.hideDays),formSide:s(y,e.formSide,t.formSide),valuePanelOnPhone:l(e.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:e.sectionAccent,sectionCorners:e.sectionCorners,sectionCornerSides:e.sectionCornerSides,textStyles:p(e)}}export{_ as POPUP_DAYS_RANGE,T as POPUP_DELAY_RANGE,y as POPUP_FORM_SIDES,O as POPUP_HIDE_AFTER,A as POPUP_SCROLL_RANGE,x as POPUP_SHOW_ON,L as POPUP_TRIGGERS,o as SUBSCRIBE_POPUP_DEFAULTS,C as SUBSCRIBE_POPUP_KIND,G as SUBSCRIBE_POPUP_PAGE_TITLE,g as SUBSCRIBE_POPUP_SLUG,S as SYSTEM_PAGE_SLUGS,H as isSystemPageSlug,v as resolveSubscribeContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,Fragment as u,jsxs as p}from"react/jsx-runtime";import{useEffect as g,useState as M}from"react";import{MarkBar as S,markSelection as
|
|
1
|
+
import{jsx as e,Fragment as u,jsxs as p}from"react/jsx-runtime";import{useEffect as g,useState as M}from"react";import{MarkBar as S,markSelection as E,useCaretEdit as L}from"efficient-easel/copy";import{RevertIcon as v}from"efficient-easel/icons";import{IconButton as b,Tooltip as j}from"efficient-shell/ui";import{applyShopMark as z,shopMarkedAt as A,shopMarkupTools as T,stripMarkup as C}from"../markup.js";function H({style:t}){const n=r=>e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.9,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:r});switch(t){case"bold":return n(e("path",{d:"M7 5h6.5a3.5 3.5 0 0 1 0 7H7zm0 7h7.5a3.5 3.5 0 0 1 0 7H7z"}));case"italic":return n(p(u,{children:[e("line",{x1:"10",y1:"5",x2:"19",y2:"5"}),e("line",{x1:"5",y1:"19",x2:"14",y2:"19"}),e("line",{x1:"14",y1:"5",x2:"10",y2:"19"})]}));case"strike":return n(p(u,{children:[e("path",{d:"M16.5 6.5A4.2 4.2 0 0 0 12.7 4.7C10 4.7 8.4 6 8.4 7.9c0 1.6 1.2 2.5 3.4 3.1"}),e("path",{d:"M7.6 17.4A4.4 4.4 0 0 0 11.7 19.3c2.8 0 4.5-1.4 4.5-3.4 0-1-.4-1.8-1.2-2.4"}),e("line",{x1:"4",y1:"12",x2:"20",y2:"12"})]}));case"highlight":return n(p(u,{children:[e("path",{d:"M14.5 4.5l5 5-8 8H6.5v-5z"}),e("line",{x1:"4",y1:"21",x2:"20",y2:"21"})]}));case"quiet":return n(p(u,{children:[e("path",{d:"M12 4.5l5.5 7.5L12 19.5 6.5 12z"}),e("line",{x1:"9.4",y1:"12",x2:"14.6",y2:"12"})]}));default:return null}}const _=["bold","italic","strike","highlight"],D=Object.fromEntries(_.map(t=>[t,e(H,{style:t},t)])),y="Clear formatting";function B(t,n,r){return E(t,n,r,z)}function F(t){const[n,r]=M(null);return g(()=>{const o=t.current?.ownerDocument??(typeof document>"u"?null:document);if(!o)return;const a=()=>{const s=t.current;if(!s||o.activeElement!==s)return;const i=s.selectionStart??s.value.length,d=s.selectionEnd??i;r(c=>c&&c.start===i&&c.end===d?c:{start:i,end:d})};return o.addEventListener("selectionchange",a),()=>o.removeEventListener("selectionchange",a)},[t]),[n,r]}function I({target:t,value:n,onChange:r,disabled:o=!1,label:a="Formatting"}){const s=L({target:t,onChange:r}),[i,d]=F(t),c=l=>s(k=>{const h=B(n,l,k);return d({start:h.selectionStart,end:h.selectionEnd}),h}),m=T(),f={};if(i)for(const l of m)f[l.style]=A(n,i.start,i.end,l.style);const x=C(n);return e(S,{tools:m,onApply:c,pressed:f,disabled:o,glyphs:D,ariaLabel:a,actions:e("span",{className:"sf-markup-clear",children:e(j,{content:y,children:e(b,{size:"sm",onMouseDown:l=>l.preventDefault(),onClick:()=>r(x),disabled:o||x===n,"aria-label":y,children:e(v,{size:14})})})})})}var P=I;export{I as MarkupToolbar,P as default,B as markSelection};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{StickyIcon as i}from"efficient-easel/icons";import{group as l,plainText as e,toggle as o,withOffPage as t}from"../../../controls.js";const y={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:e("Label"),count:e("Count")},getItemSummary:a=>a?.label?`${a.label}${a.count?`
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{StickyIcon as i}from"efficient-easel/icons";import{group as l,plainText as e,toggle as o,withOffPage as t}from"../../../controls.js";const y={fields:{tabs:{type:"array",label:"Tabs",arrayFields:{label:e("Label"),count:e("Count")},getItemSummary:a=>a?.label?`${a.label}${a.count?` · ${a.count}`:""}`:"Tab"},activeTab:t(e("Active tab","All")),_gLinks:l("Links"),links:{type:"array",label:"Right links",arrayFields:{label:e("Label"),href:t(e("Link"))},getItemSummary:a=>a?.label||"Link"},_gStyle:l("Style"),sticky:o("Stick under header",!0,r(i,{}))}};export{y as CategoryBarFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{StylesIcon as i}from"efficient-easel/icons";import{copyText as n,group as t,plainText as s,select as u,text as e,textarea as a}from"../../../controls.js";import{CHART_PH as o}from"./render.js";const f={fields:{_gContent:t("Content"),eyebrow:e("Chip label",o.eyebrow),title:a("Heading",o.title),body:a("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:n("Label"),value:s("Value")},defaultItemProps:{label:"",value:""},getItemSummary:l=>[l?.label,l?.value].filter(Boolean).join("
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{StylesIcon as i}from"efficient-easel/icons";import{copyText as n,group as t,plainText as s,select as u,text as e,textarea as a}from"../../../controls.js";import{CHART_PH as o}from"./render.js";const f={fields:{_gContent:t("Content"),eyebrow:e("Chip label",o.eyebrow),title:a("Heading",o.title),body:a("Body",""),items:{type:"array",label:"Data points",arrayFields:{label:n("Label"),value:s("Value")},defaultItemProps:{label:"",value:""},getItemSummary:l=>[l?.label,l?.value].filter(Boolean).join(" · ")||"Point"},caption:e("Caption","Illustrative example"),_gStyle:t("Style"),chartStyle:u("Chart style",r(i,{}),[{label:"Bars (comparison / funnel)",value:"bars"},{label:"Line (trend)",value:"line"},{label:"Donut (split of a whole)",value:"donut"}],"bars"),valueSuffix:e("Value suffix","%")}};export{f as ChartFields};
|