PageSourceSearch

https://www.oscainc.org/_next/static/chunks/pages/admin/communications/membership-874d884e28d4ca8a.js

js oscainc.org collected 2026-10-04 13:26:36 UTC 34,551 bytes, 2 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[73536],{18034:function(e,i,n){"use strict";n.d(i,{OK:function(){return D},cb:function(){return S},gC:function(){return g},mQ:function(){return T},nP:function(){return A},td:function(){return I},x4:function(){return R},xD:function(){return useTab}});var l=n(67294),r=n(38655),a=n(28387),t=n(54520),o=n(18702),s=n(59430),d=n(44040),u=n(98053),c=n(34031),m=n(76734),b=n(82359),cx=(...e)=>e.filter(Boolean).join(" ");function callAllHandlers(...e){return function(i){e.some(e=>(null==e||e(i),null==i?void 0:i.defaultPrevented))}}var[p,h,v,f]=(0,s.n)(),[x,g]=(0,a.k)({name:"TabsContext",errorMessage:"useTabsContext: `context` is undefined. Seems you forgot to wrap all tabs components within <Tabs />"});function useTab(e){let{isDisabled:i,isFocusable:n,...l}=e,{setSelectedIndex:r,isManual:a,id:t,setFocusedIndex:s,selectedIndex:d}=g(),{index:u,register:c}=f({disabled:i&&!n}),b=u===d,p=(0,o.h)({...l,ref:(0,m.lq)(c,e.ref),isDisabled:i,isFocusable:n,onClick:callAllHandlers(e.onClick,()=>{r(u)})});return{...p,id:makeTabId(t,u),role:"tab",tabIndex:b?0:-1,type:"button","aria-selected":b,"aria-controls":makeTabPanelId(t,u),onFocus:i?void 0:callAllHandlers(e.onFocus,()=>{s(u);let e=i&&n;a||e||r(u)})}}var[y,j]=(0,a.k)({});function makeTabId(e,i){return`${e}--tab-${i}`}function makeTabPanelId(e,i){return`${e}--tabpanel-${i}`}var[E,C]=(0,a.k)({name:"TabsStylesContext",errorMessage:"useTabsStyles returned is 'undefined'. Seems you forgot to wrap the components in \"<Tabs />\" "}),T=(0,r.Gp)(function(e,i){let n=(0,r.jC)("Tabs",e),{children:a,className:o,...s}=(0,t.Lr)(e),{htmlProps:d,descendants:c,...m}=function(e){let{defaultIndex:i,onChange:n,index:r,isManual:a,isLazy:t,lazyBehavior:o="unmount",orientation:s="horizontal",direction:d="ltr",...c}=e,[m,b]=(0,l.useState)(i??0),[p,h]=(0,u.T)({defaultValue:i??0,value:r,onChange:n});(0,l.useEffect)(()=>{null!=r&&b(r)},[r]);let f=v(),x=(0,l.useId)(),g=e.id??x,y=`tabs-${g}`;return{id:y,selectedIndex:p,focusedIndex:m,setSelectedIndex:h,setFocusedIndex:b,isManual:a,isLazy:t,lazyBehavior:o,orientation:s,descendants:f,direction:d,htmlProps:c}}(s),b=(0,l.useMemo)(()=>m,[m]),{isFitted:h,...f}=d;return l.createElement(p,{value:c},l.createElement(x,{value:b},l.createElement(E,{value:n},l.createElement(r.m$.div,{className:cx("chakra-tabs",o),ref:i,...f,__css:n.root},a))))});T.displayName="Tabs";var S=(0,r.Gp)(function(e,i){let n=function(){let e=g(),i=h(),{selectedIndex:n,orientation:r}=e,a="horizontal"===r,t="vertical"===r,[o,s]=(0,l.useState)(()=>a?{left:0,width:0}:t?{top:0,height:0}:void 0),[u,c]=(0,l.useState)(!1);return(0,d.G)(()=>{if(null==n)return;let e=i.item(n);if(null==e)return;a&&s({left:e.node.offsetLeft,width:e.node.offsetWidth}),t&&s({top:e.node.offsetTop,height:e.node.offsetHeight});let l=requestAnimationFrame(()=>{c(!0)});return()=>{l&&cancelAnimationFrame(l)}},[n,a,t,i]),{position:"absolute",transitionProperty:"left, right, top, bottom, height, width",transitionDuration:u?"200ms":"0ms",transitionTimingFunction:"cubic-bezier(0, 0, 0.2, 1)",...o}}(),a={...e.style,...n},t=C();return l.createElement(r.m$.div,{ref:i,...e,className:cx("chakra-tabs__tab-indicator",e.className),style:a,__css:t.indicator})});S.displayName="TabIndicator";var I=(0,r.Gp)(function(e,i){let n=function(e){let{focusedIndex:i,orientation:n,direction:r}=g(),a=h(),t=(0,l.useCallback)(e=>{let nextTab=()=>{var e;let n=a.nextEnabled(i);n&&(null==(e=n.node)||e.focus())},prevTab=()=>{var e;let n=a.prevEnabled(i);n&&(null==(e=n.node)||e.focus())},l="horizontal"===n,t="vertical"===n,o=e.key,s="ltr"===r?"ArrowLeft":"ArrowRight",d="ltr"===r?"ArrowRight":"ArrowLeft",u={[s]:()=>l&&prevTab(),[d]:()=>l&&nextTab(),ArrowDown:()=>t&&nextTab(),ArrowUp:()=>t&&prevTab(),Home:()=>{var e;let i=a.firstEnabled();i&&(null==(e=i.node)||e.focus())},End:()=>{var e;let i=a.lastEnabled();i&&(null==(e=i.node)||e.focus())}}[o];u&&(e.preventDefault(),u(e))},[a,i,n,r]);return{...e,role:"tablist","aria-orientation":n,onKeyDown:callAllHandlers(e.onKeyDown,t)}}({...e,ref:i}),a=C(),t={display:"flex",...a.tablist};return l.createElement(r.m$.div,{...n,className:cx("chakra-tabs__tablist",e.className),__css:t})});I.displayName="TabList";var R=(0,r.Gp)(function(e,i){let n=function(e){let{children:i,...n}=e,{isLazy:r,lazyBehavior:a}=g(),{isSelected:t,id:o,tabId:s}=j(),d=(0,l.useRef)(!1);t&&(d.current=!0);let u=(0,b.k)({wasSelected:d.current,isSelected:t,enabled:r,mode:a});return{tabIndex:0,...n,children:u?i:null,role:"tabpanel","aria-labelledby":s,hidden:!t,id:o}}({...e,ref:i}),a=C();return l.createElement(r.m$.div,{outline:"0",...n,className:cx("chakra-tabs__tab-panel",e.className),__css:a.tabpanel})});R.displayName="TabPanel";var A=(0,r.Gp)(function(e,i){let n=function(e){let i=g(),{id:n,selectedIndex:r}
1=i,a=(0,c.W)(e.children),t=a.map((e,i)=>(0,l.createElement)(y,{key:i,value:{isSelected:i===r,id:makeTabPanelId(n,i),tabId:makeTabId(n,i),selectedIndex:r}},e));return{...e,children:t}}(e),a=C();return l.createElement(r.m$.div,{...n,width:"100%",ref:i,className:cx("chakra-tabs__tab-panels",e.className),__css:a.tabpanels})});A.displayName="TabPanels";var D=(0,r.Gp)(function(e,i){let n=C(),a=useTab({...e,ref:i}),t={outline:"0",display:"flex",alignItems:"center",justifyContent:"center",...n.tab};return l.createElement(r.m$.button,{...a,className:cx("chakra-tabs__tab",e.className),__css:t})});D.displayName="Tab"},64059:function(e,i,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/communications/membership",function(){return n(98429)}])},39174:function(e,i,n){"use strict";n.d(i,{A:function(){return NoMatchPage}});var l=n(85893),r=n(48641),a=n(23887),t=n(47741),o=n(11163);n(67294);let NoMatchPage=()=>{let e=(0,o.useRouter)();return(0,l.jsxs)(r.gC,{p:"12",spacing:"4",textAlign:"center",children:[(0,l.jsx)(a.Ee,{src:"https://tradewing-public.s3.us-east-2.amazonaws.com/tradewing-logo.png",alt:"Tradewing",width:"50px",height:"50px"}),(0,l.jsx)(r.xv,{textStyle:"xlBodyStrong",children:"Page Not Found"}),(0,l.jsx)(r.xv,{children:"Please check that you have the correct URL and try again. If you need help finding and accessing your community, please contact [email protected]."}),(0,l.jsx)(t.zx,{onClick:()=>e.push("/"),children:"Return to Site"})]})}},66177:function(e,i,n){"use strict";function buildEventEmailTemplateInput(e,i){var n,l,r,a,t;return{emailTemplateType:e.emailTemplateType,fromName:e.fromName||null,replyToEmail:e.replyTo||null,fromEmail:e.fromEmail||null,subject:null!==(n=e.subject)&&void 0!==n?n:"",header:null!==(l=e.header)&&void 0!==l?l:null,body:null!==(r=e.body)&&void 0!==r?r:"",dayFrequency:null!==(a=e.daysBefore)&&void 0!==a?a:null,primaryColor:e.primaryColor||null,sendMailToAdmin:null!==(t=e.sendMailToAdmin)&&void 0!==t&&t,isPublished:null!=i?i:null}}function buildTestEmailTemplateInput(e){let{isPublished:i,...n}=buildEventEmailTemplateInput(e,void 0);return n}n.d(i,{_:function(){return buildTestEmailTemplateInput},i:function(){return buildEventEmailTemplateInput}})},50240:function(e,i,n){"use strict";n.d(i,{d:function(){return useSendDefaultEmailTest}});var l=n(50319),r=n(67294),a=n(11515),t=n(47503),o=n(49517),s=n(66177),d=n(66029);function useSendDefaultEmailTest(e){let[i]=(0,l.D)(a.s),n=r.useCallback(async(e,n)=>{let l=(0,d._)(e);try{await i({variables:{input:{category:t.bW.MEMBERSHIP,emailType:e.emailTemplateType,isCorporate:"CORPORATE"===n,variant:n,emailTemplate:l}}})}catch(e){throw(0,o.H)(e),e}},[i]),u=r.useCallback(async e=>{let n=(0,s._)(e);try{await i({variables:{input:{category:t.bW.EVENT,emailType:e.emailTemplateType,emailTemplate:n}}})}catch(e){throw(0,o.H)(e),e}},[i]);return e===t.bW.MEMBERSHIP?{sendTest:n}:{sendTest:u}}},27610:function(e,i,n){"use strict";n.d(i,{G:function(){return a}});var l=n(82729),r=n(50456);function _templateObject(){let e=(0,l._)(["\n  mutation UsePublishMembershipCommunication_CreateOrUpdateDefaultEmailTemplates(\n    $input: CreateOrUpdateDefaultEmailTemplatesInput!\n  ) {\n    createOrUpdateDefaultEmailTemplates(input: $input) {\n      error\n      message\n      success\n    }\n  }\n"]);return _templateObject=function(){return e},e}let a=(0,r.Ps)(_templateObject())},67104:function(e,i,n){"use strict";n.d(i,{O:function(){return r},X:function(){return l}});let l=["FREE","INDIVIDUAL","CORPORATE"],r={FREE:"Free",INDIVIDUAL:"Individual",CORPORATE:"Corporate"}},66029:function(e,i,n){"use strict";n.d(i,{W:function(){return buildEmailTemplateInput},_:function(){return buildTestEmailTemplateInput}});var l=n(67104);function buildEmailTemplateInput(e,i){var n;let{subject:r,header:a,body:t}=function(e){let i=e.membershipVariants.INDIVIDUAL;return{subject:i.subject||"",header:i.header||null,body:i.body||""}}(e);return{emailTemplateType:e.emailTemplateType,fromName:e.fromName||null,replyToEmail:e.replyTo||null,fromEmail:e.fromEmail||null,subject:r,header:a,body:t,dayFrequency:null!==(n=e.daysBefore)&&void 0!==n?n:null,primaryColor:e.primaryColor||null,sendMailToAdmin:!1,isPublished:null!=i?i:null,membershipVariants:l.X.reduce((i,n)=>(i[n]=function(e,i){let n=e.membershipVariants[i];return{subject:n.subject||"",header:n.header||"",body:n.body||""}}(e,n),i),{})}}function buildTestEmailTemplateInput(e){let{isPublished:i,...n}=buildEmailTemplateInput(e,void 0);return n}},98429:function(e,i,n){"use strict";n.r(i),n.d(i,{default:function(){return J}});var l=n(85893),r=n(67294),a=n(85200),t=n(47472),o=n(47503),s=n(45893),d=n(96317),u=n(69171),c=n(48076),m=n(50240),b=n(80419),p=n(48641),h=n(87536),v=n(83030),f=n(83234),x=n(20979),g=n(82415),y=n(24198),j=n(60009),E=n(52670),C=n(6491),T=n(18034),S=n(38489),I=n(67104);function getVisibleMembershipVariants(e){return j.To.has(e)?I.X.filter(e=>"FREE"!==e):I.X}var R=n(12529);let A=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,D=/^(?:<p>(?:\s|&nbsp;|<br\s*\/?>)*<\/p>)+$/i,P={fromName:"From name",replyTo:"Reply-to",fromEmail:"From email"},_={subject:"Subject",header:"Header",body:"Message"},requiredEmail=e=>({validate:i=>"string"==typeof i&&i.trim()?!!A.test(i.trim())||"Please enter a valid email address":"".concat(e," is required")}),requiredBody=()=>({validate:e=>!function(e){let i=(null!=e?e:"").trim();return!i||D.test(i)}(e)||"Message is required"});function getConfigValidationFieldPaths(e,i){let n=["fromName","replyTo","fromEmail"].map(i=>"emailConfigs.".concat(e,".").concat(i)),l=i?getVisibleMembershipVariants(i):I.X,r=l.flatMap(i=>["subject","header","body"].map(n=>"emailConfigs.".concat(e,".membershipVariants.").concat(i,".").concat(n)));return[...n,...r]}async function validateMembershipEmailConfig(e,i,n,l){let r=await n(getConfigValidationFieldPaths(e,i),{shouldFocus:!0});return r?null:function(e,i,n){for(let n of["fromName","replyTo","fromEmail"]){let l="emailConfigs.".concat(e,".").concat(n),{error:r}=i(l);if(null==r?void 0:r.message)return{section:"sender",field:n,message:String(r.message)}}for(let l of n?getVisibleMembershipVariants(n):I.X)for(let n of["subject","header","body"]){let r="emailConfigs.".concat(e,".membershipVariants.").concat(l,".").concat(n),{error:a}=i(r);if(null==a?void 0:a.message)return{section:"variant",variant:l,field:n,message:String(a.message)}}return null}(e,l,i)}let MembershipVariantForm=e=>{var i,n,a,t,o,s;
1let{configIndex:d,variant:u,isDisabled:c=!1,availableVariables:m}=e,{register:b,control:v,formState:{errors:g},clearErrors:y}=(0,h.Gc)(),E="emailConfigs.".concat(d,".membershipVariants.").concat(u),C=null===(a=g.emailConfigs)||void 0===a?void 0:null===(n=a[d])||void 0===n?void 0:null===(i=n.membershipVariants)||void 0===i?void 0:i[u],T=r.useMemo(()=>m&&("FREE"===u||"INDIVIDUAL"===u)?m.filter(e=>e.key!==j.xl):m,[m,u]);return(0,l.jsxs)(p.Kq,{spacing:"4",children:[(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==C?void 0:C.subject),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"Subject"}),(0,l.jsx)(x.II,{placeholder:"Enter email subject…",isDisabled:c,...b("".concat(E,".subject"),{...(0,R.PZ)("Subject"),onChange:()=>y("".concat(E,".subject"))})}),(0,l.jsx)(f.J1,{children:null==C?void 0:null===(t=C.subject)||void 0===t?void 0:t.message})]}),(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==C?void 0:C.header),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"Header"}),(0,l.jsx)(x.II,{placeholder:"Enter header text…",isDisabled:c,...b("".concat(E,".header"),{...(0,R.PZ)("Header"),onChange:()=>y("".concat(E,".header"))})}),(0,l.jsx)(f.J1,{children:null==C?void 0:null===(o=C.header)||void 0===o?void 0:o.message})]}),(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==C?void 0:C.body),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"Message"}),(0,l.jsx)(p.xu,{h:{base:"240px",md:"300px"},children:(0,l.jsx)(h.Qr,{name:"".concat(E,".body"),control:v,rules:requiredBody(),render:e=>{let{field:i}=e;return(0,l.jsx)(S.x,{value:i.value,onChange:e=>{y("".concat(E,".body")),i.onChange(e)},onBlur:i.onBlur,isDisabled:c,placeholder:"Enter message…",variables:T})}})}),(0,l.jsx)(f.J1,{children:null==C?void 0:null===(s=C.body)||void 0===s?void 0:s.message})]})]})},N={FREE:{bg:"green.50",color:"green.700",selectedBg:"green.100"},INDIVIDUAL:{bg:"blue.50",color:"blue.700",selectedBg:"blue.100"},CORPORATE:{bg:"purple.50",color:"purple.700",selectedBg:"purple.100"}},MembershipVariantTabs=e=>{let{configIndex:i,activeVariant:n,visibleVariants:a=I.X,isDisabled:t=!1,availableVariables:o,onVariantChange:s}=e,d=Math.max(0,a.indexOf(n)),u=r.useCallback(e=>{null==s||s(a[e])},[s,a]);return(0,l.jsxs)(T.mQ,{variant:"unstyled",index:d,onChange:u,children:[(0,l.jsx)(T.td,{bg:"gray.50",borderRadius:"lg",p:"1",gap:"1",display:"inline-flex",mb:"5",children:a.map(e=>{let i=N[e];return(0,l.jsx)(T.OK,{borderRadius:"md",px:"4",py:"1.5",fontSize:"sm",fontWeight:"medium",color:"gray.600",_selected:{bg:i.selectedBg,color:i.color,fontWeight:"semibold"},_hover:{bg:i.bg},transition:"all 0.15s",children:(0,l.jsxs)(p.Ug,{spacing:"1.5",children:[(0,l.jsx)(VariantDot,{variant:e}),(0,l.jsx)(p.xv,{children:I.O[e]})]})},e)})}),(0,l.jsx)(T.nP,{children:a.map(e=>(0,l.jsx)(T.x4,{p:"0",children:(0,l.jsx)(MembershipVariantForm,{configIndex:i,variant:e,isDisabled:t,availableVariables:o})},e))})]})},w={FREE:"green.400",INDIVIDUAL:"blue.400",CORPORATE:"purple.400"},VariantDot=e=>{let{variant:i}=e;return(0,l.jsx)(p.xu,{w:"2",h:"2",borderRadius:"full",bg:w[i],flexShrink:0})};function countConfigsWithDaysBefore(e,i,n){let l=0;for(let a of i){var r;let i=null===(r=e.find(e=>e.emailTemplateType===a))||void 0===r?void 0:r.daysBefore;i===n&&(l+=1)}return l}let MembershipEmailEditorPanel=e=>{var i,n,a,t;let{index:o,definition:s,activeVariant:d,isDisabled:u=!1,maxRenewalDays:c,maxGracePeriodDays:m,onVariantChange:b}=e,{register:v,control:T,formState:{errors:S},getValues:I,clearErrors:A}=(0,h.Gc)(),{label:D,hasDeliverySettings:P,id:_,availableVariables:N}=s,w=null===(i=S.emailConfigs)||void 0===i?void 0:i[o],M="emailConfigs.".concat(o),O=(0,h.qo)({control:T,name:"".concat(M,".primaryColor")}),V=O||"#4F46E5",z=j.L7.has(_),F=j.To.has(_),k=j.Tj.has(_),U=getVisibleMembershipVariants(_);return r.useMemo(()=>{let e=(z||F)&&void 0!==c?{max:{value:c,message:"Cannot exceed ".concat(c," days (Renewal Period Starts)")}}:k&&void 0!==m?{max:{value:m,message:"Cannot exceed ".concat(m," days (Grace Period Ends)")}}:{};return{valueAsNumber:!0,min:{value:1,message:"Must be at least 1 day"},...e,validate:e=>{if(!e)return!0;let i=I("emailConfigs");return z&&countConfigsWithDaysBefore(i,j.LK,e)>1?"Days before must be unique across all renewal reminders":!(k&&countConfigsWithDaysBefore(i,j.VA,e)>
11)||"Days before must be unique across all grace period reminders"}}},[z,F,k,c,m,I]),(0,l.jsxs)(p.Kq,{spacing:"4",children:[(0,l.jsxs)(p.xu,{borderRadius:"lg",border:"1px solid",borderColor:"gray.200",bg:"white",overflow:"hidden",children:[(0,l.jsxs)(p.Ug,{px:"5",py:"3",bg:"blue.50",borderBottom:"1px solid",borderBottomColor:"blue.100",children:[(0,l.jsx)(C.bV6,{color:"blue.500",boxSize:"4"}),(0,l.jsxs)(p.xv,{fontSize:"sm",fontWeight:"semibold",color:"blue.700",children:[D," — Sender Details"]})]}),(0,l.jsxs)(p.Kq,{spacing:"4",p:"5",children:[(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==w?void 0:w.fromName),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"From name"}),(0,l.jsx)(x.II,{placeholder:"e.g. Acme Association",isDisabled:u,...v("".concat(M,".fromName"),{...(0,R.PZ)("From name"),onChange:()=>A("".concat(M,".fromName"))})}),(0,l.jsx)(f.J1,{children:null==w?void 0:null===(n=w.fromName)||void 0===n?void 0:n.message})]}),(0,l.jsxs)(p.rj,{templateColumns:"1fr 1fr",gap:"4",children:[(0,l.jsx)(p.P4,{children:(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==w?void 0:w.replyTo),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"Reply-to"}),(0,l.jsx)(x.II,{placeholder:"[email protected]",isDisabled:u,...v("".concat(M,".replyTo"),{...requiredEmail("Reply-to"),onChange:()=>A("".concat(M,".replyTo"))})}),(0,l.jsx)(f.J1,{children:null==w?void 0:null===(a=w.replyTo)||void 0===a?void 0:a.message})]})}),(0,l.jsx)(p.P4,{children:(0,l.jsxs)(f.NI,{isRequired:!0,isInvalid:!!(null==w?void 0:w.fromEmail),children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"From email"}),(0,l.jsx)(x.II,{placeholder:"[email protected]",isDisabled:u,...v("".concat(M,".fromEmail"),{...requiredEmail("From email"),onChange:()=>A("".concat(M,".fromEmail"))})}),(0,l.jsx)(f.J1,{children:null==w?void 0:null===(t=w.fromEmail)||void 0===t?void 0:t.message})]})})]})]})]}),(0,l.jsxs)(p.xu,{borderRadius:"lg",border:"1px solid",borderColor:"gray.200",bg:"white",overflow:"hidden",children:[(0,l.jsxs)(p.Ug,{px:"5",py:"3",bg:"blue.50",borderBottom:"1px solid",borderBottomColor:"blue.100",children:[(0,l.jsx)(C.oyc,{color:"blue.500",boxSize:"4"}),(0,l.jsx)(p.xv,{fontSize:"sm",fontWeight:"semibold",color:"blue.700",children:"Content by Membership Variant"})]}),(0,l.jsx)(p.xu,{p:"5",children:(0,l.jsx)(MembershipVariantTabs,{configIndex:o,activeVariant:d,visibleVariants:U,isDisabled:u,availableVariables:N,onVariantChange:b})})]}),(0,l.jsxs)(E.Z,{padding:"0",overflow:"visible",children:[(0,l.jsxs)(p.Ug,{px:"4",py:"3",bg:"blue.50",borderBottom:"1px solid",borderBottomColor:"blue.100",children:[(0,l.jsx)(C.BA8,{boxSize:"4",color:"blue.500"}),(0,l.jsx)(p.xv,{fontSize:"sm",fontWeight:"semibold",color:"gray.700",children:"Brand & Compliance"})]}),(0,l.jsxs)(f.NI,{p:"4",children:[(0,l.jsx)(f.lX,{fontSize:"sm",children:"Primary Color"}),(0,l.jsx)(h.Qr,{name:"".concat(M,".primaryColor"),control:T,render:e=>{let{field:i}=e;return(0,l.jsxs)(g.J2,{placement:"bottom-start",children:[(0,l.jsx)(g.xo,{children:(0,l.jsxs)(p.Ug,{as:"button",type:"button",border:"1px solid",borderColor:"gray.200",borderRadius:"md",px:"3",py:"2",bg:"white",cursor:"pointer",_hover:{borderColor:"gray.300"},spacing:"2",w:"fit-content",disabled:u,children:[(0,l.jsx)(p.xu,{w:"5",h:"5",borderRadius:"md",bg:V,border:"1px solid",borderColor:"gray.200",flexShrink:0}),(0,l.jsx)(p.xv,{fontSize:"sm",color:"gray.700",children:V.toUpperCase()})]})}),(0,l.jsx)(g.yk,{w:"auto",border:"none",shadow:"lg",children:(0,l.jsx)(y.xS,{color:V,onChange:e=>i.onChange(e.hex),disableAlpha:!0})})]})}})]})]})]})};var M=n(74373),O=n(97026),V=n(47741),z=n(88665);let F={FREE:"green",INDIVIDUAL:"blue",CORPORATE:"purple"},MembershipEmailPreview=e=>{var i;let{configIndex:n,emailLabel:a,orgName:t,activeVariant:o,visibleVariants:s=I.X,isPublishing:d,isSendingTest:u,onPublish:c,onSendTest:m,isDisabled:b=!1}=e,[v,f]=r.useState("desktop"),{control:x}=(0,h.Gc)(),g=(0,h.qo)({control:x,name:"emailConfigs"}),y=null==g?void 0:g[n],j=null==y?void 0:null===(i=y.membershipVariants)||void 0===i?void 0:i[o],T=null==j?void 0:j.subject,S=null==j?void 0:j.header,R=null==j?void 0:j.body,A=null==y?void 0:y.fromN
1ame;return null==y||y.primaryColor,(0,l.jsxs)(E.Z,{padding:"0",overflow:"hidden",position:"sticky",top:"4",children:[(0,l.jsxs)(p.Ug,{px:"4",py:"3",bg:"gray.50",borderBottom:"1px solid",borderBottomColor:"gray.100",children:[(0,l.jsx)(C.tEF,{boxSize:"4",color:"blue.500"}),(0,l.jsx)(p.xv,{fontSize:"sm",fontWeight:"semibold",color:"gray.700",flex:"1",children:"Preview"}),(0,l.jsx)(M.Vp,{size:"sm",colorScheme:F[o],borderRadius:"full",fontWeight:"semibold",children:I.O[o]}),(0,l.jsxs)(p.Ug,{spacing:"1",children:[(0,l.jsx)(O.u,{label:"Desktop",children:(0,l.jsx)(V.hU,{"aria-label":"Desktop preview",icon:(0,l.jsx)(C.rc2,{boxSize:"4"}),size:"xs",variant:"desktop"===v?"solid":"ghost",colorScheme:"desktop"===v?"blue":"gray",onClick:()=>f("desktop")})}),(0,l.jsx)(O.u,{label:"Mobile",children:(0,l.jsx)(V.hU,{"aria-label":"Mobile preview",icon:(0,l.jsx)(C.BEV,{boxSize:"4"}),size:"xs",variant:"mobile"===v?"solid":"ghost",colorScheme:"mobile"===v?"blue":"gray",onClick:()=>f("mobile")})})]})]}),(0,l.jsxs)(p.Ug,{px:"4",pt:"3",pb:"1",spacing:"2",flexWrap:"wrap",children:[s.map(e=>(0,l.jsx)(p.xu,{as:"span",px:"2",py:"0.5",borderRadius:"full",fontSize:"10px",fontWeight:e===o?"bold":"normal",bg:e===o?"".concat(F[e],".100"):"gray.100",color:e===o?"".concat(F[e],".700"):"gray.500",border:"1px solid",borderColor:e===o?"".concat(F[e],".300"):"gray.200",children:I.O[e]},e)),(0,l.jsx)(p.xv,{fontSize:"9px",color:"gray.400",ml:"auto",children:"Synced to active tab"})]}),(0,l.jsx)(p.xu,{px:"4",py:"4",bg:"gray.50",children:(0,l.jsxs)(p.xu,{maxW:"mobile"===v?"260px":"100%",mx:"auto",border:"1px solid",borderColor:"gray.200",borderRadius:"lg",overflow:"hidden",bg:"white",boxShadow:"sm",fontSize:"xs",children:[(0,l.jsxs)(p.Ug,{px:"3",py:"2",bg:"gray.100",spacing:"1",children:[(0,l.jsx)(p.xu,{w:"2",h:"2",borderRadius:"full",bg:"red.400",flexShrink:0}),(0,l.jsx)(p.xu,{w:"2",h:"2",borderRadius:"full",bg:"yellow.400",flexShrink:0}),(0,l.jsx)(p.xu,{w:"2",h:"2",borderRadius:"full",bg:"green.400",flexShrink:0}),(0,l.jsx)(p.xv,{ml:"2",color:"gray.500",fontSize:"9px",flex:"1",noOfLines:1,children:T||"Welcome to ".concat(t,"…")})]}),A&&(0,l.jsxs)(p.Ug,{px:"3",py:"1.5",borderBottom:"1px solid",borderBottomColor:"gray.100",children:[(0,l.jsx)(p.xu,{w:"5",h:"5",borderRadius:"full",bg:"gray.500",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,children:(0,l.jsx)(p.xv,{fontSize:"8px",color:"white",fontWeight:"bold",children:A.charAt(0).toUpperCase()})}),(0,l.jsx)(p.xv,{color:"gray.600",fontSize:"9px",fontWeight:"medium",children:A})]}),S&&(0,l.jsx)(p.xu,{px:"4",py:"2",children:(0,l.jsx)(p.xv,{color:"gray.700",fontSize:"10px",fontWeight:"semibold",noOfLines:2,children:S})}),(0,l.jsxs)(p.Kq,{spacing:"2",px:"4",py:"3",children:[R?(0,l.jsx)(p.xu,{fontSize:"11px",color:"gray.800",sx:{...z.y,"h1,h2,h3,h4":{fontSize:"13px",fontWeight:"bold",my:"4px"},"p,ul,ol":{fontSize:"11px",my:"2px"},strong:{fontWeight:"bold"},em:{fontStyle:"italic"},u:{textDecoration:"underline"},a:{pointerEvents:"none",textDecoration:"underline"}},dangerouslySetInnerHTML:{__html:R}}):(0,l.jsxs)(p.xv,{color:"gray.400",fontSize:"10px",children:[a," (",I.O[o],") — your message will appear here once composed."]}),(0,l.jsx)(p.xu,{pt:"2",borderTop:"1px solid",borderTopColor:"gray.100"})]})]})}),(0,l.jsxs)(p.Ug,{px:"4",pb:"4",mt:"1",spacing:"2",children:[(0,l.jsx)(V.zx,{size:"sm",variant:"outline",colorScheme:"gray",leftIcon:(0,l.jsx)(C.jE$,{boxSize:"3"}),isLoading:u,isDisabled:b||d,onClick:m,w:"full",children:"Send Test Email"}),(0,l.jsx)(V.zx,{size:"sm",colorScheme:"primary",leftIcon:(0,l.jsx)(C.Nae,{boxSize:"3"}),isLoading:d,isDisabled:b||u,onClick:c,w:"full",children:"Save & Publish"})]})]})},k={subject:"",header:"",body:null},buildEmptyVariantsMap=()=>I.X.reduce((e,i)=>(e[i]={...k},e),{}),U={fromName:"",replyTo:"",fromEmail:"",daysBefore:void 0,membershipVariants:buildEmptyVariantsMap()},B=r.forwardRef((e,i)=>{var n;let{emailTypeDefinitions:a=t.Fz,initialValues:o,initialBrandColor:s,orgName:d="Your Organization",onPublish:u,onSendTest:c,isDisabled:m=!1,maxRenewalDays:f,maxGracePeriodDays:x}=e,g=(0,b.pm)(),[y,j]=r.useState(0),[E,C]=r.useState("FREE"),[T,S]=r.useState(!1),[R,A]=r.useState(!1),D=s||t.Iu,{methods:N}=function(e){let{definitions:i,initialValues:n,initialBrandColor:l}=e,a=r.useMemo(()=>(function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.Iu;return{emailConfigs:e.map(e=>{var l,r,a,t;let{id:o}=e,s=null!==(l=i[o])&&void 0!==l?l:{};return{...U,emailTemplateType:o,...s,membershipVariants:(a=buildEmptyVariantsMap(),(t=s.membershipVariants)?I.X.reduce((e,i)=>{var n;return e[i]={...a[i],...null!==(n=t[i])&&void 0!==n?n:{}},e},{}):a),primaryColor:null!==(r=s.primaryColor)&&void 0!==r?r:n}})}})(i,n,l),[]),o=(0,h.cI)({defaultValues:a}),s=r.useCallback(e=>
1o.getValues("emailConfigs.".concat(e)),[o]);return{methods:o,getConfigAtIndex:s}}({definitions:a,initialValues:o,initialBrandColor:D});r.useImperativeHandle(i,()=>({getValues:()=>N.getValues(),validate:()=>N.trigger(a.flatMap((e,i)=>getConfigValidationFieldPaths(i,e.id)))}));let w=a[y],M=w?getVisibleMembershipVariants(w.id):[],O=r.useCallback(async e=>{if(!w)return!1;let i=await validateMembershipEmailConfig(y,w.id,N.trigger,N.getFieldState);return!i||("variant"===i.section&&C(i.variant),g({title:"Required fields missing",description:"sender"===i.section?"".concat(e," → Sender Details → ").concat(P[i.field],": ").concat(i.message):"".concat(e," → ").concat(I.O[i.variant]," → ").concat(_[i.field],": ").concat(i.message),status:"error",duration:3e3,isClosable:!0}),!1)},[N.getFieldState,N.trigger,y,g,w]),handlePublish=async()=>{if(!u||!w)return;let e=await O(w.label);if(!e)return;let i=N.getValues("emailConfigs.".concat(y));try{S(!0),await u(w.id,i),g({title:"Email published successfully",status:"success"})}catch(e){g({title:"Failed to publish email",status:"error"})}finally{S(!1)}},handleSendTest=async()=>{if(!c||!w)return;let e=await O(w.label);if(!e)return;let i=N.getValues("emailConfigs.".concat(y));try{A(!0),await c(w.id,i,E),g({title:"Test email sent",status:"success"})}catch(e){g({title:"Failed to send test email",status:"error"})}finally{A(!1)}};return(0,l.jsx)(h.RV,{...N,children:(0,l.jsxs)(p.rj,{templateColumns:{base:"1fr",lg:"190px minmax(0, 1fr) minmax(280px, 32%)",xl:"220px minmax(0, 1fr) minmax(320px, 36%)"},gap:{base:"3",md:"4"},alignItems:"flex-start",children:[(0,l.jsx)(p.P4,{children:(0,l.jsx)(v.Z,{definitions:a,selectedId:null!==(n=null==w?void 0:w.id)&&void 0!==n?n:"",onSelect:e=>{let i=a.findIndex(i=>i.id===e);-1!==i&&(j(i),C(getVisibleMembershipVariants(e)[0]))}})}),(0,l.jsx)(p.P4,{children:w&&(0,l.jsx)(MembershipEmailEditorPanel,{index:y,definition:w,activeVariant:E,isDisabled:m,maxRenewalDays:f,maxGracePeriodDays:x,onVariantChange:C},w.id)}),(0,l.jsx)(p.P4,{children:w&&(0,l.jsx)(MembershipEmailPreview,{configIndex:y,emailLabel:w.label,orgName:d,activeVariant:E,visibleVariants:M,isPublishing:T,isSendingTest:R,onPublish:handlePublish,onSendTest:handleSendTest,isDisabled:m},w.id)})]})})});B.displayName="MembershipEmailEditor";var q=n(37887),L=n(50319),W=n(49517),G=n(27610),H=n(82729),X=n(50456);function _templateObject(){let e=(0,H._)(["\n  query UsePublishMembershipCommunication_GetTenantDefaultCommunications {\n    getTenantMembershipDefaultCommunications {\n      communication {\n        _id\n        emailTemplate {\n          body\n          dayFrequency\n          emailTemplateType\n          fromEmail\n          fromName\n          header\n          isPublished\n          primaryColor\n          replyToEmail\n          sendMailToAdmin\n          subject\n          membershipVariants {\n            FREE {\n              body\n              header\n              subject\n            }\n            INDIVIDUAL {\n              body\n              header\n              subject\n            }\n            CORPORATE {\n              body\n              header\n              subject\n            }\n          }\n        }\n      }\n    }\n  }\n"]);return _templateObject=function(){return e},e}let $=(0,X.Ps)(_templateObject());var Z=n(66029),K=n(93064),J=(0,n(52609).z)(()=>{var e;let{tenant:i}=(0,s.x)(),n=r.useRef(null),{publish:b,initialValues:p,loading:h,error:v}=function(){var e,i;let{data:n,loading:l,error:a,refetch:t}=(0,q.a)($,{fetchPolicy:"cache-first"}),[s]=(0,L.D)(G.G),d=r.useRef(null);d.current=null!==(i=null==n?void 0:null===(e=n.getTenantMembershipDefaultCommunications.communication)||void 0===e?void 0:e._id)&&void 0!==i?i:null;let u=r.useMemo(()=>{var e;let i=null==n?void 0:null===(e=n.getTenantMembershipDefaultCommunications.communication)||void 0===e?void 0:e.emailTemplate;if(null==i?void 0:i.length)return Object.fromEntries(i.filter(e=>e.emailTemplateType).map(e=>{var i,n,l,r,a,t,o,s,d,u,c,m,b,p,h,v,f,x,g,y,j,E,C;let T=e.membershipVariants,S={fromName:null!==(u=e.fromName)&&void 0!==u?u:void 0,replyTo:null!==(c=e.replyToEmail)&&void 0!==c?c:void 0,fromEmail:null!==(m=e.fromEmail)&&void 0!==m?m:void 0,daysBefore:null!==(b=e.dayFrequency)&&void 0!==b?b:void 0,primaryColor:null!==(p=e.primaryColor)&&void 0!==p?p:void 0,membershipVariants:T?{FREE:{subject:null!==(h=null===(i=T.FREE)||void 0===i?void 0:i.subject)&&void 0!==h?h:"",header:null!==(v=null===(n=T.FREE)||void 0===n?void 0:n.header)&&void 0!==v?v:"",body:null!==(f=null===(l=T.FREE)||void 0===l?void 0:l.body)&&void 0!==f?f:null},INDIVIDUAL:{subject:null!==(x=null===(r=T.INDIVIDUAL)||void 0===r?void 0:r.subject)&&void 0!==x?x:"",header:null!==(g=null===(a=T.INDIVIDUAL)||void 0===a?void 0:a.header)&&void 0!==g?g:"",body:null!==(y=null===(t=T.INDIVIDUAL)||void 0===t?void 0:t.body)&&void 0!==y?y:null},CORPORATE:{subject:null!==(j=null===(o=T.CORPORATE)||void 0===o?void 0:o.subject)&&void 0!==j?j:"",header:null!==(E=null===(s=T.CORPORATE)||void 0===s?void 0:s.header)&&void 0!==E?E:"",body:null!==(C=null===(d=T.CORPORATE)||void 0===d?void 0:d.body)&&void 0!==C?C:null}}:void 0};return[e.emailTemplateType,S]}))},[n]),c=r.useCallback(async e=>{let i=d.current,n=(0,Z.W)(e,!0),l={...null!=i?{_id:i}:{},category:o.bW.MEMBERSHIP,emailTemplate:[n]};try{await s({variables:{input:l}}),await t()}catch(e){throw(0,W.H)(e),e}},[s,t]);return{publish:c,initialValues:u,loading:l,error:a}}(),{sendTest:f}=(0,m.d)(o.bW.MEMBERSHIP),x=null!==(e=null==i?void 0:i.primaryColor)&&void 0!==e?e:void 0,g=r.useCallback(async(e,i)=>{await b(i)},[b]),y=r.useCallback(async(e,i,n)=>{await f(i,n)},[f]);
1return(0,l.jsx)(d.C,{children:(0,l.jsxs)(a.DY,{children:[(0,l.jsx)(a.yG,{children:(0,l.jsx)(a.lm,{children:"Membership Communications"})}),(0,l.jsx)(a.hb,{children:h?(0,l.jsx)(u.g,{}):v?(0,l.jsx)(c.S,{}):(0,l.jsx)(B,{ref:n,emailTypeDefinitions:t.Fz,initialValues:p,initialBrandColor:x,orgName:null==i?void 0:i.displayName,onPublish:g,onSendTest:y})})]})})},{requiresEvery:[K.lj.ADMIN_ROLE]})},52609:function(e,i,n){"use strict";n.d(i,{z:function(){return restrictedRoute}});var l=n(85893),r=n(11163),a=n(67294),t=n(39174),o=n(63205),s=n(62893),d=n(69171),u=n(47503),c=n(45893),m=n(93064);let b=new Map([[m.lj.AUTHENTICATION,e=>{var i;return!!(null===(i=e.user)||void 0===i?void 0:i._id)}],[m.lj.ADMIN_ROLE,e=>{var i,n;return(null===(i=e.user)||void 0===i?void 0:i.role)===u.uA.ADMIN||(null===(n=e.user)||void 0===n?void 0:n.role)===u.uA.MORGOTH}],[m.lj.MORGOTH_ROLE,e=>{var i;return(null===(i=e.user)||void 0===i?void 0:i.role)===u.uA.MORGOTH}],[m.lj.COMMUNITY_ACCESS,e=>{var i;return(null==e?void 0:null===(i=e.tenant)||void 0===i?void 0:i.communityAccessConfig)===u.iX.PUBLIC?!e.user||e.user.canAccessCommunity:!!e.user&&e.user.canAccessCommunity}],[m.lj.COMMUNITY_READ_ONLY_ACCESS,e=>{var i;return!!(null===(i=e.user)||void 0===i?void 0:i.canAccessCommunityReadOnly)}],[m.lj.SPONSOR_DASHBOARD_ACCESS,e=>{var i,n;return!!(null===(n=e.user)||void 0===n?void 0:null===(i=n.rosterOrganization)||void 0===i?void 0:i.currentUserOrganizationPermission.canManageOrganizationSponsorship)}],[m.lj.SPONSOR_DIRECTORY_ACCESS,e=>{var i,n,l;switch(null===(i=e.tenant)||void 0===i?void 0:i.sponsorDirectoryAccessConfig){case u.pZ.PUBLIC:return!0;case u.pZ.LOGGED_IN_USERS:return!!(null===(n=e.user)||void 0===n?void 0:n._id);case u.pZ.HIDDEN:return!1;default:throw Error("unknown sponsorDirectoryAccessConfig: ".concat(null===(l=e.tenant)||void 0===l?void 0:l.sponsorDirectoryAccessConfig))}}],[m.lj.MEMBER_DIRECTORY_ACCESS,e=>{var i;return!!(null===(i=e.tenant)||void 0===i?void 0:i.currentUserPermissions.canAccessMemberDirectory)}],[m.lj.EVENTS_FEED_ACCESS,e=>{var i;return!!(null===(i=e.tenant)||void 0===i?void 0:i.currentUserPermissions.canAccessEventsFeed)}],[m.lj.ORGANIZATION_DASHBOARD_ACCESS,e=>{var i,n;return!!(null===(n=e.user)||void 0===n?void 0:null===(i=n.rosterOrganization)||void 0===i?void 0:i.currentUserOrganizationPermission.canManageOrganizationProfile)}],[m.lj.DM_PAGE_ACCESS,e=>{var i;return!!(null===(i=e.user)||void 0===i?void 0:i.canAccessDMPage)}],[m.lj.ORGANIZATION_MEMBERSHIP_ACCESS,e=>{var i,n;return!!(null===(n=e.user)||void 0===n?void 0:null===(i=n.rosterOrganization)||void 0===i?void 0:i.currentUserOrganizationPermission.canManageOrganizationMembership)}],[m.lj.FEATURE_FLAG_CMS,e=>{var i,n;return!!(null===(n=e.tenant)||void 0===n?void 0:null===(i=n.featureFlags)||void 0===i?void 0:i.cms)}],[m.lj.FEATURE_FLAG_CONFERENCES,e=>{var i,n;return!!(null===(n=e.tenant)||void 0===n?void 0:null===(i=n.featureFlags)||void 0===i?void 0:i.conferences)}],[m.lj.FEATURE_FLAG_WEBFLOW,e=>{var i,n;return!!(null===(n=e.tenant)||void 0===n?void 0:null===(i=n.featureFlags)||void 0===i?void 0:i.webflow)}],[m.lj.PAID_MODULE_WEBSITE_BUILDER,e=>{var i,n;return!!(null===(n=e.tenant)||void 0===n?void 0:null===(i=n.paidModules)||void 0===i?void 0:i.websiteBuilder)}]]),useRequiredPermission=e=>{let i=(0,c.x)();if(!e.requiresEvery&&!e.requiresSome)return{hasPermission:!0,loading:!1};if(i.loading)return{hasPermission:!1,loading:!0};let n=null==e||!e.requiresEvery||(null==e?void 0:e.requiresEvery.map(e=>b.get(e)).every(e=>!e||e(i))),l=null==e||!e.requiresSome||(null==e?void 0:e.requiresSome.map(e=>b.get(e)).some(e=>!!e&&e(i)));return{hasPermission:n&&l,loading:!1}},restrictedRoute=(e,i,n)=>u=>{let c=(0,r.useRouter)(),m=useRequiredPermission(i),b=(0,s.T)(),p=(0,o.U)(),h=m.loading||b.isLoading||p.loading,v=!!n&&!!n.requiresMemberManagement&&!p.isActive;return(a.useEffect(()=>{h||m.hasPermission&&!v||b.isAuthenticated||!c.isReady||c.replace({pathname:"/login",query:{redirect:c.asPath}})},[h,c,v,b.isAuthenticated,m.hasPermission]),h)?(0,l.jsx)(d.g,{}):!m.hasPermission||v?b.isAuthenticated?(0,l.jsx)(t.A,{}):(0,l.jsx)(d.g,{}):(0,l.jsx)(e,{...u})}}},function(e){e.O(0,[9669,9041,5206,19702,24198,85037,64986,96317,55643,66854,48556,49774,92888,40179],function(){return e(e.s=64059)}),_N_E=e.O()}]);
2//# sourceMappingURL=membership-874d884e28d4ca8a.js.map

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.