1import{a as so}from"./chunk-EQON7ZP5.js";import{c as ln}from"./chunk-M3JCV2AL.js";import{a as se}from"./chunk-OXOY77FJ.js";import{a as mt}from"./chunk-KAZE3WRR.js";import{a as lt}from"./chunk-IXPPBNPB.js";import"./chunk-MAYNOOJ3.js";import{a as po}from"./chunk-54UWRRIW.js";import{a as It}from"./chunk-4STMECCR.js";import"./chunk-CE47EKOW.js";import{b as co,c as dn}from"./chunk-TIGFA7Z4.js";import{a as mn,b as mo,c as go,d as uo}from"./chunk-YRAQAC5F.js";import{a as lo}from"./chunk-7NBOWWYX.js";import{a as z}from"./chunk-MITRCB6I.js";import{a as $i,b as Ki}from"./chunk-BB2PG7QK.js";import{a as pi,b as Y,c as Zi,j as io,k as oo,l as ao,m as ro}from"./chunk-DSH3REGU.js";import{b as Yi,d as Qi}from"./chunk-QUUPKXQ4.js";import{a as eo,b as to,c as no}from"./chunk-34NWZHQK.js";import{c as Et}from"./chunk-W3KQJ33T.js";import"./chunk-HROCO4KU.js";import{a as Ji}from"./chunk-OHGJLMHG.js";import{d as qi}from"./chunk-HFM5U2OQ.js";import"./chunk-77YSQRGV.js";import"./chunk-KAOBI7OG.js";import{a as Be}from"./chunk-OX5JQILR.js";import{a as ji}from"./chunk-D3BG7JQB.js";import"./chunk-OW5VOZNL.js";import"./chunk-4VPSVAZ7.js";import"./chunk-TILYLINS.js";import{c as Re}from"./chunk-OM74GA7T.js";import"./chunk-P5U66H6E.js";import"./chunk-DCASL3QQ.js";import"./chunk-UPY5ATXI.js";import"./chunk-QL4MJ7T6.js";import"./chunk-SNQGBZ4Y.js";import"./chunk-MJGLFVB5.js";import{a as Wi}from"./chunk-HT2NLVDQ.js";import"./chunk-G7WWXDSL.js";import"./chunk-JOLDOIOR.js";import"./chunk-EDVT3EU6.js";import"./chunk-YM24VCLP.js";import"./chunk-3ZWMBUUE.js";import{f as Gi,g as ht,h as rn}from"./chunk-TGXWHQDK.js";import"./chunk-WINKYDI5.js";import"./chunk-TMLMJRN2.js";import"./chunk-ITNNLMSH.js";import"./chunk-3LD6BL5X.js";import{a as Oi}from"./chunk-EB7I6EUZ.js";import"./chunk-LG45SQIO.js";import"./chunk-IKOIH52L.js";import"./chunk-EKVAEE3N.js";import"./chunk-2UUVYCLI.js";import"./chunk-G2PBXWHP.js";import"./chunk-AWBWTNJD.js";import"./chunk-SD2NGNHJ.js";import"./chunk-2SE3QTKU.js";import"./chunk-FZWWKCUD.js";import"./chunk-UBWFUBFC.js";import"./chunk-7NBNXOLG.js";import"./chunk-PMNL2K6M.js";import"./chunk-LFVKREDK.js";import{c as _e}from"./chunk-54LAS367.js";import{a as Ni}from"./chunk-JQ64W4AG.js";import"./chunk-WZRD3PRJ.js";import{b as xi,c as bi,d as ki}from"./chunk-PHYIE26O.js";import"./chunk-NXONHUPY.js";import"./chunk-JQ7URNET.js";import"./chunk-AKRKSHOE.js";import"./chunk-S6Z3PK2K.js";import"./chunk-JZA5NJYP.js";import{a as st}from"./chunk-HW2VQ2DN.js";import{a as Di}from"./chunk-X25XXINJ.js";import{a as Li,b as Vi}from"./chunk-K5DGYB64.js";import"./chunk-EWEVKFBU.js";import{a as Fi}from"./chunk-3VXOCSUR.js";import"./chunk-GIPXIGNW.js";import"./chunk-PACTVOE6.js";import"./chunk-VN5AQGFS.js";import"./chunk-VZKDZJAW.js";import"./chunk-MKOMQHQ6.js";import"./chunk-EJREXGO2.js";import"./chunk-HFOKJIVN.js";import{h as wi}from"./chunk-2SNPQBYP.js";import"./chunk-HYMQBQXG.js";import"./chunk-4ROSITSK.js";import"./chunk-U2I7XEXM.js";import{a as we}from"./chunk-NKLQVARB.js";import"./chunk-HNV6OYQH.js";import"./chunk-TY3NZZVL.js";import"./chunk-TMBGVCK3.js";import"./chunk-777MRG75.js";import"./chunk-3OIUX4OZ.js";import"./chunk-GP4FVJHT.js";import"./chunk-RO7UVPH2.js";import"./chunk-TPWBKR5T.js";import"./chunk-MAMG26DH.js";import"./chunk-HGRSCEIG.js";import"./chunk-TBBHCXBJ.js";import"./chunk-5PIHIAIC.js";import"./chunk-VGA6HNDO.js";import"./chunk-MI5TE6OK.js";import"./chunk-GAP2NSZX.js";import"./chunk-6I74GBYL.js";import"./chunk-VTMJG6SJ.js";import"./chunk-I226TH2W.js";import"./chunk-M5AD7MGW.js";import"./chunk-S43XRXZW.js";import"./chunk-LDLGO4W5.js";import"./chunk-E2KUFIHC.js";import"./chunk-GSH6XXBX.js";import{a as gi,b as on,c as ot,d as ui,e as _t,f as $e,g as _i,h as hi,i as At,m as Ri,n as Bi,p as Ui,q as zi,r as Hi,u as Xi}from"./chunk-SJIGH6V7.js";import"./chunk-C65CAMDV.js";import"./chunk-C7FBFYML.js";import{h as sn}from"./chunk-YF3OQFZA.js";import"./chunk-QRUXOWKS.js";import"./chunk-ATABMMZI.js";import"./chunk-KQLMHXXA.js";import"./chunk-WBS3LDHW.js";import"./chunk-MNXPVBZS.js";import"./chunk-WB4XWEJW.js";import"./chunk-GGNG3XQ2.js";import{b as ci}from"./chunk-MIF4L3WK.js";import"./chunk-JTP5RBVB.js";import"./chunk-R2B26533.js";import"./chunk-NBFJBJJT.js";import"./chunk-DCTOVJU7.js";import"./chunk-HSI7U5KT.js";import"./chunk-GTSCXEAA.js";import"./chunk-L3LLY7IA.js";import"./chunk-5QMITR2V.js";import"./chunk-SCX5DGXJ.js";import"./chunk-2TJW52K5.js";import"./chunk-IMAWSO6Q.js";import"./chunk-5FFDQ7V7.js";import"./chunk-U5WQGW6D.js";import"./chunk-IW4LQXDP.js";import"./chunk-HKLNDH5V.js";import"./chunk-NYYPSCKD.js";import"./chunk-RSZC46RI.js";import"./chunk-4LOLBLCM.js";import"./chunk-7KTY7HFD.js";import{i as Ci}from"./chunk-YYBRPHSC.js";import"./chunk-V5NHU3FP.js";import"./chunk-SZ6IR7UI.js";import"./chunk-C3GJSBMK.js";import"./chunk-TPHRZANT.js";import"./chunk-RM6ZPKJS.js";import"./chunk-DZYANOEB.js";import"./chunk-BBLVROJE.js";import"./chunk-YKXK4PUE.js";import"./chunk-GPFKVCYC.js";import"./chunk-J3WIPPQT.js";import"./chunk-HDZZRM2M.js";import"./chunk-QQEPAJQ6.js";import"./chunk-REOLKVZA.js";import"./chunk-PVDG46DZ.js";import{a as Si}from"./chunk-N4QG5V37.js";import{b as vi}from"./chunk-3KD22LSU.js";import"./chunk-XXAPIZ6S.js";import{a as Ei,b as Ii,c as Ae}from"./chunk-TEW5O3CC.js";import"./chunk-G27ECUAV.js";import{b as wt}from"./chunk-SN5OJJ4C.js";import"./chunk-4WRARVBQ.js";import"./chunk-TGRBT4WK.js";import{a as an,c as fi}from"./chunk-HKESKKTN.js";import"./chunk-ARUSWTHS.js";import"./chunk-TDDKBJBY.js";import"./chunk-ZVFXBONE.js";import"./chunk-MSHU3ECL.js";import"./chunk-N22ZR5WE.js";import"./chunk-B5GJ42QH.js";import{I as q,K as rt,e as at,h as Pi,i as yi,q as Mi,s as Ti,t as Ai}from"./chunk-IRO2TKYC.js";import"./chunk-73UVCWLJ.js";import"./chunk-N2RGN4YQ.js";import"./chunk-3QEDGTE5.js";import"./chunk-NVY6DZ65.js";import"./chunk-TY3RQCRX.js";import"./chunk-AACFS5HX.js";import"./chunk-PLJXQ3BT.js";import"./chunk-SHQFP5KR.js";import"./chunk-MHD32HZI.js";import"./chunk-55NYF5SW.js";import"./chunk-LVXN2QFC.js";import"./chunk-KKVI4FKS.js";import"./chunk-HVVEJDI5.js";import"./chunk-EPAP5PKE.js";import"./chunk-C7KJXFIB.js";import"./chunk-C666TAHH.js";import"./chunk-WCJSVNED.js";import"./chunk-ZODBMDVC.js";import{b as mi,d as nt,l as it}from"./chunk-ST3O4A2Y.js";import"./chunk-T5CHBPBL.js";import"./chunk-UCUZP7UP.js";import"./chunk-Y75ZLUWW.js";import"./chunk-VAND4FLG.js";import"./chunk-PG3N3OH3.js";import"./chunk-OH3XPIE7.js";import"./chunk-F52YO2KE.js";import{k as Me,l as Te}from"./chunk-WL2AKVEY.js";import"./chunk-VTC5CDGU.js";import"./chunk-4TCMQCZ6.js";import{H as di,X as Tt}from"./chunk-RZJZCBNV.js";import{f as li}from"./chunk-CGVZASLH.js";import"./chunk-KYKWM2QE.js";import"./chunk-TQE26OVK.js";import"./chunk-ZY52JLQ2.js";import"./chunk-WUHLWO3B.js";import{a as V,d as ke,e as A}from"./chunk-E6N7HR7J.js";import{ea as ri,ua as si}from"./chunk-B2X2NDPJ.js";import"./chunk-FPPZ4BUR.js";import{$a as b,Ad as _,Ae as ai,Bd as N,C as Hn,Cd as re,Ea as ue,Gb as Zt,Ha as Qt,Ic as Q,Id as J,Ja as C,Jd as ee,Kd as te,Mb as $n,Mc as k,Ob as l,Oc as v,P as be,Pc as qn,Qa as h,Qc as Yn,Ra as f,Rc as ce,Sc as pe,Tc as d,Td as yt,Ua as Xn,Uc as r,Ud as ii,V as vt,Vb as Pt,Vc as s,Wa as Wn,Wc as y,Xc as K,Yc as Z,Zc as Jt,ac as Kn,ad as en,ba as St,bd as Qn,cd as x,dd as tn,f as Un,fc as S,g as zn,gb as jn,ge as Mt,jd as g,kd as nn,lc as Qe,ld as c,md as Zn,nd as Jn,ne as p,pd as ei,pe as oi,q as Ye,qd as ti,r as G,ra as ie,rd as ni,se as T,td as Ze,te as M,ud as Je,ue as tt,vd as et,w as Ge,wd as oe,xd as W,y as xe,z as kt}from"./chunk-A2T27MTO.js";import"./chunk-DAZ3MHQI.js";import"./chunk-JQE4WEKA.js";import"./chunk-QHBN7R45.js";import"./chunk-WYFIINDB.js";import{a as E,b as ye}from"./chunk-XFB3PWAV.js";var _o=(()=>{let n=class n{constructor(){this.width=M("6ch"),this.height=M("1em"),this.charCount=M(null),this.ariaLabel=M("Loading text content"),this.computedWidth=p(()=>{let t=this.charCount();return t?`${t}ch`:this.width()})}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-text-skeleton"]],inputs:{width:[1,"width"],height:[1,"height"],charCount:[1,"charCount"],ariaLabel:[1,"ariaLabel"]},decls:2,vars:5,consts:[[1,"inline-block","bg-gray-300","rounded","animate-pulse"]],template:function(o,a){o&1&&(K(0,"span",0),_(1," \xA0 "),Z()),o&2&&(
1oe("width",a.computedWidth())("height",a.height()),Q("aria-label",a.ariaLabel()))},dependencies:[si],encapsulation:2});let e=n;return e})();var dt=(()=>{let n=class n{constructor(){this.dialog=C(Ae),this.storage=C(Oi)}async edit(t,o,a){if(!t)return{status:"cancelled"};if(!o)return{status:"failed",reason:ms};let{ArkImageEditorComponent:m}=await import("./image-editor.component-PTX46HGY.js"),u={src:t,edit:a,maxDimension:cs},de=await Ge(this.dialog.open(m,{data:u,width:"32rem",maxWidth:"96vw",panelClass:"campaign-image-editor-panel"}).afterClosed());return de?this.store(de,o):{status:"cancelled"}}async store(t,o){let a=`${o}/${ps(t.blob.type)}`;try{return{status:"saved",src:await this.storage.uploadAndGetUrl(a,t.blob),edit:t.edit}}catch(m){return console.error("[campaign-image-edit] upload failed",a,m),{status:"failed",reason:ds}}}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),ms="This campaign is still loading. Try again in a moment.",ds="The edited picture could not be saved. Check your connection and try again \u2014 your original picture has not been changed.",cs=1200;function ps(e){let n=e==="image/png"?"png":"jpg";return`edited-${Date.now()}.${n}`}function cn(e,n,i){({saved:()=>n(e.src),cancelled:()=>{},failed:()=>i(e.reason)})[e.status]()}function ho(e,n,i,t){return async()=>{t.set(""),cn(await e.edit(i.value,n()),o=>i.setValue(o),o=>t.set(o))}}var gs="#000000",us=/^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;function Nt(e){return typeof e=="string"&&us.test(e.trim())}function De(e,n=gs){if(!Nt(e))return n;let i=e.trim().replace("#","").toLowerCase();return i.length===6?`#${i}`:`#${i.split("").map(t=>t+t).join("")}`}function pn(e){let n=De(e).slice(1),i=parseInt(n.slice(0,2),16)/255,t=parseInt(n.slice(2,4),16)/255,o=parseInt(n.slice(4,6),16)/255,a=Math.max(i,t,o),m=Math.min(i,t,o),u=a-m;return{h:_s(i,t,o,a,u),s:a===0?0:u/a,v:a}}function _s(e,n,i,t,o){return o===0?0:((t===e?(n-i)/o%6:t===n?(i-e)/o+2:(e-n)/o+4)*60+360)%360}function Dt({h:e,s:n,v:i}){let t=(e%360+360)%360,o=Ke(n),a=Ke(i),m=a*o,u=m*(1-Math.abs(t/60%2-1)),de=a-m,[Yt,rs,ss]=hs(t,m,u);return`#${[Yt,rs,ss].map(ls=>fs(ls+de)).join("")}`}function hs(e,n,i){return[[n,i,0],[i,n,0],[0,n,i],[0,i,n],[i,0,n],[n,0,i]][Math.min(5,Math.floor(e/60))]}function fs(e){return Math.round(Ke(e)*255).toString(16).padStart(2,"0")}function Ke(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function gn(e){let n=De(e).slice(1),i=[0,2,4].map(o=>{let a=parseInt(n.slice(o,o+2),16)/255;return a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)});return .2126*i[0]+.7152*i[1]+.0722*i[2]>.5?"#111111":"#ffffff"}function fo(e,n=12){let i=[];for(let t of e){if(!Nt(t))continue;let o=De(t);if(!i.includes(o)&&(i.push(o),i.length>=n))break}return i}var Co=12,Cs=4;function xo(e,n=[]){let i=[];for(let t of e??[])un(t?.settings,i,0);return fo([...n,...i],Co)}function un(e,n,i){if(!(i>Cs)&&!(n.length>=Co*4)){if(typeof e=="string"){n.push(e);return}if(Array.isArray(e)){for(let t of e)un(t,n,i+1);return}if(e&&typeof e=="object")for(let t of Object.values(e))un(t,n,i+1)}}var xs={solid:"Solid",outline:"Outline",rounded:"Rounded"},bo=gi.map(e=>({value:e,label:xs[e]})),bs={blog:"Blog posts",events:"Events",courses:"Courses",products:"Shop products"},ko=Hi.map(e=>({value:e,label:bs[e]})),_n={text:"Text",image:"Image",button:"Button",divider:"Line",spacer:"Spacer",social:"Social links",imageGroup:"Images",contentFeed:"Content",offer:"Offer"},hn="email_campaigns",ct={uploadPath:b(hn),userId:b(null)},Ue=new Qt("EmailCampaignMediaContext"),le=new Qt("EmailCampaignPalette"),he=b([]);var ks=()=>[];function vs(e,n){if(e&1){let i=x();r(0,"button",1),g("click",function(){let o=h(i).$implicit,a=c();return f(a.fix.emit(o.sectionId))}),r(1,"mat-icon",2),_(2,"error_outline"),s(),r(3,"span",3),_(4),s(),r(5,"mat-icon",4),_(6,"chevron_right"),s()()}if(e&2){let i=n.$implicit;l(4),N(i.message)}}var Lt=(()=>{let n=class n{constructor(){this.findings=M(null),this.fix=T()}};n.\u0275fac=function(o){return new(o||n)}
1,n.\u0275cmp=S({type:n,selectors:[["app-campaign-blockers"]],inputs:{findings:[1,"findings"]},outputs:{fix:"fix"},decls:2,vars:1,consts:[["type","button","data-testid","campaign-composer-blocker",1,"campaign-blockers__item"],["type","button","data-testid","campaign-composer-blocker",1,"campaign-blockers__item",3,"click"],[1,"campaign-blockers__icon"],[1,"campaign-blockers__message"],[1,"campaign-blockers__go"]],template:function(o,a){o&1&&ce(0,vs,7,1,"button",0,qn),o&2&&pe(a.findings()??ii(0,ks))},dependencies:[Te,Me],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:flex;flex-direction:column;min-width:0}.campaign-blockers__item[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem .625rem;border:0;border-radius:.375rem;background:transparent;color:#92400e;font:inherit;font-size:.8125rem;line-height:1.35;text-align:left;cursor:pointer}.campaign-blockers__item[_ngcontent-%COMP%]:hover, .campaign-blockers__item[_ngcontent-%COMP%]:focus-visible{background:#fef3c7}.campaign-blockers__icon[_ngcontent-%COMP%], .campaign-blockers__go[_ngcontent-%COMP%]{flex:0 0 auto;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1.125rem}.campaign-blockers__message[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0}.campaign-blockers__go[_ngcontent-%COMP%]{color:#b45309}'],changeDetection:0});let e=n;return e})();var Vt=Object.freeze({sections:[]}),Ss={text:()=>({html:"<p>Say something to your members.</p>",align:"left"}),image:()=>({src:"",alt:""}),button:()=>({label:"Learn more",href:"",align:"center"}),divider:()=>({}),spacer:()=>({heightPx:24}),social:()=>({links:[]}),imageGroup:()=>({layout:"banner",items:[]}),contentFeed:()=>({source:"events",items:[]}),offer:()=>({headline:"Members save on the next one"})},pt="offer";function vo(e,n){return{id:n,kind:e,settings:Ss[e]()}}function fn(e){return(e??[]).some(n=>n.kind===pt)}function Cn(e,n){let i=e??[];return i.length>=_t?!1:n!==pt||!fn(i)}function So(e,n,i){let t=e?.sections??[];if(!Cn(t,n.kind))return e??Vt;let o=typeof i=="number"&&Number.isFinite(i)?Math.min(Math.max(0,Math.trunc(i)),t.length):t.length,a=[...t];return a.splice(o,0,n),hi(a)?{sections:a}:e??Vt}function Po(e,n){return n?{sections:[...n]}:e??Vt}function yo(e,n){let i=e?.sections??[],t=i.find(o=>o.id===n.sectionId&&o.kind===n.kind);return t?{sections:i.map(o=>o===t?ye(E({},o),{settings:n.settings}):o)}:e??Vt}var Mo=5e3;function xn(e,n){return n?e.some(i=>i.id===n):!0}function To(e,n){return e.filter(i=>i.id!==n)}function Ao(e,n,i){let t=e.findIndex(m=>m.id===n),o=t+i;if(t<0||o<0||o>=e.length)return[...e];let a=[...e];return a.splice(o,0,...a.splice(t,1)),a}function wo(e){if(e)return e.position==="before"?e.index:e.index+1}var Eo=[{id:"inbox",icon:"desktop_windows",label:`Inbox (${$e}px)`,width:$e},{id:"phone",icon:"smartphone",label:`Phone (${ln("mobile")}px)`,width:ln("mobile")??$e}],Io=$e,No=1200,Do="We could not open that campaign. Check your connection and try again.",Oo="This email has as many sections as it can hold. Remove one to add another.",Ps="An email can only carry one offer. Edit the one you already have.";function Lo(e,n){return e===pt&&!n?Ps:Oo}function Vo(e,n){return!e||!n?"":`${hn}/${e}/${n}`}var Fo={idle:"",saving:"Saving\u2026",saved:"Saved",failed:"Not saved"},Go=150,Ro=1120;function Bo(e,n){return i=>{if(!i)return e.set(null);e()===null&&e.set(n())}}function Uo(e){return e?"Add a section at the end":Oo}function Ho(e,n){return{select:()=>n.select(e.id),insert:()=>n.insert(e),remove:()=>zo(n,t=>To(t,e.id)),move:()=>{let t=e;zo(n,o=>Ao(o,t.id,t.by))},image:()=>ys(e,n),caption:()=>{let t=e;n.writeCaption(t.id,t.index,t.html,t.live)}}[e.type]}function zo(e,n){let i=e.sections();i&&e.replace(n(i))}function ys(e,n){n.select(e.id),e.action==="edit"&&n.editImage(e.id)}function Ms(e,n,i){let t=e?.settings,o=t?.items;return o?.[n]?ye(E({},t),{items:o.map((a,m)=>m===n?ye(E({},a),{caption:i}):a)}):null}function Xo(e,n,i,t){let o=m=>(e.sections()??[]).find(u=>u.id===m),a=(m,u)=>{let de=o(m);!de||!u||e.applySettings({sectionId:m,kind:de.kind,settings:u})};return{sections:()=>e.sections(),select:m=>e.selectSection(m),replace:m=>e.replaceSections(m),insert:i,editImage:m=>{Ts(e,n,o(m),a)},writeCaption:(m,u,de,Yt)=>{t(Yt),a(m,Ms(o(m),u,de))}}}async function Ts(e,n,i,t){if(i?.kind!=="image")return;let o=i.settings.src??"",a=await n.edit(o,e.mediaUploadPath());if(a.status==="failed")return e.notify(a.reason);a.status==="saved"&&t(i.id,ye(E({},i.settings),{src:a.src}))}function Wo(e,n){e.type==="select"&&bn(n)}function bn(e){!e||e.opened||e.open()}function jo(e){return e>=Ro?"push":"over"}function $o(e,n){return{sources:p(()=>e()?.audienceSources??[]),setSources:i=>n({audienceSources:[...i]}),groups:p(()=>{let i=e();return i?i.audienceGroups??[]:null}),setGroups:i=>n(As(i))}}
1function As(e){return{audienceGroups:[...e],audienceSources:Qi(e)}}var ws="opening the campaign",Ft=class{constructor(){this.history=new Wi,this.draft=b(null),this.canUndo=this.history.canUndo,this.canRedo=this.history.canRedo}commit(n,i,t){this.seed(t),this.history.saveState(n,i,!1),this.draft.set(n)}undo(){return this.apply(this.history.undo())}redo(){return this.apply(this.history.redo())}seed(n){this.history.getCurrentState()||n&&this.history.saveState(n,ws,!1)}apply(n){return n?(this.draft.set(n),n):null}};var Ko="campaignId";function Es(e,n){return sn(e,n).pipe(xe(i=>i===void 0?void 0:i[0]??null),St())}function qo(e,n,i){if(n===void 0)return G(null);if(!n.length)return G({kind:"no-org"});if(!i)return G({kind:"missing"});let t={kind:"failed",message:Do};return lo(o=>e.campaign$(o,i),n).pipe(ie(o=>o.kind==="found"?Is(e,o.orgId,i):G(o.kind==="failed"?t:{kind:"missing"})),be(()=>G(t)))}function Is(e,n,i){return e.campaign$(n,i).pipe(xe(t=>t?{kind:"ready",campaign:t}:{kind:"missing"}))}function Yo(e,n,i,t){return!n||!i?G("idle"):Hn(G("saving"),Ye(e.update(n,i,E({},t))).pipe(xe(()=>"saved"),be(()=>G("failed"))))}function Qo(e,n,i){return e.pipe(vt(i),ie(n))}function Zo(e,n,i){let t=A(Es(e,n),{initialValue:void 0});return{orgIds$:sn(e,n),orgId:p(()=>i()?.ownerScopeId??t())}}function Jo(e,n){let i=b(null),t=b(null),o=b(null);return{name:p(()=>i()??e()?.name??""),subject:p(()=>t()??e()?.subject??""),preheader:p(()=>o()??e()?.preheader??""),renameCampaign:a=>{i.set(a),n({name:a})},renameSubject:a=>{t.set(a),n({subject:a})},renamePreheader:a=>{o.set(a),n({preheader:a})}}}function ea(e,n,i){let t=new zn(0),o=A(kt([n,i,t]).pipe(ie(([a,m])=>qo(e,a,m))),{initialValue:null});return{campaign:p(()=>{let a=o();return a?.kind==="ready"?a.campaign:null}),loadError:p(()=>{let a=o();return a?.kind==="failed"?a.message:null}),isMissing:p(()=>o()?.kind==="missing"),needsOrg:p(()=>o()?.kind==="no-org"),retry:()=>t.next(t.value+1)}}function ta(e,n){return e?mn(e.sections,{preheader:n?.preheader,title:n?.subject??""}):null}function na(e,n){return e?mn(e.sections,{preheader:n?.preheader,title:n?.subject??"",editor:!0}):null}function ia(e){return e===null?null:Xi(e)}function oa(e){return e===null?null:mo(e)}var ve=(()=>{let n=class n{constructor(){this.campaignsApi=C(Re),this.auth=C(Ci),this.route=C(di),this.snackBar=C(wt),this.history=new Ft,this.selectedId=b(null),this.saveRequests=new Un,this.org=Zo(this.route,this.auth,()=>this.campaign()),this.text=Jo(()=>this.campaign(),t=>this.saveRequests.next(t)),this.name=this.text.name,this.subject=this.text.subject,this.preheader=this.text.preheader,this.campaignId$=this.route.paramMap.pipe(xe(t=>t.get(Ko)),St()),this.orgId=this.org.orgId,this.campaignId=A(this.campaignId$,{initialValue:null}),this.userId=A(this.auth.user$.pipe(xe(t=>t?.uid??null)),{initialValue:null}),this.mediaUploadPath=p(()=>Vo(this.orgId(),this.campaignId())),this.loadState=ea(this.campaignsApi,this.org.orgIds$,this.campaignId$),this.campaign=this.loadState.campaign,this.loadError=this.loadState.loadError,this.isMissing=this.loadState.isMissing,this.needsOrg=this.loadState.needsOrg,this.retryLoad=this.loadState.retry,this.content=p(()=>this.history.draft()??this.campaign()?.content??null),this.sections=p(()=>this.content()?.sections??null),this.selectedSection=p(()=>{let t=this.selectedId();return t?this.sections()?.find(o=>o.id===t)??null:null}),this.previewHtml=p(()=>ta(this.content(),this.campaign())),this.size=p(()=>ia(this.previewHtml())),this.preflight=p(()=>oa(this.content())),this.blockingCount=p(()=>this.blockingFindings()?.length??0),this.blockingFindings=p(()=>this.preflight()?.filter(t=>t.blocking)??null),this.canAddOffer=p(()=>!fn(this.sections())),this.hasRoomForSection=p(()=>(this.sections()?.length??_t)<_t),this.canUndo=this.history.canUndo,this.canRedo=this.history.canRedo,this.saveState=A(Qo(this.saveRequests,t=>Yo(this.campaignsApi,this.orgId(),this.campaignId(),t),No),{initialValue:"idle"}),this.renameCampaign=this.text.renameCampaign,this.renameSubject=this.text.renameSubject,this.audience=$o(this.campaign,t=>this.saveRequests.next(t)),this.audienceSources=this.audience.sources,this.setAudienceSources=this.audience.setSources,this.audienceGroups=this.audience.groups,this.setAudienceGroups=this.audience.setGroups,this.renamePreheader=this.text.renamePreheader}selectSection(t){this.selectedId.set(t)}clearSelection(){this.selectedId.set(null)}notify(t){this.snackBar.open(t,"Close",{duration:Mo})}addSection(t,o){let a=this.sections();if(a===null)return;if(!Cn(a,t)){this.notify(Lo(t,this.canAddOffer()));return}let m=vo(t,crypto.randomUUID());this.commit(So(this.content(),m,o),`adding a ${t} section`),this.selectSection(m.id)}replaceSections(t){this.sections()!==null&&(this.commit(Po(this.content(),t),"reordering sections"),xn(t,this.selectedId())||this.clearSelection())}applySettings(t){this.sections()!==null&&this.commit(yo(this.content(),t),`editing the ${t.kind} section`)}undo(){this.afterHistory(this.history.undo())}redo(){this.afterHistory(this.history.redo())}afterHistory(t){t&&(this.saveRequests.next({content:t}),xn(t.sections,this.selectedId())||this.clearSelection())}commit(t,o){this.history.commit(t,o,this.content()),this.saveRequests.next({content:t})}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac});let e=n;return e})();var kn=(()=>{let n=class n{constructor(){this.campaignsApi=C(Re),this.dialog=C(Ae),this.snackBar=C(wt)}async save(t,o){let a=co(o);if(!t||!a.sections.length){this.snackBar.open("Add something to this campaign before saving it as a template.","Close",{duration:5e3});return}if(await this.confirm(dn(o)))try{await this.campaignsApi.saveTemplate(t,dn(o),a),this.snackBar.open("Saved. You will find it under Templates.","Close",{duration:5e3})}catch{this.snackBar.open("We could not save that template. Please try again.","Close",{duration:8e3})}}
1async confirm(t){let o={title:"Save as a template?",subtitle:t,icon:"bookmark_add",color:"teal",description:"This campaign's blocks are copied into a template you can start future campaigns from. Its subject, audience and schedule are not.",confirmText:"Save template",cancelText:"Not now"},a=this.dialog.open(Ni,{data:o,width:"32rem"});return await Ge(a.afterClosed())===!0}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac});let e=n;return e})();var Ns=["frame"];function Ds(e,n){if(e&1&&Jt(0,"iframe",1,0),e&2){let i=c();tn("title",i.frameTitle())("srcdoc",i.srcdoc(),Zt)}}function Os(e,n){if(e&1&&Jt(0,"iframe",2,0),e&2){let i=c();tn("title",i.frameTitle())("srcdoc",i.srcdoc(),Zt)}}var aa=(()=>{let n=class n{constructor(){this.sanitizer=C(li),this.html=M(null),this.frameTitle=M("Email preview"),this.editable=M(!1),this.selectedId=M(""),this.canvasAction=T(),this.srcdoc=p(()=>this.sanitizer.bypassSecurityTrustHtml(this.html()??"")),this.frame=tt("frame");let t=o=>this.onCanvasMessage(o);window.addEventListener("message",t),C(Wn).onDestroy(()=>window.removeEventListener("message",t)),ke(this.selectedId).pipe(V()).subscribe(o=>this.postSelection(o))}onCanvasMessage(t){if(this.editable()&&t.source===this.frame()?.nativeElement.contentWindow&&Bi(t.data)){if(t.data.type==="ready"){this.postSelection(this.selectedId());return}this.canvasAction.emit(t.data)}}postSelection(t){this.frame()?.nativeElement.contentWindow?.postMessage({source:Ri,type:"selected",id:t},"*")}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-preview-frame"]],viewQuery:function(o,a){o&1&&Ze(a.frame,Ns,5),o&2&&Je()},inputs:{html:[1,"html"],frameTitle:[1,"frameTitle"],editable:[1,"editable"],selectedId:[1,"selectedId"]},outputs:{canvasAction:"canvasAction"},decls:2,vars:1,consts:[["frame",""],["data-testid","campaign-preview-frame","sandbox","allow-scripts",1,"campaign-preview-frame__frame",3,"title","srcdoc"],["data-testid","campaign-preview-frame","sandbox","",1,"campaign-preview-frame__frame",3,"title","srcdoc"]],template:function(o,a){o&1&&k(0,Ds,2,2,"iframe",1)(1,Os,2,2,"iframe",2),o&2&&v(a.editable()?0:1)},styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-preview-frame__frame[_ngcontent-%COMP%]{display:block;width:100%;height:100%;min-height:60vh;border:0;background:#fff}'],changeDetection:0});let e=n;return e})();var ge={content:"content",media:"media",layout:"layout",promote:"promote"},Ls=[{key:ge.content,label:"Content"},{key:ge.media,label:"Pictures"},{key:ge.layout,label:"Layout"},{key:ge.promote,label:"Promote"}],Vs={text:{group:ge.content,icon:"notes",keywords:"paragraph words copy prose headline",description:"Words. The block most of an email is made of.",example:"We need two more for the 6pm on Thursday."},image:{group:ge.media,icon:"image",keywords:"picture photo banner logo",description:"One picture, with the alt text most of your list will read instead of seeing it."},imageGroup:{group:ge.media,icon:"collections",keywords:"gallery grid cards images photos side by side",description:"Several pictures in one of seven arrangements \u2014 a banner, a grid, or a picture beside words."},button:{group:ge.content,icon:"smart_button",keywords:"call to action cta link rsvp register",description:"A call to action that still looks like a button in Outlook.",example:"RSVP for Thursday"},contentFeed:{group:ge.content,icon:"dynamic_feed",keywords:"blog posts events courses products shop cards feed",description:"Cards taken from your events, courses, blog posts or shop, snapshotted as they are today."},social:{group:ge.content,icon:"share",keywords:"links instagram facebook follow social",description:"A row of links out to the club\u2019s other places."},divider:{group:ge.layout,icon:"horizontal_rule",keywords:"line rule separator break",description:"A visible line between two parts of the email."},spacer:{group:ge.layout,icon:"height",keywords:"space gap padding whitespace",description:"Vertical breathing room \u2014 which, in email, has to be an element of its own."},offer:{group:ge.promote,icon:"sell",keywords:"discount coupon code promo deal offer",description:"A discount, its code, and the small print under it.",example:"SPRING20"}},Fs="One per email",Gs="This email already has an offer. Two competing offers in one message is a support ticket \u2014 edit the one you have instead.";function Rs(e,n){let i=Vs[e],t=e===pt&&n.hasOffer;return{id:e,title:_n[e],group:i.group,icon:i.icon,keywords:i.keywords,description:t?Gs:i.description,example:i.example,badge:t?Fs:void 0,disabled:t}}function ra(e){return{searchPlaceholder:"Find text, pictures, buttons and offers...",insertLabel:"Add to email",emptyTitle:"Add a section",emptyDescription:"Search the list, use the arrow keys to browse, then press Enter to add the section to your email.",groups:[...Ls],items:ui.map(n=>Rs(n,e))}}var ft=(()=>{let n=class n{constructor(){this.dialog=C(Ae)}async choose(t){let o=await Ge(this.dialog.open(Fi,{maxWidth:"95vw",data:ra(t)}).afterClosed());return!o||!_i(o.id)?null:o.id}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac});let e=n;return e})();function Bs(e,n){if(e&1){let i=x();r(0,"button",14),g("click",function(){h(i);let o=c(2);return f(o.onClear())}),r(1,"mat-icon"),_(2,"close"),s()()}if(e&2){let i=c(2);W("ark-picker__swatch--active",i.isCleared())}}function Us(e,n){if(e&1&&(r(0,"mat-icon"),_(1,"check"),s()),e&2){let i=c().$implicit,t=c(2);oe("color",t.tickColorOn(i))}}function zs(e,n){if(e&1){let i=x();r(0,"button",15),g("click",function(){let o=h(i).$implicit,a=c(2);return f(a.onSwatch(o))}),k(1,Us,2,2,"mat-icon",16),s()}if(e&2){let i=n.$implicit,t=c(2);oe("background",i),W("ark-picker__swatch--active",t.isSelected(i)),Q("aria-label",i)("aria-pressed",t.isSelected(i))("title",i),l(),v(t.isSelected(i)?1:-1)}}function Hs(e,n){if(e&1&&(r(0,"div",1),k(1,Bs,3,2,"button",12),ce(2,zs,2,8,"button",13,Yn),s()),e&2){let i=c();l(),v(i.clearable()?1:-1),l(),pe(i.palette())}}function Xs(e,n){if(e&1&&(r(0,"span",17),_(1),s()),e&2){let i=c();oe("color",i.readableText()),l(),re(" ",i.hex()," ")}}var fe=(()=>{let n=class n{constructor(){this.value=M(""),this.palette=M([]),this.clearable=M(!0),this.valueChange=T(),this.hue=b(null),this.hsv=p(()=>{let t=pn(De(this.value(),"#000000")),o=this.hue();return o===null?t:ye(E({},t),{h:o})}
1),this.hueColor=p(()=>Dt({h:this.hsv().h,s:1,v:1})),this.pointerLeft=p(()=>this.hsv().s*100),this.pointerTop=p(()=>(1-this.hsv().v)*100),this.huePosition=p(()=>this.hsv().h/360*100),this.hex=p(()=>this.value()?De(this.value()):""),this.readableText=p(()=>gn(this.hex()||"#000000")),this.isCleared=p(()=>!this.hex())}tickColorOn(t){return gn(t)}isSelected(t){return De(t)===this.hex()}onSwatch(t){this.commit(De(t),!0)}onClear(){this.commit("",!0)}onSquarePointer(t){let o=la(t);if(!o)return;sa(t);let a=this.hsv().h;this.hue.set(a),this.commit(Dt({h:a,s:Ke((t.clientX-o.left)/o.width),v:1-Ke((t.clientY-o.top)/o.height)}),!1)}onHuePointer(t){let o=la(t);if(!o)return;sa(t);let a=Ke((t.clientX-o.left)/o.width)*360;this.hue.set(a),this.commit(Dt({h:a,s:this.hsv().s,v:this.hsv().v}),!1)}onHexInput(t){let o=t.target.value;Nt(o)&&this.commit(De(o),!0)}commit(t,o){o&&this.hue.set(t?pn(t).h:null),this.valueChange.emit(t)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-color-picker-panel"]],inputs:{value:[1,"value"],palette:[1,"palette"],clearable:[1,"clearable"]},outputs:{valueChange:"valueChange"},decls:13,vars:13,consts:[[1,"ark-picker"],["role","group","aria-label","Colours in use",1,"ark-picker__swatches"],[1,"ark-picker__square",3,"pointerdown","pointermove"],[1,"ark-picker__square-white"],[1,"ark-picker__square-black"],[1,"ark-picker__dot"],[1,"ark-picker__readout",3,"color"],[1,"ark-picker__hue",3,"pointerdown","pointermove"],[1,"ark-picker__hue-dot"],[1,"ark-picker__hex"],[1,"ark-picker__hex-label"],["type","text","maxlength","7","placeholder","#000000","spellcheck","false","autocapitalize","none",1,"ark-picker__hex-input",3,"input","value"],["type","button","aria-label","No colour","title","No colour",1,"ark-picker__swatch","ark-picker__swatch--clear",3,"ark-picker__swatch--active"],["type","button",1,"ark-picker__swatch",3,"ark-picker__swatch--active","background"],["type","button","aria-label","No colour","title","No colour",1,"ark-picker__swatch","ark-picker__swatch--clear",3,"click"],["type","button",1,"ark-picker__swatch",3,"click"],[3,"color"],[1,"ark-picker__readout"]],template:function(o,a){o&1&&(r(0,"div",0),k(1,Hs,4,1,"div",1),r(2,"div",2),g("pointerdown",function(u){return a.onSquarePointer(u)})("pointermove",function(u){return u.buttons?a.onSquarePointer(u):null}),y(3,"div",3)(4,"div",4)(5,"span",5),k(6,Xs,2,3,"span",6),s(),r(7,"div",7),g("pointerdown",function(u){return a.onHuePointer(u)})("pointermove",function(u){return u.buttons?a.onHuePointer(u):null}),y(8,"span",8),s(),r(9,"label",9)(10,"span",10),_(11,"Hex"),s(),r(12,"input",11),g("input",function(u){return a.onHexInput(u)}),s()()()),o&2&&(l(),v(a.palette().length||a.clearable()?1:-1),l(),oe("background-color",a.hueColor()),l(3),oe("left",a.pointerLeft(),"%")("top",a.pointerTop(),"%"),l(),v(a.hex()?6:-1),l(2),oe("left",a.huePosition(),"%")("background",a.hueColor()),l(4),d("value",a.hex()))},dependencies:[Te,Me],styles:['@charset "UTF-8";@keyframes _ngcontent-%COMP%_ark-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-item-in{0%{opacity:0;transform:scaleY(.96) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes _ngcontent-%COMP%_ark-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.ark-picker[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ark-picker__swatches[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.ark-picker__swatch[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:transparent;cursor:pointer}.ark-picker__swatch[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:1rem;height:1rem;font-size:1rem;line-height:1rem}@media(prefers-reduced-motion:no-preference){.ark-picker__swatch[_ngcontent-%COMP%]{transition-property:box-sha
1dow,transform;transition-duration:.11s;transition-timing-function:cubic-bezier(.2,0,0,1)}}.ark-picker__swatch[_ngcontent-%COMP%]:hover{transform:scale(1.08)}.ark-picker__swatch[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ark-picker__swatch--active[_ngcontent-%COMP%]{box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.ark-picker__swatch--clear[_ngcontent-%COMP%]{position:relative;color:#6b7280;background:linear-gradient(to bottom right,transparent calc(50% - 1px),#d1d5db calc(50% - 1px),#d1d5db calc(50% + 1px),transparent calc(50% + 1px)),#fff}.ark-picker__square[_ngcontent-%COMP%]{position:relative;width:100%;height:9rem;border-radius:.5rem;cursor:crosshair;overflow:hidden;touch-action:none}.ark-picker__square-white[_ngcontent-%COMP%], .ark-picker__square-black[_ngcontent-%COMP%]{position:absolute;inset:0}.ark-picker__square-white[_ngcontent-%COMP%]{background:linear-gradient(to right,#fff,#fff0)}.ark-picker__square-black[_ngcontent-%COMP%]{background:linear-gradient(to top,#000,#0000)}.ark-picker__dot[_ngcontent-%COMP%]{position:absolute;width:.875rem;height:.875rem;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #00000059;transform:translate(-50%,-50%);pointer-events:none}.ark-picker__readout[_ngcontent-%COMP%]{position:absolute;right:.5rem;bottom:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}.ark-picker__hue[_ngcontent-%COMP%]{position:relative;height:.875rem;border-radius:999px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.ark-picker__hue-dot[_ngcontent-%COMP%]{position:absolute;top:50%;width:1rem;height:1rem;border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 1px #00000059;transform:translate(-50%,-50%);pointer-events:none}.ark-picker__hex[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.ark-picker__hex-label[_ngcontent-%COMP%]{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}.ark-picker__hex-input[_ngcontent-%COMP%]{flex:1;min-width:0;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:.375rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:#111827}.ark-picker__hex-input[_ngcontent-%COMP%]:focus{outline:2px solid #2563eb;outline-offset:-1px}'],changeDetection:0});let e=n;return e})();function sa(e){if(e.type==="pointerdown")try{e.target.setPointerCapture?.(e.pointerId)}catch{}}function la(e){let n=e.currentTarget;return n?n.getBoundingClientRect():null}var ma=[{value:"sans",label:"Sans"},{value:"serif",label:"Serif"},{value:"mixed",label:"Mixed"}],Oe="Helvetica,Arial,sans-serif",qe='Georgia,"Times New Roman",Times,serif',Gt=[{id:"system",label:"System",category:"sans",headingStack:`-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,${Oe}`,bodyStack:`-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,${Oe}`},{id:"grotesque",label:"Grotesque",category:"sans",headingStack:`"Arial Black",Arial,${Oe}`,bodyStack:Oe},{id:"geometric",label:"Geometric",category:"sans",headingStack:`"Century Gothic","Trebuchet MS",Verdana,${Oe}`,bodyStack:`"Trebuchet MS",Verdana,${Oe}`},{id:"humanist",label:"Humanist",category:"sans",headingStack:`"Segoe UI",Tahoma,Verdana,${Oe}`,bodyStack:`Verdana,Tahoma,${Oe}`},{id:"editorial",label:"Editorial",category:"serif",headingStack:qe,bodyStack:qe},{id:"book",label:"Book",category:"serif",headingStack:`"Palatino Linotype","Book Antiqua",Palatino,${qe}`,bodyStack:`"Palatino Linotype","Book Antiqua",Palatino,${qe}`},{id:"classic",label:"Classic",category:"serif",headingStack:`"Times New Roman",Times,${qe}`,bodyStack:`"Times New Roman",Times,${qe}`},{id:"journal",label:"Journal",category:"mixed",headingStack:qe,bodyStack:`"Segoe UI","Helvetica Neue",${Oe}`},{id:"typewriter",label:"Typewriter",category:"mixed",headingStack:'"Courier New",Courier,monospace',bodyStack:'"Courier New",Courier,monospace'}];function Rt(e){let n=(e??"").trim();return n?Gt.find(i=>i.bodyStack===n)??null:null}function ze(e){return Gt.find(n=>n.id===e)??null}var Ws=(e,n)=>
1n.value,js=(e,n)=>n.id;function $s(e,n){if(e&1){let i=x();K(0,"button",5),nn("click",function(){let o=h(i).$implicit,a=c();return f(a.onTab(o.value))}),_(1),Z()}if(e&2){let i=n.$implicit,t=c();W("ark-fonts__tab--active",i.value===t.activeCategory()),Q("aria-selected",i.value===t.activeCategory()),l(),re(" ",i.label," ")}}function Ks(e,n){if(e&1){let i=x();K(0,"button",6),nn("click",function(){let o=h(i).$implicit,a=c();return f(a.onPick(o))}),K(1,"span",7)(2,"span",8),_(3),Z(),K(4,"span",9),_(5),Z(),K(6,"span",10),_(7),Z()(),K(8,"span",11),_(9),Z()()}if(e&2){let i=n.$implicit,t=c();W("ark-fonts__card--active",i.id===t.value()),Q("aria-pressed",i.id===t.value()),l(2),oe("font-family",i.headingStack),l(),N(t.headingSample()),l(),oe("font-family",i.headingStack),l(),N(t.subheadingSample()),l(),oe("font-family",i.bodyStack),l(),N(t.bodySample()),l(2),N(i.label)}}var Bt=(()=>{let n=class n{constructor(){this.value=M(""),this.packs=M(Gt),this.headingSample=M("Heading"),this.subheadingSample=M("Subheading"),this.bodySample=M("Paragraph"),this.valueChange=T(),this.categories=ma,this.chosenTab=b(null),this.activeCategory=p(()=>this.chosenTab()??ze(this.value())?.category??this.categories[0].value),this.visiblePacks=p(()=>this.packs().filter(t=>t.category===this.activeCategory()))}onTab(t){this.chosenTab.set(t)}onPick(t){this.valueChange.emit(t.id)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-font-pack-picker"]],inputs:{value:[1,"value"],packs:[1,"packs"],headingSample:[1,"headingSample"],subheadingSample:[1,"subheadingSample"],bodySample:[1,"bodySample"]},outputs:{valueChange:"valueChange"},decls:7,vars:0,consts:[[1,"ark-fonts"],["role","tablist","aria-label","Font pack style",1,"ark-fonts__tabs"],["type","button","role","tab",1,"ark-fonts__tab",3,"ark-fonts__tab--active"],[1,"ark-fonts__list"],["type","button",1,"ark-fonts__card",3,"ark-fonts__card--active"],["type","button","role","tab",1,"ark-fonts__tab",3,"click"],["type","button",1,"ark-fonts__card",3,"click"],[1,"ark-fonts__specimen"],[1,"ark-fonts__heading"],[1,"ark-fonts__subheading"],[1,"ark-fonts__body"],[1,"ark-fonts__name"]],template:function(o,a){o&1&&(K(0,"div",0)(1,"div",1),ce(2,$s,2,4,"button",2,Ws),Z(),K(4,"div",3),ce(5,Ks,10,13,"button",4,js),Z()()),o&2&&(l(2),pe(a.categories),l(3),pe(a.visiblePacks()))},styles:['@charset "UTF-8";@keyframes _ngcontent-%COMP%_ark-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-item-in{0%{opacity:0;transform:scaleY(.96) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes _ngcontent-%COMP%_ark-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.ark-fonts[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ark-fonts__tabs[_ngcontent-%COMP%]{display:flex;gap:.125rem;padding:.1875rem;border-radius:.5rem;background:#f1f1f0}.ark-fonts__tab[_ngcontent-%COMP%]{flex:1 1 0;min-width:0;padding:.375rem .25rem;border:1px solid transparent;border-radius:.375rem;background:transparent;font-size:.8125rem;color:#6b7280;cursor:pointer}.ark-fonts__tab[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.ark-fonts__tab--active[_ngcontent-%COMP%]{border-color:#e5e7eb;background:#fff;font-weight:600;color:#111827;box-shadow:0 1px 2px #00000014}.ark-fonts__list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow-y:auto;padding-right:.125rem}.ark-fonts__card[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;min-width:0;padding:0;border:1px solid #e5e7eb;border-radius:.625rem;background:#fff;cursor:pointer;overflow:hidden}@media(prefers-reduced-motion:no-preference){.ark-fonts__card[_ngcontent-%COMP%]{transition-property:border-color,box-shadow;transition-duration:.11s;transition-timing-function:cubic-bezier(.2,0,0,1)}}.ark-fonts__card[_ngcontent-%COMP%]:hover{border-color:#d1d5db}.ark-fonts__card[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.ark-fonts__card--active[_ngcontent-%COMP%]{border-color:#111827;box-shadow:inset 0 0 0 1px #111827}.ark-fonts__specimen[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:1rem .75rem;color:#111827;text-align:center}.ark-fonts__heading[_ngcontent-%COMP%]{font-size:1.375rem;font-weight:700;line-height:1.2}.ark-fonts__subheading[_ngcontent-%COMP%]{font-size:1.0625rem;font-weight:500;line-height:1.25}.ark-fonts__body[_ngcontent-%COMP%]{font-size:.8125rem;line-height:1.4;color:#374151}.ark-fonts__name[_ngcontent-%COMP%]{padding:.5rem .75rem;border-top:1px solid #f3f4f6;font-size:.8125rem;color:#374151;text-align:center}'],changeDetection:0});let e=n;return e})();var Ut=[{kind:"web",label:"Web Address",fieldLabel:"Link",placeholder:"https://example.com",hint:"The whole address, starting with https://",error:"That is not a web address. It needs to start with https://"},{kind:"email",label:"Email",fieldLabel:"Email address",placeholder:"[email protected]",hint:"Just the address \u2014 we add the mailto: part.",error:"That is not an email address. Something like [email protected]."},{kind:"phone",label:"Phone",fieldLabel:"Phone number",placeholder:"+1 (555) 010-9999",hint:"Just the number \u2014 we add the tel: part.",error:"That is not a phone number. Digits, space
1s and + ( ) - only."}];function zt(e){return Ut.find(n=>n.kind===e)??Ut[0]}function da(e){return e.value.trim()?!!ci(e.value,e.kind):!0}var qs=(e,n)=>n.kind;function Ys(e,n){if(e&1){let i=x();r(0,"li")(1,"button",15),g("click",function(){let o=h(i).$implicit,a=c();return f(a.onKind(o.kind))}),_(2),s()()}if(e&2){let i=n.$implicit,t=c();l(),W("ark-link__kind--active",i.kind===t.kind()),Q("aria-current",i.kind===t.kind()?"true":null),l(),re(" ",i.label," ")}}function Qs(e,n){if(e&1&&(r(0,"p",10),_(1),s()),e&2){let i=c();l(),N(i.entry().hint)}}function Zs(e,n){if(e&1&&(r(0,"p",11),_(1),s()),e&2){let i=c();l(),N(i.entry().error)}}var pa=(()=>{let n=class n{constructor(){this.dialogRef=C(Ei),this.data=C(Ii),this.kinds=Ut,this.title=this.data.title??"Link Editor",this.kind=b(this.data.link.kind),this.drafts=b({web:this.data.link.kind==="web"?this.data.link.value:"",email:this.data.link.kind==="email"?this.data.link.value:"",phone:this.data.link.kind==="phone"?this.data.link.value:""}),this.entry=p(()=>zt(this.kind())),this.value=p(()=>this.drafts()[this.kind()]),this.link=p(()=>({kind:this.kind(),value:this.value()})),this.isUsable=p(()=>da(this.link()))}onKind(t){this.kind.set(t)}onValue(t){let o=t.target.value;this.drafts.set(ye(E({},this.drafts()),{[this.kind()]:o}))}onClose(){this.dialogRef.close(void 0)}onSave(){this.isUsable()&&this.dialogRef.close({kind:this.kind(),value:this.value().trim()})}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-link-editor"]],decls:23,vars:8,consts:[[1,"ark-link"],["aria-label","What this links to",1,"ark-link__rail"],["type","button","mat-stroked-button","",1,"ark-link__close",3,"click"],[1,"ark-link__title"],[1,"ark-link__kinds"],[1,"ark-link__pane"],[1,"ark-link__pane-title"],[1,"ark-link__field"],[1,"ark-link__field-label"],["type","text","spellcheck","false","autocapitalize","none",1,"ark-link__input",3,"input","value"],[1,"ark-link__hint"],["role","alert",1,"ark-link__error"],[1,"ark-link__actions"],["type","button","mat-button","",3,"click"],["type","button","mat-flat-button","","color","primary",3,"click","disabled"],["type","button",1,"ark-link__kind",3,"click"]],template:function(o,a){o&1&&(r(0,"div",0)(1,"nav",1)(2,"button",2),g("click",function(){return a.onClose()}),_(3," Close "),s(),r(4,"h2",3),_(5),s(),r(6,"ul",4),ce(7,Ys,3,4,"li",null,qs),s()(),r(9,"section",5)(10,"h3",6),_(11),s(),r(12,"label",7)(13,"span",8),_(14),s(),r(15,"input",9),g("input",function(u){return a.onValue(u)}),s()(),k(16,Qs,2,1,"p",10)(17,Zs,2,1,"p",11),r(18,"div",12)(19,"button",13),g("click",function(){return a.onClose()}),_(20,"Cancel"),s(),r(21,"button",14),g("click",function(){return a.onSave()}),_(22," Apply "),s()()()()),o&2&&(l(5),N(a.title),l(2),pe(a.kinds),l(4),N(a.entry().label),l(3),N(a.entry().fieldLabel),l(),d("value",a.value()),Q("placeholder",a.entry().placeholder)("aria-invalid",!a.isUsable()),l(),v(a.isUsable()?16:17),l(5),d("disabled",!a.isUsable()))},dependencies:[it,nt],styles:['@charset "UTF-8";.ark-link[_ngcontent-%COMP%]{display:grid;grid-template-columns:14rem 1fr;min-height:22rem;max-width:100%}.ark-link__rail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;background:#f4f4f4}.ark-link__close[_ngcontent-%COMP%]{align-self:flex-start;letter-spacing:.08em;text-transform:uppercase}.ark-link__title[_ngcontent-%COMP%]{margin:0;font-size:1.375rem;font-weight:700;color:#111827}.ark-link__kinds[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.ark-link__kind[_ngcontent-%COMP%]{padding:.25rem 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:1rem;color:#374151;cursor:pointer}.ark-link__kind[_ngcontent-%COMP%]:hover{color:#111827}.ark-link__kind[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ark-link__kind--active[_ngcontent-%COMP%]{border-bottom-color:#111827;font-weight:600;color:#111827}.ark-link__pane[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;background:#fff}.ark-link__pane-title[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#111827}
1.ark-link__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.ark-link__field-label[_ngcontent-%COMP%]{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}.ark-link__input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.5rem 0;border:0;border-bottom:1px solid #d1d5db;background:transparent;font-size:1rem;color:#111827}.ark-link__input[_ngcontent-%COMP%]:focus{border-bottom-color:#111827;outline:none}.ark-link__hint[_ngcontent-%COMP%]{margin:0;font-size:.8125rem;color:#6b7280}.ark-link__error[_ngcontent-%COMP%]{margin:0;font-size:.8125rem;color:#b91c1c}.ark-link__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:auto}@media(max-width:40rem){.ark-link[_ngcontent-%COMP%]{grid-template-columns:1fr;min-height:0}.ark-link__kinds[_ngcontent-%COMP%]{flex-direction:row;gap:1rem}}'],changeDetection:0});let e=n;return e})();function Js(e,n){if(e&1){let i=x();r(0,"ark-slider-row",3),g("valueChange",function(o){h(i);let a=c();return f(a.onSide("left",o))}),s(),r(1,"ark-slider-row",4),g("valueChange",function(o){h(i);let a=c();return f(a.onSide("right",o))}),s()}if(e&2){let i=c();d("value",i.padding().left)("min",i.min())("max",i.max()),l(),d("value",i.padding().right)("min",i.min())("max",i.max())}}var Ht=(()=>{let n=class n{constructor(){this.padding=M.required(),this.min=M(0),this.max=M(80),this.showsHorizontal=M(!0),this.paddingChange=T()}onSide(t,o){this.paddingChange.emit({side:t,value:o})}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-padding-editor"]],inputs:{padding:[1,"padding"],min:[1,"min"],max:[1,"max"],showsHorizontal:[1,"showsHorizontal"]},outputs:{paddingChange:"paddingChange"},decls:4,vars:7,consts:[[1,"ark-pad"],["label","Top","suffix","px","layout","stacked",3,"valueChange","value","min","max"],["label","Bottom","suffix","px","layout","stacked",3,"valueChange","value","min","max"],["label","Left","suffix","px","layout","stacked",3,"valueChange","value","min","max"],["label","Right","suffix","px","layout","stacked",3,"valueChange","value","min","max"]],template:function(o,a){o&1&&(r(0,"div",0)(1,"ark-slider-row",1),g("valueChange",function(u){return a.onSide("top",u)}),s(),r(2,"ark-slider-row",2),g("valueChange",function(u){return a.onSide("bottom",u)}),s(),k(3,Js,2,6),s()),o&2&&(l(),d("value",a.padding().top)("min",a.min())("max",a.max()),l(),d("value",a.padding().bottom)("min",a.min())("max",a.max()),l(),v(a.showsHorizontal()?3:-1))},dependencies:[z],styles:[".ark-pad[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:0 1rem}.ark-pad[_ngcontent-%COMP%] ark-slider-row[_ngcontent-%COMP%] + ark-slider-row[_ngcontent-%COMP%]{border-top:1px solid #f1f3f5}
1"],changeDetection:0});let e=n;return e})();var el=["*"];function tl(e,n){if(e&1&&(K(0,"h4",1),_(1),Z()),e&2){let i=c();l(),N(i.label())}}function nl(e,n){if(e&1&&(K(0,"p",3),_(1),Z()),e&2){let i=c();l(),N(i.hint())}}var H=(()=>{let n=class n{constructor(){this.label=M(""),this.hint=M("")}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-settings-group"]],inputs:{label:[1,"label"],hint:[1,"hint"]},ngContentSelectors:el,decls:5,vars:2,consts:[[1,"ark-sg"],[1,"ark-sg__label"],[1,"ark-sg__rows"],[1,"ark-sg__hint"]],template:function(o,a){o&1&&(Zn(),K(0,"section",0),k(1,tl,2,1,"h4",1),K(2,"div",2),Jn(3),Z(),k(4,nl,2,1,"p",3),Z()),o&2&&(l(),v(a.label()?1:-1),l(3),v(a.hint()?4:-1))},styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] + -shadowcsshost{border-top:1px solid #eceff2}.ark-sg[_ngcontent-%COMP%]{display:block;padding:.75rem 0;border-top:1px solid #eceff2}.ark-sg__label[_ngcontent-%COMP%]{margin:0 0 .25rem;padding:0 1rem;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#9098a3}.ark-sg__rows[_ngcontent-%COMP%]{display:flex;flex-direction:column}.ark-sg__hint[_ngcontent-%COMP%]{margin:.375rem 0 0;padding:0 1rem;font-size:.75rem;line-height:1.45;color:#6b7280}"],changeDetection:0});let e=n;return e})();function il(e,n){e&1&&en(0)}function ol(e,n){if(e&1){let i=x();r(0,"button",3),g("click",function(){h(i);let o=c();return f(o.onOpen())}),Qe(1,il,1,0,"ng-container",4),r(2,"mat-icon",5),_(3,"chevron_right"),s()()}if(e&2){let i=c(),t=et(3);d("disabled",i.disabled()),l(),d("ngTemplateOutlet",t)}}function al(e,n){e&1&&en(0)}function rl(e,n){if(e&1&&(r(0,"div",2),Qe(1,al,1,0,"ng-container",4),s()),e&2){c();let i=et(3);l(),d("ngTemplateOutlet",i)}}function sl(e,n){if(e&1&&(r(0,"mat-icon",6),_(1),s()),e&2){let i=c(2);l(),N(i.icon())}}function ll(e,n){if(e&1&&(r(0,"span",8),_(1),s()),e&2){let i=c(2);l(),N(i.value())}}function ml(e,n){if(e&1&&y(0,"span",10),e&2){let i=c(2);oe("background",i.swatch()||null),W("ark-sr__swatch--none",!i.swatch())}}function dl(e,n){if(e&1&&(k(0,sl,2,1,"mat-icon",6),r(1,"span",7),_(2),s(),k(3,ll,2,1,"span",8),k(4,ml,1,4,"span",9)),e&2){let i=c();v(i.icon()?0:-1),l(2),N(i.label()),l(),v(i.value()?3:-1),l(),v(i.showsSwatch()?4:-1)}}var X=(()=>{let n=class n{constructor(){this.label=M.required(),this.value=M(""),this.swatch=M(""),this.hasSwatch=M(!1),this.icon=M(""),this.openable=M(!0),this.disabled=M(!1),this.open=T(),this.showsSwatch=p(()=>this.hasSwatch()||this.swatch()!=="")}onOpen(){this.disabled()||!this.openable()||this.open.emit()}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-settings-row"]],inputs:{label:[1,"label"],value:[1,"value"],swatch:[1,"swatch"],hasSwatch:[1,"hasSwatch"],icon:[1,"icon"],openable:[1,"openable"],disabled:[1,"disabled"]},outputs:{open:"open"},decls:4,vars:1,consts:[["body",""],["type","button",1,"ark-sr","ark-sr--openable",3,"disabled"],[1,"ark-sr"],["type","button",1,"ark-sr","ark-sr--openable",3,"click","disabled"],[4,"ngTemplateOutlet"],[1,"ark-sr__chevron"],[1,"ark-sr__icon"],[1,"ark-sr__label"],[1,"ark-sr__value"],[1,"ark-sr__swatch",3,"ark-sr__swatch--none","background"],[1,"ark-sr__swatch"]],template:function(o,a){o&1&&(k(0,ol,4,2,"button",1)(1,rl,2,1,"div",2),Qe(2,dl,5,4,"ng-template",null,0,Mt)),o&2&&v(a.openable()?0:1)},dependencies:[Te,Me,ri],styles:['@charset "UTF-8";@keyframes _ngcontent-%COMP%_ark-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-item-in{0%{opacity:0;transform:scaleY(.96) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes _ngcontent-%COMP%_ark-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}[_nghost-%COMP%]{display:block}.ark-sr[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.625rem;width:100%;min-width:0;min-height:2.75rem;padding:.5rem 1rem;border:0;background:transparent;text-align:left}.ark-sr--openable[_ngcontent-%COMP%]{cursor:pointer}@media(prefers-reduced-motion:no-preference){.ark-sr--openable[_ngcontent-%COMP%]{transition-property:background-color,color;transition-duration:.11s;transition-timing-function:cubic-bezier(.2,0,0,1)}}.ark-sr--openable[_ngcontent-%COMP%]:hover:not(:disabled){background:#f6f7f9}.ark-sr--openable[_ngcontent-%COMP%]:active:not(:disabled){background:#eef0f3}.ark-sr--openable[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.ark-sr--openable[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.55}.ark-sr__icon[_ngcontent-%COMP%]{flex:0 0 auto;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1.125rem;color:#6b7280}.ark-sr__label[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;font-size:.875rem;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ark-sr__value[_ngcontent-%COMP%]{flex:0 0 auto;max-width:10rem;font-size:.8125rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ark-sr__swatch[_ngcontent-%COMP%]{flex:0 0 auto;width:1.25rem;height:1.25rem;border:1px solid rgba(0,0,0,.15);border-radius:999px}.ark-sr__swatch--none[_ngcontent-%COMP%]{background:conic-gradient(#e5e7eb 0 25%,#fff 0 50%,#e5e7eb 0 75%,#fff 0) 0 0/8px 8px}.ark-sr--openable[_ngcontent-%COMP%]:hover .ark-sr__chevron[_ngcontent-%COMP%]{transform:translate(2px);color:#6b7280}.ark-sr__chevron[_ngcontent-%COMP%]{flex:0 0 auto;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1.125rem;color:#b6bcc5}@media(prefers-reduced-motion:no-preference){.ark-sr__chevron[_ngcontent-%COMP%]{transition-property:transform,color;transition-duration:.11s;transition-timing-function:cubic-bezier(.2,0,0,1)}}'],changeDetection:0});let e=n;return e})();var Se=125,Pe=40,vn=80,Le=120,Ve=40,ga=300,ua=500,_a=2048;function Ee(e){return[ht(),at.maxLength(e)]}function Ce(e){return[at.maxLength(e)]}function Xt(e,n){return[cl(e),at.maxLength(n)]}function cl(e){return n=>{let i=n.parent?.get(e);return!i||!String(i.value??"").trim()||String(n.value??"").trim()?null:{required:!0}}}function Wt(){return[ht(),rn(),at.maxLength(_a)]}function He(){return[rn(),at.maxLength(_a)]}function L(e,n){return Gi({min:e,max:n})}var ha="color:",fa={textColor:"Text colour",backgroundColor:"Button colour",borderColor:"Border colour",sectionBackgroun
1dColor:"Section colour"},pl=["borderColor","sectionBackgroundColor"],gl={padding:"Padding",radius:"Corner radius",font:"Font pack"};function Sn(e){let n=e.replace(ha,"");return n in fa?n:"backgroundColor"}function Ca(e){return e.startsWith(ha)?fa[Sn(e)]:gl[e]??""}function xa(e){return pl.includes(e)}function gt(e){let n=Number(e);return Number.isFinite(n)&&n>=0?Math.round(n):0}function ba(e){let[n]=e;return e.every(i=>i===n)?`${n}px`:e.join(" \xB7 ")}function B(e){return e?.settings??{}}function R(e){let n=(e??"").trim();return n||void 0}function F(e){return(e??"").trim()}function P(e,n,i=0){let t=typeof e=="number"?String(e):(e??"").trim();if(!t)return n;let o=Number(t);return Number.isFinite(o)?Math.max(i,o):n}function w(e,n){return String(e??n)}function j(e){let n=Object.entries(e).filter(([,i])=>i!==void 0);return Object.fromEntries(n)}function ae(e,n,i,t){let o=P(e,n,Number.MIN_SAFE_INTEGER);return Math.min(t,Math.max(i,Math.round(o)))}var Ie=16,Pn=6,yn=24,ul=80,D={label:"Count me in",href:"",linkKind:"web",variant:"solid",align:"center",backgroundColor:"#2563eb",textColor:"#ffffff",borderColor:"",sectionBackgroundColor:"",fontFamily:"",borderRadiusPx:String(Pn),paddingTopPx:String(Ie),paddingBottomPx:String(Ie),paddingLeftPx:String(Ie),paddingRightPx:String(Ie),fullWidth:!1};function ka(e){let n=B(e),i=P(w(n.paddingPx,Ie),Ie);return{label:n.label??D.label,href:n.href??D.href,linkKind:n.linkKind??D.linkKind,variant:n.variant??D.variant,align:n.align??D.align,backgroundColor:n.backgroundColor??D.backgroundColor,textColor:n.textColor??D.textColor,borderColor:n.borderColor??D.borderColor,sectionBackgroundColor:n.sectionBackgroundColor??D.sectionBackgroundColor,fontFamily:n.fontFamily??D.fontFamily,borderRadiusPx:w(n.borderRadiusPx,Pn),paddingTopPx:w(n.paddingTopPx,i),paddingBottomPx:w(n.paddingBottomPx,i),paddingLeftPx:w(n.paddingLeftPx,i),paddingRightPx:w(n.paddingRightPx,i),fullWidth:n.fullWidth??D.fullWidth}}function va(e){return j({label:F(e.label),href:F(e.href),linkKind:e.linkKind,variant:e.variant,align:e.align,backgroundColor:e.backgroundColor,textColor:e.textColor,borderColor:F(e.borderColor)||void 0,sectionBackgroundColor:F(e.sectionBackgroundColor)||void 0,fontFamily:F(e.fontFamily)||void 0,borderRadiusPx:P(e.borderRadiusPx,Pn),paddingTopPx:P(e.paddingTopPx,Ie),paddingBottomPx:P(e.paddingBottomPx,Ie),paddingLeftPx:P(e.paddingLeftPx,Ie),paddingRightPx:P(e.paddingRightPx,Ie),fullWidth:e.fullWidth})}function Sa(e){let n=()=>L(0,ul);return e.nonNullable.group({label:[D.label,Ee(Pe)],href:[D.href,ht()],linkKind:[D.linkKind],variant:[D.variant],align:[D.align],backgroundColor:[D.backgroundColor],textColor:[D.textColor],borderColor:[D.borderColor],sectionBackgroundColor:[D.sectionBackgroundColor],fontFamily:[D.fontFamily],borderRadiusPx:[D.borderRadiusPx,L(0,yn)],paddingTopPx:[D.paddingTopPx,n()],paddingBottomPx:[D.paddingBottomPx,n()],paddingLeftPx:[D.paddingLeftPx,n()],paddingRightPx:[D.paddingRightPx,n()],fullWidth:[D.fullWidth]})}var Pa={top:"paddingTopPx",bottom:"paddingBottomPx",left:"paddingLeftPx",right:"paddingRightPx"};function hl(e,n){e&1&&y(0,"ark-status-bar",5),e&2&&d("message",n)}function fl(e,n){if(e&1){let i=x();r(0,"ark-settings-row",26),g("open",function(){h(i);let o=c();return f(o.detail.set("radius"))}),s()}if(e&2){let i=c();d("value",i.radiusSummary())}}function Cl(e,n){e&1&&y(0,"ark-settings-row",11),e&2&&d("openable",!1)}function xl(e,n){if(e&1){let i=x();r(0,"ark-settings-row",27),g("open",function(){h(i);let o=c();return f(o.detail.set("color:borderColor"))}),s()}if(e&2){let i=c();d("hasSwatch",!0)("swatch",i.formValue().borderColor??"")("value",i.formValue().borderColor||"Button colour")}}function bl(e,n){if(e&1){let i=x();r(0,"ark-padding-editor",28),g("paddingChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()}if(e&2){let i=c();d("padding",i.padding())}}function kl(e,n){if(e&1){let i=x();r(0,"div",25)(1,"ark-slider-row",29),g("valueChange",function(o){h(i);let a=c();return f(a.onNumberChange("borderRadiusPx",o+""))}),s()()}if(e&2){let i=c();l(),d("value",i.radiusPx())("max",i.maxRadiusPx)}}function vl(e,n){if(e&1){let i=x();r(0,"div",25)(1,"ark-font-pack-picker",30),g("valueChange",function(o){h(i);let a=c();return f(a.onFontPackChange(o))}),s(),r(2,"p",31),_(3," Email cannot load a webfont, so every pack is faces most people already have. "),s()()}if(e&2){let i=c();l(),d("value",i.fontPackId())}}function Sl(e,n){if(e&1){let i=x();r(0,"div",25)(1,"ark-color-picker-panel",32),g("valueChange",function(o){h(i);let a=c();return f(a.onColorChange(a.colorKey(),o))}),s()()}if(e&2){let i=c();l(),d("value",i.colorOf(i.colorKey()))("palette",i.palette())("clearable",i.isClearable(i.colorKey()))}}var ya=(()=>{let n=class n{constructor(){this.fb=C(q),this.dialog=C(Ae),this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.variants=bo,this.labelMaxLength=Pe,this.maxRadiusPx=yn,this.detail=b(""),this.form=Sa(this.fb),this.seeds=b(0),this.edits=A(this.form.valueChanges,{initialValue:null}),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.variant=p(()=>this.formValue().variant??"solid"),this.showsRadius=p(()=>this.variant()!=="rounded"),this.showsBorderColor=p(()=>this.variant()==="outline"),this.detailTitle=p(()=>Ca(this.detail())),this.colorKey=p(()=>Sn(this.detail())),this.linkSummary=p(()=>{let t=this.formValue().href??"";return t.trim()?`${zt(this.linkKind()).label} \xB7 ${t}`:"Nowhere yet"}),this.linkProblem=p(()=>(this.formValue(),this.form.controls.href.hasError("required")?"This button goes nowhere yet. Add a destination \u2014 a button with
1no link renders as plain text, and the pre-send check refuses to send it.":"")),this.paddingSummary=p(()=>{let{top:t,bottom:o,left:a,right:m}=this.padding();return ba([t,m,o,a])}),this.radiusSummary=p(()=>`${this.formValue().borderRadiusPx??"0"}px`),this.padding=p(()=>({top:gt(this.formValue().paddingTopPx),bottom:gt(this.formValue().paddingBottomPx),left:gt(this.formValue().paddingLeftPx),right:gt(this.formValue().paddingRightPx)})),this.radiusPx=p(()=>gt(this.formValue().borderRadiusPx)),this.fontPackId=p(()=>Rt(this.formValue().fontFamily)?.id??""),this.fontPackName=p(()=>ze(this.fontPackId())?.label??"Default"),this.linkKind=p(()=>this.formValue().linkKind??"web"),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(ka(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}colorOf(t){return this.formValue()[t]??""}isClearable(t){return xa(t)}onEditLink(){let t={link:{kind:this.linkKind(),value:this.formValue().href??""}};this.dialog.open(pa,{data:t,width:"48rem",maxWidth:"95vw"}).afterClosed().subscribe(o=>this.applyLink(o))}onFontPackChange(t){this.form.controls.fontFamily.setValue(ze(t)?.bodyStack??"")}onVariantChange(t){this.form.controls.variant.setValue(t)}onAlignChange(t){this.form.controls.align.setValue(t)}onColorChange(t,o){this.form.controls[t].setValue(o)}onNumberChange(t,o){this.form.controls[t].setValue(o)}onPaddingChange(t){this.onNumberChange(Pa[t.side],String(t.value))}onDataChange(){this.dataChange.emit(va(this.form.getRawValue()))}applyLink(t){t&&(this.form.controls.linkKind.setValue(t.kind),this.form.controls.href.setValue(t.value))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-button-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:30,vars:25,consts:[["title","Button",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],["label","Button text","hint","Short and specific \u2014 'Count me in' beats 'Click here'.",1,"campaign-button__field",3,"control","required","maxLength"],["label","Link"],["label","Destination","icon","link",3,"open","value"],["type","error",3,"message"],["label","Style"],[1,"campaign-button__inline"],["ariaLabel","Button style",3,"valueChange","options","value"],["ariaLabel","Button alignment",3,"valueChange","value"],["label","Corner radius",3,"value"],["label","Corner radius","value","Full pill",3,"openable"],[1,"campaign-button__toggle"],[3,"formControl"],["label","Colours","hint","Section is the band behind the button, edge to edge."],["label","Text",3,"open","hasSwatch","swatch","value"],["label","Button",3,"open","hasSwatch","swatch","value"],["label","Border",3,"hasSwatch","swatch","value"],["label","Section",3,"open","hasSwatch","swatch","value"],["label","Font"],["label","Font pack",3,"open","value"],["label","Spacing"],["label","Padding",3,"open","value"],["arkPanelDetail",""],[3,"padding"],[1,"campaign-button__detail"],["label","Corner radius",3,"open","value"],["label","Border",3,"open","hasSwatch","swatch","value"],[3,"paddingChange","padding"],["label","Corner radius","layout","stacked","suffix","px",3,"valueChange","value","max"],["headingSample","Sunday fixtures","subheadingSample","Kick-off at 10am","bodySample","Count me in",3,"valueChange","value"],[1,"campaign-button__note"],[3,"valueChange","value","palette","clearable"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group"),y(3,"ark-text-field",2),s(),r(4,"ark-settings-group",3)(5,"ark-settings-row",4),g("open",function(){return a.onEditLink()}),s(),k(6,hl,1,1,"ark-status-bar",5),s(),r(7,"ark-settings-group",6)(8,"div",7)(9,"ark-segmented-control",8),g("valueChange",function(u){return a.onVariantChange(u)}),s(),r(10,"ark-alignment-picker",9),g("valueChange",function(u){return a.onAlignChange(u)}),s()(),k(11,fl,1,1,"ark-settings-row",10)(12,Cl,1,1,"ark-settings-row",11),r(13,"div",12)(14,"mat-slide-toggle",13),_(15," Full width "),s()()(),r(16,"ark-settings-group",14)(17,"ark-settings-row",15),g("open",function(){return a.detail.set("color:textColor")}),s(),r(18,"ark-settings-row",16),g("open",function(){return a.detail.set("color:backgroundColor")}),s(),k(19,xl,1,3,"ark-settings-row",17),r(20,"ark-settings-row",18),g("open",function(){return a.detail.set("color:sectionBackgroun
1dColor")}),s()(),r(21,"ark-settings-group",19)(22,"ark-settings-row",20),g("open",function(){return a.detail.set("font")}),s()(),r(23,"ark-settings-group",21)(24,"ark-settings-row",22),g("open",function(){return a.detail.set("padding")}),s()()(),r(25,"div",23),k(26,bl,1,1,"ark-padding-editor",24)(27,kl,2,2,"div",25)(28,vl,4,1,"div",25)(29,Sl,2,3,"div",25),s()()),o&2){let m,u;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(3),d("control",a.form.controls.label)("required",!0)("maxLength",a.labelMaxLength),l(2),d("value",a.linkSummary()),l(),v((m=a.linkProblem())?6:-1,m),l(3),d("options",a.variants)("value",a.variant()),l(),d("value",a.formValue().align??"center"),l(),v(a.showsRadius()?11:12),l(3),d("formControl",a.form.controls.fullWidth),l(3),d("hasSwatch",!0)("swatch",a.formValue().textColor??"")("value",a.formValue().textColor??""),l(),d("hasSwatch",!0)("swatch",a.formValue().backgroundColor??"")("value",a.formValue().backgroundColor??""),l(),v(a.showsBorderColor()?19:-1),l(),d("hasSwatch",!0)("swatch",a.formValue().sectionBackgroundColor??"")("value",a.formValue().sectionBackgroundColor||"None"),l(2),d("value",a.fontPackName()),l(2),d("value",a.paddingSummary()),l(2),v((u=a.detail())==="padding"?26:u==="radius"?27:u==="font"?28:29)}},dependencies:[rt,Pi,Ti,Vi,Li,_e,se,fe,Bt,Ht,Be,H,Y,X,z,we],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-button__field[_ngcontent-%COMP%]{display:block;padding:.25rem 1rem .5rem}.campaign-button__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-button__toggle[_ngcontent-%COMP%]{padding:.5rem 1rem .25rem}.campaign-button__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-button__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var Pl=(e,n)=>n.value;function yl(e,n){if(e&1&&(r(0,"span",6),_(1),s()),e&2){let i=c().$implicit;l(),N(i.sublabel)}}function Ml(e,n){e&1&&(r(0,"mat-icon",7),_(1,"check"),s())}function Tl(e,n){if(e&1){let i=x();r(0,"button",2),g("click",function(){let o=h(i).$implicit,a=c();return f(a.onSelect(o))}),r(1,"span",3)(2,"mat-icon"),_(3),s()(),r(4,"span",4)(5,"span",5),_(6),s(),k(7,yl,2,1,"span",6),s(),k(8,Ml,2,0,"mat-icon",7),s()}if(e&2){let i=n.$implicit,t=c();W("ark-oc__card--active",i.value===t.value()),d("disabled",i.disabled??!1),Q("aria-checked",i.value===t.value()),l(3),N(i.icon||"crop_square"),l(3),N(i.label),l(),v(i.sublabel?7:-1),l(),v(i.value===t.value()?8:-1)}}var jt=(()=>{let n=class n{constructor(){this.options=M.required(),this.value=M(""),this.ariaLabel=M("Options"),this.valueChange=T()}onSelect(t){t.disabled||this.valueChange.emit(t.value)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-option-cards"]],inputs:{options:[1,"options"],value:[1,"value"],ariaLabel:[1,"ariaLabel"]},outputs:{valueChange:"valueChange"},decls:3,vars:1,consts:[["role","radiogroup",1,"ark-oc"],["type","button","role","radio",1,"ark-oc__card",3,"ark-oc__card--active","disabled"],["type","button","role","radio",1,"ark-oc__card",3,"click","disabled"],[1,"ark-oc__tile"],[1,"ark-oc__text"],[1,"ark-oc__label"],[1,"ark-oc__sublabel"],[1,"ark-oc__tick"]],template:function(o,a){o&1&&(r(0,"div",0),ce(1,Tl,9,8,"button",1,Pl),s()),o&2&&(Q("aria-label",a.ariaLabel()),l(),pe(a.options()))},dependencies:[Te,Me],styles:['@charset "UTF-8";@keyframes _ngcontent-%COMP%_ark-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-item-in{0%{opacity:0;transform:scaleY(.96) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes _ngcontent-%COMP%_ark-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.ark-oc[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 1rem}.ark-oc__card[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;padding:.5rem;border:1px solid #e5e7eb;border-radius:.625rem;background:#fff;text-align:left;cursor:pointer}@media(prefers-reduced-motion:no-preference){.ark-oc__card[_ngcontent-%COMP%]{transition-property:border-color,box-shadow,transform;transition-duration:.11s;transition-timing-function:cubic-bezier(.2,0,0,1)}}.ark-oc__card[_ngcontent-%COMP%]:hover:not(:disabled){border-color:#cbd2da}.ark-oc__card[_ngcontent-%COMP%]:active:not(:disabled){transform:scale(.99)}.ark-oc__card[_ngcontent-%COMP%]:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.ark-oc__card[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.5}.ark-oc__card--active[_ngcontent-%COMP%]{border-color:#111827;box-shadow:inset 0 0 0 1px #111827}
1.ark-oc__tile[_ngcontent-%COMP%]{display:grid;flex:0 0 auto;place-items:center;width:2.75rem;height:2.75rem;border:1px solid #eceff2;border-radius:.5rem;background:#fff;color:#111827;box-shadow:0 1px 2px #0000000f}.ark-oc__tile[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:1.375rem;height:1.375rem;font-size:1.375rem;line-height:1.375rem}.ark-oc__text[_ngcontent-%COMP%]{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.ark-oc__label[_ngcontent-%COMP%]{font-size:.9375rem;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ark-oc__sublabel[_ngcontent-%COMP%]{font-size:.8125rem;color:#9098a3}.ark-oc__tick[_ngcontent-%COMP%]{flex:0 0 auto;width:1.25rem;height:1.25rem;font-size:1.25rem;line-height:1.25rem;color:#111827}@media(prefers-reduced-motion:no-preference){.ark-oc__tick[_ngcontent-%COMP%]{animation:ark-rise-in .18s cubic-bezier(.05,.7,.1,1) both}}'],changeDetection:0});let e=n;return e})();var Al={blog:"article",events:"event",courses:"school",products:"storefront"},Ma=ko.map(e=>({value:e.value,label:e.label,icon:Al[e.value]})),Ta=[{value:"list",label:"List",sublabel:"One card per row. Safe everywhere.",icon:"view_agenda"},{value:"grid",label:"Grid",sublabel:"Columns \u2014 they do NOT stack on a phone in Outlook.",icon:"grid_view"}];function Mn(e,n){return e.find(i=>i.value===n)?.label??n}var Aa={source:"Source",layout:"Arrangement",columns:"Columns",padding:"Padding",card:"Card","color:textColor":"Text colour"},Tn=64;function An(e){let n=Number(e);return Number.isFinite(n)&&n>=0?Math.round(n):0}function wa(e){return!e?.title&&!e?.href}var ne={source:"blog",heading:"",layout:"list",columns:"2",align:"left",paddingPx:"16",textColor:"#111111",buttonLabel:""},Fe={title:"",href:"",imageUrl:"",imageAlt:"",dateText:"",priceText:"",excerpt:""};function Ea(e){let n=B(e);return{source:n.source??ne.source,heading:n.heading??ne.heading,layout:n.layout??ne.layout,columns:w(n.columns,Number(ne.columns)),align:n.align??ne.align,paddingPx:w(n.paddingPx,Number(ne.paddingPx)),textColor:n.textColor??ne.textColor,buttonLabel:n.buttonLabel??ne.buttonLabel}}function Ia(e){return(B(e).items??[]).map(i=>E({},i))}function Na(e){let n=R(e.imageUrl);return j({title:F(e.title),href:F(e.href),imageUrl:n,imageAlt:n?F(e.imageAlt):void 0,dateText:R(e.dateText),priceText:R(e.priceText),excerpt:R(e.excerpt)})}function Da(e,n){return j({source:e.source,items:n.map(i=>E({},i)),heading:R(e.heading),layout:e.layout,columns:ae(e.columns,2,1,3),align:e.align,paddingPx:P(e.paddingPx,16),textColor:e.textColor,buttonLabel:R(e.buttonLabel)})}function Oa(e){return{form:e.nonNullable.group({source:[ne.source],heading:[ne.heading,Ce(Le)],layout:[ne.layout],columns:[ne.columns,L(1,3)],align:[ne.align],paddingPx:[ne.paddingPx,L(0,Tn)],textColor:[ne.textColor],buttonLabel:[ne.buttonLabel,Ce(Pe)]}),itemForm:e.nonNullable.group({title:[Fe.title,Ee(Le)],href:[Fe.href,Wt()],imageUrl:[Fe.imageUrl],imageAlt:[Fe.imageAlt,Xt("imageUrl",Se)],dateText:[Fe.dateText,Ce(Ve)],priceText:[Fe.priceText,Ce(Ve)],excerpt:[Fe.excerpt,Ce(ga)]})}}function wl(e,n){e&1&&(r(0,"div",2),y(1,"ark-status-bar",23),s())}function El(e,n){if(e&1){let i=x();r(0,"ark-settings-row",24),g("open",function(){h(i);let o=c();return f(o.detail.set("columns"))}),s()}if(e&2){let i=c();d("value",i.columnsSummary())}}function Il(e,n){e&1&&y(0,"ark-settings-row",12),e&2&&d("openable",!1)}function Nl(e,n){if(e&1){let i=x();r(0,"div",21)(1,"ark-option-cards",25),g("valueChange",function(o){h(i);let a=c();return f(a.onSourceChange(o))}),s(),r(2,"p",26),_(3," The source names what these cards were taken from. It does not go and fetch them \u2014 the composer resolves them once, and the email sends whatever is stored here. "),s()()}if(e&2){let i=c();l(),d("options",i.sources)("value",i.formValue().source??"blog")}}function Dl(e,n){if(e&1){let i=x();r(0,"div",21)(1,"ark-option-cards",27),g("valueChange",function(o){h(i);let a=c();return f(a.onLayoutChange(o))}),s()()}if(e&2){let i=c();l(),d("options",i.layouts)("value",i.formValue().layout??"list")}}function Ol(e,n){if(e&1){let i=x();r(0,"div",21)(1,"ark-slider-row",28),g("valueChange",function(o){h(i);let a=c();return f(a.onColumnsChange(o))}),s(),r(2,"p",26),_(3," Three is the most Outlook renders without the cells collapsing. "),s()()}if(e&2){let i=c();l(),d("value",i.columnsCount())("min",1)("max",i.maxColumns)}}function Ll(e,n){if(e&1){let i=x();r(0,"div",21)(1,"ark-slider-row",29),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("max",i.maxPaddingPx)}}function Vl(e,n){if(e&1&&y(0,"ark-text-field",33),e&2){let i=c(2);d("control",i.itemForm.controls.imageAlt)("required",!0)("maxLength",i.altMaxLength)}}function Fl(e,n){if(e&1){let i=x();r(0,"form",22),y(1,"ark-text-field",30)(2,"ark-text-field",31),r(3,"app-media-picker",32),g("valueChange",function(){h(i);let o=c();return f(o.onImageChanged())}),s(),k(4,Vl,1,3,"ark-text-field",33),y(5,"ark-text-field",34)(6,"ark-text-field",35)(7,"ark-text-field",36),r(8,"p",26),_(9," Every keystroke is already in the email. Back when you are done \u2014 a card left with no title and no link is dropped rather than kept. "),s()()}if(e&2){let i=c();d("formGroup",i.itemForm),l(),d("control",i.itemForm.controls.title)("required",!0),l(),d("control",i.itemForm.controls.href)("required",!0),l(),d("valueControl",i.itemForm.controls.imageUrl)("uploadPath",i.uploadPath())("userId",i.userId()),l(),v(i.hasImage()?4:-1),l(),d("control",i.itemForm.controls.dateText),l(
1),d("control",i.itemForm.controls.priceText),l(),d("control",i.itemForm.controls.excerpt)("rows",3)}}function Gl(e,n){if(e&1){let i=x();r(0,"div",21)(1,"ark-color-picker-panel",37),g("valueChange",function(o){h(i);let a=c();return f(a.onTextColorChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.formValue().textColor??"")("palette",i.palette())("clearable",!1)}}var La=(()=>{let n=class n{constructor(){this.fb=C(q),this.media=C(Ue,{optional:!0})??ct,this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.sources=Ma,this.layouts=Ta,this.maxColumns=3,this.maxPaddingPx=Tn,this.uploadPath=this.media.uploadPath,this.userId=this.media.userId,this.items=b([]),this.editingIndex=b(null),this.forms=Oa(this.fb),this.form=this.forms.form,this.itemForm=this.forms.itemForm,this.headingMaxLength=Le,this.altMaxLength=Se,this.buttonLabelMaxLength=Pe,this.seeds=b(0),this.edits=A(this.form.valueChanges,{initialValue:null}),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.itemFormValue=A(this.itemForm.valueChanges,{initialValue:this.itemForm.getRawValue()}),this.usesColumns=p(()=>this.formValue().layout==="grid"),this.hasImage=p(()=>!!this.itemFormValue().imageUrl?.trim()),this.sourceLabel=p(()=>Mn(this.sources,this.formValue().source??"")),this.layoutLabel=p(()=>Mn(this.layouts,this.formValue().layout??"")),this.columnsCount=p(()=>An(this.formValue().columns)),this.columnsSummary=p(()=>`${this.columnsCount()} across`),this.paddingPx=p(()=>An(this.formValue().paddingPx)),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.detailTitle=p(()=>Aa[this.detail()]??""),this.itemLabel=t=>t.title||t.href||"Untitled card",this.itemDetail=t=>t.dateText||t.priceText||"",this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange()),this.itemForm.valueChanges.pipe(V()).subscribe(()=>this.saveItem())}syncFormFromSection(){this.form.setValue(Ea(this.section()),{emitEvent:!1}),this.items.set(Ia(this.section())),this.editingIndex.set(null),this.seeds.update(t=>t+1),this.detail.set("")}onDetailChange(t){this.leaveCardScreen(),this.detail.set(t)}onSourceChange(t){this.form.controls.source.setValue(t),this.detail.set("")}onLayoutChange(t){this.form.controls.layout.setValue(t),this.detail.set("")}onAlignChange(t){this.form.controls.align.setValue(t)}onColumnsChange(t){this.form.controls.columns.setValue(String(t))}onPaddingChange(t){this.form.controls.paddingPx.setValue(String(t))}onTextColorChange(t){this.form.controls.textColor.setValue(t)}onAddItem(){this.items.update(t=>[...t,E({},Fe)]),this.startEditing(this.items().length-1),this.onDataChange()}onEditItem({index:t}){this.startEditing(t)}onImageChanged(){this.itemForm.controls.imageAlt.updateValueAndValidity({emitEvent:!1})}onItemsChange(t){this.items.set(t),this.onDataChange()}saveItem(){let t=this.editingIndex();if(t===null)return;let o=Na(this.itemForm.getRawValue());this.items.update(a=>a.map((m,u)=>u===t?o:m)),this.onDataChange()}onDataChange(){this.dataChange.emit(Da(this.form.getRawValue(),this.items()))}startEditing(t){let o=this.items()[t];o&&(this.editingIndex.set(t),this.detail.set("card"),this.itemForm.setValue({title:o.title??"",href:o.href??"",imageUrl:o.imageUrl??"",imageAlt:o.imageAlt??"",dateText:o.dateText??"",priceText:o.priceText??"",excerpt:o.excerpt??""},{emitEvent:!1}))}leaveCardScreen(){if(this.detail()!=="card")return;let t=this.editingIndex();this.editingIndex.set(null),t!==null&&this.dropBlankRow(t)}dropBlankRow(t){wa(this.items()[t])&&(this.items.update(o=>o.filter((a,m)=>m!==t)),this.onDataChange())}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-content-feed-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:28,vars:21,consts:[["title","Content",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],[1,"campaign-feed__banner"],["type","info","message","These cards are a snapshot. Editing them here changes the email, not the posts."],["label","Where these came from"],["label","Source","icon","dynamic_feed",3,"open","value"],["label","Cards"],["label","Heading","placeholder","What's on this month",1,"campaign-feed__field",3,"control","maxLength"],[3,"dataChange","editItem","addItem","items","primaryText","secondaryText","emitOnChange","showSaveButton"],["label","Arrangement"],["label","Arrangement",3,"open","value"],["label","Columns",3,"value"],["label","Columns","value","One per row",3,"openable"],[1,"campaign-feed__inline"],["ariaLabel","Card alignment",3,"valueChange","value"],["label","Card button text","hint","Leave blank for cards with
1no button.",1,"campaign-feed__field",3,"control","maxLength"],["label","Colours"],["label","Text",3,"open","hasSwatch","swatch","value"],["label","Spacing"],["label","Padding",3,"open","value"],["arkPanelDetail",""],[1,"campaign-feed__detail"],[1,"campaign-feed__detail",3,"formGroup"],["type","info","message","This block is empty. It stays empty \u2014 and sends as nothing at all \u2014 until a source puts entries in it."],["label","Columns",3,"open","value"],["ariaLabel","Content source",3,"valueChange","options","value"],[1,"campaign-feed__note"],["ariaLabel","Card arrangement",3,"valueChange","options","value"],["label","Columns","layout","stacked","suffix"," across",3,"valueChange","value","min","max"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","max"],["label","Title",3,"control","required"],["label","Link","placeholder","https://example.com/post",3,"control","required"],["label","Choose image","tooltipText","Choose or upload an image",3,"valueChange","valueControl","uploadPath","userId"],["label","Alt text","hint","Required whenever there is an image.",3,"control","required","maxLength"],["label","Date","placeholder","Saturday 6pm","hint","Written out as you want it read \u2014 never a timestamp.",3,"control"],["label","Price","placeholder","$12","hint","Written out, currency included.",3,"control"],["label","Excerpt",3,"control","rows"],[3,"valueChange","value","palette","clearable"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),g("detailChange",function(u){return a.onDetailChange(u)})("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"div",2),y(3,"ark-status-bar",3),s(),r(4,"ark-settings-group",4)(5,"ark-settings-row",5),g("open",function(){return a.detail.set("source")}),s()(),r(6,"ark-settings-group",6),y(7,"ark-text-field",7),k(8,wl,2,0,"div",2),r(9,"app-reorderable-settings-list",8),g("dataChange",function(u){return a.onItemsChange(u)})("editItem",function(u){return a.onEditItem(u)})("addItem",function(){return a.onAddItem()}),s()(),r(10,"ark-settings-group",9)(11,"ark-settings-row",10),g("open",function(){return a.detail.set("layout")}),s(),k(12,El,1,1,"ark-settings-row",11)(13,Il,1,1,"ark-settings-row",12),r(14,"div",13)(15,"ark-alignment-picker",14),g("valueChange",function(u){return a.onAlignChange(u)}),s()(),y(16,"ark-text-field",15),s(),r(17,"ark-settings-group",16)(18,"ark-settings-row",17),g("open",function(){return a.detail.set("color:textColor")}),s()(),r(19,"ark-settings-group",18)(20,"ark-settings-row",19),g("open",function(){return a.detail.set("padding")}),s()()(),r(21,"div",20),k(22,Nl,4,2,"div",21)(23,Dl,2,2,"div",21)(24,Ol,4,3,"div",21)(25,Ll,2,2,"div",21)(26,Fl,10,13,"form",22)(27,Gl,2,3,"div",21),s()()),o&2){let m;d("detailTitle",a.detailTitle())("detail",a.detail()),l(5),d("value",a.sourceLabel()),l(2),d("control",a.form.controls.heading)("maxLength",a.headingMaxLength),l(),v(a.items().length?-1:8),l(),d("items",a.items())("primaryText",a.itemLabel)("secondaryText",a.itemDetail)("emitOnChange",!0)("showSaveButton",!1),l(2),d("value",a.layoutLabel()),l(),v(a.usesColumns()?12:13),l(3),d("value",a.formValue().align??"left"),l(),d("control",a.form.controls.buttonLabel)("maxLength",a.buttonLabelMaxLength),l(2),d("hasSwatch",!0)("swatch",a.formValue().textColor??"")("value",a.formValue().textColor??""),l(2),d("value",a.paddingSummary()),l(2),v((m=a.detail())==="source"?22:m==="layout"?23:m==="columns"?24:m==="padding"?25:m==="card"?26:27)}},dependencies:[rt,Mi,yi,Ai,lt,_e,se,fe,jt,H,Y,X,z,we,mt],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-feed__field[_ngcontent-%COMP%]{display:block;padding:.25rem 1rem .5rem}.campaign-feed__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-feed__banner[_ngcontent-%COMP%]{padding:.5rem 1rem}.campaign-feed__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-feed__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var Ne={color:"#e5e7eb",thicknessPx:"1",widthPercent:100,paddingPx:"16",style:ot};function Va(e){let n=B(e);return{color:n.color??Ne.color,thicknessPx:w(n.thicknessPx,Number(Ne.thicknessPx)),widthPercent:n.widthPercent??Ne.widthPercent,paddingPx:w(n.paddingPx,Number(Ne.paddingPx)),style:n.style??ot}}function Fa(e){return j({color:e.color,thicknessPx:ae(e.thicknessPx,1,1,20),widthPercent:ae(e.widthPercent,100,10,100),paddingPx:P(e.paddingPx,16),style:e.style===ot?void 0:e.style})}function Rl(e,n){if(e&1){let i=x();r(0,"div",11)(1,"ark-slider-row",12),g("valueChange",function(o){h(i);let a=c();return f(a.onThicknessChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.thicknessPx())("min",i.thicknessMin)("max",i.thicknessMax)}}function Bl(e,n){if(e&1){let i=x();r(0,"div",11)(1,"ark-slider-row",13),g("valueChange",function(o){h(i);let a=c();return f(a.onWidthChange(o))}),s(),r(2,"p",14),_(3," A rule narrower than the canvas is centred in it. "),s()()}if(e&2){let i=c();l(),d("value",i.widthPercent())("min",i.widthMin)("max",i.widthMax)}}function Ul(e,n){if(e&1){let i=x();r(0,"div",11)(1,"ark-segmented-control",15),g("valueChange",function(o){h(i);let a=c();return f(a.onStyleChange(o))}),s(),r(2,"p",14),_(3," Dotted and dashed rules survive Outlook \u2014 they are drawn as a cell border, not as an image. "),s()()}if(e&2){let i=c();l(),d("value",i.lineStyle())("options",i.lineStyleOptions)}}function zl(e,n){if(e&1){let i=x();r(0,"div",11)(1,"ark-slider-row",16),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("min",0)("max",i.paddingMax)}}function Hl(e,n){if(e&1){let i=x();r(0,"div",11)(1,"ark-color-picker-panel",17),g("valueChange",function(o){h(i);let a=c();return f(a.onColorChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.lineColor())("palette",i.palette())}}var Xl={thickness:"Thickness",width:"Width",lineColor:"Line colour",padding:"Padding"},wn=1,Ga=12,Ra=10,En=100,Ba=80,Ua=(()=>{let n=class n{constructor(){this.fb=C(q),this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.thicknessMin=wn,this.thicknessMax=Ga,this.widthMin=Ra,this.widthMax=En,this.paddingMax=Ba,this.form=this.fb.nonNullable.group({color:[Ne.color],thicknessPx:[Ne.thicknessPx,L(wn,Ga)],widthPercent:[Ne.widthPercent,L(Ra,En)],paddingPx:[Ne.paddingPx,L(0,Ba)],style:[Ne.style]}),this.seeds=b(0),this.edits=A(this.form.valueChanges,{initialValue:null}),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.detailTitle=p(()=>Xl[this.detail()]??""),this.thicknessPx=p(()=>P(this.formValue().thicknessPx??null,wn)),this.widthPercent=p(()=>P(this.formValue().widthPercent??null,En)),this.paddingPx=p(()=>P(this.formValue().paddingPx??null,0)),this.thicknessSummary=p(()=>`${this.thicknessPx()}px`),this.widthSummary=p(()=>`${this.widthPercent()}%`),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.lineColor=p(()=>this.formValue().color??""),this.lineStyle=p(()=>this.formValue().style??ot),this.lineStyleSummary=p(()=>{let t=this.lineStyle();return t.charAt(0).toUpperCase()+t.slice(1)}),this.lineStyleOptions=on.map(t=>({value:t,label:t.charAt(0).toUpperCase()+t.slice(1)})),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(Va(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}onColorChange(t){this.form.controls.color.setValue(t)}onStyleChange(t){let o=on.find(a=>a===t);o&&this.form.controls.style.setValue(o)}onThicknessChange(t){this.form.controls.thicknessPx.setValue(String(t))}onWidthChange(t){this.form.controls.widthPercent.setValue(t)}onPaddingChange(t){this.form.controls.paddingPx.setValue(String(t))}onDataChange(){this.dataChange.emit(Fa(this.form.getRawValue()))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-divider-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:16,vars:10,consts:[["title","Line",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],["label","Line"],["label","Thickness",3,"open","value"],["label","Width",3,"open","value"],["label","Style",3,"open","value"],["label","Colours"],["label","Line colour",3,"open","hasSwatch","swatch","value"],["label","Spacing","hint","The air above and below the rule, on every side equally."],["label","Padding",3,"open","value"],["arkPanelDetail",""],[1,"campaign-divider__detail"],["label","Thickness","layout","stacked","suffix","px",3,"valueChange","value","min","max"],["label","Width","layout","stacked","suffix","%",3,"valueChange","value","min","max"],[1,"campaign-divider__note"],["ariaLabel","Line style",3,"valueChange","value","o
1ptions"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","min","max"],[3,"valueChange","value","palette"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group",2)(3,"ark-settings-row",3),g("open",function(){return a.detail.set("thickness")}),s(),r(4,"ark-settings-row",4),g("open",function(){return a.detail.set("width")}),s(),r(5,"ark-settings-row",5),g("open",function(){return a.detail.set("style")}),s()(),r(6,"ark-settings-group",6)(7,"ark-settings-row",7),g("open",function(){return a.detail.set("lineColor")}),s()(),r(8,"ark-settings-group",8)(9,"ark-settings-row",9),g("open",function(){return a.detail.set("padding")}),s()()(),r(10,"div",10),k(11,Rl,2,3,"div",11)(12,Bl,4,3,"div",11)(13,Ul,4,2,"div",11)(14,zl,2,3,"div",11)(15,Hl,2,2,"div",11),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(3),d("value",a.thicknessSummary()),l(),d("value",a.widthSummary()),l(),d("value",a.lineStyleSummary()),l(2),d("hasSwatch",!0)("swatch",a.lineColor())("value",a.lineColor()),l(2),d("value",a.paddingSummary()),l(2),v((m=a.detail())==="thickness"?11:m==="width"?12:m==="style"?13:m==="padding"?14:15)}},dependencies:[fe,Be,H,Y,X,z],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-divider__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-divider__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var Wl=["box"];function jl(e,n){if(e&1&&y(0,"ark-edit-bar",2),e&2){let i=c();d("buttons",i.buttons())}}var Ha=(()=>{let n=class n{constructor(){this.control=M.required(),this.placeholder=M("Write here\u2026"),this.extraButtons=M([]),this.injector=C(Xn),this.box=tt("box"),this.written="",this.focused=b(!1),this.empty=b(!0),this.buttons=p(()=>[...$l,...this.extraButtons()]),Pt(()=>this.seed(this.control().value??""),{injector:this.injector})}onInput(){let t=this.box()?.nativeElement.innerHTML??"";this.written=t,this.empty.set(za(t)),this.control().setValue(t)}onFocus(){this.focused.set(!0)}onBlur(t){let o=this.box()?.nativeElement.parentElement,a=t.relatedTarget;a&&o?.contains(a)||this.focused.set(!1)}seed(t){let o=this.box()?.nativeElement;!o||t===this.written||(o.innerHTML=t,this.written=t,this.empty.set(za(t)))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["ark-text-editor"]],viewQuery:function(o,a){o&1&&Ze(a.box,Wl,5),o&2&&Je()},inputs:{control:[1,"control"],placeholder:[1,"placeholder"],extraButtons:[1,"extraButtons"]},decls:4,vars:5,consts:[["box",""],[1,"ark-te"],[1,"ark-te__bar",3,"buttons"],["role","textbox","aria-multiline","true","contenteditable","true","tabindex","0",1,"ark-te__box",3,"input","focus","blur"]],template:function(o,a){if(o&1){let m=x();r(0,"div",1),k(1,jl,1,1,"ark-edit-bar",2),r(2,"div",3,0),g("input",function(){return h(m),f(a.onInput())})("focus",function(){return h(m),f(a.onFocus())})("blur",function(de){return h(m),f(a.onBlur(de))}),s()()}o&2&&(l(),v(a.focused()?1:-1),l(),W("ark-te__box--empty",a.empty()),Q("data-placeholder",a.placeholder())("aria-label",a.placeholder()))},dependencies:[po],styles:['@charset "UTF-8";@keyframes _ngcontent-%COMP%_ark-rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-forward{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-pane-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes _ngcontent-%COMP%_ark-item-in{0%{opacity:0;transform:scaleY(.96) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes _ngcontent-%COMP%_ark-item-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}[_nghost-%COMP%]{display:block}.ark-te[_ngcontent-%COMP%]{position:relative}.ark-te__bar[_ngcontent-%COMP%]{position:absolute;bottom:calc(100% + .375rem);left:0;z-index:5;max-width:100%;overflow-x:auto}@media(prefers-reduced-motion:no-preference){.ark-te__bar[_ngcontent-%COMP%]{animation:ark-te-rise .18s cubic-bezier(.05,.7,.1,1)}}.ark-te__box[_ngcontent-%COMP%]{min-height:5rem;padding:.5rem .625rem;border:1px solid #d5d9df;border-radius:.375rem;background:#fff;font-size:.875rem;line-height:1.5;color:#111827;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.ark-te__box[_ngcontent-%COMP%]{transition:border-color .11s cubic-bezier(.2,0,0,1)}}.ark-te__box[_ngcontent-%COMP%]:focus{outline:2px solid #2563eb;outline-offset:-1px;border-color:#2563eb}.ark-te__box[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{margin-top:0}.ark-te__box[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:last-child{margin-bottom:0}.ark-te__box--empty[_ngcontent-%COMP%]:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}@keyframes _ngcontent-%COMP%_ark-te-rise{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}'],changeDetection:0});let e=n;return e})();function za(e){return!(e??"").replace(/<[^>]*>/g,"").replace(/ /g," ").trim()}var $l=[{name:"Bold",icon:"format_bold",tooltip:"Bold",showName:!1,action:()=>document.execCommand("bold")},{name:"Italic",icon:"format_italic",tooltip:"Italic",showName:!1,action:()=>document.execCommand("italic")},{name:"Underline",icon:"format_underlined",tooltip:"Underline",showName:!1,action:()=>document.execCommand("underline")},{name:"Align",icon:"format_align_left",tooltip:"Alignment",showName:!1,menuItems:[{name:"Left",icon:"format_align_left",action:()=>document.execCommand("justifyLeft")},{name:"Centre",icon:"format_align_center",action:()=>document.execCommand("justifyCenter")},{name:"Right",icon:"format_align_right",action:()=>document.execCommand("justifyRight")}]},{name:"List",icon:"format_list_bulleted",tooltip:"List",showName:!1,menuItems:[{name:"Bulleted",icon:"format_list_bulleted",action:()=>document.execCommand("insertUnorderedList")},{name:"Numbered",icon:"format_list_numbered",action:()=>document.execCommand("insertOrderedList")}]}
1,{name:"Clear",icon:"format_clear",tooltip:"Clear formatting",showName:!1,action:()=>document.execCommand("removeFormat")}];var O={layout:"banner",columns:"2",gapPx:"12",align:"center",paddingPx:"16",textColor:"#111111",cardColor:"#f1f0ec",backgroundColor:"",captionBorder:"",captionRadiusPx:"0",captionShadow:"",imageSize:"s"},Kl={s:"S",m:"M",l:"L"},ql=zi.map(e=>({value:e,label:Kl[e]})),Yl=["listLeft","listRight","sideBySide"];function Xa(e){return Yl.includes(e)}var Ql=["cardLeft","cardRight"];function Wa(e){return Ql.includes(e)}var Zl={banner:{label:"Banner",sublabel:"Full width",icon:"crop_16_9"},grid:{label:"Grid",sublabel:"Columns",icon:"grid_view"},cardLeft:{label:"Card",sublabel:"Picture left",icon:"vertical_split"},cardRight:{label:"Card",sublabel:"Picture right",icon:"vertical_split"},listLeft:{label:"List",sublabel:"Picture left",icon:"view_list"},listRight:{label:"List",sublabel:"Picture right",icon:"view_list"},sideBySide:{label:"Side by side",sublabel:"Two across",icon:"horizontal_split"}},Jl=Ui.map(e=>E({value:e},Zl[e])),em=Array.from({length:3},(e,n)=>({value:String(n+1),label:String(n+1)})),In=80,ja={item:"Image",columns:"Columns",padding:"Padding",gap:"Gap",color:"Caption text colour"};function $a(e){return e==="1"?"1 column":`${e} columns`}function tm(e){return e.title||e.alt||"Untitled image"}function nm(e){return(e.caption??"").replace(/<[^>]*>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+/g," ").trim()}var Xe={src:"",alt:"",title:"",caption:"",link:""};function Ka(e){let n=B(e);return{layout:n.layout??O.layout,columns:w(n.columns,Number(O.columns)),gapPx:w(n.gapPx,Number(O.gapPx)),align:n.align??O.align,paddingPx:w(n.paddingPx,Number(O.paddingPx)),textColor:n.textColor??O.textColor,cardColor:n.cardColor??O.cardColor,backgroundColor:n.backgroundColor??O.backgroundColor,captionBorder:n.captionBorder??O.captionBorder,captionRadiusPx:w(n.captionRadiusPx,0),captionShadow:n.captionShadow??O.captionShadow,imageSize:n.imageSize??O.imageSize}}function qa(e){return(B(e).items??[]).map(i=>E({},i))}function Ya(e){return{src:e.src??"",alt:e.alt??"",title:e.title??"",caption:im(e.caption),link:e.link??""}}function im(e){let n=(e??"").trim();return n?n.startsWith("<")?n:`<p>${n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}</p>`:""}function Qa(e){return j({src:F(e.src),alt:F(e.alt),title:R(e.title),caption:R(e.caption),link:R(e.link)})}function Za(e,n,i){return n>=e.length?[...e,i]:e.map((t,o)=>o===n?i:t)}function Ja(e,n){return j({layout:e.layout,items:n.map(i=>E({},i)),columns:ae(e.columns,2,1,3),gapPx:P(e.gapPx,12),align:e.align,paddingPx:P(e.paddingPx,16),textColor:e.textColor,cardColor:e.cardColor,backgroundColor:e.backgroundColor||void 0,captionBorder:e.captionBorder||void 0,captionRadiusPx:P(e.captionRadiusPx,0)||void 0,captionShadow:e.captionShadow||void 0,imageSize:e.imageSize})}var om=["grid","sideBySide"];function er(e){return om.includes(e)}var tr={layouts:Jl,columns:em,maxSpacingPx:In,sizes:[...ql],itemLabel:tm,itemCaption:nm};function nr(e){let n=()=>L(0,In);return{form:e.nonNullable.group({layout:[O.layout],columns:[O.columns,L(1,3)],gapPx:[O.gapPx,n()],al
1ign:[O.align],paddingPx:[O.paddingPx,n()],textColor:[O.textColor],cardColor:[O.cardColor],backgroundColor:[O.backgroundColor],captionBorder:[O.captionBorder],captionRadiusPx:[O.captionRadiusPx],captionShadow:[O.captionShadow],imageSize:[O.imageSize]}),itemForm:e.nonNullable.group({src:[Xe.src],alt:[Xe.alt,Xt("src",Se)],title:[Xe.title,Ce(Le)],caption:[Xe.caption],link:[Xe.link,He()]})}}function am(e,n){if(e&1){let i=x();r(0,"div",17),y(1,"ark-status-bar",18),s(),r(2,"ark-settings-row",19),g("open",function(){h(i);let o=c();return f(o.detail.set("columns"))}),s()}if(e&2){let i=c();l(2),d("value",i.columnsSummary())}}function rm(e,n){if(e&1){let i=x();r(0,"ark-settings-group",8)(1,"div",5)(2,"ark-segmented-control",20),g("valueChange",function(o){h(i);let a=c();return f(a.onImageSizeChange(o))}),s()()()}if(e&2){let i=c();l(2),d("options",i.options.sizes)("value",i.values().imageSize)}}function sm(e,n){if(e&1){let i=x();r(0,"ark-settings-row",21),g("open",function(){h(i);let o=c();return f(o.detail.set("cardColor"))}),s()}if(e&2){let i=c();d("hasSwatch",!0)("swatch",i.values().cardColor)("value",i.values().cardColor)}}function lm(e,n){if(e&1&&y(0,"ark-status-bar",24),e&2){let i=c(2);d("message",i.editProblem())}}function mm(e,n){e&1&&y(0,"ark-status-bar",25)}function dm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"app-media-picker",22),g("valueChange",function(){h(i);let o=c();return f(o.onImageChanged())}),s(),r(2,"ark-loading-button",23),_(3," Crop & adjust "),s(),k(4,lm,1,1,"ark-status-bar",24),k(5,mm,1,0,"ark-status-bar",25),y(6,"ark-text-field",26)(7,"ark-text-field",27),r(8,"label",28),_(9," Caption "),s(),y(10,"ark-text-editor",29)(11,"ark-text-field",30),r(12,"div",31)(13,"button",32),g("click",function(){h(i);let o=c();return f(o.saveItem())}),_(14," Save image "),s(),r(15,"button",33),g("click",function(){h(i);let o=c();return f(o.closeItemEditor())}),_(16," Cancel "),s()()()}if(e&2){let i=c();l(),d("valueControl",i.itemForm.controls.src)("uploadPath",i.uploadPath())("userId",i.userId()),l(),d("task",i.editItemImage)("disabled",!i.canEditItem()),l(2),v(i.editProblem()?4:-1),l(),v(i.hasUnsupportedFormat()?5:-1),l(),d("control",i.itemForm.controls.alt)("required",i.canEditItem())("maxLength",i.altMaxLength),l(),d("control",i.itemForm.controls.title)("maxLength",i.titleMaxLength),l(3),d("control",i.itemForm.controls.caption),l(),d("control",i.itemForm.controls.link)}}function cm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-segmented-control",34),g("valueChange",function(o){h(i);let a=c();return f(a.onColumnsChange(o))}),s(),r(2,"p",35),_(3," Three is where Outlook stops coping with fixed-width cells inside the 600px canvas. "),s()()}if(e&2){let i=c();l(),d("options",i.options.columns)("value",i.values().columns)}}function pm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-slider-row",36),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o+""))}),s(),r(2,"p",35),_(3," One number, all four sides \u2014 an images section pads evenly. "),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("max",i.options.maxSpacingPx)}}function gm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-slider-row",37),g("valueChange",function(o){h(i);let a=c();return f(a.onGapChange(o+""))}),s()()}if(e&2){let i=c();l(),d("value",i.gapPx())("max",i.options.maxSpacingPx)}}function um(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-color-picker-panel",38),g("valueChange",function(o){h(i);let a=c();return f(a.onStyleChange("textColor",o))}),s(),r(2,"p",35),_(3," Captions with no colour would inherit the client's default, which is a different grey in every inbox \u2014 so this one always has a value. "),s()()}if(e&2){let i=c();l(),d("value",i.values().textColor)("palette",i.palette())("clearable",!1)}}function _m(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-color-picker-panel",38),g("valueChange",function(o){h(i);let a=c();return f(a.onStyleChange("cardColor",o))}),s(),r(2,"p",35),_(3," The card sits on top of the picture, so it needs a fill of its own \u2014 a transparent one puts the words straight onto the photograph. "),s()()}if(e&2){let i=c();l(),d("value",i.values().cardColor)("palette",i.palette())("clearable",!1)}}var ir=(()=>{let n=class n{constructor(){this.fb=C(q),this.imageEdit=C(dt),this.media=C(Ue,{optional:!0})??ct,this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.options=tr,this.uploadPath=this.media.uploadPath,this.userId=this.media.userId,this.items=b([]),this.editingIndex=b(null),this.forms=nr(this.fb),this.form=this.forms.form,this.itemForm=this.forms.itemForm,this.altMaxLength=Se,this.titleMaxLength=Le,this.seeds=b(0),this.formTick=A(this.form.valueChanges,{initialValue:null}),this.itemTick=A(this.itemForm.valueChanges,{initialValue:this.itemForm.getRawValue()}),this.values=p(()=>(this.formTick(),this.seeds(),this.form.getRawValue())),this.usesColumns=p(()=>er(this.values().layout)),this.usesImageSize=p(()=>Xa(this.values().layout)),this.usesCardColor=p(()=>Wa(this.values().layout)),this.canEditItem=p(()=>(this.itemTick(),!!this.itemForm.controls.src.value)),this.editProblem=b(""),this.editItemImage=ho(this.imageEdit,this.uploadPath,this.itemForm.controls.src,this.editProblem),this.hasUnsupportedFormat=p(()=>(this.itemTick(),!At(this.itemForm.getRawValue().src))),this.detailTitle=p(()=>ja[this.detail()]??""),this.paddingPx=p(()=>P(this.values().paddingPx,Number(O.paddingPx))),this.captionRadiusPx=p(()=>P(this.values().captionRadiusPx,0)),this.gapPx=p(()=>P(this.values().gapPx,Number(O.gapPx))),this.columnsSummary=p(()=>$a(this.values().columns)),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.gapSummary=p(()=>`${this.gapPx()}px`),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange()),this.itemForm.valueChanges.pipe(V()).subscribe(()=>this.commitItemLive())}commitItemLive(){let t=this.editingIndex();if(t===null)return;let o=Qa(this.itemForm.getRawValue());!o.src&&t>=this.items().length||(this.items.update(a=>Za(a,t,o)),this.onDataChange())}syncFormFromSection(){this.form.setValue(Ka(this.section()),{emitEvent:!1}),this.items.set(qa(this.section())),this.editingIndex.set(null),this.seeds.update(t=>t+1),this.detail.set("")}onLayoutChange(t){this.form.controls.layout.setValue(t)}onAlignChange(t){this.form.controls.align.setValue(t)}onColumnsChange(t){this.form.controls.columns.setValue(t)}onGapChange(t){this.form.controls.gapPx.setValue(t)}onPaddingChange(t){this.form.controls.paddingPx.setValue(t)}onStyleChange(t,o){this.form.controls[t].setValue(o??"")}onImageSizeChange(t){this.form.controls.imageSize.setValue(t)}onImageChanged(){this.itemForm.controls.alt.updateValueAndValidity({emitEvent:!1})}onAddItem(){this.editingIndex.set(this.items().length),this.itemForm.setValue(E({},Xe)),this.detail.set("item")}onEditItem({index:t}){let o=this.items()[t];o&&(this.editingIndex.set(t),this.itemForm.setValue(Ya(o)),this.detail.set("item"))}onItemsChange(t){this.items.set(t),this.onDataChange()}saveItem(){this.commitItemLive(),this.closeItemEditor()}onDataChange(){this.dataChange.emit(Ja(this.form.getRawValue(),this.items()))}closeItemEditor(){this.editingIndex.set(null),this.detail.set("")}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-image-group-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:24,vars:19,consts:[["title","Images",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],[1,"campaign-images__list"],[3,"dataChange","editItem","addItem","items","primaryText","secondaryText","emitOnChange","showSaveButton"],["label","Arrangement"],[1,"campaign-images__inline"],["ariaLabel","Image arrangement",3,"valueChange","options","value"],["ariaLabel","Image alignment",3,"valueChange","value"],["label","Image size","hint","How big each thumbnail is beside its words."],["label","Spacing","hint","Padding is the air around the block; the gap is between pictures."],["label","Padding",3,"open","value"],["label","Gap",3,"open","value"],["label","Caption options","hint","The colour of each picture's title and caption."],["label","Caption text colour",3,"open","hasSwatch","swatch","value"],["label","Card colour",3,"hasSwatch","swatch","value"],["arkPanelDetail",""],[1,"campaign-images__detail"],[1,"campaign-images__notice"],["type","info","message","Columns do not stack on a phone in Outlook. They stay side by side."],["label","Columns",3,"open","value"],["ariaLabel","Image size","size","touch",3,"valueChange","options","value"],["label","Card colour",3,"open","hasSwatch","swatch","value"],["label","Choose image","tooltipText","Choose or upload an image",3,"valueChange","valueControl","uploadPath","userId"],["indicator","dots","variant","stroked","color","","icon","tune","buttonClasse
1s","campaign-images__edit",3,"task","disabled"],["type","error",3,"message"],["type","warning","message","Outlook cannot draw .webp, .svg or .avif. Use a .jpg, .png or .gif."],["label","Alt text","hint","Images are blocked by default \u2014 for most readers this IS the image.",3,"control","required","maxLength"],["label","Title",3,"control","maxLength"],["for","campaign-image-caption",1,"campaign-images__label"],["placeholder","Write here\u2026",3,"control"],["label","Link","placeholder","https://example.com",3,"control"],[1,"campaign-images__actions"],["mat-flat-button","","color","primary","type","button",3,"click"],["mat-stroked-button","","type","button",3,"click"],["ariaLabel","Columns",3,"valueChange","options","value"],[1,"campaign-images__note"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","max"],["label","Gap","layout","stacked","suffix","px",3,"valueChange","value","max"],[3,"valueChange","value","palette","clearable"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group")(3,"div",2)(4,"app-reorderable-settings-list",3),g("dataChange",function(u){return a.onItemsChange(u)})("editItem",function(u){return a.onEditItem(u)})("addItem",function(){return a.onAddItem()}),s()()(),r(5,"ark-settings-group",4)(6,"div",5)(7,"ark-option-cards",6),g("valueChange",function(u){return a.onLayoutChange(u)}),s(),r(8,"ark-alignment-picker",7),g("valueChange",function(u){return a.onAlignChange(u)}),s()(),k(9,am,3,1),s(),k(10,rm,3,2,"ark-settings-group",8),r(11,"ark-settings-group",9)(12,"ark-settings-row",10),g("open",function(){return a.detail.set("padding")}),s(),r(13,"ark-settings-row",11),g("open",function(){return a.detail.set("gap")}),s()(),r(14,"ark-settings-group",12)(15,"ark-settings-row",13),g("open",function(){return a.detail.set("color")}),s(),k(16,sm,1,3,"ark-settings-row",14),s()(),r(17,"div",15),k(18,dm,17,14,"div",16)(19,cm,4,2,"div",16)(20,pm,4,2,"div",16)(21,gm,2,2,"div",16)(22,um,4,3,"div",16)(23,_m,4,3,"div",16),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(4),d("items",a.items())("primaryText",a.options.itemLabel)("secondaryText",a.options.itemCaption)("emitOnChange",!0)("showSaveButton",!1),l(3),d("options",a.options.layouts)("value",a.values().layout),l(),d("value",a.values().align),l(),v(a.usesColumns()?9:-1),l(),v(a.usesImageSize()?10:-1),l(2),d("value",a.paddingSummary()),l(),d("value",a.gapSummary()),l(2),d("hasSwatch",!0)("swatch",a.values().textColor)("value",a.values().textColor),l(),v(a.usesCardColor()?16:-1),l(2),v((m=a.detail())==="item"?18:m==="columns"?19:m==="padding"?20:m==="gap"?21:m==="color"?22:m==="cardColor"?23:-1)}},dependencies:[it,nt,lt,se,fe,jt,Ha,st,Be,H,Y,X,z,we,_e,mt],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-images__list[_ngcontent-%COMP%]{display:block;padding:.25rem 1rem .5rem}.campaign-images__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 1rem .5rem}.campaign-images__notice[_ngcontent-%COMP%]{padding:.25rem 1rem .5rem}.campaign-images__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-images__actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.campaign-images__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var We=$e,Nn=80,me={src:"",alt:"",href:"",widthPx:String(We),align:"center",paddingPx:"16"};function or(e){let n=B(e);return{src:n.src??me.src,alt:n.alt??me.alt,href:n.href??me.href,widthPx:w(n.widthPx,Number(me.widthPx)),align:n.align??me.align,paddingPx:w(n.paddingPx,Number(me.paddingPx))}}function ar(e){return j({src:F(e.src),alt:F(e.alt),href:R(e.href),widthPx:ae(e.widthPx,We,1,We),align:e.align,paddingPx:P(e.paddingPx,16)})}function hm(e,n){e&1&&(r(0,"div",5),y(1,"ark-loading-dots",20),r(2,"span",21),_(3,"Updating picture\u2026"),s()()),e&2&&(l(),d("size",7))}function fm(e,n){if(e&1&&y(0,"ark-status-bar",7),e&2){let i=c();d("message",i.editProblem())}}function Cm(e,n){e&1&&y(0,"ark-status-bar",8)}function xm(e,n){if(e&1){let i=x();r(0,"div",19)(1,"ark-slider-row",22),g("valueChange",function(o){h(i);let a=c();return f(a.onWidthChange(o+""))}),s(),r(2,"p",23),_(3),s()()}if(e&2){let i=c();l(),d("value",i.widthPx())("min",1)("max",i.maxWidthPx),l(2),re(" The canvas is ",i.maxWidthPx,"px wide, so that is as big as a picture gets. ")}}function bm(e,n){if(e&1){let i=x();r(0,"div",19)(1,"ark-slider-row",24),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o+""))}),s(),r(2,"p",23),_(3," One number, all four sides \u2014 an image section pads evenly. "),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("max",i.maxPaddingPx)}}var km={width:"Width",padding:"Padding"},rr=(()=>{let n=class n{showEdited(t){this.editing.set(!0),this.form.controls.src.setValue(t.src);let o=new Image;o.onload=()=>this.editing.set(!1),o.onerror=()=>this.editing.set(!1),o.src=t.src}constructor(){this.fb=C(q),this.media=C(Ue,{optional:!0})??ct,this.imageEdit=C(dt),this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.uploadPath=this.media.uploadPath,this.userId=this.media.userId,this.maxWidthPx=We,this.maxPaddingPx=Nn,this.altMaxLength=Se,this.form=this.fb.nonNullable.group({src:[me.src],alt:[me.alt,Ee(Se)],href:[me.href,He()],widthPx:[me.widthPx,L(1,We)],align:[me.align],paddingPx:[me.paddingPx,L(0,Nn)]}),this.seeds=b(0),this.formTick=A(this.form.valueChanges,{initialValue:null}),this.values=p(()=>(this.formTick(),this.seeds(),this.form.getRawValue())),this.hasUnsupportedFormat=p(()=>!At(this.values().src)),this.detailTitle=p(()=>km[this.detail()]??""),this.widthPx=p(()=>ae(this.values().widthPx,We,1,We)),this.paddingPx=p(()=>P(this.values().paddingPx,Number(me.paddingPx))),this.widthSummary=p(()=>`${this.widthPx()}px`),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.canEdit=p(()=>!!this.values().src),this.editProblem=b(""),this.editing=b(!1),this.editImage=async()=>{this.editProblem.set("");let t=await this.imageEdit.edit(this.values().src,this.uploadPath());cn(t,o=>this.showEdited({src:o}),o=>this.editProblem.set(o))},this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(or(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}onAlignChange(t){this.form.controls.align.setValue(t)}onWidthChange(t){this.form.controls.widthPx.setValue(t)}onPaddingChange(t){this.form.controls.paddingPx.setValue(t)}onDataChange(){this.dataChange.emit(ar(this.form.getRawValue()))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-image-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:23,vars:20,consts:[["title","Image",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],[1,"campaign-image__picker"],[1,"campaign-image__media"],["label","Choose image","tooltipText","Choose or upload an image",3,"valueControl","uploadPath","userId"],["role","status",1,"campaign-image__busy"],["indicator","dots","variant","stroked","color","","icon","tune","buttonClasse
1s","campaign-image__edit",3,"task","disabled"],["type","error",3,"message"],["type","warning","message","Outlook cannot draw .webp, .svg or .avif. Use a .jpg, .png or .gif."],["label","Alt text","hint","Images are blocked by default \u2014 for most readers this IS the image.",1,"campaign-image__field",3,"control","required","maxLength"],["label","Layout"],[1,"campaign-image__inline"],["ariaLabel","Image alignment",3,"valueChange","value"],["label","Width",3,"open","value"],["label","Link"],["label","Link","placeholder","https://example.com","hint","Leave blank for a picture nobody can click.",1,"campaign-image__field",3,"control"],["label","Spacing"],["label","Padding",3,"open","value"],["arkPanelDetail",""],[1,"campaign-image__detail"],["color","#fff",3,"size"],[1,"campaign-image__busy-label"],["label","Width","layout","stacked","suffix","px",3,"valueChange","value","min","max"],[1,"campaign-image__note"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","max"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group")(3,"div",2)(4,"div",3),y(5,"app-media-picker",4),k(6,hm,4,1,"div",5),s(),r(7,"ark-loading-button",6),_(8," Crop & adjust "),s(),k(9,fm,1,1,"ark-status-bar",7),k(10,Cm,1,0,"ark-status-bar",8),s(),y(11,"ark-text-field",9),s(),r(12,"ark-settings-group",10)(13,"div",11)(14,"ark-alignment-picker",12),g("valueChange",function(u){return a.onAlignChange(u)}),s()(),r(15,"ark-settings-row",13),g("open",function(){return a.detail.set("width")}),s()(),r(16,"ark-settings-group",14),y(17,"ark-text-field",15),s(),r(18,"ark-settings-group",16)(19,"ark-settings-row",17),g("open",function(){return a.detail.set("padding")}),s()()(),r(20,"div",18),k(21,xm,4,4,"div",19)(22,bm,4,2,"div",19),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(4),W("campaign-image__media--busy",a.editing()),l(),d("valueControl",a.form.controls.src)("uploadPath",a.uploadPath())("userId",a.userId()),l(),v(a.editing()?6:-1),l(),d("task",a.editImage)("disabled",!a.canEdit()),l(2),v(a.editProblem()?9:-1),l(),v(a.hasUnsupportedFormat()?10:-1),l(),d("control",a.form.controls.alt)("required",!0)("maxLength",a.altMaxLength),l(3),d("value",a.values().align),l(),d("value",a.widthSummary()),l(2),d("control",a.form.controls.href),l(2),d("value",a.paddingSummary()),l(2),v((m=a.detail())==="width"?21:m==="padding"?22:-1)}},dependencies:[lt,se,_e,H,Y,st,Di,X,z,we],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-image__picker[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-image__field[_ngcontent-%COMP%]{display:block;padding:.25rem 1rem .5rem}.campaign-image__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-image__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-image__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}.campaign-image__edit[_ngcontent-%COMP%]{width:100%}.campaign-image__media[_ngcontent-%COMP%]{position:relative}.campaign-image__media--busy[_ngcontent-%COMP%]{pointer-events:none}.campaign-image__busy[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;background:#11182794}.campaign-image__busy-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;letter-spacing:.02em;color:#fff}']});let e=n;return e})();var $={headline:"",code:"",terms:"",href:"",buttonLabel:"",backgroundColor:"#fef3c7",textColor:"#111111",align:"center",paddingPx:"24"};function sr(e){let n=B(e);return{headline:n.headline??$.headline,code:n.code??$.code,terms:n.terms??$.terms,href:n.href??$.href,buttonLabel:n.buttonLabel??$.buttonLabel,backgroundColor:n.backgroundColor??$.backgroundColor,textColor:n.textColor??$.textColor,align:n.align??$.align,paddingPx:w(n.paddingPx,Number($.paddingPx))}}function lr(e){return j({headline:F(e.headline),code:R(e.code),terms:R(e.terms),href:R(e.href),buttonLabel:R(e.buttonLabel),backgroundColor:e.backgroundColor,textColor:e.textColor,align:e.align,paddingPx:P(e.paddingPx,24)})}function vm(e,n){if(e&1){let i=x();r(0,"div",17)(1,"ark-slider-row",18),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("max",i.maxPaddingPx)}}function Sm(e,n){if(e&1){let i=x();r(0,"div",17)(1,"ark-color-picker-panel",19),g("valueChange",function(o){h(i);let a=c();return f(a.onColorChange(a.colorKey(),o))}),s()()}if(e&2){let i=c();l(),d("value",i.colorOf(i.colorKey()))("palette",i.palette())("clearable",!1)}}var mr={backgroundColor:"Banner colour",textColor:"Text colour"},Pm={padding:"Padding"},dr=64,cr=(()=>{let n=class n{constructor(){this.fb=C(q),this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.maxPaddingPx=dr,this.headlineMaxLength=vn,this.codeMaxLength=Ve,this.buttonLabelMaxLength=Pe,this.form=this.fb.nonNullable.group({headline:[$.headline,Ee(vn)],code:[$.code,Ce(Ve)],terms:[$.terms,Ce(ua)],href:[$.href,He()],buttonLabel:[$.buttonLabel,Ce(Pe)],backgroundColor:[$.backgroundColor],textColor:[$.textColor],align:[$.align],paddingPx:[$.paddingPx,L(0,dr)]}),this.seeds=b(0),this.edits=A(this.form.valueChanges,{initialValue:null}),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.paddingPx=p(()=>ym(this.formValue().paddingPx)),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.colorKey=p(()=>{let t=this.detail().replace("color:","");return t in mr?t:"backgroundColor"}),this.detailTitle=p(()=>{let t=this.detail();return t.startsWith("color:")?mr[this.colorKey()]:Pm[t]??""}),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(sr(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}colorOf(t){return this.formValue()[t]??""}onAlignChange(t){this.form.controls.align.setValue(t)}onColorChange(t,o){this.form.controls[t].setValue(o)}onPaddingChange(t){this.form.controls.paddingPx.setValue(String(t))}onDataChange(){this.dataChange.emit(lr(this.form.getRawValue()))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-offer-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:20,vars:21,consts:[["title","Offer",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],["label","Headline","placeholder","20% off spring league",1,"campaign-offer__field",3,"control","required","maxLength"],["label","Code","placeholder","SPRING20","hint","Rendered large and selectable. Leave blank for an offer with no code.",1,"campaign-offer__field",3,"control","maxLength"],["label","Small print","hint","Expiry, exclusions \u2014 whatever the offer does not cover.",1,"campaign-offer__field",3,"control","rows"],["label","Button","hint","Leave both blank for a banner with nothing to press."],["label","Button text",1,"campaign-offer__field",3,"control","maxLength"],["label","Link","placeholder","https://example.com",1,"campaign-offer__field",3,"control"],["label","Layout"],[1,"campaign-offer__inline"],["ariaLabel","Offer alignment",3,"valueChange","value"],["label","Colours","hint","The banner is the band behind the offer, edge to edge."],["label","Banner",3,"open","hasSwatch","swatch","value"],["label","Text",3,"open","hasSwatch","swatch","value"],["label","Spacing"],["label","Padding",3,"open","value"],["arkPanelDetail",""],[1,"campaign-offer__detail"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","max"],[3,"valueChange","value","palette","clearable"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}
1),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group"),y(3,"ark-text-field",2)(4,"ark-text-field",3)(5,"ark-text-field",4),s(),r(6,"ark-settings-group",5),y(7,"ark-text-field",6)(8,"ark-text-field",7),s(),r(9,"ark-settings-group",8)(10,"div",9)(11,"ark-alignment-picker",10),g("valueChange",function(u){return a.onAlignChange(u)}),s()()(),r(12,"ark-settings-group",11)(13,"ark-settings-row",12),g("open",function(){return a.detail.set("color:backgroundColor")}),s(),r(14,"ark-settings-row",13),g("open",function(){return a.detail.set("color:textColor")}),s()(),r(15,"ark-settings-group",14)(16,"ark-settings-row",15),g("open",function(){return a.detail.set("padding")}),s()()(),r(17,"div",16),k(18,vm,2,2,"div",17)(19,Sm,2,3,"div",17),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(3),d("control",a.form.controls.headline)("required",!0)("maxLength",a.headlineMaxLength),l(),d("control",a.form.controls.code)("maxLength",a.codeMaxLength),l(),d("control",a.form.controls.terms)("rows",3),l(2),d("control",a.form.controls.buttonLabel)("maxLength",a.buttonLabelMaxLength),l(),d("control",a.form.controls.href),l(3),d("value",a.formValue().align??"center"),l(2),d("hasSwatch",!0)("swatch",a.formValue().backgroundColor??"")("value",a.formValue().backgroundColor??""),l(),d("hasSwatch",!0)("swatch",a.formValue().textColor??"")("value",a.formValue().textColor??""),l(2),d("value",a.paddingSummary()),l(2),v((m=a.detail())==="padding"?18:19)}},dependencies:[rt,_e,se,fe,H,Y,X,z],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-offer__field[_ngcontent-%COMP%]{display:block;padding:.25rem 1rem .5rem}.campaign-offer__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-offer__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}']});let e=n;return e})();function ym(e){let n=Number(e);return Number.isFinite(n)&&n>=0?Math.round(n):0}var je={align:"center",iconSizePx:"24",paddingPx:"16"},Ct={label:"",href:"",iconUrl:""};function pr(e){let n=B(e);return{align:n.align??je.align,iconSizePx:w(n.iconSizePx,Number(je.iconSizePx)),paddingPx:w(n.paddingPx,Number(je.paddingPx))}}function gr(e){return(B(e).links??[]).map(i=>E({},i))}function ur(e){return j({href:F(e.href),label:F(e.label),iconUrl:R(e.iconUrl)})}function _r(e,n){return j({links:n.map(i=>E({},i)),align:e.align,iconSizePx:ae(e.iconSizePx,24,12,64),paddingPx:P(e.paddingPx,16)})}function Mm(e,n){e&1&&(r(0,"div",3),y(1,"ark-status-bar",14),s())}function Tm(e,n){if(e&1){let i=x();r(0,"div",13)(1,"ark-slider-row",15),g("valueChange",function(o){h(i);let a=c();return f(a.onIconSizeChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.iconSizePx())("min",i.iconMin)("max",i.iconMax)}}function Am(e,n){if(e&1){let i=x();r(0,"div",13)(1,"ark-slider-row",16),g("valueChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.paddingPx())("min",0)("max",i.paddingMax)}}function wm(e,n){if(e&1&&(r(0,"div",13),y(1,"ark-text-field",17)(2,"ark-text-field",18)(3,"ark-text-field",19),r(4,"p",20),_(5," Changes land as you type. Back returns to the list, and a row left completely blank is dropped. "),s()()),e&2){let i=c();l(),d("control",i.linkForm.controls.label)("required",!0)("maxLength",i.labelMaxLength),l(),d("control",i.linkForm.controls.href)("required",!0),l(),d("control",i.linkForm.controls.iconUrl)}}var Em={link:"Link",iconSize:"Icon size",padding:"Padding"},hr="link",Dn=12,fr=64,Cr=80,xr=(()=>{let n=class n{constructor(){this.fb=C(q),this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.iconMin=Dn,this.iconMax=fr,this.paddingMax=Cr,this.links=b([]),this.editingIndex=b(null),this.labelMaxLength=Ve,this.form=this.fb.nonNullable.group({align:[je.align],iconSizePx:[je.iconSizePx,L(Dn,fr)],paddingPx:[je.paddingPx,L(0,Cr)]}),this.linkForm=this.fb.nonNullable.group({label:[Ct.label,Ee(Ve)],href:[Ct.href,Wt()],iconUrl:[Ct.iconUrl,He()]}),this.seeds=b(0),this.edits=A(this.form.valueChanges,{initialValue:null}),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.detailTitle=p(()=>Em[this.detail()]??""),this.iconSizePx=p(()=>P(this.formValue().iconSizePx??null,Dn)),this.paddingPx=p(()=>P(this.formValue().paddingPx??null,0)),this.iconSizeSummary=p(()=>`${this.iconSizePx()}px`),this.paddingSummary=p(()=>`${this.paddingPx()}px`),this.align=p(()=>this.formValue().align??je.align),this.linkLabel=t=>t.label||t.href||"Untitled link",this.linkHref=t=>t.href??"",this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange()),this.linkForm.valueChanges.pipe(V()).subscribe(()=>this.commitLink())}syncFormFromSection(){this.form.setValue(pr(this.section()),{emitEvent:!1}),this.links.set(gr(this.section())),this.editingIndex.set(null),this.seeds.update(t=>t+1),this.detail.set("")}onDetailChange(t){t!==hr&&this.closeLinkEditor(),this.detail.set(t)}onAddLink(){this.links.update(t=>[...t,E({},Ct)]),this.startEditing(this.links().length-1)}onEditLink({index:t}){this.startEditing(t)}onLinksChange(t){this.links.set(t),this.onDataChange()}onAlignChange(t){this.form.controls.align.setValue(t)}onIconSizeChange(t){this.form.controls.iconSizePx.setValue(String(t))}onPaddingChange(t){this.form.controls.paddingPx.setValue(String(t))}onDataChange(){this.dataChange.emit(_r(this.form.getRawValue(),this.links()))}startEditing(t){let o=this.links()[t];o&&(this.editingIndex.set(t),this.linkForm.setValue({label:o.label??"",href:o.href??"",iconUrl:o.iconUrl??""},{emitEvent:!1}),this.detail.set(hr))}commitLink(){let t=this.editingIndex();if(t===null)return;let o=ur(this.linkForm.getRawValue());this.links.update(a=>a.map((m,u)=>u===t?o:m)),this.onDataChange()}closeLinkEditor(){let t=this.editingIndex();if(this.editingIndex.set(null),t===null)return;let o=this.links()[t];o?.href||o?.label||(this.links.update(a=>a.filter((m,u)=>u!==t)),this.onDataChange())}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-social-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:16,vars:12,consts:[["title","Social links",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],["label","Links","hint","Each row is a label, a destination and an optional icon."],[1,"campaign-social__empty"],[1,"campaign-social__list"],[3,"dataChange","editItem","addItem","items","primaryText","secondaryText","emitOnChange","showSaveButton"],["label","Layout"],[1,"campaign-social__inline"],["ariaLabel","Social row alignment",3,"valueChange","value"],["label","Icon size",3,"open","value"],["label","Spacing","hint","The air around the whole row, on every side equally."],["label","Padding",3,"open","value"],["arkPanelDetail",""],[1,"campaign-social__detail"],["type","info","message","No links yet \u2014 this block sends nothing until you add one."],["label","Icon size","layout","stacked","suffix","px",3,"valueChange","value","min","max"],["label","Padding","layout","stacked","suffix","px",3,"valueChange","value","min","max"],["label","Label","placeholder","Instagram","hint","Also the icon's alt text \u2014 icons are blocked by default.",3,"control","required","maxLength"],["label","Link","placeholder","https://instagram.com/yourclub",3,"control","required"],["label","Icon image","placeholder","https://cdn.example.com/instagram.png","hint","Leave blank to use the label on its own.",3,"control"],[1,"campaign-social__note"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),g("detailChange",function(u){return a.onDetailChange(u)}
1)("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group",2),k(3,Mm,2,0,"div",3),r(4,"div",4)(5,"app-reorderable-settings-list",5),g("dataChange",function(u){return a.onLinksChange(u)})("editItem",function(u){return a.onEditLink(u)})("addItem",function(){return a.onAddLink()}),s()()(),r(6,"ark-settings-group",6)(7,"div",7)(8,"ark-alignment-picker",8),g("valueChange",function(u){return a.onAlignChange(u)}),s()(),r(9,"ark-settings-row",9),g("open",function(){return a.detail.set("iconSize")}),s()(),r(10,"ark-settings-group",10)(11,"ark-settings-row",11),g("open",function(){return a.detail.set("padding")}),s()()(),r(12,"div",12),k(13,Tm,2,3,"div",13)(14,Am,2,3,"div",13)(15,wm,6,6,"div",13),s()()),o&2){let m;d("detailTitle",a.detailTitle())("detail",a.detail()),l(3),v(a.links().length?-1:3),l(2),d("items",a.links())("primaryText",a.linkLabel)("secondaryText",a.linkHref)("emitOnChange",!0)("showSaveButton",!1),l(3),d("value",a.align()),l(),d("value",a.iconSizeSummary()),l(2),d("value",a.paddingSummary()),l(2),v((m=a.detail())==="iconSize"?13:m==="padding"?14:15)}},dependencies:[se,_e,H,Y,X,z,we,mt],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-social__empty[_ngcontent-%COMP%], .campaign-social__list[_ngcontent-%COMP%]{padding:.25rem 1rem 0}.campaign-social__inline[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-social__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-social__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var On=1,Ln=400,br=4,kr=120,xt={heightPx:"24"};function vr(e){let n=B(e);return{heightPx:w(n.heightPx,Number(xt.heightPx))}}function Sr(e){return{heightPx:ae(e.heightPx,Number(xt.heightPx),On,Ln)}}function Im(e,n){if(e&1){let i=x();r(0,"div",5)(1,"ark-slider-row",6),g("valueChange",function(o){h(i);let a=c();return f(a.onHeightChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.heightPx())("min",i.sliderMinPx)("max",i.sliderMaxPx)}}var Nm={height:"Height"},Pr=(()=>{let n=class n{constructor(){this.fb=C(q),this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.sliderMinPx=br,this.sliderMaxPx=kr,this.form=this.fb.nonNullable.group({heightPx:[xt.heightPx,L(On,Ln)]}),this.edits=A(this.form.valueChanges,{initialValue:null}),this.seeds=b(0),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.detailTitle=p(()=>Nm[this.detail()]??""),this.heightPx=p(()=>P(this.formValue().heightPx,Number(xt.heightPx))),this.heightSummary=p(()=>`${this.heightPx()}px`),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(vr(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}onHeightChange(t){this.form.controls.heightPx.setValue(String(t))}onDataChange(){this.dataChange.emit(Sr(this.form.getRawValue()))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-spacer-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:6,vars:4,consts:[["title","Spacer",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],["hint","Empty space between the sections above and below."],["label","Height",3,"open","value"],["arkPanelDetail",""],[1,"campaign-spacer__detail"],["label","Height","layout","stacked","suffix","px",3,"valueChange","value","min","max"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group",2)(3,"ark-settings-row",3),g("open",function(){return a.detail.set("height")}),s()()(),r(4,"div",4),k(5,Im,2,3,"div",5),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(3),d("value",a.heightSummary()),l(2),v((m=a.detail())==="height"?5:-1)}},dependencies:[H,Y,X,z],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-spacer__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}']});let e=n;return e})();var Vn=10,Fn=40,yr=80,U={html:"",align:"left",fontFamily:"",fontSizePx:16,color:"#111111",backgroundColor:"",paddingTopPx:"16",paddingBottomPx:"16",paddingLeftPx:"16",paddingRightPx:"16"};function Mr(e){let n=B(e);return E({html:n.html??U.html,align:n.align??U.align,fontFamily:n.fontFamily??U.fontFamily,fontSizePx:n.fontSizePx??U.fontSizePx,color:n.color??U.c
1olor,backgroundColor:n.backgroundColor??U.backgroundColor},Dm(n))}function Dm(e){let n=P(w(e.paddingPx,Number(U.paddingTopPx)),Number(U.paddingTopPx));return{paddingTopPx:w(e.paddingTopPx,n),paddingBottomPx:w(e.paddingBottomPx,n),paddingLeftPx:w(e.paddingLeftPx,n),paddingRightPx:w(e.paddingRightPx,n)}}function Tr(e){return j({html:e.html??"",align:e.align,fontFamily:R(e.fontFamily),fontSizePx:P(e.fontSizePx,U.fontSizePx,1),color:e.color,backgroundColor:F(e.backgroundColor)||void 0,paddingTopPx:P(e.paddingTopPx,16),paddingBottomPx:P(e.paddingBottomPx,16),paddingLeftPx:P(e.paddingLeftPx,16),paddingRightPx:P(e.paddingRightPx,16)})}function Om(e,n){if(e&1){let i=x();r(0,"ark-padding-editor",17),g("paddingChange",function(o){h(i);let a=c();return f(a.onPaddingChange(o))}),s()}if(e&2){let i=c();d("padding",i.padding())("max",64)}}function Lm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-slider-row",18),g("valueChange",function(o){h(i);let a=c();return f(a.onFontSizeChange(o))}),s()()}if(e&2){let i=c();l(),d("value",i.fontSizePx())("min",i.minFontSizePx)("max",i.maxFontSizePx)}}function Vm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-font-pack-picker",19),g("valueChange",function(o){h(i);let a=c();return f(a.onFontPackChange(o))}),s(),r(2,"p",20),_(3," Email cannot load a webfont, so every pack is faces most people already have. "),s()()}if(e&2){let i=c();l(),d("value",i.fontPackId())}}function Fm(e,n){if(e&1){let i=x();r(0,"div",16)(1,"ark-color-picker-panel",21),g("valueChange",function(o){h(i);let a=c();return f(a.onColorChange(a.colorKey(),o))}),s()()}if(e&2){let i=c();l(),d("value",i.colorOf(i.colorKey()))("palette",i.palette())("clearable",i.isClearable(i.colorKey()))}}function $t(){return L(0,yr)}var Ar={color:"Text colour",backgroundColor:"Section colour"},Gm=["backgroundColor"],Rm={padding:"Padding",font:"Font pack",fontSize:"Font size"},Kt=16,wr=(()=>{let n=class n{constructor(){this.fb=C(q),this.palette=C(le,{optional:!0})??he,this.section=b(null),this.dataChange=T(),this.closed=T(),this.detail=b(""),this.minFontSizePx=Vn,this.maxFontSizePx=Fn,this.form=this.fb.nonNullable.group({html:[U.html],align:[U.align],fontFamily:[U.fontFamily],fontSizePx:[U.fontSizePx,L(Vn,Fn)],color:[U.color],backgroundColor:[U.backgroundColor],paddingTopPx:[U.paddingTopPx,$t()],paddingBottomPx:[U.paddingBottomPx,$t()],paddingLeftPx:[U.paddingLeftPx,$t()],paddingRightPx:[U.paddingRightPx,$t()]}),this.edits=A(this.form.valueChanges,{initialValue:null}),this.seeds=b(0),this.formValue=p(()=>(this.edits(),this.seeds(),this.form.getRawValue())),this.detailTitle=p(()=>{let t=this.detail();return t.startsWith("color:")?Ar[this.colorKey()]:Rm[t]??""}),this.colorKey=p(()=>{let t=this.detail().replace("color:","");return t in Ar?t:"color"}),this.padding=p(()=>({top:P(this.formValue().paddingTopPx,Kt),bottom:P(this.formValue().paddingBottomPx,Kt),left:P(this.formValue().paddingLeftPx,Kt),right:P(this.formValue().paddingRightPx,Kt)})),this.paddingSummary=p(()=>{let{top:t,bottom:o,left:a,right:m}=this.padding();return[t,o,a,m].every(de=>de===t)?`${t}px`:`${t} \xB7 ${m} \xB7 ${o} \xB7 ${a}`}),this.fontSizePx=p(()=>this.formValue().fontSizePx??U.fontSizePx),this.fontSizeSummary=p(()=>`${this.fontSizePx()}px`),this.fontPackId=p(()=>Rt(this.formValue().fontFamily)?.id??""),this.fontPackName=p(()=>ze(this.fontPackId())?.label??"Default"),this.form.valueChanges.pipe(V()).subscribe(()=>this.onDataChange())}syncFormFromSection(){this.form.setValue(Mr(this.section()),{emitEvent:!1}),this.seeds.update(t=>t+1),this.detail.set("")}colorOf(t){return this.formValue()[t]??""}isClearable(t){return Gm.includes(t)}onColorChange(t,o){this.form.controls[t].setValue(o)}onAlignChange(t){this.form.controls.align.setValue(t)}onFontPackChange(t){this.form.controls.fontFamily.setValue(ze(t)?.bodyStack??"")}onFontSizeChange(t){this.form.controls.fontSizePx.setValue(t)}onPaddingChange(t){let o={top:"paddingTopPx",bottom:"paddingBottomPx",left:"paddingLeftPx",right:"paddingRightPx"};this.form.controls[o[t.side]].setValue(String(t.value))}onDataChange(){this.dataChange.emit(Tr(this.form.getRawValue()))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-text-settings"]],outputs:{dataChange:"dataChange",closed:"closed"},decls:24,vars:15,consts:[["title","Text",3,"detailChange","closed","detailTitle","detail"],["arkPanelRoot",""],[1,"campaign-text__field"],[3,"control","maxLength"],["data-testid","campaign-slash-hint",1,"campaign-text__hint"],["ariaLabel","Text alignment",3,"valueChange","value"],["label","Spacing"],["label","Padding",3,"open","value"],["label","Colours","hint","Section is the band behind the words, edge to edge."],["label","Text",3,"open","hasSwatch","swatch","value"],["label","Section colour",3,"open","hasSwatch","swatch","value"],["label","Font"],["label","Font pack",3,"open","value"],["label","Font size",3,"open","value"],["arkPanelDetail",""],[3,"padding","max"],[1,"campaign-text__detail"],[3,"paddingChange","padding","max"],["label","Font size","layout","stacked","suffix","px",3,"valueChange","value","min","max"],["headingSample","Sunday fixtures","subheadingSample","Kick-off at 10am","bodySample","We need two more for the 6pm.",3,"valueChange","value"],[1,"campaign-text__note"],[3,"valueChange","value","palette","clearable"]],template:function(o,a){if(o&1&&(r(0,"ark-settings-panel",0),te("detailChange",function(u){return ee(a.detail,u)||(a.detail=u),u}
1),g("closed",function(){return a.closed.emit()}),r(1,"div",1)(2,"ark-settings-group")(3,"div",2),y(4,"ark-editor",3),r(5,"p",4),_(6," Press "),r(7,"kbd"),_(8,"/"),s(),_(9," at the start of a word to add a section. "),s(),r(10,"ark-alignment-picker",5),g("valueChange",function(u){return a.onAlignChange(u)}),s()()(),r(11,"ark-settings-group",6)(12,"ark-settings-row",7),g("open",function(){return a.detail.set("padding")}),s()(),r(13,"ark-settings-group",8)(14,"ark-settings-row",9),g("open",function(){return a.detail.set("color:color")}),s(),r(15,"ark-settings-row",10),g("open",function(){return a.detail.set("color:backgroundColor")}),s()(),r(16,"ark-settings-group",11)(17,"ark-settings-row",12),g("open",function(){return a.detail.set("font")}),s(),r(18,"ark-settings-row",13),g("open",function(){return a.detail.set("fontSize")}),s()()(),r(19,"div",14),k(20,Om,1,2,"ark-padding-editor",15)(21,Lm,2,3,"div",16)(22,Vm,4,1,"div",16)(23,Fm,2,3,"div",16),s()()),o&2){let m;d("detailTitle",a.detailTitle()),J("detail",a.detail),l(4),d("control",a.form.controls.html)("maxLength",5e3),l(6),d("value",a.formValue().align??"left"),l(2),d("value",a.paddingSummary()),l(2),d("hasSwatch",!0)("swatch",a.formValue().color??"")("value",a.formValue().color??""),l(),d("hasSwatch",!0)("swatch",a.formValue().backgroundColor??"")("value",a.formValue().backgroundColor||"None"),l(2),d("value",a.fontPackName()),l(),d("value",a.fontSizeSummary()),l(2),v((m=a.detail())==="padding"?20:m==="fontSize"?21:m==="font"?22:23)}},dependencies:[ji,se,fe,Bt,H,Y,X,Ht,z],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-text__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 1rem .5rem}.campaign-text__hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}.campaign-text__detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem}.campaign-text__note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;line-height:1.45;color:#6b7280}']});let e=n;return e})();var Bm={text:wr,image:rr,button:ya,divider:Ua,spacer:Pr,social:xr,imageGroup:ir,contentFeed:La,offer:cr};function Er(e){return Bm[e]}var Um=["settingsHost"];function zm(e,n){e&1&&(K(0,"div",1)(1,"p"),_(2,"Pick a section to change it."),Z()())}var Ir=(()=>{let n=class n{constructor(){this.section=M(null),this.settingsChange=T(),this.closed=T(),this.cdr=C(ai),this.panel=null,this.renderedSectionId=null}ngOnInit(){this.syncPanel()}ngOnChanges(){this.syncPanel()}syncPanel(){let t=this.settingsHost;if(!t)return;let o=this.section();if(!o){t.clear(),this.forgetPanel();return}if(this.shouldRecreate(o.id)){this.createPanel(o,t);return}this.pushSection(o)}shouldRecreate(t){return!this.panel||this.renderedSectionId!==t}createPanel(t,o){o.clear();let a=Er(t.kind);if(!a){this.forgetPanel();return}this.panel=o.createComponent(a),this.renderedSectionId=t.id,this.pushSection(t),this.panel.instance.syncFormFromSection?.(),this.panel.instance.dataChange.subscribe(m=>this.onPanelData(t,m)),this.panel.instance.closed?.subscribe(()=>this.closed.emit()),this.cdr.markForCheck()}pushSection(t){this.panel?.instance.section.set(t)}onPanelData(t,o){this.settingsChange.emit({sectionId:t.id,kind:t.kind,settings:o})}forgetPanel(){this.panel=null,this.renderedSectionId=null}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-section-settings"]],viewQuery:function(o,a){if(o&1&&ei(Um,7,Kn),o&2){let m;ti(m=ni())&&(a.settingsHost=m.first)}},inputs:{section:[1,"section"]},outputs:{settingsChange:"settingsChange",closed:"closed"},features:[jn],decls:3,vars:1,consts:[["settingsHost",""],[1,"p-8"]],template:function(o,a){o&1&&(k(0,zm,3,0,"div",1),Qn(1,null,0)),o&2&&v(a.section()?-1:0)},encapsulation:2});let e=n;return e})();var Hm={unavailable:()=>"Send to recipients",blocked:e=>e===1?"Fix 1 problem before sending":`Fix ${e} problems before sending`,ready:()=>"Send to recipients"};function Nr(e,n){return!e||!n?Gn("unavailable",0):n.length?Gn("blocked",n.length):Gn("ready",0)}function Gn(e,n){return{kind:e,canOpenSend:e==="ready",blockingCount:n,label:Hm[e](n)}}
1var Dr={segment:{title:"A segment of your contacts",blurb:"A saved question about your address book, asked again each send.",chooseLabel:"Which segment",note:"A segment is re-run every time you send, so somebody who joins tomorrow is in it tomorrow. Narrow it by tag, then untick anybody you do not want.",noteTone:"info"},contacts:{title:"From your contacts",blurb:"Your own address book, including people on no other list.",chooseLabel:"Which contacts",note:"Your contacts include people who are on no other list \u2014 somebody who registered once, or an address you imported. The widest audience you have, and the one to think hardest about.",noteTone:"info"},community:{title:"From a community",blurb:"Members of a club or team, narrowed by role or tag.",chooseLabel:"Which community",note:"Two roles means either role. A role and a tag means both. That is the same rule your roster filter uses.",noteTone:"info"},event:{title:"From an event",blurb:"Anybody who registered for one of your events.",chooseLabel:"Which event",note:"Registering for an event is not the same as asking for your newsletter. Good for news about that event; think twice about using it as a standing list.",noteTone:"warn"},connections:{title:"From your connections",blurb:"The people you are connected with on your profile.",chooseLabel:"Whose connections",note:"These are your friends, not your club's subscribers \u2014 none of them asked to hear from this community. Use it for a personal note, and think hard before using it as a mailing list.",noteTone:"warn"}},Or="Anybody who has unsubscribed is already out of these numbers, and adding a group they are in does not bring them back.",Lr={title:"Nobody yet",message:"Add the people this email should reach. You can add more than one group."},Vr="Send more",Fr=["segment"],Gr="Everyone",Rr="Sending to",Br="We could not work out who this is going to. Your groups are saved \u2014 reopen this panel to count them again.",Ur="Everyone",zr="New segment",Hr="Name a question about your contacts",Xr="You have no segments yet. Make one and it will be here next time.";function Wr(e){return Object.fromEntries(Object.entries(e).filter(([,n])=>!!n))}var qt="+";function jr(e){return[{id:qt,label:zr,meta:Hr,count:null,source:""},...(e??[]).map(n=>({id:n.id,label:n.name,meta:"",count:null,source:""}))]}function $r(e,n){let i=new Map(n.map(t=>[t.key,t.name]));return e.map(t=>({name:t.name,context:i.get(t.groupKey)??""}))}var Kr={status:"loading"},Xm={status:"ready",summary:null};function qr(e,n,i){return!n||!i?.length?G(Xm):Ye(e.resolveGroups(n,i)).pipe(xe(t=>({status:"ready",summary:t})),be(()=>G({status:"error"})))}var bt=(()=>{let n=class n{constructor(){this.facade=C(ve),this.teams=C(wi),this.tags=C(Ji),this.campaigns=C(Re),this.contacts=C(Et),this.audienceApi=C(uo),this.groups=p(()=>this.facade.audienceGroups()),this.orgId=p(()=>this.facade.orgId()),this.scope$=kt({orgId:ke(this.facade.orgId),uid:ke(this.facade.userId)}),this.segments=A(this.scope$.pipe(ie(({orgId:t})=>to(this.campaigns,t??""))),{initialValue:eo}),this.org$=ke(this.facade.orgId).pipe(ie(t=>t?this.teams.getTeamByTeamId$(t).pipe(be(()=>G(null))):G(null))),this.orgTags=A(this.org$.pipe(ie(t=>t?Ye(this.tags.tags(t.id,t.model?.memberTags??[])).pipe(be(()=>G([]))):G([])),xe(t=>t)),{initialValue:[]}),this.orgFields=A(this.scope$.pipe(ie(({orgId:t})=>t?this.contacts.allContactFields$(t).pipe(be(()=>G([]))):G([]))),{initialValue:[]}),this.summaryState=A(ke(this.groups).pipe(ie(t=>qr(this.audienceApi,this.facade.orgId()??"",t))),{initialValue:Kr}),this.summary=p(()=>{let t=this.summaryState();return t.status==="ready"?t.summary:null}),this.options=p(()=>({segment:this.segments().segments===null&&!this.segments().error?null:jr(this.segments().segments)})),this.errors=p(()=>Wr({segment:this.segments().error})),this.counts=p(()=>{let t=this.summary()?.byGroup??[];return Object.fromEntries(t.map(o=>[o.key,o.available?o.count:null]))}),this.total=p(()=>this.summary()?.total??null),this.overlap=p(()=>this.summary()?.onMoreThanOneSource??0),this.people=p(()=>{let t=this.summaryState();return t.status!=="ready"?null:$r(t.summary?.people??[],this.groups()??[])}),this.peopleError=p(()=>this.summaryState().status==="error"?Br:"")}addGroup(t){let a=(this.groups()??[]).filter(m=>m.key!==t.key);this.facade.setAudienceGroups([...a,t])}removeGroup(t){this.facade.setAudienceGroups(Yi(this.groups()??[],t))}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac});let e=n;return e})();var Wm="Tags",jm="Tick any tag to narrow this segment. None means every tag.";function Yr(e){return e.length?[{key:"tagIds",label:Wm,hint:jm,options:e.map(n=>({id:n.id,label:n.name,meta:"",count:null,source:""}))}]:[]}function Qr(e,n,i=new Map){return e===null||!n?e:e.filter(t=>qi(n,i.get(t.id)??$m(t)))}function $m(e){return{memberId:e.id,roleIds:[],tagIds:e.tags,communityId:"",registeredEventIds:[],connectionOwnerIds:[],joinedAtMs:null}}function Zr(e,n){return e!=="segment"?null:{people:n.people,error:n.error,tags:n.tags,tagLabel:"Tag",tagAnyLabel:"Any tag",noun:"contacts",emptyMessage:n.emptyMessage}}var Rn=(()=>{let n=class n{constructor(){this.lists=C(bt),this.contacts=C(Et),this.picked=b(null),this.openMethod=b(null),this.contactPeopleList=A(this.lists.scope$.pipe(ie(({orgId:t})=>ro(this.contacts,t??""))),{initialValue:ao}),this.segment=p(()=>no(this.lists.segments().segments,this.picked())),this.facets=p(()=>({segment:Yr(this.lists.orgTags())})),this.peopleConfig=p(()=>{let t=this.contactPeopleList();return Zr(this.openMethod(),{people:Qr(t.people,this.segment(),t.byId),error:t.error,tags:oo(this.lists.orgTags()),emptyMessage:io})})}openMethodScreen(t){this.openMethod.set(t),this.picked.set(null)}setPicked(t){this.picked.set(t[0]??null)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275prov=ue({token:n,factory:n.\u0275fac});let e=n;return e})();var Jr=(()=>{let n=class n{constructor(){this.dialog=C(Ae),this.lists=C(bt),this.who=C(Rn),this.methods=pi(Dr,Fr),this.footnote=Or,this.empty=Lr,this.addLabel=Vr,this.everyoneLabel=Gr,this.sendingToLabel=Rr,this.segmentsEmpty=Xr,this.actionIds=[qt],this.closed=T(),this.onAction=async t=>{let o=this.lists.orgId();if(t!==qt||!o)return;let{SegmentEditorDialogComponent:a}=await import("./segment-editor-dialog.component-2KZNGWBF.js"),m=this.dialog.open(a,{data:{orgId:o,tags:this.lists.orgTags().map(u=>({id:u.id,name:u.name})),fields:this.lists.orgFields(),suggestedName:(this.lists.segments().segments??[]).length?"":Ur}});await Ge(m.afterClosed())}}onOpened(t){this.who.openMethodScreen(t)}onPicked(t){this.who.setPicked(t)}onAdded(t){this.lists.addGroup(t)}onRemoved(t){this.lists.removeGroup(t)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-recipients"]],outputs:{closed:"closed"},features:[yt([bt,Rn])],decls:1,vars:19,consts:[["title","Recipients",3,"closed","opened","picked","added","removed","action","methods","groups","people","peopleError","peopleConfig","options","facets","actionIds","optionsEmptyMessage","errors","counts","total","overlap","footnote","addLabel","everyoneLabel","sendingToLabel","emptyTitle","emptyMessage"]],template:function(o,a){o&1&&(r(0,"ark-audience-picker",0),g("closed",function(){return a.closed.emit
1()})("opened",function(u){return a.onOpened(u)})("picked",function(u){return a.onPicked(u)})("added",function(u){return a.onAdded(u)})("removed",function(u){return a.onRemoved(u)})("action",function(u){return a.onAction(u)}),s()),o&2&&d("methods",a.methods)("groups",a.lists.groups())("people",a.lists.people())("peopleError",a.lists.peopleError())("peopleConfig",a.who.peopleConfig())("options",a.lists.options())("facets",a.who.facets())("actionIds",a.actionIds)("optionsEmptyMessage",a.segmentsEmpty)("errors",a.lists.errors())("counts",a.lists.counts())("total",a.lists.total())("overlap",a.lists.overlap())("footnote",a.footnote)("addLabel",a.addLabel)("everyoneLabel",a.everyoneLabel)("sendingToLabel",a.sendingToLabel)("emptyTitle",a.empty.title)("emptyMessage",a.empty.message)},dependencies:[Zi],encapsulation:2,changeDetection:0});let e=n;return e})();var Bn="Not set";function es(e){return e?.displayName?.trim()||Bn}function ts(e){let n=e?.postalAddress;return n&&[...n.lines??[],n.locality,n.postalCode].map(o=>(o??"").trim()).filter(Boolean).join(", ")||Bn}function Km(e,n){if(e&1){let i=x();r(0,"app-campaign-recipients",2),g("closed",function(){h(i);let o=c();return f(o.closeFocus())}),s()}}function qm(e,n){if(e&1){let i=x();r(0,"app-campaign-blockers",21),g("fix",function(o){h(i);let a=c(2);return f(a.onFixFinding(o))}),s()}if(e&2){let i=c(2);d("findings",i.facade.blockingFindings())}}function Ym(e,n){if(e&1){let i=x();r(0,"div",3)(1,"h2",4),_(2,"Campaign"),s(),r(3,"ark-settings-group",5)(4,"label",6)(5,"input",7),g("input",function(o){h(i);let a=c();return f(a.onSubjectInput(o))}),s()()(),r(6,"ark-settings-group",8)(7,"label",6)(8,"input",9),g("input",function(o){h(i);let a=c();return f(a.onPreheaderInput(o))}),s()()(),r(9,"ark-settings-group",10)(10,"ark-settings-row",11),g("open",function(){h(i);let o=c();return f(o.openRecipients())}),s(),r(11,"ark-settings-row",12),g("open",function(){h(i);let o=c();return f(o.openSender())}),s()(),r(12,"ark-settings-group",13)(13,"ark-settings-row",14),g("open",function(){h(i);let o=c();return f(o.openSender())}),s()(),r(14,"ark-settings-group",15)(15,"ark-settings-row",16),g("open",function(){h(i);let o=c();return f(o.openSend())}),s()()(),r(16,"div",17),y(17,"app-campaign-test-send",18),k(18,qm,1,1,"app-campaign-blockers",19),r(19,"ark-loading-button",20),g("clicked",function(){h(i);let o=c();return f(o.openSend())}),_(20),s()()}if(e&2){let i=c();l(5),d("value",i.facade.subject()),l(3),d("value",i.facade.preheader()),l(2),d("value",i.recipientSummary()),l(),d("value",i.senderSummary()),l(2),d("value",i.addressSummary()),l(4),d("orgId",i.facade.orgId()??null)("campaignId",i.facade.campaignId()),l(),v(i.sendAction().kind==="blocked"?18:-1),l(),d("disabled",!i.sendAction().canOpenSend),l(),re(" ",i.sendAction().label," ")}}var ns=(()=>{let n=class n{constructor(){this.facade=C(ve),this.router=C(Tt),this.campaignsApi=C(Re),this.sender=A(ke(this.facade.orgId).pipe(ie(t=>t?this.campaignsApi.sender$(t).pipe(be(()=>G(null))):G(null))),{initialValue:null}),this.senderSummary=p(()=>es(this.sender())),this.addressSummary=p(()=>ts(this.sender())),this.focus=b(""),this.recipientSummary=p(()=>{let t=this.facade.audienceGroups();return t===null?"Loading\u2026":t.length?t.length===1?"1 group":`${t.length} groups`:"Nobody yet"}),this.sendAction=p(()=>Nr(this.facade.campaignId(),this.facade.blockingFindings()))}openRecipients(){this.focus.set("recipients")}closeFocus(){this.focus.set("")}onSubjectInput(t){this.facade.renameSubject(t.target.value)}onPreheaderInput(t){this.facade.renamePreheader(t.target.value)}openSender(){this.router.navigate([an.campaigns.sender()])}openSend(){let t=this.sendAction(),o=this.facade.campaignId();!t.canOpenSend||!o||this.router.navigate([an.campaigns.send(o)])}onFixFinding(t){this.facade.selectSection(t)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-email-settings"]],decls:3,vars:1,consts:[[1,"campaign-email"],[1,"campaign-email__focus"],[1,"campaign-email__focus",3,"closed"],[1,"campaign-email__scroll"],[1,"campaign-email__title"],["label","Subject line","hint","The first thing anyone sees. It decides whether the rest is read."],[1,"campaign-email__field"],["type","text","data-testid","campaign-composer-subject","maxlength","150","placeholder","What will they see in their inbox?","aria-label","Email subject",1,"campaign-email__input",3,"input","value"],["label","Email preview","hint","The line after the subject. Left blank, clients show the first words of the email."],["type","text","data-testid","campaign-composer-preheader","maxlength","200","placeholder","Add supporting details\u2026","aria-label","Inbox preview line",1,"campaign-email__input",3,"input","value"],["label","To & from"],["label","Recipients","data-testid","campaign-open-recipients",3,"open","value"],["label","Sender details",3,"open","value"],["label","Footer","hint","Every campaign must carry a real postal address. The send is refused without one."],["label","Legal address",3,"open","value"],["label","Schedule"],["label","When","value","Choose on the send screen",3,"open"],[1,"campaign-email__actions"],[3,"orgId","campaignId"],[1,"campaign-email__blockers",3,"findings"],["data-testid","campaign-composer-open-send","buttonClasse
1s","campaign-email__send-button",1,"campaign-email__send",3,"clicked","disabled"],[1,"campaign-email__blockers",3,"fix","findings"]],template:function(o,a){o&1&&(r(0,"div",0),k(1,Km,1,0,"app-campaign-recipients",1)(2,Ym,21,10),s()),o&2&&(l(),v(a.focus()==="recipients"?1:2))},dependencies:[st,H,X,Lt,Jr,go],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-email[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0}.campaign-email__scroll[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:1rem}.campaign-email__actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;flex:0 0 auto;padding:.75rem 1rem;border-top:1px solid #e5e7eb;background:#fff}.campaign-email__send[_ngcontent-%COMP%]{display:block;width:100%}[_nghost-%COMP%] .campaign-email__send-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.625rem 1rem;border-radius:.375rem;background:#111827;color:#fff;font:inherit;font-weight:600}[_nghost-%COMP%] .campaign-email__send-button:disabled{background:#d1d5db;color:#6b7280;cursor:not-allowed}[_nghost-%COMP%] .campaign-email__send-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.campaign-email__blockers[_ngcontent-%COMP%]{margin:0 -.25rem;padding:.25rem;border-radius:.375rem;background:#fffbeb}.campaign-email__title[_ngcontent-%COMP%]{margin:0;padding:.875rem 1rem .25rem;font-size:.9375rem;font-weight:600;text-align:center;color:#111827}.campaign-email__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding:.25rem 1rem .5rem}.campaign-email__label[_ngcontent-%COMP%]{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}.campaign-email__input[_ngcontent-%COMP%]{width:100%;min-width:0;padding:.5rem .625rem;border:1px solid #d5d9df;border-radius:.375rem;background:#fff;font:inherit;font-size:.875rem;color:#111827}.campaign-email__input[_ngcontent-%COMP%]:focus{outline:2px solid #2563eb;outline-offset:-1px;border-color:#2563eb}.campaign-email__lists[_ngcontent-%COMP%]{border:0;margin:0;padding:.5rem .75rem .75rem;display:flex;flex-direction:column;gap:.6rem}.campaign-email__lists-label[_ngcontent-%COMP%]{padding:0;font-size:.8125rem;font-weight:600;color:#374151}.campaign-email__list[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.campaign-email__list[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-top:.15rem;accent-color:#2f9e56;width:15px;height:15px;flex:none}.campaign-email__list-label[_ngcontent-%COMP%]{display:block;font-size:.875rem;color:#111827}.campaign-email__list-hint[_ngcontent-%COMP%]{display:block;font-size:.75rem;line-height:1.4;color:#6b7280}.campaign-email__lists-note[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:#6b7280}.campaign-email__focus[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-block-size:0;flex:1 1 auto}'],changeDetection:0});let e=n;return e})();var Qm=/\s$/;function Zm(e){return!e||!e.isCollapsed?"":(e.anchorNode?.textContent??"").slice(0,Math.max(0,e.anchorOffset))}function is(e,n){return{key:e.key,modified:e.ctrlKey||e.metaKey||e.altKey,richText:Jm(e.target),textBefore:Zm(n)}}function Jm(e){return e?.isContentEditable===!0}function os(e){return e.key!=="/"||e.modified||!e.richText?!1:!e.textBefore||Qm.test(e.textBefore)}function ed(e,n){if(e&1){let i=x();r(0,"app-campaign-section-settings",4),g("settingsChange",function(o){h(i);let a=c();return f(a.onSettingsChange(o))})("closed",function(){h(i);let o=c();return f(o.onClosed())}),s()}if(e&2){let i=c();d("section",i.section())}}function td(e,n){e&1&&y(0,"app-campaign-email-settings")}var as=(()=>{let n=class n{constructor(){this.facade=C(ve),this.tab=oi({source:()=>this.facade.selectedSection()?.id??null,computation:(t,o)=>t?"style":o?.value??"style"}),this.tabs=[{value:"style",label:"Style"},{value:"email",label:"Email"}],this.picker=C(ft),this.section=this.facade.selectedSection}onTab(t){this.tab.set(t)}onKeydown(t){let o=is(t,window.getSelection());os(o)&&(t.preventDefault(),this.insertFromSlashMenu())}async insertFromSlashMenu(){let t=await this.picker.choose({hasOffer:!this.facade.canAddOffer()});t&&this.facade.addSection(t)}onSettingsChange(t){this.facade.applySettings(t)}onClosed(){this.facade.clearSelection()}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-settings-drawer"]],decls:5,vars:3,consts:[[1,"campaign-drawer",3,"keydown"],["ariaLabel","What to change","size","touch",1,"campaign-drawer__tabs",3,"valueChange","options","value"],[1,"campaign-drawer__body"],[3,"section"],[3,"settingsChange","closed","section"]],template:function(o,a){o&1&&(r(0,"div",0),g("keydown",function(u){return a.onKeydown(u)}),r(1,"ark-segmented-control",1),g("valueChange",function(u){return a.onTab(u)}),s(),r(2,"div",2),k(3,ed,1,1,"app-campaign-section-settings",3)(4,td,1,0,"app-campaign-email-sett
1ings"),s()()),o&2&&(l(),d("options",a.tabs)("value",a.tab()),l(2),v(a.tab()==="style"?3:4))},dependencies:[Be,ns,Ir],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;height:100%;min-height:0}.campaign-drawer[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0}.campaign-drawer__body[_ngcontent-%COMP%] > app-campaign-section-settings[_ngcontent-%COMP%], .campaign-drawer__body[_ngcontent-%COMP%] > app-campaign-email-settings[_ngcontent-%COMP%]{display:block;flex:1 1 auto;min-height:0}.campaign-drawer__tabs[_ngcontent-%COMP%]{flex:0 0 auto;padding:.5rem .75rem 0}.campaign-drawer__body[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}']});let e=n;return e})();var nd=(e,n)=>n.id;function id(e,n){if(e&1){let i=x();r(0,"div",2)(1,"mat-icon"),_(2,"error_outline"),s(),r(3,"p"),_(4),s(),r(5,"div",5)(6,"button",6),g("click",function(){h(i);let o=c();return f(o.facade.retryLoad())}),r(7,"mat-icon"),_(8,"refresh"),s(),_(9," Try again "),s(),r(10,"button",7),g("click",function(){h(i);let o=c();return f(o.goBack())}),r(11,"mat-icon"),_(12,"arrow_back"),s(),_(13," Campaigns "),s()()()}e&2&&(l(4),N(n))}function od(e,n){if(e&1){let i=x();r(0,"div",3)(1,"mat-icon"),_(2,"groups"),s(),r(3,"p"),_(4),s(),r(5,"div",5)(6,"button",8),g("click",function(){h(i);let o=c();return f(o.createCommunity())}),r(7,"mat-icon"),_(8,"add"),s(),_(9),s(),r(10,"button",7),g("click",function(){h(i);let o=c();return f(o.goBack())}),r(11,"mat-icon"),_(12,"arrow_back"),s(),_(13," Campaigns "),s()()()}if(e&2){let i=c();l(4),N(i.noOrg.message),l(5),re(" ",i.noOrg.action," ")}}function ad(e,n){if(e&1){let i=x();r(0,"div",3)(1,"mat-icon"),_(2,"unsubscribe"),s(),r(3,"p"),_(4,"We could not find that campaign. It may have been deleted."),s(),r(5,"button",7),g("click",function(){h(i);let o=c();return f(o.goBack())}),r(6,"mat-icon"),_(7,"arrow_back"),s(),_(8," Campaigns "),s()()}}function rd(e,n){if(e&1){let i=x();r(0,"button",26),g("click",function(){let o=h(i).$implicit,a=c(2);return f(a.previewWidth.set(o.width))}),r(1,"mat-icon"),_(2),s()()}if(e&2){let i=n.$implicit,t=c(2);W("campaign-composer__preset--active",t.activePresetId()===i.id),d("matTooltip",i.label),Q("aria-label",i.label)("aria-pressed",t.activePresetId()===i.id),l(2),N(i.icon)}}function sd(e,n){e&1&&(r(0,"span",27),_(1," Too big \u2014 Gmail will clip this email "),s())}function ld(e,n){e&1&&(r(0,"span",28),_(1," Close to the size Gmail clips at "),s())}function md(e,n){if(e&1&&k(0,sd,2,0,"span",27)(1,ld,2,0,"span",28),e&2){let i=n;v(i.clipped?0:i.warn?1:-1)}}function dd(e,n){if(e&1){let i=x();r(0,"button",29),_(1),r(2,"mat-icon",30),_(3," expand_more "),s()(),r(4,"mat-menu",null,1)(6,"app-campaign-blockers",31),g("fix",function(o){h(i);let a=c(2);return f(a.onFixFinding(o))}),s()()}if(e&2){let i=et(5),t=c(2);d("matMenuTriggerFor",i),l(),re(" ",n," to fix before sending "),l(5),d("findings",t.facade.blockingFindings())}}function cd(e,n){if(e&1&&(r(0,"span",32),_(1),s()),e&2){let i=c(2);W("campaign-composer__save--failed",i.facade.saveState()==="failed"),l(),re(" ",i.saveLabel()," ")}}function pd(e,n){if(e&1){let i=x();r(0,"ark-device-preview",35),te("widthChange",function(o){h(i);let a=c(3);return ee(a.previewWidth,o)||(a.previewWidth=o),f(o)}),r(1,"app-campaign-preview-frame",36),g("canvasAction",function(o){h(i);let a=c(3);return f(a.onCanvasAction(o))}),s()()}if(e&2){let i,t=c(3);J("width",t.previewWidth),d("showToolbar",!1)("showBreakpoint",!1),l(),d("html",t.canvasHtml())("editable",!0)("selectedId",((i=t.facade.selectedSection())==null?null:i.id)??"")}}function gd(e,n){if(e&1){let i=x();r(0,"div",34)(1,"mat-icon"),_(2,"drafts"),s(),r(3,"p"),_(4,"This email is empty."),s(),r(5,"p",37),_(6," Add a block to start writing \u2014 text, a picture, or a button for people to act on. "),s(),r(7,"button",38),g("click",function(){h(i);let o=c(3);return f(o.onAddSection())}),r(8,"mat-icon"),_(9,"add"),s(),_(10," Add the first block "),s()()}if(e&2){let i=c(3);l(7),d("disabled",!i.facade.hasRoomForSection())}}function ud(e,n){e&1&&k(0,pd,2,6,"ark-device-preview",33)(1,gd,11,1,"div",34),e&2&&v(n.length?0:1)}function _d(e,n){e&1&&(r(0,"div",25)(1,"div",39),y(2,"ark-text-skeleton",40)(3,"ark-text-skeleton",41)(4,"ark-text-skeleton",42)(5,"ark-text-skeleton",43)(6,"ark-text-skeleton",44),s()())}function hd(e,n){e&1&&y(0,"app-campaign-settings-drawer")}function fd(e,n){if(e&1){let i=x();r(0,"app-dashboard-layout",4)(1,"div",9)(2,"div",10)(3,"div",11)(4,"button",12),g("click",function(){h(i);let o=c();return f(o.goBack())}),r(5,"mat-icon"),_(6,"arrow_back"),s(),_(7," Campaigns "),s()(),r(8,"label",13)(9,"span",14),_(10,"
1Name"),s(),r(11,"input",15),g("input",function(o){h(i);let a=c();return f(a.onNameInput(o))}),s()(),r(12,"div",11)(13,"button",16),g("click",function(){h(i);let o=c();return f(o.onAddSection())}),r(14,"mat-icon"),_(15,"add"),s(),_(16," Add "),s(),r(17,"button",17),g("click",function(){h(i);let o=c();return f(o.onToggleDrawer())}),r(18,"mat-icon"),_(19,"tune"),s()()(),r(20,"div",11)(21,"button",18),g("click",function(){h(i);let o=c();return f(o.facade.undo())}),r(22,"mat-icon"),_(23,"undo"),s()(),r(24,"button",19),g("click",function(){h(i);let o=c();return f(o.facade.redo())}),r(25,"mat-icon"),_(26,"redo"),s()(),r(27,"button",20),g("click",function(){h(i);let o=c();return f(o.saveAsTemplate())}),r(28,"mat-icon"),_(29,"bookmark_add"),s()()(),r(30,"div",21),ce(31,rd,3,6,"button",22,nd),s(),r(33,"div",23),k(34,md,2,1),k(35,dd,7,3),k(36,cd,2,3,"span",24),s()(),k(37,ud,2,1)(38,_d,7,0,"div",25),s(),Qe(39,hd,1,0,"ng-template",null,0,Mt),s()}if(e&2){let i,t,o,a=et(40),m=c();d("title","Campaign")("showBreadCrumbs",!1)("showHeader",!1)("showBannerImg",!1)("hideSideNav",!0)("dynamicRightSideNav",a)("rightSideNavMode",m.drawerMode())("rightSideNavHasBackdrop",!1)("fullWidth",!0),l(11),d("value",m.facade.name()),l(2),d("matTooltip",m.addSectionTooltip()),l(8),d("disabled",!m.facade.canUndo()),l(3),d("disabled",!m.facade.canRedo()),l(7),pe(m.previewPresets),l(3),v((i=m.facade.size())?34:-1,i),l(),v((t=m.facade.blockingCount())?35:-1,t),l(),v(m.saveLabel()?36:-1),l(),v((o=m.facade.sections())?37:38,o)}}var fC=(()=>{let n=class n{constructor(){this.router=C(Tt),this.noOrg=$i,this.createCommunity=Ki(this.router),this.facade=C(ve),this.templateSave=C(kn),this.addSectionTooltip=p(()=>Uo(this.facade.hasRoomForSection())),this.saveAsTemplate=()=>this.templateSave.save(this.facade.orgId(),this.facade.campaign()),this.picker=C(ft),this.imageEdit=C(dt),this.layout=tt(It),this.settledContent=A(ke(this.facade.content).pipe(vt(Go)),{initialValue:null}),this.frozenCanvas=b(null),this.canvasHtml=p(()=>this.frozenCanvas()??na(this.settledContent()??this.facade.content(),this.facade.campaign())),this.freezeCanvas=Bo(this.frozenCanvas,()=>this.canvasHtml()),this.windowWidth=b(window.innerWidth),this.drawerMode=p(()=>jo(this.windowWidth())),this.previewPresets=Eo,this.previewWidth=b(Io),this.activePresetId=p(()=>this.previewPresets.find(t=>t.width===this.previewWidth())?.id??null),this.saveLabel=p(()=>Fo[this.facade.saveState()]),Pt(()=>{this.drawerMode()==="push"&&this.layout()?.rightDrawer()?.open()})}onWindowResize(){this.windowWidth.set(window.innerWidth)}onToggleDrawer(){this.layout()?.rightDrawer()?.toggle()}async onAddSection(t){let o=await this.picker.choose({hasOffer:!this.facade.canAddOffer()});o&&this.facade.addSection(o,wo(t))}goBack(){this.router.navigate([fi.Campaigns])}onNameInput(t){this.facade.renameCampaign(t.target.value)}onCanvasAction(t){Ho(t,Xo(this.facade,this.imageEdit,o=>{this.onAddSection(o)},o=>this.freezeCanvas(o)))?.(),Wo(t,this.layout()?.rightDrawer()??null)}onFixFinding(t){this.facade.selectSection(t),bn(this.layout()?.rightDrawer()??null)}};n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=S({type:n,selectors:[["app-campaign-composer"]],viewQuery:function(o,a){o&1&&Ze(a.layout,It,5),o&2&&Je()},hostBindings:function(o,a){o&1&&g("resize",function(){return a.onWindowResize()},$n)},features:[yt([ve,kn,ft,{provide:Ue,useFactory:t=>({uploadPath:t.mediaUploadPath,userId:t.userId}),deps:[ve]},{provide:le,useFactory:t=>p(()=>xo(t.sections())),deps:[ve]}])],decls:4,vars:1,consts:[["settingsPane",""],["blockerMenu","matMenu"],[1,"campaign-composer__notice","campaign-composer__notice--error"],[1,"campaign-composer__notice"],[3,"title","showBreadCrumbs","showHeader","showBannerImg","hideSideNav","dynamicRightSideNav","rightSideNavMode","rightSideNavHasBackdrop","fullWidth"],[1,"campaign-composer__notice-actions"],["mat-flat-button","","color","primary","type","button","data-testid","campaign-composer-retry",3,"click"],["mat-stroked-button","","type","button",3,"click"],["mat-flat-button","","color","primary","type","button","data-testid","campaign-composer-create-org",3,"click"],[1,"campaign-composer__canvas"],[1,"campaign-composer__toolbar"],[1,"campaign-composer__toolbar-group"],["mat-button","","type","button","matTooltip","Back to campaigns",3,"click"],[1,"campaign-composer__subject"],[1,"campaign-composer__subject-label"],["type","text","data-testid","campaign-composer-name","maxlength","120","placeholder","Name this campaign","aria-label","Campaign name",1,"campaign-composer__subject-input",3,"input","value"],["mat-button","","type","button","data-testid","campaign-composer-add-section",3,"click","matTooltip"],["mat-icon-button","","type","button","matTooltip","Show or hide the settings panel","aria-label","Show or hide the settings panel",3,"click"],["mat-icon-button","","type","button","matTooltip","Undo","aria-label","Undo",3,"click","disabled"],["mat-icon-button","","type","button","matTooltip","Redo","aria-label","Redo",3,"click","disabled"],["mat-icon-button","","type","button","matTooltip","Save as a template","aria-label","Save as a template","data-testid","campaign-composer-save-template",3,"click"],["role","group","aria-label","Preview width",1,"campaign-composer__toolbar-group"],["mat-icon-button","","type","button",3,"matTooltip","campaign-composer__preset--active"],[1,"campaign-composer__toolbar-status"],["data-testid","campaign-composer-save-state",1,"campaign-composer__save",3,"campaign-composer__save--failed"],["data-testid","campaign-composer-loading",1,"campaign-composer__loading"],["mat-icon-button","","type","button",3,"click","matTooltip"],[1,"campaign-composer__size","campaign-composer__size--over"],[1,"campaign-composer__size","campaign-composer__size--warn"],["type","button","data-testid","campaign-composer-blockers",1,"campaign-composer__blocking",3,"matMenuTriggerFor"],[1,"campaign-composer__blocking-caret"],[3,"fix","findings"],["data-testid","campaign-composer-save-state",1,"campaign-composer__save"],[1,"campaign-composer__preview",3,"width","showToolbar","showBreakpoint"],["data-testid","campaign-composer-empty",1,"campaign-composer__blank"],[1,"campaign-composer__preview",3,"widthChange","width","showToolbar","showBreakpoint"],[3,"canvasAction","html","editable","selectedId"],[1,"campaign-composer__blank-hint"],["mat-flat-button","","color","primary","type","button",3,"click","disabled"],["aria-label","Loading your campaign","role","status",1,"campaign-composer__loading-sheet"],["width","45%","height","1.75rem"],["width","100%","height","9rem"],["width","90%","height","0.9rem"],["width","70%","height","0.9rem"],["width","8rem","height","2.5rem"]],template:function(o,a){if(o&1&&k(0,id,14,1,"div",2)(1,od,14,2,"div",3)(2,ad,9,0,"div",3)(3,fd,41,17,"app-dashboard-layout",4),o&2){let m;v((m=a.facade.loadError())?0:a.facade.needsOrg()?1:a.facade.isMissing()?2:3,m)}},dependencies:[so,aa,It,it,nt,mi,Te,Me,ki,xi,bi,Si,vi,_o,Lt,as],styles:['@charset "UTF-8";.campaign-composer__canvas[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100vh - var(--nav-visible-height, 64px));height:calc(100dvh - var(--nav-visible-height, 64px));min-height:0;background:#f3f4f6}.campaign-composer__toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #e5e7eb}.campaign-composer__toolbar-group[_ngcontent-%COMP%]{display:flex;align-items:center}.campaign-composer__subject[_ngcontent-%COMP%]{display:flex;flex:1 1 14rem;min-width:8rem;align-items:baseline;gap:.5rem}.campaign-composer__subject-label[_ngcontent-%COMP%]{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9098a3}.campaign-composer__subject-input[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;padding:.25rem .375rem;border:1px solid transparent;border-radius:.375rem;background:transparent;font-size:.9375rem;font-weight:600;color:#111827}.campaign-composer__subject-input[_ngcontent-%COMP%]:hover{border-color:#e5e7eb}.campaign-composer__subject-input[_ngcontent-%COMP%]:focus{border-color:#2563eb;outline:none}.campaign-composer__subject-input[_ngcontent-%COMP%]::placeholder{font-weight:400;color:#9ca3af}.campaign-composer__toolbar-status[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-left:auto;font-size:.8125rem}.campaign-composer__preset--active[_ngcontent-%COMP%]{color:#1d4ed8;background:#eff6ff}.campaign-composer__size--warn[_ngcontent-%COMP%]{color:#b45309}.campaign-composer__size--over[_ngcontent-%COMP%]{color:#b91c1c;font-weight:600}.campaign-composer__blocking[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .375rem;border:0;border-radius:.25rem;background:transparent;color:#b45309;font:inherit;cursor:pointer}.campaign-composer__blocking[_ngcontent-%COMP%]:hover, .campaign-composer__blocking[_ngcontent-%COMP%]:focus-visible{background:#fef3c7}.campaign-composer__blocking-caret[_ngcontent-%COMP%]{width:1rem;height:1rem;font-size:1rem;line-height:1rem}
1.campaign-composer__save[_ngcontent-%COMP%]{color:#6b7280}.campaign-composer__save--failed[_ngcontent-%COMP%]{color:#b91c1c;font-weight:600}.campaign-composer__preview[_ngcontent-%COMP%]{flex:1;min-height:0;overflow:auto;padding:1rem}.campaign-composer__sections-title[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:700;color:#111827}.campaign-composer__sections-empty[_ngcontent-%COMP%]{margin:0;color:#6b7280;font-size:.875rem}.campaign-composer__add[_ngcontent-%COMP%]{width:100%}.campaign-composer__blank[_ngcontent-%COMP%]{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;padding:3rem 1.5rem;text-align:center;color:#6b7280}.campaign-composer__blank[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9375rem}.campaign-composer__blank[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:2rem;height:2rem;font-size:2rem;line-height:2rem;color:#b6bcc5}.campaign-composer__blank-hint[_ngcontent-%COMP%]{max-width:24rem;font-size:.875rem!important;color:#9098a3}.campaign-composer__notice[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 1.5rem;text-align:center;color:#6b7280}.campaign-composer__notice[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;max-width:28rem}.campaign-composer__notice-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.campaign-composer__notice--error[_ngcontent-%COMP%]{color:#b91c1c}.campaign-composer__notice--error[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#6b7280}.campaign-composer__loading[_ngcontent-%COMP%]{display:flex;flex:1 1 0;min-height:0;justify-content:safe center;overflow:auto;padding:1.5rem}.campaign-composer__loading-sheet[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-self:flex-start;gap:.875rem;width:100%;max-width:37.5rem;padding:1.5rem;border-radius:.5rem;background:#fff;box-shadow:0 1px 3px #0f172a1a}']});let e=n;return e})();export{fC as CampaignComposerComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.