@embedreach/components 0.3.40 → 0.3.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -56,7 +56,7 @@ function vue(e,a){return e?function(e){return"function"==typeof e&&(()=>{const a
56
56
  * LICENSE.md file in the root directory of this source tree.
57
57
  *
58
58
  * @license MIT
59
- */(t.expires)||!Number.isFinite(t.expires.valueOf()))throw new TypeError(`option expires is invalid: ${t.expires}`);r+="; Expires="+t.expires.toUTCString()}t.httpOnly&&(r+="; HttpOnly");t.secure&&(r+="; Secure");t.partitioned&&(r+="; Partitioned");if(t.priority){switch("string"==typeof t.priority?t.priority.toLowerCase():void 0){case"low":r+="; Priority=Low";break;case"medium":r+="; Priority=Medium";break;case"high":r+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${t.priority}`)}}if(t.sameSite){switch("string"==typeof t.sameSite?t.sameSite.toLowerCase():t.sameSite){case!0:case"strict":r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"none":r+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${t.sameSite}`)}}return r};const Mce=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,Tce=/^[\u0021-\u003A\u003C-\u007E]*$/,xce=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Nce=/^[\u0020-\u003A\u003D-\u007E]*$/,Ece=Object.prototype.toString,_ce=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function jce(e,a,t){do{const t=e.charCodeAt(a);if(32!==t&&9!==t)return a}while(++a<t);return t}function Pce(e,a,t){for(;a>t;){const t=e.charCodeAt(--a);if(32!==t&&9!==t)return a+1}return t}function Lce(e){if(-1===e.indexOf("%"))return e;try{return decodeURIComponent(e)}catch(jFe){return e}}function Bce(e={}){let a,{initialEntries:t=["/"],initialIndex:n,v5Compat:i=!1}=e;a=t.map(((e,a)=>c(e,"string"==typeof e?null:e.state,0===a?"default":void 0)));let r=l(null==n?a.length-1:n),o="POP",s=null;function l(e){return Math.min(Math.max(e,0),a.length-1)}function u(){return a[r]}function c(e,t=null,n){let i=function(e,a,t=null,n){let i={pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof a?Ice(a):a,state:t,key:a&&a.key||n||zce()};return i}(a?u().pathname:"/",e,t,n);return Dce("/"===i.pathname.charAt(0),`relative pathnames are not supported in memory history: ${JSON.stringify(e)}`),i}function d(e){return"string"==typeof e?e:Oce(e)}return{get index(){return r},get action(){return o},get location(){return u()},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let a="string"==typeof e?Ice(e):e;return{pathname:a.pathname||"",search:a.search||"",hash:a.hash||""}},push(e,t){o="PUSH";let n=c(e,t);r+=1,a.splice(r,a.length,n),i&&s&&s({action:o,location:n,delta:1})},replace(e,t){o="REPLACE";let n=c(e,t);a[r]=n,i&&s&&s({action:o,location:n,delta:0})},go(e){o="POP";let t=l(r+e);r=t,s&&s({action:o,location:a[t],delta:e})},listen:e=>(s=e,()=>{s=null})}}function Rce(e,a){if(!1===e||null==e)throw new Error(a)}function Dce(e,a){if(!e)try{throw new Error(a)}catch(jFe){}}function zce(){return Math.random().toString(36).substring(2,10)}function Oce({pathname:e="/",search:a="",hash:t=""}){return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),t&&"#"!==t&&(e+="#"===t.charAt(0)?t:"#"+t),e}function Ice(e){let a={};if(e){let t=e.indexOf("#");t>=0&&(a.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(a.search=e.substring(n),e=e.substring(0,n)),e&&(a.pathname=e)}return a}function Kce(e,a,t="/"){return function(e,a,t,n){let i="string"==typeof a?Ice(a):a,r=ede(i.pathname||"/",t);if(null==r)return null;let o=Hce(e);!function(e){e.sort(((e,a)=>e.score!==a.score?a.score-e.score:function(e,a){let t=e.length===a.length&&e.slice(0,-1).every(((e,t)=>e===a[t]));return t?e[e.length-1]-a[a.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),a.routesMeta.map((e=>e.childrenIndex)))))}(o);let s=null;for(let l=0;null==s&&l<o.length;++l){let e=Xce(r);s=Yce(o[l],e,n)}return s}(e,a,t,!1)}function Hce(e,a=[],t=[],n=""){let i=(e,i,r)=>{let o={relativePath:void 0===r?e.path||"":r,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};o.relativePath.startsWith("/")&&(Rce(o.relativePath.startsWith(n),`Absolute route path "${o.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),o.relativePath=o.relativePath.slice(n.length));let s=ide([n,o.relativePath]),l=t.concat(o);e.children&&e.children.length>0&&(Rce(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${s}".`),Hce(e.children,a,l,s)),(null!=e.path||e.index)&&a.push({path:s,score:$ce(s,e.index),routesMeta:l})};return e.forEach(((e,a)=>{if(""!==e.path&&e.path?.includes("?"))for(let t of Fce(e.path))i(e,a,t);else i(e,a)})),a}function Fce(e){let a=e.split("/");if(0===a.length)return[];let[t,...n]=a,i=t.endsWith("?"),r=t.replace(/\?$/,"");if(0===n.length)return i?[r,""]:[r];let o=Fce(n.join("/")),s=[];return s.push(...o.map((e=>""===e?r:[r,e].join("/")))),i&&s.push(...o),s.map((a=>e.startsWith("/")&&""===a?"/":a))}var Gce=/^:[\w-]+$/,Vce=3,Jce=2,Uce=1,Wce=10,qce=-2,Zce=e=>"*"===e;function $ce(e,a){let t=e.split("/"),n=t.length;return t.some(Zce)&&(n+=qce),a&&(n+=Jce),t.filter((e=>!Zce(e))).reduce(((e,a)=>e+(Gce.test(a)?Vce:""===a?Uce:Wce)),n)}function Yce(e,a,t=!1){let{routesMeta:n}=e,i={},r="/",o=[];for(let s=0;s<n.length;++s){let e=n[s],l=s===n.length-1,u="/"===r?a:a.slice(r.length)||"/",c=Qce({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},u),d=e.route;if(!c&&l&&t&&!n[n.length-1].route.index&&(c=Qce({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},u)),!c)return null;Object.assign(i,c.params),o.push({params:i,pathname:ide([r,c.pathname]),pathnameBase:rde(ide([r,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(r=ide([r,c.pathnameBase]))}return o}function Qce(e,a){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=function(e,a=!1,t=!0){Dce("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,a,t)=>(n.push({paramName:a,isOptional:null!=t}),t?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let r=new RegExp(i,a?void 0:"i");return[r,n]}(e.path,e.caseSensitive,e.end),i=a.match(t);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),s=i.slice(1);return{params:n.reduce(((e,{paramName:a,isOptional:t},n)=>{if("*"===a){o=r.slice(0,r.length-(s[n]||"").length).replace(/(.)\/+$/,"$1")}const i=s[n];return e[a]=t&&!i?void 0:(i||"").replace(/%2F/g,"/"),e}),{}),pathname:r,pathnameBase:o,pattern:e}}function Xce(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(a){return Dce(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),e}}function ede(e,a){if("/"===a)return e;if(!e.toLowerCase().startsWith(a.toLowerCase()))return null;let t=a.endsWith("/")?a.length-1:a.length,n=e.charAt(t);return n&&"/"!==n?null:e.slice(t)||"/"}function ade(e,a,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${a}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function tde(e){let a=function(e){return e.filter(((e,a)=>0===a||e.route.path&&e.route.path.length>0))}(e);return a.map(((e,t)=>t===a.length-1?e.pathname:e.pathnameBase))}function nde(e,a,t,n=!1){let i;"string"==typeof e?i=Ice(e):(i={...e},Rce(!i.pathname||!i.pathname.includes("?"),ade("?","pathname","search",i)),Rce(!i.pathname||!i.pathname.includes("#"),ade("#","pathname","hash",i)),Rce(!i.search||!i.search.includes("#"),ade("#","search","hash",i)));let r,o=""===e||""===i.pathname,s=o?"/":i.pathname;if(null==s)r=t;else{let e=a.length-1;if(!n&&s.startsWith("..")){let a=s.split("/");for(;".."===a[0];)a.shift(),e-=1;i.pathname=a.join("/")}r=e>=0?a[e]:"/"}let l=function(e,a="/"){let{pathname:t,search:n="",hash:i=""}="string"==typeof e?Ice(e):e,r=t?t.startsWith("/")?t:function(e,a){let t=a.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?t.length>1&&t.pop():"."!==e&&t.push(e)})),t.length>1?t.join("/"):"/"}(t,a):a;return{pathname:r,search:ode(n),hash:sde(i)}}(i,r),u=s&&"/"!==s&&s.endsWith("/"),c=(o||"."===s)&&t.endsWith("/");return l.pathname.endsWith("/")||!u&&!c||(l.pathname+="/"),l}var ide=e=>e.join("/").replace(/\/\/+/g,"/"),rde=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ode=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",sde=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";var lde=["POST","PUT","PATCH","DELETE"];new Set(lde);var ude=["GET",...lde];new Set(ude);var cde=r.createContext(null);cde.displayName="DataRouter";var dde=r.createContext(null);dde.displayName="DataRouterState";var mde=r.createContext({isTransitioning:!1});mde.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var hde=r.createContext(null);hde.displayName="Navigation";var pde=r.createContext(null);pde.displayName="Location";var gde=r.createContext({outlet:null,matches:[],isDataRoute:!1});gde.displayName="Route";var fde=r.createContext(null);function vde(){return null!=r.useContext(pde)}function yde(){return Rce(vde(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(pde).location}fde.displayName="RouteError";var bde="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function kde(e){r.useContext(hde).static||r.useLayoutEffect(e)}function Sde(){let{isDataRoute:e}=r.useContext(gde);return e?function(){let{router:e}=function(e){let a=r.useContext(cde);return Rce(a,Nde(e)),a}("useNavigate"),a=Ede("useNavigate"),t=r.useRef(!1);return kde((()=>{t.current=!0})),r.useCallback((async(n,i={})=>{Dce(t.current,bde),t.current&&("number"==typeof n?e.navigate(n):await e.navigate(n,{fromRouteId:a,...i}))}),[e,a])}():function(){Rce(vde(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(cde),{basename:a,navigator:t}=r.useContext(hde),{matches:n}=r.useContext(gde),{pathname:i}=yde(),o=JSON.stringify(tde(n)),s=r.useRef(!1);return kde((()=>{s.current=!0})),r.useCallback(((n,r={})=>{if(Dce(s.current,bde),!s.current)return;if("number"==typeof n)return void t.go(n);let l=nde(n,JSON.parse(o),i,"path"===r.relative);null==e&&"/"!==a&&(l.pathname="/"===l.pathname?a:ide([a,l.pathname])),(r.replace?t.replace:t.push)(l,r.state,r)}),[a,t,o,i,e])}()}function wde(e,{relative:a}={}){let{matches:t}=r.useContext(gde),{pathname:n}=yde(),i=JSON.stringify(tde(t));return r.useMemo((()=>nde(e,JSON.parse(i),n,"path"===a)),[e,i,n,a])}function Ade(e,a,t,n){Rce(vde(),"useRoutes() may be used only in the context of a <Router> component.");let i,{navigator:o,static:s}=r.useContext(hde),{matches:l}=r.useContext(gde),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",m=u?u.pathnameBase:"/",h=u&&u.route;{let e=h&&h.path||"";jde(d,!h||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}i=yde();let p=i.pathname||"/",g=p;if("/"!==m){let e=m.replace(/^\//,"").split("/");g="/"+p.replace(/^\//,"").split("/").slice(e.length).join("/")}let f=!s&&t&&t.matches&&t.matches.length>0?t.matches:Kce(e,{pathname:g});Dce(h||null!=f,`No routes matched location "${i.pathname}${i.search}${i.hash}" `),Dce(null==f||void 0!==f[f.length-1].route.element||void 0!==f[f.length-1].route.Component||void 0!==f[f.length-1].route.lazy,`Matched leaf route at location "${i.pathname}${i.search}${i.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=function(e,a=[],t=null){if(null==e){if(!t)return null;if(t.errors)e=t.matches;else{if(0!==a.length||t.initialized||!(t.matches.length>0))return null;e=t.matches}}let n=e,i=t?.errors;if(null!=i){let e=n.findIndex((e=>e.route.id&&void 0!==i?.[e.route.id]));Rce(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),n=n.slice(0,Math.min(n.length,e+1))}let o=!1,s=-1;if(t)for(let r=0;r<n.length;r++){let e=n[r];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(s=r),e.route.id){let{loaderData:a,errors:i}=t,r=e.route.loader&&!a.hasOwnProperty(e.route.id)&&(!i||void 0===i[e.route.id]);if(e.route.lazy||r){o=!0,n=s>=0?n.slice(0,s+1):[n[0]];break}}}return n.reduceRight(((e,l,u)=>{let c,d=!1,m=null,h=null;t&&(c=i&&l.route.id?i[l.route.id]:void 0,m=l.route.errorElement||Mde,o&&(s<0&&0===u?(jde("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,h=null):s===u&&(d=!0,h=l.route.hydrateFallbackElement||null)));let p=a.concat(n.slice(0,u+1)),g=()=>{let a;return a=c?m:d?h:l.route.Component?r.createElement(l.route.Component,null):l.route.element?l.route.element:e,r.createElement(xde,{match:l,routeContext:{outlet:e,matches:p,isDataRoute:null!=t},children:a})};return t&&(l.route.ErrorBoundary||l.route.errorElement||0===u)?r.createElement(Tde,{location:t.location,revalidation:t.revalidation,component:m,error:c,children:g(),routeContext:{outlet:null,matches:p,isDataRoute:!0}}):g()}),null)}(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:ide([m,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?m:ide([m,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),l,t,n);return v}function Cde(){let e=function(){let e=r.useContext(fde),a=function(e){let a=r.useContext(dde);return Rce(a,Nde(e)),a}("useRouteError"),t=Ede("useRouteError");if(void 0!==e)return e;return a.errors?.[t]}(),a=function(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},s=null;return s=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:o},"ErrorBoundary")," or"," ",r.createElement("code",{style:o},"errorElement")," prop on your route.")),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},a),t?r.createElement("pre",{style:i},t):null,s)}r.createContext(null);var Mde=r.createElement(Cde,null),Tde=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,a){return a.location!==e.location||"idle"!==a.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:a.error,location:a.location,revalidation:e.revalidation||a.revalidation}}componentDidCatch(e,a){}render(){return void 0!==this.state.error?r.createElement(gde.Provider,{value:this.props.routeContext},r.createElement(fde.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function xde({routeContext:e,match:a,children:t}){let n=r.useContext(cde);return n&&n.static&&n.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=a.route.id),r.createElement(gde.Provider,{value:e},t)}function Nde(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ede(e){let a=function(e){let a=r.useContext(gde);return Rce(a,Nde(e)),a}(e),t=a.matches[a.matches.length-1];return Rce(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}var _de={};function jde(e,a,t){a||_de[e]||(_de[e]=!0,Dce(!1,t))}function Pde({basename:e,children:a,initialEntries:t,initialIndex:n}){let i=r.useRef();null==i.current&&(i.current=Bce({initialEntries:t,initialIndex:n,v5Compat:!0}));let o=i.current,[s,l]=r.useState({action:o.action,location:o.location}),u=r.useCallback((e=>{r.startTransition((()=>l(e)))}),[l]);return r.useLayoutEffect((()=>o.listen(u)),[o,u]),r.createElement(Lde,{basename:e,children:a,location:s.location,navigationType:s.action,navigator:o})}function Lde({basename:e="/",children:a=null,location:t,navigationType:n="POP",navigator:i,static:o=!1}){Rce(!vde(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let s=e.replace(/^\/*/,"/"),l=r.useMemo((()=>({basename:s,navigator:i,static:o,future:{}})),[s,i,o]);"string"==typeof t&&(t=Ice(t));let{pathname:u="/",search:c="",hash:d="",state:m=null,key:h="default"}=t,p=r.useMemo((()=>{let e=ede(u,s);return null==e?null:{location:{pathname:e,search:c,hash:d,state:m,key:h},navigationType:n}}),[s,u,c,d,m,h,n]);return Dce(null!=p,`<Router basename="${s}"> is not able to match the URL "${u}${c}${d}" because it does not start with the basename, so the <Router> won't render anything.`),null==p?null:r.createElement(hde.Provider,{value:l},r.createElement(pde.Provider,{children:a,value:p}))}r.memo((function({routes:e,future:a,state:t}){return Ade(e,0,t,a)}));var Bde="get",Rde="application/x-www-form-urlencoded";function Dde(e){return null!=e&&"string"==typeof e.tagName}function zde(e=""){return new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((a,t)=>{let n=e[t];return a.concat(Array.isArray(n)?n.map((e=>[t,e])):[[t,n]])}),[]))}var Ode=null;var Ide=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Kde(e){return null==e||Ide.has(e)?e:(Dce(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Rde}"`),null)}function Hde(e,a){let t,n,i,r,o;if(function(e){return Dde(e)&&"form"===e.tagName.toLowerCase()}(e)){let o=e.getAttribute("action");n=o?ede(o,a):null,t=e.getAttribute("method")||Bde,i=Kde(e.getAttribute("enctype"))||Rde,r=new FormData(e)}else if(function(e){return Dde(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Dde(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let o=e.form;if(null==o)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||o.getAttribute("action");if(n=s?ede(s,a):null,t=e.getAttribute("formmethod")||o.getAttribute("method")||Bde,i=Kde(e.getAttribute("formenctype"))||Kde(o.getAttribute("enctype"))||Rde,r=new FormData(o,e),!function(){if(null===Ode)try{new FormData(document.createElement("form"),0),Ode=!1}catch(jFe){Ode=!0}return Ode}()){let{name:a,type:t,value:n}=e;if("image"===t){let e=a?`${a}.`:"";r.append(`${e}x`,"0"),r.append(`${e}y`,"0")}else a&&r.append(a,n)}}else{if(Dde(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=Bde,n=null,i=Rde,o=e}return r&&"text/plain"===i&&(o=r,r=void 0),{action:n,method:t.toLowerCase(),encType:i,formData:r,body:o}}function Fde(e,a){if(!1===e||null==e)throw new Error(a)}function Gde(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}async function Vde(e,a,t){return function(e,a){let t=new Set;return new Set(a),e.reduce(((e,a)=>{let n=JSON.stringify(function(e){let a={},t=Object.keys(e).sort();for(let n of t)a[n]=e[n];return a}(a));return t.has(n)||(t.add(n),e.push({key:n,link:a})),e}),[])}((await Promise.all(e.map((async e=>{let n=a.routes[e.route.id];if(n){let e=await async function(e,a){if(e.id in a)return a[e.id];try{let t=await import(e.module);return a[e.id]=t,t}catch(t){return window.__reactRouterContext&&window,window.location.reload(),new Promise((()=>{}))}}(n,t);return e.links?e.links():[]}return[]})))).flat(1).filter(Gde).filter((e=>"stylesheet"===e.rel||"preload"===e.rel)).map((e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"})))}function Jde(e,a,t,n,i,r){let o=(e,a)=>!t[a]||e.route.id!==t[a].route.id,s=(e,a)=>t[a].pathname!==e.pathname||t[a].route.path?.endsWith("*")&&t[a].params["*"]!==e.params["*"];return"assets"===r?a.filter(((e,a)=>o(e,a)||s(e,a))):"data"===r?a.filter(((a,r)=>{let l=n.routes[a.route.id];if(!l||!l.hasLoader)return!1;if(o(a,r)||s(a,r))return!0;if(a.route.shouldRevalidate){let n=a.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:a.params,defaultShouldRevalidate:!0});if("boolean"==typeof n)return n}return!0})):[]}function Ude(e,a,{includeHydrateFallback:t}={}){return n=e.map((e=>{let n=a.routes[e.route.id];if(!n)return[];let i=[n.module];return n.clientActionModule&&(i=i.concat(n.clientActionModule)),n.clientLoaderModule&&(i=i.concat(n.clientLoaderModule)),t&&n.hydrateFallbackModule&&(i=i.concat(n.hydrateFallbackModule)),n.imports&&(i=i.concat(n.imports)),i})).flat(1),[...new Set(n)];var n}function Wde(){let e=r.useContext(cde);return Fde(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}var qde=r.createContext(void 0);function Zde(){let e=r.useContext(qde);return Fde(e,"You must render this element inside a <HydratedRouter> element"),e}function $de(e,a){return t=>{e&&e(t),t.defaultPrevented||a(t)}}function Yde({page:e,...a}){let{router:t}=Wde(),n=r.useMemo((()=>Kce(t.routes,e,t.basename)),[t.routes,e,t.basename]);return n?r.createElement(Qde,{page:e,matches:n,...a}):null}function Qde({page:e,matches:a,...t}){let n=yde(),{manifest:i,routeModules:o}=Zde(),{basename:s}=Wde(),{loaderData:l,matches:u}=function(){let e=r.useContext(dde);return Fde(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}(),c=r.useMemo((()=>Jde(e,a,u,i,n,"data")),[e,a,u,i,n]),d=r.useMemo((()=>Jde(e,a,u,i,n,"assets")),[e,a,u,i,n]),m=r.useMemo((()=>{if(e===n.pathname+n.search+n.hash)return[];let t=new Set,r=!1;if(a.forEach((e=>{let a=i.routes[e.route.id];a&&a.hasLoader&&(!c.some((a=>a.route.id===e.route.id))&&e.route.id in l&&o[e.route.id]?.shouldRevalidate||a.hasClientLoader?r=!0:t.add(e.route.id))})),0===t.size)return[];let u=function(e,a){let t="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return t.pathname="/"===t.pathname?"_root.data":a&&"/"===ede(t.pathname,a)?`${a.replace(/\/$/,"")}/_root.data`:`${t.pathname.replace(/\/$/,"")}.data`,t}(e,s);return r&&t.size>0&&u.searchParams.set("_routes",a.filter((e=>t.has(e.route.id))).map((e=>e.route.id)).join(",")),[u.pathname+u.search]}),[s,l,n,i,c,a,e,o]),h=r.useMemo((()=>Ude(d,i)),[d,i]),p=function(e){let{manifest:a,routeModules:t}=Zde(),[n,i]=r.useState([]);return r.useEffect((()=>{let n=!1;return Vde(e,a,t).then((e=>{n||i(e)})),()=>{n=!0}}),[e,a,t]),n}(d);return r.createElement(r.Fragment,null,m.map((e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...t}))),h.map((e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...t}))),p.map((({key:e,link:a})=>r.createElement("link",{key:e,...a}))))}function Xde(...e){return a=>{e.forEach((e=>{"function"==typeof e?e(a):null!=e&&(e.current=a)}))}}qde.displayName="FrameworkContext";var eme="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{eme&&(window.__reactRouterVersion="7.5.2")}catch(jFe){}var ame=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tme=r.forwardRef((function({onClick:e,discover:a="render",prefetch:t="none",relative:n,reloadDocument:i,replace:o,state:s,target:l,to:u,preventScrollReset:c,viewTransition:d,...m},h){let p,{basename:g}=r.useContext(hde),f="string"==typeof u&&ame.test(u),v=!1;if("string"==typeof u&&f&&(p=u,eme))try{let e=new URL(window.location.href),a=u.startsWith("//")?new URL(e.protocol+u):new URL(u),t=ede(a.pathname,g);a.origin===e.origin&&null!=t?u=t+a.search+a.hash:v=!0}catch(jFe){Dce(!1,`<Link to="${u}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let y=function(e,{relative:a}={}){Rce(vde(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=r.useContext(hde),{hash:i,pathname:o,search:s}=wde(e,{relative:a}),l=o;return"/"!==t&&(l="/"===o?t:ide([t,o])),n.createHref({pathname:l,search:s,hash:i})}(u,{relative:n}),[b,k,S]=function(e,a){let t=r.useContext(qde),[n,i]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:d,onTouchStart:m}=a,h=r.useRef(null);r.useEffect((()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver((e=>{e.forEach((e=>{s(e.isIntersecting)}))}),{threshold:.5});return h.current&&e.observe(h.current),()=>{e.disconnect()}}}),[e]),r.useEffect((()=>{if(n){let e=setTimeout((()=>{s(!0)}),100);return()=>{clearTimeout(e)}}}),[n]);let p=()=>{i(!0)},g=()=>{i(!1),s(!1)};return t?"intent"!==e?[o,h,{}]:[o,h,{onFocus:$de(l,p),onBlur:$de(u,g),onMouseEnter:$de(c,p),onMouseLeave:$de(d,g),onTouchStart:$de(m,p)}]:[!1,h,{}]}(t,m),w=function(e,{target:a,replace:t,state:n,preventScrollReset:i,relative:o,viewTransition:s}={}){let l=Sde(),u=yde(),c=wde(e,{relative:o});return r.useCallback((r=>{if(function(e,a){return!(0!==e.button||a&&"_self"!==a||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,a)){r.preventDefault();let a=void 0!==t?t:Oce(u)===Oce(c);l(e,{replace:a,state:n,preventScrollReset:i,relative:o,viewTransition:s})}}),[u,l,c,t,n,a,e,i,o,s])}(u,{replace:o,state:s,target:l,preventScrollReset:c,relative:n,viewTransition:d});let A=r.createElement("a",{...m,...S,href:p||y,onClick:v||i?e:function(a){e&&e(a),a.defaultPrevented||w(a)},ref:Xde(h,k),target:l,"data-discover":f||"render"!==a?void 0:"true"});return b&&!f?r.createElement(r.Fragment,null,A,r.createElement(Yde,{page:y})):A}));tme.displayName="Link",r.forwardRef((function({"aria-current":e="page",caseSensitive:a=!1,className:t="",end:n=!1,style:i,to:o,viewTransition:s,children:l,...u},c){let d=wde(o,{relative:u.relative}),m=yde(),h=r.useContext(dde),{navigator:p,basename:g}=r.useContext(hde),f=null!=h&&function(e,a={}){let t=r.useContext(mde);Rce(null!=t,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=ime("useViewTransitionState"),i=wde(e,{relative:a.relative});if(!t.isTransitioning)return!1;let o=ede(t.currentLocation.pathname,n)||t.currentLocation.pathname,s=ede(t.nextLocation.pathname,n)||t.nextLocation.pathname;return null!=Qce(i.pathname,s)||null!=Qce(i.pathname,o)}(d)&&!0===s,v=p.encodeLocation?p.encodeLocation(d).pathname:d.pathname,y=m.pathname,b=h&&h.navigation&&h.navigation.location?h.navigation.location.pathname:null;a||(y=y.toLowerCase(),b=b?b.toLowerCase():null,v=v.toLowerCase()),b&&g&&(b=ede(b,g)||b);const k="/"!==v&&v.endsWith("/")?v.length-1:v.length;let S,w=y===v||!n&&y.startsWith(v)&&"/"===y.charAt(k),A=null!=b&&(b===v||!n&&b.startsWith(v)&&"/"===b.charAt(v.length)),C={isActive:w,isPending:A,isTransitioning:f},M=w?e:void 0;S="function"==typeof t?t(C):[t,w?"active":null,A?"pending":null,f?"transitioning":null].filter(Boolean).join(" ");let T="function"==typeof i?i(C):i;return r.createElement(tme,{...u,"aria-current":M,className:S,ref:c,style:T,to:o,viewTransition:s},"function"==typeof l?l(C):l)})).displayName="NavLink";var nme=r.forwardRef((({discover:e="render",fetcherKey:a,navigate:t,reloadDocument:n,replace:i,state:o,method:s=Bde,action:l,onSubmit:u,relative:c,preventScrollReset:d,viewTransition:m,...h},p)=>{let g=function(){let{router:e}=ime("useSubmit"),{basename:a}=r.useContext(hde),t=Ede("useRouteId");return r.useCallback((async(n,i={})=>{let{action:r,method:o,encType:s,formData:l,body:u}=Hde(n,a);if(!1===i.navigate){let a=i.fetcherKey||sme();await e.fetch(a,t,i.action||r,{preventScrollReset:i.preventScrollReset,formData:l,body:u,formMethod:i.method||o,formEncType:i.encType||s,flushSync:i.flushSync})}else await e.navigate(i.action||r,{preventScrollReset:i.preventScrollReset,formData:l,body:u,formMethod:i.method||o,formEncType:i.encType||s,replace:i.replace,state:i.state,fromRouteId:t,flushSync:i.flushSync,viewTransition:i.viewTransition})}),[e,a,t])}(),f=function(e,{relative:a}={}){let{basename:t}=r.useContext(hde),n=r.useContext(gde);Rce(n,"useFormAction must be used inside a RouteContext");let[i]=n.matches.slice(-1),o={...wde(e||".",{relative:a})},s=yde();if(null==e){o.search=s.search;let e=new URLSearchParams(o.search),a=e.getAll("index");if(a.some((e=>""===e))){e.delete("index"),a.filter((e=>e)).forEach((a=>e.append("index",a)));let t=e.toString();o.search=t?`?${t}`:""}}e&&"."!==e||!i.route.index||(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index");"/"!==t&&(o.pathname="/"===o.pathname?t:ide([t,o.pathname]));return Oce(o)}(l,{relative:c}),v="get"===s.toLowerCase()?"get":"post",y="string"==typeof l&&ame.test(l);return r.createElement("form",{ref:p,method:v,action:f,onSubmit:n?u:e=>{if(u&&u(e),e.defaultPrevented)return;e.preventDefault();let n=e.nativeEvent.submitter,r=n?.getAttribute("formmethod")||s;g(n||e.currentTarget,{fetcherKey:a,method:r,navigate:t,replace:i,state:o,relative:c,preventScrollReset:d,viewTransition:m})},...h,"data-discover":y||"render"!==e?void 0:"true"})}));function ime(e){let a=r.useContext(cde);return Rce(a,function(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),a}function rme(e){Dce("undefined"!=typeof URLSearchParams,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let a=r.useRef(zde(e)),t=r.useRef(!1),n=yde(),i=r.useMemo((()=>function(e,a){let t=zde(e);return a&&a.forEach(((e,n)=>{t.has(n)||a.getAll(n).forEach((e=>{t.append(n,e)}))})),t}(n.search,t.current?null:a.current)),[n.search]),o=Sde(),s=r.useCallback(((e,a)=>{const n=zde("function"==typeof e?e(i):e);t.current=!0,o("?"+n,a)}),[o,i]);return[i,s]}nme.displayName="Form";var ome=0,sme=()=>`__${String(++ome)}__`;new TextEncoder;var lme,ume="dismissableLayer.update",cme="dismissableLayer.pointerDownOutside",dme="dismissableLayer.focusOutside",mme=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),hme=r.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:l,onDismiss:u,...c}=e,d=r.useContext(mme),[m,h]=r.useState(null),p=m?.ownerDocument??globalThis?.document,[,g]=r.useState({}),f=We(t,(e=>h(e))),v=Array.from(d.layers),[y]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=v.indexOf(y),k=m?v.indexOf(m):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,w=k>=b,A=function(e,a=globalThis?.document){const t=YE(e),n=r.useRef(!1),i=r.useRef((()=>{}));return r.useEffect((()=>{const e=e=>{if(e.target&&!n.current){let n=function(){gme(cme,t,r,{discrete:!0})};const r={originalEvent:e};"touch"===e.pointerType?(a.removeEventListener("click",i.current),i.current=n,a.addEventListener("click",i.current,{once:!0})):n()}else a.removeEventListener("click",i.current);n.current=!1},r=window.setTimeout((()=>{a.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(r),a.removeEventListener("pointerdown",e),a.removeEventListener("click",i.current)}}),[a,t]),{onPointerDownCapture:()=>n.current=!0}}((e=>{const a=e.target,t=[...d.branches].some((e=>e.contains(a)));w&&!t&&(o?.(e),l?.(e),e.defaultPrevented||u?.())}),p),C=function(e,a=globalThis?.document){const t=YE(e),n=r.useRef(!1);return r.useEffect((()=>{const e=e=>{if(e.target&&!n.current){gme(dme,t,{originalEvent:e},{discrete:!1})}};return a.addEventListener("focusin",e),()=>a.removeEventListener("focusin",e)}),[a,t]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}((e=>{const a=e.target;[...d.branches].some((e=>e.contains(a)))||(s?.(e),l?.(e),e.defaultPrevented||u?.())}),p);return function(e,a=globalThis?.document){const t=YE(e);r.useEffect((()=>{const e=e=>{"Escape"===e.key&&t(e)};return a.addEventListener("keydown",e,{capture:!0}),()=>a.removeEventListener("keydown",e,{capture:!0})}),[t,a])}((e=>{k===d.layers.size-1&&(i?.(e),!e.defaultPrevented&&u&&(e.preventDefault(),u()))}),p),r.useEffect((()=>{if(m)return n&&(0===d.layersWithOutsidePointerEventsDisabled.size&&(lme=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(m)),d.layers.add(m),pme(),()=>{n&&1===d.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=lme)}}),[m,p,n,d]),r.useEffect((()=>()=>{m&&(d.layers.delete(m),d.layersWithOutsidePointerEventsDisabled.delete(m),pme())}),[m,d]),r.useEffect((()=>{const e=()=>g({});return document.addEventListener(ume,e),()=>document.removeEventListener(ume,e)}),[]),a.jsx(s_.div,{...c,ref:f,style:{pointerEvents:S?w?"auto":"none":void 0,...e.style},onFocusCapture:qE(e.onFocusCapture,C.onFocusCapture),onBlurCapture:qE(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:qE(e.onPointerDownCapture,A.onPointerDownCapture)})}));hme.displayName="DismissableLayer";function pme(){const e=new CustomEvent(ume);document.dispatchEvent(e)}function gme(e,a,t,{discrete:n}){const i=t.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&i.addEventListener(e,a,{once:!0}),n?function(e,a){e&&o.flushSync((()=>e.dispatchEvent(a)))}(i,r):i.dispatchEvent(r)}r.forwardRef(((e,t)=>{const n=r.useContext(mme),i=r.useRef(null),o=We(t,i);return r.useEffect((()=>{const e=i.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),a.jsx(s_.div,{...e,ref:o})})).displayName="DismissableLayerBranch";var fme=0;function vme(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var yme="focusScope.autoFocusOnMount",bme="focusScope.autoFocusOnUnmount",kme={bubbles:!1,cancelable:!0},Sme=r.forwardRef(((e,t)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...l}=e,[u,c]=r.useState(null),d=YE(o),m=YE(s),h=r.useRef(null),p=We(t,(e=>c(e))),g=r.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;r.useEffect((()=>{if(i){let e=function(e){if(g.paused||!u)return;const a=e.target;u.contains(a)?h.current=a:Mme(h.current,{select:!0})},a=function(e){if(g.paused||!u)return;const a=e.relatedTarget;null!==a&&(u.contains(a)||Mme(h.current,{select:!0}))},t=function(e){if(document.activeElement===document.body)for(const a of e)a.removedNodes.length>0&&Mme(u)};document.addEventListener("focusin",e),document.addEventListener("focusout",a);const n=new MutationObserver(t);return u&&n.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",a),n.disconnect()}}}),[i,u,g.paused]),r.useEffect((()=>{if(u){Tme.add(g);const a=document.activeElement;if(!u.contains(a)){const t=new CustomEvent(yme,kme);u.addEventListener(yme,d),u.dispatchEvent(t),t.defaultPrevented||(!function(e,{select:a=!1}={}){const t=document.activeElement;for(const n of e)if(Mme(n,{select:a}),document.activeElement!==t)return}((e=wme(u),e.filter((e=>"A"!==e.tagName))),{select:!0}),document.activeElement===a&&Mme(u))}return()=>{u.removeEventListener(yme,d),setTimeout((()=>{const e=new CustomEvent(bme,kme);u.addEventListener(bme,m),u.dispatchEvent(e),e.defaultPrevented||Mme(a??document.body,{select:!0}),u.removeEventListener(bme,m),Tme.remove(g)}),0)}}var e}),[u,d,m,g]);const f=r.useCallback((e=>{if(!n&&!i)return;if(g.paused)return;const a=document.activeElement;if("Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&a){const t=e.currentTarget,[i,r]=function(e){const a=wme(e),t=Ame(a,e),n=Ame(a.reverse(),e);return[t,n]}(t);i&&r?e.shiftKey||a!==r?e.shiftKey&&a===i&&(e.preventDefault(),n&&Mme(r,{select:!0})):(e.preventDefault(),n&&Mme(i,{select:!0})):a===t&&e.preventDefault()}}),[n,i,g.paused]);return a.jsx(s_.div,{tabIndex:-1,...l,ref:p,onKeyDown:f})}));function wme(e){const a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.disabled||e.hidden||"INPUT"===e.tagName&&"hidden"===e.type?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)a.push(t.currentNode);return a}function Ame(e,a){for(const t of e)if(!Cme(t,{upTo:a}))return t}function Cme(e,{upTo:a}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==a&&e===a)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function Mme(e,{select:a=!1}={}){if(e&&e.focus){const t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&a&&e.select()}}Sme.displayName="FocusScope";var Tme=function(){let e=[];return{add(a){const t=e[0];a!==t&&t?.pause(),e=xme(e,a),e.unshift(a)},remove(a){e=xme(e,a),e[0]?.resume()}}}();function xme(e,a){const t=[...e],n=t.indexOf(a);return-1!==n&&t.splice(n,1),t}var Nme=r["useId".toString()]||(()=>{}),Eme=0;function _me(e){const[a,t]=r.useState(Nme());return e_((()=>{t((e=>e??String(Eme++)))}),[e]),a?`radix-${a}`:""}var jme=r.forwardRef(((e,t)=>{const{children:n,width:i=10,height:r=5,...o}=e;return a.jsx(s_.svg,{...o,ref:t,width:i,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:a.jsx("polygon",{points:"0,0 30,0 15,10"})})}));jme.displayName="Arrow";var Pme=jme,Lme="Popper",[Bme,Rme]=ZE(Lme),[Dme,zme]=Bme(Lme),Ome=e=>{const{__scopePopper:t,children:n}=e,[i,o]=r.useState(null);return a.jsx(Dme,{scope:t,anchor:i,onAnchorChange:o,children:n})};Ome.displayName=Lme;var Ime="PopperAnchor",Kme=r.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:i,...o}=e,s=zme(Ime,n),l=r.useRef(null),u=We(t,l);return r.useEffect((()=>{s.onAnchorChange(i?.current||l.current)})),i?null:a.jsx(s_.div,{...o,ref:u})}));Kme.displayName=Ime;var Hme="PopperContent",[Fme,Gme]=Bme(Hme),Vme=r.forwardRef(((e,t)=>{const{__scopePopper:n,side:i="bottom",sideOffset:o=0,align:s="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:m=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:g="optimized",onPlaced:f,...v}=e,y=zme(Hme,n),[b,k]=r.useState(null),S=We(t,(e=>k(e))),[w,A]=r.useState(null),C=a_(w),M=C?.width??0,T=C?.height??0,x=i+("center"!==s?"-"+s:""),N="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},E=Array.isArray(d)?d:[d],_=E.length>0,j={padding:N,boundary:E.filter(qme),altBoundary:_},{refs:P,floatingStyles:L,placement:B,isPositioned:R,middlewareData:D}=Vl({strategy:"fixed",placement:x,whileElementsMounted:(...e)=>_l(...e,{animationFrame:"always"===g}),elements:{reference:y.anchor},middleware:[Ul({mainAxis:o+T,alignmentAxis:l}),c&&Wl({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?ql():void 0,...j}),c&&Zl({...j}),$l({...j,apply:({elements:e,rects:a,availableWidth:t,availableHeight:n})=>{const{width:i,height:r}=a.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${t}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${i}px`),o.setProperty("--radix-popper-anchor-height",`${r}px`)}}),w&&Ql({element:w,padding:u}),Zme({arrowWidth:M,arrowHeight:T}),p&&Yl({strategy:"referenceHidden",...j})]}),[z,O]=$me(B),I=YE(f);e_((()=>{R&&I?.()}),[R,I]);const K=D.arrow?.x,H=D.arrow?.y,F=0!==D.arrow?.centerOffset,[G,V]=r.useState();return e_((()=>{b&&V(window.getComputedStyle(b).zIndex)}),[b]),a.jsx("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...L,transform:R?L.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:G,"--radix-popper-transform-origin":[D.transformOrigin?.x,D.transformOrigin?.y].join(" "),...D.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(Fme,{scope:n,placedSide:z,onArrowChange:A,arrowX:K,arrowY:H,shouldHideArrow:F,children:a.jsx(s_.div,{"data-side":z,"data-align":O,...v,ref:S,style:{...v.style,animation:R?void 0:"none"}})})})}));Vme.displayName=Hme;var Jme="PopperArrow",Ume={top:"bottom",right:"left",bottom:"top",left:"right"},Wme=r.forwardRef((function(e,t){const{__scopePopper:n,...i}=e,r=Gme(Jme,n),o=Ume[r.placedSide];return a.jsx("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:a.jsx(Pme,{...i,ref:t,style:{...i.style,display:"block"}})})}));function qme(e){return null!==e}Wme.displayName=Jme;var Zme=e=>({name:"transformOrigin",options:e,fn(a){const{placement:t,rects:n,middlewareData:i}=a,r=0!==i.arrow?.centerOffset,o=r?0:e.arrowWidth,s=r?0:e.arrowHeight,[l,u]=$me(t),c={start:"0%",center:"50%",end:"100%"}[u],d=(i.arrow?.x??0)+o/2,m=(i.arrow?.y??0)+s/2;let h="",p="";return"bottom"===l?(h=r?c:`${d}px`,p=-s+"px"):"top"===l?(h=r?c:`${d}px`,p=`${n.floating.height+s}px`):"right"===l?(h=-s+"px",p=r?c:`${m}px`):"left"===l&&(h=`${n.floating.width+s}px`,p=r?c:`${m}px`),{data:{x:h,y:p}}}});function $me(e){const[a,t="center"]=e.split("-");return[a,t]}var Yme=Ome,Qme=Kme,Xme=Vme,ehe=Wme;var ahe=e=>{const{present:a,children:t}=e,n=function(e){const[a,t]=r.useState(),n=r.useRef({}),i=r.useRef(e),o=r.useRef("none"),s=e?"mounted":"unmounted",[l,u]=function(e,a){return r.useReducer(((e,t)=>a[e][t]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return r.useEffect((()=>{const e=the(n.current);o.current="mounted"===l?e:"none"}),[l]),e_((()=>{const a=n.current,t=i.current;if(t!==e){const n=o.current,r=the(a);if(e)u("MOUNT");else if("none"===r||"none"===a?.display)u("UNMOUNT");else{u(t&&n!==r?"ANIMATION_OUT":"UNMOUNT")}i.current=e}}),[e,u]),e_((()=>{if(a){let e;const t=a.ownerDocument.defaultView??window,r=r=>{const o=the(n.current).includes(r.animationName);if(r.target===a&&o&&(u("ANIMATION_END"),!i.current)){const n=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout((()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=n)}))}},s=e=>{e.target===a&&(o.current=the(n.current))};return a.addEventListener("animationstart",s),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",s),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}u("ANIMATION_END")}),[a,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:r.useCallback((e=>{e&&(n.current=getComputedStyle(e)),t(e)}),[])}}(a),i="function"==typeof t?t({present:n.isPresent}):r.Children.only(t),o=We(n.ref,function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(i));return"function"==typeof t||n.isPresent?r.cloneElement(i,{ref:o}):null};function the(e){return e?.animationName||"none"}ahe.displayName="Presence";var nhe="Popover",[ihe,rhe]=ZE(nhe,[Rme]),ohe=Rme(),[she,lhe]=ihe(nhe),uhe=e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:o,onOpenChange:s,modal:l=!1}=e,u=ohe(t),c=r.useRef(null),[d,m]=r.useState(!1),[h=!1,p]=QE({prop:i,defaultProp:o,onChange:s});return a.jsx(Yme,{...u,children:a.jsx(she,{scope:t,contentId:_me(),triggerRef:c,open:h,onOpenChange:p,onOpenToggle:r.useCallback((()=>p((e=>!e))),[p]),hasCustomAnchor:d,onCustomAnchorAdd:r.useCallback((()=>m(!0)),[]),onCustomAnchorRemove:r.useCallback((()=>m(!1)),[]),modal:l,children:n})})};uhe.displayName=nhe;var che="PopoverAnchor";r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,o=lhe(che,n),s=ohe(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=o;return r.useEffect((()=>(l(),()=>u())),[l,u]),a.jsx(Qme,{...s,...i,ref:t})})).displayName=che;var dhe="PopoverTrigger",mhe=r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=lhe(dhe,n),o=ohe(n),s=We(t,r.triggerRef),l=a.jsx(s_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":She(r.open),...i,ref:s,onClick:qE(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?l:a.jsx(Qme,{asChild:!0,...o,children:l})}));mhe.displayName=dhe;var[hhe,phe]=ihe("PopoverPortal",{forceMount:void 0}),ghe="PopoverContent",fhe=r.forwardRef(((e,t)=>{const n=phe(ghe,e.__scopePopover),{forceMount:i=n.forceMount,...r}=e,o=lhe(ghe,e.__scopePopover);return a.jsx(ahe,{present:i||o.open,children:a.jsx(o.modal?vhe:yhe,{...r,ref:t})})}));fhe.displayName=ghe;var vhe=r.forwardRef(((e,t)=>{const n=lhe(ghe,e.__scopePopover),i=r.useRef(null),o=We(t,i),s=r.useRef(!1);return r.useEffect((()=>{const e=i.current;if(e)return Ln(e)}),[]),a.jsx(Tn,{as:t_,allowPinchZoom:!0,children:a.jsx(bhe,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:qE(e.onCloseAutoFocus,(e=>{e.preventDefault(),s.current||n.triggerRef.current?.focus()})),onPointerDownOutside:qE(e.onPointerDownOutside,(e=>{const a=e.detail.originalEvent;s.current=2===a.button||0===a.button&&!0===a.ctrlKey}),{checkForDefaultPrevented:!1}),onFocusOutside:qE(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),yhe=r.forwardRef(((e,t)=>{const n=lhe(ghe,e.__scopePopover),i=r.useRef(!1),o=r.useRef(!1);return a.jsx(bhe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(i.current||n.triggerRef.current?.focus(),a.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(i.current=!0,"pointerdown"===a.detail.originalEvent.type&&(o.current=!0));const t=a.target,r=n.triggerRef.current?.contains(t);r&&a.preventDefault(),"focusin"===a.detail.originalEvent.type&&o.current&&a.preventDefault()}})})),bhe=r.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:m,...h}=e,p=lhe(ghe,n),g=ohe(n);return r.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??vme()),document.body.insertAdjacentElement("beforeend",e[1]??vme()),fme++,()=>{1===fme&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),fme--}}),[]),a.jsx(Sme,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:s,children:a.jsx(hme,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),children:a.jsx(Xme,{"data-state":She(p.open),role:"dialog",id:p.contentId,...g,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})})),khe="PopoverClose";r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=lhe(khe,n);return a.jsx(s_.button,{type:"button",...i,ref:t,onClick:qE(e.onClick,(()=>r.onOpenChange(!1)))})})).displayName=khe;function She(e){return e?"open":"closed"}r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=ohe(n);return a.jsx(ehe,{...r,...i,ref:t})})).displayName="PopoverArrow";var whe=fhe;const Ahe=uhe,Che=mhe,Mhe=t.forwardRef((({className:e,align:t="center",sideOffset:n=4,...i},r)=>a.jsx(whe,{ref:r,align:t,sideOffset:n,className:qa("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})));function The(e,a){throw new Error(`Unreachable case statement: ${JSON.stringify(e)}. Valid values are: ${Object.values(a).join(", ")}`)}Mhe.displayName=whe.displayName;const xhe=e=>{const{status:a,automationType:t,vsaasManaged:n}=e;switch(a){case _E.DRAFT:return n?"Off":"Draft";case _E.ACTIVE:return n?"On":"Active";case _E.RUNNING:return t===ME.ONE_TIME?"Scheduled":"Running";case _E.COMPLETED:return"Completed";case _E.FAILED:return"Failed";case _E.DEACTIVATED:return"Deactivated";case _E.SENDING:return"Sending";case _E.SCHEDULED:return"Scheduled";case _E.PARTIALLY_CANCELLED:return"Partially Cancelled";case _E.CANCELLED:return"Cancelled";case _E.ARCHIVED:return"Archived";default:throw The(a,_E)}},Nhe={[_E.DRAFT]:"bg-gray-500",[_E.ACTIVE]:"bg-green-500",[_E.RUNNING]:"bg-yellow-500",[_E.COMPLETED]:"bg-blue-500",[_E.FAILED]:"bg-red-500",[_E.ARCHIVED]:"bg-gray-500",[_E.DEACTIVATED]:"bg-red-500",[_E.CANCELLED]:"bg-red-500",[_E.PARTIALLY_CANCELLED]:"bg-red-500",[_E.SCHEDULED]:"bg-blue-500",[_E.SENDING]:"bg-yellow-500"},Ehe={[_E.DRAFT]:"bg-gray-100 text-gray-700 px-2 py-1",[_E.ACTIVE]:"bg-green-100 text-green-700 px-2 py-1",[_E.RUNNING]:"bg-yellow-100 text-yellow-700 px-2 py-1",[_E.COMPLETED]:"bg-blue-100 text-blue-700 px-2 py-1",[_E.FAILED]:"bg-red-100 text-red-700 px-2 py-1",[_E.ARCHIVED]:"bg-gray-100 text-gray-700 px-2 py-1",[_E.DEACTIVATED]:"bg-red-100 text-red-700 px-2 py-1",[_E.CANCELLED]:"bg-red-100 text-red-700 px-2 py-1",[_E.PARTIALLY_CANCELLED]:"bg-red-100 text-red-700 px-2 py-1",[_E.SCHEDULED]:"bg-blue-100 text-blue-700 px-2 py-1",[_E.SENDING]:"bg-yellow-100 text-yellow-700 px-2 py-1"},_he={[_E.DRAFT]:`Draft ${PN("engage:automation")?.toLowerCase()} can be activated or deactivated`,[_E.ACTIVE]:`Active ${PN("engage:automation")?.toLowerCase()} can be drafted, deactivated, run, or marked as failed`,[_E.RUNNING]:`Running ${PN("engage:automation")?.toLowerCase()} can be completed or marked as failed`,[_E.COMPLETED]:`Completed ${PN("engage:automation")?.toLowerCase()} can only be marked as failed`,[_E.FAILED]:`Failed ${PN("engage:automation")?.toLowerCase()} requires manual intervention to change state`,[_E.DEACTIVATED]:`Deactivated ${PN("engage:automation")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.CANCELLED]:`Cancelled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.PARTIALLY_CANCELLED]:`Partially cancelled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.SCHEDULED]:`Scheduled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.SENDING]:`Sending ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.ARCHIVED]:`Archived ${PN("engage:automation")?.toLowerCase()} cannot be reactivated - create a new one instead`},jhe=({rowOriginal:e,id:n,onToggle:i,className:r="",vsaasManaged:o=!1,onDuplicate:s,onArchive:l,onEdit:u,onCancel:c})=>{const[m,h]=t.useState(!1),[p,g]=t.useState(!1),f=e.status,v=[_E.ACTIVE,_E.DRAFT].filter((e=>e!==f&&(!1===o||e!==_E.DEACTIVATED))),y=f===_E.SENDING&&c,b=u&&f!==_E.SENDING&&f!==_E.COMPLETED,k=s,S=l,w=y||b||k||S,C=void 0!==i,M=w,T=C?v.length>0:w;return a.jsxs("div",{className:`${r}`,onClick:e=>e.stopPropagation(),children:[a.jsx(fx,{children:a.jsxs(Ahe,{open:!!T&&m,onOpenChange:h,children:[a.jsx(Che,{asChild:!0,children:a.jsx("div",{className:"relative",children:a.jsxs(Xa,{variant:"outline",className:`flex items-center justify-between px-4 py-2 rounded-md w-full ${Ehe[f]} ${T?"":"cursor-not-allowed opacity-80"}`,onClick:e=>{e.stopPropagation(),T&&h(!m)},children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:`w-2 h-2 rounded-full mr-2 ${Nhe[f]}`}),a.jsx("span",{children:xhe({status:f,automationType:e.triggerType??ME.ONE_TIME,vsaasManaged:o})})]}),T?a.jsx(A,{className:"h-4 w-4 ml-2"}):a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(V,{className:"h-4 w-4 ml-2 text-gray-500"})}),a.jsx(bx,{className:"max-w-xs p-2",children:a.jsx("p",{children:_he[f]})})]})]})})}),T&&a.jsx(Mhe,{className:"w-full p-2",align:"center",sideOffset:5,children:a.jsxs("div",{className:"py-1 flex flex-col gap-2 justify-start items-center",onClick:e=>e.stopPropagation(),children:[C&&v.map((t=>a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none "+(f===t?"font-medium":""),onClick:()=>{return e=t,i?.(n,e),void h(!1);var e},children:[a.jsx("div",{className:`w-2 h-2 rounded-full ${Nhe[t]} mr-2`}),xhe({status:t,automationType:e.triggerType??ME.ONE_TIME,vsaasManaged:o})]},t))),M&&a.jsxs(a.Fragment,{children:[y&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{c&&(c(n),h(!1))},children:[a.jsx(De,{className:"w-4 h-4 mr-2"}),"Cancel"]}),b&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{u&&(u(n),h(!1))},children:[a.jsx(Ae,{className:"w-4 h-4 mr-2"}),"Edit"]}),k&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{s&&(s(n,e.name),h(!1))},children:[a.jsx(D,{className:"w-4 h-4 mr-2"}),"Duplicate"]}),S&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{h(!1),g(!0)},children:[a.jsx(d,{className:"w-4 h-4 mr-2"}),"Archive"]})]})]})})]})}),a.jsx(wi,{open:p,onOpenChange:g,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",onClick:e=>e.stopPropagation(),children:[a.jsx(xi,{children:a.jsxs(Ei,{children:["Archive ",PN("engage:broadcast")]})}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"text-sm text-gray-600",children:["Are you sure you want to archive"," ",a.jsxs("span",{className:"font-semibold text-gray-900",children:['"',e?.name,'"']}),"?"]}),a.jsxs("div",{className:"text-sm text-gray-500 bg-amber-50 border border-amber-200 rounded-lg p-3",children:[a.jsx("p",{className:"font-medium text-amber-800 mb-1",children:"What happens when you archive:"}),a.jsxs("ul",{className:"text-amber-700 space-y-1",children:[a.jsx("li",{children:"• The item will be hidden from your main list"}),a.jsx("li",{children:"• Historical data and settings are preserved"})]})]}),a.jsxs(Ni,{className:"gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>g(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:()=>{l&&l(n),g(!1)},children:"Archive"})]})]})]})})]})},Phe=e=>{if(!e)return"$0.00";const a="string"==typeof e?e.replace(/,/g,""):e,t=Number(a);return Number.isNaN(t)?"$0.00":new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:2}).format(t)},Lhe=YA.enum(["google","meta"]);YA.enum(["ENABLED","PAUSED","REMOVED","UNKNOWN","UNSPECIFIED"]),YA.enum(["draft","connected","revoked"]);const Bhe=YA.object({encryptedData:YA.string(),iv:YA.string(),authTag:YA.string(),expiryDate:YA.coerce.date().optional()}),Rhe=YA.object({customer_id:YA.string().optional(),name:YA.string().optional(),is_manager:YA.boolean().optional(),login_customer_id:YA.string().optional(),is_admin:YA.boolean().optional()});YA.object({mccAccounts:YA.array(Rhe),directAccounts:YA.array(Rhe)});const Dhe=YA.object({platform:YA.literal("google"),customer_id:YA.string().optional(),name:YA.string().optional(),login_customer_id:YA.string().optional(),encrypted_credentials:Bhe.optional(),tracking_parameters_enabled:YA.boolean().optional().default(!1),offline_conversions_enabled:YA.boolean().optional(),conversion_action_id:YA.string().optional(),csv_conversion_auth:YA.object({username:YA.string(),password:YA.string(),latest_s3_key:YA.string().optional()}).optional()}),zhe=YA.object({platform:YA.literal("meta"),customer_id:YA.string().optional(),name:YA.string().optional(),business_id:YA.string().optional(),business_name:YA.string().optional(),currency:YA.string().optional(),timezone:YA.string().optional(),encrypted_credentials:Bhe.optional(),system_user_credentials:Bhe.optional(),system_user_meta_id:YA.string().optional(),tracking_parameters_enabled:YA.boolean().optional().default(!1),offline_conversions_enabled:YA.boolean().optional().default(!0),pixel_id:YA.string().optional()});var Ohe,Ihe;YA.discriminatedUnion("platform",[Dhe,zhe]),(Ihe=Ohe||(Ohe={})).CLICK="click",Ihe.TRANSACTION="transaction";const Khe=YA.enum(["paid","organic_search","social","referral","email","sms","direct","unknown"]),Hhe=YA.enum(["direct","unknown","Attentive Email","Attentive SMS","Google Ads","Google Organic Search","Google Business Profile","Facebook Ads","Facebook Organic","Instagram Ads","Instagram Organic","Bing Organic","Yahoo Organic","Twitter Organic","LinkedIn Organic","TikTok Organic","Pinterest Organic","Reddit Organic","YouTube Organic","DuckDuckGo Organic"]);YA.object({primary_source:YA.union([Hhe,YA.string()]),source_type:Khe,utm_source:YA.string().nullable(),utm_medium:YA.string().nullable(),utm_campaign:YA.string().nullable(),referrer:YA.string().nullable(),referrer_domain:YA.string().nullable(),landing_page_url:YA.string().nullable(),campaign_id:YA.string().nullable(),ad_account_id:YA.string().nullable().optional(),ad_platform:Lhe.nullable().optional(),visit_id:YA.string().nullable(),visit_date:YA.string().nullable(),keyword:YA.string().nullable().optional()});function Fhe(e){return(Fhe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ghe(e){if(null===e||!0===e||!1===e)return NaN;var a=Number(e);return isNaN(a)?a:a<0?Math.ceil(a):Math.floor(a)}function Vhe(e,a){if(a.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+a.length+" present")}function Jhe(e){Vhe(1,arguments);var a=Object.prototype.toString.call(e);return e instanceof Date||"object"===Fhe(e)&&"[object Date]"===a?new Date(e.getTime()):"number"==typeof e||"[object Number]"===a?new Date(e):new Date(NaN)}function Uhe(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);return isNaN(n)?new Date(NaN):n?(t.setDate(t.getDate()+n),t):t}function Whe(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);if(isNaN(n))return new Date(NaN);if(!n)return t;var i=t.getDate(),r=new Date(t.getTime());return r.setMonth(t.getMonth()+n+1,0),i>=r.getDate()?r:(t.setFullYear(r.getFullYear(),r.getMonth(),i),t)}J6(((e,a)=>{switch(a.type){case"SET_DATE_RANGE":return{...e,dateRange:a.payload};case"SET_CHANNEL":return{...e,channel:a.payload};case"SET_CAMPAIGN_ID":return{...e,campaignId:a.payload};case"SET_ATTRIBUTION_STYLE":return{...e,attributionStyle:a.payload};default:return e}}),{updateDateRange:e=>a=>{e({type:"SET_DATE_RANGE",payload:a})},updateChannel:e=>a=>{e({type:"SET_CHANNEL",payload:a})},updateCampaignId:e=>a=>{e({type:"SET_CAMPAIGN_ID",payload:a})},updateAttributionStyle:e=>a=>{e({type:"SET_ATTRIBUTION_STYLE",payload:a})}},{dateRange:void 0,channel:void 0,campaignId:void 0,attributionStyle:Ohe.CLICK});var qhe={};function Zhe(){return qhe}function $he(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getDay(),p=(h<d?7:0)+h-d;return m.setDate(m.getDate()-p),m.setHours(0,0,0,0),m}function Yhe(e){return Vhe(1,arguments),$he(e,{weekStartsOn:1})}function Qhe(e){Vhe(1,arguments);var a=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getFullYear(),n=new Date(0);n.setFullYear(t+1,0,4),n.setHours(0,0,0,0);var i=Yhe(n),r=new Date(0);r.setFullYear(t,0,4),r.setHours(0,0,0,0);var o=Yhe(r);return a.getTime()>=i.getTime()?t+1:a.getTime()>=o.getTime()?t:t-1}(e),t=new Date(0);return t.setFullYear(a,0,4),t.setHours(0,0,0,0),Yhe(t)}function Xhe(e){var a=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return a.setUTCFullYear(e.getFullYear()),e.getTime()-a.getTime()}function epe(e){Vhe(1,arguments);var a=Jhe(e);return a.setHours(0,0,0,0),a}function ape(e,a){Vhe(2,arguments);var t=epe(e),n=epe(a),i=t.getTime()-Xhe(t),r=n.getTime()-Xhe(n);return Math.round((i-r)/864e5)}function tpe(e,a){return Vhe(2,arguments),Uhe(e,7*Ghe(a))}function npe(e,a){return Vhe(2,arguments),Whe(e,12*Ghe(a))}function ipe(e,a){Vhe(2,arguments);var t=epe(e),n=epe(a);return t.getTime()===n.getTime()}function rpe(e){return Vhe(1,arguments),e instanceof Date||"object"===Fhe(e)&&"[object Date]"===Object.prototype.toString.call(e)}function ope(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return 12*(t.getFullYear()-n.getFullYear())+(t.getMonth()-n.getMonth())}function spe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getMonth();return a.setFullYear(a.getFullYear(),t+1,0),a.setHours(23,59,59,999),a}function lpe(e){Vhe(1,arguments);var a=Jhe(e);return a.setDate(1),a.setHours(0,0,0,0),a}function upe(e){Vhe(1,arguments);var a=Jhe(e),t=new Date(0);return t.setFullYear(a.getFullYear(),0,1),t.setHours(0,0,0,0),t}function cpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getDay(),p=6+(h<d?-7:0)-(h-d);return m.setDate(m.getDate()+p),m.setHours(23,59,59,999),m}function dpe(e){return Vhe(1,arguments),cpe(e,{weekStartsOn:1})}function mpe(e,a){return Vhe(2,arguments),function(e,a){Vhe(2,arguments);var t=Jhe(e).getTime(),n=Ghe(a);return new Date(t+n)}(e,-Ghe(a))}function hpe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getUTCDay(),n=(t<1?7:0)+t-1;return a.setUTCDate(a.getUTCDate()-n),a.setUTCHours(0,0,0,0),a}function ppe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getUTCFullYear(),n=new Date(0);n.setUTCFullYear(t+1,0,4),n.setUTCHours(0,0,0,0);var i=hpe(n),r=new Date(0);r.setUTCFullYear(t,0,4),r.setUTCHours(0,0,0,0);var o=hpe(r);return a.getTime()>=i.getTime()?t+1:a.getTime()>=o.getTime()?t:t-1}function gpe(e){Vhe(1,arguments);var a=Jhe(e),t=hpe(a).getTime()-function(e){Vhe(1,arguments);var a=ppe(e),t=new Date(0);return t.setUTCFullYear(a,0,4),t.setUTCHours(0,0,0,0),hpe(t)}(a).getTime();return Math.round(t/6048e5)+1}function fpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getUTCDay(),p=(h<d?7:0)+h-d;return m.setUTCDate(m.getUTCDate()-p),m.setUTCHours(0,0,0,0),m}function vpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Jhe(e),d=c.getUTCFullYear(),m=Zhe(),h=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==n?n:null===(l=m.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1);if(!(h>=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,h),p.setUTCHours(0,0,0,0);var g=fpe(p,a),f=new Date(0);f.setUTCFullYear(d,0,h),f.setUTCHours(0,0,0,0);var v=fpe(f,a);return c.getTime()>=g.getTime()?d+1:c.getTime()>=v.getTime()?d:d-1}function ype(e,a){Vhe(1,arguments);var t=Jhe(e),n=fpe(t,a).getTime()-function(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:c.firstWeekContainsDate)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1),m=vpe(e,a),h=new Date(0);return h.setUTCFullYear(m,0,d),h.setUTCHours(0,0,0,0),fpe(h,a)}(t,a).getTime();return Math.round(n/6048e5)+1}function bpe(e,a){for(var t=e<0?"-":"",n=Math.abs(e).toString();n.length<a;)n="0"+n;return t+n}var kpe=function(e,a){var t=e.getUTCFullYear(),n=t>0?t:1-t;return bpe("yy"===a?n%100:n,a.length)},Spe=function(e,a){var t=e.getUTCMonth();return"M"===a?String(t+1):bpe(t+1,2)},wpe=function(e,a){return bpe(e.getUTCDate(),a.length)},Ape=function(e,a){return bpe(e.getUTCHours()%12||12,a.length)},Cpe=function(e,a){return bpe(e.getUTCHours(),a.length)},Mpe=function(e,a){return bpe(e.getUTCMinutes(),a.length)},Tpe=function(e,a){return bpe(e.getUTCSeconds(),a.length)},xpe=function(e,a){var t=a.length,n=e.getUTCMilliseconds();return bpe(Math.floor(n*Math.pow(10,t-3)),a.length)},Npe="midnight",Epe="noon",_pe="morning",jpe="afternoon",Ppe="evening",Lpe="night",Bpe={G:function(e,a,t){var n=e.getUTCFullYear()>0?1:0;switch(a){case"G":case"GG":case"GGG":return t.era(n,{width:"abbreviated"});case"GGGGG":return t.era(n,{width:"narrow"});default:return t.era(n,{width:"wide"})}},y:function(e,a,t){if("yo"===a){var n=e.getUTCFullYear();return t.ordinalNumber(n>0?n:1-n,{unit:"year"})}return kpe(e,a)},Y:function(e,a,t,n){var i=vpe(e,n),r=i>0?i:1-i;return"YY"===a?bpe(r%100,2):"Yo"===a?t.ordinalNumber(r,{unit:"year"}):bpe(r,a.length)},R:function(e,a){return bpe(ppe(e),a.length)},u:function(e,a){return bpe(e.getUTCFullYear(),a.length)},Q:function(e,a,t){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(a){case"Q":return String(n);case"QQ":return bpe(n,2);case"Qo":return t.ordinalNumber(n,{unit:"quarter"});case"QQQ":return t.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(n,{width:"narrow",context:"formatting"});default:return t.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,a,t){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(a){case"q":return String(n);case"qq":return bpe(n,2);case"qo":return t.ordinalNumber(n,{unit:"quarter"});case"qqq":return t.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(n,{width:"narrow",context:"standalone"});default:return t.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,a,t){var n=e.getUTCMonth();switch(a){case"M":case"MM":return Spe(e,a);case"Mo":return t.ordinalNumber(n+1,{unit:"month"});case"MMM":return t.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(n,{width:"narrow",context:"formatting"});default:return t.month(n,{width:"wide",context:"formatting"})}},L:function(e,a,t){var n=e.getUTCMonth();switch(a){case"L":return String(n+1);case"LL":return bpe(n+1,2);case"Lo":return t.ordinalNumber(n+1,{unit:"month"});case"LLL":return t.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(n,{width:"narrow",context:"standalone"});default:return t.month(n,{width:"wide",context:"standalone"})}},w:function(e,a,t,n){var i=ype(e,n);return"wo"===a?t.ordinalNumber(i,{unit:"week"}):bpe(i,a.length)},I:function(e,a,t){var n=gpe(e);return"Io"===a?t.ordinalNumber(n,{unit:"week"}):bpe(n,a.length)},d:function(e,a,t){return"do"===a?t.ordinalNumber(e.getUTCDate(),{unit:"date"}):wpe(e,a)},D:function(e,a,t){var n=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getTime();a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0);var n=a.getTime();return Math.floor((t-n)/864e5)+1}(e);return"Do"===a?t.ordinalNumber(n,{unit:"dayOfYear"}):bpe(n,a.length)},E:function(e,a,t){var n=e.getUTCDay();switch(a){case"E":case"EE":case"EEE":return t.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(n,{width:"short",context:"formatting"});default:return t.day(n,{width:"wide",context:"formatting"})}},e:function(e,a,t,n){var i=e.getUTCDay(),r=(i-n.weekStartsOn+8)%7||7;switch(a){case"e":return String(r);case"ee":return bpe(r,2);case"eo":return t.ordinalNumber(r,{unit:"day"});case"eee":return t.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(i,{width:"short",context:"formatting"});default:return t.day(i,{width:"wide",context:"formatting"})}},c:function(e,a,t,n){var i=e.getUTCDay(),r=(i-n.weekStartsOn+8)%7||7;switch(a){case"c":return String(r);case"cc":return bpe(r,a.length);case"co":return t.ordinalNumber(r,{unit:"day"});case"ccc":return t.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(i,{width:"narrow",context:"standalone"});case"cccccc":return t.day(i,{width:"short",context:"standalone"});default:return t.day(i,{width:"wide",context:"standalone"})}},i:function(e,a,t){var n=e.getUTCDay(),i=0===n?7:n;switch(a){case"i":return String(i);case"ii":return bpe(i,a.length);case"io":return t.ordinalNumber(i,{unit:"day"});case"iii":return t.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(n,{width:"short",context:"formatting"});default:return t.day(n,{width:"wide",context:"formatting"})}},a:function(e,a,t){var n=e.getUTCHours()/12>=1?"pm":"am";switch(a){case"a":case"aa":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,a,t){var n,i=e.getUTCHours();switch(n=12===i?Epe:0===i?Npe:i/12>=1?"pm":"am",a){case"b":case"bb":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,a,t){var n,i=e.getUTCHours();switch(n=i>=17?Ppe:i>=12?jpe:i>=4?_pe:Lpe,a){case"B":case"BB":case"BBB":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,a,t){if("ho"===a){var n=e.getUTCHours()%12;return 0===n&&(n=12),t.ordinalNumber(n,{unit:"hour"})}return Ape(e,a)},H:function(e,a,t){return"Ho"===a?t.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Cpe(e,a)},K:function(e,a,t){var n=e.getUTCHours()%12;return"Ko"===a?t.ordinalNumber(n,{unit:"hour"}):bpe(n,a.length)},k:function(e,a,t){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===a?t.ordinalNumber(n,{unit:"hour"}):bpe(n,a.length)},m:function(e,a,t){return"mo"===a?t.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Mpe(e,a)},s:function(e,a,t){return"so"===a?t.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Tpe(e,a)},S:function(e,a){return xpe(e,a)},X:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(a){case"X":return Dpe(i);case"XXXX":case"XX":return zpe(i);default:return zpe(i,":")}},x:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"x":return Dpe(i);case"xxxx":case"xx":return zpe(i);default:return zpe(i,":")}},O:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"O":case"OO":case"OOO":return"GMT"+Rpe(i,":");default:return"GMT"+zpe(i,":")}},z:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"z":case"zz":case"zzz":return"GMT"+Rpe(i,":");default:return"GMT"+zpe(i,":")}},t:function(e,a,t,n){return bpe(Math.floor((n._originalDate||e).getTime()/1e3),a.length)},T:function(e,a,t,n){return bpe((n._originalDate||e).getTime(),a.length)}};function Rpe(e,a){var t=e>0?"-":"+",n=Math.abs(e),i=Math.floor(n/60),r=n%60;if(0===r)return t+String(i);var o=a;return t+String(i)+o+bpe(r,2)}function Dpe(e,a){return e%60==0?(e>0?"-":"+")+bpe(Math.abs(e)/60,2):zpe(e,a)}function zpe(e,a){var t=a||"",n=e>0?"-":"+",i=Math.abs(e);return n+bpe(Math.floor(i/60),2)+t+bpe(i%60,2)}var Ope=function(e,a){switch(e){case"P":return a.date({width:"short"});case"PP":return a.date({width:"medium"});case"PPP":return a.date({width:"long"});default:return a.date({width:"full"})}},Ipe=function(e,a){switch(e){case"p":return a.time({width:"short"});case"pp":return a.time({width:"medium"});case"ppp":return a.time({width:"long"});default:return a.time({width:"full"})}},Kpe={p:Ipe,P:function(e,a){var t,n=e.match(/(P+)(p+)?/)||[],i=n[1],r=n[2];if(!r)return Ope(e,a);switch(i){case"P":t=a.dateTime({width:"short"});break;case"PP":t=a.dateTime({width:"medium"});break;case"PPP":t=a.dateTime({width:"long"});break;default:t=a.dateTime({width:"full"})}return t.replace("{{date}}",Ope(i,a)).replace("{{time}}",Ipe(r,a))}},Hpe=["D","DD"],Fpe=["YY","YYYY"];function Gpe(e,a,t){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(a,"`) for formatting years to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(a,"`) for formatting years to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(a,"`) for formatting days of the month to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(a,"`) for formatting days of the month to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var Vpe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function Jpe(e){return function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}var Upe={date:Jpe({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:Jpe({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:Jpe({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Wpe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function qpe(e){return function(a,t){var n;if("formatting"===(null!=t&&t.context?String(t.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,r=null!=t&&t.width?String(t.width):i;n=e.formattingValues[r]||e.formattingValues[i]}else{var o=e.defaultWidth,s=null!=t&&t.width?String(t.width):e.defaultWidth;n=e.values[s]||e.values[o]}return n[e.argumentCallback?e.argumentCallback(a):a]}}var Zpe={ordinalNumber:function(e,a){var t=Number(e),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},era:qpe({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:qpe({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:qpe({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:qpe({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:qpe({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function $pe(e){return function(a){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,i=a.match(n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth]);if(!i)return null;var r,o=i[0],s=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?function(e,a){for(var t=0;t<e.length;t++)if(a(e[t]))return t;return}(s,(function(e){return e.test(o)})):function(e,a){for(var t in e)if(e.hasOwnProperty(t)&&a(e[t]))return t;return}(s,(function(e){return e.test(o)}));return r=e.valueCallback?e.valueCallback(l):l,{value:r=t.valueCallback?t.valueCallback(r):r,rest:a.slice(o.length)}}}var Ype={ordinalNumber:function(e){return function(a){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.match(e.matchPattern);if(!n)return null;var i=n[0],r=a.match(e.parsePattern);if(!r)return null;var o=e.valueCallback?e.valueCallback(r[0]):r[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:a.slice(i.length)}}}({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:$pe({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:$pe({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:$pe({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:$pe({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:$pe({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},Qpe={code:"en-US",formatDistance:function(e,a,t){var n,i=Vpe[e];return n="string"==typeof i?i:1===a?i.one:i.other.replace("{{count}}",a.toString()),null!=t&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n},formatLong:Upe,formatRelative:function(e,a,t,n){return Wpe[e]},localize:Zpe,match:Ype,options:{weekStartsOn:0,firstWeekContainsDate:1}},Xpe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ege=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,age=/^'([^]*?)'?$/,tge=/''/g,nge=/[a-zA-Z]/;function ige(e,a,t){var n,i,r,o,s,l,u,c,d,m,h,p,g,f,v,y,b,k;Vhe(2,arguments);var S=String(a),w=Zhe(),A=null!==(n=null!==(i=null==t?void 0:t.locale)&&void 0!==i?i:w.locale)&&void 0!==n?n:Qpe,C=Ghe(null!==(r=null!==(o=null!==(s=null!==(l=null==t?void 0:t.firstWeekContainsDate)&&void 0!==l?l:null==t||null===(u=t.locale)||void 0===u||null===(c=u.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==s?s:w.firstWeekContainsDate)&&void 0!==o?o:null===(d=w.locale)||void 0===d||null===(m=d.options)||void 0===m?void 0:m.firstWeekContainsDate)&&void 0!==r?r:1);if(!(C>=1&&C<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var M=Ghe(null!==(h=null!==(p=null!==(g=null!==(f=null==t?void 0:t.weekStartsOn)&&void 0!==f?f:null==t||null===(v=t.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==g?g:w.weekStartsOn)&&void 0!==p?p:null===(b=w.locale)||void 0===b||null===(k=b.options)||void 0===k?void 0:k.weekStartsOn)&&void 0!==h?h:0);if(!(M>=0&&M<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!A.localize)throw new RangeError("locale must contain localize property");if(!A.formatLong)throw new RangeError("locale must contain formatLong property");var T=Jhe(e);if(!function(e){if(Vhe(1,arguments),!rpe(e)&&"number"!=typeof e)return!1;var a=Jhe(e);return!isNaN(Number(a))}(T))throw new RangeError("Invalid time value");var x=mpe(T,Xhe(T)),N={firstWeekContainsDate:C,weekStartsOn:M,locale:A,_originalDate:T};return S.match(ege).map((function(e){var a=e[0];return"p"===a||"P"===a?(0,Kpe[a])(e,A.formatLong):e})).join("").match(Xpe).map((function(n){if("''"===n)return"'";var i=n[0];if("'"===i)return function(e){var a=e.match(age);if(!a)return e;return a[1].replace(tge,"'")}(n);var r=Bpe[i];if(r)return null!=t&&t.useAdditionalWeekYearTokens||-1===Fpe.indexOf(n)||Gpe(n,a,String(e)),null!=t&&t.useAdditionalDayOfYearTokens||!function(e){return-1!==Hpe.indexOf(e)}(n)||Gpe(n,a,String(e)),r(x,n,A.localize,N);if(i.match(nge))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return n})).join("")}function rge(e){return Vhe(1,arguments),Math.floor(function(e){return Vhe(1,arguments),Jhe(e).getTime()}(e)/1e3)}function oge(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:c.firstWeekContainsDate)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1),m=function(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Jhe(e),d=c.getFullYear(),m=Zhe(),h=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==n?n:null===(l=m.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1);if(!(h>=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setFullYear(d+1,0,h),p.setHours(0,0,0,0);var g=$he(p,a),f=new Date(0);f.setFullYear(d,0,h),f.setHours(0,0,0,0);var v=$he(f,a);return c.getTime()>=g.getTime()?d+1:c.getTime()>=v.getTime()?d:d-1}(e,a),h=new Date(0);return h.setFullYear(m,0,d),h.setHours(0,0,0,0),$he(h,a)}function sge(e,a){return Vhe(1,arguments),function(e,a,t){Vhe(2,arguments);var n=$he(e,t),i=$he(a,t),r=n.getTime()-Xhe(n),o=i.getTime()-Xhe(i);return Math.round((r-o)/6048e5)}(function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getMonth();return a.setFullYear(a.getFullYear(),t+1,0),a.setHours(0,0,0,0),a}(e),lpe(e),a)+1}function lge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getTime()>n.getTime()}function uge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getTime()<n.getTime()}function cge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()}function dge(e,a){return Vhe(2,arguments),Uhe(e,-Ghe(a))}function mge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a),i=t.getFullYear(),r=t.getDate(),o=new Date(0);o.setFullYear(i,n,15),o.setHours(0,0,0,0);var s=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getFullYear(),n=a.getMonth(),i=new Date(0);return i.setFullYear(t,n+1,0),i.setHours(0,0,0,0),i.getDate()}(o);return t.setMonth(n,Math.min(r,s)),t}function hge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);return isNaN(t.getTime())?new Date(NaN):(t.setFullYear(n),t)}var pge=function(){return pge=Object.assign||function(e){for(var a,t=1,n=arguments.length;t<n;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);return e},pge.apply(this,arguments)};function gge(e,a,t){for(var n,i=0,r=a.length;i<r;i++)!n&&i in a||(n||(n=Array.prototype.slice.call(a,0,i)),n[i]=a[i]);return e.concat(n||Array.prototype.slice.call(a))}function fge(e){return"multiple"===e.mode}function vge(e){return"range"===e.mode}function yge(e){return"single"===e.mode}"function"==typeof SuppressedError&&SuppressedError;var bge={root:"rdp",multiple_months:"rdp-multiple_months",with_weeknumber:"rdp-with_weeknumber",vhidden:"rdp-vhidden",button_reset:"rdp-button_reset",button:"rdp-button",caption:"rdp-caption",caption_start:"rdp-caption_start",caption_end:"rdp-caption_end",caption_between:"rdp-caption_between",caption_label:"rdp-caption_label",caption_dropdowns:"rdp-caption_dropdowns",dropdown:"rdp-dropdown",dropdown_month:"rdp-dropdown_month",dropdown_year:"rdp-dropdown_year",dropdown_icon:"rdp-dropdown_icon",months:"rdp-months",month:"rdp-month",table:"rdp-table",tbody:"rdp-tbody",tfoot:"rdp-tfoot",head:"rdp-head",head_row:"rdp-head_row",head_cell:"rdp-head_cell",nav:"rdp-nav",nav_button:"rdp-nav_button",nav_button_previous:"rdp-nav_button_previous",nav_button_next:"rdp-nav_button_next",nav_icon:"rdp-nav_icon",row:"rdp-row",weeknumber:"rdp-weeknumber",cell:"rdp-cell",day:"rdp-day",day_today:"rdp-day_today",day_outside:"rdp-day_outside",day_selected:"rdp-day_selected",day_disabled:"rdp-day_disabled",day_hidden:"rdp-day_hidden",day_range_start:"rdp-day_range_start",day_range_end:"rdp-day_range_end",day_range_middle:"rdp-day_range_middle"};var kge=Object.freeze({__proto__:null,formatCaption:function(e,a){return ige(e,"LLLL y",a)},formatDay:function(e,a){return ige(e,"d",a)},formatMonthCaption:function(e,a){return ige(e,"LLLL",a)},formatWeekNumber:function(e){return"".concat(e)},formatWeekdayName:function(e,a){return ige(e,"cccccc",a)},formatYearCaption:function(e,a){return ige(e,"yyyy",a)}}),Sge=Object.freeze({__proto__:null,labelDay:function(e,a,t){return ige(e,"do MMMM (EEEE)",t)},labelMonthDropdown:function(){return"Month: "},labelNext:function(){return"Go to next month"},labelPrevious:function(){return"Go to previous month"},labelWeekNumber:function(e){return"Week n. ".concat(e)},labelWeekday:function(e,a){return ige(e,"cccc",a)},labelYearDropdown:function(){return"Year: "}});var wge=t.createContext(void 0);function Age(e){var t,n,i=e.initialProps,r={captionLayout:"buttons",classNames:bge,formatters:kge,labels:Sge,locale:Qpe,modifiersClassNames:{},modifiers:{},numberOfMonths:1,styles:{},today:new Date,mode:"default"},o=function(e){var a=e.fromYear,t=e.toYear,n=e.fromMonth,i=e.toMonth,r=e.fromDate,o=e.toDate;return n?r=lpe(n):a&&(r=new Date(a,0,1)),i?o=spe(i):t&&(o=new Date(t,11,31)),{fromDate:r?epe(r):void 0,toDate:o?epe(o):void 0}}(i),s=o.fromDate,l=o.toDate,u=null!==(t=i.captionLayout)&&void 0!==t?t:r.captionLayout;"buttons"===u||s&&l||(u="buttons"),(yge(i)||fge(i)||vge(i))&&(n=i.onSelect);var c=pge(pge(pge({},r),i),{captionLayout:u,classNames:pge(pge({},r.classNames),i.classNames),components:pge({},i.components),formatters:pge(pge({},r.formatters),i.formatters),fromDate:s,labels:pge(pge({},r.labels),i.labels),mode:i.mode||r.mode,modifiers:pge(pge({},r.modifiers),i.modifiers),modifiersClassNames:pge(pge({},r.modifiersClassNames),i.modifiersClassNames),onSelect:n,styles:pge(pge({},r.styles),i.styles),toDate:l});return a.jsx(wge.Provider,{value:c,children:e.children})}function Cge(){var e=t.useContext(wge);if(!e)throw new Error("useDayPicker must be used within a DayPickerProvider.");return e}function Mge(e){var t=Cge();return a.jsx("div",{className:t.classNames.caption_label,style:t.styles.caption_label,"aria-live":"polite",role:"presentation",id:e.id,children:(0,t.formatters.formatCaption)(e.displayMonth,{locale:t.locale})})}function Tge(e){return a.jsx("svg",pge({width:"8px",height:"8px",viewBox:"0 0 120 120","data-testid":"iconDropdown"},e,{children:a.jsx("path",{d:"M4.22182541,48.2218254 C8.44222828,44.0014225 15.2388494,43.9273804 19.5496459,47.9996989 L19.7781746,48.2218254 L60,88.443 L100.221825,48.2218254 C104.442228,44.0014225 111.238849,43.9273804 115.549646,47.9996989 L115.778175,48.2218254 C119.998577,52.4422283 120.07262,59.2388494 116.000301,63.5496459 L115.778175,63.7781746 L67.7781746,111.778175 C63.5577717,115.998577 56.7611506,116.07262 52.4503541,112.000301 L52.2218254,111.778175 L4.22182541,63.7781746 C-0.0739418023,59.4824074 -0.0739418023,52.5175926 4.22182541,48.2218254 Z",fill:"currentColor",fillRule:"nonzero"})}))}function xge(e){var t,n,i=e.onChange,r=e.value,o=e.children,s=e.caption,l=e.className,u=e.style,c=Cge(),d=null!==(n=null===(t=c.components)||void 0===t?void 0:t.IconDropdown)&&void 0!==n?n:Tge;return a.jsxs("div",{className:l,style:u,children:[a.jsx("span",{className:c.classNames.vhidden,children:e["aria-label"]}),a.jsx("select",{name:e.name,"aria-label":e["aria-label"],className:c.classNames.dropdown,style:c.styles.dropdown,value:r,onChange:i,children:o}),a.jsxs("div",{className:c.classNames.caption_label,style:c.styles.caption_label,"aria-hidden":"true",children:[s,a.jsx(d,{className:c.classNames.dropdown_icon,style:c.styles.dropdown_icon})]})]})}function Nge(e){var t,n=Cge(),i=n.fromDate,r=n.toDate,o=n.styles,s=n.locale,l=n.formatters.formatMonthCaption,u=n.classNames,c=n.components,d=n.labels.labelMonthDropdown;if(!i)return a.jsx(a.Fragment,{});if(!r)return a.jsx(a.Fragment,{});var m=[];if(function(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getFullYear()===n.getFullYear()}(i,r))for(var h=lpe(i),p=i.getMonth();p<=r.getMonth();p++)m.push(mge(h,p));else for(h=lpe(new Date),p=0;p<=11;p++)m.push(mge(h,p));var g=null!==(t=null==c?void 0:c.Dropdown)&&void 0!==t?t:xge;return a.jsx(g,{name:"months","aria-label":d(),className:u.dropdown_month,style:o.dropdown_month,onChange:function(a){var t=Number(a.target.value),n=mge(lpe(e.displayMonth),t);e.onChange(n)},value:e.displayMonth.getMonth(),caption:l(e.displayMonth,{locale:s}),children:m.map((function(e){return a.jsx("option",{value:e.getMonth(),children:l(e,{locale:s})},e.getMonth())}))})}function Ege(e){var t,n=e.displayMonth,i=Cge(),r=i.fromDate,o=i.toDate,s=i.locale,l=i.styles,u=i.classNames,c=i.components,d=i.formatters.formatYearCaption,m=i.labels.labelYearDropdown,h=[];if(!r)return a.jsx(a.Fragment,{});if(!o)return a.jsx(a.Fragment,{});for(var p=r.getFullYear(),g=o.getFullYear(),f=p;f<=g;f++)h.push(hge(upe(new Date),f));var v=null!==(t=null==c?void 0:c.Dropdown)&&void 0!==t?t:xge;return a.jsx(v,{name:"years","aria-label":m(),className:u.dropdown_year,style:l.dropdown_year,onChange:function(a){var t=hge(lpe(n),Number(a.target.value));e.onChange(t)},value:n.getFullYear(),caption:d(n,{locale:s}),children:h.map((function(e){return a.jsx("option",{value:e.getFullYear(),children:d(e,{locale:s})},e.getFullYear())}))})}function _ge(){var e=Cge(),a=function(e){var a=e.month||e.defaultMonth||e.today||new Date,t=e.toDate,n=e.fromDate,i=e.numberOfMonths,r=void 0===i?1:i;return t&&ope(t,a)<0&&(a=Whe(t,-1*(r-1))),n&&ope(a,n)<0&&(a=n),lpe(a)}(e),n=function(e,a){var n=t.useState(e);return[void 0===a?n[0]:a,n[1]]}(a,e.month),i=n[1];return[n[0],function(a){var t;if(!e.disableNavigation){var n=lpe(a);i(n),null===(t=e.onMonthChange)||void 0===t||t.call(e,n)}}]}var jge=t.createContext(void 0);function Pge(e){var t=Cge(),n=_ge(),i=n[0],r=n[1],o=function(e,a){for(var t=a.reverseMonths,n=a.numberOfMonths,i=lpe(e),r=ope(lpe(Whe(i,n)),i),o=[],s=0;s<r;s++){var l=Whe(i,s);o.push(l)}return t&&(o=o.reverse()),o}(i,t),s=function(e,a){if(!a.disableNavigation){var t=a.toDate,n=a.numberOfMonths,i=void 0===n?1:n,r=a.pagedNavigation?i:1,o=lpe(e);if(!t)return Whe(o,r);if(!(ope(t,e)<i))return Whe(o,r)}}(i,t),l=function(e,a){if(!a.disableNavigation){var t=a.fromDate,n=a.numberOfMonths,i=a.pagedNavigation?void 0===n?1:n:1,r=lpe(e);if(!t)return Whe(r,-i);if(!(ope(r,t)<=0))return Whe(r,-i)}}(i,t),u=function(e){return o.some((function(a){return cge(e,a)}))};return a.jsx(jge.Provider,{value:{currentMonth:i,displayMonths:o,goToMonth:r,goToDate:function(e,a){u(e)||(a&&uge(e,a)?r(Whe(e,1+-1*t.numberOfMonths)):r(e))},previousMonth:l,nextMonth:s,isDateDisplayed:u},children:e.children})}function Lge(){var e=t.useContext(jge);if(!e)throw new Error("useNavigation must be used within a NavigationProvider");return e}function Bge(e){var t,n=Cge(),i=n.classNames,r=n.styles,o=n.components,s=Lge().goToMonth,l=function(a){s(Whe(a,e.displayIndex?-e.displayIndex:0))},u=null!==(t=null==o?void 0:o.CaptionLabel)&&void 0!==t?t:Mge,c=a.jsx(u,{id:e.id,displayMonth:e.displayMonth});return a.jsxs("div",{className:i.caption_dropdowns,style:r.caption_dropdowns,children:[a.jsx("div",{className:i.vhidden,children:c}),a.jsx(Nge,{onChange:l,displayMonth:e.displayMonth}),a.jsx(Ege,{onChange:l,displayMonth:e.displayMonth})]})}function Rge(e){return a.jsx("svg",pge({width:"16px",height:"16px",viewBox:"0 0 120 120"},e,{children:a.jsx("path",{d:"M69.490332,3.34314575 C72.6145263,0.218951416 77.6798462,0.218951416 80.8040405,3.34314575 C83.8617626,6.40086786 83.9268205,11.3179931 80.9992143,14.4548388 L80.8040405,14.6568542 L35.461,60 L80.8040405,105.343146 C83.8617626,108.400868 83.9268205,113.317993 80.9992143,116.454839 L80.8040405,116.656854 C77.7463184,119.714576 72.8291931,119.779634 69.6923475,116.852028 L69.490332,116.656854 L18.490332,65.6568542 C15.4326099,62.5991321 15.367552,57.6820069 18.2951583,54.5451612 L18.490332,54.3431458 L69.490332,3.34314575 Z",fill:"currentColor",fillRule:"nonzero"})}))}function Dge(e){return a.jsx("svg",pge({width:"16px",height:"16px",viewBox:"0 0 120 120"},e,{children:a.jsx("path",{d:"M49.8040405,3.34314575 C46.6798462,0.218951416 41.6145263,0.218951416 38.490332,3.34314575 C35.4326099,6.40086786 35.367552,11.3179931 38.2951583,14.4548388 L38.490332,14.6568542 L83.8333725,60 L38.490332,105.343146 C35.4326099,108.400868 35.367552,113.317993 38.2951583,116.454839 L38.490332,116.656854 C41.5480541,119.714576 46.4651794,119.779634 49.602025,116.852028 L49.8040405,116.656854 L100.804041,65.6568542 C103.861763,62.5991321 103.926821,57.6820069 100.999214,54.5451612 L100.804041,54.3431458 L49.8040405,3.34314575 Z",fill:"currentColor"})}))}var zge=t.forwardRef((function(e,t){var n=Cge(),i=n.classNames,r=n.styles,o=[i.button_reset,i.button];e.className&&o.push(e.className);var s=o.join(" "),l=pge(pge({},r.button_reset),r.button);return e.style&&Object.assign(l,e.style),a.jsx("button",pge({},e,{ref:t,type:"button",className:s,style:l}))}));function Oge(e){var t,n,i=Cge(),r=i.dir,o=i.locale,s=i.classNames,l=i.styles,u=i.labels,c=u.labelPrevious,d=u.labelNext,m=i.components;if(!e.nextMonth&&!e.previousMonth)return a.jsx(a.Fragment,{});var h=c(e.previousMonth,{locale:o}),p=[s.nav_button,s.nav_button_previous].join(" "),g=d(e.nextMonth,{locale:o}),f=[s.nav_button,s.nav_button_next].join(" "),v=null!==(t=null==m?void 0:m.IconRight)&&void 0!==t?t:Dge,y=null!==(n=null==m?void 0:m.IconLeft)&&void 0!==n?n:Rge;return a.jsxs("div",{className:s.nav,style:l.nav,children:[!e.hidePrevious&&a.jsx(zge,{name:"previous-month","aria-label":h,className:p,style:l.nav_button_previous,disabled:!e.previousMonth,onClick:e.onPreviousClick,children:a.jsx("rtl"===r?v:y,{className:s.nav_icon,style:l.nav_icon})}),!e.hideNext&&a.jsx(zge,{name:"next-month","aria-label":g,className:f,style:l.nav_button_next,disabled:!e.nextMonth,onClick:e.onNextClick,children:a.jsx("rtl"===r?y:v,{className:s.nav_icon,style:l.nav_icon})})]})}function Ige(e){var t=Cge().numberOfMonths,n=Lge(),i=n.previousMonth,r=n.nextMonth,o=n.goToMonth,s=n.displayMonths,l=s.findIndex((function(a){return cge(e.displayMonth,a)})),u=0===l,c=l===s.length-1;return a.jsx(Oge,{displayMonth:e.displayMonth,hideNext:t>1&&(u||!c),hidePrevious:t>1&&(c||!u),nextMonth:r,previousMonth:i,onPreviousClick:function(){i&&o(i)},onNextClick:function(){r&&o(r)}})}function Kge(e){var t,n,i=Cge(),r=i.classNames,o=i.styles,s=i.captionLayout,l=i.components,u=null!==(t=null==l?void 0:l.CaptionLabel)&&void 0!==t?t:Mge;return n=i.disableNavigation?a.jsx(u,{id:e.id,displayMonth:e.displayMonth}):"dropdown"===s?a.jsx(Bge,{displayMonth:e.displayMonth,id:e.id}):a.jsxs(a.Fragment,"dropdown-buttons"===s?{children:[a.jsx(Bge,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),a.jsx(Ige,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}:{children:[a.jsx(u,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),a.jsx(Ige,{displayMonth:e.displayMonth,id:e.id})]}),a.jsx("div",{className:r.caption,style:o.caption,children:n})}function Hge(e){var t=Cge(),n=t.footer;return n?a.jsx("tfoot",{className:t.classNames.tfoot,style:t.styles.tfoot,children:a.jsx("tr",{children:a.jsx("td",{colSpan:8,children:n})})}):a.jsx(a.Fragment,{})}function Fge(){var e=Cge(),t=e.classNames,n=e.styles,i=e.showWeekNumber,r=e.locale,o=e.formatters.formatWeekdayName,s=e.labels.labelWeekday,l=function(e,a,t){for(var n=t?Yhe(new Date):$he(new Date,{locale:e,weekStartsOn:a}),i=[],r=0;r<7;r++){var o=Uhe(n,r);i.push(o)}return i}(r,e.weekStartsOn,e.ISOWeek);return a.jsxs("tr",{style:n.head_row,className:t.head_row,children:[i&&a.jsx("td",{style:n.head_cell,className:t.head_cell}),l.map((function(e,i){return a.jsx("th",{scope:"col",className:t.head_cell,style:n.head_cell,"aria-label":s(e,{locale:r}),children:o(e,{locale:r})},i)}))]})}function Gge(){var e,t=Cge(),n=t.components,i=null!==(e=null==n?void 0:n.HeadRow)&&void 0!==e?e:Fge;return a.jsx("thead",{style:t.styles.head,className:t.classNames.head,children:a.jsx(i,{})})}function Vge(e){var t=Cge();return a.jsx(a.Fragment,{children:(0,t.formatters.formatDay)(e.date,{locale:t.locale})})}var Jge=t.createContext(void 0);function Uge(e){if(!fge(e.initialProps)){return a.jsx(Jge.Provider,{value:{selected:void 0,modifiers:{disabled:[]}},children:e.children})}return a.jsx(Wge,{initialProps:e.initialProps,children:e.children})}function Wge(e){var t=e.initialProps,n=e.children,i=t.selected,r=t.min,o=t.max,s={disabled:[]};return i&&s.disabled.push((function(e){var a=o&&i.length>o-1,t=i.some((function(a){return ipe(a,e)}));return Boolean(a&&!t)})),a.jsx(Jge.Provider,{value:{selected:i,onDayClick:function(e,a,n){var s,l;if((null===(s=t.onDayClick)||void 0===s||s.call(t,e,a,n),!Boolean(a.selected&&r&&(null==i?void 0:i.length)===r))&&!Boolean(!a.selected&&o&&(null==i?void 0:i.length)===o)){var u=i?gge([],i):[];if(a.selected){var c=u.findIndex((function(a){return ipe(e,a)}));u.splice(c,1)}else u.push(e);null===(l=t.onSelect)||void 0===l||l.call(t,u,e,a,n)}},modifiers:s},children:n})}function qge(){var e=t.useContext(Jge);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}var Zge,$ge,Yge=t.createContext(void 0);function Qge(e){if(!vge(e.initialProps)){return a.jsx(Yge.Provider,{value:{selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}},children:e.children})}return a.jsx(Xge,{initialProps:e.initialProps,children:e.children})}function Xge(e){var t=e.initialProps,n=e.children,i=t.selected,r=i||{},o=r.from,s=r.to,l=t.min,u=t.max,c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],s?(c.range_end=[s],ipe(o,s)||(c.range_middle=[{after:o,before:s}])):c.range_end=[o]):s&&(c.range_start=[s],c.range_end=[s]),l&&(o&&!s&&c.disabled.push({after:dge(o,l-1),before:Uhe(o,l-1)}),o&&s&&c.disabled.push({after:o,before:Uhe(o,l-1)}),!o&&s&&c.disabled.push({after:dge(s,l-1),before:Uhe(s,l-1)})),u){if(o&&!s&&(c.disabled.push({before:Uhe(o,1-u)}),c.disabled.push({after:Uhe(o,u-1)})),o&&s){var d=u-(ape(s,o)+1);c.disabled.push({before:dge(o,d)}),c.disabled.push({after:Uhe(s,d)})}!o&&s&&(c.disabled.push({before:Uhe(s,1-u)}),c.disabled.push({after:Uhe(s,u-1)}))}return a.jsx(Yge.Provider,{value:{selected:i,onDayClick:function(e,a,n){var r,o;null===(r=t.onDayClick)||void 0===r||r.call(t,e,a,n);var s=function(e,a){var t=a||{},n=t.from,i=t.to;if(n&&i){if(ipe(i,e)&&ipe(n,e))return;if(ipe(i,e))return{from:i,to:void 0};if(ipe(n,e))return;return lge(n,e)?{from:e,to:i}:{from:n,to:e}}return i?lge(e,i)?{from:i,to:e}:{from:e,to:i}:n?uge(e,n)?{from:e,to:n}:{from:n,to:e}:{from:e,to:void 0}}(e,i);null===(o=t.onSelect)||void 0===o||o.call(t,s,e,a,n)},modifiers:c},children:n})}function efe(){var e=t.useContext(Yge);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function afe(e){return Array.isArray(e)?gge([],e):void 0!==e?[e]:[]}($ge=Zge||(Zge={})).Outside="outside",$ge.Disabled="disabled",$ge.Selected="selected",$ge.Hidden="hidden",$ge.Today="today",$ge.RangeStart="range_start",$ge.RangeEnd="range_end",$ge.RangeMiddle="range_middle";var tfe=Zge.Selected,nfe=Zge.Disabled,ife=Zge.Hidden,rfe=Zge.Today,ofe=Zge.RangeEnd,sfe=Zge.RangeMiddle,lfe=Zge.RangeStart,ufe=Zge.Outside;var cfe=t.createContext(void 0);function dfe(e){var t=Cge(),n=function(e,a,t){var n,i=((n={})[tfe]=afe(e.selected),n[nfe]=afe(e.disabled),n[ife]=afe(e.hidden),n[rfe]=[e.today],n[ofe]=[],n[sfe]=[],n[lfe]=[],n[ufe]=[],n);return e.fromDate&&i[nfe].push({before:e.fromDate}),e.toDate&&i[nfe].push({after:e.toDate}),fge(e)?i[nfe]=i[nfe].concat(a.modifiers[nfe]):vge(e)&&(i[nfe]=i[nfe].concat(t.modifiers[nfe]),i[lfe]=t.modifiers[lfe],i[sfe]=t.modifiers[sfe],i[ofe]=t.modifiers[ofe]),i}(t,qge(),efe()),i=function(e){var a={};return Object.entries(e).forEach((function(e){a[e[0]]=afe(e[1])})),a}(t.modifiers),r=pge(pge({},n),i);return a.jsx(cfe.Provider,{value:r,children:e.children})}function mfe(){var e=t.useContext(cfe);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function hfe(e,a){return a.some((function(a){if("boolean"==typeof a)return a;if(rpe(a))return ipe(e,a);var t,n,i,r,o;if(function(e){return Array.isArray(e)&&e.every(rpe)}(a))return a.includes(e);if(function(e){return Boolean(e&&"object"==typeof e&&"from"in e)}(a))return t=e,o=(n=a).to,(r=n.from)&&o?(ape(o,r)<0&&(r=(i=[o,r])[0],o=i[1]),ape(t,r)>=0&&ape(o,t)>=0):o?ipe(o,t):!!r&&ipe(r,t);if(function(e){return Boolean(e&&"object"==typeof e&&"dayOfWeek"in e)}(a))return a.dayOfWeek.includes(e.getDay());if(function(e){return Boolean(e&&"object"==typeof e&&"before"in e&&"after"in e)}(a)){var s=ape(a.before,e)>0,l=ape(a.after,e)<0;return lge(a.before,a.after)?l&&s:s||l}return function(e){return Boolean(e&&"object"==typeof e&&"after"in e)}(a)?ape(e,a.after)>0:function(e){return Boolean(e&&"object"==typeof e&&"before"in e)}(a)?ape(a.before,e)>0:"function"==typeof a&&a(e)}))}function pfe(e,a,t){var n=Object.keys(a).reduce((function(t,n){return hfe(e,a[n])&&t.push(n),t}),[]),i={};return n.forEach((function(e){return i[e]=!0})),t&&!cge(e,t)&&(i.outside=!0),i}function gfe(e,a){var t=a.moveBy,n=a.direction,i=a.context,r=a.modifiers,o=a.retry,s=void 0===o?{count:0,lastFocused:e}:o,l=i.weekStartsOn,u=i.fromDate,c=i.toDate,d=i.locale,m={day:Uhe,week:tpe,month:Whe,year:npe,startOfWeek:function(e){return i.ISOWeek?Yhe(e):$he(e,{locale:d,weekStartsOn:l})},endOfWeek:function(e){return i.ISOWeek?dpe(e):cpe(e,{locale:d,weekStartsOn:l})}}[t](e,"after"===n?1:-1);"before"===n&&u?m=function(e){var a,t;if(Vhe(1,arguments),e&&"function"==typeof e.forEach)a=e;else{if("object"!==Fhe(e)||null===e)return new Date(NaN);a=Array.prototype.slice.call(e)}return a.forEach((function(e){var a=Jhe(e);(void 0===t||t<a||isNaN(Number(a)))&&(t=a)})),t||new Date(NaN)}([u,m]):"after"===n&&c&&(m=function(e){var a,t;if(Vhe(1,arguments),e&&"function"==typeof e.forEach)a=e;else{if("object"!==Fhe(e)||null===e)return new Date(NaN);a=Array.prototype.slice.call(e)}return a.forEach((function(e){var a=Jhe(e);(void 0===t||t>a||isNaN(a.getDate()))&&(t=a)})),t||new Date(NaN)}([c,m]));var h=!0;if(r){var p=pfe(m,r);h=!p.disabled&&!p.hidden}return h?m:s.count>365?s.lastFocused:gfe(m,{moveBy:t,direction:n,context:i,modifiers:r,retry:pge(pge({},s),{count:s.count+1})})}var ffe=t.createContext(void 0);function vfe(e){var n=Lge(),i=mfe(),r=t.useState(),o=r[0],s=r[1],l=t.useState(),u=l[0],c=l[1],d=function(e,a){for(var t,n,i=lpe(e[0]),r=spe(e[e.length-1]),o=i;o<=r;){var s=pfe(o,a);if(s.disabled||s.hidden)o=Uhe(o,1);else{if(s.selected)return o;s.today&&!n&&(n=o),t||(t=o),o=Uhe(o,1)}}return n||t}(n.displayMonths,i),m=(null!=o?o:u&&n.isDateDisplayed(u))?u:d,h=function(e){s(e)},p=Cge(),g=function(e,a){if(o){var t=gfe(o,{moveBy:e,direction:a,context:p,modifiers:i});ipe(o,t)||(n.goToDate(t,o),h(t))}};return a.jsx(ffe.Provider,{value:{focusedDay:o,focusTarget:m,blur:function(){c(o),s(void 0)},focus:h,focusDayAfter:function(){return g("day","after")},focusDayBefore:function(){return g("day","before")},focusWeekAfter:function(){return g("week","after")},focusWeekBefore:function(){return g("week","before")},focusMonthBefore:function(){return g("month","before")},focusMonthAfter:function(){return g("month","after")},focusYearBefore:function(){return g("year","before")},focusYearAfter:function(){return g("year","after")},focusStartOfWeek:function(){return g("startOfWeek","before")},focusEndOfWeek:function(){return g("endOfWeek","after")}},children:e.children})}function yfe(){var e=t.useContext(ffe);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}var bfe=t.createContext(void 0);function kfe(e){if(!yge(e.initialProps)){return a.jsx(bfe.Provider,{value:{selected:void 0},children:e.children})}return a.jsx(Sfe,{initialProps:e.initialProps,children:e.children})}function Sfe(e){var t=e.initialProps;return a.jsx(bfe.Provider,{value:{selected:t.selected,onDayClick:function(e,a,n){var i,r,o;null===(i=t.onDayClick)||void 0===i||i.call(t,e,a,n),!a.selected||t.required?null===(o=t.onSelect)||void 0===o||o.call(t,e,e,a,n):null===(r=t.onSelect)||void 0===r||r.call(t,void 0,e,a,n)}},children:e.children})}function wfe(){var e=t.useContext(bfe);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function Afe(e,a){var t=[e.classNames.day];return Object.keys(a).forEach((function(a){var n=e.modifiersClassNames[a];if(n)t.push(n);else if(function(e){return Object.values(Zge).includes(e)}(a)){var i=e.classNames["day_".concat(a)];i&&t.push(i)}})),t}function Cfe(e,n,i){var r,o,s,l=Cge(),u=yfe(),c=function(e,a){return pfe(e,mfe(),a)}(e,n),d=function(e,a){var t=Cge(),n=wfe(),i=qge(),r=efe(),o=yfe(),s=o.focusDayAfter,l=o.focusDayBefore,u=o.focusWeekAfter,c=o.focusWeekBefore,d=o.blur,m=o.focus,h=o.focusMonthBefore,p=o.focusMonthAfter,g=o.focusYearBefore,f=o.focusYearAfter,v=o.focusStartOfWeek,y=o.focusEndOfWeek;return{onClick:function(o){var s,l,u,c;yge(t)?null===(s=n.onDayClick)||void 0===s||s.call(n,e,a,o):fge(t)?null===(l=i.onDayClick)||void 0===l||l.call(i,e,a,o):vge(t)?null===(u=r.onDayClick)||void 0===u||u.call(r,e,a,o):null===(c=t.onDayClick)||void 0===c||c.call(t,e,a,o)},onFocus:function(n){var i;m(e),null===(i=t.onDayFocus)||void 0===i||i.call(t,e,a,n)},onBlur:function(n){var i;d(),null===(i=t.onDayBlur)||void 0===i||i.call(t,e,a,n)},onKeyDown:function(n){var i;switch(n.key){case"ArrowLeft":n.preventDefault(),n.stopPropagation(),"rtl"===t.dir?s():l();break;case"ArrowRight":n.preventDefault(),n.stopPropagation(),"rtl"===t.dir?l():s();break;case"ArrowDown":n.preventDefault(),n.stopPropagation(),u();break;case"ArrowUp":n.preventDefault(),n.stopPropagation(),c();break;case"PageUp":n.preventDefault(),n.stopPropagation(),n.shiftKey?g():h();break;case"PageDown":n.preventDefault(),n.stopPropagation(),n.shiftKey?f():p();break;case"Home":n.preventDefault(),n.stopPropagation(),v();break;case"End":n.preventDefault(),n.stopPropagation(),y()}null===(i=t.onDayKeyDown)||void 0===i||i.call(t,e,a,n)},onKeyUp:function(n){var i;null===(i=t.onDayKeyUp)||void 0===i||i.call(t,e,a,n)},onMouseEnter:function(n){var i;null===(i=t.onDayMouseEnter)||void 0===i||i.call(t,e,a,n)},onMouseLeave:function(n){var i;null===(i=t.onDayMouseLeave)||void 0===i||i.call(t,e,a,n)},onPointerEnter:function(n){var i;null===(i=t.onDayPointerEnter)||void 0===i||i.call(t,e,a,n)},onPointerLeave:function(n){var i;null===(i=t.onDayPointerLeave)||void 0===i||i.call(t,e,a,n)},onTouchCancel:function(n){var i;null===(i=t.onDayTouchCancel)||void 0===i||i.call(t,e,a,n)},onTouchEnd:function(n){var i;null===(i=t.onDayTouchEnd)||void 0===i||i.call(t,e,a,n)},onTouchMove:function(n){var i;null===(i=t.onDayTouchMove)||void 0===i||i.call(t,e,a,n)},onTouchStart:function(n){var i;null===(i=t.onDayTouchStart)||void 0===i||i.call(t,e,a,n)}}}(e,c),m=function(){var e=Cge(),a=wfe(),t=qge(),n=efe();return yge(e)?a.selected:fge(e)?t.selected:vge(e)?n.selected:void 0}(),h=Boolean(l.onDayClick||"default"!==l.mode);t.useEffect((function(){var a;c.outside||u.focusedDay&&h&&ipe(u.focusedDay,e)&&(null===(a=i.current)||void 0===a||a.focus())}),[u.focusedDay,e,i,h,c.outside]);var p=Afe(l,c).join(" "),g=function(e,a){var t=pge({},e.styles.day);return Object.keys(a).forEach((function(a){var n;t=pge(pge({},t),null===(n=e.modifiersStyles)||void 0===n?void 0:n[a])})),t}(l,c),f=Boolean(c.outside&&!l.showOutsideDays||c.hidden),v=null!==(s=null===(o=l.components)||void 0===o?void 0:o.DayContent)&&void 0!==s?s:Vge,y={style:g,className:p,children:a.jsx(v,{date:e,displayMonth:n,activeModifiers:c}),role:"gridcell"},b=u.focusTarget&&ipe(u.focusTarget,e)&&!c.outside,k=u.focusedDay&&ipe(u.focusedDay,e),S=pge(pge(pge({},y),((r={disabled:c.disabled,role:"gridcell"})["aria-selected"]=c.selected,r.tabIndex=k||b?0:-1,r)),d);return{isButton:h,isHidden:f,activeModifiers:c,selectedDays:m,buttonProps:S,divProps:y}}function Mfe(e){var n=t.useRef(null),i=Cfe(e.date,e.displayMonth,n);return i.isHidden?a.jsx("div",{role:"gridcell"}):i.isButton?a.jsx(zge,pge({name:"day",ref:n},i.buttonProps)):a.jsx("div",pge({},i.divProps))}function Tfe(e){var t=e.number,n=e.dates,i=Cge(),r=i.onWeekNumberClick,o=i.styles,s=i.classNames,l=i.locale,u=i.labels.labelWeekNumber,c=(0,i.formatters.formatWeekNumber)(Number(t),{locale:l});if(!r)return a.jsx("span",{className:s.weeknumber,style:o.weeknumber,children:c});var d=u(Number(t),{locale:l});return a.jsx(zge,{name:"week-number","aria-label":d,className:s.weeknumber,style:o.weeknumber,onClick:function(e){r(t,n,e)},children:c})}function xfe(e){var t,n,i,r=Cge(),o=r.styles,s=r.classNames,l=r.components,u=null!==(t=null==l?void 0:l.Day)&&void 0!==t?t:Mfe,c=null!==(n=null==l?void 0:l.WeekNumber)&&void 0!==n?n:Tfe;return r.showWeekNumber&&(i=a.jsx("td",{className:s.cell,style:o.cell,children:a.jsx(c,{number:e.weekNumber,dates:e.dates})})),a.jsxs("tr",{className:s.row,style:o.row,children:[i,e.dates.map((function(t){return a.jsx("td",{className:s.cell,style:o.cell,role:"presentation",children:a.jsx(u,{displayMonth:e.displayMonth,date:t})},rge(t))}))]})}function Nfe(e,a,t){for(var n=(null==t?void 0:t.ISOWeek)?dpe(a):cpe(a,t),i=(null==t?void 0:t.ISOWeek)?Yhe(e):$he(e,t),r=ape(n,i),o=[],s=0;s<=r;s++)o.push(Uhe(i,s));var l=o.reduce((function(e,a){var n=(null==t?void 0:t.ISOWeek)?function(e){Vhe(1,arguments);var a=Jhe(e),t=Yhe(a).getTime()-Qhe(a).getTime();return Math.round(t/6048e5)+1}(a):function(e,a){Vhe(1,arguments);var t=Jhe(e),n=$he(t,a).getTime()-oge(t,a).getTime();return Math.round(n/6048e5)+1}(a,t),i=e.find((function(e){return e.weekNumber===n}));return i?(i.dates.push(a),e):(e.push({weekNumber:n,dates:[a]}),e)}),[]);return l}function Efe(e){var t,n,i,r=Cge(),o=r.locale,s=r.classNames,l=r.styles,u=r.hideHead,c=r.components,d=r.weekStartsOn,m=r.firstWeekContainsDate,h=r.ISOWeek,p=function(e,a){var t=Nfe(lpe(e),spe(e),a);if(null==a?void 0:a.useFixedWeeks){var n=sge(e,a);if(n<6){var i=t[t.length-1],r=i.dates[i.dates.length-1],o=tpe(r,6-n),s=Nfe(tpe(r,1),o,a);t.push.apply(t,s)}}return t}(e.displayMonth,{useFixedWeeks:Boolean(r.fixedWeeks),ISOWeek:h,locale:o,weekStartsOn:d,firstWeekContainsDate:m}),g=null!==(t=null==c?void 0:c.Head)&&void 0!==t?t:Gge,f=null!==(n=null==c?void 0:c.Row)&&void 0!==n?n:xfe,v=null!==(i=null==c?void 0:c.Footer)&&void 0!==i?i:Hge;return a.jsxs("table",{id:e.id,className:s.table,style:l.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!u&&a.jsx(g,{}),a.jsx("tbody",{className:s.tbody,style:l.tbody,children:p.map((function(t){return a.jsx(f,{displayMonth:e.displayMonth,dates:t.dates,weekNumber:t.weekNumber},t.weekNumber)}))}),a.jsx(v,{displayMonth:e.displayMonth})]})}var _fe="undefined"!=typeof window&&window.document&&window.document.createElement?t.useLayoutEffect:t.useEffect,jfe=!1,Pfe=0;function Lfe(){return"react-day-picker-".concat(++Pfe)}function Bfe(e){var n,i,r=Cge(),o=r.dir,s=r.classNames,l=r.styles,u=r.components,c=Lge().displayMonths,d=function(e){var a,n=null!=e?e:jfe?Lfe():null,i=t.useState(n),r=i[0],o=i[1];return _fe((function(){null===r&&o(Lfe())}),[]),t.useEffect((function(){!1===jfe&&(jfe=!0)}),[]),null!==(a=null!=e?e:r)&&void 0!==a?a:void 0}(r.id?"".concat(r.id,"-").concat(e.displayIndex):void 0),m=r.id?"".concat(r.id,"-grid-").concat(e.displayIndex):void 0,h=[s.month],p=l.month,g=0===e.displayIndex,f=e.displayIndex===c.length-1,v=!g&&!f;"rtl"===o&&(f=(n=[g,f])[0],g=n[1]),g&&(h.push(s.caption_start),p=pge(pge({},p),l.caption_start)),f&&(h.push(s.caption_end),p=pge(pge({},p),l.caption_end)),v&&(h.push(s.caption_between),p=pge(pge({},p),l.caption_between));var y=null!==(i=null==u?void 0:u.Caption)&&void 0!==i?i:Kge;return a.jsxs("div",{className:h.join(" "),style:p,children:[a.jsx(y,{id:d,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),a.jsx(Efe,{id:m,"aria-labelledby":d,displayMonth:e.displayMonth})]},e.displayIndex)}function Rfe(e){var t=Cge();return a.jsx("div",{className:t.classNames.months,style:t.styles.months,children:e.children})}function Dfe(e){var n,i,r=e.initialProps,o=Cge(),s=yfe(),l=Lge(),u=t.useState(!1),c=u[0],d=u[1];t.useEffect((function(){o.initialFocus&&s.focusTarget&&(c||(s.focus(s.focusTarget),d(!0)))}),[o.initialFocus,c,s.focus,s.focusTarget,s]);var m=[o.classNames.root,o.className];o.numberOfMonths>1&&m.push(o.classNames.multiple_months),o.showWeekNumber&&m.push(o.classNames.with_weeknumber);var h=pge(pge({},o.styles.root),o.style),p=Object.keys(r).filter((function(e){return e.startsWith("data-")})).reduce((function(e,a){var t;return pge(pge({},e),((t={})[a]=r[a],t))}),{}),g=null!==(i=null===(n=r.components)||void 0===n?void 0:n.Months)&&void 0!==i?i:Rfe;return a.jsx("div",pge({className:m.join(" "),style:h,dir:o.dir,id:o.id,nonce:r.nonce,title:r.title,lang:r.lang},p,{children:a.jsx(g,{children:l.displayMonths.map((function(e,t){return a.jsx(Bfe,{displayIndex:t,displayMonth:e},t)}))})}))}function zfe(e){var t=e.children,n=function(e,a){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&a.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)a.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]])}return t}(e,["children"]);return a.jsx(Age,{initialProps:n,children:a.jsx(Pge,{children:a.jsx(kfe,{initialProps:n,children:a.jsx(Uge,{initialProps:n,children:a.jsx(Qge,{initialProps:n,children:a.jsx(dfe,{children:a.jsx(vfe,{children:t})})})})})})})}function Ofe(e){return a.jsx(zfe,pge({},e,{children:a.jsx(Dfe,{initialProps:e})}))}function Ife({className:e,classNames:t,showOutsideDays:n=!0,...i}){return a.jsx(Ofe,{showOutsideDays:n,className:qa("p-3",e),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:qa(Qa({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:qa("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md","range"===i.mode?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:qa(Qa({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:()=>a.jsx(C,{className:"h-4 w-4"}),IconRight:()=>a.jsx(M,{className:"h-4 w-4"})},...i})}Ife.displayName="Calendar";var Kfe=(e=>(e.AI="ai",e.MANUAL="manual",e))(Kfe||{});const{Context:Hfe,Provider:Ffe}=J6(((e,a)=>{switch(a.type){case"SET_SELECTED_CHANNELS":return{...e,selectedChannels:a.payload};case"SET_CONTENT_BUILDER_STYLE":return{...e,contentBuilderStyle:a.payload};default:return e}}),{setSelectedChannels:e=>a=>{e({type:"SET_SELECTED_CHANNELS",payload:a})},setContentBuilderStyle:e=>a=>{e({type:"SET_CONTENT_BUILDER_STYLE",payload:a})}},{selectedChannels:[],contentBuilderStyle:null},[]),Gfe=(e,a,t,n="Error",i="Please try again")=>{e(!1),"error"===t&&a({title:n,description:i,variant:"destructive"})},Vfe=e=>{switch(e){case _E.ACTIVE:return"statusActive";case _E.COMPLETED:return"statusCompleted";case _E.DRAFT:return"statusDraft";case _E.DEACTIVATED:return"statusDeactivated";case _E.FAILED:return"statusFailed";case _E.RUNNING:return"statusRunning";case _E.SENDING:return"statusSending";case _E.SCHEDULED:return"statusQueued";case _E.PARTIALLY_CANCELLED:return"statusPartiallyCancelled";case _E.CANCELLED:return"statusCancelled";case _E.ARCHIVED:return"statusArchived";default:throw The(e,_E)}},Jfe=e=>{switch(e){case Jse.ALL_USERS:return`Default ${PN("engage:segment").toLowerCase()} that contains all ${PN("engage:user",{count:2}).toLowerCase()}. This is not editable or deletable.`;case Jse.MANAGED:return`System-defined ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;case Jse.CUSTOM:return`Custom ${PN("engage:segment").toLowerCase()} that you can edit and delete as needed.`;case Jse.SQL:return`SQL-defined ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;case Jse.ONE_OFF:return`One-off ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;default:throw The(e,Jse)}};function Ufe(e="name",t,n=!1){return Ace({accessorKey:e,header:t,enableSorting:!1,meta:{align:"left",displayName:t,className:"min-w-[200px] sm:min-w-[240px] w-full"},cellClassName:"pl-2 pr-1 sm:pl-3 sm:pr-2",cellFormatter:e=>{const t=e.getValue(),{original:i}=e.row,r=i.status,o=i.type,s={[_E.COMPLETED]:"bg-blue-500",[_E.ACTIVE]:"bg-green-500",[_E.DRAFT]:"bg-gray-500",[_E.DEACTIVATED]:"bg-red-500",[_E.FAILED]:"bg-red-500",[_E.RUNNING]:"bg-yellow-500",[_E.SENDING]:"bg-yellow-500",[_E.SCHEDULED]:"bg-purple-500",[_E.PARTIALLY_CANCELLED]:"bg-red-500",[_E.CANCELLED]:"bg-red-500",[_E.ARCHIVED]:"bg-gray-500"};return a.jsx("div",{className:"w-full flex gap-2 sm:gap-4 md:gap-6 justify-between items-center",children:a.jsxs("div",{className:"flex gap-1 items-center w-full min-w-0",children:[a.jsx("div",{className:`w-2 h-2 rounded-full mr-1.5 sm:mr-2 md:mr-3 flex-shrink-0 ${o?{[Jse.ALL_USERS]:"bg-purple-500",[Jse.MANAGED]:"bg-teal-500",[Jse.CUSTOM]:"bg-amber-500",[Jse.SQL]:"bg-teal-500",[Jse.ONE_OFF]:"bg-orange-500"}[o]:r?s[r]:"bg-blue-500"}`}),a.jsxs("div",{className:"flex-1 flex flex-col gap-0.5 min-w-0",children:[a.jsx("span",{className:"leading-tight font-medium text-sm overflow-hidden text-ellipsis",children:t}),n&&i?.description&&a.jsx("div",{className:"relative h-4",children:a.jsx("div",{className:"absolute inset-0 text-muted-foreground text-xs truncate whitespace-nowrap overflow-hidden w-full",children:i?.description})})]})]})})}})}function Wfe(){return Ace({accessorKey:"type",header:"Type",enableSorting:!1,size:110,minSize:90,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:`${PN("engage:segment")} type`},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const t=e.getValue(),n=t?t===Jse.SQL?"Managed":t.split("_").map((e=>e[0].toUpperCase()+e.slice(1).toLowerCase())).join(" "):"Unknown";let i;if(!t||t!==Jse.ALL_USERS&&t!==Jse.MANAGED&&t!==Jse.CUSTOM&&t!==Jse.SQL)i="statusDraft";else try{i=(e=>{switch(e){case Jse.ALL_USERS:return"segmentAllUsers";case Jse.MANAGED:return"segmentManaged";case Jse.CUSTOM:return"segmentCustom";case Jse.ONE_OFF:case Jse.SQL:return"segmentManaged";default:throw The(e,Jse)}})(t)}catch(jFe){if(!(jFe instanceof The))throw jFe;i="statusDraft"}return a.jsx(fx,{children:a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(xx,{variant:i,className:"cursor-help",children:n})}),a.jsx(bx,{side:"top",className:"max-w-[250px] text-sm bg-white border border-gray-200 rounded-lg p-3",children:a.jsx("p",{className:"text-muted-foreground",children:t&&Jfe(t)||`Unknown ${PN("engage:segment").toLowerCase()} type`})})]})})}})}function qfe(e="updated_at"){return function({accessorKey:e,header:t,meta:n={align:"right"},size:i=160,minSize:r,maxSize:o,enableSorting:s=!0,enableHiding:l=!0,headerClassName:u,cellClassName:c,formatType:d="relative"}){return{accessorKey:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${u||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{children:t})}),cell:e=>{const t=e.getValue();let i="N/A";return t&&(i="relative"===d?wce(new Date(t),{addSuffix:!0}):new Date(t).toLocaleDateString()),a.jsx("div",{className:`font-variant-numeric w-full h-8 flex items-center justify-end pr-2 sm:pr-3 md:pr-4 whitespace-nowrap ${c||""} ${n?.className||""}`.trim(),children:i})},size:i,minSize:r,maxSize:o,enableSorting:s,enableHiding:l,meta:n}}({accessorKey:e,header:"Last Modified",formatType:"relative",size:160,minSize:120,enableSorting:!1,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:"Last Modified"}})}function Zfe(e,t,n){return function({accessorKey:e,header:t,meta:n={align:"right"},size:i,minSize:r,maxSize:o=120,enableSorting:s=!0,enableHiding:l=!0,headerClassName:u,cellClassName:c,prefix:d="",suffix:m="",localeStringOptions:h}){return{accessorKey:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${u||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{children:t})}),cell:e=>{const t=e.getValue()??0;return a.jsxs("div",{className:`font-variant-numeric h-8 flex items-center justify-end pr-2 sm:pr-3 md:pr-4 ${c||""} ${n?.className||""}`.trim(),children:[d,t.toLocaleString(void 0,h),m]})},size:i||(n?.className?.includes("w-")?void 0:100),minSize:r,maxSize:o,enableSorting:s,enableHiding:l,meta:n}}({accessorKey:e,header:t,prefix:n,enableSorting:!1,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:t}})}function $fe(e){const{onToggle:t,vsaasManaged:n,pillForStatus:i}=e;return Ace({accessorKey:"status",id:"status",header:"Status",enableSorting:!1,enableHiding:!1,headerClassName:"justify-end text-right w-full",size:180,maxSize:200,meta:{align:"right"},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const{original:r}=e.row,o=r.status??null;return i&&o?a.jsx(xx,{variant:Vfe(o),children:xhe({status:o,automationType:r.automation_type??ME.ONE_TIME,vsaasManaged:n??!1})}):a.jsx(jhe,{className:"flex items-center justify-end",rowOriginal:r,id:r.id,onToggle:t||(()=>{}),vsaasManaged:n})}})}function Yfe(e){const{vsaasManaged:t,pillForStatus:n,onDuplicate:i,onArchive:r,onEdit:o,onCancel:s}=e;return Ace({accessorKey:"status",id:"status",header:"Status",enableSorting:!1,enableHiding:!1,headerClassName:"justify-end text-right w-full",size:180,maxSize:200,meta:{align:"right"},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const{original:l}=e.row,u=l.status??null;return n&&u?a.jsx(xx,{variant:Vfe(u),children:xhe({status:u,automationType:l.automation_type??ME.ONE_TIME,vsaasManaged:t??!1})}):a.jsx(jhe,{className:"flex items-center justify-end w-full",rowOriginal:l,id:l.id,vsaasManaged:t,onDuplicate:i,onArchive:r,onEdit:o,onCancel:s})}})}function Qfe(e){const t={align:"right",displayName:`Update ${PN("engage:segment").toLowerCase()}`};return function({id:e="actions",header:t,meta:n={align:"center"},text:i,size:r=120,minSize:o=100,maxSize:s=200,enableSorting:l=!1,enableHiding:u=!1,headerClassName:c,icon:d,onAction:m,actionButtonVariant:h="outline",actionButtonSize:p="default"}){return{id:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${c||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{className:"whitespace-nowrap",children:t})}),cell:e=>{const t=e.row.original,r=t?.type,o="custom"!==r;return a.jsx("div",{className:`flex items-center h-8 pr-2 sm:pr-3 min-w-0 ${"right"===n?.align?"justify-end":"center"===n?.align?"justify-center":"justify-start"} ${n?.className||""}`.trim(),children:a.jsxs(Xa,{variant:h,size:p,disabled:o,onClick:()=>m(t),className:"whitespace-nowrap shrink-0",children:[a.jsx(d,{className:"h-4 w-4 shrink-0"}),i&&a.jsx("span",{className:"ml-1.5 shrink-0",children:i})]})})},size:r,minSize:o,maxSize:s,enableSorting:l,enableHiding:u,meta:n}}({id:"edit",header:`${PN("engage:segment")} actions`,icon:le,onAction:a=>{e(a.id)},text:"Edit",size:140,minSize:120,maxSize:160,headerClassName:"w-full whitespace-nowrap",enableHiding:!1,meta:t})}function Xfe(e){const{automationName:a,setUrl:t,onToggle:n,vsaasManaged:i=!1,pillForStatus:r=!1,onDuplicate:o,onArchive:s,onEdit:l,onCancel:u}=e,c=!!(o||s||l||u);return[Ufe("name","Name",!0),Zfe("derivedRevenue","Sales","$"),Zfe("emailsSent","Email Sent"),Zfe("smsSent","SMS Sent"),qfe(),c?Yfe({setUrl:t,onToggle:n,automationName:a,vsaasManaged:i,pillForStatus:r,onDuplicate:o,onArchive:s,onEdit:l,onCancel:u}):$fe({setUrl:t,onToggle:n,automationName:a,vsaasManaged:i,pillForStatus:r})]}const eve="https://assets.embedreach.com/defaults/logo-placeholder-128.png",ave=({handleBack:e,handleNext:t,handleSkipAndSaveAsDraft:n,backText:i,nextText:r,backDisabled:o,nextDisabled:s,hideBack:l,getInfoTooltipTitle:u})=>{const c=u?.(),d=e=>a.jsx(Xa,{id:"wizard-next-button",asChild:!0===e.tooltip,onClick:t,disabled:s,className:qa("flex items-center gap-2 --reach-destructive",s&&"opacity-50 cursor-not-allowed"),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{children:r}),a.jsx(OM.NextButton,{})]})});return a.jsxs("div",{className:"flex gap-4 py-2 items-center",children:[!l&&a.jsxs(Xa,{onClick:e,disabled:o,variant:"secondary",className:qa("flex items-center gap-2",o&&"opacity-50 cursor-not-allowed"),children:[a.jsx(OM.BackButton,{}),a.jsx("span",{children:i})]}),a.jsx(Xa,{id:"wizard-skip-save-draft-button",onClick:n,variant:"secondary",className:"flex items-center gap-2",children:"Skip & Save as Draft"}),c?a.jsx(Rx,{title:c,children:d({tooltip:!0})}):d({tooltip:!1})]})},tve=()=>{const[e,n]=t.useState(0),i=[`Enhancing your ${PN("engage:automation")} with AI...`,"Generating smart name and description...",`Finalizing your ${PN("engage:automation")} with smart enhancements...`];return t.useEffect((()=>{const e=setInterval((()=>{n((e=>e<i.length-1?e+1:0))}),2500);return()=>clearInterval(e)}),[i.length]),a.jsxs("div",{className:"flex-1 flex flex-col justify-center items-center h-full",children:[a.jsxs("div",{className:"text-center space-y-8",children:[a.jsx("div",{className:"relative",children:a.jsx("div",{className:"w-16 h-16 mx-auto border-2 border-[hsl(var(--reach-muted))] border-t-[hsl(var(--reach-primary))] rounded-full animate-spin"})}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-xl font-semibold text-[hsl(var(--reach-foreground))]",children:["Saving and enhancing your ",PN("engage:automation"),"..."]}),a.jsx("div",{className:"min-h-[60px] flex items-center justify-center",children:a.jsx("p",{className:"text-sm text-[hsl(var(--reach-muted-foreground))] max-w-md px-4 animate-fade-in",children:i[e]})})]})]}),a.jsx("style",{children:"\n .animate-fade-in {\n animation: fadeIn 0.6s ease-in-out;\n }\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "})]})},nve=({content:e,className:t})=>a.jsx("div",{className:Si("flex flex-col w-full min-h-0 min-w-0",t),children:a.jsx("div",{className:"bg-white rounded-2xl w-full p-6 relative flex flex-col min-w-0",children:e})}),ive=r.forwardRef((({children:e="BETA",size:t="default",animated:n=!1,className:i,...r},o)=>a.jsx("span",{ref:o,className:qa("inline-flex items-center justify-center rounded-full font-medium leading-none","bg-gray-100 text-gray-600 border border-gray-200","dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700","relative select-none",{sm:"px-1.5 py-0.5 text-[10px]",default:"px-2 py-0.5 text-xs",lg:"px-2.5 py-1 text-sm"}[t],n&&"animate-pulse",i),...r,children:e})));ive.displayName="BetaTag";const rve=r.forwardRef((({className:e,...t},n)=>a.jsx("textarea",{className:qa("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t})));rve.displayName="Textarea";const ove=({value:e,maxValue:t,size:n=120,strokeWidth:i=6})=>{const r=(n-i)/2,o=2*Math.PI*r,s=o*(1-Math.min(e/t,1));return a.jsxs("div",{className:"relative",children:[a.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"duration-300",children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:"progress-gradient",gradientUnits:"userSpaceOnUse",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[a.jsx("stop",{offset:"0%",stopColor:"hsl(var(--reach-primary))"}),a.jsx("stop",{offset:"50%",stopColor:"hsl(var(--reach-primary))"}),a.jsx("stop",{offset:"100%",stopColor:"hsl(var(--reach-primary))"})]})}),a.jsx("circle",{cx:n/2,cy:n/2,r:r,className:"fill-transparent stroke-gray-200",strokeWidth:i}),a.jsx("circle",{cx:n/2,cy:n/2,r:r,className:"fill-transparent",style:{stroke:"url(#progress-gradient)"},strokeWidth:i,strokeDasharray:o,strokeDashoffset:s,transform:`rotate(-90 ${n/2} ${n/2})`,strokeLinecap:"round"})]}),a.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a.jsxs("span",{className:"text-2xl font-bold text-foreground",children:[Math.round(e),"%"]})})]})},sve=({selectedChannels:e})=>{const[n,i]=t.useState(0),[r,o]=t.useState(0),s=t.useMemo((()=>[{icon:we,title:"Initializing AI Engine",description:"Starting up the content generation system...",duration:2e3},{icon:K,title:"Analyzing Business Profile",description:"Understanding your brand, tone, and requirements",duration:3e3},{icon:ze,title:"Crafting Content",description:"Generating compelling copy for your channels",duration:4e3},{icon:Z,title:"Optimizing for Channels",description:`Tailoring content for ${e.map((e=>e.toLowerCase())).join(", ")}`,duration:3e3},{icon:E,title:"Finalizing Campaign",description:"Adding finishing touches and compiling content",duration:2e3}]),[e]);t.useEffect((()=>{if(n>=s.length){const e=setInterval((()=>{o((a=>a>=100?(clearInterval(e),100):a+.1))}),1e4);return()=>clearInterval(e)}const e=s[n].duration/50;let a=0;const t=setInterval((()=>{a++;const r=Math.min((100*n+a/e*100)/s.length,90);o(r),a>=e&&(clearInterval(t),setTimeout((()=>{i((e=>e+1))}),200))}),50);return()=>clearInterval(t)}),[n,s]);const l=s[n]||s[s.length-1];return a.jsx("div",{className:"max-w-2xl mx-auto p-6 space-y-8 flex flex-col justify-center h-full",children:a.jsxs("div",{className:"text-center space-y-8",children:[a.jsxs("div",{className:"space-y-6",children:[a.jsx(tS.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{duration:.5},className:"flex justify-center",children:a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"w-20 h-20 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(l.icon,{className:"w-10 h-10 text-primary"})}),a.jsx(tS.div,{className:"absolute inset-0 rounded-full border-2 border-primary/30",animate:{scale:[1,1.2,1],opacity:[.5,0,.5]},transition:{duration:2,repeat:1/0}})]})},n),a.jsx("div",{className:"flex justify-center",children:a.jsx(ove,{value:r,maxValue:100,size:120,strokeWidth:6})}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(tS.h2,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"text-2xl font-semibold text-foreground",children:l.title},`title-${n}`),a.jsx(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.1},children:a.jsx("p",{className:"text-muted-foreground",children:l.description})},`desc-${n}`)]}),a.jsx("div",{className:"flex justify-center space-x-2",children:s.map(((e,t)=>a.jsx(tS.div,{className:"w-2 h-2 rounded-full transition-colors duration-300 "+(t<=n?"bg-primary":"bg-muted"),initial:{scale:.8},animate:{scale:t===n?1.2:1,backgroundColor:t<=n?"hsl(var(--reach-primary))":"#e5e7eb"},transition:{duration:.3}},t)))})]}),a.jsx("div",{className:"text-sm text-muted-foreground",children:a.jsx("p",{children:"This usually takes about 60 seconds. We're crafting personalized content just for you."})})]})})},lve="reach-ai-image-style",uve=[{value:"illustration",label:"Illustration",description:"Clean, modern digital artwork"},{value:"photorealistic",label:"Photo-like",description:"Lifelike, like a real photo"},{value:"graphic_design",label:"Bold & Colorful",description:"Bold shapes and vibrant colors"},{value:"cartoon",label:"Cartoon",description:"Fun, playful animated style"},{value:"minimalist",label:"Minimalist",description:"Simple and clean with white space"},{value:"watercolor",label:"Watercolor",description:"Soft, artistic painted look"}],cve=t.forwardRef((({onGenerateContent:e,onPromptChange:n},i)=>{const{sendNotificationAsync:r}=bS(),{generateContent:o,generateContentError:s,isGeneratingContent:l}=JE(),{state:{selectedChannels:u}}=t.useContext(Hfe),c=O6()["use-gemini-image-generation"]??!1,[d,m]=t.useState(""),[h,p]=t.useState((()=>{if("undefined"!=typeof window){const e=localStorage.getItem(lve);if(e&&uve.some((a=>a.value===e)))return e}return"illustration"})),g=t.useRef(d);t.useEffect((()=>{g.current=d}),[d]);const f=()=>{const a=g.current;a.trim()&&(r({message:"💬 New AI Email requested",product:"engage",feature:"ai-email",details:{userInput:a}}),o({userPrompt:a,selectedChannels:u,imageStyle:h,imageProvider:c?"gemini":"openai"},{onSuccess:a=>{e(a)},onError:e=>{}}))};return t.useImperativeHandle(i,(()=>({generate:f,getPrompt:()=>g.current}))),a.jsx("div",{className:"max-w-2xl mx-auto p-6 space-y-6 flex flex-col justify-center h-full",children:a.jsx(fh,{mode:"wait",children:l?a.jsx(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{duration:.5,ease:[.4,0,.2,1]},className:"h-full",children:a.jsx(sve,{selectedChannels:u})},"loading"):a.jsxs(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{duration:.5,ease:[.4,0,.2,1]},children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsx("div",{className:"flex justify-center",children:a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(we,{className:"w-8 h-8 text-[hsl(var(--reach-primary))]"})}),a.jsx("div",{className:"absolute -bottom-2 -right-2",children:a.jsx(ive,{size:"sm"})})]})}),a.jsx("h2",{className:"text-2xl font-bold",children:"Generate Content with AI"}),a.jsx("div",{className:"py-3",children:a.jsx("p",{className:"text-muted-foreground text-sm",children:"Describe what you want your message to say and we'll generate the content for you with marketing optimized best practices. Up to one image will be AI-generated for you."})})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex justify-center",children:a.jsx(rve,{id:"prompt",placeholder:"e.g., Send a promotional email announcing a 20% off sale on all products",value:d,onChange:e=>{return m(a=e.target.value),void n(a);var a},className:"min-h-[120px] w-full max-w-2xl resize-none",disabled:l})}),a.jsx("div",{className:"flex justify-center",children:a.jsxs("div",{className:"w-full max-w-2xl",children:[a.jsx(Eo,{htmlFor:"image-style",className:"block mb-1",children:"Image Style"}),a.jsx("p",{className:"text-muted-foreground text-sm mb-2",children:"Choose how AI-generated images will look in your message"}),a.jsxs(Fc,{value:h,onValueChange:e=>(e=>{p(e),localStorage.setItem(lve,e)})(e),disabled:l,children:[a.jsx(Vc,{id:"image-style",className:"w-full",children:a.jsx(Gc,{children:uve.find((e=>e.value===h))?.label})}),a.jsx(Wc,{children:uve.map((e=>a.jsx(qc,{value:e.value,className:"py-2",children:a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{children:e.label}),a.jsx("span",{className:"text-xs text-muted-foreground",children:e.description})]})},e.value)))})]})]})}),s&&a.jsx("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:a.jsx("p",{className:"text-sm text-destructive",children:"Error generating content. Please try again or contact an administrator."})})]})]},"prompt")})})})),dve=()=>{const{state:{contentBuilderStyle:e},setContentBuilderStyle:n}=t.useContext(Hfe),i=e=>{n(e)};return a.jsx("div",{id:"wizard-content-builder-step",className:"flex flex-col h-full w-full space-y-8 justify-center",children:a.jsxs("div",{className:"flex flex-col space-y-6",children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsx("h3",{id:"wizard-content-builder-heading",className:"text-3xl font-semibold text-foreground tracking-tight",children:"Content Builder Style"}),a.jsx("p",{className:"text-muted-foreground text-sm",children:"Choose how you want to create your content"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 w-full max-w-4xl mx-auto",children:[a.jsx("div",{id:"wizard-ai-builder-option",className:"min-w-0 w-full h-full",children:a.jsx(ule,{id:e===Kfe.AI?"wizard-ai-selected":"wizard-ai-not-selected",onClick:()=>{i(Kfe.AI)},title:"Build with AI",subtitle:"Describe your message in plain language and let AI create the content",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsxs("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:[a.jsx(we,{className:"w-full h-full"}),a.jsx(ive,{size:"sm"})]})}),selected:e===Kfe.AI,className:"w-full h-full"})}),a.jsx("div",{id:"wizard-manual-builder-option",className:"min-w-0 w-full h-full",children:a.jsx(ule,{id:e===Kfe.MANUAL?"wizard-manual-selected":"wizard-manual-not-selected",onClick:()=>{i(Kfe.MANUAL)},title:"Build Manually",subtitle:"Create your content by configuring email and SMS messages directly",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx("div",{className:"w-5 h-5 text-[hsl(var(--reach-primary))]",children:a.jsx(fe,{className:"w-full h-full"})})}),selected:e===Kfe.MANUAL,className:"w-full h-full"})})]})]})})};var mve=(e=>(e.CUSTOM="custom",e.MANAGED="managed",e))(mve||{}),hve=(e=>(e.EditAudience="edit-audience",e.EditTime="edit-time",e))(hve||{}),pve=(e=>(e.EMAIL="email",e.SMS="sms",e))(pve||{}),gve=(e=>(e.WORKFLOW="workflow",e.RECIPIENTS="recipients",e.INSIGHTS="insights",e))(gve||{}),fve=(e=>(e.EMAIL="email",e.SMS="sms",e))(fve||{}),vve=(e=>(e.EMAIL="email",e.SMS="sms",e))(vve||{});const yve=320,bve=({title:e,type:n})=>{const{communicationGroup:i}=ile(),r=tle(),{toast:o}=dS(),[s,l]=t.useState(!1),{resetCommunicationGroupToDefault:u,isPending:c}=qN(),d=!!i&&(i.type===mve.MANAGED&&(n===fve.SMS?i.updatedFromDefault?.text_message_body:i.updatedFromDefault?.email_text_body||i.updatedFromDefault?.email_html_body)),m=n===fve.EMAIL?"Email":"SMS";return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h4",{className:"text-xl font-medium text-foreground",children:e}),a.jsx("div",{className:"flex items-center gap-2",children:d&&a.jsx(a.Fragment,{children:c?a.jsx(th,{}):a.jsx(Xa,{variant:"outline",size:"sm",onClick:()=>l(!0),children:"Reset To Default"})})})]}),a.jsx(wi,{open:s,onOpenChange:l,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{className:"text-xl font-semibold",children:"Reset To Default"}),a.jsxs(_i,{className:"text-base text-muted-foreground",children:["Are you sure you want to reset this ",m.toLowerCase()," ","template to its default state? This action cannot be undone."]})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:()=>l(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{i&&r?u({communicationGroupId:i.id,automationId:r.id,type:n===fve.EMAIL?"email":"sms"},{onSuccess:()=>{o({title:PN("engage:success.communication_reset","Communication reset to default!")}),l(!1)},onSettled:()=>{l(!1)},onError:()=>{o({title:"Error updating",description:"No sender found",variant:"destructive"})}}):o({title:"Error updating",description:"No sender found",variant:"destructive"})},children:"Reset To Default"})]})]})})]})},kve=({type:e})=>a.jsxs("div",{className:"w-full h-full min-h-[300px] flex flex-col items-center justify-center bg-gradient-to-b from-gray-50 to-white p-8",children:[a.jsx("div",{className:"mb-4 text-gray-300",children:a.jsx("svg",{className:"w-16 h-16",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z"})})}),a.jsxs("p",{className:"text-gray-400 font-medium text-lg text-center mb-2",children:["No ","email"===e?"Email":"SMS"," Preview Available"]}),a.jsxs("p",{className:"text-gray-400 text-sm text-center",children:["Edit your ","email"===e?"Email":"SMS"," template to see a preview here"]})]}),Sve=({html:e,onHeightChange:n,expanded:i=!1})=>{const r=t.useRef(null),[o,s]=t.useState({type:"loading"}),l=t.useRef(null),u=t.useRef(!1),{communicationGroup:c}=ile(),d=tle(),{getMergeFields:m,isGetting:h}=WN(c?.id??void 0,d?.id??void 0),p=t.useMemo((()=>m?.mergeFields?.flatMap((e=>e.entries))??[]),[m?.mergeFields]),g=t.useMemo((()=>((e,a)=>{if(!e)return"";const t=e.includes("merge-field-pill-styles")?"":'\n <style id="merge-field-pill-styles">\n .merge-field-pill {\n display: inline-block !important;\n padding: 4px 8px !important;\n border-radius: 6px !important;\n background: #f3f4f6 !important;\n color: #6b7280 !important;\n font-size: 0.875rem !important;\n border: 1px solid #e5e7eb !important;\n font-weight: 500 !important;\n margin: 0 2px !important;\n vertical-align: middle !important;\n line-height: 1.2 !important;\n white-space: nowrap !important;\n box-sizing: border-box !important;\n }\n </style>\n ';let n=e;return t&&e.includes("<head>")?n=e.replace("<head>",`<head>${t}`):t&&(n=`<head>${t}</head>${e}`),n.replace(/\{\{.*?\}\}/g,((e,t)=>{const i=n.substring(0,t),r=n.substring(t+e.length),o=i.match(/href\s*=\s*["'][^"']*$/i);if(o){const a=o.index+o[0].length,i=r.search(/["']/);if(-1!==i&&n.substring(a,t+e.length+i).includes(e))return e}const s=i.match(/src\s*=\s*["'][^"']*$/i);if(s){const a=s.index+s[0].length,i=r.search(/["']/);if(-1!==i&&n.substring(a,t+e.length+i).includes(e))return e}const l=a?.find((a=>a.value===e));return`<span class="merge-field-pill" style="display: inline-block; padding: 4px 8px; border-radius: 6px; background: #f3f4f6; color: #6b7280; font-size: 0.875rem; border: 1px solid #e5e7eb; font-weight: 500; margin: 0 2px; vertical-align: middle; line-height: 1.2; white-space: nowrap; box-sizing: border-box;">${l?l.label:e}</span>`}))})(e,p)),[e,p]),f=t.useCallback((e=>{try{const a=e.split("\n").length;return Math.max(200,Math.min(800,20*a))}catch(a){return 400}}),[]),v=t.useCallback((e=>{s({type:"ready",height:e}),n?.(e)}),[n]),y=t.useCallback((()=>{const e=r.current;if(e)try{const a=e.contentDocument||e.contentWindow?.document;if(!a)return;if("loading"===a.readyState)return void a.addEventListener("DOMContentLoaded",(()=>{setTimeout(y,100)}));const t=Math.max(a.body?.scrollHeight||0,a.documentElement?.scrollHeight||0);t>0&&v(t+10)}catch(a){}}),[v]),b=t.useCallback((()=>{const e=r.current;if(e){if(l.current&&l.current.disconnect(),window.ResizeObserver){const t=new ResizeObserver((()=>{requestAnimationFrame(y)}));try{const a=e.contentDocument||e.contentWindow?.document;a?.body&&(t.observe(a.body),l.current=t)}catch(a){}}setTimeout(y,100)}}),[y]);if(t.useEffect((()=>{if(g){u.current=!1,s({type:"loading"});const e=setTimeout((()=>{y()}),500),a=setTimeout((()=>{if(!u.current){u.current=!0;const e=f(g);v(e)}}),2e3);return()=>{clearTimeout(e),clearTimeout(a)}}}),[g,y,f,v]),t.useEffect((()=>()=>{l.current&&l.current.disconnect()}),[]),h&&void 0===m)return a.jsx("div",{className:"flex items-center justify-center py-5",children:a.jsx(th,{text:"Fetching merge fields..."})});if(!e)return a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx(kve,{type:"email"})});const k=i&&"ready"===o.type&&o.height?`${o.height}px`:"100%";return a.jsx("div",{className:"w-full bg-white rounded-lg border-0",style:i?{width:"100%",height:"auto"}:{transition:"height 0.3s ease-in-out",height:"ready"===o.type?o.height:"auto"},children:"loading"===o.type?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(th,{text:"Loading email preview..."})}):a.jsx("iframe",{ref:r,title:"Email Preview",srcDoc:g,className:"w-full block",style:{border:"none",backgroundColor:"white",width:"100%",height:k,overflow:"hidden",scrollbarWidth:"none",msOverflowStyle:"none",display:"block"},scrolling:"no",onLoad:b,onError:()=>{const e=f(g);v(e)}})})};var wve=.999,Ave=/[\\\/_+.#"@\[\(\{&]/,Cve=/[\\\/_+.#"@\[\(\{&]/g,Mve=/[\s-]/,Tve=/[\s-]/g;function xve(e,a,t,n,i,r,o){if(r===a.length)return i===e.length?1:.99;var s=`${i},${r}`;if(void 0!==o[s])return o[s];for(var l,u,c,d,m=n.charAt(r),h=t.indexOf(m,i),p=0;h>=0;)(l=xve(e,a,t,n,h+1,r+1,o))>p&&(h===i?l*=1:Ave.test(e.charAt(h-1))?(l*=.8,(c=e.slice(i,h-1).match(Cve))&&i>0&&(l*=Math.pow(wve,c.length))):Mve.test(e.charAt(h-1))?(l*=.9,(d=e.slice(i,h-1).match(Tve))&&i>0&&(l*=Math.pow(wve,d.length))):(l*=.17,i>0&&(l*=Math.pow(wve,h-i))),e.charAt(h)!==a.charAt(r)&&(l*=.9999)),(l<.1&&t.charAt(h-1)===n.charAt(r+1)||n.charAt(r+1)===n.charAt(r)&&t.charAt(h-1)!==n.charAt(r))&&(.1*(u=xve(e,a,t,n,h+1,r+2,o))>l&&(l=.1*u)),l>p&&(p=l),h=t.indexOf(m,h+1);return o[s]=p,p}function Nve(e){return e.toLowerCase().replace(Tve," ")}function Eve(e,a,t){return xve(e=t&&t.length>0?""+(e+" "+t.join(" ")):e,a,Nve(e),Nve(a),0,0,{})}var _ve,jve={exports:{}},Pve={};var Lve,Bve={};
59
+ */(t.expires)||!Number.isFinite(t.expires.valueOf()))throw new TypeError(`option expires is invalid: ${t.expires}`);r+="; Expires="+t.expires.toUTCString()}t.httpOnly&&(r+="; HttpOnly");t.secure&&(r+="; Secure");t.partitioned&&(r+="; Partitioned");if(t.priority){switch("string"==typeof t.priority?t.priority.toLowerCase():void 0){case"low":r+="; Priority=Low";break;case"medium":r+="; Priority=Medium";break;case"high":r+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${t.priority}`)}}if(t.sameSite){switch("string"==typeof t.sameSite?t.sameSite.toLowerCase():t.sameSite){case!0:case"strict":r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"none":r+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${t.sameSite}`)}}return r};const Mce=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,Tce=/^[\u0021-\u003A\u003C-\u007E]*$/,xce=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Nce=/^[\u0020-\u003A\u003D-\u007E]*$/,Ece=Object.prototype.toString,_ce=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function jce(e,a,t){do{const t=e.charCodeAt(a);if(32!==t&&9!==t)return a}while(++a<t);return t}function Pce(e,a,t){for(;a>t;){const t=e.charCodeAt(--a);if(32!==t&&9!==t)return a+1}return t}function Lce(e){if(-1===e.indexOf("%"))return e;try{return decodeURIComponent(e)}catch(jFe){return e}}function Bce(e={}){let a,{initialEntries:t=["/"],initialIndex:n,v5Compat:i=!1}=e;a=t.map(((e,a)=>c(e,"string"==typeof e?null:e.state,0===a?"default":void 0)));let r=l(null==n?a.length-1:n),o="POP",s=null;function l(e){return Math.min(Math.max(e,0),a.length-1)}function u(){return a[r]}function c(e,t=null,n){let i=function(e,a,t=null,n){let i={pathname:"string"==typeof e?e:e.pathname,search:"",hash:"",..."string"==typeof a?Ice(a):a,state:t,key:a&&a.key||n||zce()};return i}(a?u().pathname:"/",e,t,n);return Dce("/"===i.pathname.charAt(0),`relative pathnames are not supported in memory history: ${JSON.stringify(e)}`),i}function d(e){return"string"==typeof e?e:Oce(e)}return{get index(){return r},get action(){return o},get location(){return u()},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let a="string"==typeof e?Ice(e):e;return{pathname:a.pathname||"",search:a.search||"",hash:a.hash||""}},push(e,t){o="PUSH";let n=c(e,t);r+=1,a.splice(r,a.length,n),i&&s&&s({action:o,location:n,delta:1})},replace(e,t){o="REPLACE";let n=c(e,t);a[r]=n,i&&s&&s({action:o,location:n,delta:0})},go(e){o="POP";let t=l(r+e);r=t,s&&s({action:o,location:a[t],delta:e})},listen:e=>(s=e,()=>{s=null})}}function Rce(e,a){if(!1===e||null==e)throw new Error(a)}function Dce(e,a){if(!e)try{throw new Error(a)}catch(jFe){}}function zce(){return Math.random().toString(36).substring(2,10)}function Oce({pathname:e="/",search:a="",hash:t=""}){return a&&"?"!==a&&(e+="?"===a.charAt(0)?a:"?"+a),t&&"#"!==t&&(e+="#"===t.charAt(0)?t:"#"+t),e}function Ice(e){let a={};if(e){let t=e.indexOf("#");t>=0&&(a.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(a.search=e.substring(n),e=e.substring(0,n)),e&&(a.pathname=e)}return a}function Kce(e,a,t="/"){return function(e,a,t,n){let i="string"==typeof a?Ice(a):a,r=ede(i.pathname||"/",t);if(null==r)return null;let o=Hce(e);!function(e){e.sort(((e,a)=>e.score!==a.score?a.score-e.score:function(e,a){let t=e.length===a.length&&e.slice(0,-1).every(((e,t)=>e===a[t]));return t?e[e.length-1]-a[a.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),a.routesMeta.map((e=>e.childrenIndex)))))}(o);let s=null;for(let l=0;null==s&&l<o.length;++l){let e=Xce(r);s=Yce(o[l],e,n)}return s}(e,a,t,!1)}function Hce(e,a=[],t=[],n=""){let i=(e,i,r)=>{let o={relativePath:void 0===r?e.path||"":r,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};o.relativePath.startsWith("/")&&(Rce(o.relativePath.startsWith(n),`Absolute route path "${o.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),o.relativePath=o.relativePath.slice(n.length));let s=ide([n,o.relativePath]),l=t.concat(o);e.children&&e.children.length>0&&(Rce(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${s}".`),Hce(e.children,a,l,s)),(null!=e.path||e.index)&&a.push({path:s,score:$ce(s,e.index),routesMeta:l})};return e.forEach(((e,a)=>{if(""!==e.path&&e.path?.includes("?"))for(let t of Fce(e.path))i(e,a,t);else i(e,a)})),a}function Fce(e){let a=e.split("/");if(0===a.length)return[];let[t,...n]=a,i=t.endsWith("?"),r=t.replace(/\?$/,"");if(0===n.length)return i?[r,""]:[r];let o=Fce(n.join("/")),s=[];return s.push(...o.map((e=>""===e?r:[r,e].join("/")))),i&&s.push(...o),s.map((a=>e.startsWith("/")&&""===a?"/":a))}var Gce=/^:[\w-]+$/,Vce=3,Jce=2,Uce=1,Wce=10,qce=-2,Zce=e=>"*"===e;function $ce(e,a){let t=e.split("/"),n=t.length;return t.some(Zce)&&(n+=qce),a&&(n+=Jce),t.filter((e=>!Zce(e))).reduce(((e,a)=>e+(Gce.test(a)?Vce:""===a?Uce:Wce)),n)}function Yce(e,a,t=!1){let{routesMeta:n}=e,i={},r="/",o=[];for(let s=0;s<n.length;++s){let e=n[s],l=s===n.length-1,u="/"===r?a:a.slice(r.length)||"/",c=Qce({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},u),d=e.route;if(!c&&l&&t&&!n[n.length-1].route.index&&(c=Qce({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},u)),!c)return null;Object.assign(i,c.params),o.push({params:i,pathname:ide([r,c.pathname]),pathnameBase:rde(ide([r,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(r=ide([r,c.pathnameBase]))}return o}function Qce(e,a){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=function(e,a=!1,t=!0){Dce("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,a,t)=>(n.push({paramName:a,isOptional:null!=t}),t?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(n.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let r=new RegExp(i,a?void 0:"i");return[r,n]}(e.path,e.caseSensitive,e.end),i=a.match(t);if(!i)return null;let r=i[0],o=r.replace(/(.)\/+$/,"$1"),s=i.slice(1);return{params:n.reduce(((e,{paramName:a,isOptional:t},n)=>{if("*"===a){o=r.slice(0,r.length-(s[n]||"").length).replace(/(.)\/+$/,"$1")}const i=s[n];return e[a]=t&&!i?void 0:(i||"").replace(/%2F/g,"/"),e}),{}),pathname:r,pathnameBase:o,pattern:e}}function Xce(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(a){return Dce(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),e}}function ede(e,a){if("/"===a)return e;if(!e.toLowerCase().startsWith(a.toLowerCase()))return null;let t=a.endsWith("/")?a.length-1:a.length,n=e.charAt(t);return n&&"/"!==n?null:e.slice(t)||"/"}function ade(e,a,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${a}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function tde(e){let a=function(e){return e.filter(((e,a)=>0===a||e.route.path&&e.route.path.length>0))}(e);return a.map(((e,t)=>t===a.length-1?e.pathname:e.pathnameBase))}function nde(e,a,t,n=!1){let i;"string"==typeof e?i=Ice(e):(i={...e},Rce(!i.pathname||!i.pathname.includes("?"),ade("?","pathname","search",i)),Rce(!i.pathname||!i.pathname.includes("#"),ade("#","pathname","hash",i)),Rce(!i.search||!i.search.includes("#"),ade("#","search","hash",i)));let r,o=""===e||""===i.pathname,s=o?"/":i.pathname;if(null==s)r=t;else{let e=a.length-1;if(!n&&s.startsWith("..")){let a=s.split("/");for(;".."===a[0];)a.shift(),e-=1;i.pathname=a.join("/")}r=e>=0?a[e]:"/"}let l=function(e,a="/"){let{pathname:t,search:n="",hash:i=""}="string"==typeof e?Ice(e):e,r=t?t.startsWith("/")?t:function(e,a){let t=a.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?t.length>1&&t.pop():"."!==e&&t.push(e)})),t.length>1?t.join("/"):"/"}(t,a):a;return{pathname:r,search:ode(n),hash:sde(i)}}(i,r),u=s&&"/"!==s&&s.endsWith("/"),c=(o||"."===s)&&t.endsWith("/");return l.pathname.endsWith("/")||!u&&!c||(l.pathname+="/"),l}var ide=e=>e.join("/").replace(/\/\/+/g,"/"),rde=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ode=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",sde=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";var lde=["POST","PUT","PATCH","DELETE"];new Set(lde);var ude=["GET",...lde];new Set(ude);var cde=r.createContext(null);cde.displayName="DataRouter";var dde=r.createContext(null);dde.displayName="DataRouterState";var mde=r.createContext({isTransitioning:!1});mde.displayName="ViewTransition",r.createContext(new Map).displayName="Fetchers",r.createContext(null).displayName="Await";var hde=r.createContext(null);hde.displayName="Navigation";var pde=r.createContext(null);pde.displayName="Location";var gde=r.createContext({outlet:null,matches:[],isDataRoute:!1});gde.displayName="Route";var fde=r.createContext(null);function vde(){return null!=r.useContext(pde)}function yde(){return Rce(vde(),"useLocation() may be used only in the context of a <Router> component."),r.useContext(pde).location}fde.displayName="RouteError";var bde="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function kde(e){r.useContext(hde).static||r.useLayoutEffect(e)}function Sde(){let{isDataRoute:e}=r.useContext(gde);return e?function(){let{router:e}=function(e){let a=r.useContext(cde);return Rce(a,Nde(e)),a}("useNavigate"),a=Ede("useNavigate"),t=r.useRef(!1);return kde((()=>{t.current=!0})),r.useCallback((async(n,i={})=>{Dce(t.current,bde),t.current&&("number"==typeof n?e.navigate(n):await e.navigate(n,{fromRouteId:a,...i}))}),[e,a])}():function(){Rce(vde(),"useNavigate() may be used only in the context of a <Router> component.");let e=r.useContext(cde),{basename:a,navigator:t}=r.useContext(hde),{matches:n}=r.useContext(gde),{pathname:i}=yde(),o=JSON.stringify(tde(n)),s=r.useRef(!1);return kde((()=>{s.current=!0})),r.useCallback(((n,r={})=>{if(Dce(s.current,bde),!s.current)return;if("number"==typeof n)return void t.go(n);let l=nde(n,JSON.parse(o),i,"path"===r.relative);null==e&&"/"!==a&&(l.pathname="/"===l.pathname?a:ide([a,l.pathname])),(r.replace?t.replace:t.push)(l,r.state,r)}),[a,t,o,i,e])}()}function wde(e,{relative:a}={}){let{matches:t}=r.useContext(gde),{pathname:n}=yde(),i=JSON.stringify(tde(t));return r.useMemo((()=>nde(e,JSON.parse(i),n,"path"===a)),[e,i,n,a])}function Ade(e,a,t,n){Rce(vde(),"useRoutes() may be used only in the context of a <Router> component.");let i,{navigator:o,static:s}=r.useContext(hde),{matches:l}=r.useContext(gde),u=l[l.length-1],c=u?u.params:{},d=u?u.pathname:"/",m=u?u.pathnameBase:"/",h=u&&u.route;{let e=h&&h.path||"";jde(d,!h||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}i=yde();let p=i.pathname||"/",g=p;if("/"!==m){let e=m.replace(/^\//,"").split("/");g="/"+p.replace(/^\//,"").split("/").slice(e.length).join("/")}let f=!s&&t&&t.matches&&t.matches.length>0?t.matches:Kce(e,{pathname:g});Dce(h||null!=f,`No routes matched location "${i.pathname}${i.search}${i.hash}" `),Dce(null==f||void 0!==f[f.length-1].route.element||void 0!==f[f.length-1].route.Component||void 0!==f[f.length-1].route.lazy,`Matched leaf route at location "${i.pathname}${i.search}${i.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=function(e,a=[],t=null){if(null==e){if(!t)return null;if(t.errors)e=t.matches;else{if(0!==a.length||t.initialized||!(t.matches.length>0))return null;e=t.matches}}let n=e,i=t?.errors;if(null!=i){let e=n.findIndex((e=>e.route.id&&void 0!==i?.[e.route.id]));Rce(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),n=n.slice(0,Math.min(n.length,e+1))}let o=!1,s=-1;if(t)for(let r=0;r<n.length;r++){let e=n[r];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(s=r),e.route.id){let{loaderData:a,errors:i}=t,r=e.route.loader&&!a.hasOwnProperty(e.route.id)&&(!i||void 0===i[e.route.id]);if(e.route.lazy||r){o=!0,n=s>=0?n.slice(0,s+1):[n[0]];break}}}return n.reduceRight(((e,l,u)=>{let c,d=!1,m=null,h=null;t&&(c=i&&l.route.id?i[l.route.id]:void 0,m=l.route.errorElement||Mde,o&&(s<0&&0===u?(jde("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,h=null):s===u&&(d=!0,h=l.route.hydrateFallbackElement||null)));let p=a.concat(n.slice(0,u+1)),g=()=>{let a;return a=c?m:d?h:l.route.Component?r.createElement(l.route.Component,null):l.route.element?l.route.element:e,r.createElement(xde,{match:l,routeContext:{outlet:e,matches:p,isDataRoute:null!=t},children:a})};return t&&(l.route.ErrorBoundary||l.route.errorElement||0===u)?r.createElement(Tde,{location:t.location,revalidation:t.revalidation,component:m,error:c,children:g(),routeContext:{outlet:null,matches:p,isDataRoute:!0}}):g()}),null)}(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:ide([m,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?m:ide([m,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),l,t,n);return v}function Cde(){let e=function(){let e=r.useContext(fde),a=function(e){let a=r.useContext(dde);return Rce(a,Nde(e)),a}("useRouteError"),t=Ede("useRouteError");if(void 0!==e)return e;return a.errors?.[t]}(),a=function(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},s=null;return s=r.createElement(r.Fragment,null,r.createElement("p",null,"💿 Hey developer 👋"),r.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",r.createElement("code",{style:o},"ErrorBoundary")," or"," ",r.createElement("code",{style:o},"errorElement")," prop on your route.")),r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},a),t?r.createElement("pre",{style:i},t):null,s)}r.createContext(null);var Mde=r.createElement(Cde,null),Tde=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,a){return a.location!==e.location||"idle"!==a.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:a.error,location:a.location,revalidation:e.revalidation||a.revalidation}}componentDidCatch(e,a){}render(){return void 0!==this.state.error?r.createElement(gde.Provider,{value:this.props.routeContext},r.createElement(fde.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function xde({routeContext:e,match:a,children:t}){let n=r.useContext(cde);return n&&n.static&&n.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=a.route.id),r.createElement(gde.Provider,{value:e},t)}function Nde(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ede(e){let a=function(e){let a=r.useContext(gde);return Rce(a,Nde(e)),a}(e),t=a.matches[a.matches.length-1];return Rce(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}var _de={};function jde(e,a,t){a||_de[e]||(_de[e]=!0,Dce(!1,t))}function Pde({basename:e,children:a,initialEntries:t,initialIndex:n}){let i=r.useRef();null==i.current&&(i.current=Bce({initialEntries:t,initialIndex:n,v5Compat:!0}));let o=i.current,[s,l]=r.useState({action:o.action,location:o.location}),u=r.useCallback((e=>{r.startTransition((()=>l(e)))}),[l]);return r.useLayoutEffect((()=>o.listen(u)),[o,u]),r.createElement(Lde,{basename:e,children:a,location:s.location,navigationType:s.action,navigator:o})}function Lde({basename:e="/",children:a=null,location:t,navigationType:n="POP",navigator:i,static:o=!1}){Rce(!vde(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let s=e.replace(/^\/*/,"/"),l=r.useMemo((()=>({basename:s,navigator:i,static:o,future:{}})),[s,i,o]);"string"==typeof t&&(t=Ice(t));let{pathname:u="/",search:c="",hash:d="",state:m=null,key:h="default"}=t,p=r.useMemo((()=>{let e=ede(u,s);return null==e?null:{location:{pathname:e,search:c,hash:d,state:m,key:h},navigationType:n}}),[s,u,c,d,m,h,n]);return Dce(null!=p,`<Router basename="${s}"> is not able to match the URL "${u}${c}${d}" because it does not start with the basename, so the <Router> won't render anything.`),null==p?null:r.createElement(hde.Provider,{value:l},r.createElement(pde.Provider,{children:a,value:p}))}r.memo((function({routes:e,future:a,state:t}){return Ade(e,0,t,a)}));var Bde="get",Rde="application/x-www-form-urlencoded";function Dde(e){return null!=e&&"string"==typeof e.tagName}function zde(e=""){return new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((a,t)=>{let n=e[t];return a.concat(Array.isArray(n)?n.map((e=>[t,e])):[[t,n]])}),[]))}var Ode=null;var Ide=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Kde(e){return null==e||Ide.has(e)?e:(Dce(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Rde}"`),null)}function Hde(e,a){let t,n,i,r,o;if(function(e){return Dde(e)&&"form"===e.tagName.toLowerCase()}(e)){let o=e.getAttribute("action");n=o?ede(o,a):null,t=e.getAttribute("method")||Bde,i=Kde(e.getAttribute("enctype"))||Rde,r=new FormData(e)}else if(function(e){return Dde(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Dde(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let o=e.form;if(null==o)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||o.getAttribute("action");if(n=s?ede(s,a):null,t=e.getAttribute("formmethod")||o.getAttribute("method")||Bde,i=Kde(e.getAttribute("formenctype"))||Kde(o.getAttribute("enctype"))||Rde,r=new FormData(o,e),!function(){if(null===Ode)try{new FormData(document.createElement("form"),0),Ode=!1}catch(jFe){Ode=!0}return Ode}()){let{name:a,type:t,value:n}=e;if("image"===t){let e=a?`${a}.`:"";r.append(`${e}x`,"0"),r.append(`${e}y`,"0")}else a&&r.append(a,n)}}else{if(Dde(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=Bde,n=null,i=Rde,o=e}return r&&"text/plain"===i&&(o=r,r=void 0),{action:n,method:t.toLowerCase(),encType:i,formData:r,body:o}}function Fde(e,a){if(!1===e||null==e)throw new Error(a)}function Gde(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"==typeof e.imageSrcSet&&"string"==typeof e.imageSizes:"string"==typeof e.rel&&"string"==typeof e.href)}async function Vde(e,a,t){return function(e,a){let t=new Set;return new Set(a),e.reduce(((e,a)=>{let n=JSON.stringify(function(e){let a={},t=Object.keys(e).sort();for(let n of t)a[n]=e[n];return a}(a));return t.has(n)||(t.add(n),e.push({key:n,link:a})),e}),[])}((await Promise.all(e.map((async e=>{let n=a.routes[e.route.id];if(n){let e=await async function(e,a){if(e.id in a)return a[e.id];try{let t=await import(e.module);return a[e.id]=t,t}catch(t){return window.__reactRouterContext&&window,window.location.reload(),new Promise((()=>{}))}}(n,t);return e.links?e.links():[]}return[]})))).flat(1).filter(Gde).filter((e=>"stylesheet"===e.rel||"preload"===e.rel)).map((e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"})))}function Jde(e,a,t,n,i,r){let o=(e,a)=>!t[a]||e.route.id!==t[a].route.id,s=(e,a)=>t[a].pathname!==e.pathname||t[a].route.path?.endsWith("*")&&t[a].params["*"]!==e.params["*"];return"assets"===r?a.filter(((e,a)=>o(e,a)||s(e,a))):"data"===r?a.filter(((a,r)=>{let l=n.routes[a.route.id];if(!l||!l.hasLoader)return!1;if(o(a,r)||s(a,r))return!0;if(a.route.shouldRevalidate){let n=a.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:a.params,defaultShouldRevalidate:!0});if("boolean"==typeof n)return n}return!0})):[]}function Ude(e,a,{includeHydrateFallback:t}={}){return n=e.map((e=>{let n=a.routes[e.route.id];if(!n)return[];let i=[n.module];return n.clientActionModule&&(i=i.concat(n.clientActionModule)),n.clientLoaderModule&&(i=i.concat(n.clientLoaderModule)),t&&n.hydrateFallbackModule&&(i=i.concat(n.hydrateFallbackModule)),n.imports&&(i=i.concat(n.imports)),i})).flat(1),[...new Set(n)];var n}function Wde(){let e=r.useContext(cde);return Fde(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}var qde=r.createContext(void 0);function Zde(){let e=r.useContext(qde);return Fde(e,"You must render this element inside a <HydratedRouter> element"),e}function $de(e,a){return t=>{e&&e(t),t.defaultPrevented||a(t)}}function Yde({page:e,...a}){let{router:t}=Wde(),n=r.useMemo((()=>Kce(t.routes,e,t.basename)),[t.routes,e,t.basename]);return n?r.createElement(Qde,{page:e,matches:n,...a}):null}function Qde({page:e,matches:a,...t}){let n=yde(),{manifest:i,routeModules:o}=Zde(),{basename:s}=Wde(),{loaderData:l,matches:u}=function(){let e=r.useContext(dde);return Fde(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}(),c=r.useMemo((()=>Jde(e,a,u,i,n,"data")),[e,a,u,i,n]),d=r.useMemo((()=>Jde(e,a,u,i,n,"assets")),[e,a,u,i,n]),m=r.useMemo((()=>{if(e===n.pathname+n.search+n.hash)return[];let t=new Set,r=!1;if(a.forEach((e=>{let a=i.routes[e.route.id];a&&a.hasLoader&&(!c.some((a=>a.route.id===e.route.id))&&e.route.id in l&&o[e.route.id]?.shouldRevalidate||a.hasClientLoader?r=!0:t.add(e.route.id))})),0===t.size)return[];let u=function(e,a){let t="string"==typeof e?new URL(e,"undefined"==typeof window?"server://singlefetch/":window.location.origin):e;return t.pathname="/"===t.pathname?"_root.data":a&&"/"===ede(t.pathname,a)?`${a.replace(/\/$/,"")}/_root.data`:`${t.pathname.replace(/\/$/,"")}.data`,t}(e,s);return r&&t.size>0&&u.searchParams.set("_routes",a.filter((e=>t.has(e.route.id))).map((e=>e.route.id)).join(",")),[u.pathname+u.search]}),[s,l,n,i,c,a,e,o]),h=r.useMemo((()=>Ude(d,i)),[d,i]),p=function(e){let{manifest:a,routeModules:t}=Zde(),[n,i]=r.useState([]);return r.useEffect((()=>{let n=!1;return Vde(e,a,t).then((e=>{n||i(e)})),()=>{n=!0}}),[e,a,t]),n}(d);return r.createElement(r.Fragment,null,m.map((e=>r.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...t}))),h.map((e=>r.createElement("link",{key:e,rel:"modulepreload",href:e,...t}))),p.map((({key:e,link:a})=>r.createElement("link",{key:e,...a}))))}function Xde(...e){return a=>{e.forEach((e=>{"function"==typeof e?e(a):null!=e&&(e.current=a)}))}}qde.displayName="FrameworkContext";var eme="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;try{eme&&(window.__reactRouterVersion="7.5.2")}catch(jFe){}var ame=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tme=r.forwardRef((function({onClick:e,discover:a="render",prefetch:t="none",relative:n,reloadDocument:i,replace:o,state:s,target:l,to:u,preventScrollReset:c,viewTransition:d,...m},h){let p,{basename:g}=r.useContext(hde),f="string"==typeof u&&ame.test(u),v=!1;if("string"==typeof u&&f&&(p=u,eme))try{let e=new URL(window.location.href),a=u.startsWith("//")?new URL(e.protocol+u):new URL(u),t=ede(a.pathname,g);a.origin===e.origin&&null!=t?u=t+a.search+a.hash:v=!0}catch(jFe){Dce(!1,`<Link to="${u}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let y=function(e,{relative:a}={}){Rce(vde(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=r.useContext(hde),{hash:i,pathname:o,search:s}=wde(e,{relative:a}),l=o;return"/"!==t&&(l="/"===o?t:ide([t,o])),n.createHref({pathname:l,search:s,hash:i})}(u,{relative:n}),[b,k,S]=function(e,a){let t=r.useContext(qde),[n,i]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:d,onTouchStart:m}=a,h=r.useRef(null);r.useEffect((()=>{if("render"===e&&s(!0),"viewport"===e){let e=new IntersectionObserver((e=>{e.forEach((e=>{s(e.isIntersecting)}))}),{threshold:.5});return h.current&&e.observe(h.current),()=>{e.disconnect()}}}),[e]),r.useEffect((()=>{if(n){let e=setTimeout((()=>{s(!0)}),100);return()=>{clearTimeout(e)}}}),[n]);let p=()=>{i(!0)},g=()=>{i(!1),s(!1)};return t?"intent"!==e?[o,h,{}]:[o,h,{onFocus:$de(l,p),onBlur:$de(u,g),onMouseEnter:$de(c,p),onMouseLeave:$de(d,g),onTouchStart:$de(m,p)}]:[!1,h,{}]}(t,m),w=function(e,{target:a,replace:t,state:n,preventScrollReset:i,relative:o,viewTransition:s}={}){let l=Sde(),u=yde(),c=wde(e,{relative:o});return r.useCallback((r=>{if(function(e,a){return!(0!==e.button||a&&"_self"!==a||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(r,a)){r.preventDefault();let a=void 0!==t?t:Oce(u)===Oce(c);l(e,{replace:a,state:n,preventScrollReset:i,relative:o,viewTransition:s})}}),[u,l,c,t,n,a,e,i,o,s])}(u,{replace:o,state:s,target:l,preventScrollReset:c,relative:n,viewTransition:d});let A=r.createElement("a",{...m,...S,href:p||y,onClick:v||i?e:function(a){e&&e(a),a.defaultPrevented||w(a)},ref:Xde(h,k),target:l,"data-discover":f||"render"!==a?void 0:"true"});return b&&!f?r.createElement(r.Fragment,null,A,r.createElement(Yde,{page:y})):A}));tme.displayName="Link",r.forwardRef((function({"aria-current":e="page",caseSensitive:a=!1,className:t="",end:n=!1,style:i,to:o,viewTransition:s,children:l,...u},c){let d=wde(o,{relative:u.relative}),m=yde(),h=r.useContext(dde),{navigator:p,basename:g}=r.useContext(hde),f=null!=h&&function(e,a={}){let t=r.useContext(mde);Rce(null!=t,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=ime("useViewTransitionState"),i=wde(e,{relative:a.relative});if(!t.isTransitioning)return!1;let o=ede(t.currentLocation.pathname,n)||t.currentLocation.pathname,s=ede(t.nextLocation.pathname,n)||t.nextLocation.pathname;return null!=Qce(i.pathname,s)||null!=Qce(i.pathname,o)}(d)&&!0===s,v=p.encodeLocation?p.encodeLocation(d).pathname:d.pathname,y=m.pathname,b=h&&h.navigation&&h.navigation.location?h.navigation.location.pathname:null;a||(y=y.toLowerCase(),b=b?b.toLowerCase():null,v=v.toLowerCase()),b&&g&&(b=ede(b,g)||b);const k="/"!==v&&v.endsWith("/")?v.length-1:v.length;let S,w=y===v||!n&&y.startsWith(v)&&"/"===y.charAt(k),A=null!=b&&(b===v||!n&&b.startsWith(v)&&"/"===b.charAt(v.length)),C={isActive:w,isPending:A,isTransitioning:f},M=w?e:void 0;S="function"==typeof t?t(C):[t,w?"active":null,A?"pending":null,f?"transitioning":null].filter(Boolean).join(" ");let T="function"==typeof i?i(C):i;return r.createElement(tme,{...u,"aria-current":M,className:S,ref:c,style:T,to:o,viewTransition:s},"function"==typeof l?l(C):l)})).displayName="NavLink";var nme=r.forwardRef((({discover:e="render",fetcherKey:a,navigate:t,reloadDocument:n,replace:i,state:o,method:s=Bde,action:l,onSubmit:u,relative:c,preventScrollReset:d,viewTransition:m,...h},p)=>{let g=function(){let{router:e}=ime("useSubmit"),{basename:a}=r.useContext(hde),t=Ede("useRouteId");return r.useCallback((async(n,i={})=>{let{action:r,method:o,encType:s,formData:l,body:u}=Hde(n,a);if(!1===i.navigate){let a=i.fetcherKey||sme();await e.fetch(a,t,i.action||r,{preventScrollReset:i.preventScrollReset,formData:l,body:u,formMethod:i.method||o,formEncType:i.encType||s,flushSync:i.flushSync})}else await e.navigate(i.action||r,{preventScrollReset:i.preventScrollReset,formData:l,body:u,formMethod:i.method||o,formEncType:i.encType||s,replace:i.replace,state:i.state,fromRouteId:t,flushSync:i.flushSync,viewTransition:i.viewTransition})}),[e,a,t])}(),f=function(e,{relative:a}={}){let{basename:t}=r.useContext(hde),n=r.useContext(gde);Rce(n,"useFormAction must be used inside a RouteContext");let[i]=n.matches.slice(-1),o={...wde(e||".",{relative:a})},s=yde();if(null==e){o.search=s.search;let e=new URLSearchParams(o.search),a=e.getAll("index");if(a.some((e=>""===e))){e.delete("index"),a.filter((e=>e)).forEach((a=>e.append("index",a)));let t=e.toString();o.search=t?`?${t}`:""}}e&&"."!==e||!i.route.index||(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index");"/"!==t&&(o.pathname="/"===o.pathname?t:ide([t,o.pathname]));return Oce(o)}(l,{relative:c}),v="get"===s.toLowerCase()?"get":"post",y="string"==typeof l&&ame.test(l);return r.createElement("form",{ref:p,method:v,action:f,onSubmit:n?u:e=>{if(u&&u(e),e.defaultPrevented)return;e.preventDefault();let n=e.nativeEvent.submitter,r=n?.getAttribute("formmethod")||s;g(n||e.currentTarget,{fetcherKey:a,method:r,navigate:t,replace:i,state:o,relative:c,preventScrollReset:d,viewTransition:m})},...h,"data-discover":y||"render"!==e?void 0:"true"})}));function ime(e){let a=r.useContext(cde);return Rce(a,function(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}(e)),a}function rme(e){Dce("undefined"!=typeof URLSearchParams,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let a=r.useRef(zde(e)),t=r.useRef(!1),n=yde(),i=r.useMemo((()=>function(e,a){let t=zde(e);return a&&a.forEach(((e,n)=>{t.has(n)||a.getAll(n).forEach((e=>{t.append(n,e)}))})),t}(n.search,t.current?null:a.current)),[n.search]),o=Sde(),s=r.useCallback(((e,a)=>{const n=zde("function"==typeof e?e(i):e);t.current=!0,o("?"+n,a)}),[o,i]);return[i,s]}nme.displayName="Form";var ome=0,sme=()=>`__${String(++ome)}__`;new TextEncoder;var lme,ume="dismissableLayer.update",cme="dismissableLayer.pointerDownOutside",dme="dismissableLayer.focusOutside",mme=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),hme=r.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:l,onDismiss:u,...c}=e,d=r.useContext(mme),[m,h]=r.useState(null),p=m?.ownerDocument??globalThis?.document,[,g]=r.useState({}),f=We(t,(e=>h(e))),v=Array.from(d.layers),[y]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=v.indexOf(y),k=m?v.indexOf(m):-1,S=d.layersWithOutsidePointerEventsDisabled.size>0,w=k>=b,A=function(e,a=globalThis?.document){const t=YE(e),n=r.useRef(!1),i=r.useRef((()=>{}));return r.useEffect((()=>{const e=e=>{if(e.target&&!n.current){let n=function(){gme(cme,t,r,{discrete:!0})};const r={originalEvent:e};"touch"===e.pointerType?(a.removeEventListener("click",i.current),i.current=n,a.addEventListener("click",i.current,{once:!0})):n()}else a.removeEventListener("click",i.current);n.current=!1},r=window.setTimeout((()=>{a.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(r),a.removeEventListener("pointerdown",e),a.removeEventListener("click",i.current)}}),[a,t]),{onPointerDownCapture:()=>n.current=!0}}((e=>{const a=e.target,t=[...d.branches].some((e=>e.contains(a)));w&&!t&&(o?.(e),l?.(e),e.defaultPrevented||u?.())}),p),C=function(e,a=globalThis?.document){const t=YE(e),n=r.useRef(!1);return r.useEffect((()=>{const e=e=>{if(e.target&&!n.current){gme(dme,t,{originalEvent:e},{discrete:!1})}};return a.addEventListener("focusin",e),()=>a.removeEventListener("focusin",e)}),[a,t]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}((e=>{const a=e.target;[...d.branches].some((e=>e.contains(a)))||(s?.(e),l?.(e),e.defaultPrevented||u?.())}),p);return function(e,a=globalThis?.document){const t=YE(e);r.useEffect((()=>{const e=e=>{"Escape"===e.key&&t(e)};return a.addEventListener("keydown",e,{capture:!0}),()=>a.removeEventListener("keydown",e,{capture:!0})}),[t,a])}((e=>{k===d.layers.size-1&&(i?.(e),!e.defaultPrevented&&u&&(e.preventDefault(),u()))}),p),r.useEffect((()=>{if(m)return n&&(0===d.layersWithOutsidePointerEventsDisabled.size&&(lme=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(m)),d.layers.add(m),pme(),()=>{n&&1===d.layersWithOutsidePointerEventsDisabled.size&&(p.body.style.pointerEvents=lme)}}),[m,p,n,d]),r.useEffect((()=>()=>{m&&(d.layers.delete(m),d.layersWithOutsidePointerEventsDisabled.delete(m),pme())}),[m,d]),r.useEffect((()=>{const e=()=>g({});return document.addEventListener(ume,e),()=>document.removeEventListener(ume,e)}),[]),a.jsx(s_.div,{...c,ref:f,style:{pointerEvents:S?w?"auto":"none":void 0,...e.style},onFocusCapture:qE(e.onFocusCapture,C.onFocusCapture),onBlurCapture:qE(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:qE(e.onPointerDownCapture,A.onPointerDownCapture)})}));hme.displayName="DismissableLayer";function pme(){const e=new CustomEvent(ume);document.dispatchEvent(e)}function gme(e,a,t,{discrete:n}){const i=t.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&i.addEventListener(e,a,{once:!0}),n?function(e,a){e&&o.flushSync((()=>e.dispatchEvent(a)))}(i,r):i.dispatchEvent(r)}r.forwardRef(((e,t)=>{const n=r.useContext(mme),i=r.useRef(null),o=We(t,i);return r.useEffect((()=>{const e=i.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),a.jsx(s_.div,{...e,ref:o})})).displayName="DismissableLayerBranch";var fme=0;function vme(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var yme="focusScope.autoFocusOnMount",bme="focusScope.autoFocusOnUnmount",kme={bubbles:!1,cancelable:!0},Sme=r.forwardRef(((e,t)=>{const{loop:n=!1,trapped:i=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...l}=e,[u,c]=r.useState(null),d=YE(o),m=YE(s),h=r.useRef(null),p=We(t,(e=>c(e))),g=r.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;r.useEffect((()=>{if(i){let e=function(e){if(g.paused||!u)return;const a=e.target;u.contains(a)?h.current=a:Mme(h.current,{select:!0})},a=function(e){if(g.paused||!u)return;const a=e.relatedTarget;null!==a&&(u.contains(a)||Mme(h.current,{select:!0}))},t=function(e){if(document.activeElement===document.body)for(const a of e)a.removedNodes.length>0&&Mme(u)};document.addEventListener("focusin",e),document.addEventListener("focusout",a);const n=new MutationObserver(t);return u&&n.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",a),n.disconnect()}}}),[i,u,g.paused]),r.useEffect((()=>{if(u){Tme.add(g);const a=document.activeElement;if(!u.contains(a)){const t=new CustomEvent(yme,kme);u.addEventListener(yme,d),u.dispatchEvent(t),t.defaultPrevented||(!function(e,{select:a=!1}={}){const t=document.activeElement;for(const n of e)if(Mme(n,{select:a}),document.activeElement!==t)return}((e=wme(u),e.filter((e=>"A"!==e.tagName))),{select:!0}),document.activeElement===a&&Mme(u))}return()=>{u.removeEventListener(yme,d),setTimeout((()=>{const e=new CustomEvent(bme,kme);u.addEventListener(bme,m),u.dispatchEvent(e),e.defaultPrevented||Mme(a??document.body,{select:!0}),u.removeEventListener(bme,m),Tme.remove(g)}),0)}}var e}),[u,d,m,g]);const f=r.useCallback((e=>{if(!n&&!i)return;if(g.paused)return;const a=document.activeElement;if("Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&a){const t=e.currentTarget,[i,r]=function(e){const a=wme(e),t=Ame(a,e),n=Ame(a.reverse(),e);return[t,n]}(t);i&&r?e.shiftKey||a!==r?e.shiftKey&&a===i&&(e.preventDefault(),n&&Mme(r,{select:!0})):(e.preventDefault(),n&&Mme(i,{select:!0})):a===t&&e.preventDefault()}}),[n,i,g.paused]);return a.jsx(s_.div,{tabIndex:-1,...l,ref:p,onKeyDown:f})}));function wme(e){const a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.disabled||e.hidden||"INPUT"===e.tagName&&"hidden"===e.type?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)a.push(t.currentNode);return a}function Ame(e,a){for(const t of e)if(!Cme(t,{upTo:a}))return t}function Cme(e,{upTo:a}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==a&&e===a)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function Mme(e,{select:a=!1}={}){if(e&&e.focus){const t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&a&&e.select()}}Sme.displayName="FocusScope";var Tme=function(){let e=[];return{add(a){const t=e[0];a!==t&&t?.pause(),e=xme(e,a),e.unshift(a)},remove(a){e=xme(e,a),e[0]?.resume()}}}();function xme(e,a){const t=[...e],n=t.indexOf(a);return-1!==n&&t.splice(n,1),t}var Nme=r["useId".toString()]||(()=>{}),Eme=0;function _me(e){const[a,t]=r.useState(Nme());return e_((()=>{t((e=>e??String(Eme++)))}),[e]),a?`radix-${a}`:""}var jme=r.forwardRef(((e,t)=>{const{children:n,width:i=10,height:r=5,...o}=e;return a.jsx(s_.svg,{...o,ref:t,width:i,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:a.jsx("polygon",{points:"0,0 30,0 15,10"})})}));jme.displayName="Arrow";var Pme=jme,Lme="Popper",[Bme,Rme]=ZE(Lme),[Dme,zme]=Bme(Lme),Ome=e=>{const{__scopePopper:t,children:n}=e,[i,o]=r.useState(null);return a.jsx(Dme,{scope:t,anchor:i,onAnchorChange:o,children:n})};Ome.displayName=Lme;var Ime="PopperAnchor",Kme=r.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:i,...o}=e,s=zme(Ime,n),l=r.useRef(null),u=We(t,l);return r.useEffect((()=>{s.onAnchorChange(i?.current||l.current)})),i?null:a.jsx(s_.div,{...o,ref:u})}));Kme.displayName=Ime;var Hme="PopperContent",[Fme,Gme]=Bme(Hme),Vme=r.forwardRef(((e,t)=>{const{__scopePopper:n,side:i="bottom",sideOffset:o=0,align:s="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:m=0,sticky:h="partial",hideWhenDetached:p=!1,updatePositionStrategy:g="optimized",onPlaced:f,...v}=e,y=zme(Hme,n),[b,k]=r.useState(null),S=We(t,(e=>k(e))),[w,A]=r.useState(null),C=a_(w),M=C?.width??0,T=C?.height??0,x=i+("center"!==s?"-"+s:""),N="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},E=Array.isArray(d)?d:[d],_=E.length>0,j={padding:N,boundary:E.filter(qme),altBoundary:_},{refs:P,floatingStyles:L,placement:B,isPositioned:R,middlewareData:D}=Vl({strategy:"fixed",placement:x,whileElementsMounted:(...e)=>_l(...e,{animationFrame:"always"===g}),elements:{reference:y.anchor},middleware:[Ul({mainAxis:o+T,alignmentAxis:l}),c&&Wl({mainAxis:!0,crossAxis:!1,limiter:"partial"===h?ql():void 0,...j}),c&&Zl({...j}),$l({...j,apply:({elements:e,rects:a,availableWidth:t,availableHeight:n})=>{const{width:i,height:r}=a.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${t}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${i}px`),o.setProperty("--radix-popper-anchor-height",`${r}px`)}}),w&&Ql({element:w,padding:u}),Zme({arrowWidth:M,arrowHeight:T}),p&&Yl({strategy:"referenceHidden",...j})]}),[z,O]=$me(B),I=YE(f);e_((()=>{R&&I?.()}),[R,I]);const K=D.arrow?.x,H=D.arrow?.y,F=0!==D.arrow?.centerOffset,[G,V]=r.useState();return e_((()=>{b&&V(window.getComputedStyle(b).zIndex)}),[b]),a.jsx("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...L,transform:R?L.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:G,"--radix-popper-transform-origin":[D.transformOrigin?.x,D.transformOrigin?.y].join(" "),...D.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(Fme,{scope:n,placedSide:z,onArrowChange:A,arrowX:K,arrowY:H,shouldHideArrow:F,children:a.jsx(s_.div,{"data-side":z,"data-align":O,...v,ref:S,style:{...v.style,animation:R?void 0:"none"}})})})}));Vme.displayName=Hme;var Jme="PopperArrow",Ume={top:"bottom",right:"left",bottom:"top",left:"right"},Wme=r.forwardRef((function(e,t){const{__scopePopper:n,...i}=e,r=Gme(Jme,n),o=Ume[r.placedSide];return a.jsx("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:a.jsx(Pme,{...i,ref:t,style:{...i.style,display:"block"}})})}));function qme(e){return null!==e}Wme.displayName=Jme;var Zme=e=>({name:"transformOrigin",options:e,fn(a){const{placement:t,rects:n,middlewareData:i}=a,r=0!==i.arrow?.centerOffset,o=r?0:e.arrowWidth,s=r?0:e.arrowHeight,[l,u]=$me(t),c={start:"0%",center:"50%",end:"100%"}[u],d=(i.arrow?.x??0)+o/2,m=(i.arrow?.y??0)+s/2;let h="",p="";return"bottom"===l?(h=r?c:`${d}px`,p=-s+"px"):"top"===l?(h=r?c:`${d}px`,p=`${n.floating.height+s}px`):"right"===l?(h=-s+"px",p=r?c:`${m}px`):"left"===l&&(h=`${n.floating.width+s}px`,p=r?c:`${m}px`),{data:{x:h,y:p}}}});function $me(e){const[a,t="center"]=e.split("-");return[a,t]}var Yme=Ome,Qme=Kme,Xme=Vme,ehe=Wme;var ahe=e=>{const{present:a,children:t}=e,n=function(e){const[a,t]=r.useState(),n=r.useRef({}),i=r.useRef(e),o=r.useRef("none"),s=e?"mounted":"unmounted",[l,u]=function(e,a){return r.useReducer(((e,t)=>a[e][t]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return r.useEffect((()=>{const e=the(n.current);o.current="mounted"===l?e:"none"}),[l]),e_((()=>{const a=n.current,t=i.current;if(t!==e){const n=o.current,r=the(a);if(e)u("MOUNT");else if("none"===r||"none"===a?.display)u("UNMOUNT");else{u(t&&n!==r?"ANIMATION_OUT":"UNMOUNT")}i.current=e}}),[e,u]),e_((()=>{if(a){let e;const t=a.ownerDocument.defaultView??window,r=r=>{const o=the(n.current).includes(r.animationName);if(r.target===a&&o&&(u("ANIMATION_END"),!i.current)){const n=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout((()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=n)}))}},s=e=>{e.target===a&&(o.current=the(n.current))};return a.addEventListener("animationstart",s),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",s),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}u("ANIMATION_END")}),[a,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:r.useCallback((e=>{e&&(n.current=getComputedStyle(e)),t(e)}),[])}}(a),i="function"==typeof t?t({present:n.isPresent}):r.Children.only(t),o=We(n.ref,function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(i));return"function"==typeof t||n.isPresent?r.cloneElement(i,{ref:o}):null};function the(e){return e?.animationName||"none"}ahe.displayName="Presence";var nhe="Popover",[ihe,rhe]=ZE(nhe,[Rme]),ohe=Rme(),[she,lhe]=ihe(nhe),uhe=e=>{const{__scopePopover:t,children:n,open:i,defaultOpen:o,onOpenChange:s,modal:l=!1}=e,u=ohe(t),c=r.useRef(null),[d,m]=r.useState(!1),[h=!1,p]=QE({prop:i,defaultProp:o,onChange:s});return a.jsx(Yme,{...u,children:a.jsx(she,{scope:t,contentId:_me(),triggerRef:c,open:h,onOpenChange:p,onOpenToggle:r.useCallback((()=>p((e=>!e))),[p]),hasCustomAnchor:d,onCustomAnchorAdd:r.useCallback((()=>m(!0)),[]),onCustomAnchorRemove:r.useCallback((()=>m(!1)),[]),modal:l,children:n})})};uhe.displayName=nhe;var che="PopoverAnchor";r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,o=lhe(che,n),s=ohe(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=o;return r.useEffect((()=>(l(),()=>u())),[l,u]),a.jsx(Qme,{...s,...i,ref:t})})).displayName=che;var dhe="PopoverTrigger",mhe=r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=lhe(dhe,n),o=ohe(n),s=We(t,r.triggerRef),l=a.jsx(s_.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":She(r.open),...i,ref:s,onClick:qE(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?l:a.jsx(Qme,{asChild:!0,...o,children:l})}));mhe.displayName=dhe;var[hhe,phe]=ihe("PopoverPortal",{forceMount:void 0}),ghe="PopoverContent",fhe=r.forwardRef(((e,t)=>{const n=phe(ghe,e.__scopePopover),{forceMount:i=n.forceMount,...r}=e,o=lhe(ghe,e.__scopePopover);return a.jsx(ahe,{present:i||o.open,children:a.jsx(o.modal?vhe:yhe,{...r,ref:t})})}));fhe.displayName=ghe;var vhe=r.forwardRef(((e,t)=>{const n=lhe(ghe,e.__scopePopover),i=r.useRef(null),o=We(t,i),s=r.useRef(!1);return r.useEffect((()=>{const e=i.current;if(e)return Ln(e)}),[]),a.jsx(Tn,{as:t_,allowPinchZoom:!0,children:a.jsx(bhe,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:qE(e.onCloseAutoFocus,(e=>{e.preventDefault(),s.current||n.triggerRef.current?.focus()})),onPointerDownOutside:qE(e.onPointerDownOutside,(e=>{const a=e.detail.originalEvent;s.current=2===a.button||0===a.button&&!0===a.ctrlKey}),{checkForDefaultPrevented:!1}),onFocusOutside:qE(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),yhe=r.forwardRef(((e,t)=>{const n=lhe(ghe,e.__scopePopover),i=r.useRef(!1),o=r.useRef(!1);return a.jsx(bhe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(i.current||n.triggerRef.current?.focus(),a.preventDefault()),i.current=!1,o.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(i.current=!0,"pointerdown"===a.detail.originalEvent.type&&(o.current=!0));const t=a.target,r=n.triggerRef.current?.contains(t);r&&a.preventDefault(),"focusin"===a.detail.originalEvent.type&&o.current&&a.preventDefault()}})})),bhe=r.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:m,...h}=e,p=lhe(ghe,n),g=ohe(n);return r.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??vme()),document.body.insertAdjacentElement("beforeend",e[1]??vme()),fme++,()=>{1===fme&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),fme--}}),[]),a.jsx(Sme,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:o,onUnmountAutoFocus:s,children:a.jsx(hme,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>p.onOpenChange(!1),children:a.jsx(Xme,{"data-state":She(p.open),role:"dialog",id:p.contentId,...g,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})})),khe="PopoverClose";r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=lhe(khe,n);return a.jsx(s_.button,{type:"button",...i,ref:t,onClick:qE(e.onClick,(()=>r.onOpenChange(!1)))})})).displayName=khe;function She(e){return e?"open":"closed"}r.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,r=ohe(n);return a.jsx(ehe,{...r,...i,ref:t})})).displayName="PopoverArrow";var whe=fhe;const Ahe=uhe,Che=mhe,Mhe=t.forwardRef((({className:e,align:t="center",sideOffset:n=4,...i},r)=>a.jsx(whe,{ref:r,align:t,sideOffset:n,className:qa("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})));function The(e,a){throw new Error(`Unreachable case statement: ${JSON.stringify(e)}. Valid values are: ${Object.values(a).join(", ")}`)}Mhe.displayName=whe.displayName;const xhe=e=>{const{status:a,automationType:t,vsaasManaged:n}=e;switch(a){case _E.DRAFT:return n?"Off":"Draft";case _E.ACTIVE:return n?"On":"Active";case _E.RUNNING:return t===ME.ONE_TIME?"Scheduled":"Running";case _E.COMPLETED:return"Completed";case _E.FAILED:return"Failed";case _E.DEACTIVATED:return"Deactivated";case _E.SENDING:return"Sending";case _E.SCHEDULED:return"Scheduled";case _E.PARTIALLY_CANCELLED:return"Partially Cancelled";case _E.CANCELLED:return"Cancelled";case _E.ARCHIVED:return"Archived";default:throw The(a,_E)}},Nhe={[_E.DRAFT]:"bg-gray-500",[_E.ACTIVE]:"bg-green-500",[_E.RUNNING]:"bg-yellow-500",[_E.COMPLETED]:"bg-blue-500",[_E.FAILED]:"bg-red-500",[_E.ARCHIVED]:"bg-gray-500",[_E.DEACTIVATED]:"bg-red-500",[_E.CANCELLED]:"bg-red-500",[_E.PARTIALLY_CANCELLED]:"bg-red-500",[_E.SCHEDULED]:"bg-blue-500",[_E.SENDING]:"bg-yellow-500"},Ehe={[_E.DRAFT]:"bg-gray-100 text-gray-700 px-2 py-1",[_E.ACTIVE]:"bg-green-100 text-green-700 px-2 py-1",[_E.RUNNING]:"bg-yellow-100 text-yellow-700 px-2 py-1",[_E.COMPLETED]:"bg-blue-100 text-blue-700 px-2 py-1",[_E.FAILED]:"bg-red-100 text-red-700 px-2 py-1",[_E.ARCHIVED]:"bg-gray-100 text-gray-700 px-2 py-1",[_E.DEACTIVATED]:"bg-red-100 text-red-700 px-2 py-1",[_E.CANCELLED]:"bg-red-100 text-red-700 px-2 py-1",[_E.PARTIALLY_CANCELLED]:"bg-red-100 text-red-700 px-2 py-1",[_E.SCHEDULED]:"bg-blue-100 text-blue-700 px-2 py-1",[_E.SENDING]:"bg-yellow-100 text-yellow-700 px-2 py-1"},_he={[_E.DRAFT]:`Draft ${PN("engage:automation")?.toLowerCase()} can be activated or deactivated`,[_E.ACTIVE]:`Active ${PN("engage:automation")?.toLowerCase()} can be drafted, deactivated, run, or marked as failed`,[_E.RUNNING]:`Running ${PN("engage:automation")?.toLowerCase()} can be completed or marked as failed`,[_E.COMPLETED]:`Completed ${PN("engage:automation")?.toLowerCase()} can only be marked as failed`,[_E.FAILED]:`Failed ${PN("engage:automation")?.toLowerCase()} requires manual intervention to change state`,[_E.DEACTIVATED]:`Deactivated ${PN("engage:automation")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.CANCELLED]:`Cancelled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.PARTIALLY_CANCELLED]:`Partially cancelled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.SCHEDULED]:`Scheduled ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.SENDING]:`Sending ${PN("engage:broadcast")?.toLowerCase()} cannot be reactivated - create a new one instead`,[_E.ARCHIVED]:`Archived ${PN("engage:automation")?.toLowerCase()} cannot be reactivated - create a new one instead`},jhe=({rowOriginal:e,id:n,onToggle:i,className:r="",vsaasManaged:o=!1,onDuplicate:s,onArchive:l,onEdit:u,onCancel:c})=>{const[m,h]=t.useState(!1),[p,g]=t.useState(!1),f=e.status,v=[_E.ACTIVE,_E.DRAFT].filter((e=>e!==f&&(!1===o||e!==_E.DEACTIVATED))),y=f===_E.SENDING&&c,b=u&&f!==_E.SENDING&&f!==_E.COMPLETED,k=s,S=l,w=y||b||k||S,C=void 0!==i,M=w,T=C?v.length>0:w;return a.jsxs("div",{className:`${r}`,onClick:e=>e.stopPropagation(),children:[a.jsx(fx,{children:a.jsxs(Ahe,{open:!!T&&m,onOpenChange:h,children:[a.jsx(Che,{asChild:!0,children:a.jsx("div",{className:"relative",children:a.jsxs(Xa,{variant:"outline",className:`flex items-center justify-between px-4 py-2 rounded-md w-full ${Ehe[f]} ${T?"":"cursor-not-allowed opacity-80"}`,onClick:e=>{e.stopPropagation(),T&&h(!m)},children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:`w-2 h-2 rounded-full mr-2 ${Nhe[f]}`}),a.jsx("span",{children:xhe({status:f,automationType:e.triggerType??ME.ONE_TIME,vsaasManaged:o})})]}),T?a.jsx(A,{className:"h-4 w-4 ml-2"}):a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(V,{className:"h-4 w-4 ml-2 text-gray-500"})}),a.jsx(bx,{className:"max-w-xs p-2",children:a.jsx("p",{children:_he[f]})})]})]})})}),T&&a.jsx(Mhe,{className:"w-full p-2",align:"center",sideOffset:5,children:a.jsxs("div",{className:"py-1 flex flex-col gap-2 justify-start items-center",onClick:e=>e.stopPropagation(),children:[C&&v.map((t=>a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none "+(f===t?"font-medium":""),onClick:()=>{return e=t,i?.(n,e),void h(!1);var e},children:[a.jsx("div",{className:`w-2 h-2 rounded-full ${Nhe[t]} mr-2`}),xhe({status:t,automationType:e.triggerType??ME.ONE_TIME,vsaasManaged:o})]},t))),M&&a.jsxs(a.Fragment,{children:[y&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{c&&(c(n),h(!1))},children:[a.jsx(De,{className:"w-4 h-4 mr-2"}),"Cancel"]}),b&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{u&&(u(n),h(!1))},children:[a.jsx(Ae,{className:"w-4 h-4 mr-2"}),"Edit"]}),k&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{s&&(s(n,e.name),h(!1))},children:[a.jsx(D,{className:"w-4 h-4 mr-2"}),"Duplicate"]}),S&&a.jsxs(Xa,{variant:"ghost",className:"flex justify-start items-center px-4 py-2 text-sm w-full text-left hover:bg-gray-100 rounded-none",onClick:()=>{h(!1),g(!0)},children:[a.jsx(d,{className:"w-4 h-4 mr-2"}),"Archive"]})]})]})})]})}),a.jsx(wi,{open:p,onOpenChange:g,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",onClick:e=>e.stopPropagation(),children:[a.jsx(xi,{children:a.jsxs(Ei,{children:["Archive ",PN("engage:broadcast")]})}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"text-sm text-gray-600",children:["Are you sure you want to archive"," ",a.jsxs("span",{className:"font-semibold text-gray-900",children:['"',e?.name,'"']}),"?"]}),a.jsxs("div",{className:"text-sm text-gray-500 bg-amber-50 border border-amber-200 rounded-lg p-3",children:[a.jsx("p",{className:"font-medium text-amber-800 mb-1",children:"What happens when you archive:"}),a.jsxs("ul",{className:"text-amber-700 space-y-1",children:[a.jsx("li",{children:"• The item will be hidden from your main list"}),a.jsx("li",{children:"• Historical data and settings are preserved"})]})]}),a.jsxs(Ni,{className:"gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>g(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:()=>{l&&l(n),g(!1)},children:"Archive"})]})]})]})})]})},Phe=e=>{if(!e)return"$0.00";const a="string"==typeof e?e.replace(/,/g,""):e,t=Number(a);return Number.isNaN(t)?"$0.00":new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:2}).format(t)},Lhe=YA.enum(["google","meta"]);YA.enum(["ENABLED","PAUSED","REMOVED","UNKNOWN","UNSPECIFIED"]),YA.enum(["draft","connected","revoked"]);const Bhe=YA.object({encryptedData:YA.string(),iv:YA.string(),authTag:YA.string(),expiryDate:YA.coerce.date().optional()}),Rhe=YA.object({customer_id:YA.string().optional(),name:YA.string().optional(),is_manager:YA.boolean().optional(),login_customer_id:YA.string().optional(),is_admin:YA.boolean().optional()});YA.object({mccAccounts:YA.array(Rhe),directAccounts:YA.array(Rhe)});const Dhe=YA.object({platform:YA.literal("google"),customer_id:YA.string().optional(),name:YA.string().optional(),login_customer_id:YA.string().optional(),encrypted_credentials:Bhe.optional(),tracking_parameters_enabled:YA.boolean().optional().default(!1),offline_conversions_enabled:YA.boolean().optional(),conversion_action_id:YA.string().optional(),csv_conversion_auth:YA.object({username:YA.string(),password:YA.string(),latest_s3_key:YA.string().optional()}).optional()}),zhe=YA.object({platform:YA.literal("meta"),customer_id:YA.string().optional(),name:YA.string().optional(),business_id:YA.string().optional(),business_name:YA.string().optional(),currency:YA.string().optional(),timezone:YA.string().optional(),encrypted_credentials:Bhe.optional(),system_user_credentials:Bhe.optional(),system_user_meta_id:YA.string().optional(),tracking_parameters_enabled:YA.boolean().optional().default(!1),offline_conversions_enabled:YA.boolean().optional().default(!0),pixel_id:YA.string().optional()});var Ohe,Ihe;YA.discriminatedUnion("platform",[Dhe,zhe]),(Ihe=Ohe||(Ohe={})).CLICK="click",Ihe.TRANSACTION="transaction";const Khe=YA.enum(["paid","organic_search","social","referral","email","sms","direct","unknown"]),Hhe=YA.enum(["direct","unknown","Attentive Email","Attentive SMS","Google Ads","Google Organic Search","Google Business Profile","Facebook Ads","Facebook Organic","Instagram Ads","Instagram Organic","Bing Organic","Yahoo Organic","Twitter Organic","LinkedIn Organic","TikTok Organic","Pinterest Organic","Reddit Organic","YouTube Organic","DuckDuckGo Organic"]);YA.object({primary_source:YA.union([Hhe,YA.string()]),source_type:Khe,utm_source:YA.string().nullable(),utm_medium:YA.string().nullable(),utm_campaign:YA.string().nullable(),referrer:YA.string().nullable(),referrer_domain:YA.string().nullable(),landing_page_url:YA.string().nullable(),campaign_id:YA.string().nullable(),ad_account_id:YA.string().nullable().optional(),ad_platform:Lhe.nullable().optional(),visit_id:YA.string().nullable(),visit_date:YA.string().nullable(),keyword:YA.string().nullable().optional()});function Fhe(e){return(Fhe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ghe(e){if(null===e||!0===e||!1===e)return NaN;var a=Number(e);return isNaN(a)?a:a<0?Math.ceil(a):Math.floor(a)}function Vhe(e,a){if(a.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+a.length+" present")}function Jhe(e){Vhe(1,arguments);var a=Object.prototype.toString.call(e);return e instanceof Date||"object"===Fhe(e)&&"[object Date]"===a?new Date(e.getTime()):"number"==typeof e||"[object Number]"===a?new Date(e):new Date(NaN)}function Uhe(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);return isNaN(n)?new Date(NaN):n?(t.setDate(t.getDate()+n),t):t}function Whe(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);if(isNaN(n))return new Date(NaN);if(!n)return t;var i=t.getDate(),r=new Date(t.getTime());return r.setMonth(t.getMonth()+n+1,0),i>=r.getDate()?r:(t.setFullYear(r.getFullYear(),r.getMonth(),i),t)}J6(((e,a)=>{switch(a.type){case"SET_DATE_RANGE":return{...e,dateRange:a.payload};case"SET_CHANNEL":return{...e,channel:a.payload};case"SET_CAMPAIGN_ID":return{...e,campaignId:a.payload};case"SET_ATTRIBUTION_STYLE":return{...e,attributionStyle:a.payload};default:return e}}),{updateDateRange:e=>a=>{e({type:"SET_DATE_RANGE",payload:a})},updateChannel:e=>a=>{e({type:"SET_CHANNEL",payload:a})},updateCampaignId:e=>a=>{e({type:"SET_CAMPAIGN_ID",payload:a})},updateAttributionStyle:e=>a=>{e({type:"SET_ATTRIBUTION_STYLE",payload:a})}},{dateRange:void 0,channel:void 0,campaignId:void 0,attributionStyle:Ohe.CLICK});var qhe={};function Zhe(){return qhe}function $he(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getDay(),p=(h<d?7:0)+h-d;return m.setDate(m.getDate()-p),m.setHours(0,0,0,0),m}function Yhe(e){return Vhe(1,arguments),$he(e,{weekStartsOn:1})}function Qhe(e){Vhe(1,arguments);var a=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getFullYear(),n=new Date(0);n.setFullYear(t+1,0,4),n.setHours(0,0,0,0);var i=Yhe(n),r=new Date(0);r.setFullYear(t,0,4),r.setHours(0,0,0,0);var o=Yhe(r);return a.getTime()>=i.getTime()?t+1:a.getTime()>=o.getTime()?t:t-1}(e),t=new Date(0);return t.setFullYear(a,0,4),t.setHours(0,0,0,0),Yhe(t)}function Xhe(e){var a=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return a.setUTCFullYear(e.getFullYear()),e.getTime()-a.getTime()}function epe(e){Vhe(1,arguments);var a=Jhe(e);return a.setHours(0,0,0,0),a}function ape(e,a){Vhe(2,arguments);var t=epe(e),n=epe(a),i=t.getTime()-Xhe(t),r=n.getTime()-Xhe(n);return Math.round((i-r)/864e5)}function tpe(e,a){return Vhe(2,arguments),Uhe(e,7*Ghe(a))}function npe(e,a){return Vhe(2,arguments),Whe(e,12*Ghe(a))}function ipe(e,a){Vhe(2,arguments);var t=epe(e),n=epe(a);return t.getTime()===n.getTime()}function rpe(e){return Vhe(1,arguments),e instanceof Date||"object"===Fhe(e)&&"[object Date]"===Object.prototype.toString.call(e)}function ope(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return 12*(t.getFullYear()-n.getFullYear())+(t.getMonth()-n.getMonth())}function spe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getMonth();return a.setFullYear(a.getFullYear(),t+1,0),a.setHours(23,59,59,999),a}function lpe(e){Vhe(1,arguments);var a=Jhe(e);return a.setDate(1),a.setHours(0,0,0,0),a}function upe(e){Vhe(1,arguments);var a=Jhe(e),t=new Date(0);return t.setFullYear(a.getFullYear(),0,1),t.setHours(0,0,0,0),t}function cpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getDay(),p=6+(h<d?-7:0)-(h-d);return m.setDate(m.getDate()+p),m.setHours(23,59,59,999),m}function dpe(e){return Vhe(1,arguments),cpe(e,{weekStartsOn:1})}function mpe(e,a){return Vhe(2,arguments),function(e,a){Vhe(2,arguments);var t=Jhe(e).getTime(),n=Ghe(a);return new Date(t+n)}(e,-Ghe(a))}function hpe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getUTCDay(),n=(t<1?7:0)+t-1;return a.setUTCDate(a.getUTCDate()-n),a.setUTCHours(0,0,0,0),a}function ppe(e){Vhe(1,arguments);var a=Jhe(e),t=a.getUTCFullYear(),n=new Date(0);n.setUTCFullYear(t+1,0,4),n.setUTCHours(0,0,0,0);var i=hpe(n),r=new Date(0);r.setUTCFullYear(t,0,4),r.setUTCHours(0,0,0,0);var o=hpe(r);return a.getTime()>=i.getTime()?t+1:a.getTime()>=o.getTime()?t:t-1}function gpe(e){Vhe(1,arguments);var a=Jhe(e),t=hpe(a).getTime()-function(e){Vhe(1,arguments);var a=ppe(e),t=new Date(0);return t.setUTCFullYear(a,0,4),t.setUTCHours(0,0,0,0),hpe(t)}(a).getTime();return Math.round(t/6048e5)+1}function fpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.weekStartsOn)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==t?t:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=Jhe(e),h=m.getUTCDay(),p=(h<d?7:0)+h-d;return m.setUTCDate(m.getUTCDate()-p),m.setUTCHours(0,0,0,0),m}function vpe(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Jhe(e),d=c.getUTCFullYear(),m=Zhe(),h=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==n?n:null===(l=m.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1);if(!(h>=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setUTCFullYear(d+1,0,h),p.setUTCHours(0,0,0,0);var g=fpe(p,a),f=new Date(0);f.setUTCFullYear(d,0,h),f.setUTCHours(0,0,0,0);var v=fpe(f,a);return c.getTime()>=g.getTime()?d+1:c.getTime()>=v.getTime()?d:d-1}function ype(e,a){Vhe(1,arguments);var t=Jhe(e),n=fpe(t,a).getTime()-function(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:c.firstWeekContainsDate)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1),m=vpe(e,a),h=new Date(0);return h.setUTCFullYear(m,0,d),h.setUTCHours(0,0,0,0),fpe(h,a)}(t,a).getTime();return Math.round(n/6048e5)+1}function bpe(e,a){for(var t=e<0?"-":"",n=Math.abs(e).toString();n.length<a;)n="0"+n;return t+n}var kpe=function(e,a){var t=e.getUTCFullYear(),n=t>0?t:1-t;return bpe("yy"===a?n%100:n,a.length)},Spe=function(e,a){var t=e.getUTCMonth();return"M"===a?String(t+1):bpe(t+1,2)},wpe=function(e,a){return bpe(e.getUTCDate(),a.length)},Ape=function(e,a){return bpe(e.getUTCHours()%12||12,a.length)},Cpe=function(e,a){return bpe(e.getUTCHours(),a.length)},Mpe=function(e,a){return bpe(e.getUTCMinutes(),a.length)},Tpe=function(e,a){return bpe(e.getUTCSeconds(),a.length)},xpe=function(e,a){var t=a.length,n=e.getUTCMilliseconds();return bpe(Math.floor(n*Math.pow(10,t-3)),a.length)},Npe="midnight",Epe="noon",_pe="morning",jpe="afternoon",Ppe="evening",Lpe="night",Bpe={G:function(e,a,t){var n=e.getUTCFullYear()>0?1:0;switch(a){case"G":case"GG":case"GGG":return t.era(n,{width:"abbreviated"});case"GGGGG":return t.era(n,{width:"narrow"});default:return t.era(n,{width:"wide"})}},y:function(e,a,t){if("yo"===a){var n=e.getUTCFullYear();return t.ordinalNumber(n>0?n:1-n,{unit:"year"})}return kpe(e,a)},Y:function(e,a,t,n){var i=vpe(e,n),r=i>0?i:1-i;return"YY"===a?bpe(r%100,2):"Yo"===a?t.ordinalNumber(r,{unit:"year"}):bpe(r,a.length)},R:function(e,a){return bpe(ppe(e),a.length)},u:function(e,a){return bpe(e.getUTCFullYear(),a.length)},Q:function(e,a,t){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(a){case"Q":return String(n);case"QQ":return bpe(n,2);case"Qo":return t.ordinalNumber(n,{unit:"quarter"});case"QQQ":return t.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(n,{width:"narrow",context:"formatting"});default:return t.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,a,t){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(a){case"q":return String(n);case"qq":return bpe(n,2);case"qo":return t.ordinalNumber(n,{unit:"quarter"});case"qqq":return t.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(n,{width:"narrow",context:"standalone"});default:return t.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,a,t){var n=e.getUTCMonth();switch(a){case"M":case"MM":return Spe(e,a);case"Mo":return t.ordinalNumber(n+1,{unit:"month"});case"MMM":return t.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(n,{width:"narrow",context:"formatting"});default:return t.month(n,{width:"wide",context:"formatting"})}},L:function(e,a,t){var n=e.getUTCMonth();switch(a){case"L":return String(n+1);case"LL":return bpe(n+1,2);case"Lo":return t.ordinalNumber(n+1,{unit:"month"});case"LLL":return t.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(n,{width:"narrow",context:"standalone"});default:return t.month(n,{width:"wide",context:"standalone"})}},w:function(e,a,t,n){var i=ype(e,n);return"wo"===a?t.ordinalNumber(i,{unit:"week"}):bpe(i,a.length)},I:function(e,a,t){var n=gpe(e);return"Io"===a?t.ordinalNumber(n,{unit:"week"}):bpe(n,a.length)},d:function(e,a,t){return"do"===a?t.ordinalNumber(e.getUTCDate(),{unit:"date"}):wpe(e,a)},D:function(e,a,t){var n=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getTime();a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0);var n=a.getTime();return Math.floor((t-n)/864e5)+1}(e);return"Do"===a?t.ordinalNumber(n,{unit:"dayOfYear"}):bpe(n,a.length)},E:function(e,a,t){var n=e.getUTCDay();switch(a){case"E":case"EE":case"EEE":return t.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(n,{width:"short",context:"formatting"});default:return t.day(n,{width:"wide",context:"formatting"})}},e:function(e,a,t,n){var i=e.getUTCDay(),r=(i-n.weekStartsOn+8)%7||7;switch(a){case"e":return String(r);case"ee":return bpe(r,2);case"eo":return t.ordinalNumber(r,{unit:"day"});case"eee":return t.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(i,{width:"short",context:"formatting"});default:return t.day(i,{width:"wide",context:"formatting"})}},c:function(e,a,t,n){var i=e.getUTCDay(),r=(i-n.weekStartsOn+8)%7||7;switch(a){case"c":return String(r);case"cc":return bpe(r,a.length);case"co":return t.ordinalNumber(r,{unit:"day"});case"ccc":return t.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(i,{width:"narrow",context:"standalone"});case"cccccc":return t.day(i,{width:"short",context:"standalone"});default:return t.day(i,{width:"wide",context:"standalone"})}},i:function(e,a,t){var n=e.getUTCDay(),i=0===n?7:n;switch(a){case"i":return String(i);case"ii":return bpe(i,a.length);case"io":return t.ordinalNumber(i,{unit:"day"});case"iii":return t.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(n,{width:"short",context:"formatting"});default:return t.day(n,{width:"wide",context:"formatting"})}},a:function(e,a,t){var n=e.getUTCHours()/12>=1?"pm":"am";switch(a){case"a":case"aa":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,a,t){var n,i=e.getUTCHours();switch(n=12===i?Epe:0===i?Npe:i/12>=1?"pm":"am",a){case"b":case"bb":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,a,t){var n,i=e.getUTCHours();switch(n=i>=17?Ppe:i>=12?jpe:i>=4?_pe:Lpe,a){case"B":case"BB":case"BBB":return t.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(n,{width:"narrow",context:"formatting"});default:return t.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,a,t){if("ho"===a){var n=e.getUTCHours()%12;return 0===n&&(n=12),t.ordinalNumber(n,{unit:"hour"})}return Ape(e,a)},H:function(e,a,t){return"Ho"===a?t.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Cpe(e,a)},K:function(e,a,t){var n=e.getUTCHours()%12;return"Ko"===a?t.ordinalNumber(n,{unit:"hour"}):bpe(n,a.length)},k:function(e,a,t){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===a?t.ordinalNumber(n,{unit:"hour"}):bpe(n,a.length)},m:function(e,a,t){return"mo"===a?t.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):Mpe(e,a)},s:function(e,a,t){return"so"===a?t.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Tpe(e,a)},S:function(e,a){return xpe(e,a)},X:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();if(0===i)return"Z";switch(a){case"X":return Dpe(i);case"XXXX":case"XX":return zpe(i);default:return zpe(i,":")}},x:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"x":return Dpe(i);case"xxxx":case"xx":return zpe(i);default:return zpe(i,":")}},O:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"O":case"OO":case"OOO":return"GMT"+Rpe(i,":");default:return"GMT"+zpe(i,":")}},z:function(e,a,t,n){var i=(n._originalDate||e).getTimezoneOffset();switch(a){case"z":case"zz":case"zzz":return"GMT"+Rpe(i,":");default:return"GMT"+zpe(i,":")}},t:function(e,a,t,n){return bpe(Math.floor((n._originalDate||e).getTime()/1e3),a.length)},T:function(e,a,t,n){return bpe((n._originalDate||e).getTime(),a.length)}};function Rpe(e,a){var t=e>0?"-":"+",n=Math.abs(e),i=Math.floor(n/60),r=n%60;if(0===r)return t+String(i);var o=a;return t+String(i)+o+bpe(r,2)}function Dpe(e,a){return e%60==0?(e>0?"-":"+")+bpe(Math.abs(e)/60,2):zpe(e,a)}function zpe(e,a){var t=a||"",n=e>0?"-":"+",i=Math.abs(e);return n+bpe(Math.floor(i/60),2)+t+bpe(i%60,2)}var Ope=function(e,a){switch(e){case"P":return a.date({width:"short"});case"PP":return a.date({width:"medium"});case"PPP":return a.date({width:"long"});default:return a.date({width:"full"})}},Ipe=function(e,a){switch(e){case"p":return a.time({width:"short"});case"pp":return a.time({width:"medium"});case"ppp":return a.time({width:"long"});default:return a.time({width:"full"})}},Kpe={p:Ipe,P:function(e,a){var t,n=e.match(/(P+)(p+)?/)||[],i=n[1],r=n[2];if(!r)return Ope(e,a);switch(i){case"P":t=a.dateTime({width:"short"});break;case"PP":t=a.dateTime({width:"medium"});break;case"PPP":t=a.dateTime({width:"long"});break;default:t=a.dateTime({width:"full"})}return t.replace("{{date}}",Ope(i,a)).replace("{{time}}",Ipe(r,a))}},Hpe=["D","DD"],Fpe=["YY","YYYY"];function Gpe(e,a,t){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(a,"`) for formatting years to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(a,"`) for formatting years to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(a,"`) for formatting days of the month to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(a,"`) for formatting days of the month to the input `").concat(t,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var Vpe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function Jpe(e){return function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}var Upe={date:Jpe({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:Jpe({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:Jpe({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Wpe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function qpe(e){return function(a,t){var n;if("formatting"===(null!=t&&t.context?String(t.context):"standalone")&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,r=null!=t&&t.width?String(t.width):i;n=e.formattingValues[r]||e.formattingValues[i]}else{var o=e.defaultWidth,s=null!=t&&t.width?String(t.width):e.defaultWidth;n=e.values[s]||e.values[o]}return n[e.argumentCallback?e.argumentCallback(a):a]}}var Zpe={ordinalNumber:function(e,a){var t=Number(e),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},era:qpe({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:qpe({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:qpe({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:qpe({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:qpe({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function $pe(e){return function(a){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,i=a.match(n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth]);if(!i)return null;var r,o=i[0],s=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?function(e,a){for(var t=0;t<e.length;t++)if(a(e[t]))return t;return}(s,(function(e){return e.test(o)})):function(e,a){for(var t in e)if(e.hasOwnProperty(t)&&a(e[t]))return t;return}(s,(function(e){return e.test(o)}));return r=e.valueCallback?e.valueCallback(l):l,{value:r=t.valueCallback?t.valueCallback(r):r,rest:a.slice(o.length)}}}var Ype={ordinalNumber:function(e){return function(a){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=a.match(e.matchPattern);if(!n)return null;var i=n[0],r=a.match(e.parsePattern);if(!r)return null;var o=e.valueCallback?e.valueCallback(r[0]):r[0];return{value:o=t.valueCallback?t.valueCallback(o):o,rest:a.slice(i.length)}}}({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:$pe({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:$pe({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:$pe({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:$pe({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:$pe({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},Qpe={code:"en-US",formatDistance:function(e,a,t){var n,i=Vpe[e];return n="string"==typeof i?i:1===a?i.one:i.other.replace("{{count}}",a.toString()),null!=t&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n},formatLong:Upe,formatRelative:function(e,a,t,n){return Wpe[e]},localize:Zpe,match:Ype,options:{weekStartsOn:0,firstWeekContainsDate:1}},Xpe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ege=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,age=/^'([^]*?)'?$/,tge=/''/g,nge=/[a-zA-Z]/;function ige(e,a,t){var n,i,r,o,s,l,u,c,d,m,h,p,g,f,v,y,b,k;Vhe(2,arguments);var S=String(a),w=Zhe(),A=null!==(n=null!==(i=null==t?void 0:t.locale)&&void 0!==i?i:w.locale)&&void 0!==n?n:Qpe,C=Ghe(null!==(r=null!==(o=null!==(s=null!==(l=null==t?void 0:t.firstWeekContainsDate)&&void 0!==l?l:null==t||null===(u=t.locale)||void 0===u||null===(c=u.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==s?s:w.firstWeekContainsDate)&&void 0!==o?o:null===(d=w.locale)||void 0===d||null===(m=d.options)||void 0===m?void 0:m.firstWeekContainsDate)&&void 0!==r?r:1);if(!(C>=1&&C<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var M=Ghe(null!==(h=null!==(p=null!==(g=null!==(f=null==t?void 0:t.weekStartsOn)&&void 0!==f?f:null==t||null===(v=t.locale)||void 0===v||null===(y=v.options)||void 0===y?void 0:y.weekStartsOn)&&void 0!==g?g:w.weekStartsOn)&&void 0!==p?p:null===(b=w.locale)||void 0===b||null===(k=b.options)||void 0===k?void 0:k.weekStartsOn)&&void 0!==h?h:0);if(!(M>=0&&M<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!A.localize)throw new RangeError("locale must contain localize property");if(!A.formatLong)throw new RangeError("locale must contain formatLong property");var T=Jhe(e);if(!function(e){if(Vhe(1,arguments),!rpe(e)&&"number"!=typeof e)return!1;var a=Jhe(e);return!isNaN(Number(a))}(T))throw new RangeError("Invalid time value");var x=mpe(T,Xhe(T)),N={firstWeekContainsDate:C,weekStartsOn:M,locale:A,_originalDate:T};return S.match(ege).map((function(e){var a=e[0];return"p"===a||"P"===a?(0,Kpe[a])(e,A.formatLong):e})).join("").match(Xpe).map((function(n){if("''"===n)return"'";var i=n[0];if("'"===i)return function(e){var a=e.match(age);if(!a)return e;return a[1].replace(tge,"'")}(n);var r=Bpe[i];if(r)return null!=t&&t.useAdditionalWeekYearTokens||-1===Fpe.indexOf(n)||Gpe(n,a,String(e)),null!=t&&t.useAdditionalDayOfYearTokens||!function(e){return-1!==Hpe.indexOf(e)}(n)||Gpe(n,a,String(e)),r(x,n,A.localize,N);if(i.match(nge))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return n})).join("")}function rge(e){return Vhe(1,arguments),Math.floor(function(e){return Vhe(1,arguments),Jhe(e).getTime()}(e)/1e3)}function oge(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Zhe(),d=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:c.firstWeekContainsDate)&&void 0!==n?n:null===(l=c.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1),m=function(e,a){var t,n,i,r,o,s,l,u;Vhe(1,arguments);var c=Jhe(e),d=c.getFullYear(),m=Zhe(),h=Ghe(null!==(t=null!==(n=null!==(i=null!==(r=null==a?void 0:a.firstWeekContainsDate)&&void 0!==r?r:null==a||null===(o=a.locale)||void 0===o||null===(s=o.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==n?n:null===(l=m.locale)||void 0===l||null===(u=l.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==t?t:1);if(!(h>=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var p=new Date(0);p.setFullYear(d+1,0,h),p.setHours(0,0,0,0);var g=$he(p,a),f=new Date(0);f.setFullYear(d,0,h),f.setHours(0,0,0,0);var v=$he(f,a);return c.getTime()>=g.getTime()?d+1:c.getTime()>=v.getTime()?d:d-1}(e,a),h=new Date(0);return h.setFullYear(m,0,d),h.setHours(0,0,0,0),$he(h,a)}function sge(e,a){return Vhe(1,arguments),function(e,a,t){Vhe(2,arguments);var n=$he(e,t),i=$he(a,t),r=n.getTime()-Xhe(n),o=i.getTime()-Xhe(i);return Math.round((r-o)/6048e5)}(function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getMonth();return a.setFullYear(a.getFullYear(),t+1,0),a.setHours(0,0,0,0),a}(e),lpe(e),a)+1}function lge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getTime()>n.getTime()}function uge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getTime()<n.getTime()}function cge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()}function dge(e,a){return Vhe(2,arguments),Uhe(e,-Ghe(a))}function mge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a),i=t.getFullYear(),r=t.getDate(),o=new Date(0);o.setFullYear(i,n,15),o.setHours(0,0,0,0);var s=function(e){Vhe(1,arguments);var a=Jhe(e),t=a.getFullYear(),n=a.getMonth(),i=new Date(0);return i.setFullYear(t,n+1,0),i.setHours(0,0,0,0),i.getDate()}(o);return t.setMonth(n,Math.min(r,s)),t}function hge(e,a){Vhe(2,arguments);var t=Jhe(e),n=Ghe(a);return isNaN(t.getTime())?new Date(NaN):(t.setFullYear(n),t)}var pge=function(){return pge=Object.assign||function(e){for(var a,t=1,n=arguments.length;t<n;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);return e},pge.apply(this,arguments)};function gge(e,a,t){for(var n,i=0,r=a.length;i<r;i++)!n&&i in a||(n||(n=Array.prototype.slice.call(a,0,i)),n[i]=a[i]);return e.concat(n||Array.prototype.slice.call(a))}function fge(e){return"multiple"===e.mode}function vge(e){return"range"===e.mode}function yge(e){return"single"===e.mode}"function"==typeof SuppressedError&&SuppressedError;var bge={root:"rdp",multiple_months:"rdp-multiple_months",with_weeknumber:"rdp-with_weeknumber",vhidden:"rdp-vhidden",button_reset:"rdp-button_reset",button:"rdp-button",caption:"rdp-caption",caption_start:"rdp-caption_start",caption_end:"rdp-caption_end",caption_between:"rdp-caption_between",caption_label:"rdp-caption_label",caption_dropdowns:"rdp-caption_dropdowns",dropdown:"rdp-dropdown",dropdown_month:"rdp-dropdown_month",dropdown_year:"rdp-dropdown_year",dropdown_icon:"rdp-dropdown_icon",months:"rdp-months",month:"rdp-month",table:"rdp-table",tbody:"rdp-tbody",tfoot:"rdp-tfoot",head:"rdp-head",head_row:"rdp-head_row",head_cell:"rdp-head_cell",nav:"rdp-nav",nav_button:"rdp-nav_button",nav_button_previous:"rdp-nav_button_previous",nav_button_next:"rdp-nav_button_next",nav_icon:"rdp-nav_icon",row:"rdp-row",weeknumber:"rdp-weeknumber",cell:"rdp-cell",day:"rdp-day",day_today:"rdp-day_today",day_outside:"rdp-day_outside",day_selected:"rdp-day_selected",day_disabled:"rdp-day_disabled",day_hidden:"rdp-day_hidden",day_range_start:"rdp-day_range_start",day_range_end:"rdp-day_range_end",day_range_middle:"rdp-day_range_middle"};var kge=Object.freeze({__proto__:null,formatCaption:function(e,a){return ige(e,"LLLL y",a)},formatDay:function(e,a){return ige(e,"d",a)},formatMonthCaption:function(e,a){return ige(e,"LLLL",a)},formatWeekNumber:function(e){return"".concat(e)},formatWeekdayName:function(e,a){return ige(e,"cccccc",a)},formatYearCaption:function(e,a){return ige(e,"yyyy",a)}}),Sge=Object.freeze({__proto__:null,labelDay:function(e,a,t){return ige(e,"do MMMM (EEEE)",t)},labelMonthDropdown:function(){return"Month: "},labelNext:function(){return"Go to next month"},labelPrevious:function(){return"Go to previous month"},labelWeekNumber:function(e){return"Week n. ".concat(e)},labelWeekday:function(e,a){return ige(e,"cccc",a)},labelYearDropdown:function(){return"Year: "}});var wge=t.createContext(void 0);function Age(e){var t,n,i=e.initialProps,r={captionLayout:"buttons",classNames:bge,formatters:kge,labels:Sge,locale:Qpe,modifiersClassNames:{},modifiers:{},numberOfMonths:1,styles:{},today:new Date,mode:"default"},o=function(e){var a=e.fromYear,t=e.toYear,n=e.fromMonth,i=e.toMonth,r=e.fromDate,o=e.toDate;return n?r=lpe(n):a&&(r=new Date(a,0,1)),i?o=spe(i):t&&(o=new Date(t,11,31)),{fromDate:r?epe(r):void 0,toDate:o?epe(o):void 0}}(i),s=o.fromDate,l=o.toDate,u=null!==(t=i.captionLayout)&&void 0!==t?t:r.captionLayout;"buttons"===u||s&&l||(u="buttons"),(yge(i)||fge(i)||vge(i))&&(n=i.onSelect);var c=pge(pge(pge({},r),i),{captionLayout:u,classNames:pge(pge({},r.classNames),i.classNames),components:pge({},i.components),formatters:pge(pge({},r.formatters),i.formatters),fromDate:s,labels:pge(pge({},r.labels),i.labels),mode:i.mode||r.mode,modifiers:pge(pge({},r.modifiers),i.modifiers),modifiersClassNames:pge(pge({},r.modifiersClassNames),i.modifiersClassNames),onSelect:n,styles:pge(pge({},r.styles),i.styles),toDate:l});return a.jsx(wge.Provider,{value:c,children:e.children})}function Cge(){var e=t.useContext(wge);if(!e)throw new Error("useDayPicker must be used within a DayPickerProvider.");return e}function Mge(e){var t=Cge();return a.jsx("div",{className:t.classNames.caption_label,style:t.styles.caption_label,"aria-live":"polite",role:"presentation",id:e.id,children:(0,t.formatters.formatCaption)(e.displayMonth,{locale:t.locale})})}function Tge(e){return a.jsx("svg",pge({width:"8px",height:"8px",viewBox:"0 0 120 120","data-testid":"iconDropdown"},e,{children:a.jsx("path",{d:"M4.22182541,48.2218254 C8.44222828,44.0014225 15.2388494,43.9273804 19.5496459,47.9996989 L19.7781746,48.2218254 L60,88.443 L100.221825,48.2218254 C104.442228,44.0014225 111.238849,43.9273804 115.549646,47.9996989 L115.778175,48.2218254 C119.998577,52.4422283 120.07262,59.2388494 116.000301,63.5496459 L115.778175,63.7781746 L67.7781746,111.778175 C63.5577717,115.998577 56.7611506,116.07262 52.4503541,112.000301 L52.2218254,111.778175 L4.22182541,63.7781746 C-0.0739418023,59.4824074 -0.0739418023,52.5175926 4.22182541,48.2218254 Z",fill:"currentColor",fillRule:"nonzero"})}))}function xge(e){var t,n,i=e.onChange,r=e.value,o=e.children,s=e.caption,l=e.className,u=e.style,c=Cge(),d=null!==(n=null===(t=c.components)||void 0===t?void 0:t.IconDropdown)&&void 0!==n?n:Tge;return a.jsxs("div",{className:l,style:u,children:[a.jsx("span",{className:c.classNames.vhidden,children:e["aria-label"]}),a.jsx("select",{name:e.name,"aria-label":e["aria-label"],className:c.classNames.dropdown,style:c.styles.dropdown,value:r,onChange:i,children:o}),a.jsxs("div",{className:c.classNames.caption_label,style:c.styles.caption_label,"aria-hidden":"true",children:[s,a.jsx(d,{className:c.classNames.dropdown_icon,style:c.styles.dropdown_icon})]})]})}function Nge(e){var t,n=Cge(),i=n.fromDate,r=n.toDate,o=n.styles,s=n.locale,l=n.formatters.formatMonthCaption,u=n.classNames,c=n.components,d=n.labels.labelMonthDropdown;if(!i)return a.jsx(a.Fragment,{});if(!r)return a.jsx(a.Fragment,{});var m=[];if(function(e,a){Vhe(2,arguments);var t=Jhe(e),n=Jhe(a);return t.getFullYear()===n.getFullYear()}(i,r))for(var h=lpe(i),p=i.getMonth();p<=r.getMonth();p++)m.push(mge(h,p));else for(h=lpe(new Date),p=0;p<=11;p++)m.push(mge(h,p));var g=null!==(t=null==c?void 0:c.Dropdown)&&void 0!==t?t:xge;return a.jsx(g,{name:"months","aria-label":d(),className:u.dropdown_month,style:o.dropdown_month,onChange:function(a){var t=Number(a.target.value),n=mge(lpe(e.displayMonth),t);e.onChange(n)},value:e.displayMonth.getMonth(),caption:l(e.displayMonth,{locale:s}),children:m.map((function(e){return a.jsx("option",{value:e.getMonth(),children:l(e,{locale:s})},e.getMonth())}))})}function Ege(e){var t,n=e.displayMonth,i=Cge(),r=i.fromDate,o=i.toDate,s=i.locale,l=i.styles,u=i.classNames,c=i.components,d=i.formatters.formatYearCaption,m=i.labels.labelYearDropdown,h=[];if(!r)return a.jsx(a.Fragment,{});if(!o)return a.jsx(a.Fragment,{});for(var p=r.getFullYear(),g=o.getFullYear(),f=p;f<=g;f++)h.push(hge(upe(new Date),f));var v=null!==(t=null==c?void 0:c.Dropdown)&&void 0!==t?t:xge;return a.jsx(v,{name:"years","aria-label":m(),className:u.dropdown_year,style:l.dropdown_year,onChange:function(a){var t=hge(lpe(n),Number(a.target.value));e.onChange(t)},value:n.getFullYear(),caption:d(n,{locale:s}),children:h.map((function(e){return a.jsx("option",{value:e.getFullYear(),children:d(e,{locale:s})},e.getFullYear())}))})}function _ge(){var e=Cge(),a=function(e){var a=e.month||e.defaultMonth||e.today||new Date,t=e.toDate,n=e.fromDate,i=e.numberOfMonths,r=void 0===i?1:i;return t&&ope(t,a)<0&&(a=Whe(t,-1*(r-1))),n&&ope(a,n)<0&&(a=n),lpe(a)}(e),n=function(e,a){var n=t.useState(e);return[void 0===a?n[0]:a,n[1]]}(a,e.month),i=n[1];return[n[0],function(a){var t;if(!e.disableNavigation){var n=lpe(a);i(n),null===(t=e.onMonthChange)||void 0===t||t.call(e,n)}}]}var jge=t.createContext(void 0);function Pge(e){var t=Cge(),n=_ge(),i=n[0],r=n[1],o=function(e,a){for(var t=a.reverseMonths,n=a.numberOfMonths,i=lpe(e),r=ope(lpe(Whe(i,n)),i),o=[],s=0;s<r;s++){var l=Whe(i,s);o.push(l)}return t&&(o=o.reverse()),o}(i,t),s=function(e,a){if(!a.disableNavigation){var t=a.toDate,n=a.numberOfMonths,i=void 0===n?1:n,r=a.pagedNavigation?i:1,o=lpe(e);if(!t)return Whe(o,r);if(!(ope(t,e)<i))return Whe(o,r)}}(i,t),l=function(e,a){if(!a.disableNavigation){var t=a.fromDate,n=a.numberOfMonths,i=a.pagedNavigation?void 0===n?1:n:1,r=lpe(e);if(!t)return Whe(r,-i);if(!(ope(r,t)<=0))return Whe(r,-i)}}(i,t),u=function(e){return o.some((function(a){return cge(e,a)}))};return a.jsx(jge.Provider,{value:{currentMonth:i,displayMonths:o,goToMonth:r,goToDate:function(e,a){u(e)||(a&&uge(e,a)?r(Whe(e,1+-1*t.numberOfMonths)):r(e))},previousMonth:l,nextMonth:s,isDateDisplayed:u},children:e.children})}function Lge(){var e=t.useContext(jge);if(!e)throw new Error("useNavigation must be used within a NavigationProvider");return e}function Bge(e){var t,n=Cge(),i=n.classNames,r=n.styles,o=n.components,s=Lge().goToMonth,l=function(a){s(Whe(a,e.displayIndex?-e.displayIndex:0))},u=null!==(t=null==o?void 0:o.CaptionLabel)&&void 0!==t?t:Mge,c=a.jsx(u,{id:e.id,displayMonth:e.displayMonth});return a.jsxs("div",{className:i.caption_dropdowns,style:r.caption_dropdowns,children:[a.jsx("div",{className:i.vhidden,children:c}),a.jsx(Nge,{onChange:l,displayMonth:e.displayMonth}),a.jsx(Ege,{onChange:l,displayMonth:e.displayMonth})]})}function Rge(e){return a.jsx("svg",pge({width:"16px",height:"16px",viewBox:"0 0 120 120"},e,{children:a.jsx("path",{d:"M69.490332,3.34314575 C72.6145263,0.218951416 77.6798462,0.218951416 80.8040405,3.34314575 C83.8617626,6.40086786 83.9268205,11.3179931 80.9992143,14.4548388 L80.8040405,14.6568542 L35.461,60 L80.8040405,105.343146 C83.8617626,108.400868 83.9268205,113.317993 80.9992143,116.454839 L80.8040405,116.656854 C77.7463184,119.714576 72.8291931,119.779634 69.6923475,116.852028 L69.490332,116.656854 L18.490332,65.6568542 C15.4326099,62.5991321 15.367552,57.6820069 18.2951583,54.5451612 L18.490332,54.3431458 L69.490332,3.34314575 Z",fill:"currentColor",fillRule:"nonzero"})}))}function Dge(e){return a.jsx("svg",pge({width:"16px",height:"16px",viewBox:"0 0 120 120"},e,{children:a.jsx("path",{d:"M49.8040405,3.34314575 C46.6798462,0.218951416 41.6145263,0.218951416 38.490332,3.34314575 C35.4326099,6.40086786 35.367552,11.3179931 38.2951583,14.4548388 L38.490332,14.6568542 L83.8333725,60 L38.490332,105.343146 C35.4326099,108.400868 35.367552,113.317993 38.2951583,116.454839 L38.490332,116.656854 C41.5480541,119.714576 46.4651794,119.779634 49.602025,116.852028 L49.8040405,116.656854 L100.804041,65.6568542 C103.861763,62.5991321 103.926821,57.6820069 100.999214,54.5451612 L100.804041,54.3431458 L49.8040405,3.34314575 Z",fill:"currentColor"})}))}var zge=t.forwardRef((function(e,t){var n=Cge(),i=n.classNames,r=n.styles,o=[i.button_reset,i.button];e.className&&o.push(e.className);var s=o.join(" "),l=pge(pge({},r.button_reset),r.button);return e.style&&Object.assign(l,e.style),a.jsx("button",pge({},e,{ref:t,type:"button",className:s,style:l}))}));function Oge(e){var t,n,i=Cge(),r=i.dir,o=i.locale,s=i.classNames,l=i.styles,u=i.labels,c=u.labelPrevious,d=u.labelNext,m=i.components;if(!e.nextMonth&&!e.previousMonth)return a.jsx(a.Fragment,{});var h=c(e.previousMonth,{locale:o}),p=[s.nav_button,s.nav_button_previous].join(" "),g=d(e.nextMonth,{locale:o}),f=[s.nav_button,s.nav_button_next].join(" "),v=null!==(t=null==m?void 0:m.IconRight)&&void 0!==t?t:Dge,y=null!==(n=null==m?void 0:m.IconLeft)&&void 0!==n?n:Rge;return a.jsxs("div",{className:s.nav,style:l.nav,children:[!e.hidePrevious&&a.jsx(zge,{name:"previous-month","aria-label":h,className:p,style:l.nav_button_previous,disabled:!e.previousMonth,onClick:e.onPreviousClick,children:a.jsx("rtl"===r?v:y,{className:s.nav_icon,style:l.nav_icon})}),!e.hideNext&&a.jsx(zge,{name:"next-month","aria-label":g,className:f,style:l.nav_button_next,disabled:!e.nextMonth,onClick:e.onNextClick,children:a.jsx("rtl"===r?y:v,{className:s.nav_icon,style:l.nav_icon})})]})}function Ige(e){var t=Cge().numberOfMonths,n=Lge(),i=n.previousMonth,r=n.nextMonth,o=n.goToMonth,s=n.displayMonths,l=s.findIndex((function(a){return cge(e.displayMonth,a)})),u=0===l,c=l===s.length-1;return a.jsx(Oge,{displayMonth:e.displayMonth,hideNext:t>1&&(u||!c),hidePrevious:t>1&&(c||!u),nextMonth:r,previousMonth:i,onPreviousClick:function(){i&&o(i)},onNextClick:function(){r&&o(r)}})}function Kge(e){var t,n,i=Cge(),r=i.classNames,o=i.styles,s=i.captionLayout,l=i.components,u=null!==(t=null==l?void 0:l.CaptionLabel)&&void 0!==t?t:Mge;return n=i.disableNavigation?a.jsx(u,{id:e.id,displayMonth:e.displayMonth}):"dropdown"===s?a.jsx(Bge,{displayMonth:e.displayMonth,id:e.id}):a.jsxs(a.Fragment,"dropdown-buttons"===s?{children:[a.jsx(Bge,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),a.jsx(Ige,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}:{children:[a.jsx(u,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),a.jsx(Ige,{displayMonth:e.displayMonth,id:e.id})]}),a.jsx("div",{className:r.caption,style:o.caption,children:n})}function Hge(e){var t=Cge(),n=t.footer;return n?a.jsx("tfoot",{className:t.classNames.tfoot,style:t.styles.tfoot,children:a.jsx("tr",{children:a.jsx("td",{colSpan:8,children:n})})}):a.jsx(a.Fragment,{})}function Fge(){var e=Cge(),t=e.classNames,n=e.styles,i=e.showWeekNumber,r=e.locale,o=e.formatters.formatWeekdayName,s=e.labels.labelWeekday,l=function(e,a,t){for(var n=t?Yhe(new Date):$he(new Date,{locale:e,weekStartsOn:a}),i=[],r=0;r<7;r++){var o=Uhe(n,r);i.push(o)}return i}(r,e.weekStartsOn,e.ISOWeek);return a.jsxs("tr",{style:n.head_row,className:t.head_row,children:[i&&a.jsx("td",{style:n.head_cell,className:t.head_cell}),l.map((function(e,i){return a.jsx("th",{scope:"col",className:t.head_cell,style:n.head_cell,"aria-label":s(e,{locale:r}),children:o(e,{locale:r})},i)}))]})}function Gge(){var e,t=Cge(),n=t.components,i=null!==(e=null==n?void 0:n.HeadRow)&&void 0!==e?e:Fge;return a.jsx("thead",{style:t.styles.head,className:t.classNames.head,children:a.jsx(i,{})})}function Vge(e){var t=Cge();return a.jsx(a.Fragment,{children:(0,t.formatters.formatDay)(e.date,{locale:t.locale})})}var Jge=t.createContext(void 0);function Uge(e){if(!fge(e.initialProps)){return a.jsx(Jge.Provider,{value:{selected:void 0,modifiers:{disabled:[]}},children:e.children})}return a.jsx(Wge,{initialProps:e.initialProps,children:e.children})}function Wge(e){var t=e.initialProps,n=e.children,i=t.selected,r=t.min,o=t.max,s={disabled:[]};return i&&s.disabled.push((function(e){var a=o&&i.length>o-1,t=i.some((function(a){return ipe(a,e)}));return Boolean(a&&!t)})),a.jsx(Jge.Provider,{value:{selected:i,onDayClick:function(e,a,n){var s,l;if((null===(s=t.onDayClick)||void 0===s||s.call(t,e,a,n),!Boolean(a.selected&&r&&(null==i?void 0:i.length)===r))&&!Boolean(!a.selected&&o&&(null==i?void 0:i.length)===o)){var u=i?gge([],i):[];if(a.selected){var c=u.findIndex((function(a){return ipe(e,a)}));u.splice(c,1)}else u.push(e);null===(l=t.onSelect)||void 0===l||l.call(t,u,e,a,n)}},modifiers:s},children:n})}function qge(){var e=t.useContext(Jge);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}var Zge,$ge,Yge=t.createContext(void 0);function Qge(e){if(!vge(e.initialProps)){return a.jsx(Yge.Provider,{value:{selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}},children:e.children})}return a.jsx(Xge,{initialProps:e.initialProps,children:e.children})}function Xge(e){var t=e.initialProps,n=e.children,i=t.selected,r=i||{},o=r.from,s=r.to,l=t.min,u=t.max,c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],s?(c.range_end=[s],ipe(o,s)||(c.range_middle=[{after:o,before:s}])):c.range_end=[o]):s&&(c.range_start=[s],c.range_end=[s]),l&&(o&&!s&&c.disabled.push({after:dge(o,l-1),before:Uhe(o,l-1)}),o&&s&&c.disabled.push({after:o,before:Uhe(o,l-1)}),!o&&s&&c.disabled.push({after:dge(s,l-1),before:Uhe(s,l-1)})),u){if(o&&!s&&(c.disabled.push({before:Uhe(o,1-u)}),c.disabled.push({after:Uhe(o,u-1)})),o&&s){var d=u-(ape(s,o)+1);c.disabled.push({before:dge(o,d)}),c.disabled.push({after:Uhe(s,d)})}!o&&s&&(c.disabled.push({before:Uhe(s,1-u)}),c.disabled.push({after:Uhe(s,u-1)}))}return a.jsx(Yge.Provider,{value:{selected:i,onDayClick:function(e,a,n){var r,o;null===(r=t.onDayClick)||void 0===r||r.call(t,e,a,n);var s=function(e,a){var t=a||{},n=t.from,i=t.to;if(n&&i){if(ipe(i,e)&&ipe(n,e))return;if(ipe(i,e))return{from:i,to:void 0};if(ipe(n,e))return;return lge(n,e)?{from:e,to:i}:{from:n,to:e}}return i?lge(e,i)?{from:i,to:e}:{from:e,to:i}:n?uge(e,n)?{from:e,to:n}:{from:n,to:e}:{from:e,to:void 0}}(e,i);null===(o=t.onSelect)||void 0===o||o.call(t,s,e,a,n)},modifiers:c},children:n})}function efe(){var e=t.useContext(Yge);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function afe(e){return Array.isArray(e)?gge([],e):void 0!==e?[e]:[]}($ge=Zge||(Zge={})).Outside="outside",$ge.Disabled="disabled",$ge.Selected="selected",$ge.Hidden="hidden",$ge.Today="today",$ge.RangeStart="range_start",$ge.RangeEnd="range_end",$ge.RangeMiddle="range_middle";var tfe=Zge.Selected,nfe=Zge.Disabled,ife=Zge.Hidden,rfe=Zge.Today,ofe=Zge.RangeEnd,sfe=Zge.RangeMiddle,lfe=Zge.RangeStart,ufe=Zge.Outside;var cfe=t.createContext(void 0);function dfe(e){var t=Cge(),n=function(e,a,t){var n,i=((n={})[tfe]=afe(e.selected),n[nfe]=afe(e.disabled),n[ife]=afe(e.hidden),n[rfe]=[e.today],n[ofe]=[],n[sfe]=[],n[lfe]=[],n[ufe]=[],n);return e.fromDate&&i[nfe].push({before:e.fromDate}),e.toDate&&i[nfe].push({after:e.toDate}),fge(e)?i[nfe]=i[nfe].concat(a.modifiers[nfe]):vge(e)&&(i[nfe]=i[nfe].concat(t.modifiers[nfe]),i[lfe]=t.modifiers[lfe],i[sfe]=t.modifiers[sfe],i[ofe]=t.modifiers[ofe]),i}(t,qge(),efe()),i=function(e){var a={};return Object.entries(e).forEach((function(e){a[e[0]]=afe(e[1])})),a}(t.modifiers),r=pge(pge({},n),i);return a.jsx(cfe.Provider,{value:r,children:e.children})}function mfe(){var e=t.useContext(cfe);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function hfe(e,a){return a.some((function(a){if("boolean"==typeof a)return a;if(rpe(a))return ipe(e,a);var t,n,i,r,o;if(function(e){return Array.isArray(e)&&e.every(rpe)}(a))return a.includes(e);if(function(e){return Boolean(e&&"object"==typeof e&&"from"in e)}(a))return t=e,o=(n=a).to,(r=n.from)&&o?(ape(o,r)<0&&(r=(i=[o,r])[0],o=i[1]),ape(t,r)>=0&&ape(o,t)>=0):o?ipe(o,t):!!r&&ipe(r,t);if(function(e){return Boolean(e&&"object"==typeof e&&"dayOfWeek"in e)}(a))return a.dayOfWeek.includes(e.getDay());if(function(e){return Boolean(e&&"object"==typeof e&&"before"in e&&"after"in e)}(a)){var s=ape(a.before,e)>0,l=ape(a.after,e)<0;return lge(a.before,a.after)?l&&s:s||l}return function(e){return Boolean(e&&"object"==typeof e&&"after"in e)}(a)?ape(e,a.after)>0:function(e){return Boolean(e&&"object"==typeof e&&"before"in e)}(a)?ape(a.before,e)>0:"function"==typeof a&&a(e)}))}function pfe(e,a,t){var n=Object.keys(a).reduce((function(t,n){return hfe(e,a[n])&&t.push(n),t}),[]),i={};return n.forEach((function(e){return i[e]=!0})),t&&!cge(e,t)&&(i.outside=!0),i}function gfe(e,a){var t=a.moveBy,n=a.direction,i=a.context,r=a.modifiers,o=a.retry,s=void 0===o?{count:0,lastFocused:e}:o,l=i.weekStartsOn,u=i.fromDate,c=i.toDate,d=i.locale,m={day:Uhe,week:tpe,month:Whe,year:npe,startOfWeek:function(e){return i.ISOWeek?Yhe(e):$he(e,{locale:d,weekStartsOn:l})},endOfWeek:function(e){return i.ISOWeek?dpe(e):cpe(e,{locale:d,weekStartsOn:l})}}[t](e,"after"===n?1:-1);"before"===n&&u?m=function(e){var a,t;if(Vhe(1,arguments),e&&"function"==typeof e.forEach)a=e;else{if("object"!==Fhe(e)||null===e)return new Date(NaN);a=Array.prototype.slice.call(e)}return a.forEach((function(e){var a=Jhe(e);(void 0===t||t<a||isNaN(Number(a)))&&(t=a)})),t||new Date(NaN)}([u,m]):"after"===n&&c&&(m=function(e){var a,t;if(Vhe(1,arguments),e&&"function"==typeof e.forEach)a=e;else{if("object"!==Fhe(e)||null===e)return new Date(NaN);a=Array.prototype.slice.call(e)}return a.forEach((function(e){var a=Jhe(e);(void 0===t||t>a||isNaN(a.getDate()))&&(t=a)})),t||new Date(NaN)}([c,m]));var h=!0;if(r){var p=pfe(m,r);h=!p.disabled&&!p.hidden}return h?m:s.count>365?s.lastFocused:gfe(m,{moveBy:t,direction:n,context:i,modifiers:r,retry:pge(pge({},s),{count:s.count+1})})}var ffe=t.createContext(void 0);function vfe(e){var n=Lge(),i=mfe(),r=t.useState(),o=r[0],s=r[1],l=t.useState(),u=l[0],c=l[1],d=function(e,a){for(var t,n,i=lpe(e[0]),r=spe(e[e.length-1]),o=i;o<=r;){var s=pfe(o,a);if(s.disabled||s.hidden)o=Uhe(o,1);else{if(s.selected)return o;s.today&&!n&&(n=o),t||(t=o),o=Uhe(o,1)}}return n||t}(n.displayMonths,i),m=(null!=o?o:u&&n.isDateDisplayed(u))?u:d,h=function(e){s(e)},p=Cge(),g=function(e,a){if(o){var t=gfe(o,{moveBy:e,direction:a,context:p,modifiers:i});ipe(o,t)||(n.goToDate(t,o),h(t))}};return a.jsx(ffe.Provider,{value:{focusedDay:o,focusTarget:m,blur:function(){c(o),s(void 0)},focus:h,focusDayAfter:function(){return g("day","after")},focusDayBefore:function(){return g("day","before")},focusWeekAfter:function(){return g("week","after")},focusWeekBefore:function(){return g("week","before")},focusMonthBefore:function(){return g("month","before")},focusMonthAfter:function(){return g("month","after")},focusYearBefore:function(){return g("year","before")},focusYearAfter:function(){return g("year","after")},focusStartOfWeek:function(){return g("startOfWeek","before")},focusEndOfWeek:function(){return g("endOfWeek","after")}},children:e.children})}function yfe(){var e=t.useContext(ffe);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}var bfe=t.createContext(void 0);function kfe(e){if(!yge(e.initialProps)){return a.jsx(bfe.Provider,{value:{selected:void 0},children:e.children})}return a.jsx(Sfe,{initialProps:e.initialProps,children:e.children})}function Sfe(e){var t=e.initialProps;return a.jsx(bfe.Provider,{value:{selected:t.selected,onDayClick:function(e,a,n){var i,r,o;null===(i=t.onDayClick)||void 0===i||i.call(t,e,a,n),!a.selected||t.required?null===(o=t.onSelect)||void 0===o||o.call(t,e,e,a,n):null===(r=t.onSelect)||void 0===r||r.call(t,void 0,e,a,n)}},children:e.children})}function wfe(){var e=t.useContext(bfe);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function Afe(e,a){var t=[e.classNames.day];return Object.keys(a).forEach((function(a){var n=e.modifiersClassNames[a];if(n)t.push(n);else if(function(e){return Object.values(Zge).includes(e)}(a)){var i=e.classNames["day_".concat(a)];i&&t.push(i)}})),t}function Cfe(e,n,i){var r,o,s,l=Cge(),u=yfe(),c=function(e,a){return pfe(e,mfe(),a)}(e,n),d=function(e,a){var t=Cge(),n=wfe(),i=qge(),r=efe(),o=yfe(),s=o.focusDayAfter,l=o.focusDayBefore,u=o.focusWeekAfter,c=o.focusWeekBefore,d=o.blur,m=o.focus,h=o.focusMonthBefore,p=o.focusMonthAfter,g=o.focusYearBefore,f=o.focusYearAfter,v=o.focusStartOfWeek,y=o.focusEndOfWeek;return{onClick:function(o){var s,l,u,c;yge(t)?null===(s=n.onDayClick)||void 0===s||s.call(n,e,a,o):fge(t)?null===(l=i.onDayClick)||void 0===l||l.call(i,e,a,o):vge(t)?null===(u=r.onDayClick)||void 0===u||u.call(r,e,a,o):null===(c=t.onDayClick)||void 0===c||c.call(t,e,a,o)},onFocus:function(n){var i;m(e),null===(i=t.onDayFocus)||void 0===i||i.call(t,e,a,n)},onBlur:function(n){var i;d(),null===(i=t.onDayBlur)||void 0===i||i.call(t,e,a,n)},onKeyDown:function(n){var i;switch(n.key){case"ArrowLeft":n.preventDefault(),n.stopPropagation(),"rtl"===t.dir?s():l();break;case"ArrowRight":n.preventDefault(),n.stopPropagation(),"rtl"===t.dir?l():s();break;case"ArrowDown":n.preventDefault(),n.stopPropagation(),u();break;case"ArrowUp":n.preventDefault(),n.stopPropagation(),c();break;case"PageUp":n.preventDefault(),n.stopPropagation(),n.shiftKey?g():h();break;case"PageDown":n.preventDefault(),n.stopPropagation(),n.shiftKey?f():p();break;case"Home":n.preventDefault(),n.stopPropagation(),v();break;case"End":n.preventDefault(),n.stopPropagation(),y()}null===(i=t.onDayKeyDown)||void 0===i||i.call(t,e,a,n)},onKeyUp:function(n){var i;null===(i=t.onDayKeyUp)||void 0===i||i.call(t,e,a,n)},onMouseEnter:function(n){var i;null===(i=t.onDayMouseEnter)||void 0===i||i.call(t,e,a,n)},onMouseLeave:function(n){var i;null===(i=t.onDayMouseLeave)||void 0===i||i.call(t,e,a,n)},onPointerEnter:function(n){var i;null===(i=t.onDayPointerEnter)||void 0===i||i.call(t,e,a,n)},onPointerLeave:function(n){var i;null===(i=t.onDayPointerLeave)||void 0===i||i.call(t,e,a,n)},onTouchCancel:function(n){var i;null===(i=t.onDayTouchCancel)||void 0===i||i.call(t,e,a,n)},onTouchEnd:function(n){var i;null===(i=t.onDayTouchEnd)||void 0===i||i.call(t,e,a,n)},onTouchMove:function(n){var i;null===(i=t.onDayTouchMove)||void 0===i||i.call(t,e,a,n)},onTouchStart:function(n){var i;null===(i=t.onDayTouchStart)||void 0===i||i.call(t,e,a,n)}}}(e,c),m=function(){var e=Cge(),a=wfe(),t=qge(),n=efe();return yge(e)?a.selected:fge(e)?t.selected:vge(e)?n.selected:void 0}(),h=Boolean(l.onDayClick||"default"!==l.mode);t.useEffect((function(){var a;c.outside||u.focusedDay&&h&&ipe(u.focusedDay,e)&&(null===(a=i.current)||void 0===a||a.focus())}),[u.focusedDay,e,i,h,c.outside]);var p=Afe(l,c).join(" "),g=function(e,a){var t=pge({},e.styles.day);return Object.keys(a).forEach((function(a){var n;t=pge(pge({},t),null===(n=e.modifiersStyles)||void 0===n?void 0:n[a])})),t}(l,c),f=Boolean(c.outside&&!l.showOutsideDays||c.hidden),v=null!==(s=null===(o=l.components)||void 0===o?void 0:o.DayContent)&&void 0!==s?s:Vge,y={style:g,className:p,children:a.jsx(v,{date:e,displayMonth:n,activeModifiers:c}),role:"gridcell"},b=u.focusTarget&&ipe(u.focusTarget,e)&&!c.outside,k=u.focusedDay&&ipe(u.focusedDay,e),S=pge(pge(pge({},y),((r={disabled:c.disabled,role:"gridcell"})["aria-selected"]=c.selected,r.tabIndex=k||b?0:-1,r)),d);return{isButton:h,isHidden:f,activeModifiers:c,selectedDays:m,buttonProps:S,divProps:y}}function Mfe(e){var n=t.useRef(null),i=Cfe(e.date,e.displayMonth,n);return i.isHidden?a.jsx("div",{role:"gridcell"}):i.isButton?a.jsx(zge,pge({name:"day",ref:n},i.buttonProps)):a.jsx("div",pge({},i.divProps))}function Tfe(e){var t=e.number,n=e.dates,i=Cge(),r=i.onWeekNumberClick,o=i.styles,s=i.classNames,l=i.locale,u=i.labels.labelWeekNumber,c=(0,i.formatters.formatWeekNumber)(Number(t),{locale:l});if(!r)return a.jsx("span",{className:s.weeknumber,style:o.weeknumber,children:c});var d=u(Number(t),{locale:l});return a.jsx(zge,{name:"week-number","aria-label":d,className:s.weeknumber,style:o.weeknumber,onClick:function(e){r(t,n,e)},children:c})}function xfe(e){var t,n,i,r=Cge(),o=r.styles,s=r.classNames,l=r.components,u=null!==(t=null==l?void 0:l.Day)&&void 0!==t?t:Mfe,c=null!==(n=null==l?void 0:l.WeekNumber)&&void 0!==n?n:Tfe;return r.showWeekNumber&&(i=a.jsx("td",{className:s.cell,style:o.cell,children:a.jsx(c,{number:e.weekNumber,dates:e.dates})})),a.jsxs("tr",{className:s.row,style:o.row,children:[i,e.dates.map((function(t){return a.jsx("td",{className:s.cell,style:o.cell,role:"presentation",children:a.jsx(u,{displayMonth:e.displayMonth,date:t})},rge(t))}))]})}function Nfe(e,a,t){for(var n=(null==t?void 0:t.ISOWeek)?dpe(a):cpe(a,t),i=(null==t?void 0:t.ISOWeek)?Yhe(e):$he(e,t),r=ape(n,i),o=[],s=0;s<=r;s++)o.push(Uhe(i,s));var l=o.reduce((function(e,a){var n=(null==t?void 0:t.ISOWeek)?function(e){Vhe(1,arguments);var a=Jhe(e),t=Yhe(a).getTime()-Qhe(a).getTime();return Math.round(t/6048e5)+1}(a):function(e,a){Vhe(1,arguments);var t=Jhe(e),n=$he(t,a).getTime()-oge(t,a).getTime();return Math.round(n/6048e5)+1}(a,t),i=e.find((function(e){return e.weekNumber===n}));return i?(i.dates.push(a),e):(e.push({weekNumber:n,dates:[a]}),e)}),[]);return l}function Efe(e){var t,n,i,r=Cge(),o=r.locale,s=r.classNames,l=r.styles,u=r.hideHead,c=r.components,d=r.weekStartsOn,m=r.firstWeekContainsDate,h=r.ISOWeek,p=function(e,a){var t=Nfe(lpe(e),spe(e),a);if(null==a?void 0:a.useFixedWeeks){var n=sge(e,a);if(n<6){var i=t[t.length-1],r=i.dates[i.dates.length-1],o=tpe(r,6-n),s=Nfe(tpe(r,1),o,a);t.push.apply(t,s)}}return t}(e.displayMonth,{useFixedWeeks:Boolean(r.fixedWeeks),ISOWeek:h,locale:o,weekStartsOn:d,firstWeekContainsDate:m}),g=null!==(t=null==c?void 0:c.Head)&&void 0!==t?t:Gge,f=null!==(n=null==c?void 0:c.Row)&&void 0!==n?n:xfe,v=null!==(i=null==c?void 0:c.Footer)&&void 0!==i?i:Hge;return a.jsxs("table",{id:e.id,className:s.table,style:l.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!u&&a.jsx(g,{}),a.jsx("tbody",{className:s.tbody,style:l.tbody,children:p.map((function(t){return a.jsx(f,{displayMonth:e.displayMonth,dates:t.dates,weekNumber:t.weekNumber},t.weekNumber)}))}),a.jsx(v,{displayMonth:e.displayMonth})]})}var _fe="undefined"!=typeof window&&window.document&&window.document.createElement?t.useLayoutEffect:t.useEffect,jfe=!1,Pfe=0;function Lfe(){return"react-day-picker-".concat(++Pfe)}function Bfe(e){var n,i,r=Cge(),o=r.dir,s=r.classNames,l=r.styles,u=r.components,c=Lge().displayMonths,d=function(e){var a,n=null!=e?e:jfe?Lfe():null,i=t.useState(n),r=i[0],o=i[1];return _fe((function(){null===r&&o(Lfe())}),[]),t.useEffect((function(){!1===jfe&&(jfe=!0)}),[]),null!==(a=null!=e?e:r)&&void 0!==a?a:void 0}(r.id?"".concat(r.id,"-").concat(e.displayIndex):void 0),m=r.id?"".concat(r.id,"-grid-").concat(e.displayIndex):void 0,h=[s.month],p=l.month,g=0===e.displayIndex,f=e.displayIndex===c.length-1,v=!g&&!f;"rtl"===o&&(f=(n=[g,f])[0],g=n[1]),g&&(h.push(s.caption_start),p=pge(pge({},p),l.caption_start)),f&&(h.push(s.caption_end),p=pge(pge({},p),l.caption_end)),v&&(h.push(s.caption_between),p=pge(pge({},p),l.caption_between));var y=null!==(i=null==u?void 0:u.Caption)&&void 0!==i?i:Kge;return a.jsxs("div",{className:h.join(" "),style:p,children:[a.jsx(y,{id:d,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),a.jsx(Efe,{id:m,"aria-labelledby":d,displayMonth:e.displayMonth})]},e.displayIndex)}function Rfe(e){var t=Cge();return a.jsx("div",{className:t.classNames.months,style:t.styles.months,children:e.children})}function Dfe(e){var n,i,r=e.initialProps,o=Cge(),s=yfe(),l=Lge(),u=t.useState(!1),c=u[0],d=u[1];t.useEffect((function(){o.initialFocus&&s.focusTarget&&(c||(s.focus(s.focusTarget),d(!0)))}),[o.initialFocus,c,s.focus,s.focusTarget,s]);var m=[o.classNames.root,o.className];o.numberOfMonths>1&&m.push(o.classNames.multiple_months),o.showWeekNumber&&m.push(o.classNames.with_weeknumber);var h=pge(pge({},o.styles.root),o.style),p=Object.keys(r).filter((function(e){return e.startsWith("data-")})).reduce((function(e,a){var t;return pge(pge({},e),((t={})[a]=r[a],t))}),{}),g=null!==(i=null===(n=r.components)||void 0===n?void 0:n.Months)&&void 0!==i?i:Rfe;return a.jsx("div",pge({className:m.join(" "),style:h,dir:o.dir,id:o.id,nonce:r.nonce,title:r.title,lang:r.lang},p,{children:a.jsx(g,{children:l.displayMonths.map((function(e,t){return a.jsx(Bfe,{displayIndex:t,displayMonth:e},t)}))})}))}function zfe(e){var t=e.children,n=function(e,a){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&a.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)a.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]])}return t}(e,["children"]);return a.jsx(Age,{initialProps:n,children:a.jsx(Pge,{children:a.jsx(kfe,{initialProps:n,children:a.jsx(Uge,{initialProps:n,children:a.jsx(Qge,{initialProps:n,children:a.jsx(dfe,{children:a.jsx(vfe,{children:t})})})})})})})}function Ofe(e){return a.jsx(zfe,pge({},e,{children:a.jsx(Dfe,{initialProps:e})}))}function Ife({className:e,classNames:t,showOutsideDays:n=!0,...i}){return a.jsx(Ofe,{showOutsideDays:n,className:qa("p-3",e),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:qa(Qa({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:qa("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md","range"===i.mode?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:qa(Qa({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:()=>a.jsx(C,{className:"h-4 w-4"}),IconRight:()=>a.jsx(M,{className:"h-4 w-4"})},...i})}Ife.displayName="Calendar";var Kfe=(e=>(e.AI="ai",e.MANUAL="manual",e))(Kfe||{});const{Context:Hfe,Provider:Ffe}=J6(((e,a)=>{switch(a.type){case"SET_SELECTED_CHANNELS":return{...e,selectedChannels:a.payload};case"SET_CONTENT_BUILDER_STYLE":return{...e,contentBuilderStyle:a.payload};default:return e}}),{setSelectedChannels:e=>a=>{e({type:"SET_SELECTED_CHANNELS",payload:a})},setContentBuilderStyle:e=>a=>{e({type:"SET_CONTENT_BUILDER_STYLE",payload:a})}},{selectedChannels:[],contentBuilderStyle:null},[]),Gfe=(e,a,t,n="Error",i="Please try again")=>{e(!1),"error"===t&&a({title:n,description:i,variant:"destructive"})},Vfe=e=>{switch(e){case _E.ACTIVE:return"statusActive";case _E.COMPLETED:return"statusCompleted";case _E.DRAFT:return"statusDraft";case _E.DEACTIVATED:return"statusDeactivated";case _E.FAILED:return"statusFailed";case _E.RUNNING:return"statusRunning";case _E.SENDING:return"statusSending";case _E.SCHEDULED:return"statusQueued";case _E.PARTIALLY_CANCELLED:return"statusPartiallyCancelled";case _E.CANCELLED:return"statusCancelled";case _E.ARCHIVED:return"statusArchived";default:throw The(e,_E)}},Jfe=e=>{switch(e){case Jse.ALL_USERS:return`Default ${PN("engage:segment").toLowerCase()} that contains all ${PN("engage:user",{count:2}).toLowerCase()}. This is not editable or deletable.`;case Jse.MANAGED:return`System-defined ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;case Jse.CUSTOM:return`Custom ${PN("engage:segment").toLowerCase()} that you can edit and delete as needed.`;case Jse.SQL:return`SQL-defined ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;case Jse.ONE_OFF:return`One-off ${PN("engage:segment").toLowerCase()} that are not editable or deletable.`;default:throw The(e,Jse)}};function Ufe(e="name",t,n=!1){return Ace({accessorKey:e,header:t,enableSorting:!1,meta:{align:"left",displayName:t,className:"min-w-[200px] sm:min-w-[240px] w-full"},cellClassName:"pl-2 pr-1 sm:pl-3 sm:pr-2",cellFormatter:e=>{const t=e.getValue(),{original:i}=e.row,r=i.status,o=i.type,s={[_E.COMPLETED]:"bg-blue-500",[_E.ACTIVE]:"bg-green-500",[_E.DRAFT]:"bg-gray-500",[_E.DEACTIVATED]:"bg-red-500",[_E.FAILED]:"bg-red-500",[_E.RUNNING]:"bg-yellow-500",[_E.SENDING]:"bg-yellow-500",[_E.SCHEDULED]:"bg-purple-500",[_E.PARTIALLY_CANCELLED]:"bg-red-500",[_E.CANCELLED]:"bg-red-500",[_E.ARCHIVED]:"bg-gray-500"};return a.jsx("div",{className:"w-full flex gap-2 sm:gap-4 md:gap-6 justify-between items-center",children:a.jsxs("div",{className:"flex gap-1 items-center w-full min-w-0",children:[a.jsx("div",{className:`w-2 h-2 rounded-full mr-1.5 sm:mr-2 md:mr-3 flex-shrink-0 ${o?{[Jse.ALL_USERS]:"bg-purple-500",[Jse.MANAGED]:"bg-teal-500",[Jse.CUSTOM]:"bg-amber-500",[Jse.SQL]:"bg-teal-500",[Jse.ONE_OFF]:"bg-orange-500"}[o]:r?s[r]:"bg-blue-500"}`}),a.jsxs("div",{className:"flex-1 flex flex-col gap-0.5 min-w-0",children:[a.jsx("span",{className:"leading-tight font-medium text-sm overflow-hidden text-ellipsis",children:t}),n&&i?.description&&a.jsx("div",{className:"relative h-4",children:a.jsx("div",{className:"absolute inset-0 text-muted-foreground text-xs truncate whitespace-nowrap overflow-hidden w-full",children:i?.description})})]})]})})}})}function Wfe(){return Ace({accessorKey:"type",header:"Type",enableSorting:!1,size:110,minSize:90,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:`${PN("engage:segment")} type`},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const t=e.getValue(),n=t?t===Jse.SQL?"Managed":t.split("_").map((e=>e[0].toUpperCase()+e.slice(1).toLowerCase())).join(" "):"Unknown";let i;if(!t||t!==Jse.ALL_USERS&&t!==Jse.MANAGED&&t!==Jse.CUSTOM&&t!==Jse.SQL)i="statusDraft";else try{i=(e=>{switch(e){case Jse.ALL_USERS:return"segmentAllUsers";case Jse.MANAGED:return"segmentManaged";case Jse.CUSTOM:return"segmentCustom";case Jse.ONE_OFF:case Jse.SQL:return"segmentManaged";default:throw The(e,Jse)}})(t)}catch(jFe){if(!(jFe instanceof The))throw jFe;i="statusDraft"}return a.jsx(fx,{children:a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(xx,{variant:i,className:"cursor-help",children:n})}),a.jsx(bx,{side:"top",className:"max-w-[250px] text-sm bg-white border border-gray-200 rounded-lg p-3",children:a.jsx("p",{className:"text-muted-foreground",children:t&&Jfe(t)||`Unknown ${PN("engage:segment").toLowerCase()} type`})})]})})}})}function qfe(e="updated_at"){return function({accessorKey:e,header:t,meta:n={align:"right"},size:i=160,minSize:r,maxSize:o,enableSorting:s=!0,enableHiding:l=!0,headerClassName:u,cellClassName:c,formatType:d="relative"}){return{accessorKey:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${u||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{children:t})}),cell:e=>{const t=e.getValue();let i="N/A";return t&&(i="relative"===d?wce(new Date(t),{addSuffix:!0}):new Date(t).toLocaleDateString()),a.jsx("div",{className:`font-variant-numeric w-full h-8 flex items-center justify-end pr-2 sm:pr-3 md:pr-4 whitespace-nowrap ${c||""} ${n?.className||""}`.trim(),children:i})},size:i,minSize:r,maxSize:o,enableSorting:s,enableHiding:l,meta:n}}({accessorKey:e,header:"Last Modified",formatType:"relative",size:160,minSize:120,enableSorting:!1,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:"Last Modified"}})}function Zfe(e,t,n){return function({accessorKey:e,header:t,meta:n={align:"right"},size:i,minSize:r,maxSize:o=120,enableSorting:s=!0,enableHiding:l=!0,headerClassName:u,cellClassName:c,prefix:d="",suffix:m="",localeStringOptions:h}){return{accessorKey:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${u||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{children:t})}),cell:e=>{const t=e.getValue()??0;return a.jsxs("div",{className:`font-variant-numeric h-8 flex items-center justify-end pr-2 sm:pr-3 md:pr-4 ${c||""} ${n?.className||""}`.trim(),children:[d,t.toLocaleString(void 0,h),m]})},size:i||(n?.className?.includes("w-")?void 0:100),minSize:r,maxSize:o,enableSorting:s,enableHiding:l,meta:n}}({accessorKey:e,header:t,prefix:n,enableSorting:!1,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:t}})}function $fe(e){const{onToggle:t,vsaasManaged:n,pillForStatus:i}=e;return Ace({accessorKey:"status",id:"status",header:"Status",enableSorting:!1,enableHiding:!1,headerClassName:"justify-end text-right w-full",size:180,maxSize:200,meta:{align:"right"},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const{original:r}=e.row,o=r.status??null;return i&&o?a.jsx(xx,{variant:Vfe(o),children:xhe({status:o,automationType:r.automation_type??ME.ONE_TIME,vsaasManaged:n??!1})}):a.jsx(jhe,{className:"flex items-center justify-end",rowOriginal:r,id:r.id,onToggle:t||(()=>{}),vsaasManaged:n})}})}function Yfe(e){const{vsaasManaged:t,pillForStatus:n,onDuplicate:i,onArchive:r,onEdit:o,onCancel:s}=e;return Ace({accessorKey:"status",id:"status",header:"Status",enableSorting:!1,enableHiding:!1,headerClassName:"justify-end text-right w-full",size:180,maxSize:200,meta:{align:"right"},cellClassName:"pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const{original:l}=e.row,u=l.status??null;return n&&u?a.jsx(xx,{variant:Vfe(u),children:xhe({status:u,automationType:l.automation_type??ME.ONE_TIME,vsaasManaged:t??!1})}):a.jsx(jhe,{className:"flex items-center justify-end w-full",rowOriginal:l,id:l.id,vsaasManaged:t,onDuplicate:i,onArchive:r,onEdit:o,onCancel:s})}})}function Qfe(e){const t={align:"right",displayName:`Update ${PN("engage:segment").toLowerCase()}`};return function({id:e="actions",header:t,meta:n={align:"center"},text:i,size:r=120,minSize:o=100,maxSize:s=200,enableSorting:l=!1,enableHiding:u=!1,headerClassName:c,icon:d,onAction:m,actionButtonVariant:h="outline",actionButtonSize:p="default"}){return{id:e,header:()=>a.jsx("div",{className:`float-right h-8 flex items-center justify-end px-2 sm:px-3 font-medium whitespace-nowrap text-muted-foreground ${c||""}`.trim(),children:"function"==typeof t?t():a.jsx("span",{className:"whitespace-nowrap",children:t})}),cell:e=>{const t=e.row.original,r=t?.type,o="custom"!==r;return a.jsx("div",{className:`flex items-center h-8 pr-2 sm:pr-3 min-w-0 ${"right"===n?.align?"justify-end":"center"===n?.align?"justify-center":"justify-start"} ${n?.className||""}`.trim(),children:a.jsxs(Xa,{variant:h,size:p,disabled:o,onClick:()=>m(t),className:"whitespace-nowrap shrink-0",children:[a.jsx(d,{className:"h-4 w-4 shrink-0"}),i&&a.jsx("span",{className:"ml-1.5 shrink-0",children:i})]})})},size:r,minSize:o,maxSize:s,enableSorting:l,enableHiding:u,meta:n}}({id:"edit",header:`${PN("engage:segment")} actions`,icon:le,onAction:a=>{e(a.id)},text:"Edit",size:140,minSize:120,maxSize:160,headerClassName:"w-full whitespace-nowrap",enableHiding:!1,meta:t})}function Xfe(e){const{automationName:a,setUrl:t,onToggle:n,vsaasManaged:i=!1,pillForStatus:r=!1,onDuplicate:o,onArchive:s,onEdit:l,onCancel:u}=e,c=!!(o||s||l||u);return[Ufe("name","Name",!0),Zfe("derivedRevenue","Sales","$"),Zfe("emailsSent","Email Sent"),Zfe("smsSent","SMS Sent"),qfe(),c?Yfe({setUrl:t,onToggle:n,automationName:a,vsaasManaged:i,pillForStatus:r,onDuplicate:o,onArchive:s,onEdit:l,onCancel:u}):$fe({setUrl:t,onToggle:n,automationName:a,vsaasManaged:i,pillForStatus:r})]}const eve="https://assets.embedreach.com/defaults/logo-placeholder-128.png",ave=({handleBack:e,handleNext:t,handleSkipAndSaveAsDraft:n,backText:i,nextText:r,backDisabled:o,nextDisabled:s,hideBack:l,getInfoTooltipTitle:u})=>{const c=u?.(),d=e=>a.jsx(Xa,{id:"wizard-next-button",asChild:!0===e.tooltip,onClick:t,disabled:s,className:qa("flex items-center gap-2 --reach-destructive",s&&"opacity-50 cursor-not-allowed"),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{children:r}),a.jsx(OM.NextButton,{})]})});return a.jsxs("div",{className:"flex gap-4 py-2 items-center",children:[!l&&a.jsxs(Xa,{onClick:e,disabled:o,variant:"secondary",className:qa("flex items-center gap-2",o&&"opacity-50 cursor-not-allowed"),children:[a.jsx(OM.BackButton,{}),a.jsx("span",{children:i})]}),a.jsx(Xa,{id:"wizard-skip-save-draft-button",onClick:n,variant:"secondary",className:"flex items-center gap-2",children:"Skip & Save as Draft"}),c?a.jsx(Rx,{title:c,children:d({tooltip:!0})}):d({tooltip:!1})]})},tve=()=>{const[e,n]=t.useState(0),i=[`Enhancing your ${PN("engage:automation")} with AI...`,"Generating smart name and description...",`Finalizing your ${PN("engage:automation")} with smart enhancements...`];return t.useEffect((()=>{const e=setInterval((()=>{n((e=>e<i.length-1?e+1:0))}),2500);return()=>clearInterval(e)}),[i.length]),a.jsxs("div",{className:"flex-1 flex flex-col justify-center items-center h-full",children:[a.jsxs("div",{className:"text-center space-y-8",children:[a.jsx("div",{className:"relative",children:a.jsx("div",{className:"w-16 h-16 mx-auto border-2 border-[hsl(var(--reach-muted))] border-t-[hsl(var(--reach-primary))] rounded-full animate-spin"})}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("h3",{className:"text-xl font-semibold text-[hsl(var(--reach-foreground))]",children:["Saving and enhancing your ",PN("engage:automation"),"..."]}),a.jsx("div",{className:"min-h-[60px] flex items-center justify-center",children:a.jsx("p",{className:"text-sm text-[hsl(var(--reach-muted-foreground))] max-w-md px-4 animate-fade-in",children:i[e]})})]})]}),a.jsx("style",{children:"\n .animate-fade-in {\n animation: fadeIn 0.6s ease-in-out;\n }\n @keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n "})]})},nve=({content:e,className:t})=>a.jsx("div",{className:Si("flex flex-col w-full min-h-0 min-w-0",t),children:a.jsx("div",{className:"bg-white rounded-2xl w-full p-6 relative flex flex-col min-w-0",children:e})}),ive=r.forwardRef((({children:e="BETA",size:t="default",animated:n=!1,className:i,...r},o)=>a.jsx("span",{ref:o,className:qa("inline-flex items-center justify-center rounded-full font-medium leading-none","bg-gray-100 text-gray-600 border border-gray-200","dark:bg-gray-800 dark:text-gray-300 dark:border-gray-700","relative select-none",{sm:"px-1.5 py-0.5 text-[10px]",default:"px-2 py-0.5 text-xs",lg:"px-2.5 py-1 text-sm"}[t],n&&"animate-pulse",i),...r,children:e})));ive.displayName="BetaTag";const rve=r.forwardRef((({className:e,...t},n)=>a.jsx("textarea",{className:qa("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t})));rve.displayName="Textarea";const ove=({value:e,maxValue:t,size:n=120,strokeWidth:i=6})=>{const r=(n-i)/2,o=2*Math.PI*r,s=o*(1-Math.min(e/t,1));return a.jsxs("div",{className:"relative",children:[a.jsxs("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:"duration-300",children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:"progress-gradient",gradientUnits:"userSpaceOnUse",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[a.jsx("stop",{offset:"0%",stopColor:"hsl(var(--reach-primary))"}),a.jsx("stop",{offset:"50%",stopColor:"hsl(var(--reach-primary))"}),a.jsx("stop",{offset:"100%",stopColor:"hsl(var(--reach-primary))"})]})}),a.jsx("circle",{cx:n/2,cy:n/2,r:r,className:"fill-transparent stroke-gray-200",strokeWidth:i}),a.jsx("circle",{cx:n/2,cy:n/2,r:r,className:"fill-transparent",style:{stroke:"url(#progress-gradient)"},strokeWidth:i,strokeDasharray:o,strokeDashoffset:s,transform:`rotate(-90 ${n/2} ${n/2})`,strokeLinecap:"round"})]}),a.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:a.jsxs("span",{className:"text-2xl font-bold text-foreground",children:[Math.round(e),"%"]})})]})},sve=({selectedChannels:e})=>{const[n,i]=t.useState(0),[r,o]=t.useState(0),s=t.useMemo((()=>[{icon:we,title:"Initializing AI Engine",description:"Starting up the content generation system...",duration:2e3},{icon:K,title:"Analyzing Business Profile",description:"Understanding your brand, tone, and requirements",duration:3e3},{icon:ze,title:"Crafting Content",description:"Generating compelling copy for your channels",duration:4e3},{icon:Z,title:"Optimizing for Channels",description:`Tailoring content for ${e.map((e=>e.toLowerCase())).join(", ")}`,duration:3e3},{icon:E,title:"Finalizing Campaign",description:"Adding finishing touches and compiling content",duration:2e3}]),[e]);t.useEffect((()=>{if(n>=s.length){const e=setInterval((()=>{o((a=>a>=100?(clearInterval(e),100):a+.1))}),1e4);return()=>clearInterval(e)}const e=s[n].duration/50;let a=0;const t=setInterval((()=>{a++;const r=Math.min((100*n+a/e*100)/s.length,90);o(r),a>=e&&(clearInterval(t),setTimeout((()=>{i((e=>e+1))}),200))}),50);return()=>clearInterval(t)}),[n,s]);const l=s[n]||s[s.length-1];return a.jsx("div",{className:"max-w-2xl mx-auto p-6 space-y-8 flex flex-col justify-center h-full",children:a.jsxs("div",{className:"text-center space-y-8",children:[a.jsxs("div",{className:"space-y-6",children:[a.jsx(tS.div,{initial:{scale:.8,opacity:0},animate:{scale:1,opacity:1},transition:{duration:.5},className:"flex justify-center",children:a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"w-20 h-20 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(l.icon,{className:"w-10 h-10 text-primary"})}),a.jsx(tS.div,{className:"absolute inset-0 rounded-full border-2 border-primary/30",animate:{scale:[1,1.2,1],opacity:[.5,0,.5]},transition:{duration:2,repeat:1/0}})]})},n),a.jsx("div",{className:"flex justify-center",children:a.jsx(ove,{value:r,maxValue:100,size:120,strokeWidth:6})}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(tS.h2,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"text-2xl font-semibold text-foreground",children:l.title},`title-${n}`),a.jsx(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.1},children:a.jsx("p",{className:"text-muted-foreground",children:l.description})},`desc-${n}`)]}),a.jsx("div",{className:"flex justify-center space-x-2",children:s.map(((e,t)=>a.jsx(tS.div,{className:"w-2 h-2 rounded-full transition-colors duration-300 "+(t<=n?"bg-primary":"bg-muted"),initial:{scale:.8},animate:{scale:t===n?1.2:1,backgroundColor:t<=n?"hsl(var(--reach-primary))":"#e5e7eb"},transition:{duration:.3}},t)))})]}),a.jsx("div",{className:"text-sm text-muted-foreground",children:a.jsx("p",{children:"This usually takes about 60 seconds. We're crafting personalized content just for you."})})]})})},lve="reach-ai-image-style",uve=[{value:"illustration",label:"Illustration",description:"Clean, modern digital artwork"},{value:"photorealistic",label:"Photo-like",description:"Lifelike, like a real photo"},{value:"graphic_design",label:"Bold & Colorful",description:"Bold shapes and vibrant colors"},{value:"cartoon",label:"Cartoon",description:"Fun, playful animated style"},{value:"minimalist",label:"Minimalist",description:"Simple and clean with white space"},{value:"watercolor",label:"Watercolor",description:"Soft, artistic painted look"}],cve=t.forwardRef((({onGenerateContent:e,onPromptChange:n},i)=>{const{generateContent:r,generateContentError:o,isGeneratingContent:s}=JE(),{state:{selectedChannels:l}}=t.useContext(Hfe),u=O6()["use-gemini-image-generation"]??!1,[c,d]=t.useState(""),[m,h]=t.useState((()=>{if("undefined"!=typeof window){const e=localStorage.getItem(lve);if(e&&uve.some((a=>a.value===e)))return e}return"illustration"})),p=t.useRef(c);t.useEffect((()=>{p.current=c}),[c]);const g=()=>{const a=p.current;a.trim()&&r({userPrompt:a,selectedChannels:l,imageStyle:m,imageProvider:u?"gemini":"openai"},{onSuccess:a=>{e(a)},onError:e=>{}})};return t.useImperativeHandle(i,(()=>({generate:g,getPrompt:()=>p.current}))),a.jsx("div",{className:"max-w-2xl mx-auto p-6 space-y-6 flex flex-col justify-center h-full",children:a.jsx(fh,{mode:"wait",children:s?a.jsx(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{duration:.5,ease:[.4,0,.2,1]},className:"h-full",children:a.jsx(sve,{selectedChannels:l})},"loading"):a.jsxs(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{duration:.5,ease:[.4,0,.2,1]},children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsx("div",{className:"flex justify-center",children:a.jsxs("div",{className:"relative",children:[a.jsx("div",{className:"h-16 w-16 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(we,{className:"w-8 h-8 text-[hsl(var(--reach-primary))]"})}),a.jsx("div",{className:"absolute -bottom-2 -right-2",children:a.jsx(ive,{size:"sm"})})]})}),a.jsx("h2",{className:"text-2xl font-bold",children:"Generate Content with AI"}),a.jsx("div",{className:"py-3",children:a.jsx("p",{className:"text-muted-foreground text-sm",children:"Describe what you want your message to say and we'll generate the content for you with marketing optimized best practices. Up to one image will be AI-generated for you."})})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"flex justify-center",children:a.jsx(rve,{id:"prompt",placeholder:"e.g., Send a promotional email announcing a 20% off sale on all products",value:c,onChange:e=>{return d(a=e.target.value),void n(a);var a},className:"min-h-[120px] w-full max-w-2xl resize-none",disabled:s})}),a.jsx("div",{className:"flex justify-center",children:a.jsxs("div",{className:"w-full max-w-2xl",children:[a.jsx(Eo,{htmlFor:"image-style",className:"block mb-1",children:"Image Style"}),a.jsx("p",{className:"text-muted-foreground text-sm mb-2",children:"Choose how AI-generated images will look in your message"}),a.jsxs(Fc,{value:m,onValueChange:e=>(e=>{h(e),localStorage.setItem(lve,e)})(e),disabled:s,children:[a.jsx(Vc,{id:"image-style",className:"w-full",children:a.jsx(Gc,{children:uve.find((e=>e.value===m))?.label})}),a.jsx(Wc,{children:uve.map((e=>a.jsx(qc,{value:e.value,className:"py-2",children:a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{children:e.label}),a.jsx("span",{className:"text-xs text-muted-foreground",children:e.description})]})},e.value)))})]})]})}),o&&a.jsx("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4",children:a.jsx("p",{className:"text-sm text-destructive",children:"Error generating content. Please try again or contact an administrator."})})]})]},"prompt")})})})),dve=()=>{const{state:{contentBuilderStyle:e},setContentBuilderStyle:n}=t.useContext(Hfe),i=e=>{n(e)};return a.jsx("div",{id:"wizard-content-builder-step",className:"flex flex-col h-full w-full space-y-8 justify-center",children:a.jsxs("div",{className:"flex flex-col space-y-6",children:[a.jsxs("div",{className:"text-center space-y-2",children:[a.jsx("h3",{id:"wizard-content-builder-heading",className:"text-3xl font-semibold text-foreground tracking-tight",children:"Content Builder Style"}),a.jsx("p",{className:"text-muted-foreground text-sm",children:"Choose how you want to create your content"})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 w-full max-w-4xl mx-auto",children:[a.jsx("div",{id:"wizard-ai-builder-option",className:"min-w-0 w-full h-full",children:a.jsx(ule,{id:e===Kfe.AI?"wizard-ai-selected":"wizard-ai-not-selected",onClick:()=>{i(Kfe.AI)},title:"Build with AI",subtitle:"Describe your message in plain language and let AI create the content",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsxs("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:[a.jsx(we,{className:"w-full h-full"}),a.jsx(ive,{size:"sm"})]})}),selected:e===Kfe.AI,className:"w-full h-full"})}),a.jsx("div",{id:"wizard-manual-builder-option",className:"min-w-0 w-full h-full",children:a.jsx(ule,{id:e===Kfe.MANUAL?"wizard-manual-selected":"wizard-manual-not-selected",onClick:()=>{i(Kfe.MANUAL)},title:"Build Manually",subtitle:"Create your content by configuring email and SMS messages directly",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx("div",{className:"w-5 h-5 text-[hsl(var(--reach-primary))]",children:a.jsx(fe,{className:"w-full h-full"})})}),selected:e===Kfe.MANUAL,className:"w-full h-full"})})]})]})})};var mve=(e=>(e.CUSTOM="custom",e.MANAGED="managed",e))(mve||{}),hve=(e=>(e.EditAudience="edit-audience",e.EditTime="edit-time",e))(hve||{}),pve=(e=>(e.EMAIL="email",e.SMS="sms",e))(pve||{}),gve=(e=>(e.WORKFLOW="workflow",e.RECIPIENTS="recipients",e.INSIGHTS="insights",e))(gve||{}),fve=(e=>(e.EMAIL="email",e.SMS="sms",e))(fve||{}),vve=(e=>(e.EMAIL="email",e.SMS="sms",e))(vve||{});const yve=320,bve=({title:e,type:n})=>{const{communicationGroup:i}=ile(),r=tle(),{toast:o}=dS(),[s,l]=t.useState(!1),{resetCommunicationGroupToDefault:u,isPending:c}=qN(),d=!!i&&(i.type===mve.MANAGED&&(n===fve.SMS?i.updatedFromDefault?.text_message_body:i.updatedFromDefault?.email_text_body||i.updatedFromDefault?.email_html_body)),m=n===fve.EMAIL?"Email":"SMS";return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("h4",{className:"text-xl font-medium text-foreground",children:e}),a.jsx("div",{className:"flex items-center gap-2",children:d&&a.jsx(a.Fragment,{children:c?a.jsx(th,{}):a.jsx(Xa,{variant:"outline",size:"sm",onClick:()=>l(!0),children:"Reset To Default"})})})]}),a.jsx(wi,{open:s,onOpenChange:l,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{className:"text-xl font-semibold",children:"Reset To Default"}),a.jsxs(_i,{className:"text-base text-muted-foreground",children:["Are you sure you want to reset this ",m.toLowerCase()," ","template to its default state? This action cannot be undone."]})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:()=>l(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{i&&r?u({communicationGroupId:i.id,automationId:r.id,type:n===fve.EMAIL?"email":"sms"},{onSuccess:()=>{o({title:PN("engage:success.communication_reset","Communication reset to default!")}),l(!1)},onSettled:()=>{l(!1)},onError:()=>{o({title:"Error updating",description:"No sender found",variant:"destructive"})}}):o({title:"Error updating",description:"No sender found",variant:"destructive"})},children:"Reset To Default"})]})]})})]})},kve=({type:e})=>a.jsxs("div",{className:"w-full h-full min-h-[300px] flex flex-col items-center justify-center bg-gradient-to-b from-gray-50 to-white p-8",children:[a.jsx("div",{className:"mb-4 text-gray-300",children:a.jsx("svg",{className:"w-16 h-16",fill:"currentColor",viewBox:"0 0 24 24",children:a.jsx("path",{d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z"})})}),a.jsxs("p",{className:"text-gray-400 font-medium text-lg text-center mb-2",children:["No ","email"===e?"Email":"SMS"," Preview Available"]}),a.jsxs("p",{className:"text-gray-400 text-sm text-center",children:["Edit your ","email"===e?"Email":"SMS"," template to see a preview here"]})]}),Sve=({html:e,onHeightChange:n,expanded:i=!1})=>{const r=t.useRef(null),[o,s]=t.useState({type:"loading"}),l=t.useRef(null),u=t.useRef(!1),{communicationGroup:c}=ile(),d=tle(),{getMergeFields:m,isGetting:h}=WN(c?.id??void 0,d?.id??void 0),p=t.useMemo((()=>m?.mergeFields?.flatMap((e=>e.entries))??[]),[m?.mergeFields]),g=t.useMemo((()=>((e,a)=>{if(!e)return"";const t=e.includes("merge-field-pill-styles")?"":'\n <style id="merge-field-pill-styles">\n .merge-field-pill {\n display: inline-block !important;\n padding: 4px 8px !important;\n border-radius: 6px !important;\n background: #f3f4f6 !important;\n color: #6b7280 !important;\n font-size: 0.875rem !important;\n border: 1px solid #e5e7eb !important;\n font-weight: 500 !important;\n margin: 0 2px !important;\n vertical-align: middle !important;\n line-height: 1.2 !important;\n white-space: nowrap !important;\n box-sizing: border-box !important;\n }\n </style>\n ';let n=e;return t&&e.includes("<head>")?n=e.replace("<head>",`<head>${t}`):t&&(n=`<head>${t}</head>${e}`),n.replace(/\{\{.*?\}\}/g,((e,t)=>{const i=n.substring(0,t),r=n.substring(t+e.length),o=i.match(/href\s*=\s*["'][^"']*$/i);if(o){const a=o.index+o[0].length,i=r.search(/["']/);if(-1!==i&&n.substring(a,t+e.length+i).includes(e))return e}const s=i.match(/src\s*=\s*["'][^"']*$/i);if(s){const a=s.index+s[0].length,i=r.search(/["']/);if(-1!==i&&n.substring(a,t+e.length+i).includes(e))return e}const l=a?.find((a=>a.value===e));return`<span class="merge-field-pill" style="display: inline-block; padding: 4px 8px; border-radius: 6px; background: #f3f4f6; color: #6b7280; font-size: 0.875rem; border: 1px solid #e5e7eb; font-weight: 500; margin: 0 2px; vertical-align: middle; line-height: 1.2; white-space: nowrap; box-sizing: border-box;">${l?l.label:e}</span>`}))})(e,p)),[e,p]),f=t.useCallback((e=>{try{const a=e.split("\n").length;return Math.max(200,Math.min(800,20*a))}catch(a){return 400}}),[]),v=t.useCallback((e=>{s({type:"ready",height:e}),n?.(e)}),[n]),y=t.useCallback((()=>{const e=r.current;if(e)try{const a=e.contentDocument||e.contentWindow?.document;if(!a)return;if("loading"===a.readyState)return void a.addEventListener("DOMContentLoaded",(()=>{setTimeout(y,100)}));const t=Math.max(a.body?.scrollHeight||0,a.documentElement?.scrollHeight||0);t>0&&v(t+10)}catch(a){}}),[v]),b=t.useCallback((()=>{const e=r.current;if(e){if(l.current&&l.current.disconnect(),window.ResizeObserver){const t=new ResizeObserver((()=>{requestAnimationFrame(y)}));try{const a=e.contentDocument||e.contentWindow?.document;a?.body&&(t.observe(a.body),l.current=t)}catch(a){}}setTimeout(y,100)}}),[y]);if(t.useEffect((()=>{if(g){u.current=!1,s({type:"loading"});const e=setTimeout((()=>{y()}),500),a=setTimeout((()=>{if(!u.current){u.current=!0;const e=f(g);v(e)}}),2e3);return()=>{clearTimeout(e),clearTimeout(a)}}}),[g,y,f,v]),t.useEffect((()=>()=>{l.current&&l.current.disconnect()}),[]),h&&void 0===m)return a.jsx("div",{className:"flex items-center justify-center py-5",children:a.jsx(th,{text:"Fetching merge fields..."})});if(!e)return a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx(kve,{type:"email"})});const k=i&&"ready"===o.type&&o.height?`${o.height}px`:"100%";return a.jsx("div",{className:"w-full bg-white rounded-lg border-0",style:i?{width:"100%",height:"auto"}:{transition:"height 0.3s ease-in-out",height:"ready"===o.type?o.height:"auto"},children:"loading"===o.type?a.jsx("div",{className:"flex items-center justify-center py-8",children:a.jsx(th,{text:"Loading email preview..."})}):a.jsx("iframe",{ref:r,title:"Email Preview",srcDoc:g,className:"w-full block",style:{border:"none",backgroundColor:"white",width:"100%",height:k,overflow:"hidden",scrollbarWidth:"none",msOverflowStyle:"none",display:"block"},scrolling:"no",onLoad:b,onError:()=>{const e=f(g);v(e)}})})};var wve=.999,Ave=/[\\\/_+.#"@\[\(\{&]/,Cve=/[\\\/_+.#"@\[\(\{&]/g,Mve=/[\s-]/,Tve=/[\s-]/g;function xve(e,a,t,n,i,r,o){if(r===a.length)return i===e.length?1:.99;var s=`${i},${r}`;if(void 0!==o[s])return o[s];for(var l,u,c,d,m=n.charAt(r),h=t.indexOf(m,i),p=0;h>=0;)(l=xve(e,a,t,n,h+1,r+1,o))>p&&(h===i?l*=1:Ave.test(e.charAt(h-1))?(l*=.8,(c=e.slice(i,h-1).match(Cve))&&i>0&&(l*=Math.pow(wve,c.length))):Mve.test(e.charAt(h-1))?(l*=.9,(d=e.slice(i,h-1).match(Tve))&&i>0&&(l*=Math.pow(wve,d.length))):(l*=.17,i>0&&(l*=Math.pow(wve,h-i))),e.charAt(h)!==a.charAt(r)&&(l*=.9999)),(l<.1&&t.charAt(h-1)===n.charAt(r+1)||n.charAt(r+1)===n.charAt(r)&&t.charAt(h-1)!==n.charAt(r))&&(.1*(u=xve(e,a,t,n,h+1,r+2,o))>l&&(l=.1*u)),l>p&&(p=l),h=t.indexOf(m,h+1);return o[s]=p,p}function Nve(e){return e.toLowerCase().replace(Tve," ")}function Eve(e,a,t){return xve(e=t&&t.length>0?""+(e+" "+t.join(" ")):e,a,Nve(e),Nve(a),0,0,{})}var _ve,jve={exports:{}},Pve={};var Lve,Bve={};
60
60
  /**
61
61
  * @license React
62
62
  * use-sync-external-store-shim.development.js
@@ -83,7 +83,7 @@ function vue(e,a){return e?function(e){return"function"==typeof e&&(()=>{const a
83
83
  *
84
84
  * This source code is licensed under the MIT license found in the
85
85
  * LICENSE file in the root directory of this source tree.
86
- */bTe.exports="production"===process.env.NODE_ENV?function(){if(fTe)return kTe;fTe=1;var e="function"==typeof Object.is?Object.is:function(e,a){return e===a&&(0!==e||1/e==1/a)||e!=e&&a!=a},a=cTe.useSyncExternalStore,n=t.useRef,i=t.useEffect,r=t.useMemo,o=t.useDebugValue;return kTe.useSyncExternalStoreWithSelector=function(t,s,l,u,c){var d=n(null);if(null===d.current){var m={hasValue:!1,value:null};d.current=m}else m=d.current;d=r((function(){function a(a){if(!i){if(i=!0,t=a,a=u(a),void 0!==c&&m.hasValue){var r=m.value;if(c(r,a))return n=r}return n=a}if(r=n,e(t,a))return r;var o=u(a);return void 0!==c&&c(r,o)?r:(t=a,n=o)}var t,n,i=!1,r=void 0===l?null:l;return[function(){return a(s())},null===r?void 0:function(){return a(r())}]}),[s,l,u,c]);var h=a(t,d[0],d[1]);return i((function(){m.hasValue=!0,m.value=h}),[h]),o(h),h},kTe}():(STe||(STe=1,"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e="function"==typeof Object.is?Object.is:function(e,a){return e===a&&(0!==e||1/e==1/a)||e!=e&&a!=a},a=cTe.useSyncExternalStore,n=t.useRef,i=t.useEffect,r=t.useMemo,o=t.useDebugValue;wTe.useSyncExternalStoreWithSelector=function(t,s,l,u,c){var d,m=n(null);null===m.current?m.current=d={hasValue:!1,value:null}:d=m.current;var h=r((function(){var a,t,n=!1,i=function(i){if(!n){n=!0,a=i;var r=u(i);if(void 0!==c&&d.hasValue){var o=d.value;if(c(o,r))return t=o,o}return t=r,r}var s=t;if(e(a,i))return s;var l=u(i);return void 0!==c&&c(s,l)?s:(a=i,t=l,l)},r=void 0===l?null:l;return[function(){return i(s())},null===r?void 0:function(){return i(r())}]}),[s,l,u,c]),p=a(t,h[0],h[1]);return i((function(){d.hasValue=!0,d.value=p}),[p]),o(p),p},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),wTe);var ATe=bTe.exports;const CTe="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;class MTe{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber||(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber}),this.lastSnapshot}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){const e=()=>{this.transactionNumber+=1,this.subscribers.forEach((e=>e()))},a=this.editor;return a.on("transaction",e),()=>{a.off("transaction",e)}}}}const TTe="production"!==process.env.NODE_ENV,xTe="undefined"==typeof window,NTe=xTe||Boolean("undefined"!=typeof window&&window.next);class ETe{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach((e=>e()))}getInitialEditor(){if(void 0===this.options.current.immediatelyRender)return xTe||NTe?null:this.createEditor();if(this.options.current.immediatelyRender&&xTe&&TTe)throw new Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){const e={...this.options.current,onBeforeCreate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onBeforeCreate)||void 0===t?void 0:t.call(a,...e)},onBlur:(...e)=>{var a,t;return null===(t=(a=this.options.current).onBlur)||void 0===t?void 0:t.call(a,...e)},onCreate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onCreate)||void 0===t?void 0:t.call(a,...e)},onDestroy:(...e)=>{var a,t;return null===(t=(a=this.options.current).onDestroy)||void 0===t?void 0:t.call(a,...e)},onFocus:(...e)=>{var a,t;return null===(t=(a=this.options.current).onFocus)||void 0===t?void 0:t.call(a,...e)},onSelectionUpdate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onSelectionUpdate)||void 0===t?void 0:t.call(a,...e)},onTransaction:(...e)=>{var a,t;return null===(t=(a=this.options.current).onTransaction)||void 0===t?void 0:t.call(a,...e)},onUpdate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onUpdate)||void 0===t?void 0:t.call(a,...e)},onContentError:(...e)=>{var a,t;return null===(t=(a=this.options.current).onContentError)||void 0===t?void 0:t.call(a,...e)},onDrop:(...e)=>{var a,t;return null===(t=(a=this.options.current).onDrop)||void 0===t?void 0:t.call(a,...e)},onPaste:(...e)=>{var a,t;return null===(t=(a=this.options.current).onPaste)||void 0===t?void 0:t.call(a,...e)}};return new YMe(e)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,a){return Object.keys(e).every((t=>!!["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(t)||("extensions"===t&&e.extensions&&a.extensions?e.extensions.length===a.extensions.length&&e.extensions.every(((e,t)=>{var n;return e===(null===(n=a.extensions)||void 0===n?void 0:n[t])})):e[t]===a[t])))}onRender(e){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&0===e.length?ETe.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(e),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(null===this.previousDeps)return void(this.previousDeps=e);if(this.previousDeps.length===e.length&&this.previousDeps.every(((a,t)=>a===e[t])))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){const e=this.instanceId,a=this.editor;this.scheduledDestructionTimeout=setTimeout((()=>{this.isComponentMounted&&this.instanceId===e?a&&a.setOptions(this.options.current):a&&!a.isDestroyed&&(a.destroy(),this.instanceId===e&&this.setEditor(null))}),1)}}function _Te(e={},a=[]){const n=t.useRef(e);n.current=e;const[i]=t.useState((()=>new ETe(n))),r=cTe.useSyncExternalStore(i.subscribe,i.getEditor,i.getServerSnapshot);return t.useDebugValue(r),t.useEffect(i.onRender(a)),function(e){var a;const[n]=t.useState((()=>new MTe(e.editor))),i=ATe.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getServerSnapshot,e.selector,null!==(a=e.equalityFn)&&void 0!==a?a:yTe);CTe((()=>n.watch(e.editor)),[e.editor,n]),t.useDebugValue(i)}({editor:r,selector:({transactionNumber:a})=>!1===e.shouldRerenderOnTransaction?null:e.immediatelyRender&&0===a?0:a+1}),r}t.createContext({editor:null});const jTe=t.createContext({onDragStart:void 0}),PTe=t.forwardRef(((e,a)=>{const{onDragStart:n}=t.useContext(jTe);return t.createElement(e.as||"div",{...e,ref:a,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...e.style}})}));function LTe(e){return!("function"!=typeof e||!e.prototype||!e.prototype.isReactComponent)}function BTe(e){return!("object"!=typeof e||!e.$$typeof||"Symbol(react.forward_ref)"!==e.$$typeof.toString()&&"react.forward_ref"!==e.$$typeof.description)}class RTe{constructor(e,{editor:a,props:t={},as:i="div",className:r=""}){this.ref=null,this.id=Math.floor(4294967295*Math.random()).toString(),this.component=e,this.editor=a,this.props=t,this.element=document.createElement(i),this.element.classList.add("react-renderer"),r&&this.element.classList.add(...r.split(" ")),this.editor.isInitialized?n.flushSync((()=>{this.render()})):this.render()}render(){var e;const a=this.component,n=this.props,i=this.editor,r=function(){try{if(t.version)return parseInt(t.version.split(".")[0],10)>=19}catch{}return!1}(),o=function(e){if(LTe(e))return!0;if(BTe(e))return!0;if(function(e){return!("object"!=typeof e||!e.$$typeof||"Symbol(react.memo)"!==e.$$typeof.toString()&&"react.memo"!==e.$$typeof.description)}(e)){const a=e.type;if(a)return LTe(a)||BTe(a)}return!1}(a),s={...n};!s.ref||r||o||delete s.ref,s.ref||!r&&!o||(s.ref=e=>{this.ref=e}),this.reactElement=t.createElement(a,{...s}),null===(e=null==i?void 0:i.contentComponent)||void 0===e||e.setRenderer(this.id,this)}updateProps(e={}){this.props={...this.props,...e},this.render()}destroy(){var e;const a=this.editor;null===(e=null==a?void 0:a.contentComponent)||void 0===e||e.removeRenderer(this.id)}updateAttributes(e){Object.keys(e).forEach((a=>{this.element.setAttribute(a,e[a])}))}}class DTe extends tTe{mount(){const e={editor:this.editor,node:this.node,decorations:this.decorations,innerDecorations:this.innerDecorations,view:this.view,selected:!1,extension:this.extension,HTMLAttributes:this.HTMLAttributes,getPos:()=>this.getPos(),updateAttributes:(e={})=>this.updateAttributes(e),deleteNode:()=>this.deleteNode(),ref:t.createRef()};if(!this.component.displayName){this.component.displayName=(e=>e.charAt(0).toUpperCase()+e.substring(1))(this.extension.name)}const a={onDragStart:this.onDragStart.bind(this),nodeViewContentRef:e=>{e&&this.contentDOMElement&&e.firstChild!==this.contentDOMElement&&e.appendChild(this.contentDOMElement)}},n=this.component,i=t.memo((e=>t.createElement(jTe.Provider,{value:a},t.createElement(n,e))));i.displayName="ReactNodeView",this.contentDOMElement=this.node.isLeaf?null:this.options.contentDOMElementTag?document.createElement(this.options.contentDOMElementTag):document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.dataset.nodeViewContentReact="",this.contentDOMElement.style.whiteSpace="inherit");let r=this.node.isInline?"span":"div";this.options.as&&(r=this.options.as);const{className:o=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.renderer=new RTe(i,{editor:this.editor,props:e,as:r,className:`node-${this.node.type.name} ${o}`.trim()}),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.updateElementAttributes()}get dom(){var e;if(this.renderer.element.firstElementChild&&!(null===(e=this.renderer.element.firstElementChild)||void 0===e?void 0:e.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:e,to:a}=this.editor.state.selection,t=this.getPos();if("number"==typeof t)if(e<=t&&a>=t+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(e,a,t){const n=e=>{this.renderer.updateProps(e),"function"==typeof this.options.attrs&&this.updateElementAttributes()};if(e.type!==this.node.type)return!1;if("function"==typeof this.options.update){const i=this.node,r=this.decorations,o=this.innerDecorations;return this.node=e,this.decorations=a,this.innerDecorations=t,this.options.update({oldNode:i,oldDecorations:r,newNode:e,newDecorations:a,oldInnerDecorations:o,innerDecorations:t,updateProps:()=>n({node:e,decorations:a,innerDecorations:t})})}return e===this.node&&this.decorations===a&&this.innerDecorations===t||(this.node=e,this.decorations=a,this.innerDecorations=t,n({node:e,decorations:a,innerDecorations:t})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}updateElementAttributes(){if(this.options.attrs){let e={};if("function"==typeof this.options.attrs){const a=FCe(this.node,this.editor.extensionManager.attributes);e=this.options.attrs({node:this.node,HTMLAttributes:a})}else e=this.options.attrs;this.renderer.updateAttributes(e)}}}function zTe(e,a){return t=>t.editor.contentComponent?new DTe(e,t,a):{}}const OTe=/^\s*>\s$/,ITe=aTe.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:e}){return["blockquote",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(this.name),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(this.name),unsetBlockquote:()=>({commands:e})=>e.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[eTe({find:OTe,type:this.type})]}}),KTe=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,HTe=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,FTe=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,GTe=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,VTe=tMe.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!==e.style.fontWeight&&null},{style:"font-weight=400",clearMark:e=>e.type.name===this.name},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return["strong",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[QMe({find:KTe,type:this.type}),QMe({find:FTe,type:this.type})]},addPasteRules(){return[nTe({find:HTe,type:this.type}),nTe({find:GTe,type:this.type})]}}),JTe="textStyle",UTe=/^\s*([-+*])\s$/,WTe=aTe.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:e}){return["ul",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleBulletList:()=>({commands:e,chain:a})=>this.options.keepAttributes?a().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(JTe)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let e=eTe({find:UTe,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(e=eTe({find:UTe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(JTe),editor:this.editor})),[e]}}),qTe=/(^|[^`])`([^`]+)`(?!`)/,ZTe=/(^|[^`])`([^`]+)`(?!`)/g,$Te=tMe.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:e}){return["code",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setCode:()=>({commands:e})=>e.setMark(this.name),toggleCode:()=>({commands:e})=>e.toggleMark(this.name),unsetCode:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[QMe({find:qTe,type:this.type})]},addPasteRules(){return[nTe({find:ZTe,type:this.type})]}}),YTe=/^```([a-z]+)?[\s\n]$/,QTe=/^~~~([a-z]+)?[\s\n]$/,XTe=aTe.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:e=>{var a;const{languageClassPrefix:t}=this.options,n=[...(null===(a=e.firstElementChild)||void 0===a?void 0:a.classList)||[]].filter((e=>e.startsWith(t))).map((e=>e.replace(t,"")))[0];return n||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:e,HTMLAttributes:a}){return["pre",HCe(this.options.HTMLAttributes,a),["code",{class:e.attrs.language?this.options.languageClassPrefix+e.attrs.language:null},0]]},addCommands(){return{setCodeBlock:e=>({commands:a})=>a.setNode(this.name,e),toggleCodeBlock:e=>({commands:a})=>a.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:e,$anchor:a}=this.editor.state.selection;return!(!e||a.parent.type.name!==this.name)&&(!(!(1===a.pos)&&a.parent.textContent.length)&&this.editor.commands.clearNodes())},Enter:({editor:e})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:a}=e,{selection:t}=a,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const r=n.parentOffset===n.parent.nodeSize-2,o=n.parent.textContent.endsWith("\n\n");return!(!r||!o)&&e.chain().command((({tr:e})=>(e.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;const{state:a}=e,{selection:t,doc:n}=a,{$from:i,empty:r}=t;if(!r||i.parent.type!==this.type)return!1;if(!(i.parentOffset===i.parent.nodeSize-2))return!1;const o=i.after();if(void 0===o)return!1;return n.nodeAt(o)?e.commands.command((({tr:e})=>(e.setSelection(Cke.near(n.resolve(o))),!0))):e.commands.exitCode()}}},addInputRules(){return[XMe({find:YTe,type:this.type,getAttributes:e=>({language:e[1]})}),XMe({find:QTe,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new Gke({key:new Uke("codeBlockVSCodeHandler"),props:{handlePaste:(e,a)=>{if(!a.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=a.clipboardData.getData("text/plain"),n=a.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,r=null==i?void 0:i.mode;if(!t||!r)return!1;const{tr:o,schema:s}=e.state,l=s.text(t.replace(/\r\n?/g,"\n"));return o.replaceSelectionWith(this.type.create({language:r},l)),o.selection.$from.parent.type!==this.type&&o.setSelection(Nke.near(o.doc.resolve(Math.max(0,o.selection.from-2)))),o.setMeta("paste",!0),e.dispatch(o),!0}}})]}}),exe=aTe.create({name:"doc",topNode:!0,content:"block+"});function axe(e={}){return new Gke({view:a=>new txe(a,e)})}class txe{constructor(e,a){var t;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=a.width)&&void 0!==t?t:1,this.color=!1===a.color?void 0:a.color||"black",this.class=a.class,this.handlers=["dragover","dragend","drop","dragleave"].map((a=>{let t=e=>{this[a](e)};return e.dom.addEventListener(a,t),{name:a,handler:t}}))}destroy(){this.handlers.forEach((({name:e,handler:a})=>this.editorView.dom.removeEventListener(e,a)))}update(e,a){null!=this.cursorPos&&a.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,null==e?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e,a=this.editorView.state.doc.resolve(this.cursorPos),t=!a.parent.inlineContent,n=this.editorView.dom,i=n.getBoundingClientRect(),r=i.width/n.offsetWidth,o=i.height/n.offsetHeight;if(t){let t=a.nodeBefore,n=a.nodeAfter;if(t||n){let a=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(a){let i=a.getBoundingClientRect(),r=t?i.bottom:i.top;t&&n&&(r=(r+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let s=this.width/2*o;e={left:i.left,right:i.right,top:r-s,bottom:r+s}}}}if(!e){let a=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*r;e={left:a.left-t,right:a.left+t,top:a.top,bottom:a.bottom}}let s,l,u=this.editorView.dom.offsetParent;if(this.element||(this.element=u.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!u||u==document.body&&"static"==getComputedStyle(u).position)s=-pageXOffset,l=-pageYOffset;else{let e=u.getBoundingClientRect();s=e.left-u.scrollLeft*(e.width/u.offsetWidth),l=e.top-u.scrollTop*(e.height/u.offsetHeight)}this.element.style.left=(e.left-s)/r+"px",this.element.style.top=(e.top-l)/o+"px",this.element.style.width=(e.right-e.left)/r+"px",this.element.style.height=(e.bottom-e.top)/o+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),e)}dragover(e){if(!this.editorView.editable)return;let a=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),t=a&&a.inside>=0&&this.editorView.state.doc.nodeAt(a.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,a,e):n;if(a&&!i){let e=a.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let a=lke(this.editorView.state.doc,e,this.editorView.dragging.slice);null!=a&&(e=a)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}const nxe=lMe.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[axe(this.options)]}});class ixe extends Cke{constructor(e){super(e,e)}map(e,a){let t=e.resolve(a.map(this.head));return ixe.valid(t)?new ixe(t):Cke.near(t)}content(){return Bye.empty}eq(e){return e instanceof ixe&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,a){if("number"!=typeof a.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new ixe(e.resolve(a.pos))}getBookmark(){return new rxe(this.anchor)}static valid(e){let a=e.parent;if(a.isTextblock||!function(e){for(let a=e.depth;a>=0;a--){let t=e.index(a),n=e.node(a);if(0!=t)for(let e=n.child(t-1);;e=e.lastChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e)||!function(e){for(let a=e.depth;a>=0;a--){let t=e.indexAfter(a),n=e.node(a);if(t!=n.childCount)for(let e=n.child(t);;e=e.firstChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e))return!1;let t=a.type.spec.allowGapCursor;if(null!=t)return t;let n=a.contentMatchAt(e.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(e,a,t=!1){e:for(;;){if(!t&&ixe.valid(e))return e;let n=e.pos,i=null;for(let t=e.depth;;t--){let r=e.node(t);if(a>0?e.indexAfter(t)<r.childCount:e.index(t)>0){i=r.child(a>0?e.indexAfter(t):e.index(t)-1);break}if(0==t)return null;n+=a;let o=e.doc.resolve(n);if(ixe.valid(o))return o}for(;;){let r=a>0?i.firstChild:i.lastChild;if(!r){if(i.isAtom&&!i.isText&&!_ke.isSelectable(i)){e=e.doc.resolve(n+i.nodeSize*a),t=!1;continue e}break}i=r,n+=a;let o=e.doc.resolve(n);if(ixe.valid(o))return o}return null}}}ixe.prototype.visible=!1,ixe.findFrom=ixe.findGapCursorFrom,Cke.jsonID("gapcursor",ixe);class rxe{constructor(e){this.pos=e}map(e){return new rxe(e.map(this.pos))}resolve(e){let a=e.resolve(this.pos);return ixe.valid(a)?new ixe(a):Cke.near(a)}}const oxe=bCe({ArrowLeft:sxe("horiz",-1),ArrowRight:sxe("horiz",1),ArrowUp:sxe("vert",-1),ArrowDown:sxe("vert",1)});function sxe(e,a){const t="vert"==e?a>0?"down":"up":a>0?"right":"left";return function(e,n,i){let r=e.selection,o=a>0?r.$to:r.$from,s=r.empty;if(r instanceof Nke){if(!i.endOfTextblock(t)||0==o.depth)return!1;s=!1,o=e.doc.resolve(a>0?o.after():o.before())}let l=ixe.findGapCursorFrom(o,a,s);return!!l&&(n&&n(e.tr.setSelection(new ixe(l))),!0)}}function lxe(e,a,t){if(!e||!e.editable)return!1;let n=e.state.doc.resolve(a);if(!ixe.valid(n))return!1;let i=e.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&_ke.isSelectable(e.state.doc.nodeAt(i.inside)))&&(e.dispatch(e.state.tr.setSelection(new ixe(n))),!0)}function uxe(e,a){if("insertCompositionText"!=a.inputType||!(e.state.selection instanceof ixe))return!1;let{$from:t}=e.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(e.state.schema.nodes.text);if(!n)return!1;let i=Nye.empty;for(let o=n.length-1;o>=0;o--)i=Nye.from(n[o].createAndFill(null,i));let r=e.state.tr.replace(t.pos,t.pos,new Bye(i,0,0));return r.setSelection(Nke.near(r.doc.resolve(t.pos+1))),e.dispatch(r),!1}function cxe(e){if(!(e.selection instanceof ixe))return null;let a=document.createElement("div");return a.className="ProseMirror-gapcursor",PAe.create(e.doc,[EAe.widget(e.selection.head,a,{key:"gapcursor"})])}const dxe=lMe.create({name:"gapCursor",addProseMirrorPlugins:()=>[new Gke({props:{decorations:cxe,createSelectionBetween:(e,a,t)=>a.pos==t.pos&&ixe.valid(t)?new ixe(t):null,handleClick:lxe,handleKeyDown:oxe,handleDOMEvents:{beforeinput:uxe}}})],extendNodeSchema(e){var a;return{allowGapCursor:null!==(a=VCe(zCe(e,"allowGapCursor",{name:e.name,options:e.options,storage:e.storage})))&&void 0!==a?a:null}}}),mxe=aTe.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:e}){return["br",HCe(this.options.HTMLAttributes,e)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:e,chain:a,state:t,editor:n})=>e.first([()=>e.exitCode(),()=>e.command((()=>{const{selection:e,storedMarks:i}=t;if(e.$from.parent.type.spec.isolating)return!1;const{keepMarks:r}=this.options,{splittableMarks:o}=n.extensionManager,s=i||e.$to.parentOffset&&e.$from.marks();return a().insertContent({type:this.name}).command((({tr:e,dispatch:a})=>{if(a&&s&&r){const a=s.filter((e=>o.includes(e.type.name)));e.ensureMarks(a)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),hxe=aTe.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((e=>({tag:`h${e}`,attrs:{level:e}})))},renderHTML({node:e,HTMLAttributes:a}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,HCe(this.options.HTMLAttributes,a),0]},addCommands(){return{setHeading:e=>({commands:a})=>!!this.options.levels.includes(e.level)&&a.setNode(this.name,e),toggleHeading:e=>({commands:a})=>!!this.options.levels.includes(e.level)&&a.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return this.options.levels.reduce(((e,a)=>({...e,[`Mod-Alt-${a}`]:()=>this.editor.commands.toggleHeading({level:a})})),{})},addInputRules(){return this.options.levels.map((e=>XMe({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}})))}});var pxe=200,gxe=function(){};gxe.prototype.append=function(e){return e.length?(e=gxe.from(e),!this.length&&e||e.length<pxe&&this.leafAppend(e)||this.length<pxe&&e.leafPrepend(this)||this.appendInner(e)):this},gxe.prototype.prepend=function(e){return e.length?gxe.from(e).append(this):this},gxe.prototype.appendInner=function(e){return new vxe(this,e)},gxe.prototype.slice=function(e,a){return void 0===e&&(e=0),void 0===a&&(a=this.length),e>=a?gxe.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,a))},gxe.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},gxe.prototype.forEach=function(e,a,t){void 0===a&&(a=0),void 0===t&&(t=this.length),a<=t?this.forEachInner(e,a,t,0):this.forEachInvertedInner(e,a,t,0)},gxe.prototype.map=function(e,a,t){void 0===a&&(a=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(a,t){return n.push(e(a,t))}),a,t),n},gxe.from=function(e){return e instanceof gxe?e:e&&e.length?new fxe(e):gxe.empty};var fxe=function(e){function a(a){e.call(this),this.values=a}e&&(a.__proto__=e),(a.prototype=Object.create(e&&e.prototype)).constructor=a;var t={length:{configurable:!0},depth:{configurable:!0}};return a.prototype.flatten=function(){return this.values},a.prototype.sliceInner=function(e,t){return 0==e&&t==this.length?this:new a(this.values.slice(e,t))},a.prototype.getInner=function(e){return this.values[e]},a.prototype.forEachInner=function(e,a,t,n){for(var i=a;i<t;i++)if(!1===e(this.values[i],n+i))return!1},a.prototype.forEachInvertedInner=function(e,a,t,n){for(var i=a-1;i>=t;i--)if(!1===e(this.values[i],n+i))return!1},a.prototype.leafAppend=function(e){if(this.length+e.length<=pxe)return new a(this.values.concat(e.flatten()))},a.prototype.leafPrepend=function(e){if(this.length+e.length<=pxe)return new a(e.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(a.prototype,t),a}(gxe);gxe.empty=new fxe([]);var vxe=function(e){function a(a,t){e.call(this),this.left=a,this.right=t,this.length=a.length+t.length,this.depth=Math.max(a.depth,t.depth)+1}return e&&(a.__proto__=e),(a.prototype=Object.create(e&&e.prototype)).constructor=a,a.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},a.prototype.getInner=function(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)},a.prototype.forEachInner=function(e,a,t,n){var i=this.left.length;return!(a<i&&!1===this.left.forEachInner(e,a,Math.min(t,i),n))&&(!(t>i&&!1===this.right.forEachInner(e,Math.max(a-i,0),Math.min(this.length,t)-i,n+i))&&void 0)},a.prototype.forEachInvertedInner=function(e,a,t,n){var i=this.left.length;return!(a>i&&!1===this.right.forEachInvertedInner(e,a-i,Math.max(t,i)-i,n+i))&&(!(t<i&&!1===this.left.forEachInvertedInner(e,Math.min(a,i),t,n))&&void 0)},a.prototype.sliceInner=function(e,a){if(0==e&&a==this.length)return this;var t=this.left.length;return a<=t?this.left.slice(e,a):e>=t?this.right.slice(e-t,a-t):this.left.slice(e,t).append(this.right.slice(0,a-t))},a.prototype.leafAppend=function(e){var t=this.right.leafAppend(e);if(t)return new a(this.left,t)},a.prototype.leafPrepend=function(e){var t=this.left.leafPrepend(e);if(t)return new a(t,this.right)},a.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new a(this.left,new a(this.right,e)):new a(this,e)},a}(gxe);class yxe{constructor(e,a){this.items=e,this.eventCount=a}popEvent(e,a){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--){if(this.items.get(i-1).selection){--i;break}}a&&(t=this.remapping(i,this.items.length),n=t.maps.length);let r,o,s=e.tr,l=[],u=[];return this.items.forEach(((e,a)=>{if(!e.step)return t||(t=this.remapping(i,a+1),n=t.maps.length),n--,void u.push(e);if(t){u.push(new bxe(e.map));let a,i=e.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(a=s.mapping.maps[s.mapping.maps.length-1],l.push(new bxe(a,void 0,void 0,l.length+u.length))),n--,a&&t.appendMap(a,n)}else s.maybeStep(e.step);return e.selection?(r=t?e.selection.map(t.slice(n)):e.selection,o=new yxe(this.items.slice(0,i).append(u.reverse().concat(l)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:o,transform:s,selection:r}}addTransform(e,a,t,n){let i=[],r=this.eventCount,o=this.items,s=!n&&o.length?o.get(o.length-1):null;for(let u=0;u<e.steps.length;u++){let t,l=e.steps[u].invert(e.docs[u]),c=new bxe(e.mapping.maps[u],l,a);(t=s&&s.merge(c))&&(c=t,u?i.pop():o=o.slice(0,o.length-1)),i.push(c),a&&(r++,a=void 0),n||(s=c)}let l=r-t.depth;return l>Sxe&&(o=function(e,a){let t;return e.forEach(((e,n)=>{if(e.selection&&0==a--)return t=n,!1})),e.slice(t)}(o,l),r-=l),new yxe(o.append(i),r)}remapping(e,a){let t=new Ibe;return this.items.forEach(((a,n)=>{t.appendMap(a.map,null!=a.mirrorOffset&&n-a.mirrorOffset>=e?t.maps.length-a.mirrorOffset:void 0)}),e,a),t}addMaps(e){return 0==this.eventCount?this:new yxe(this.items.append(e.map((e=>new bxe(e)))),this.eventCount)}rebased(e,a){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-a),i=e.mapping,r=e.steps.length,o=this.eventCount;this.items.forEach((e=>{e.selection&&o--}),n);let s=a;this.items.forEach((a=>{let n=i.getMirror(--s);if(null==n)return;r=Math.min(r,n);let l=i.maps[n];if(a.step){let r=e.steps[n].invert(e.docs[n]),u=a.selection&&a.selection.map(i.slice(s+1,n));u&&o++,t.push(new bxe(l,r,u))}else t.push(new bxe(l))}),n);let l=[];for(let d=a;d<r;d++)l.push(new bxe(i.maps[d]));let u=this.items.slice(0,n).append(l).append(t),c=new yxe(u,o);return c.emptyItemCount()>500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let e=0;return this.items.forEach((a=>{a.step||e++})),e}compress(e=this.items.length){let a=this.remapping(0,e),t=a.maps.length,n=[],i=0;return this.items.forEach(((r,o)=>{if(o>=e)n.push(r),r.selection&&i++;else if(r.step){let e=r.step.map(a.slice(t)),o=e&&e.getMap();if(t--,o&&a.appendMap(o,t),e){let s=r.selection&&r.selection.map(a.slice(t));s&&i++;let l,u=new bxe(o.invert(),e,s),c=n.length-1;(l=n.length&&n[c].merge(u))?n[c]=l:n.push(u)}}else r.map&&t--}),this.items.length,0),new yxe(gxe.from(n.reverse()),i)}}yxe.empty=new yxe(gxe.empty,0);let bxe=class e{constructor(e,a,t,n){this.map=e,this.step=a,this.selection=t,this.mirrorOffset=n}merge(a){if(this.step&&a.step&&!a.selection){let t=a.step.merge(this.step);if(t)return new e(t.getMap().invert(),t,this.selection)}}};class kxe{constructor(e,a,t,n,i){this.done=e,this.undone=a,this.prevRanges=t,this.prevTime=n,this.prevComposition=i}}const Sxe=20;function wxe(e){let a=[];for(let t=e.length-1;t>=0&&0==a.length;t--)e[t].forEach(((e,t,n,i)=>a.push(n,i)));return a}function Axe(e,a){if(!e)return null;let t=[];for(let n=0;n<e.length;n+=2){let i=a.map(e[n],1),r=a.map(e[n+1],-1);i<=r&&t.push(i,r)}return t}let Cxe=!1,Mxe=null;function Txe(e){let a=e.plugins;if(Mxe!=a){Cxe=!1,Mxe=a;for(let e=0;e<a.length;e++)if(a[e].spec.historyPreserveItems){Cxe=!0;break}}return Cxe}const xxe=new Uke("history"),Nxe=new Uke("closeHistory");function Exe(e={}){return new Gke({key:xxe,state:{init:()=>new kxe(yxe.empty,yxe.empty,null,0,-1),apply:(a,t,n)=>function(e,a,t,n){let i,r=t.getMeta(xxe);if(r)return r.historyState;t.getMeta(Nxe)&&(e=new kxe(e.done,e.undone,null,0,-1));let o=t.getMeta("appendedTransaction");if(0==t.steps.length)return e;if(o&&o.getMeta(xxe))return o.getMeta(xxe).redo?new kxe(e.done.addTransform(t,void 0,n,Txe(a)),e.undone,wxe(t.mapping.maps),e.prevTime,e.prevComposition):new kxe(e.done,e.undone.addTransform(t,void 0,n,Txe(a)),null,e.prevTime,e.prevComposition);if(!1===t.getMeta("addToHistory")||o&&!1===o.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new kxe(e.done.rebased(t,i),e.undone.rebased(t,i),Axe(e.prevRanges,t.mapping),e.prevTime,e.prevComposition):new kxe(e.done.addMaps(t.mapping.maps),e.undone.addMaps(t.mapping.maps),Axe(e.prevRanges,t.mapping),e.prevTime,e.prevComposition);{let i=t.getMeta("composition"),r=0==e.prevTime||!o&&e.prevComposition!=i&&(e.prevTime<(t.time||0)-n.newGroupDelay||!function(e,a){if(!a)return!1;if(!e.docChanged)return!0;let t=!1;return e.mapping.maps[0].forEach(((e,n)=>{for(let i=0;i<a.length;i+=2)e<=a[i+1]&&n>=a[i]&&(t=!0)})),t}(t,e.prevRanges)),s=o?Axe(e.prevRanges,t.mapping):wxe(t.mapping.maps);return new kxe(e.done.addTransform(t,r?a.selection.getBookmark():void 0,n,Txe(a)),yxe.empty,s,t.time,null==i?e.prevComposition:i)}}(t,n,a,e)},config:e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(e,a){let t=a.inputType,n="historyUndo"==t?jxe:"historyRedo"==t?Pxe:null;return!!n&&(a.preventDefault(),n(e.state,e.dispatch))}}}})}function _xe(e,a){return(t,n)=>{let i=xxe.getState(t);if(!i||0==(e?i.undone:i.done).eventCount)return!1;if(n){let r=function(e,a,t){let n=Txe(a),i=xxe.get(a).spec.config,r=(t?e.undone:e.done).popEvent(a,n);if(!r)return null;let o=r.selection.resolve(r.transform.doc),s=(t?e.done:e.undone).addTransform(r.transform,a.selection.getBookmark(),i,n),l=new kxe(t?s:r.remaining,t?r.remaining:s,null,0,-1);return r.transform.setSelection(o).setMeta(xxe,{redo:t,historyState:l})}(i,t,e);r&&n(a?r.scrollIntoView():r)}return!0}}const jxe=_xe(!1,!0),Pxe=_xe(!0,!0),Lxe=lMe.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:e,dispatch:a})=>jxe(e,a),redo:()=>({state:e,dispatch:a})=>Pxe(e,a)}),addProseMirrorPlugins(){return[Exe(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),Bxe=aTe.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:e}){return["hr",HCe(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:a})=>{const{selection:t}=a,{$from:n,$to:i}=t,r=e();return 0===n.parentOffset?r.insertContentAt({from:Math.max(n.pos-1,0),to:i.pos},{type:this.name}):t instanceof _ke?r.insertContentAt(i.pos,{type:this.name}):r.insertContent({type:this.name}),r.command((({tr:e,dispatch:a})=>{var t;if(a){const{$to:a}=e.selection,n=a.end();if(a.nodeAfter)e.setSelection(a.nodeAfter.isTextblock?Nke.create(e.doc,a.pos+1):a.nodeAfter.isBlock?_ke.create(e.doc,a.pos):Nke.create(e.doc,a.pos));else{const i=null===(t=a.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(e.insert(n,i),e.setSelection(Nke.create(e.doc,n+1)))}e.scrollIntoView()}return!0})).run()}}},addInputRules(){return[(e={find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type},new YCe({find:e.find,handler:({state:a,range:t,match:n})=>{const i=VCe(e.getAttributes,void 0,n)||{},{tr:r}=a,o=t.from;let s=t.to;const l=e.type.create(i);if(n[1]){let e=o+n[0].lastIndexOf(n[1]);e>s?e=s:s=e+n[1].length,r.insertText(n[0][n[0].length-1],o+n[0].length-1),r.replaceWith(e,s,l)}else n[0]&&r.insert(e.type.isInline?o:o-1,e.type.create(i)).delete(r.mapping.map(o),r.mapping.map(s));r.scrollIntoView()}}))];var e}}),Rxe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Dxe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,zxe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Oxe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Ixe=tMe.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:e=>"normal"!==e.style.fontStyle&&null},{style:"font-style=normal",clearMark:e=>e.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:e}){return["em",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setItalic:()=>({commands:e})=>e.setMark(this.name),toggleItalic:()=>({commands:e})=>e.toggleMark(this.name),unsetItalic:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[QMe({find:Rxe,type:this.type}),QMe({find:zxe,type:this.type})]},addPasteRules(){return[nTe({find:Dxe,type:this.type}),nTe({find:Oxe,type:this.type})]}}),Kxe=aTe.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:e}){return["li",HCe(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Hxe="textStyle",Fxe=/^(\d+)\.\s$/,Gxe=aTe.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:e=>e.hasAttribute("start")?parseInt(e.getAttribute("start")||"",10):1},type:{default:null,parseHTML:e=>e.getAttribute("type")}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:e}){const{start:a,...t}=e;return 1===a?["ol",HCe(this.options.HTMLAttributes,t),0]:["ol",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleOrderedList:()=>({commands:e,chain:a})=>this.options.keepAttributes?a().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(Hxe)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let e=eTe({find:Fxe,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,a)=>a.childCount+a.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(e=eTe({find:Fxe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(Hxe)}),joinPredicate:(e,a)=>a.childCount+a.attrs.start===+e[1],editor:this.editor})),[e]}}),Vxe=aTe.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:e}){return["p",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Jxe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Uxe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Wxe=tMe.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:e=>!!e.includes("line-through")&&{}}],renderHTML({HTMLAttributes:e}){return["s",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setStrike:()=>({commands:e})=>e.setMark(this.name),toggleStrike:()=>({commands:e})=>e.toggleMark(this.name),unsetStrike:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[QMe({find:Jxe,type:this.type})]},addPasteRules(){return[nTe({find:Uxe,type:this.type})]}}),qxe=aTe.create({name:"text",group:"inline"}),Zxe=lMe.create({name:"starterKit",addExtensions(){const e=[];return!1!==this.options.bold&&e.push(VTe.configure(this.options.bold)),!1!==this.options.blockquote&&e.push(ITe.configure(this.options.blockquote)),!1!==this.options.bulletList&&e.push(WTe.configure(this.options.bulletList)),!1!==this.options.code&&e.push($Te.configure(this.options.code)),!1!==this.options.codeBlock&&e.push(XTe.configure(this.options.codeBlock)),!1!==this.options.document&&e.push(exe.configure(this.options.document)),!1!==this.options.dropcursor&&e.push(nxe.configure(this.options.dropcursor)),!1!==this.options.gapcursor&&e.push(dxe.configure(this.options.gapcursor)),!1!==this.options.hardBreak&&e.push(mxe.configure(this.options.hardBreak)),!1!==this.options.heading&&e.push(hxe.configure(this.options.heading)),!1!==this.options.history&&e.push(Lxe.configure(this.options.history)),!1!==this.options.horizontalRule&&e.push(Bxe.configure(this.options.horizontalRule)),!1!==this.options.italic&&e.push(Ixe.configure(this.options.italic)),!1!==this.options.listItem&&e.push(Kxe.configure(this.options.listItem)),!1!==this.options.orderedList&&e.push(Gxe.configure(this.options.orderedList)),!1!==this.options.paragraph&&e.push(Vxe.configure(this.options.paragraph)),!1!==this.options.strike&&e.push(Wxe.configure(this.options.strike)),!1!==this.options.text&&e.push(qxe.configure(this.options.text)),e}}),$xe=e=>a.jsx(PTe,{as:"span",className:"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e.node.attrs.displayName}),Yxe=aTe.create({name:"mergeField",group:"inline",inline:!0,atom:!0,addAttributes:()=>({templateName:{default:null,parseHTML:e=>e.getAttribute("data-template-name")},displayName:{default:null,parseHTML:e=>e.getAttribute("data-display-name")}}),parseHTML:()=>[{tag:"span[data-merge-field]"}],renderHTML:({HTMLAttributes:e})=>["span",HCe(e,{"data-merge-field":"true"})],renderText:({node:e})=>e.attrs.templateName,addNodeView:()=>zTe($xe)}),Qxe=({value:e,onChange:n,className:i="",mergeFieldsResponse:r,placeholder:o="Enter text",ariaLabel:s="Insert merge field",icon:l="MergeField",id:u})=>{const[c,d]=t.useState(!1),m=t.useRef(null),h=t.useRef(null),p=t.useMemo((()=>r?.mergeFields?.flatMap((e=>e.entries))??[]),[r]),g=t.useCallback((e=>{if(!e)return"";return e.replace(/\{\{.*?\}\}/g,(e=>{const a=p.find((a=>a.value===e));return a?`<span class="inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200" data-merge-field="true" data-template-name="${a.value}" data-display-name="${a.label}">${a.label}</span>`:e}))}),[p]),f=t.useRef(""),v=_Te({extensions:[Zxe,Yxe],content:"",editorProps:{attributes:{class:`min-h-[40px] px-3 py-2 border border-input bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50 rounded-md focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent resize-none prose prose-sm max-w-none ${i}`,placeholder:o}},onUpdate:({editor:e,transaction:a})=>{if(!a?.docChanged)return;const t=e.getText();t!==f.current&&(f.current=t,n(t))}});t.useEffect((()=>{if(!v)return;const a=e??"";if(v.isFocused)return;const t=v.getText();if(""!==a){if(t!==a){const e=g(a);v.commands.setContent(e,!1)}}else""!==t&&v.commands.clearContent(!0)}),[v,e,g]);const y=t.useCallback((e=>{if(v){const a=p.find((a=>a.value===e));a&&v.chain().focus().insertContent({type:"mergeField",attrs:{templateName:a.value,displayName:a.label}}).run()}d(!1)}),[v,p]);if(t.useEffect((()=>{if(c)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){const a=e.target;h.current&&!h.current.contains(a)&&m.current&&!m.current.contains(a)&&d(!1)}}),[c]),!v)return a.jsx("div",{children:"Loading editor..."});const b=OM[l]||OM.MergeField;return a.jsx("div",{className:"relative",children:a.jsxs("div",{className:"relative",children:[a.jsx(gTe,{id:u,editor:v}),r&&a.jsxs(a.Fragment,{children:[a.jsx(Xa,{ref:m,type:"button",variant:"ghost",size:"icon",className:"absolute right-2 top-1/2 -translate-y-1/2 h-8 w-8 p-0 rounded-md border border-input shadow-sm hover:bg-accent/60 focus:bg-accent/80 transition-colors bg-background","aria-label":s,onClick:()=>d((e=>!e)),children:a.jsx(b,{className:"w-4 h-4"})}),c&&a.jsx("div",{ref:h,className:"absolute z-50 mt-2 right-0 w-56 bg-white border border-gray-200 rounded-lg shadow-lg p-1",style:{top:"100%"},children:0===p.length?a.jsx("div",{className:"px-4 py-2 text-muted-foreground text-sm",children:"No merge fields found"}):a.jsx("ul",{className:"py-1",children:p.map((e=>a.jsx("li",{children:a.jsx("button",{className:"w-full text-left px-4 py-2 hover:bg-accent/40 rounded text-sm transition-colors",onClick:()=>y(e.value),type:"button",children:e.label})},e.value)))})})]})]})})},Xxe=(e,a)=>{const[n,i]=t.useState(e);return t.useEffect((()=>{const t=setTimeout((()=>{i(e)}),a);return()=>clearTimeout(t)}),[e,a]),n},eNe=()=>{const e=[{id:"dynamic-content",title:"Dynamic Content",image:"https://cdn.embedreach.com/assets/engage/merge-tags-demo.gif",imageAlt:`${PN("engage:merge_field")} Demo`,imageDesc:`Demonstration: Adding ${PN("engage:merge_field").toLowerCase()} to personalize your emails`,description:"Dynamic content is a way to insert dynamic content into your email like name, email, or other details.",icon:a.jsx(X,{className:"w-6 h-6"})},{id:"responsive-design",title:"Responsive Design",image:"https://cdn.embedreach.com/assets/engage/layout-mobile-desktop.gif",imageAlt:"Mobile Desktop Switch Demo",imageDesc:"Demonstration: Switching between mobile and desktop preview modes",description:"Switch between mobile and desktop preview modes to ensure your emails look great on all devices.",icon:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Se,{className:"w-5 h-5"}),a.jsx(ne,{className:"w-5 h-5"})]})}],{toggleEmailHelpDialog:n,data:i}=fS(),{toast:r}=dS(),[o,s]=t.useState("dynamic-content"),l=!1!==i?.uiDefaults?.emailHelpDialogShow,u=e.find((e=>e.id===o))??e[0];return a.jsx(a.Fragment,{children:a.jsxs("div",{className:"p-6 overflow-y-auto",children:[a.jsx("div",{className:"flex items-center justify-between mb-8 pb-4 border-b",children:a.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Learn how to use our email editor's powerful features"})}),a.jsx("div",{className:"mb-8 flex flex-col items-center min-h-[340px]",children:a.jsx(fh,{mode:"wait",children:a.jsxs(tS.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24},transition:{duration:.3},className:"w-full flex flex-col items-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:u.title}),a.jsxs("div",{className:"relative rounded-lg overflow-hidden bg-gray-50 w-full max-w-2xl",children:[a.jsx("img",{src:u.image,alt:u.imageAlt,className:"w-full shadow-lg max-w-md mx-auto"}),a.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/50 to-transparent p-4",children:a.jsx("p",{className:"text-white text-sm",children:u.imageDesc})})]})]},u.id)})}),a.jsx("div",{className:"flex flex-col gap-4 sm:flex-row sm:gap-6 max-w-2xl mx-auto mb-6",children:e.map((e=>a.jsxs("div",{className:"flex-1 rounded-lg border-2 p-6 transition-all "+(o===e.id?"border-primary bg-primary/5":"border-gray-200 bg-white"),children:[a.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[a.jsx("div",{className:"text-primary mt-1",children:e.icon}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:e.title}),a.jsx("p",{className:"text-xs text-muted-foreground",children:e.description})]})]}),a.jsx("button",{onClick:()=>s(e.id),className:"text-xs text-primary hover:underline mt-2",children:"View tutorial →"})]},e.id)))}),l&&a.jsx("div",{className:"flex justify-center pt-2",children:a.jsx(Xa,{size:"sm",variant:"ghost",onClick:()=>{n(!1),r({title:"Email editor help dialog will not show again!"})},children:"Don't show me again"})})]})})},aNe=({containerRef:e,stripoDialogDimensions:n,showSaving:i})=>(t.useEffect((()=>{const a=a=>{const t=e.current;if(!t)return;const n=t.querySelector("ui-editor");if(!n)return;const i=n.shadowRoot;if(!i)return;const r=i.host.getBoundingClientRect();const o=function(e){for(;e;){const a=getComputedStyle(e);if(("auto"===a.overflowY||"scroll"===a.overflowY)&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return null}(i.elementFromPoint(a.clientX-r.left,a.clientY-r.top))||i.firstElementChild;o&&(o.scrollTop+=a.deltaY,o.scrollLeft+=a.deltaX,a.preventDefault())},t=e.current;return t&&t.addEventListener("wheel",a,{passive:!1}),()=>{t&&t.removeEventListener("wheel",a)}}),[e]),t.useEffect((()=>{const e="stripo-service-element-hider";let a=document.getElementById(e);return a||(a=document.createElement("style"),a.id=e,document.head.appendChild(a)),a.textContent='\n /* Hide service elements with title attributes */\n #stripoEditorContainer small.service-element[title],\n #stripoEditorContainer .service-element[title],\n #stripoEditorContainer span.service-element[title],\n #stripoEditorContainer [class*="service-element"][title] {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n position: absolute !important;\n left: -9999px !important;\n top: -9999px !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n }\n \n /* Also hide elements with our custom class */\n .stripo-hidden-service-element {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n position: absolute !important;\n left: -9999px !important;\n top: -9999px !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n }\n ',()=>{a&&a.parentNode&&a.parentNode.removeChild(a)}}),[]),t.useEffect((()=>{const a=e.current;if(!a)return;const t=()=>{const e=a.querySelector("ui-editor");if(!e)return null;const t=e.shadowRoot;return t||null},n=()=>{const e=t();if(!e)return;["small.service-element[title]",".service-element[title]","span.service-element[title]",'[class*="service-element"][title]'].forEach((a=>{e.querySelectorAll(a).forEach((e=>{const a=e,t=a.getAttribute("title")||"";/^\{\{.*\}\}$/.test(t.trim())&&(a.style.display="none",a.style.visibility="hidden",a.style.opacity="0",a.style.position="absolute",a.style.left="-9999px",a.style.top="-9999px",a.classList.add("stripo-hidden-service-element"),a.setAttribute("style",a.getAttribute("style")+"; display: none !important; visibility: hidden !important; opacity: 0 !important;"))}))}));e.querySelectorAll("span.service-element.caption.ng-star-inserted").forEach((e=>{const a=e;"Merge Tags"===a.textContent?.trim()&&(a.textContent=PN("engage:merge_field",{count:2}))}))};let i=null;let r=0;const o=setInterval((()=>{t()?(n(),(()=>{const e=t();e&&(i&&i.disconnect(),i=new MutationObserver((e=>{let a=!1;e.forEach(((e,t)=>{"childList"===e.type&&e.addedNodes.length>0&&(a=!0)})),a&&setTimeout((()=>{n()}),10)})),i.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","title"]}))})(),clearInterval(o)):(r++,r>20&&clearInterval(o))}),100),s=setInterval((()=>{n()}),2e3);return()=>{i&&i.disconnect(),clearInterval(s),clearInterval(o)}}),[e]),a.jsxs("div",{className:"w-full h-full flex flex-col overflow-x-auto",children:[a.jsx("div",{id:"externalSystemContainer",className:"flex items-center px-0 py-2 lg:px-4"}),i&&a.jsx("div",{className:"absolute top-0 left-0 w-full h-full bg-black/50 flex items-center justify-center z-50",children:a.jsx(th,{textColor:"text-white",text:["Saving..."]})}),a.jsx("div",{id:"stripoEditorContainer",ref:e,style:{width:n.width-75,height:n.height-75},className:"z-10"})]})),tNe="UiEditorScript",nNe=e=>new Promise(((a,t)=>{const n=()=>{let t;e.forceRecreate&&(t=!0),window.UIEditor&&(window.UIEditor.initEditor(e.container,{...t&&{forceRecreate:t},metadata:{emailId:e.emailId},html:e.html,css:e.css,locale:"en",onTokenRefreshRequest:e=>{Promise.resolve().then((async()=>{try{const{token:a}=await(async()=>(await Hm(`${Cm}/token`)).data)();e(a)}catch(a){}}))},messageSettingsEnabled:!1,conditionsEnabled:!1,syncModulesEnabled:!1,notifications:{info:console.info,error:(e,a,t)=>{e.startsWith("The file should not exceed the maximum size")&&cS({title:"Problems uploading image",description:e,variant:"destructive"}),e.includes("exceeds the allowed size 2 Mb")&&cS({title:"Image too large",description:"The image is too large. Please try again with a smaller image (max 2MB).",variant:"destructive"})},warn:console.warn,success:console.log},mergeTags:e.mergeFields,mobileViewButtonSelector:".toggle-mobile-button",desktopViewButtonSelector:".toggle-desktop-button"}),a(void 0))};if(document.getElementById(tNe))n();else{const e=document.createElement("script");e.id=tNe,e.type="module",e.src="https://plugins.stripo.email/resources/uieditor/rev/2.21.0/UIEditor.js",e.onload=()=>{window.UIEditor?n():t(new Error("UIEditor not found after script load"))},e.onerror=e=>{t(e)},document.head.appendChild(e)}})),iNe=({automation:e,showStripoEditor:n,setShowStripoEditor:i,saveClicked:r,setSaveClicked:o,stripoDialogDimensions:s,mergeFieldsResponse:l,cancelClicked:u,setCancelClicked:c,actionId:d,onEditorReadyChange:m,setShowUnsavedChangesDialog:h,setCheckForUnsavedChanges:p})=>{const[g,f]=t.useState(!1),[v,y]=t.useState(!1),[b,k]=t.useState(!1),S=t.useRef(!1),w=t.useRef(null),A=t.useRef(null),{data:C,isLoading:M,error:T}=(e=>{const{automationId:a,actionId:t}=e;return gm({queryKey:Gx.templateForActionId(a,t),queryFn:()=>Jx({automationId:a,actionId:t}),...jm})})({automationId:e.id,actionId:d}),{data:x,isLoading:N,error:E}=(()=>{const e=sm();return{...gm({queryKey:Gx.editorData(),queryFn:Vx,..._m}),invalidateEditorData:()=>e.invalidateQueries({queryKey:Gx.editorData()})}})(),{updateCommunicationGroup:_}=UN(),j=t.useCallback((()=>{const e=!(!window.StripoEditorApi?.actionsApi||"function"!=typeof window.StripoEditorApi.actionsApi.save||"function"!=typeof window.StripoEditorApi.actionsApi.compileEmail||"function"!=typeof window.StripoEditorApi.actionsApi.getTemplateData);return e&&!b&&(k(!0),m?.(!0),A.current&&(clearInterval(A.current),A.current=null)),e}),[b,m]),P=t.useCallback((()=>!(!b||!window.StripoEditorApi?.actionsApi?.isAllDataSaved)&&!window.StripoEditorApi.actionsApi.isAllDataSaved()),[b]);t.useEffect((()=>{p&&p(P)}),[P,p,b]);const L=t.useCallback((()=>{o(!1),c(!1),f(!1),y(!1),k(!1),m?.(!1),i(!1),A.current&&(clearInterval(A.current),A.current=null)}),[o,c,f,y,k,m,i]),B=t.useCallback((async()=>{if(b&&window.StripoEditorApi?.actionsApi&&C?.communicationGroupId)try{const e=()=>new Promise(((e,a)=>{let t=null,n=null,i=!1;const r=async()=>{if(t&&n&&i)try{await _({groupId:C.communicationGroupId,params:{emailHtmlBody:t.html,emailCss:t.css,emailCompiledHtml:n}}),y(!0),e()}catch(EFe){a(EFe)}};window.StripoEditorApi.actionsApi.getTemplateData((function(e){t=e,r()})),window.StripoEditorApi.actionsApi.compileEmail({callback:async function(e,t){e?a(new Error(`Compile failed: ${e}`)):(n=t,await r())},minimize:!0,mergeTags:[],forceAmp:!1,resetDataSavedFlag:!1,disableLineHeightsReplace:!0}),window.StripoEditorApi.actionsApi.save((function(e){e?a(new Error(`Save failed: ${e}`)):(f(!0),i=!0,r())}))}));await e()}catch(e){}}),[C,_,b]);return t.useEffect((()=>{r&&b?B():r&&!b&&o(!1)}),[r,B,b,o]),t.useEffect((()=>{(g&&v||!1===n)&&L()}),[g,v,n,L]),t.useEffect((()=>{if(u){if(P())return void h(!0);L()}}),[u,P,L,h]),t.useEffect((()=>{if(x?.businessId&&w.current&&C&&!S.current){(async()=>{try{await nNe({emailId:C.communicationGroupId,html:C.html||"<div></div>",css:C.css||"",container:w.current,businessId:x.businessId,mergeFields:l.mergeFields||[],forceRecreate:C.forceRecreate}),S.current=!0,A.current=setInterval((()=>{j()}),500)}catch(e){}})()}}),[x,l,C,j]),t.useEffect((()=>()=>{A.current&&clearInterval(A.current)}),[]),T||E?a.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",children:[a.jsx("div",{className:"text-red-500 mb-4",children:"Failed to load editor data"}),a.jsx(Xa,{onClick:()=>window.location.reload(),variant:"outline",children:"Retry"})]}):a.jsx("div",M||N||!x||!C?{className:"w-full h-full flex flex-col items-center justify-center",children:a.jsx(th,{text:["Loading editor..."]})}:{className:"w-full h-full flex flex-col",children:a.jsx(aNe,{containerRef:w,stripoDialogDimensions:s,showSaving:r&&b})})},rNe=()=>{const[e,n]=t.useState("desktop"),i=t.useRef(null),r=t.useRef(null);return t.useEffect((()=>{const e=()=>n("desktop"),a=()=>n("mobile"),t=i.current,o=r.current;return t&&t.addEventListener("click",e),o&&o.addEventListener("click",a),()=>{t&&t.removeEventListener("click",e),o&&o.removeEventListener("click",a)}}),[]),a.jsxs("div",{className:"flex items-center gap-1 bg-muted rounded-md p-0.5 shadow-inner border w-fit",children:[a.jsxs(Xa,{ref:i,type:"button","aria-pressed":"desktop"===e,"aria-label":"Show desktop preview",className:"desktop-view-button toggle-desktop-button relative flex items-center justify-center px-2 py-0 rounded-md transition-colors duration-200"+("desktop"===e?" bg-background shadow text-primary":" bg-transparent text-muted-foreground hover:bg-accent"),variant:"ghost",style:{minWidth:32,minHeight:32},children:["desktop"===e&&a.jsx(tS.span,{layoutId:"toggle-indicator",className:"absolute inset-0 rounded-md border-2 bg-background/80 z-0 border-[color:var(--reach-primary)]",transition:{type:"spring",stiffness:400,damping:30}}),a.jsx("span",{className:"relative z-10 flex items-center justify-center",children:a.jsx(OM.DesktopIcon,{className:"w-4 h-4"})})]}),a.jsxs(Xa,{ref:r,type:"button","aria-pressed":"mobile"===e,"aria-label":"Show mobile preview",className:"mobile-view-button toggle-mobile-button relative flex items-center justify-center px-2 py-0 rounded-md transition-colors duration-200"+("mobile"===e?" bg-background shadow text-primary":" bg-transparent text-muted-foreground hover:bg-accent"),variant:"ghost",style:{minWidth:32,minHeight:32},children:["mobile"===e&&a.jsx(tS.span,{layoutId:"toggle-indicator",className:"absolute inset-0 rounded-md border-2 bg-background/80 z-0 border-[color:var(--reach-primary)]",transition:{type:"spring",stiffness:400,damping:30}}),a.jsx("span",{className:"relative z-10 flex items-center justify-center",children:a.jsx(OM.MobileIcon,{className:"w-4 h-4"})})]})]})},oNe=({showStripoEditor:e,setShowStripoEditor:n,showHelpDialog:i,setShowHelpDialog:r,cancelClicked:o,setCancelClicked:s,saveClicked:l,setSaveClicked:u,isEditorReady:c,automation:d,mergeFieldsResponse:m,selectedActionId:h,stripoDialogDimensions:p,setIsEditorReady:g})=>{const[f,v]=t.useState(!1),[y,b]=t.useState(null),k=t.useCallback((()=>{v(!1),s(!1),n(!1)}),[s,n]),S=t.useCallback((()=>{v(!1),s(!1)}),[s]),w=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),A=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),C=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),M=t.useCallback((e=>{e?n(!0):y&&y()?v(!0):n(!1)}),[y,n]);return a.jsxs(a.Fragment,{children:[a.jsx(wi,{open:i??!1,onOpenChange:r,children:a.jsxs(Ti,{className:"max-h-[86vh] gap-0 overflow-visible max-w-3xl w-full h-full",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Email Preview Help"}),a.jsx(_i,{children:"Learn more about the email preview and how to use it to create your email."})]}),a.jsx(eNe,{})]})}),a.jsx(wi,{open:e,onOpenChange:M,children:a.jsxs(Ti,{className:"min-w-[100vw] min-h-[100vh] p-0 lg:p-6 gap-0 lg:gap-4",hideCloseButton:!0,onEscapeKeyDown:w,onInteractOutside:A,onPointerDownOutside:C,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Email Editor"}),a.jsx(_i,{children:"Learn more about the email editor and how to use it to create your email."})]}),a.jsxs("div",{className:"w-full h-full",children:[a.jsxs("div",{className:"flex justify-between items-center px-1.5 py-1 lg:p-4 border-b",children:[a.jsxs("div",{className:"flex items-center gap-1 lg:gap-2",children:[a.jsx("h2",{className:"text-lg font-medium",children:"Email Editor"}),a.jsx(Xa,{size:"sm",onClick:()=>r(!0),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-medium text-sm",children:"Help"}),a.jsx(OM.InfoIcon,{className:"w-4 h-4"})]})})]}),a.jsx("div",{className:"flex items-center gap-1 lg:gap-2",children:a.jsx(rNe,{})}),a.jsxs("div",{className:"flex items-center gap-1 lg:gap-2",children:[a.jsx(Xa,{variant:"destructive",onClick:()=>{s(!0)},className:"text-sm px-3 py-1 rounded",children:"Cancel"}),a.jsx(Xa,{onClick:()=>u(!0),className:"text-sm px-3 py-1 rounded",disabled:!c,children:"Save"})]})]}),d&&a.jsx(iNe,{cancelClicked:o,setCancelClicked:s,showStripoEditor:e,automation:d,setShowStripoEditor:n,saveClicked:l,setSaveClicked:u,stripoDialogDimensions:p,mergeFieldsResponse:m??{mergeFields:[]},actionId:h,onEditorReadyChange:g,setShowUnsavedChangesDialog:v,setCheckForUnsavedChanges:b})]})]})}),a.jsx(wi,{open:f,onOpenChange:v,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Unsaved Changes"}),a.jsx(_i,{children:"You have unsaved changes. Are you sure you want to discard them and close the editor?"})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:S,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:k,children:"Discard Changes"})]})]})})]})},sNe="Reply to email can be configured under settings in the home screen",lNe="From name can be configured under settings in the home screen",uNe=t.memo((({html:e})=>a.jsx(Sve,{html:e}))),cNe=t.memo((({communicationGroup:e,emailChannelSendersWithChannelAccounts:n,getMergeFields:i,onUpdate:r})=>{const o=e?.emailChannelSenderId||null,s=e?.emailSubject||null,l=e?.emailPreviewText||null,{state:{replyToSettingsText:u,replyToSettingsLink:c,fromNameSettingsText:d,fromNameSettingsLink:m}}=t.useContext(qoe),h=t.useRef(null),p=t.useRef(null),g=t.useMemo((()=>o?n?.find((e=>e.channelSenderId===o))?.channelSender.channelSenderMetadata.emailFromName:null),[o,n]),f=t.useMemo((()=>o?n?.find((e=>e.channelSenderId===o))?.channelSender.channelSenderMetadata.emailReplyTo:null),[o,n]),v=t.useCallback((async e=>{try{await r({emailChannelSenderId:e})}catch(a){}}),[r]),y=t.useCallback((e=>{h.current&&clearTimeout(h.current),h.current=setTimeout((async()=>{try{await r({emailSubject:e})}catch(a){}}),250)}),[r]),b=t.useCallback((e=>{p.current&&clearTimeout(p.current),p.current=setTimeout((async()=>{try{await r({emailPreviewText:e})}catch(a){}}),250)}),[r]);return t.useEffect((()=>()=>{h.current&&clearTimeout(h.current),p.current&&clearTimeout(p.current)}),[]),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-4",children:[a.jsxs("div",{className:"md:col-span-6",children:[a.jsx(Eo,{className:"text-foreground",children:"From Email"}),a.jsxs(Fc,{onValueChange:v,value:o??void 0,children:[a.jsx(Vc,{children:a.jsx(Gc,{id:"wizard-email-from-email-value",placeholder:"Select email",className:"text-muted-foreground",children:o?n?.find((e=>e.channelSenderId===o))?.fullDomain:""})}),a.jsx(Wc,{children:n?.map((e=>a.jsx(qc,{value:e.channelSenderId,children:e.fullDomain},e.channelSenderId)))})]})]}),a.jsxs("div",{className:"md:col-span-3",children:[a.jsx(Eo,{children:a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx("span",{className:"text-foreground text-sm",children:"From Name"}),a.jsx(Rx,{title:d||lNe,link:m?{url:m}:void 0})]})}),a.jsx(Io,{id:"wizard-email-from-name-input",value:g??"",className:"text-muted-foreground text-sm h-9",disabled:!0})]}),a.jsxs("div",{className:"md:col-span-3",children:[a.jsx(Eo,{children:a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx("span",{className:"text-foreground text-sm",children:"Reply To Email"}),a.jsx(Rx,{title:u||sNe,link:c?{url:c}:void 0})]})}),a.jsx(Io,{id:"wizard-email-reply-to-input",value:f??"",className:"text-muted-foreground text-sm h-9",disabled:!0})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-4",children:[a.jsxs("div",{className:"md:col-span-6",children:[a.jsxs("div",{className:"flex items-center gap-0 py-1",children:[a.jsx(Eo,{className:"text-foreground",children:"Subject"}),a.jsx("span",{className:"text-xs text-red-500 ml-1 align-super",children:"*"})]}),a.jsx("div",{className:"relative",children:a.jsx(Qxe,{id:"wizard-email-subject-input",value:s,onChange:y,mergeFieldsResponse:i,placeholder:"Enter email subject",className:"text-muted-foreground pr-10",ariaLabel:"Insert merge field into subject"})})]}),a.jsxs("div",{className:"md:col-span-6",children:[a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx(Eo,{className:"text-foreground",children:"Preview Text"}),a.jsx(Rx,{title:"This text will be used for the preview text of the email in the inbox"})]}),a.jsx("div",{className:"relative",children:a.jsx(Qxe,{id:"wizard-email-preview-text-input",value:l,onChange:b,className:"text-muted-foreground pr-10",mergeFieldsResponse:i})})]})]})]})}));cNe.displayName="EmailSettingsForm";const dNe=()=>{const[e,n]=t.useState(!1),[i,r]=t.useState(!1),o=t.useRef(null),{communicationGroup:s}=ile(),{state:l}=t.useContext(mse),u=l.automation,{channelSenders:c}=DC(),{channelAccounts:d}=LC(),{updateCommunicationGroup:m,isUpdating:h}=UN(),{getMergeFields:p,isGetting:g}=WN(s?.id??void 0,u?.id??void 0),f=t.useMemo((()=>s?.id),[s?.id]),v=t.useCallback((async e=>{try{m({groupId:f??"",params:e},{onError:e=>{}})}catch(a){}}),[m,f]),[y,b]=t.useState(!1),[k,S]=t.useState(!1),[w,A]=t.useState(!1),[C,M]=t.useState(!1),[T,x]=t.useState({width:0,height:0});t.useEffect((()=>{const e=()=>{x({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const N=t.useMemo((()=>s?.emailCompiledHtml||s?.emailHtmlBody||""),[s?.emailCompiledHtml,s?.emailHtmlBody]),E=t.useMemo((()=>a.jsx(uNe,{html:N})),[N]),_=t.useMemo((()=>OC({channelSenders:c?.results??[],channelAccounts:d?.results??[]})),[c?.results,d?.results]),j=t.useMemo((()=>({communicationGroup:s,emailChannelSendersWithChannelAccounts:_,getMergeFields:p??void 0,onUpdate:v})),[s,_,p,v]);return t.useEffect((()=>{if(s?.id&&c?.results&&c.results.length>0&&!s.emailChannelSenderId&&!h){const e=c.results.find((e=>e.channelSenderMetadata?.emailFromName||e.channelSenderMetadata?.userPart));e&&m({groupId:s.id,params:{emailChannelSenderId:e.id}})}}),[s?.id,s?.emailChannelSenderId,c?.results,m,h]),!g&&p&&_?a.jsxs("div",{id:"wizard-edit-email-content-step",className:"bg-card text-card-foreground rounded-2xl w-full space-y-6 relative h-full flex flex-col overflow-y-auto",ref:o,children:[a.jsx(bve,{title:"Email Content",type:fve.EMAIL}),a.jsx("div",{id:"wizard-email-settings-form",children:a.jsx(cNe,{...j})}),a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("div",{className:"flex justify-between items-center mb-4 flex-shrink-0",children:[a.jsx("h3",{className:"font-medium text-lg",children:"Preview"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsxs(Xa,{onClick:()=>{r(!0)},className:"text-sm px-3 py-1 rounded flex items-center gap-2",children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),"Test Email"]}),a.jsx(Xa,{onClick:()=>{b(!0)},className:"text-sm px-3 py-1 rounded",disabled:h||!u||0===(_?.length??0),title:u?0===(_?.length??0)?"No email senders available":void 0:"Automation not loaded yet",children:"Edit"})]})]}),a.jsx("div",{children:E})]}),a.jsx(oNe,{showStripoEditor:y,setShowStripoEditor:b,showHelpDialog:e??!1,setShowHelpDialog:n,cancelClicked:w,setCancelClicked:A,automation:u??null,saveClicked:k,setSaveClicked:S,stripoDialogDimensions:T,mergeFieldsResponse:p,selectedActionId:u?.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.currentActionId??"",isEditorReady:C,setIsEditorReady:M}),u&&a.jsx(Cye,{open:i,onOpenChange:r,automation:u})]}):a.jsx("div",{className:"flex justify-center items-center h-full bg-card text-card-foreground rounded-2xl w-full border border-gray-200 p-6 space-y-4 relative",children:a.jsx(th,{text:["Fetching Content..."]})})},mNe=e=>{const{companyName:a,smsBody:t}=e;return a&&t?`${a}:\n${t}`:t??""};var hNe=(e=>(e.STATIC="static",e.DYNAMIC="dynamic",e))(hNe||{});const pNe=e=>{const a=e.match(/\{\{([^}]+)\}\}/g);return a?a.map((e=>e.slice(2,-2))):[]},gNe=(e,a="Unnamed User")=>{const t=`${e.firstName||""} ${e.lastName||""}`.trim();return t||(e.firstName?e.firstName:e.lastName?e.lastName:e.email?e.email:e.phone?e.phone:a)},fNe="Search by name, email, or phone...",vNe=(e,a)=>{if(!e||!a)return[];return[...e.matchAll(/\{\{([^}]+)\}\}/g)].map((e=>{const t=e[1],n=a.mergeFields?.flatMap((e=>e.entries)).find((e=>e.value===`{{${t}}}`));return n?n.label:t})).filter(Boolean)},yNe=e=>{switch(e){case"default":default:return"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200";case"subtle":return"inline-flex items-center font-medium mx-[1px] leading-none align-middle px-1 py-0.5 rounded-md bg-white/30 text-inherit shadow-[0_0_0_1px_rgba(0,0,0,0.05)]";case"minimal":return"inline-flex items-center px-1.5 py-0.5 rounded text-xs bg-gray-50 text-gray-700 font-medium border border-gray-200";case"inline":return"inline-flex items-center px-1 py-0.5 rounded text-xs bg-gray-100 text-gray-800 font-medium";case"badge":return"inline-flex items-center px-2 py-1 rounded-full text-xs bg-indigo-100 text-indigo-800 font-medium border border-indigo-200"}},bNe=({content:e,mergeFieldsResponse:n,variant:i="default",className:r="",asHtml:o=!0})=>{const s=t.useMemo((()=>n?.mergeFields?.flatMap((e=>e.entries))??[]),[n]),l=t.useMemo((()=>((e,a,t)=>e?e.replace(/\{\{.*?\}\}/g,(e=>{const n=a.find((a=>a.value===e));return n?`<span class="${yNe(t)}" data-merge-field="true" data-template-name="${n.value}" data-display-name="${n.label}">${n.label}</span>`:e})):"")(e,s,i)),[e,s,i]);if(!o){const t=e?.replace(/\{\{.*?\}\}/g,(e=>{const a=s.find((a=>a.value===e));return a?a.label:e}))||"";return a.jsx("span",{className:r,children:t})}return a.jsx("span",{className:r,dangerouslySetInnerHTML:{__html:l}})},kNe=({body:e,imageUrls:n,size:i="default",textSize:r="default"})=>{const{communicationGroup:o}=ile(),s=tle(),{getMergeFields:l,isGetting:u}=WN(o?.id??void 0,s?.id??void 0),c=t.useCallback((e=>/\{\{[^}]+\}\}/.test(e)),[]);return u||void 0===l?null:a.jsx("div",{id:"wizard-sms-preview",className:"sms-preview-outer @container "+("compact"===i?"sms-preview-compact":""),children:a.jsxs("div",{className:"sms-phone-mockup "+("compact"===i?"sms-phone-mockup-compact":""),children:[a.jsx("div",{className:"sms-phone-notch"}),a.jsxs("div",{className:"sms-phone-inner "+("compact"===i?"sms-phone-inner-compact":""),children:[n&&n.length>0&&n.map(((e,t)=>a.jsx("div",{className:"sms-message-row",children:a.jsx("div",{className:"sms-message-bubble",children:c(e)?a.jsx("div",{className:"sms-message-image-placeholder",children:a.jsxs("div",{className:"text-center text-white text-[10px] leading-tight",children:[a.jsx("div",{className:"font-medium mb-1",children:"Image will be populated at send time based on the following merge fields:"}),a.jsx("div",{className:"flex flex-wrap gap-1 justify-center",children:vNe(e,l).map(((e,t)=>a.jsx("span",{className:"inline-flex items-center px-1 py-0.5 rounded text-[10px] bg-green-500/30 text-white font-medium border border-green-400/40",children:e},t)))})]})}):a.jsx("img",{src:e,alt:"MMS attachment",className:"sms-message-image",loading:"lazy"})})},e+t))),a.jsx("div",{className:"sms-message-row",children:a.jsx("div",{className:"sms-message-bubble "+("small"===r?"sms-message-bubble-small":""),children:a.jsx(bNe,{content:e,mergeFieldsResponse:l,variant:"subtle",className:"text-white"})})})]}),a.jsx("div",{className:"sms-phone-home-indicator"})]})})};var SNe="Checkbox",[wNe,ANe]=ZE(SNe),[CNe,MNe]=wNe(SNe),TNe=r.forwardRef(((e,t)=>{const{__scopeCheckbox:n,name:i,checked:o,defaultChecked:s,required:l,disabled:u,value:c="on",onCheckedChange:d,form:m,...h}=e,[p,g]=r.useState(null),f=We(t,(e=>g(e))),v=r.useRef(!1),y=!p||(m||!!p.closest("form")),[b=!1,k]=QE({prop:o,defaultProp:s,onChange:d}),S=r.useRef(b);return r.useEffect((()=>{const e=p?.form;if(e){const a=()=>k(S.current);return e.addEventListener("reset",a),()=>e.removeEventListener("reset",a)}}),[p,k]),a.jsxs(CNe,{scope:n,state:b,disabled:u,children:[a.jsx(s_.button,{type:"button",role:"checkbox","aria-checked":_Ne(b)?"mixed":b,"aria-required":l,"data-state":jNe(b),"data-disabled":u?"":void 0,disabled:u,value:c,...h,ref:f,onKeyDown:qE(e.onKeyDown,(e=>{"Enter"===e.key&&e.preventDefault()})),onClick:qE(e.onClick,(e=>{k((e=>!!_Ne(e)||!e)),y&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())}))}),y&&a.jsx(ENe,{control:p,bubbles:!v.current,name:i,value:c,checked:b,required:l,disabled:u,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!_Ne(s)&&s})]})}));TNe.displayName=SNe;var xNe="CheckboxIndicator",NNe=r.forwardRef(((e,t)=>{const{__scopeCheckbox:n,forceMount:i,...r}=e,o=MNe(xNe,n);return a.jsx(ahe,{present:i||_Ne(o.state)||!0===o.state,children:a.jsx(s_.span,{"data-state":jNe(o.state),"data-disabled":o.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})}));NNe.displayName=xNe;var ENe=e=>{const{control:t,checked:n,bubbles:i=!0,defaultChecked:o,...s}=e,l=r.useRef(null),u=XE(n),c=a_(t);r.useEffect((()=>{const e=l.current,a=window.HTMLInputElement.prototype,t=Object.getOwnPropertyDescriptor(a,"checked").set;if(u!==n&&t){const a=new Event("click",{bubbles:i});e.indeterminate=_Ne(n),t.call(e,!_Ne(n)&&n),e.dispatchEvent(a)}}),[u,n,i]);const d=r.useRef(!_Ne(n)&&n);return a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o??d.current,...s,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function _Ne(e){return"indeterminate"===e}function jNe(e){return _Ne(e)?"indeterminate":e?"checked":"unchecked"}var PNe=TNe,LNe=NNe;const BNe=r.forwardRef((({className:e,...t},n)=>a.jsx(PNe,{ref:n,className:qa("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:a.jsx(LNe,{className:qa("flex items-center justify-center text-current"),children:a.jsx(w,{className:"h-4 w-4"})})})));BNe.displayName=PNe.displayName;var RNe=r.forwardRef(((e,t)=>{const{children:n,...i}=e,o=r.Children.toArray(n),s=o.find(ONe);if(s){const e=s.props.children,n=o.map((a=>a===s?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:a));return a.jsx(DNe,{...i,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return a.jsx(DNe,{...i,ref:t,children:n})}));RNe.displayName="Slot";var DNe=r.forwardRef(((e,a)=>{const{children:t,...n}=e;if(r.isValidElement(t)){const e=function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(t),i=function(e,a){const t={...a};for(const n in a){const i=e[n],r=a[n];/^on[A-Z]/.test(n)?i&&r?t[n]=(...e)=>{r(...e),i(...e)}:i&&(t[n]=i):"style"===n?t[n]={...i,...r}:"className"===n&&(t[n]=[i,r].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==r.Fragment&&(i.ref=a?Ue(a,e):e),r.cloneElement(t,i)}return r.Children.count(t)>1?r.Children.only(null):null}));DNe.displayName="SlotClone";var zNe=({children:e})=>a.jsx(a.Fragment,{children:e});function ONe(e){return r.isValidElement(e)&&e.type===zNe}var INe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((e,t)=>{const n=r.forwardRef(((e,n)=>{const{asChild:i,...r}=e,o=i?RNe:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),a.jsx(o,{...r,ref:n})}));return n.displayName=`Primitive.${t}`,{...e,[t]:n}}),{}),KNe="horizontal",HNe=["horizontal","vertical"],FNe=r.forwardRef(((e,t)=>{const{decorative:n,orientation:i=KNe,...r}=e,o=function(e){return HNe.includes(e)}(i)?i:KNe;return a.jsx(INe.div,{"data-orientation":o,...n?{role:"none"}:{"aria-orientation":"vertical"===o?o:void 0,role:"separator"},...r,ref:t})}));FNe.displayName="Separator";var GNe=FNe;const VNe=r.forwardRef((({className:e,orientation:t="horizontal",decorative:n=!0,...i},r)=>a.jsx(GNe,{ref:r,decorative:n,orientation:t,className:qa("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...i})));function JNe({options:e,onValueChange:t,selectedValues:n,setSelectedValues:i,isLoading:o,maxCount:s,placeholder:l="Select options",title:u="Select Items",searchPlaceholder:c="Search by name, email, or phone...",emptyMessage:d="No items found",extraCommandItems:m=[],canOpen:h=!0,singleSelect:p=!1,totalCount:g}){const[f,v]=r.useState(!1),[y,b]=r.useState(""),[k,S]=r.useState(n),{toast:w}=dS(),[A,C]=r.useState(100),[M,T]=r.useState(!1),x=r.useRef(null),N=r.useMemo((()=>{const a=[];return e.forEach((e=>{e&&e.items&&Array.isArray(e.items)&&e.items.forEach((t=>{t&&"string"==typeof t.value&&"string"==typeof t.label&&""!==t.value.trim()&&""!==t.label.trim()&&a.push({label:t.label,value:t.value,category:e.category,disabled:t.disabled,disabledReason:t.disabledReason,customComponent:t.customComponent,searchData:t.searchData})}))})),Array.from(new Map(a.map((e=>[e.value,e]))).values())}),[e]),E=r.useMemo((()=>{if(!y)return N;return[...N.filter((e=>k.includes(e.value))),...N.filter((e=>!k.includes(e.value))).filter((e=>{const a=y.toLowerCase(),t=e.label.toLowerCase().includes(a);if(!e.searchData)return t;const n=e.searchData.email?.toLowerCase().includes(a)||!1,i=e.searchData.phone?.toLowerCase().includes(a)||!1,r=e.searchData.firstName?.toLowerCase().includes(a)||!1,o=e.searchData.lastName?.toLowerCase().includes(a)||!1;return t||n||i||r||o}))]}),[N,y,k]),_=r.useMemo((()=>E.slice(0,A)),[E,A]),j=E.length>A,P=r.useCallback((()=>{!M&&j&&(T(!0),setTimeout((()=>{C((e=>Math.min(e+100,E.length))),T(!1)}),100))}),[M,j,E.length]),L=r.useCallback((()=>{const e=x.current;if(!e||M||!j)return;const{scrollTop:a,scrollHeight:t,clientHeight:n}=e;(a+n)/t>.7&&P()}),[P,M,j]);r.useEffect((()=>{C(100)}),[y]);const B=r.useCallback((()=>n.map((e=>{const a=N.find((a=>a.value===e));return{value:e,label:a?.label||e}}))),[n,N]),R=e=>{const a=N.find((a=>a.value===e));if(!a?.disabled)return p?(S([e]),t([e]),i([e]),void v(!1)):void S((a=>a.includes(e)?a.filter((a=>a!==e)):s&&a.length>=s?a:[...a,e]));w({title:"Cannot select user",description:a.disabledReason||"This user cannot be selected",variant:"warning"})};r.useEffect((()=>{f&&(S(n),b(""))}),[f,n]),r.useEffect((()=>{const e=x.current;if(e)return e.addEventListener("scroll",L),()=>e.removeEventListener("scroll",L)}),[L]);const D=k.length,z=E.filter((e=>k.includes(e.value))).length,O=B(),I=!s||k.length<s,K=r.useMemo((()=>{const e=new Map;return _.forEach((a=>{e.has(a.category)||e.set(a.category,[]),e.get(a.category).push(a)})),e}),[_]);return a.jsxs(wi,{open:f&&h,onOpenChange:h?v:void 0,children:[a.jsx(Ai,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:!h,className:qa("w-full justify-between text-left font-normal h-9 p-3",!h&&"opacity-50 cursor-not-allowed"),children:[a.jsx("div",{className:"flex flex-nowrap items-center gap-1 max-w-[70%]",children:0===O.length?a.jsx("span",{className:"text-muted-foreground",children:l}):p?a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:O[0].label}):O.length<=2?O.map((e=>a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:e.label},e.value))):a.jsxs(a.Fragment,{children:[a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:O[0].label},O[0].value),a.jsxs(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:["+",O.length-1," more"]})]})}),a.jsx(OM.DropdownMenuTrigger,{className:"h-4 w-4 opacity-50 ml-2 flex-shrink-0"})]})}),a.jsxs(Ti,{className:"max-w-md w-full max-h-[80vh] p-0 flex flex-col overflow-hidden",children:[a.jsxs("div",{className:"flex-shrink-0",children:[a.jsx(xi,{className:"p-6 pb-4",children:a.jsxs(Ei,{className:"flex items-center gap-2 text-xl",children:[a.jsx(OM.UsersIcon,{className:"h-5 w-5 text-primary"}),u]})}),a.jsx(Xe,{children:a.jsx(_i,{children:u})}),a.jsx("div",{className:"px-6 pb-4",children:a.jsxs("div",{className:"relative",children:[a.jsx(OM.SearchIcon,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Io,{placeholder:c,value:y,onChange:e=>b(e.target.value),className:"pl-10 h-11"})]})}),!p&&a.jsx("div",{className:"px-6 pb-4",children:a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsxs("span",{className:"text-muted-foreground",children:[void 0!==g?`${D} of ${g} selected`:`${D} selected`,s&&` (max ${s})`]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Xa,{variant:"ghost",size:"sm",onClick:()=>{const e=E.filter((e=>!k.includes(e.value))),a=s?e.slice(0,s-k.length):e;S((e=>[...e,...a.map((e=>e.value))]))},disabled:!I||z===E.length,className:"h-8 text-xs",children:"Select All"}),a.jsx(Xa,{variant:"ghost",size:"sm",onClick:()=>{const e=new Set(E.map((e=>e.value)));S((a=>a.filter((a=>!e.has(a)))))},disabled:0===z,className:"h-8 text-xs",children:"Clear All"})]})]})})]}),a.jsx(VNe,{}),a.jsx("div",{ref:x,className:"flex-1 min-h-0 rounded-md overflow-y-auto overflow-x-hidden border border-gray-200",children:a.jsxs("div",{className:"p-1",children:[m.length>0&&a.jsxs(a.Fragment,{children:[m.map(((e,t)=>a.jsx("div",{className:"px-3 py-2",children:e(v)},`extra-command-${t}`))),a.jsx(VNe,{className:"my-2"})]}),o?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})}):0===E.length?a.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[a.jsx(OM.SearchIcon,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),a.jsx("p",{children:d})]}):a.jsxs(a.Fragment,{children:[Array.from(K.entries()).map((([e,t])=>a.jsxs("div",{children:[a.jsx("div",{className:"px-3 pt-2 pb-1 text-xs font-semibold text-muted-foreground tracking-wide uppercase",children:e}),t.map((e=>{const t=k.includes(e.value),n=e.disabled,i=!(!p&&!I)&&!n;return a.jsxs("div",{onClick:()=>i&&R(e.value),className:"flex items-center space-x-3 p-3 rounded-lg transition-colors "+(i?"hover:bg-muted/50 cursor-pointer":"opacity-50 cursor-not-allowed"),children:[!p&&a.jsx(BNe,{checked:t,disabled:!i,onChange:()=>i&&R(e.value),className:"flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"font-medium text-sm truncate",children:e.label}),e.customComponent&&a.jsx("div",{className:"flex-shrink-0",children:e.customComponent})]}),n&&e.disabledReason&&a.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:e.disabledReason})]}),t&&!n&&a.jsx(OM.CheckIcon,{className:"h-4 w-4 text-primary flex-shrink-0"}),n&&a.jsx(OM.CloseButton,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"})]},e.value)})),a.jsx(VNe,{className:"my-2"})]},e))),j&&M&&a.jsx("div",{className:"px-3 py-4",children:a.jsx("div",{className:"flex justify-center",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})})})]})]})}),!p&&a.jsxs("div",{className:"flex-shrink-0",children:[a.jsx(VNe,{}),a.jsx("div",{className:"p-6 pt-4",children:a.jsxs("div",{className:"flex gap-3",children:[a.jsx(Xa,{variant:"outline",onClick:()=>{S(n),b(""),v(!1)},className:"flex-1",children:"Cancel"}),a.jsxs(Xa,{onClick:()=>{t(k),i(k),v(!1)},className:"flex-1 bg-primary hover:bg-primary/90",children:["Apply (",D,")"]})]})})]})]})]})}VNe.displayName=GNe.displayName;const UNe=({isSaving:e,isLoading:t,savingText:n="Saving...",loadingText:i="Loading...",className:r,size:o="sm",textSize:s="xs"})=>{const l=e?n:i;if(!(e||t))return null;return a.jsxs("div",{id:"saving-indicator",className:qa("flex items-center space-x-2 text-muted-foreground",{xs:"text-xs",sm:"text-sm",md:"text-base"}[s],r),children:[a.jsx(W,{className:qa("animate-spin",{xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}[o])}),a.jsx("span",{children:l})]})};function WNe(e){if(!e||"string"!=typeof e)return!1;return[/bit\.ly\/[a-zA-Z0-9]+/gi,/bitly\.com\/[a-zA-Z0-9]+/gi,/tinyurl\.com\/[a-zA-Z0-9]+/gi,/tiny\.cc\/[a-zA-Z0-9]+/gi,/short\.link\/[a-zA-Z0-9]+/gi,/is\.gd\/[a-zA-Z0-9]+/gi,/ow\.ly\/[a-zA-Z0-9]+/gi,/t\.co\/[a-zA-Z0-9]+/gi,/goo\.gl\/[a-zA-Z0-9]+/gi,/rebrand\.ly\/[a-zA-Z0-9]+/gi,/cutt\.ly\/[a-zA-Z0-9]+/gi,/shorturl\.at\/[a-zA-Z0-9]+/gi,/tiny\.one\/[a-zA-Z0-9]+/gi,/short\.ly\/[a-zA-Z0-9]+/gi,/shorturl\.com\/[a-zA-Z0-9]+/gi,/tiny\.ws\/[a-zA-Z0-9]+/gi,/short\.to\/[a-zA-Z0-9]+/gi,/tiny\.io\/[a-zA-Z0-9]+/gi,/tiny\.pl\/[a-zA-Z0-9]+/gi,/short\.url\/[a-zA-Z0-9]+/gi,/tiny\.me\/[a-zA-Z0-9]+/gi].some((a=>a.test(e)))}const qNe=e=>a.jsx(PTe,{as:"span",className:"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e.node.attrs.displayName}),ZNe=aTe.create({name:"mergeField",group:"inline",inline:!0,atom:!0,addAttributes:()=>({templateName:{default:null,parseHTML:e=>e.getAttribute("data-template-name")},displayName:{default:null,parseHTML:e=>e.getAttribute("data-display-name")}}),parseHTML:()=>[{tag:"span[data-merge-field]"}],renderHTML:({HTMLAttributes:e})=>["span",HCe(e,{"data-merge-field":"true"})],renderText:({node:e})=>e.attrs.templateName,addNodeView:()=>zTe(qNe)}),$Ne=({value:e,onChange:n,maxLength:i,mergeFieldsResponse:r,editorRef:o,imagePreview:s,onAddImage:l,onRemoveImage:u,isRemovingImage:c,isUpdatingCommunicationGroup:d,initialImageUrls:m,imageBase64:h,isUpdating:p,hasUnsavedChanges:g,communicationGroupId:f,hasDynamicMergeFieldImage:v=!1})=>{const[y,b]=t.useState(0),[k,S]=t.useState(!1),[w,C]=t.useState(!1),[M,T]=t.useState(""),[x,N]=t.useState(!1),[E,_]=t.useState(!1),{updateCommunicationGroup:j}=UN(),{toast:P}=dS(),L=t.useRef(null),B=t.useMemo((()=>r?.mergeFields??[]),[r]),R=t.useCallback((e=>{if(!e)return"";let a=e.replace(/\{\{.*?\}\}/g,(e=>{const a=B.flatMap((e=>e.entries)).find((a=>a.value===e));return a?`<span class="inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200" data-merge-field="true" data-template-name="${a.value}" data-display-name="${a.label}">${a.label}</span>`:e}));return a=a.replace(/\n/g,"<br>"),a}),[B]),D=_Te({extensions:[Zxe,ZNe],content:"",editorProps:{attributes:{class:"min-h-[300px] p-3 border border-gray-200 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none prose prose-sm max-w-none"}},onUpdate:({editor:e})=>{const a=e.getText();L.current=a,b(a.length),_(WNe(a)),n(a)}});t.useEffect((()=>{if(D&&null!=e){if(D.isFocused)return;if(D.getText()!==e&&L.current!==e){const a=R(e);D.commands.setContent(a,!1),b(e.length),_(WNe(e)),L.current=e}}}),[D,e,R]);const z=t.useCallback((e=>{if(e.length>0&&D){const a=B.flatMap((e=>e.entries)).find((a=>a.value===e[0]));a&&D.chain().focus().insertContent({type:"mergeField",attrs:{templateName:a.value,displayName:a.label}}).run()}}),[D,B]),O=t.useMemo((()=>B.map((e=>({category:e.category,items:e.entries})))),[B]),I=t.useCallback((()=>{S(!1),l?.()}),[l]),K=t.useCallback((()=>{S(!1),C(!0)}),[]),H=t.useCallback((async()=>{if(M.trim()&&f){N(!0);try{await j({groupId:f,params:{textMessageMediaUrls:[M.trim()]}}),T(""),C(!1),P({title:"Image URL added",description:"The image URL has been added to your SMS message."})}catch(e){P({title:"Failed to add image URL",description:"Please try again.",variant:"destructive"})}finally{N(!1)}}}),[M,f,j,P]);if(!D)return a.jsx("div",{children:"Loading editor..."});const F=(m?.length||0)>=1||c||null!==h||d||v,G=a.jsxs(Ahe,{modal:!0,open:k,onOpenChange:S,children:[a.jsx(Che,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:F,className:"flex items-center gap-2",children:["Add Image",a.jsx(A,{className:"h-3 w-3"})]})}),a.jsx(Mhe,{className:"w-56 p-3 z-[100]",align:"start",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Xa,{variant:"ghost",size:"sm",onClick:I,className:"w-full justify-start gap-2 h-9",children:[a.jsx(je,{className:"h-4 w-4"}),"Upload from file"]}),a.jsxs(Xa,{variant:"ghost",size:"sm",onClick:K,className:"w-full justify-start gap-2 h-9",children:[a.jsx(J,{className:"h-4 w-4"}),"Add from URL"]}),a.jsx("div",{className:"text-xs text-muted-foreground pt-1 border-t",children:"Maximum size of all images: 5MB. We will try to compress the image if possible."})]})})]}),V=F&&v?a.jsx(Rx,{title:"Image attachment limit",description:"We've identified an image that will be added to this message through a merge field. To ensure image quality, we don't allow uploading extra images.",asChild:!0,className:"cursor-not-allowed",children:a.jsx("span",{className:"inline-block cursor-not-allowed",children:G})}):G;return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{ref:o,className:"relative",children:[a.jsx(gTe,{id:"wizard-sms-editor-input",editor:D}),a.jsx("div",{className:"absolute bottom-2 right-2 pointer-events-none",children:a.jsxs("div",{className:"flex items-center gap-2",children:[E&&a.jsx("div",{className:"pointer-events-auto",children:a.jsx("div",{className:"bg-red-500 text-white px-2 py-2 rounded-lg shadow-lg flex items-center gap-2 ",children:a.jsx(Rx,{title:"Tiny URL Detected",description:"SMS messages with shortened URLs are often blocked by carriers. We'll try to send it, but it may not reach the recipient.",alertText:"Warning",Icon:_e,iconColor:"text-white",size:"small",link:{url:"https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-links-in-my-messages",text:"Click to learn more about URL shortening in SMS"}})})}),a.jsxs("div",{className:"px-2 py-1 rounded text-xs font-medium transition-colors duration-300 "+(y>=i?"bg-red-100/90 text-red-700":y>yve?"bg-amber-100/90 text-amber-700":"bg-gray-100/90 text-gray-600"),children:[y,"/",i]})]})})]}),a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs("div",{className:"flex items-center gap-2",children:[s?a.jsx(Xa,{variant:"outline",onClick:u,disabled:c||d,children:"Remove Image"}):V,a.jsx(wi,{open:w,onOpenChange:C,children:a.jsxs(Ti,{className:"sm:max-w-md",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Add Image from URL"}),a.jsxs(_i,{children:["Enter the URL of the image you want to add to your SMS message. You can use merge fields to make the URL dynamic (e.g., https://example.com/images/{{customer_name}}.jpg).",a.jsx("br",{}),a.jsx("br",{}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Maximum size of all images: 5MB. We will try to compress the image if possible."})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{htmlFor:"image-url",children:"Image URL"}),a.jsx(Qxe,{value:M,onChange:T,mergeFieldsResponse:r,placeholder:"https://example.com/image.jpg",className:"bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50",ariaLabel:"Insert merge field into image URL"})]}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>{T(""),C(!1)},children:"Cancel"}),a.jsx(Xa,{onClick:H,disabled:x,children:x?"Adding...":"Add Image"})]})]})]})}),a.jsx(JNe,{options:O,selectedValues:[],setSelectedValues:()=>{},onValueChange:z,placeholder:`Add ${PN("engage:merge_field")}`,title:`Add ${PN("engage:merge_field")}`,searchPlaceholder:`Search ${PN("engage:merge_field",{count:2}).toLowerCase()}...`,emptyMessage:`No ${PN("engage:merge_field",{count:2}).toLowerCase()} found`,singleSelect:!0,isLoading:!1}),a.jsx(Rx,{size:"large",title:"Merge fields are placeholders for dynamic content. For example you can use the recipients name, or email in the contents of your message."})]})}),a.jsx("div",{className:"flex items-center gap-2",children:a.jsx(UNe,{isSaving:!(!p&&!g),savingText:p||g?"Saving...":"Autosave enabled",size:"xs",textSize:"xs"})})]})},YNe=t.memo((({communicationGroupId:e,initialSenderId:n,companyName:i,modalType:r="popover",align:o="end",trigger:s})=>{const l=t.useRef({communicationGroupId:e,initialSenderId:n,companyName:i}),[u,c]=t.useState(null),[d,m]=t.useState(null),[h,p]=t.useState(!1),[g,f]=t.useState(!1),{channelSenders:v}=DC(),{channelAccounts:y}=LC(),{data:b}=XN(),{updateCommunicationGroupAsync:k,isUpdating:S}=UN(),C=t.useMemo((()=>oE({channelSenders:v?.results??[],channelAccounts:y?.results??[],smsApplication:b})),[v?.results,y?.results,b]);t.useEffect((()=>{g||(l.current={communicationGroupId:e,initialSenderId:n,companyName:i},c(n),m(i),f(!0))}),[e,i,g,n]),t.useEffect((()=>{g&&(c(n),null!=i&&m(i),l.current={communicationGroupId:e,initialSenderId:n,companyName:i})}),[g,n,i,e]);const M=t.useCallback((e=>{c(e)}),[]),T=t.useCallback((e=>{m(e.target.value)}),[]),x=t.useCallback((async()=>{if(g)try{const e={};u!==l.current.initialSenderId&&(e.smsChannelSenderId=u||void 0),d!==l.current.companyName&&(e.textMessageCompanyName=d||null),Object.keys(e).length>0&&await k({groupId:l.current.communicationGroupId,params:e}),p(!1)}catch(e){}}),[g,u,d,k]);t.useEffect((()=>{!h&&g&&(c(l.current.initialSenderId),m(l.current.companyName))}),[h,g]);const N=t.useCallback((e=>{p(e)}),[]),E=t.useMemo((()=>g?a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{htmlFor:"sender-select",className:"text-sm font-medium",children:"From"}),a.jsxs(Fc,{value:u||"",onValueChange:M,children:[a.jsx(Vc,{id:"sender-select",className:"w-full",children:a.jsx(Gc,{placeholder:"Select a sender"})}),a.jsx(Wc,{children:C.map((e=>a.jsx(qc,{value:e.channelSender.id,children:a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx("span",{children:e.channelSender.channelSenderMetadata.friendlyName||e.channelSender.channelSenderMetadata.from}),e.smsApplication?.status===rE.APPROVED&&a.jsx(w,{className:"h-3 w-3 text-green-500"})]})},e.channelSender.id)))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{htmlFor:"company-name",className:"text-sm font-medium",children:"Company Name"}),a.jsx(Rx,{title:"Company name will be included in the SMS message",size:"small"})]}),a.jsx(Io,{id:"company-name-input",value:d||"",onChange:T,placeholder:"Enter company name",className:"w-full"})]}),a.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>p(!1),disabled:S,children:"Cancel"}),a.jsx(Xa,{onClick:x,disabled:S,className:"min-w-[100px]",children:S?a.jsxs(a.Fragment,{children:[a.jsx(W,{className:"h-4 w-4 mr-2 animate-spin"}),a.jsx("span",{children:"Saving..."})]}):"Save"})]})]}):a.jsx("div",{className:"flex items-center justify-center p-4",children:a.jsx(UNe,{isLoading:!0,loadingText:"Loading...",size:"sm",textSize:"sm"})})),[g,u,d,S,C,M,T,x]);return"popover"===r?a.jsxs(Ahe,{open:h,onOpenChange:N,children:[a.jsx(Che,{asChild:!0,children:s||a.jsxs(Xa,{variant:"outline",size:"sm",id:"edit-sender-and-company",className:qa("flex items-center space-x-2",h&&"bg-accent"),children:[a.jsx("span",{children:"Edit Sender & Company"}),a.jsx(A,{className:"h-3 w-3"})]})}),a.jsx(Mhe,{align:o,className:"w-96",children:E})]}):"dialog"===r?a.jsxs(wi,{open:h,onOpenChange:N,children:[a.jsx(Ai,{asChild:!0,children:s||a.jsxs(Xa,{variant:"outline",size:"sm",id:"edit-sender-and-company",className:"flex items-center space-x-2",children:[a.jsx("span",{children:"Edit Sender & Company"}),a.jsx(A,{className:"h-3 w-3"})]})}),a.jsxs(Ti,{className:"min-w-[700px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Edit Sender & Company"})}),E]})]}):a.jsx("div",{className:"w-full",children:E})}),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialSenderId===a.initialSenderId&&e.companyName===a.companyName&&e.modalType===a.modalType&&e.align===a.align));YNe.displayName="SMSSenderAndCompanyEditor";const QNe=t.memo(kNe,((e,a)=>{const t=e.imageUrls||[],n=a.imageUrls||[];if(t.length!==n.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==n[i])return!1;return(e.body||"")===(a.body||"")})),XNe=t.memo((({communicationGroupId:e,initialSenderId:t,companyName:n})=>a.jsx(YNe,{communicationGroupId:e,initialSenderId:t||null,companyName:n||null,modalType:"dialog"})),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialSenderId===a.initialSenderId&&e.companyName===a.companyName)),eEe=t.memo(t.forwardRef((({communicationGroupId:e,initialMessage:n="",initialImageUrls:i=[],companyName:r,initialSenderId:o,onSave:s,className:l,showTestButton:u=!1,onTestClick:c},d)=>{const m=1500,{toast:h}=dS(),{updateCommunicationGroup:p,updateCommunicationGroupAsync:g,isUpdating:f}=UN(),v=tle(),{getMergeFields:y}=WN(e,v?.id??void 0),b=t.useMemo((()=>r??null),[r]),k=t.useCallback((e=>/\{\{[^}]+\}\}/.test(e)),[]),S=t.useCallback((e=>pNe(e)),[]),[w,A]=t.useState(n),[C,M]=t.useState(i.length>0?i[0]:null),[T,x]=t.useState(null),[N,E]=t.useState(!1),[_,j]=t.useState(!1),[P,L]=t.useState(!1),[B,R]=t.useState([]),D=t.useRef(null),z=t.useRef(),O=t.useRef(!0),I=t.useRef(null),K=t.useRef(f),H=t.useRef({message:n}),{communicationGroup:F}=JN(e);t.useEffect((()=>{K.current=f}),[f]);const G=t.useCallback((e=>{if(!F?.extraMergeFields)return[];const a=S(e),t=[];for(const n of F.extraMergeFields)if(n.type===hNe.DYNAMIC)for(const e of n.mergeFields)a.includes(e.templateName)&&e.image&&t.push({templateName:e.templateName,displayName:e.displayName,placeholderUrl:e.image.placeholderUrl,maxSize:e.image.maxSize});return t}),[F?.extraMergeFields,S]),V=t.useMemo((()=>mNe({companyName:b||void 0,smsBody:w})),[b,w]),J=Xxe(w,1e3);t.useEffect((()=>{const e=G(w);R(e)}),[w,G]);const U=t.useCallback((async()=>{if(O.current)return;const a=w||"";if(a.length>m)return void h({title:"SMS is too long",description:"Please shorten your message",variant:"destructive"});if(a!==H.current.message&&0!==a.length)try{const t=g({groupId:e,params:{smsMessageBody:a}});I.current=t,await t,H.current={message:a},L(!1),s?.()}catch(t){h({title:"Autosave failed",description:"Your changes may not have been saved",variant:"destructive"})}finally{I.current=null}}),[w,e,g,h,s]);z.current=U,t.useImperativeHandle(d,(()=>({saveChanges:async()=>{if(O.current)return;if(I.current)try{await I.current}catch(t){}K.current&&await new Promise((e=>{const a=()=>{K.current?setTimeout(a,100):e()};a()}));const a=w||"";if(a.length>m)throw h({title:"SMS is too long",description:"Please shorten your message",variant:"destructive"}),new Error("SMS is too long");if(a!==H.current.message&&0!==a.length)try{await g({groupId:e,params:{smsMessageBody:a}}),H.current={message:a},L(!1),s?.()}catch(t){throw h({title:"Save failed",description:"Your changes may not have been saved",variant:"destructive"}),t}}})),[w,e,g,h,s]),t.useEffect((()=>{if(O.current)return;J!==H.current.message&&!f&&(L(!0),z.current?.())}),[J,f]),t.useEffect((()=>{if(O.current)return;L(w!==H.current.message)}),[w]),t.useEffect((()=>{const e=setTimeout((()=>{O.current=!1}),1500);return()=>clearTimeout(e)}),[]);const W=t.useCallback((async()=>{if(e&&!N){E(!0);try{await p({groupId:e,params:{textMessageMedia:[]}}),M(null),x(null),h({title:"Image removed",description:"The image has been removed from your SMS"})}catch(a){h({title:"Failed to remove image",description:"Please try again",variant:"destructive"})}finally{E(!1)}}}),[e,p,h,N]),q=t.useCallback((async a=>{const t=a.target.files?.[0];if(!t||!e||_)return;D.current&&(D.current.value="");if(t.size>20971520)h({title:"File too large",description:`Sum of all images attached must be 5MB or smaller. The file you tried to upload is ${(t.size/1048576).toFixed(1)}MB.`,variant:"destructive"});else{j(!0);try{const a=new FileReader;a.onloadend=async()=>{try{const t=await AS(a.result),n=CS(t);p({groupId:e,params:{textMessageMedia:[n]}},{onSuccess:()=>{x(n),M(t),E(!1),h({title:"Image uploaded",description:"The image has been added to your SMS"})},onError:e=>{e.message.includes("Image is still too large")?h({title:"Image too large",description:"The image is too large. Please try again with a smaller image.",variant:"destructive"}):h({title:"Error uploading image",description:"Failed to process or upload the image",variant:"destructive"})}})}catch(t){h({title:"Error uploading image",description:"Failed to process or upload the image",variant:"destructive"})}finally{j(!1)}},a.readAsDataURL(t)}catch(n){h({title:"Error reading file",description:"Please try again",variant:"destructive"}),j(!1)}}}),[e,p,h,_]),Z=t.useCallback((()=>{D.current?.click()}),[]);return y?a.jsxs("div",{className:qa("w-full @container",l),children:[!F?.smsChannelSenderId&&a.jsx("div",{className:"mb-6 p-4 bg-amber-50 border border-amber-200 rounded-lg",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(Rx,{title:"SMS Sender Required",description:"You need to select an SMS sender before you can send SMS messages. Click 'Edit Sender & Company' above to configure your SMS sender.",alertText:"Action Required",size:"medium",iconColor:"text-amber-500"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h3",{className:"text-sm font-medium text-amber-800 mb-1",children:"SMS Sender Not Selected"}),a.jsx("p",{className:"text-sm text-amber-700",children:'Please select an SMS sender to enable SMS messaging. Click the "Edit Sender & Company" button to configure your sender.'})]})]})}),a.jsx("div",{className:"flex items-center justify-between mb-6",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(XNe,{communicationGroupId:e,initialSenderId:o||null,companyName:b||null}),u&&c&&a.jsxs(Xa,{onClick:c,className:"flex items-center gap-2",children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),"Test SMS"]})]})}),a.jsxs("div",{className:"flex flex-col lg:flex-row gap-6",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[(C||B.length>0)&&a.jsxs("div",{className:"flex flex-wrap gap-4 justify-center mb-6",children:[C&&a.jsx("div",{className:"relative group w-fit",children:k(C)?a.jsx("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-gray-200 bg-gray-50 p-4 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"text-sm font-medium text-gray-700 mb-2",children:"Image will be populated at send time based on the following merge fields:"}),a.jsx("div",{className:"flex flex-wrap gap-1 justify-center",children:vNe(C,y).map(((e,t)=>a.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e},t)))})]})}):a.jsxs("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-green-200 bg-green-50 p-4 flex flex-col items-center justify-center min-h-[12rem]",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center",children:a.jsx("img",{src:C,alt:"SMS attachment preview",className:"max-h-32 max-w-48 rounded-lg border border-green-300 object-contain bg-white",style:{boxShadow:"0 2px 12px 0 rgba(0,0,0,0.06)"}})}),a.jsx("div",{className:"text-xs text-green-600 mt-2",children:"Uploaded Image"})]})}),B.map(((e,t)=>a.jsxs("div",{className:"relative group w-fit",children:[a.jsx("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-blue-200 bg-blue-50 p-4 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx("img",{src:e.placeholderUrl,alt:`Dynamic merge field ${e.displayName} placeholder`,className:"max-h-32 max-w-48 rounded-lg border border-blue-300 object-contain bg-white",style:{boxShadow:"0 2px 12px 0 rgba(0,0,0,0.06)"}}),a.jsx("div",{className:"text-xs text-blue-600 mt-3",children:e.displayName})]})}),a.jsx("div",{className:"text-xs text-muted-foreground mt-2 text-center",children:"Will be dynamically fetched at send time"})]},t)))]}),a.jsx("input",{type:"file",ref:D,onChange:q,accept:"image/*",className:"hidden"}),a.jsx($Ne,{value:w,onChange:A,maxLength:m,mergeFieldsResponse:y,imagePreview:C,onAddImage:Z,onRemoveImage:W,isRemovingImage:N,isUpdatingCommunicationGroup:f||_,initialImageUrls:i,imageBase64:T,isUpdating:f||_,hasUnsavedChanges:P,communicationGroupId:e,hasDynamicMergeFieldImage:B.length>0})]}),a.jsx("div",{className:"block flex-1 min-w-0",children:a.jsx("div",{className:"sticky top-4",children:a.jsx("div",{className:"rounded-xl p-4",children:a.jsx(QNe,{body:V,imageUrls:[...B.map((e=>e.placeholderUrl)),...C?[C]:[]]})})})})]})]}):a.jsx("div",{className:"flex justify-center items-center p-8",children:a.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading editor..."})})})),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialMessage===a.initialMessage&&e.companyName===a.companyName&&e.initialSenderId===a.initialSenderId&&JSON.stringify(e.initialImageUrls)===JSON.stringify(a.initialImageUrls)&&e.className===a.className)),aEe=({open:e,onOpenChange:t,automation:n})=>a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Send Preview SMS"}),a.jsx(_i,{children:"Send a preview SMS to the automation."})]}),a.jsx(Aye,{automation:n,type:"sms",setOpenSendPreviewPopup:t,open:e})]})}),tEe=e=>e.friendlyName||e.from||e.messageServiceSid||"Unknown Sender",nEe=()=>{const e=tle(),[n,i]=t.useState(!1),r=e?.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.communicationGroupId,{communicationGroup:o,isGetting:s}=JN(r??void 0),{channelSenders:l}=DC(),{channelAccounts:u}=LC(),{data:c}=XN(),{updateCommunicationGroup:d,isUpdating:m}=UN(),{getMergeFields:h,isGetting:p}=WN(o?.id??void 0,e?.id??void 0),g=t.useMemo((()=>oE({channelSenders:l?.results??[],channelAccounts:u?.results??[],smsApplication:c})),[l?.results,u?.results,c]),f=t.useMemo((()=>o?.smsChannelSenderId&&g?.length?g.find((e=>e.channelSender.id===o.smsChannelSenderId)):null),[o?.smsChannelSenderId,g]),v=t.useMemo((()=>f?tEe(f.channelSender.channelSenderMetadata):null),[f]);t.useEffect((()=>{if(o?.id&&g?.length>0&&!o.smsChannelSenderId&&!m){d({groupId:o.id,params:{smsChannelSenderId:g[0].channelSender.id}})}}),[o?.id,o?.smsChannelSenderId,g,d,m]);const y=o?.textMessageMediaUrls??[],b=o?.smsMessageBody||"",k=g.length>0;return s||p||!h||m?a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsx(th,{text:["Fetching Content..."]})}):0===g.length?a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"bg-card rounded-2xl w-full border border-gray-200 p-6 space-y-4 relative text-card-foreground",children:[a.jsx(bve,{title:PN("engage:automation"),type:fve.SMS}),a.jsxs("div",{className:"text-center py-8",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"No SMS Senders Available"}),a.jsx("p",{className:"text-muted-foreground",children:"Please configure SMS senders before editing SMS content."})]})]})}):a.jsxs("div",{id:"wizard-edit-sms-content-step",className:"w-full",children:[a.jsxs("div",{className:"bg-card rounded-2xl w-full p-6 space-y-4 relative text-card-foreground",children:[a.jsx(bve,{title:"SMS Content",type:fve.SMS}),!1===k?a.jsx("div",{className:"w-full pt-8 mx-auto flex items-center justify-center",children:a.jsx(uE,{})}):a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{id:"wizard-sms-from-number-section",className:"space-y-2",children:a.jsxs("div",{className:"text-sm text-muted-foreground text-center",children:["From Number:"," ",a.jsx("span",{id:"wizard-sms-from-number-value",className:"text-foreground font-medium",children:v||"Not configured"})]})}),a.jsx("div",{id:"wizard-sms-content-editor",className:"space-y-4",children:a.jsx(eEe,{communicationGroupId:o?.id,initialMessage:b,initialImageUrls:y,companyName:o?.textMessageCompanyName,initialSenderId:o?.smsChannelSenderId,onSave:()=>{},showTestButton:!0,onTestClick:()=>i(!0)},o?.id)})]})]}),e&&a.jsx(aEe,{open:n,onOpenChange:i,automation:e})]})},iEe=({emailBody:e})=>a.jsx("div",{className:"h-full w-full flex flex-col overflow-hidden",children:a.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-background rounded-lg p-6",children:a.jsx("div",{className:"w-full flex justify-center",children:a.jsx("div",{className:"w-full max-w-4xl",children:a.jsx(Sve,{html:e,expanded:!0})})})})}),rEe=({onOpenChange:e})=>a.jsx("div",{role:"button",tabIndex:0,"aria-label":"Close dialog",onClick:()=>e(!1),onKeyDown:a=>{"Enter"!==a.key&&" "!==a.key||e(!1)},className:"absolute top-3 right-3 z-20 rounded-full p-2 bg-white/80 shadow-lg border border-gray-200 hover:bg-primary/90 hover:text-white active:bg-primary/95 transition-all duration-200 focus:outline-none focus:ring-4 focus:ring-primary/30 focus:ring-offset-2 group cursor-pointer",style:{boxShadow:"0 4px 24px 0 rgba(0,0,0,0.10)"},children:a.jsx(OM.CloseButton,{className:"w-5 h-5 text-primary group-hover:text-primary-foreground group-active:text-primary-foreground transition-colors duration-200"})}),oEe=({expandDialogContent:e})=>{const[n,i]=t.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx(wi,{open:n,onOpenChange:i,children:a.jsxs(Ti,{hideCloseButton:!0,className:"w-[80vw] h-[80vh] max-h-none bg-transparent border-none max-w-screen-lg ",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Expanded Preview"}),a.jsx(_i,{children:"Expanded view of communication content"})]}),a.jsxs("div",{className:"h-full flex flex-col overflow-hidden rounded-xl",children:[a.jsx(rEe,{onOpenChange:i}),e]})]})}),a.jsx(Xa,{size:"sm",variant:"outline",onClick:()=>i(!0),children:a.jsx(OM.ExpandIcon,{className:"w-3 h-3"})})]})},sEe=({children:e})=>a.jsx("div",{className:"rounded-lg p-6 bg-background flex-1 min-h-0 flex items-center justify-center overflow-y-auto",children:e}),lEe=({smsBody:e,imageUrls:t})=>a.jsx(sEe,{children:a.jsx(kNe,{body:e,imageUrls:t})}),uEe=t.forwardRef((({onClick:e,label:t="Test"},n)=>a.jsxs(Xa,{ref:n,variant:"outline",type:"button",size:"sm",className:"rounded-lg px-3 py-2 flex items-center gap-2 shadow-sm bg-white/80 hover:bg-zinc-100 border border-zinc-200",onClick:e,children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),t]})));uEe.displayName="PreviewButton";var cEe={exports:{}};!function(e){e.exports=function(){var e=1e3,a=6e4,t=36e5,n="millisecond",i="second",r="minute",o="hour",s="day",l="week",u="month",c="quarter",d="year",m="date",h="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var a=["th","st","nd","rd"],t=e%100;return"["+e+(a[(t-20)%10]||a[t]||a[0])+"]"}},v=function(e,a,t){var n=String(e);return!n||n.length>=a?e:""+Array(a+1-n.length).join(t)+e},y={s:v,z:function(e){var a=-e.utcOffset(),t=Math.abs(a),n=Math.floor(t/60),i=t%60;return(a<=0?"+":"-")+v(n,2,"0")+":"+v(i,2,"0")},m:function e(a,t){if(a.date()<t.date())return-e(t,a);var n=12*(t.year()-a.year())+(t.month()-a.month()),i=a.clone().add(n,u),r=t-i<0,o=a.clone().add(n+(r?-1:1),u);return+(-(n+(t-i)/(r?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:u,y:d,w:l,d:s,D:m,h:o,m:r,s:i,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},b="en",k={};k[b]=f;var S="$isDayjsObject",w=function(e){return e instanceof T||!(!e||!e[S])},A=function e(a,t,n){var i;if(!a)return b;if("string"==typeof a){var r=a.toLowerCase();k[r]&&(i=r),t&&(k[r]=t,i=r);var o=a.split("-");if(!i&&o.length>1)return e(o[0])}else{var s=a.name;k[s]=a,i=s}return!n&&i&&(b=i),i||!n&&b},C=function(e,a){if(w(e))return e.clone();var t="object"==typeof a?a:{};return t.date=e,t.args=arguments,new T(t)},M=y;M.l=A,M.i=w,M.w=function(e,a){return C(e,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var T=function(){function f(e){this.$L=A(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[S]=!0}var v=f.prototype;return v.parse=function(e){this.$d=function(e){var a=e.date,t=e.utc;if(null===a)return new Date(NaN);if(M.u(a))return new Date;if(a instanceof Date)return new Date(a);if("string"==typeof a&&!/Z$/i.test(a)){var n=a.match(p);if(n){var i=n[2]-1||0,r=(n[7]||"0").substring(0,3);return t?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)}}return new Date(a)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return M},v.isValid=function(){return!(this.$d.toString()===h)},v.isSame=function(e,a){var t=C(e);return this.startOf(a)<=t&&t<=this.endOf(a)},v.isAfter=function(e,a){return C(e)<this.startOf(a)},v.isBefore=function(e,a){return this.endOf(a)<C(e)},v.$g=function(e,a,t){return M.u(e)?this[a]:this.set(t,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,a){var t=this,n=!!M.u(a)||a,c=M.p(e),h=function(e,a){var i=M.w(t.$u?Date.UTC(t.$y,a,e):new Date(t.$y,a,e),t);return n?i:i.endOf(s)},p=function(e,a){return M.w(t.toDate()[e].apply(t.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(a)),t)},g=this.$W,f=this.$M,v=this.$D,y="set"+(this.$u?"UTC":"");switch(c){case d:return n?h(1,0):h(31,11);case u:return n?h(1,f):h(0,f+1);case l:var b=this.$locale().weekStart||0,k=(g<b?g+7:g)-b;return h(n?v-k:v+(6-k),f);case s:case m:return p(y+"Hours",0);case o:return p(y+"Minutes",1);case r:return p(y+"Seconds",2);case i:return p(y+"Milliseconds",3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,a){var t,l=M.p(e),c="set"+(this.$u?"UTC":""),h=(t={},t[s]=c+"Date",t[m]=c+"Date",t[u]=c+"Month",t[d]=c+"FullYear",t[o]=c+"Hours",t[r]=c+"Minutes",t[i]=c+"Seconds",t[n]=c+"Milliseconds",t)[l],p=l===s?this.$D+(a-this.$W):a;if(l===u||l===d){var g=this.clone().set(m,1);g.$d[h](p),g.init(),this.$d=g.set(m,Math.min(this.$D,g.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},v.set=function(e,a){return this.clone().$set(e,a)},v.get=function(e){return this[M.p(e)]()},v.add=function(n,c){var m,h=this;n=Number(n);var p=M.p(c),g=function(e){var a=C(h);return M.w(a.date(a.date()+Math.round(e*n)),h)};if(p===u)return this.set(u,this.$M+n);if(p===d)return this.set(d,this.$y+n);if(p===s)return g(1);if(p===l)return g(7);var f=(m={},m[r]=a,m[o]=t,m[i]=e,m)[p]||1,v=this.$d.getTime()+n*f;return M.w(v,this)},v.subtract=function(e,a){return this.add(-1*e,a)},v.format=function(e){var a=this,t=this.$locale();if(!this.isValid())return t.invalidDate||h;var n=e||"YYYY-MM-DDTHH:mm:ssZ",i=M.z(this),r=this.$H,o=this.$m,s=this.$M,l=t.weekdays,u=t.months,c=function(e,t,i,r){return e&&(e[t]||e(a,n))||i[t].slice(0,r)},d=function(e){return M.s(r%12||12,e,"0")},m=t.meridiem||function(e,a,t){var n=e<12?"AM":"PM";return t?n.toLowerCase():n};return n.replace(g,(function(e,n){return n||function(e){switch(e){case"YY":return String(a.$y).slice(-2);case"YYYY":return M.s(a.$y,4,"0");case"M":return s+1;case"MM":return M.s(s+1,2,"0");case"MMM":return c(t.monthsShort,s,u,3);case"MMMM":return c(u,s);case"D":return a.$D;case"DD":return M.s(a.$D,2,"0");case"d":return String(a.$W);case"dd":return c(t.weekdaysMin,a.$W,l,2);case"ddd":return c(t.weekdaysShort,a.$W,l,3);case"dddd":return l[a.$W];case"H":return String(r);case"HH":return M.s(r,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return m(r,o,!0);case"A":return m(r,o,!1);case"m":return String(o);case"mm":return M.s(o,2,"0");case"s":return String(a.$s);case"ss":return M.s(a.$s,2,"0");case"SSS":return M.s(a.$ms,3,"0");case"Z":return i}return null}(e)||i.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(n,m,h){var p,g=this,f=M.p(m),v=C(n),y=(v.utcOffset()-this.utcOffset())*a,b=this-v,k=function(){return M.m(g,v)};switch(f){case d:p=k()/12;break;case u:p=k();break;case c:p=k()/3;break;case l:p=(b-y)/6048e5;break;case s:p=(b-y)/864e5;break;case o:p=b/t;break;case r:p=b/a;break;case i:p=b/e;break;default:p=b}return h?p:M.a(p)},v.daysInMonth=function(){return this.endOf(u).$D},v.$locale=function(){return k[this.$L]},v.locale=function(e,a){if(!e)return this.$L;var t=this.clone(),n=A(e,a,!0);return n&&(t.$L=n),t},v.clone=function(){return M.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},f}(),x=T.prototype;return C.prototype=x,[["$ms",n],["$s",i],["$m",r],["$H",o],["$W",s],["$M",u],["$y",d],["$D",m]].forEach((function(e){x[e[1]]=function(a){return this.$g(a,e[0],e[1])}})),C.extend=function(e,a){return e.$i||(e(a,T,C),e.$i=!0),C},C.locale=A,C.isDayjs=w,C.unix=function(e){return C(1e3*e)},C.en=k[b],C.Ls=k,C.p={},C}()}(cEe);const dEe=bM(cEe.exports),mEe=()=>{const e=tle(),n=nle(),{channelSenders:i}=DC(),{channelAccounts:r}=LC(),{getMergeFields:o}=WN(n?.id??void 0,e?.id??void 0),[s,l]=t.useState(null),[u,c]=t.useState(null),[d,m]=t.useState(null),[h,p]=t.useState(null),[g,f]=t.useState("email"),[v,y]=t.useState(!1),[b,k]=t.useState(!1);t.useEffect((()=>{i&&m(i),r&&p(r)}),[i,r]),t.useEffect((()=>{if(n&&d&&h){const e=n.emailChannelSenderId,a=n.smsChannelSenderId,t=d.results.find((a=>a.id===e)),i=d.results.find((e=>e.id===a));if(t&&n.emailSubject&&n.emailCompiledHtml){const e=t.channelSenderMetadata?.userPart,a=h.results.find((e=>e.id===t.channelAccountId));if(a)switch(a.channelAccountMetadata.type){case BC.REACH_MANAGED:l({fromEmail:`${e}@${a.channelAccountMetadata.baseDomain}.embedreach.com`,fromName:t.channelSenderMetadata?.emailFromName,replyToEmail:t.channelSenderMetadata?.emailReplyTo,subject:n.emailSubject,previewText:n.emailPreviewText,body:n.emailCompiledHtml||n.emailHtmlBody||""});break;case BC.REACH_MANAGED_SES:l({fromEmail:`${e}@${a.channelAccountMetadata.baseDomain}.embedreach.com`,fromName:t.channelSenderMetadata?.emailFromName,subject:n.emailSubject,replyToEmail:t.channelSenderMetadata?.emailReplyTo,previewText:n.emailPreviewText,body:n.emailCompiledHtml||n.emailHtmlBody||""});break;case BC.TWILLIO:break;default:throw The(a.channelAccountMetadata.type,BC)}}if(n.smsChannelSenderId&&i&&n.smsMessageBody){const e=mNe({companyName:n.textMessageCompanyName||void 0,smsBody:n.smsMessageBody});c({fromPhone:tEe(i.channelSenderMetadata),body:e,companyName:n.textMessageCompanyName})}else n.smsChannelSenderId||c(null)}}),[n,d,h]),t.useEffect((()=>{s&&!u?f("email"):u&&!s?f("sms"):s&&u&&f("email")}),[s,u]);if(!e)return a.jsx(th,{text:["Loading..."]});const S=s&&s.body&&s.body.length>0,w=()=>S?a.jsx(uEe,{onClick:()=>y(!0),label:"Test Email"}):null;return a.jsxs("div",{className:"w-full h-full flex flex-col min-w-0",children:[a.jsx("div",{className:"flex items-center justify-between mb-3 flex-shrink-0",children:a.jsxs("div",{children:[a.jsx("h1",{id:"wizard-preview-schedule-title",className:"text-2xl font-semibold text-foreground tracking-tight mb-1",children:"Preview & Schedule"}),a.jsx("p",{className:"text-muted-foreground mt-0.5",children:(()=>{if(e?.triggerMetadata?.triggerType===ME.ONE_TIME){const a=e.triggerMetadata.scheduledAt;if("now"===a)return"Sending immediately";if(a){const e=dEe(a);return`Scheduled for ${e.format("MMM D, YYYY")} at ${e.format("h:mm A")}`}}return"Review your content before sending"})()})]})}),(s||u)&&a.jsx("div",{className:"flex justify-center mb-1 flex-shrink-0",children:a.jsxs("div",{className:"flex bg-background border border-border rounded-md p-0.5 shadow-sm",children:[s&&a.jsx("button",{onClick:()=>f("email"),className:"px-2 py-0.5 rounded text-xs font-medium transition-all duration-200 "+("email"===g?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Email"}),u&&a.jsx("button",{id:"wizard-sms-tab-button",onClick:()=>f("sms"),className:"px-2 py-0.5 rounded text-xs font-medium transition-all duration-200 "+("sms"===g?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"SMS"})]})}),a.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto overflow-x-auto scrollbar-hide w-full min-w-0",children:[a.jsxs(fh,{mode:"wait",children:["email"===g&&s&&a.jsx(tS.div,{initial:{x:300,opacity:0},animate:{x:0,opacity:1},exit:{x:-300,opacity:0},transition:{type:"spring",stiffness:300,damping:30},className:"w-full min-w-0",children:a.jsxs("div",{className:"bg-card rounded-2xl border border-gray-200 p-6 w-full min-w-0",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-0 mb-4",children:[a.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Email Preview"}),a.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap",children:[a.jsx(w,{}),s&&a.jsx(oEe,{expandDialogContent:a.jsx(iEe,{emailBody:s.body})}),a.jsxs(Ahe,{children:[a.jsxs(Che,{className:"inline-flex items-center text-sm text-foreground hover:text-foreground transition-colors flex-shrink-0 px-2 sm:px-3 py-2 rounded-lg border border-zinc-200 bg-white/80 hover:bg-zinc-100 shadow-sm",id:"email-preview-details-button",children:["Details ",a.jsx(A,{className:"w-4 h-4 ml-1"})]}),a.jsx(Mhe,{align:"end",className:"w-96",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"From Name"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.fromName||"Not configured"})]}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"From Email"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.fromEmail})]}),a.jsxs("div",{className:"flex items-start justify-between",id:"email-preview-reply-to-email",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"Reply To"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.replyToEmail})]}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"Preview Text"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.previewText?a.jsx(bNe,{content:s.previewText,mergeFieldsResponse:o,className:"text-sm text-muted-foreground"}):"Not configured"})]})]})})]})]})]}),a.jsx("div",{className:"mb-6",children:a.jsx("div",{className:"space-y-4",children:a.jsx("div",{className:"p-6 min-w-0",children:a.jsx("div",{className:"border-b border-gray-200 pb-3",children:a.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[a.jsxs("div",{className:"flex flex-col gap-2 min-w-0 flex-1 overflow-hidden",children:[a.jsx("div",{id:"wizard-email-subject-preview",className:"min-w-0 overflow-hidden text-xl font-medium text-gray-900 leading-tight truncate",children:a.jsx(bNe,{content:s.subject,mergeFieldsResponse:o,className:"block truncate"})}),s.previewText&&a.jsx("div",{id:"wizard-email-preview-text-preview",className:"min-w-0 overflow-hidden text-xs text-muted-foreground truncate",children:a.jsx(bNe,{content:s.previewText,mergeFieldsResponse:o,className:"block truncate"})})]}),a.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap hidden sm:inline flex-shrink-0",children:[s.fromName||"Sender"," ",a.jsxs("span",{className:"text-gray-400",children:["<",s.fromEmail,">"]})]})]})})})})}),a.jsx("div",{className:"flex-1 min-h-0 w-full min-w-0",children:a.jsx("div",{className:"w-full overflow-x-auto",children:a.jsx(Sve,{html:s.body})})})]})},"email"),"sms"===g&&u&&a.jsx(tS.div,{initial:{x:300,opacity:0},animate:{x:0,opacity:1},exit:{x:-300,opacity:0},transition:{type:"spring",stiffness:300,damping:30},className:"w-full min-w-0",children:a.jsxs("div",{className:"bg-card rounded-2xl border border-gray-200 p-6 w-full min-w-0",children:[a.jsx("div",{className:"flex items-center justify-between mb-4",children:a.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"SMS Preview"})}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:["From number:"," ",a.jsx("span",{className:"font-medium text-foreground",children:u.fromPhone})]}),a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(uEe,{onClick:()=>k(!0),label:"Test SMS"}),a.jsx(oEe,{expandDialogContent:a.jsx(lEe,{smsBody:u.body,imageUrls:[]})})]})]}),a.jsx("div",{className:"border-t border-gray-200 my-3"}),a.jsx("div",{className:"flex-1 min-h-0",children:a.jsx("div",{id:"wizard-sms-body-preview",children:a.jsx(kNe,{body:u.body,imageUrls:[]})})})]})]})},"sms")]}),!s&&!u&&a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"No Preview Data"}),a.jsx("p",{className:"text-muted-foreground",children:"Please complete previous steps to see previews"})]})})]}),(s||u)&&a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4 min-w-0",children:"These previews show generally how your messages will appear to your customers"}),e&&a.jsx(Cye,{open:v,onOpenChange:y,automation:e}),e&&a.jsx(aEe,{open:b,onOpenChange:k,automation:e})]})},hEe=({title:e,children:t,headerActions:n})=>a.jsxs("div",{className:"max-w-[1000px] mx-auto w-full flex-1 flex flex-col gap-4 pt-4",children:[a.jsxs("div",{className:"px-4 flex",children:[a.jsx(N_,{className:"text-primary",children:e}),n&&a.jsx("div",{className:"ml-auto",children:n})]}),t]});function pEe({className:e,classNames:t,showOutsideDays:n=!0,...i}){const r={months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:qa(Qa({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-[#6b7280] rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-[#f1f5f9] [&:has([aria-selected].day-outside)]:bg-[#f1f5f9]/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",day:qa(Qa({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"!bg-black !text-gray-200 hover:!bg-black hover:!text-gray-200 focus:!bg-black focus:!text-white",day_today:"bg-gray-200 text-black",day_outside:"day-outside text-[#94a3b8] aria-selected:bg-[#f1f5f9]/50 aria-selected:text-[#94a3b8]",day_disabled:"text-[#94a3b8] opacity-50",day_range_middle:"aria-selected:bg-[#f1f5f9] aria-selected:text-black",day_hidden:"invisible",...t};return a.jsx(Ofe,{showOutsideDays:n,className:qa("p-3",e),classNames:r,components:{IconLeft:()=>a.jsx(C,{className:"h-4 w-4"}),IconRight:()=>a.jsx(M,{className:"h-4 w-4"})},...i})}pEe.displayName="Calendar";const gEe=({setScheduleTime:e,setTimezone:t,timezone:n,scheduleTime:i,setIsDirty:o,canEditScheduleTime:s})=>{const[l,u]=r.useState(s&&i&&i<(new Date).toISOString()?"Please select a time in the future":null),[c,d]=r.useState(i&&"now"!==i?kce(new Date(i),"HH:mm"):"00:00"),m=Intl.supportedValuesOf("timeZone").filter((e=>"Pacific/Honolulu"===e||"America/Anchorage"===e||"America/New_York"===e||"America/Chicago"===e||"America/Denver"===e||"America/Los_Angeles"===e||"America/Phoenix"===e||"America/Boise"===e||"America/Detroit"===e||"America/Indiana/Indianapolis"===e||"America/Kentucky/Louisville"===e||"America/Maine"===e||"America/Maryland"===e||"America/Massachusetts"===e||"America/Michigan"===e||"America/Minnesota"===e||"America/Missouri"===e||"America/Nebraska"===e||"America/North_Dakota"===e||"America/Ohio"===e||"America/Pennsylvania"===e||"America/South_Dakota"===e||"America/Tennessee"===e||"America/Texas"===e||"America/Vermont"===e||"America/Virginia"===e||"America/Wisconsin"===e)).map((e=>({label:e.replace(/_/g," "),value:e}))),h=e=>{if(!s)return;const a=new Date(i||(new Date).toISOString()),n=Lue(new Date,15);a<new Date(n.toLocaleString("en-US",{timeZone:e}))?u("Please select a time at least 15 minutes in the future"):(u(null),t(e),o(!0))},p=a=>{if(!s)return;const t=Lue(new Date,15);new Date(a.toLocaleString("en-US",{timeZone:n}))<new Date(t.toLocaleString("en-US",{timeZone:n}))?u("Please select a time at least 15 minutes in the future"):(u(null),e(a.toISOString()),o(!0))};return a.jsx("div",{className:"w-full @container/schedule-time",children:a.jsxs("div",{className:"flex flex-col items-start justify-start h-full",children:[a.jsxs("div",{className:"flex gap-3 w-full @xl/schedule-time:flex-row flex-col items-start justify-start",children:[a.jsxs(Ahe,{children:[a.jsx(Che,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:!s,className:qa("bg-white border-gray-200 hover:bg-gray-50 w-full sm:w-[280px] justify-start text-left font-normal h-10",!i&&"text-gray-500",!s&&"opacity-50 cursor-not-allowed"),children:[a.jsx(k,{className:"mr-2 h-4 w-4 text-gray-600"}),i?"now"===i?"Send immediately":kce(new Date(i),"PPP"):a.jsx("span",{children:"Pick a date"})]})}),a.jsx(Mhe,{className:"w-auto p-0 z-[60] pointer-events-auto",children:a.jsx(pEe,{mode:"single",selected:i?new Date(i):void 0,onSelect:e=>{if(!e||!s)return;const[a,t]=c.split(":").map(Number);e.setHours(a,t),p(e)},disabled:e=>{const a=new Date;return a.setHours(0,0,0,0),e<a||!s},initialFocus:!0})})]}),a.jsx("input",{type:"time",value:c,onChange:e=>{if(s&&(d(e.target.value),i&&e.target.value)){const[a,t]=e.target.value.split(":").map(Number),n=new Date(i);n.setHours(a,t),p(n)}},disabled:!s,className:qa("flex h-10 w-full sm:w-[150px] rounded-lg border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","hover:border-gray-300 transition-colors",l&&"border-red-500",!s&&"opacity-50 cursor-not-allowed")}),a.jsx("div",{className:"w-full sm:w-[200px]",children:a.jsx(JNe,{options:[{category:"Timezones",items:m}],selectedValues:[n],setSelectedValues:e=>h(e[0]),onValueChange:e=>h(e[0]),isLoading:!1,placeholder:"Select timezone...",searchPlaceholder:"Search timezone...",emptyMessage:"No timezone found",title:"Select Timezone",singleSelect:!0,canOpen:s})})]}),l&&a.jsxs("p",{className:"text-red-600 text-sm mt-3 flex items-center",children:[a.jsx("span",{className:"mr-2",children:"⚠️"}),l]})]})})},fEe=({title:e="Edit Schedule Time"})=>{const n=tle(),i=sm(),{updateAutomation:r}=zE(n?.id||""),{toast:o}=dS(),[s,l]=t.useState(null),[u,c]=t.useState(n?.triggerMetadata?.triggerType===ME.ONE_TIME?n?.triggerMetadata?.scheduledAt:null),[d,m]=t.useState(n?.triggerMetadata?.triggerType===ME.ONE_TIME&&n?.triggerMetadata?.timezone||"America/New_York"),[h,p]=t.useState(!1),[g,f]=t.useState(null);let v=t.useRef(null);const y=t.useCallback((()=>{n&&("sendNow"===s||"now"===u?r({trigger:{triggerType:ME.ONE_TIME,scheduledAt:"now"}},{onSuccess:()=>{},onError:()=>{o({title:"Failed to update schedule time",description:"Please try again",variant:"destructive"}),i.invalidateQueries({queryKey:Kx.all})}}):u&&d&&r({trigger:{triggerType:ME.ONE_TIME,scheduledAt:u,timezone:d}},{onSuccess:()=>{},onError:()=>{o({title:"Failed to update schedule time",description:"Please try again",variant:"destructive"}),i.invalidateQueries({queryKey:Kx.all})}}))}),[n,s,u,d,r,o,i]);if(t.useEffect((()=>(g&&(v.current&&clearTimeout(v.current),v.current=setTimeout((()=>{o(g),f(null)}),800)),()=>{v.current&&clearTimeout(v.current)})),[g,o]),t.useEffect((()=>{n&&h&&s&&("sendNow"===s||u)&&(y(),p(!1))}),[s,u,d,y,n,h]),t.useEffect((()=>{null===s&&n?.triggerMetadata&&"object"==typeof n.triggerMetadata&&null!==n.triggerMetadata&&"scheduledAt"in n.triggerMetadata&&("now"===n?.triggerMetadata?.scheduledAt&&n?.triggerType===ME.ONE_TIME?l("sendNow"):(n?.triggerMetadata?.scheduledAt&&c(n.triggerMetadata.scheduledAt),n?.triggerMetadata?.timezone&&m(n.triggerMetadata.timezone),l("schedule")))}),[n,s]),!n)return null;const b=n.status===_E.DRAFT,k=PN(n?.triggerType===ME.ONE_TIME?"engage:automation":"engage:broadcast");return a.jsx(hEe,{title:e,headerActions:!b&&a.jsx(Rx,{title:"You can only edit the schedule time if the automation is in draft mode"}),children:a.jsx("div",{className:"flex-1 mx-4",children:a.jsx("div",{className:"flex flex-col gap-8 items-start",children:a.jsxs("div",{className:"flex-1 w-full",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 w-full",children:[a.jsx("div",{id:"wizard-schedule-immediately-option",className:"min-w-0 w-full",children:a.jsx(ule,{selected:"sendNow"===s,title:"Immediately",subtitle:`Messages will be sent within ~2 minutes of starting the ${k.toLowerCase()}. Check the Recipients tab to see who has received a message.`,icon:a.jsx(OM.SendButton,{className:"text-primary"}),onClick:()=>{b&&(l("sendNow"),c("now"),m("America/New_York"),p(!0))},disabled:!b,className:"w-full h-full"})}),a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(ule,{selected:"schedule"===s,title:"Schedule",subtitle:`Choose date and time. Any ${k.toLowerCase()} scheduled more than 2 hours from now can be unscheduled and updated.`,icon:a.jsx(OM.ScheduleButton,{className:"text-primary"}),onClick:()=>{if(b&&(l("schedule"),"sendNow"===s||"now"===u||null===u)){const e=new Date;e.setHours(e.getHours()+5),c(e.toISOString()),p(!0)}},disabled:!b,className:"w-full h-full"})})]}),u&&"now"!==u&&a.jsx(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full p-3 bg-white rounded-lg border border-gray-200 shadow-sm mt-8",children:a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("div",{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"Currently scheduled for"}),a.jsx("div",{className:"text-sm font-medium text-gray-900",children:new Date(u).toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0,timeZoneName:"short",timeZone:d||void 0})})]})}),a.jsx(fh,{children:"schedule"===s&&a.jsx(Yoe,{className:"mt-8",children:a.jsx("div",{className:"bg-white rounded-lg p-6 border border-gray-200 shadow-sm",children:a.jsx(gEe,{setScheduleTime:e=>{c(e),p(!0)},setTimezone:e=>{m(e),p(!0)},timezone:d,scheduleTime:u,setIsDirty:p,canEditScheduleTime:b})})})})]})})})})},vEe=()=>a.jsx("div",{id:"wizard-schedule-step",className:"flex justify-center items-center h-full",children:a.jsx(fEe,{title:"Set Schedule Time"})});var yEe=(e=>(e.ALL="all",e.SEGMENTS="segments",e.INDIVIDUAL="individual",e))(yEe||{});const bEe=e=>`ONE-OFF-SEGMENT-${e}`,kEe=({onSelectStyle:e})=>{const[n,i]=t.useState(null);return a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 p-4 max-w-4xl mx-auto",children:[a.jsx(ule,{onClick:()=>{i(Kfe.AI),e(Kfe.AI)},title:a.jsx("div",{className:"inline-flex items-center gap-2",children:a.jsx("span",{children:"Build with AI"})}),subtitle:"Describe your audience in plain language and let AI create the conditions",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsxs("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:[a.jsx(we,{className:"w-full h-full"}),a.jsx(ive,{size:"sm"})]})}),selected:n===Kfe.AI}),a.jsx(ule,{onClick:()=>{i(Kfe.MANUAL),e(Kfe.MANUAL)},title:"Build Manually",subtitle:`Create your ${PN("engage:segment")} by configuring conditions directly`,icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:a.jsx(fe,{className:"w-full h-full"})})}),selected:n===Kfe.MANUAL})]})},SEe=({email:e,phone:t,className:n="",size:i="md"})=>{const r={sm:"px-1.5 py-0.5 text-xs",md:"px-2 sm:px-2.5 py-1 text-xs"},o="font-medium rounded-lg cursor-pointer transition-colors";return a.jsxs("div",{className:`flex flex-wrap gap-1.5 sm:gap-2 ${n}`,children:[e&&a.jsx(Rx,{title:e,children:a.jsx("span",{className:`${o} bg-blue-100/50 text-blue-700 hover:bg-blue-200/50 ${r[i]}`,children:"Email"})}),t&&a.jsx(Rx,{title:t,children:a.jsx("span",{className:`${o} bg-green-100/50 text-green-700 hover:bg-green-200/50 ${r[i]}`,children:"Phone"})})]})},wEe=({recipients:e,filter:n="all",audienceMode:i,isSegmentBuilder:r=!1,isLoading:o=!1,searchQuery:s="",onSearchChange:l,onLoadMore:u,hasMore:c=!1,isLoadingMore:d=!1})=>{const[m,h]=t.useState(!1),[p,g]=t.useState(void 0),[f,v]=t.useState(50),[y,b]=t.useState(!1),k=t.useRef(null),S=t.useRef(null),w=t.useRef(null),A=t.useRef(!1),C=u?d:y,M=t.useMemo((()=>e?.filter((e=>{const a=!!e.email,t=!!e.phone;switch(n){case"email":return a;case"phone":return t;default:return!0}}))),[e,n]),T=t.useMemo((()=>u?M||[]:M?.slice(0,f)||[]),[M,f,u]),x=u?c:(M?.length||0)>f,N=t.useCallback((()=>{if(!A.current)if(u)C||!c||A.current||(A.current=!0,u(),setTimeout((()=>{A.current=!1}),1e3));else{if(y||!x||A.current)return;A.current=!0,b(!0),setTimeout((()=>{v((e=>Math.min(e+50,M?.length||0))),b(!1),A.current=!1}),300)}}),[u,C,y,c,x,M?.length]),E=t.useCallback((()=>{const e=S.current;if(!e||C||!x||A.current)return;const{scrollTop:a,scrollHeight:t,clientHeight:n}=e;t-(a+n)<100&&N()}),[N,C,x]);return t.useEffect((()=>{if(!r||!k.current)return;const e=()=>{const e=k.current;if(!e)return;const a=e.parentElement;if(!a)return;const t=window.innerHeight,n=Math.min(a.clientHeight-60,.6*t);g(Math.max(200,n))};e();const a=()=>e();return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)}),[r,e.length]),t.useEffect((()=>{v(50)}),[s,n]),t.useEffect((()=>{if(m&&w.current&&document.activeElement!==w.current){const e=setTimeout((()=>{w.current&&document.activeElement!==w.current&&w.current.focus()}),0);return()=>clearTimeout(e)}}),[m,e.length,s]),t.useEffect((()=>{const e=S.current;if(e)return e.addEventListener("scroll",E),()=>e.removeEventListener("scroll",E)}),[E]),a.jsxs("div",{ref:k,className:"flex flex-col "+(r?"h-full":"bg-foreground/5 rounded-lg border border-gray-200/50 max-h-[600px]"),style:r&&p?{maxHeight:`${p}px`}:void 0,children:[a.jsxs("div",{className:"flex-shrink-0 flex items-center px-3 py-3 bg-foreground/5 backdrop-blur-sm",children:[a.jsx("div",{className:"flex-1 text-xs font-medium text-gray-500 uppercase tracking-wide",children:"Name"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide",children:"Contact"}),a.jsx("button",{onClick:()=>h(!m),className:"p-1.5 rounded-md hover:bg-gray-200/50 transition-colors",title:"Search recipients",children:a.jsx(pe,{className:"w-4 h-4 text-gray-500"})})]})]}),s.trim()&&M.length>0&&a.jsx("div",{className:"flex-shrink-0 px-3 py-2 bg-blue-50/50 border-b border-blue-100/50",children:a.jsxs("p",{className:"text-xs text-blue-700",children:['Showing all users matching "',s,'"']})}),a.jsx(fh,{mode:"wait",children:m&&a.jsxs(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2},className:"flex-shrink-0 bg-white/80 backdrop-blur-sm border-b border-gray-200 px-3 py-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(pe,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),a.jsx("input",{ref:w,type:"text",placeholder:fNe,value:s,onChange:e=>l?.(e.target.value),className:"flex-1 bg-transparent border-none outline-none text-sm placeholder:text-gray-400",autoFocus:!0}),a.jsx("button",{onClick:()=>{h(!1),l?.("")},className:"p-1 rounded-md hover:bg-gray-200/50 transition-colors",children:a.jsx(De,{className:"w-4 h-4 text-gray-500"})})]}),s.trim()&&a.jsx("p",{className:"text-xs text-gray-500 mt-1.5 ml-6",children:"Searching across all recipients"})]},"search-input")}),a.jsx("div",{ref:S,className:"flex-1 overflow-y-auto min-h-0",children:a.jsx(fh,{mode:"wait",children:o?a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex justify-center py-8",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})},"loading"):M?.length?a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:[T.map(((e,t)=>a.jsxs(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.2,delay:t<50?.02*t:0},className:"flex items-center px-3 py-3 border-b border-gray-200/50 hover:bg-white/50 transition-colors",children:[a.jsx("div",{className:"flex-1 text-sm text-gray-900",children:gNe(e,`Unnamed ${PN("engage:user")}`)}),a.jsx(SEe,{email:e.email,phone:e.phone})]},`recipient-${t}`))),C&&T.length>0&&a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex justify-center items-center py-6 border-t border-gray-200/50",children:a.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a.jsx(th,{size:"sm",textColor:"text-gray-500"}),a.jsx("span",{className:"text-xs text-gray-500",children:"Loading more recipients..."})]})})]},"content"):a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"text-center py-8",children:a.jsx("div",{className:"text-gray-400 text-sm mb-2",children:s.trim()?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"text-gray-500 font-medium mb-1",children:"No recipients found"}),a.jsxs("div",{className:"text-gray-400 text-xs",children:['No recipients match "',s,'"']})]}):"email"===n?"No recipients with email addresses":"phone"===n?"No recipients with phone numbers":"all"===n&&(r?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"text-gray-500 font-medium mb-1",children:"No conditions defined"}),a.jsx("div",{className:"text-gray-400 text-xs",children:"Add conditions to see which users match your criteria"})]}):"segments"===i?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"text-gray-500 font-medium mb-1",children:["No ",PN("engage:segment").toLowerCase()," selected"]}),a.jsxs("div",{className:"text-gray-400 text-xs",children:["Select one or more"," ",PN("engage:segment",{count:2}).toLowerCase()," from the list above to see your recipients"]})]}):"individual"===i?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"text-gray-500 font-medium mb-1",children:["No individual"," ",PN("engage:user",{count:2}).toLowerCase()," selected"]}),a.jsxs("div",{className:"text-gray-400 text-xs",children:["Choose specific"," ",PN("engage:user",{count:2}).toLowerCase()," from the dropdown above to see your recipients"]})]}):"No recipients found")})},"empty")})})]})},AEe=(e,a)=>{switch(e){case wse.EQUALS:return"Equals";case wse.NOT_EQUALS:return"Not Equals";case wse.GREATER_THAN:return a===Bse.Date?"Is After Date":"Greater than";case wse.LESS_THAN:return a===Bse.Date?"Is Before Date":"Less Than";case wse.EXISTS:return"Is Known";case wse.NOT_EXISTS:return"Is Not Known";case wse.EQUALS_MONTH_DAY:return"On This Date (Every Year)";case wse.EQUALS_MONTH_DAY_YEAR:return"Is On Date";case wse.BETWEEN_MONTH_DAY:return"Is Between Dates (Every Year)";case wse.BETWEEN_MONTH_DAY_YEAR:return"Is Between Dates";case wse.ARRAY_CONTAINS:return"Is One Of";default:return e}},CEe={email:"Email Address",phone:"Phone Number",firstName:"First Name",lastName:"Last Name"};function MEe(e,a,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),!1===t||!n.defaultPrevented)return a?.(n)}}function TEe(e,t=[]){let n=[];const i=()=>{const a=n.map((e=>r.createContext(e)));return function(t){const n=t?.[e]||a;return r.useMemo((()=>({[`__scope${e}`]:{...t,[e]:n}})),[t,n])}};return i.scopeName=e,[function(t,i){const o=r.createContext(i),s=n.length;n=[...n,i];const l=t=>{const{scope:n,children:i,...l}=t,u=n?.[e]?.[s]||o,c=r.useMemo((()=>l),Object.values(l));return a.jsx(u.Provider,{value:c,children:i})};return l.displayName=t+"Provider",[l,function(a,n){const l=r.useContext(n?.[e]?.[s]||o);if(l)return l;if(void 0!==i)return i;throw new Error(`\`${a}\` must be used within \`${t}\``)}]},xEe(i,...t)]}function xEe(...e){const a=e[0];if(1===e.length)return a;const t=()=>{const t=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const n=t.reduce(((a,{useScope:t,scopeName:n})=>({...a,...t(e)[`__scope${n}`]})),{});return r.useMemo((()=>({[`__scope${a.scopeName}`]:n})),[n])}};return t.scopeName=a.scopeName,t}function NEe(e,a){if("function"==typeof e)return e(a);null!=e&&(e.current=a)}function EEe(...e){return a=>{let t=!1;const n=e.map((e=>{const n=NEe(e,a);return t||"function"!=typeof n||(t=!0),n}));if(t)return()=>{for(let a=0;a<n.length;a++){const t=n[a];"function"==typeof t?t():NEe(e[a],null)}}}}function _Ee(...e){return r.useCallback(EEe(...e),e)}function jEe(e){const t=PEe(e),n=r.forwardRef(((e,n)=>{const{children:i,...o}=e,s=r.Children.toArray(i),l=s.find(BEe);if(l){const e=l.props.children,i=s.map((a=>a===l?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:a));return a.jsx(t,{...o,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,i):null})}return a.jsx(t,{...o,ref:n,children:i})}));return n.displayName=`${e}.Slot`,n}function PEe(e){const a=r.forwardRef(((e,a)=>{const{children:t,...n}=e;if(r.isValidElement(t)){const e=function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(t),i=function(e,a){const t={...a};for(const n in a){const i=e[n],r=a[n];/^on[A-Z]/.test(n)?i&&r?t[n]=(...e)=>{r(...e),i(...e)}:i&&(t[n]=i):"style"===n?t[n]={...i,...r}:"className"===n&&(t[n]=[i,r].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==r.Fragment&&(i.ref=a?EEe(a,e):e),r.cloneElement(t,i)}return r.Children.count(t)>1?r.Children.only(null):null}));return a.displayName=`${e}.SlotClone`,a}var LEe=Symbol("radix.slottable");function BEe(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===LEe}var REe=globalThis?.document?r.useLayoutEffect:()=>{},DEe=r[" useId ".trim().toString()]||(()=>{}),zEe=0;function OEe(e){const[a,t]=r.useState(DEe());return REe((()=>{e||t((e=>e??String(zEe++)))}),[e]),e||(a?`radix-${a}`:"")}var IEe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce(((e,t)=>{const n=jEe(`Primitive.${t}`),i=r.forwardRef(((e,i)=>{const{asChild:r,...o}=e,s=r?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),a.jsx(s,{...o,ref:i})}));return i.displayName=`Primitive.${t}`,{...e,[t]:i}}),{});var KEe=r[" useInsertionEffect ".trim().toString()]||REe;function HEe({prop:e,defaultProp:a,onChange:t=()=>{},caller:n}){const[i,o,s]=function({defaultProp:e,onChange:a}){const[t,n]=r.useState(e),i=r.useRef(t),o=r.useRef(a);return KEe((()=>{o.current=a}),[a]),r.useEffect((()=>{i.current!==t&&(o.current?.(t),i.current=t)}),[t,i]),[t,n,o]}({defaultProp:a,onChange:t}),l=void 0!==e,u=l?e:i;{const a=r.useRef(void 0!==e);r.useEffect((()=>{const e=a.current;if(e!==l){}a.current=l}),[l,n])}const c=r.useCallback((a=>{if(l){const t=function(e){return"function"==typeof e}(a)?a(e):a;t!==e&&s.current?.(t)}else o(a)}),[l,e,o,s]);return[u,c]}var FEe=r.createContext(void 0);function GEe(e){const a=r.useContext(FEe);return e||a||"ltr"}var VEe="rovingFocusGroup.onEntryFocus",JEe={bubbles:!1,cancelable:!0},UEe="RovingFocusGroup",[WEe,qEe,ZEe]=function(e){const n=e+"CollectionProvider",[i,r]=TEe(n),[o,s]=i(n,{collectionRef:{current:null},itemMap:new Map}),l=e=>{const{scope:n,children:i}=e,r=t.useRef(null),s=t.useRef(new Map).current;return a.jsx(o,{scope:n,itemMap:s,collectionRef:r,children:i})};l.displayName=n;const u=e+"CollectionSlot",c=jEe(u),d=t.forwardRef(((e,t)=>{const{scope:n,children:i}=e,r=_Ee(t,s(u,n).collectionRef);return a.jsx(c,{ref:r,children:i})}));d.displayName=u;const m=e+"CollectionItemSlot",h="data-radix-collection-item",p=jEe(m),g=t.forwardRef(((e,n)=>{const{scope:i,children:r,...o}=e,l=t.useRef(null),u=_Ee(n,l),c=s(m,i);return t.useEffect((()=>(c.itemMap.set(l,{ref:l,...o}),()=>{c.itemMap.delete(l)}))),a.jsx(p,{[h]:"",ref:u,children:r})}));return g.displayName=m,[{Provider:l,Slot:d,ItemSlot:g},function(a){const n=s(e+"CollectionConsumer",a);return t.useCallback((()=>{const e=n.collectionRef.current;if(!e)return[];const a=Array.from(e.querySelectorAll(`[${h}]`));return Array.from(n.itemMap.values()).sort(((e,t)=>a.indexOf(e.ref.current)-a.indexOf(t.ref.current)))}),[n.collectionRef,n.itemMap])},r]}(UEe),[$Ee,YEe]=TEe(UEe,[ZEe]),[QEe,XEe]=$Ee(UEe),e_e=r.forwardRef(((e,t)=>a.jsx(WEe.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(WEe.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(a_e,{...e,ref:t})})})));e_e.displayName=UEe;var a_e=r.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:i,loop:o=!1,dir:s,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:m=!1,...h}=e,p=r.useRef(null),g=_Ee(t,p),f=GEe(s),[v,y]=HEe({prop:l,defaultProp:u??null,onChange:c,caller:UEe}),[b,k]=r.useState(!1),S=function(e){const a=r.useRef(e);return r.useEffect((()=>{a.current=e})),r.useMemo((()=>(...e)=>a.current?.(...e)),[])}(d),w=qEe(n),A=r.useRef(!1),[C,M]=r.useState(0);return r.useEffect((()=>{const e=p.current;if(e)return e.addEventListener(VEe,S),()=>e.removeEventListener(VEe,S)}),[S]),a.jsx(QEe,{scope:n,orientation:i,dir:f,loop:o,currentTabStopId:v,onItemFocus:r.useCallback((e=>y(e)),[y]),onItemShiftTab:r.useCallback((()=>k(!0)),[]),onFocusableItemAdd:r.useCallback((()=>M((e=>e+1))),[]),onFocusableItemRemove:r.useCallback((()=>M((e=>e-1))),[]),children:a.jsx(IEe.div,{tabIndex:b||0===C?-1:0,"data-orientation":i,...h,ref:g,style:{outline:"none",...e.style},onMouseDown:MEe(e.onMouseDown,(()=>{A.current=!0})),onFocus:MEe(e.onFocus,(e=>{if(e.target===e.currentTarget&&!A.current&&!b){const a=new CustomEvent(VEe,JEe);if(e.currentTarget.dispatchEvent(a),!a.defaultPrevented){const e=w().filter((e=>e.focusable));r_e([e.find((e=>e.active)),e.find((e=>e.id===v)),...e].filter(Boolean).map((e=>e.ref.current)),m)}}A.current=!1})),onBlur:MEe(e.onBlur,(()=>k(!1)))})})})),t_e="RovingFocusGroupItem",n_e=r.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:i=!0,active:o=!1,tabStopId:s,children:l,...u}=e,c=OEe(),d=s||c,m=XEe(t_e,n),h=m.currentTabStopId===d,p=qEe(n),{onFocusableItemAdd:g,onFocusableItemRemove:f,currentTabStopId:v}=m;return r.useEffect((()=>{if(i)return g(),()=>f()}),[i,g,f]),a.jsx(WEe.ItemSlot,{scope:n,id:d,focusable:i,active:o,children:a.jsx(IEe.span,{tabIndex:h?0:-1,"data-orientation":m.orientation,...u,ref:t,onMouseDown:MEe(e.onMouseDown,(e=>{i?m.onItemFocus(d):e.preventDefault()})),onFocus:MEe(e.onFocus,(()=>m.onItemFocus(d))),onKeyDown:MEe(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;const a=function(e,a,t){const n=function(e,a){return"rtl"!==a?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,t);return"vertical"===a&&["ArrowLeft","ArrowRight"].includes(n)||"horizontal"===a&&["ArrowUp","ArrowDown"].includes(n)?void 0:i_e[n]}(e,m.orientation,m.dir);if(void 0!==a){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=p().filter((e=>e.focusable)).map((e=>e.ref.current));if("last"===a)i.reverse();else if("prev"===a||"next"===a){"prev"===a&&i.reverse();const r=i.indexOf(e.currentTarget);i=m.loop?(n=r+1,(t=i).map(((e,a)=>t[(n+a)%t.length]))):i.slice(r+1)}setTimeout((()=>r_e(i)))}var t,n})),children:"function"==typeof l?l({isCurrentTabStop:h,hasTabStop:null!=v}):l})})}));n_e.displayName=t_e;var i_e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function r_e(e,a=!1){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus({preventScroll:a}),document.activeElement!==t)return}}var o_e=e_e,s_e=n_e;var l_e=e=>{const{present:a,children:t}=e,n=function(e){const[a,t]=r.useState(),n=r.useRef(null),i=r.useRef(e),o=r.useRef("none"),s=e?"mounted":"unmounted",[l,u]=function(e,a){return r.useReducer(((e,t)=>a[e][t]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return r.useEffect((()=>{const e=u_e(n.current);o.current="mounted"===l?e:"none"}),[l]),REe((()=>{const a=n.current,t=i.current;if(t!==e){const n=o.current,r=u_e(a);if(e)u("MOUNT");else if("none"===r||"none"===a?.display)u("UNMOUNT");else{u(t&&n!==r?"ANIMATION_OUT":"UNMOUNT")}i.current=e}}),[e,u]),REe((()=>{if(a){let e;const t=a.ownerDocument.defaultView??window,r=r=>{const o=u_e(n.current).includes(r.animationName);if(r.target===a&&o&&(u("ANIMATION_END"),!i.current)){const n=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout((()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=n)}))}},s=e=>{e.target===a&&(o.current=u_e(n.current))};return a.addEventListener("animationstart",s),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",s),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}u("ANIMATION_END")}),[a,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:r.useCallback((e=>{n.current=e?getComputedStyle(e):null,t(e)}),[])}}(a),i="function"==typeof t?t({present:n.isPresent}):r.Children.only(t),o=_Ee(n.ref,function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(i));return"function"==typeof t||n.isPresent?r.cloneElement(i,{ref:o}):null};function u_e(e){return e?.animationName||"none"}l_e.displayName="Presence";var c_e="Tabs",[d_e,m_e]=TEe(c_e,[YEe]),h_e=YEe(),[p_e,g_e]=d_e(c_e),f_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,onValueChange:r,defaultValue:o,orientation:s="horizontal",dir:l,activationMode:u="automatic",...c}=e,d=GEe(l),[m,h]=HEe({prop:i,onChange:r,defaultProp:o??"",caller:c_e});return a.jsx(p_e,{scope:n,baseId:OEe(),value:m,onValueChange:h,orientation:s,dir:d,activationMode:u,children:a.jsx(IEe.div,{dir:d,"data-orientation":s,...c,ref:t})})}));f_e.displayName=c_e;var v_e="TabsList",y_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,loop:i=!0,...r}=e,o=g_e(v_e,n),s=h_e(n);return a.jsx(o_e,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:a.jsx(IEe.div,{role:"tablist","aria-orientation":o.orientation,...r,ref:t})})}));y_e.displayName=v_e;var b_e="TabsTrigger",k_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,disabled:r=!1,...o}=e,s=g_e(b_e,n),l=h_e(n),u=A_e(s.baseId,i),c=C_e(s.baseId,i),d=i===s.value;return a.jsx(s_e,{asChild:!0,...l,focusable:!r,active:d,children:a.jsx(IEe.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:u,...o,ref:t,onMouseDown:MEe(e.onMouseDown,(e=>{r||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(i)})),onKeyDown:MEe(e.onKeyDown,(e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(i)})),onFocus:MEe(e.onFocus,(()=>{d||r||!("manual"!==s.activationMode)||s.onValueChange(i)}))})})}));k_e.displayName=b_e;var S_e="TabsContent",w_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,forceMount:o,children:s,...l}=e,u=g_e(S_e,n),c=A_e(u.baseId,i),d=C_e(u.baseId,i),m=i===u.value,h=r.useRef(m);return r.useEffect((()=>{const e=requestAnimationFrame((()=>h.current=!1));return()=>cancelAnimationFrame(e)}),[]),a.jsx(l_e,{present:o||m,children:({present:n})=>a.jsx(IEe.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!n,id:d,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&s})})}));function A_e(e,a){return`${e}-trigger-${a}`}function C_e(e,a){return`${e}-content-${a}`}w_e.displayName=S_e;var M_e=y_e,T_e=k_e,x_e=w_e;const N_e=f_e,E_e=r.forwardRef((({className:e,...t},n)=>a.jsx(M_e,{ref:n,className:qa("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t})));E_e.displayName=M_e.displayName;const __e=r.forwardRef((({className:e,...t},n)=>a.jsx(T_e,{ref:n,className:qa("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})));__e.displayName=T_e.displayName;const j_e=r.forwardRef((({className:e,...t},n)=>a.jsx(x_e,{ref:n,className:qa("ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t})));j_e.displayName=x_e.displayName;var P_e=(e=>(e.Today="today",e.Yesterday="yesterday",e.Tomorrow="tomorrow",e.LastWeek="last-week",e.NextWeek="next-week",e.FifteenDaysAgo="fifteen-days-ago",e.FifteenDaysFromNow="fifteen-days-from-now",e))(P_e||{});const L_e=(e,a)=>{const t=new Date;t.setHours(0,0,0,0);let n=new Date(t);switch(e){case P_e.Today:break;case P_e.Yesterday:n.setDate(t.getDate()-1);break;case P_e.Tomorrow:n.setDate(t.getDate()+1);break;case P_e.LastWeek:n.setDate(t.getDate()-7);break;case P_e.NextWeek:n.setDate(t.getDate()+7);break;case P_e.FifteenDaysAgo:n.setDate(t.getDate()-15);break;case P_e.FifteenDaysFromNow:n.setDate(t.getDate()+15);break;default:throw new Error("Invalid single date preset")}return n},B_e=e=>{(new Date).setHours(0,0,0,0);let a=0;switch(e){case P_e.Today:a=0;break;case P_e.Yesterday:case P_e.Tomorrow:a=1;break;case P_e.LastWeek:case P_e.NextWeek:a=7;break;case P_e.FifteenDaysAgo:case P_e.FifteenDaysFromNow:a=15;break;default:return null}const t=[P_e.Tomorrow,P_e.NextWeek,P_e.FifteenDaysFromNow].includes(e);return{type:"relative",value:a,unit:vse.DAYS,direction:t?"after":"before"}},R_e=YA.union([YA.date(),YA.string().transform((e=>{if(/^\d{4}-\d{2}-\d{2}$/.test(e)){const[a,t,n]=e.split("-").map(Number);return new Date(a,t-1,n)}return new Date(e)}))]).refine((e=>!isNaN(e.getTime())),{message:"Invalid date"}),D_e=e=>!(!e||"object"!=typeof e)&&(void 0===e.value||!("number"!=typeof e.value||e.value<0)&&(e.unit===vse.DAYS&&(("before"===e.direction||"after"===e.direction)&&"relative"===e.type))),z_e=e=>!e||void 0===e.value||e.value<=730,O_e=e=>!(e.startDate&&"object"==typeof e.startDate&&"type"in e.startDate&&"relative"===e.startDate.type&&!z_e(e.startDate))&&!(e.endDate&&"object"==typeof e.endDate&&"type"in e.endDate&&"relative"===e.endDate.type&&!z_e(e.endDate)),I_e=e=>!(!e.startDate||!e.endDate)&&(!("object"==typeof e.startDate&&"type"in e.startDate&&!D_e(e.startDate))&&!("object"==typeof e.endDate&&"type"in e.endDate&&!D_e(e.endDate))),K_e=e=>{const{date:a,fieldType:t}=e;return t===Bse.Date?new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),0,0,0,0)):a},H_e=e=>{if(e instanceof Date)return e.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});if("object"==typeof e&&"type"in e&&"relative"===e.type){return void 0===e.value?"Select days...":`${e.value} days ${e.direction} today`}if("object"==typeof e&&"startDate"in e&&"endDate"in e){const a=e;return`${a.startDate?H_e(a.startDate):"Select start date..."} - ${a.endDate?H_e(a.endDate):"Select end date..."}`}return"Select date..."},F_e=({isOpen:e,onClose:t,onConfirm:n,fieldType:i,operator:o,currentValue:s,toast:l})=>{const u=s.length>0&&"object"==typeof s[0]&&"type"in s[0]&&"relative"===s[0].type,c=s.length>0&&"object"==typeof s[0]&&"startDate"in s[0]&&"endDate"in s[0],d=o===wse.BETWEEN_MONTH_DAY||o===wse.BETWEEN_MONTH_DAY_YEAR,[m,h]=r.useState((()=>{if(!d){if((i===Bse.Date||i===Bse.DateTime)&&s.length>0&&!u&&!c){const e=R_e.safeParse(s[0]);return e.success?e.data:new Date}return new Date}})),[p]=r.useState(u?s[0]:{type:"relative",value:0,unit:vse.DAYS,direction:"before"}),[g,f]=r.useState((()=>{if(c)return s[0];if(d){const e=new Date;e.setDate(e.getDate()-1);const a=new Date;return a.setDate(a.getDate()+1),{startDate:K_e({date:e,fieldType:i}),endDate:K_e({date:a,fieldType:i})}}})),[v,y]=r.useState((()=>{if(u&&s.length>0){const e=s[0];if(void 0!==e.value)return`${e.value} days ${"before"===e.direction?"ago":"from now"}`}return""})),[b,k]=r.useState(""),[S,w]=r.useState(""),[A,C]=r.useState((()=>{if(u&&s.length>0){const e=s[0];if(void 0!==e.value){const a=Object.values(P_e);let t=null;for(const n of a){const a=B_e(n);if(a&&a.value===e.value&&a.direction===e.direction){t=n;break}}return!t}}return!1})),{parseDate:M,isParsing:T,parseError:x,parseResult:N}=Qse(),[E,_]=r.useState(null),[j,P]=r.useState(!1),L=r.useRef(null),[B,R]=r.useState(null),[D,z]=r.useState(u?"relative":"specific");r.useEffect((()=>{if(!d&&s.length>0){const e=s[0];e instanceof Date?(h(K_e({date:e,fieldType:i})),y(""),C(!1),R(null),z("specific")):"object"==typeof e&&null!==e&&"type"in e&&"relative"===e.type&&(h(void 0),z("relative"))}else d||(h(new Date),y(""),C(!1),R(null),z("specific"))}),[s,d,i]),r.useEffect((()=>{if(!d&&s.length>0){const a=s[0];try{if(a instanceof Date){const e=(e=>{(new Date).setHours(0,0,0,0);const a=Object.values(P_e);for(const n of a)try{if(L_e(n).getTime()===e.getTime())return n}catch(t){continue}return null})(a);R(e||null)}else if("object"==typeof a&&null!==a&&"type"in a&&"relative"===a.type){const e=a;if(void 0!==e.value){const a=Object.values(P_e);let t=null;for(const n of a){const a=B_e(n);if(a&&a.value===e.value&&a.direction===e.direction){t=n;break}}R(t||null)}else R(null)}else R(null)}catch(e){R(null)}}}),[s,d]);const O=e=>{try{R(e),y(""),C(!1),_(null),P(!1);const a=B_e(e);a&&(z_e(a)?_(a):(R(null),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"})))}catch(a){R(null)}},I=r.useCallback((e=>{if(!e.trim())return _(null),void P(!1);L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{M({userInput:e,operator:o})}),800)}),[M,o]),K=r.useCallback(((e,a)=>{if(!e.trim()||!a.trim())return _(null),void P(!1);L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{M({userInput:`between ${e} and ${a}`,operator:o})}),800)}),[M,o]);r.useEffect((()=>{d&&b.trim()&&S.trim()&&K(b,S)}),[b,S,d,K]),r.useEffect((()=>{if(N)if(N.success&&N.parsedDate)if("object"==typeof N.parsedDate&&"type"in N.parsedDate&&"relative"===N.parsedDate.type){const e=N.parsedDate;z_e(e)?(_(e),P(!1)):(_(null),P(!0),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}))}else if("object"==typeof N.parsedDate&&"startDate"in N.parsedDate&&"endDate"in N.parsedDate){const e=N.parsedDate;O_e(e)?(_(e),P(!1)):(_(null),P(!0),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}))}else _(null),P(!0);else _(null),P(!0)}),[N,l]),r.useEffect((()=>{x&&(_(null),P(!0))}),[x]),r.useEffect((()=>()=>{L.current&&clearTimeout(L.current)}),[]);const H=o===wse.EQUALS_MONTH_DAY||o===wse.EQUALS_MONTH_DAY_YEAR||o===wse.GREATER_THAN||o===wse.LESS_THAN,F=e=>{const a=e.startDate??g?.startDate,t=e.endDate??g?.endDate,n=a&&"object"==typeof a&&"type"in a,i=t&&"object"==typeof t&&"type"in t;if(a&&t){if(n!==i)return void l({title:"Invalid date range",description:"Both start and end dates must be of the same type (either both absolute or both relative).",variant:"destructive"});if(!n&&!i&&(r={finalStartDate:a,finalEndDate:t}).finalStartDate&&r.finalEndDate&&!(r.finalStartDate<r.finalEndDate))return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"});if(n){if(!D_e(a)||!D_e(t))return void l({title:"Invalid relative date",description:"Please enter valid relative dates.",variant:"destructive"});const e=a,n=t,i=o===wse.BETWEEN_MONTH_DAY||o===wse.BETWEEN_MONTH_DAY_YEAR;if(!i&&e.direction!==n.direction)return void l({title:"Invalid date range",description:"Start and end dates must be in the same direction (both in the past or both in the future).",variant:"destructive"});if(i){const a=new Date,t=new Date(a),i=new Date(a);if(t.setDate("before"===e.direction?a.getDate()-e.value:a.getDate()+e.value),i.setDate("before"===n.direction?a.getDate()-n.value:a.getDate()+n.value),t>=i)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}else if("before"===e.direction){if(e.value<=n.value)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}else if("after"===e.direction&&e.value>=n.value)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}}var r;f(e)},G=()=>{if(d){if("relative"===D){if(A&&v.trim()&&E&&"startDate"in E&&"endDate"in E)return I_e(E)?O_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid date range",description:"The parsed date range is invalid.",variant:"destructive"});if(A&&(b.trim()||S.trim())&&E&&"startDate"in E&&"endDate"in E)return I_e(E)?O_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid date range",description:"The parsed date range is invalid.",variant:"destructive"})}if(A&&!E)return v.trim()||b.trim()||S.trim()?void l({title:"Invalid input",description:'Please enter a valid date range expression like "between 5 days ago and 3 days ago".',variant:"destructive"}):void l({title:"Input required",description:"Please enter a date range expression.",variant:"destructive"});if("specific"!==D||!g?.startDate||!g?.endDate)return"specific"===D?void l({title:"Date range required",description:"Please select both start and end dates.",variant:"destructive"}):void l({title:"Invalid input",description:"Please enter a valid date range expression or switch to specific dates.",variant:"destructive"});n([{startDate:g.startDate,endDate:g.endDate}]),t()}else if(null!==B)try{const e=B_e(B);return e&&D_e(e)?z_e(e)?(n([e]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid preset",description:"The selected preset is not valid.",variant:"destructive"})}catch(e){return void l({title:"Invalid preset",description:"The selected preset is not valid.",variant:"destructive"})}else if(A){if(!v.trim())return void l({title:"Input required",description:"Please enter a custom date or select a preset.",variant:"destructive"});if(E&&"type"in E&&"relative"===E.type&&D_e(E))return z_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"});const e=(e=>{const a=e.trim().toLowerCase().match(/^(\d+)\s+days?\s+(ago|from now)$/);if(a)return{type:"relative",value:parseInt(a[1],10),unit:vse.DAYS,direction:"ago"===a[2]?"before":"after"};return null})(v);if(!e||!D_e(e))return void l({title:"Invalid input",description:'Please enter a valid date expression like "14 days ago", "last week", or "3 days from now".',variant:"destructive"});if(!z_e(e))return void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"});n([e]),t()}else"relative"===D&&H?(n([p]),t()):"specific"===D&&m?(n([K_e({date:m,fieldType:i})]),t()):(n([]),t())};return a.jsx(wi,{open:e,onOpenChange:e=>{e||G()},children:a.jsxs(Ti,{className:d?"w-[600px] max-w-none":"w-[500px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Select Date"})}),a.jsxs(N_e,{value:D,onValueChange:e=>{z(e),"specific"===e?(m||h(new Date),y(""),C(!1),R(null),_(null),P(!1)):"relative"===e&&h(void 0)},className:"w-full",children:[a.jsxs(E_e,{className:"grid w-full grid-cols-2",children:[a.jsx(__e,{value:"relative",children:"Relative"}),a.jsx(__e,{value:"specific",children:"Specific"})]}),a.jsxs(j_e,{value:"relative",className:"space-y-4 mt-4",children:[T&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-blue-600 bg-blue-50 border border-blue-200 rounded-md p-2",children:[a.jsx("div",{className:"animate-spin h-3 w-3 border border-blue-600 border-t-transparent rounded-full"}),"AI is parsing your date..."]}),E&&!T&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-green-600 bg-green-50 border border-green-200 rounded-md p-2",children:[a.jsx("div",{className:"text-green-500",children:"✓"}),a.jsxs("div",{children:["Parsed as:"," ",d&&"startDate"in E&&"endDate"in E?`${E.startDate?H_e(E.startDate):"..."} to ${E.endDate?H_e(E.endDate):"..."}`:H_e(E)]})]}),!d&&a.jsxs("div",{className:"space-y-4",children:[a.jsx(j_,{className:"text-sm font-medium",children:"Quick Select"}),a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"flex justify-center",children:a.jsx(Xa,{variant:B===P_e.Today?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Today)},className:"px-6 py-2 h-auto",children:a.jsxs("div",{className:"flex flex-col items-center",children:[a.jsx("span",{className:"font-medium text-sm",children:"Today"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Current date"})]})},P_e.Today)}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsx(Xa,{variant:B===P_e.Yesterday?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Yesterday)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Yesterday"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Previous day"})]})},P_e.Yesterday),a.jsx(Xa,{variant:B===P_e.Tomorrow?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Tomorrow)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Tomorrow"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Next day"})]})},P_e.Tomorrow),a.jsx(Xa,{variant:B===P_e.LastWeek?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.LastWeek)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Last Week"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"7 days ago"})]})},P_e.LastWeek),a.jsx(Xa,{variant:B===P_e.NextWeek?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.NextWeek)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Next Week"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"7 days from now"})]})},P_e.NextWeek),a.jsx(Xa,{variant:B===P_e.FifteenDaysAgo?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.FifteenDaysAgo)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"15 Days Ago"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Two weeks ago"})]})},P_e.FifteenDaysAgo),a.jsx(Xa,{variant:B===P_e.FifteenDaysFromNow?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.FifteenDaysFromNow)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"15 Days From Now"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Two weeks ahead"})]})},P_e.FifteenDaysFromNow)]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(j_,{children:"Custom"}),d?a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"flex gap-2 p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. between 5 days ago and 3 days ago",value:v,onChange:e=>{const a=e.target.value;y(a),C(!0),P(!1),k(""),w(""),I(a)},onFocus:()=>{C(!0)},className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 "+(T?"opacity-50":"")})}),a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:"flex-1 h-px bg-gray-200"}),a.jsx("span",{className:"px-3 text-xs text-gray-500",children:"OR"}),a.jsx("div",{className:"flex-1 h-px bg-gray-200"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-sm",children:"Start"}),a.jsx("div",{className:"p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 5 days ago",value:b,onChange:e=>{k(e.target.value),C(!0),P(!1),_(null),y("")},onFocus:()=>C(!0),className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 text-sm"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-sm",children:"End"}),a.jsx("div",{className:"p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 3 days ago",value:S,onChange:e=>{w(e.target.value),C(!0),P(!1),_(null),y("")},onFocus:()=>C(!0),className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 text-sm"})})]})]})]}):a.jsx("div",{className:"flex gap-2 p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 14 days ago, last week, 3 days from now",value:v,onChange:e=>{const a=e.target.value;y(a),C(!0),P(!1),R(null),I(a)},onFocus:()=>{C(!0),R(null),y(""),C(!1),_(null),P(!1)},className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 "+(T?"opacity-50":"")})})]})]}),a.jsx(j_e,{value:"specific",className:"space-y-4 mt-4",children:a.jsxs("div",d?{className:"space-y-3 flex flex-col items-center",children:[a.jsx(j_,{children:"Choose date range"}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-center",children:"Start Date"}),a.jsx(Ife,{mode:"single",selected:g?.startDate instanceof Date||"string"==typeof g?.startDate?g.startDate instanceof Date?g.startDate:new Date(g.startDate):void 0,onSelect:e=>{if(e){const a=K_e({date:e,fieldType:i});f({...g,startDate:a}),F({...g,startDate:a})}},className:"rounded-md border",disabled:()=>!1})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-center",children:"End Date"}),a.jsx(Ife,{mode:"single",selected:g?.endDate instanceof Date||"string"==typeof g?.endDate?g.endDate instanceof Date?g.endDate:new Date(g.endDate):void 0,onSelect:e=>{if(e){const a=K_e({date:e,fieldType:i});f({...g,endDate:a}),F({...g,endDate:a})}},className:"rounded-md border",disabled:()=>!1})]})]})]}:{className:"space-y-3 flex flex-col items-center",children:[a.jsx(j_,{children:"Choose specific date"}),a.jsx(Ife,{mode:"single",selected:m,onSelect:e=>{if(e&&((a=e)instanceof Date?!isNaN(a.getTime()):"object"==typeof a&&"type"in a&&"relative"===a.type&&D_e(a))){const a=K_e({date:e,fieldType:i});h(a),y(""),C(!1),R(null),_(null),P(!1)}else e||h(void 0);var a},className:"rounded-md border",disabled:()=>!1})]})})]}),a.jsxs("div",{className:"space-y-3 pt-4",children:[j&&!T&&v.trim()&&A&&a.jsxs("div",{className:"flex items-center gap-2 text-sm text-red-600 bg-red-50 border border-red-200 rounded-md p-3",children:[a.jsx("div",{className:"text-red-500",children:"⚠"}),a.jsxs("div",{children:[a.jsx("div",{className:"font-medium",children:"Could not parse date"}),a.jsx("div",{className:"text-xs text-red-500 mt-1",children:'Try formats like "14 days ago", "last week", or "3 days from now"'})]})]}),a.jsxs("div",{className:"flex justify-end space-x-2",children:[a.jsx(Xa,{variant:"destructive",onClick:()=>{t()},disabled:T,children:"Cancel"}),a.jsx(Xa,{onClick:G,disabled:T,children:T?"Parsing...":"Confirm"})]})]})]})})},G_e=({value:e,onClick:t,operator:n,disabled:i=!1})=>{if(n===wse.BETWEEN_MONTH_DAY||n===wse.BETWEEN_MONTH_DAY_YEAR){const n=e.length>0?e[0]:null,r=n?.startDate?H_e(n.startDate):"Start date...",o=n?.endDate?H_e(n.endDate):"End date...";return a.jsxs("div",{className:"flex gap-2",children:[a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[140px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:r,children:Sye(r,140,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]}),a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[140px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:o,children:Sye(o,140,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]})]})}const r=e.length>0?H_e(e[0]):"Select date...";return a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[200px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:r,children:Sye(r,200,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]})},V_e=({fieldType:e,operator:t,value:n,onChange:i,options:o,toast:s,viewOnly:l=!1,totalCount:u})=>{const[c,d]=r.useState(!1);if(e===Bse.String||e===Bse.ReachResource||e===Bse.Array)return t===wse.EXISTS||t===wse.NOT_EXISTS?null:a.jsx(JNe,{options:(o||[]).map((e=>({category:"Options",items:[{label:e.displayName,value:e.id}]}))),onValueChange:e=>{l||i(e)},selectedValues:n.filter((e=>null!=e&&void 0!==e&&""!==e)).map((e=>{const a=(o||[]).find((a=>a.id===String(e)||a.displayName===String(e)||a.id===a.displayName&&a.id===String(e)));return a?.id||String(e)})),setSelectedValues:e=>{l||i(e)},isLoading:!o||0===o.length,totalCount:u});if(e===Bse.Date||e===Bse.DateTime){if(t===wse.EXISTS||t===wse.NOT_EXISTS)return null;return t===wse.EQUALS_MONTH_DAY||t===wse.EQUALS_MONTH_DAY_YEAR||t===wse.GREATER_THAN||t===wse.LESS_THAN||(t===wse.BETWEEN_MONTH_DAY||t===wse.BETWEEN_MONTH_DAY_YEAR)||t===wse.EQUALS?a.jsxs(a.Fragment,{children:[a.jsx(G_e,{value:n,onClick:()=>!l&&d(!0),operator:t,disabled:l}),!l&&a.jsx(F_e,{isOpen:c,onClose:()=>d(!1),onConfirm:i,fieldType:e,operator:t,currentValue:n,toast:s})]}):null}if(e===Bse.Number||e===Bse.Integer)return t===wse.EXISTS||t===wse.NOT_EXISTS?null:a.jsx(Io,{type:"number",value:n.length>0?String(n[0]):"",onChange:e=>!l&&i([Number(e.target.value)]),className:"w-[200px]",disabled:l});if(e===Bse.Boolean){if(t===wse.EXISTS||t===wse.NOT_EXISTS)return null;const e=n.length>0&&Boolean(n[0]);return a.jsx(k_,{checked:e,onCheckedChange:e=>!l&&i([e]),disabled:l})}return a.jsx(Io,{value:n.length>0?String(n[0]):"",onChange:e=>!l&&i([e.target.value]),className:"w-[200px]",disabled:l||!0})},J_e=({condition:e,onUpdate:i,onDuplicate:r,onDelete:o,segmentsConditions:s,totalConditions:l,viewOnly:u=!1})=>{const{toast:c}=dS(),[d,m]=t.useState(!1),[h,p]=t.useState(!1),g=t.useRef(null),[f,v]=t.useState({top:0,right:0}),y=t.useRef(null),{segments:b}=Zse(),k=b?.find((e=>e.type===Jse.ALL_USERS)),S="userId"===e.field?k?.userCount:void 0,w=(e=>{const a=s.conditions.find((a=>a.field===e));return a||null})(e.field)||{operators:[],type:Bse.String,options:void 0,itemType:void 0,description:void 0},A=w.operators,C=w.type,M=s.conditions.map((e=>({value:e.field,label:CEe[e.field]||e.field,description:e.description})));t.useEffect((()=>{setTimeout((()=>document.body.style.pointerEvents=""),0)}),[]),t.useEffect((()=>{if((d||h)&&g.current){const e=g.current.getBoundingClientRect();v({top:e.top-12,right:window.innerWidth-e.right-12})}}),[d,h]);return a.jsxs(a.Fragment,{children:[!u&&n.createPortal(a.jsxs("div",{className:"fixed flex gap-1 z-50 transition-all duration-200 ease-in-out pointer-events-none",style:{top:f.top,right:f.right,opacity:d||h?1:0,transform:d||h?"scale(1)":"scale(0.8)",pointerEvents:d||h?"auto":"none"},onMouseEnter:()=>{y.current&&clearTimeout(y.current),p(!0)},onMouseLeave:()=>{p(!1),y.current=setTimeout((()=>{m(!1)}),100)},children:[a.jsx(Xa,{size:"sm",variant:"secondary",onClick:r,className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-gray-50",children:a.jsx(D,{className:"h-3 w-3"})}),l>1&&a.jsx(Xa,{size:"sm",variant:"secondary",onClick:o,className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-red-50 hover:border-red-200 hover:text-red-600",children:a.jsx(xe,{className:"h-3 w-3"})})]}),document.body),a.jsx("div",{ref:g,className:"bg-white rounded-lg border border-gray-200 p-4 transition-all duration-200 "+(u?"bg-gray-50 border-gray-300":"hover:border-gray-300 hover:shadow-sm"),onMouseEnter:u?void 0:()=>{y.current&&clearTimeout(y.current),m(!0)},onMouseLeave:u?void 0:()=>{y.current=setTimeout((()=>{h||m(!1)}),100)},children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch gap-3 min-w-0 w-full",children:[a.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(w.description||e.field)&&a.jsx(Rx,{title:"Field Information",description:w.description||`This field represents: ${e.field}`,Icon:V,size:"small",iconColor:"text-gray-400 hover:text-gray-600",children:a.jsx(Xa,{size:"sm",variant:"secondary",className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-blue-50 hover:border-blue-200 hover:text-blue-600 flex-shrink-0",children:a.jsx(V,{className:"h-3 w-3"})})}),a.jsx(wye,{options:M,value:e.field,placeholder:"Select field",onChange:a=>{const t=a,n=s.conditions.find((e=>e.field===t));if(!n)return;const r=n.operators.map((e=>({value:e,label:AEe(e,n.type),fieldType:n.type}))),o=r[0]?.value;let l=[];switch(n.type){case Bse.Boolean:l=[!1];break;case Bse.Number:l=[0];break;case Bse.Date:case Bse.DateTime:l=[new Date];break;default:l=[]}i({...e,field:t,operator:o,value:l})},className:"w-full",disableInput:!1,disabled:u})]}),a.jsxs("div",{className:"flex-1 min-w-0 max-w-xs flex gap-2 items-center",children:[(e.operator===wse.EQUALS_MONTH_DAY||e.operator===wse.EQUALS_MONTH_DAY_YEAR||e.operator===wse.BETWEEN_MONTH_DAY||e.operator===wse.BETWEEN_MONTH_DAY_YEAR)&&a.jsx("div",{className:"flex items-center",children:(e=>{let t;switch(e){case wse.EQUALS_MONTH_DAY:t="This operator will check if only the month and day are equal. This is useful for things like birthday, where year does not matter. Use this for segments you would like to reuse annually.";break;case wse.EQUALS_MONTH_DAY_YEAR:t="This operator will check if only the month and day are equal. This is useful for things like appointment dates, where the specific date is important.";break;case wse.BETWEEN_MONTH_DAY:t="This operator will check if the date is between the two dates, but only checking the month and the day, not the year. This is helpful for things like birthday, where year does not matter. Use this for segments you would like to rescuer annually.";break;case wse.BETWEEN_MONTH_DAY_YEAR:t="This operator will check if the date is between the two dates, checking the month, day and year. This is helpful for things like appointment dates, where specific day, month and year is important";break;default:return null}return a.jsx(Rx,{title:t})})(e.operator)}),a.jsx(wye,{options:A.map((e=>({value:e,label:e?AEe(e,C):e}))),value:e.operator,onChange:a=>{const t=a;i({...e,operator:t,value:[]})},placeholder:"Select operator",className:"w-full",disableInput:!0,disabled:u})]}),a.jsx("div",{className:"flex-1 min-w-0 max-w-full overflow-x-hidden",children:a.jsx(V_e,{fieldType:C,operator:e.operator,options:"string"==typeof e.value[0]&&e.value[0]&&Array.isArray(w.options)?[...(w.options||[]).map((e=>({displayName:e.displayName,id:e.id}))),...e.value.filter((e=>e&&"string"==typeof e&&""!==e.trim()&&!w.options?.some((a=>a.id===e||a.displayName===e)))).map((e=>({displayName:e,id:e})))]:w.options?.map((e=>({displayName:e.displayName,id:e.id})))||[],value:e.value,onChange:a=>i({...e,value:a}),toast:c,viewOnly:u,totalCount:S})})]})})]})},U_e=({segment:e,setSegment:t,segmentsConditions:n,updateCondition:i,duplicateCondition:o,deleteCondition:s,addCondition:l,businessId:u,viewOnly:c=!1,segmentType:d,existingSegmentConditions:m})=>{const[h,p]=r.useState(""),[g,f]=r.useState(100),v=r.useMemo((()=>JSON.stringify(e.conditions)),[e.conditions]);r.useEffect((()=>{f(100)}),[h,v]);const{data:y,isLoading:b,isFetching:k,error:S}=Xse(e.type,e.conditions,u,{debounceMs:500,search:h,limit:g},m),w=y?.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email,phone:e.phone})))??[],A=y?.estimatedTotal??0,C=y?.pagination?.hasNextPage??!1,M=r.useRef(!1),T=r.useCallback((()=>{M.current||b||!C||(M.current=!0,f((e=>e+100)),setTimeout((()=>{M.current=!1}),1e3))}),[b,C]);return a.jsx(Yoe,{className:"flex-1 flex flex-col overflow-visible",children:a.jsxs("div",{className:"flex h-full gap-6 overflow-visible",children:[a.jsxs("div",{className:"flex-1 flex flex-col overflow-visible",children:[a.jsxs("div",{className:"mb-6 grid grid-cols-2 gap-2",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center gap-0",children:[a.jsx(j_,{children:"Name"}),!c&&a.jsx("span",{className:"text-xs text-red-500 ml-1 align-super",children:"*"})]}),a.jsx(Io,{placeholder:`${PN("engage:segment")} name`,value:e.name,onChange:a=>t({...e,name:a.target.value}),disabled:c,className:c?"bg-gray-50 text-gray-700":""})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(j_,{children:"Description"}),a.jsx(Io,{placeholder:`${PN("engage:segment")} description`,value:e.description,onChange:a=>t({...e,description:a.target.value}),disabled:c,className:c?"bg-gray-50 text-gray-700":""})]})]}),"sql"===d&&a.jsxs("div",{className:"mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),a.jsx("p",{className:"text-sm text-blue-700 font-medium",children:"Custom Segment"})]}),a.jsx("p",{className:"text-sm text-blue-600 mt-1",children:"This segment is managed by your admin and cannot be edited here."})]}),a.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden pb-8",children:a.jsx("div",{className:"grid overflow-visible",children:a.jsxs(fh,{mode:"popLayout",children:["sql"!==d&&e.conditions.map(((t,r)=>a.jsxs(tS.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:20},transition:{type:"spring",stiffness:300,damping:30,mass:.5},style:{overflow:"visible"},children:[r>0&&a.jsxs(tS.div,{className:"relative flex items-center py-2",initial:{opacity:0},animate:{opacity:1},transition:{delay:.1},children:[a.jsx(tS.div,{className:"h-px flex-1 bg-border",initial:{scaleX:0},animate:{scaleX:1},transition:{type:"spring",stiffness:300,damping:30,mass:.5}}),a.jsx(tS.span,{className:"text-muted-foreground text-xs",initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},children:"AND"}),a.jsx(tS.div,{className:"h-px flex-1 bg-border",initial:{scaleX:0},animate:{scaleX:1},transition:{type:"spring",stiffness:300,damping:30,mass:.5}})]}),a.jsx(J_e,{condition:t,onUpdate:e=>i(r,e),segmentsConditions:n,onDuplicate:()=>o(r),onDelete:()=>s(r),totalConditions:e.conditions.length,viewOnly:c})]},`${t.field}-${t.operator}-${r}`))),!c&&"sql"!==d&&a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{type:"spring",stiffness:300,damping:30,mass:.5},className:"pt-4",children:a.jsxs(Xa,{variant:"secondary",onClick:l,children:[a.jsx(de,{className:"h-4 w-4"}),"Add Condition"]})},"add-condition-button")]})})})]}),a.jsxs("div",{className:"w-96 flex flex-col h-full overflow-hidden",children:[a.jsxs("div",{className:"mb-4 flex-shrink-0",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Recipients Preview"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:b?"Loading recipients...":A>0?`${A.toLocaleString()} users match your conditions`:"No users match your conditions"})]}),a.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:b?a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx("div",{className:"animate-spin h-6 w-6 border-2 border-blue-600 border-t-transparent rounded-full"})}):S?a.jsx("div",{className:"flex items-center justify-center h-full text-red-600",children:a.jsx("p",{children:"Error loading recipients"})}):a.jsx(wEe,{recipients:w,filter:"all",audienceMode:yEe.SEGMENTS,isSegmentBuilder:!0,searchQuery:h,onSearchChange:p,totalCount:A,onLoadMore:T,hasMore:C,isLoadingMore:k,isLoading:b})})]})]})})},W_e=({segmentId:e,setOpen:t,setTextToSegment:n,promptBuilderStyle:i,textToSegment:r,viewOnly:o=!1})=>a.jsx("div",{children:a.jsx(xi,{className:"",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(Ei,{className:"text-3xl font-normal",children:o?`View ${PN("engage:segment")}`:e?`Edit ${PN("engage:segment")}`:`Create ${PN("engage:segment")}`}),a.jsxs("div",{className:"flex items-center gap-2",children:[!o&&!1===i&&!1===r&&a.jsx(fx,{children:a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(Xa,{variant:"outline",size:"sm",onClick:()=>n(!0),children:a.jsx(we,{className:"h-4 w-3"})})}),a.jsx(bx,{children:a.jsxs("p",{children:["Use AI to create ",PN("engage:segment")," by describing them in natural language"]})})]})}),a.jsx(Xa,{variant:"ghost",size:"icon",onClick:()=>{t(!1)},className:"h-8 w-8",children:a.jsx(De,{className:"h-4 w-4"})})]})]})})}),q_e=({setTextToSegment:e,setSegment:n,setSegmentName:i,setSegmentDescription:r,currentSegment:o})=>{const[s,l]=t.useState(""),[u,c]=t.useState(!1),[d,m]=t.useState(!1),[h,p]=t.useState(),[g,f]=t.useState(null),v=t.useRef(null),{toast:y}=dS(),{sendNotificationAsync:b}=bS();t.useEffect((()=>{if(g&&i&&r){const a=`${g.title}-${g.description}-${JSON.stringify(g.conditions)}`;if(v.current===a)return;v.current=a,i&&r&&(!g.title||o?.name&&""!==o.name.trim()||i(g.title),!g.description||o?.description&&""!==o.description.trim()||r(g.description)),n(g.conditions),f(null),e(!1)}}),[g]);return a.jsxs("div",{className:"flex flex-col w-full max-w-2xl",children:[a.jsxs("div",{className:"space-y-2 text-center flex-shrink-0 px-4 pt-4 pb-2",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Describe your audience"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe the audience you want to target in plain language, and our AI will create the conditions for you."})]}),a.jsxs("div",{className:"mb-4 overflow-x-hidden px-4 space-y-4",children:[a.jsx(fh,{mode:"wait",children:d&&h&&a.jsx(tS.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.95},transition:{type:"spring",stiffness:300,damping:30,duration:.3},className:"rounded-lg border border-amber-200 bg-amber-50 p-4",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"flex-shrink-0",children:a.jsx("div",{className:"h-5 w-5 rounded-full bg-amber-100 flex items-center justify-center",children:a.jsx(we,{className:"text-amber-600 h-4 w-4"})})}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h4",{className:"text-sm font-medium text-amber-800",children:"Let's try again with a better description"}),a.jsx("p",{className:"mt-1 text-sm text-amber-700",children:h}),a.jsx("p",{className:"mt-2 text-xs text-amber-600",children:"Refine your description above and try again, or use the manual builder if you prefer. Be sure to check what fields are available in the manual builder."})]})]})},"error-display")}),a.jsx("div",{className:"flex flex-col items-center",children:a.jsxs(fh,{mode:"wait",children:[u&&a.jsx(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{type:"spring",stiffness:400,damping:25,duration:.25},children:a.jsx(Yoe,{children:a.jsx("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:a.jsx(tS.div,{animate:{rotate:360},transition:{duration:2,repeat:1/0,ease:"linear"},children:a.jsx(th,{})})})})},"loading-state"),!u&&a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{type:"spring",stiffness:300,damping:30,duration:.3},className:"w-full",children:a.jsx(Yoe,{children:a.jsx(rve,{placeholder:"Describe your target audience...",className:"min-h-[120px] resize-none w-full",value:s,onChange:e=>l(e.target.value),disabled:u})})},"input-state")]})})]}),a.jsx("div",{className:"flex-shrink-0 px-4 pb-4",children:a.jsx(fh,{mode:"wait",children:!u&&a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{type:"spring",stiffness:300,damping:30,duration:.3,delay:.1},className:"flex justify-center gap-2",children:[d&&a.jsx(tS.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{type:"spring",stiffness:400,damping:25,duration:.25},children:a.jsx(Xa,{variant:"outline",onClick:()=>{m(!1),p(void 0)},disabled:u,children:"Try Again"})}),a.jsxs(Xa,{onClick:async()=>{if(!s)return void y({title:"Please enter a description",description:"Please enter a description of your target audience",variant:"destructive"});c(!0),m(!1),p(void 0);const a=await(async e=>(await Hm(`${ym}/text-to-segment`,{method:"POST",body:JSON.stringify(e)})).data)({text:s,userCustomVerb:PN("engage:user")});if(b({message:"💬 New AI Segment requested",product:"engage",feature:"text-to-segment",details:{userInput:s,response:a}}),a.success&&a.conditions){if(0===a.conditions.length)return m(!0),p("Received empty segment conditions from AI. This might indicate a system issue."),y({title:`${PN("engage:segment")} build failed`,description:"Something unexpected happened. Please try again or use manual builder.",variant:"destructive"}),void e(!1);f({conditions:a.conditions,title:a.title,description:a.description})}else m(!0),p(a.failureReason);c(!1)},disabled:u||!s.trim(),children:[a.jsx(we,{className:"h-4 w-4"}),d?"Generate Again":`Generate ${PN("engage:segment")}`]}),a.jsx(Xa,{variant:"ghost",onClick:()=>{e(!1)},disabled:u,children:"Cancel"})]},"button-group")})})]})};function Z_e({segmentId:e,setOpen:t,onSegmentUpdated:n,viewOnly:i=!1}){const{toast:o}=dS(),{data:s}=fS(),l=void 0===e,[u,c]=r.useState(!1),[d,m]=r.useState(null),{segment:h,isLoading:p}=$se(e||""),{updateSegment:g}=(e=>{const a=sm(),t=fm({mutationFn:a=>{if(!e)throw new Error("Segment ID is required");return fse(e,a)},onSuccess:()=>{a.invalidateQueries({queryKey:Wse.all})}});return{updateSegment:t.mutate,updateSegmentAsync:t.mutateAsync,isUpdating:t.isPending,updateError:t.error,isUpdateSuccess:t.isSuccess}})(e),{deleteSegment:f,isDeleting:v}=Yse(e),{createSegment:y,isCreating:b,segmentsConditions:k}=qse(),[S,w]=r.useState(!1),[A,C]=r.useState(!i&&!!l),[M,T]=r.useState(!1);if(r.useEffect((()=>{if(k)if(h){const e=h.conditions.filter(Nse).map((e=>({field:e.field,operator:e.operator,value:e.value})));m({version:"1.0",id:h.id,name:h.name,description:h.description||"",logic:"AND",conditions:e,type:h.type,createdAt:h.createdAt})}else m((e=>({version:"1.0",id:"",name:e?.name||"",description:e?.description||"",logic:"AND",createdAt:null,conditions:[{field:k.conditions[0].field,operator:k.conditions[0].operators[0],value:[]}],type:Jse.CUSTOM})))}),[h,k]),!k||p||!d)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(th,{})});const x=e=>e.value.some((e=>"object"==typeof e&&null!==e&&"type"in e&&"relative"===e.type)),N=e=>e.value.some((e=>"object"==typeof e&&null!==e&&"startDate"in e&&"endDate"in e));return a.jsxs(a.Fragment,{children:[a.jsx(W_e,{segmentId:e,setOpen:t,setTextToSegment:w,promptBuilderStyle:A,textToSegment:S,viewOnly:i},"segment-builder-header"),!i&&A?a.jsx(Yoe,{className:"flex-1 flex items-center justify-center",children:a.jsx(kEe,{onSelectStyle:e=>{"ai"===e&&w(!0),C(!1)}})},"prompt-builder-style"):a.jsx(Yoe,{className:"flex-1 flex flex-col",children:a.jsxs("div",{className:"flex flex-1 flex-col",children:[a.jsx("div",{className:"flex flex-1 flex-col px-8 py-2",children:a.jsx("div",{className:"flex flex-1 flex-col gap-4",children:a.jsx(fh,{children:!i&&S?a.jsx(Yoe,{className:"flex justify-center min-h-full overflow-auto",children:a.jsx(q_e,{setTextToSegment:w,setSegment:e=>{m((a=>a?{...a,conditions:e}:null))},setSegmentName:e=>{m((a=>{if(!a)return null;return{...a,name:e}}))},setSegmentDescription:e=>{m((a=>{if(!a)return null;return{...a,description:e}}))},currentSegment:d})}):a.jsx(a.Fragment,{children:a.jsx(U_e,{segment:d,setSegment:m,segmentsConditions:{conditions:k?.conditions.map((e=>({...e,operators:e.operators})))??[]},updateCondition:(e,a)=>{const t=[...d.conditions];t[e]=a,m({...d,conditions:t})},duplicateCondition:e=>{const a=[...d.conditions];a.splice(e+1,0,{...d.conditions[e]}),m({...d,conditions:a})},deleteCondition:e=>{const a=d.conditions.filter(((a,t)=>t!==e));m({...d,conditions:a})},addCondition:()=>{const e={field:k.conditions[0].field,operator:k.conditions[0].operators[0],value:[]};m({...d,conditions:[...d.conditions,e]})},businessId:s?.id??"",viewOnly:i,segmentType:h?.type,existingSegmentConditions:h?.conditions})})})})}),a.jsx("div",{className:"border-t px-8 py-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[!i&&S&&a.jsxs(Xa,{variant:"secondary",onClick:()=>w(!1),children:[a.jsx(fe,{className:"h-4 w-4"}),"Manual Builder"]}),a.jsx("div",{className:"flex gap-2 ml-auto",children:i?a.jsx(Xa,{variant:"default",onClick:()=>t(!1),children:"Close"}):a.jsxs(a.Fragment,{children:[e&&!l&&a.jsxs(Xa,{variant:"destructive",onClick:()=>T(!0),disabled:v,children:[a.jsx(xe,{className:"mr-2 h-4 w-4"}),"Delete"]}),a.jsx(Xa,{variant:"secondary",onClick:()=>t(!1),children:"Cancel"}),a.jsx(Xa,{variant:"default",onClick:async()=>{if(!d.name)return void o({title:"Name is required",description:"Please ensure all fields are filled out",variant:"destructive"});const{valid:a,error:i}=(e=>{for(const a of e){if(!a.field||!a.operator)return{valid:!1,error:"Please ensure all fields are filled out for condition"};if(a.operator!==wse.EXISTS&&a.operator!==wse.NOT_EXISTS&&0===a.value.length)return{valid:!1,error:`Please ensure a value is selected for ${a.field}`};if((a.operator===wse.EXISTS||a.operator===wse.NOT_EXISTS)&&a.value.length>0)return{valid:!1,error:`EXISTS or NOT_EXISTS operator can only be used with an empty array for ${a.field}`};if(x(a)&&a.operator!==wse.EQUALS_MONTH_DAY&&a.operator!==wse.EQUALS_MONTH_DAY_YEAR&&a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR&&a.operator!==wse.GREATER_THAN&&a.operator!==wse.LESS_THAN)return{valid:!1,error:`Relative dates can only be used with the month and day or month, day, and year operator for ${a.field}`};if(x(a)&&void 0===a.value[0].value)return{valid:!1,error:`Please select a value for the relative date for ${a.field}`};if(N(a)&&a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR)return{valid:!1,error:`Between dates can only be used with the between month day or between month day year operator for ${a.field}`};if(N(a)&&a.value.length>1)return{valid:!1,error:`Between dates can only have a single value for ${a.field}`};if(N(a)){const e=a.value[0];if(!e.startDate||!e.endDate)return{valid:!1,error:`Please ensure both a start and end date are selected for ${a.field}`};if(e.startDate instanceof Date&&e.endDate instanceof Date&&e.startDate>e.endDate)return{valid:!1,error:`Start date must be before end date for ${a.field}`};if("object"==typeof e.startDate&&"type"in e.startDate&&"relative"===e.startDate.type&&"object"==typeof e.endDate&&"type"in e.endDate&&"relative"===e.endDate.type){if(!e.startDate.value||!e.endDate.value)return{valid:!1,error:`Please ensure both a start and end date are selected for ${a.field}`};if(a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR&&e.startDate.direction!==e.endDate.direction)return{valid:!1,error:`Start and end date must be in the same direction (both in the past or both in the future) for ${a.field}`};const t=e=>{if(e.unit===vse.DAYS)return e.value??0;throw rse(e.unit,vse)};if(a.operator===wse.BETWEEN_MONTH_DAY||a.operator===wse.BETWEEN_MONTH_DAY_YEAR){const t=new Date,n=new Date(t),i=new Date(t);if(n.setDate("before"===e.startDate.direction?t.getDate()-e.startDate.value:t.getDate()+e.startDate.value),i.setDate("before"===e.endDate.direction?t.getDate()-e.endDate.value:t.getDate()+e.endDate.value),n>=i)return{valid:!1,error:`Start date must be before end date for ${a.field}`}}else{if("before"===e.startDate.direction&&t(e.startDate)<=t(e.endDate))return{valid:!1,error:`Start date must be before end date for ${a.field}`};if("after"===e.startDate.direction&&t(e.startDate)>=t(e.endDate))return{valid:!1,error:`Start date must be before end date for ${a.field}`}}}}}return{valid:!0,error:void 0}})(d.conditions);if(!a)return void o({title:"Conditions are invalid",description:i??"Please ensure all fields are filled out",variant:"destructive"});const r=d.conditions.map((e=>{const a=k?.conditions.find((a=>a.field===e.field));return a?.type===Bse.Date?{...e,value:e.value.map((e=>e instanceof Date?e.toISOString().split("T")[0]:e))}:e}));c(!0);try{e&&h?g({name:d.name,description:d.description,conditions:r},{onSuccess:()=>{o({title:`${PN("engage:segment")} updated successfully`}),t(!1),n?.(e)},onError:()=>{o({title:`Error updating ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}}):y({name:d.name,description:d.description,conditions:d.conditions},{onSuccess:e=>{o({title:`${PN("engage:segment")} created successfully`}),n?.(e?.id??!1),t(!1)},onError:()=>{o({title:`Error creating ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}})}catch(s){o({title:`Error saving ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}finally{c(!1)}},disabled:u||b,children:u||b?a.jsxs(a.Fragment,{children:[a.jsx(W,{className:"mr-2 h-4 w-4 animate-spin"}),e?"Updating...":"Creating..."]}):e?"Update":"Create"})]})})]})})]})},"manual-builder-style"),a.jsx(wi,{open:M,onOpenChange:T,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Delete Segment"}),a.jsxs(_i,{children:['Are you sure you want to delete "',d?.name,'"? This action is permanent.']})]}),a.jsxs(Ni,{children:[a.jsx(Xa,{variant:"outline",onClick:()=>T(!1),disabled:v,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{e?f(void 0,{onSuccess:()=>{o({title:`${PN("engage:segment")} deleted successfully`}),t(!1),n?.(e)},onError:()=>{o({title:`Error deleting ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}}):o({title:"Error deleting segment",description:"Segment ID is required",variant:"destructive"})},disabled:v,children:a.jsxs(a.Fragment,v?{children:[a.jsx(W,{className:"mr-2 h-4 w-4 animate-spin"}),"Deleting..."]}:{children:[a.jsx(xe,{className:"mr-2 h-4 w-4"}),"Delete"]})})]})]})})]})}function $_e({open:e,setOpen:t,segmentId:n,onSegmentUpdated:i,viewOnly:r=!1}){return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"flex h-[85vh] w-[85vw] max-w-none flex-col gap-0 overflow-y-auto",hideCloseButton:!0,children:[a.jsxs(Xe,{children:[a.jsxs(Ei,{children:[PN("engage:segment")," Builder"]}),a.jsxs(_i,{children:["Build a ",PN("engage:segment")," to target your audience"]})]}),a.jsx(Z_e,{segmentId:n,setOpen:t,onSegmentUpdated:e=>{i?.(e),t(!1)},viewOnly:r})]})})}const Y_e="reach-EstimatedMatchesView-module__learnMoreLink___M-mr-",Q_e="reach-EstimatedMatchesView-module__reassuranceBannerAlternative___kBAuQ",X_e="reach-EstimatedMatchesView-module__reassuranceBannerAlternativeText___Sifb-",eje="reach-EstimatedMatchesView-module__reassuranceBannerAlternativeTitle___rIfFG",aje=()=>a.jsx(Rx,{title:`The total number of ${PN("engage:user",{count:2}).toLocaleLowerCase()} may not match your SMS and email counts because some ${PN("engage:user",{count:2}).toLocaleLowerCase()} may have unsubscribed, invalid contact information, or haven't opted into marketing messages. This number can also change as new ${PN("engage:user",{count:2}).toLocaleLowerCase()} join your segments.`}),tje=({value:e,label:t,percentage:n,variant:i,isLoading:r,selected:o,onClick:s,tooltip:l,icon:u})=>a.jsx(tS.div,{className:`rounded-md border-2 border-muted-foreground/20 px-2 sm:px-3 lg:px-4 pt-3 lg:pt-4 pb-3 lg:pb-5 duration-300 ease-in-out overflow-x-auto max-w-full min-w-0 h-full flex flex-col ${o?"scale-[1.02] [border-color:hsl(var(--reach-primary))] shadow-lg":""} ${s?"cursor-pointer hover:bg-gray-50/50 transition-colors":""}`,style:{containerType:"inline-size"},"data-card-container":!0,onClick:s,layout:!0,children:a.jsxs("div",{className:"flex flex-col h-full w-full min-w-0",children:[a.jsxs("div",{className:"flex items-start gap-1.5 sm:gap-2 w-full h-[2.5rem] sm:h-[2.75rem] mb-2 sm:mb-3 lg:mb-4",children:[u?a.jsx(u,{className:`w-3.5 h-3.5 sm:w-4 sm:h-4 flex-shrink-0 mt-0.5 ${{default:"text-gray-600",blue:"text-blue-600",green:"text-green-600"}[i]}`}):a.jsx("div",{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 flex-shrink-0"}),a.jsxs("div",{className:"flex items-start gap-1.5 flex-1 min-w-0 h-full",children:[a.jsx("span",{className:`text-[10px] sm:text-xs font-medium leading-tight break-words ${{default:"text-gray-700",blue:"text-blue-700",green:"text-green-700"}[i]}`,children:t}),l&&a.jsx("div",{className:"flex-shrink-0 mt-0.5",children:a.jsx(Rx,{title:l})})]})]}),a.jsx("div",{className:"flex-1 flex items-start w-full",children:a.jsx(fh,{mode:"wait",children:r?a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex items-center",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})},"loading"):a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex flex-col gap-1 w-full",children:[a.jsx("span",{className:"font-semibold break-words max-w-full min-w-0\n text-lg sm:text-xl @[250px]:text-2xl @[350px]:text-3xl text-primary leading-none",children:e.toLocaleString()}),void 0!==n&&a.jsxs("span",{className:"text-muted-foreground/50 text-[10px] leading-none",children:["(",n,"%)"]})]},"content")})})]})}),nje=({countResponse:e,selectedFilter:n="all",onFilterChange:i,isLoading:r=!1})=>{const o=t.useMemo((()=>{if(!e)return{total:0,emails:0,phones:0};const a=e.count||0;if(void 0!==e.emailCount&&void 0!==e.phoneCount)return{total:a,emails:e.emailCount,phones:e.phoneCount};const t=e.recipients||[],n=t.filter((e=>e.email)).length,i=t.filter((e=>e.phone)).length,r=t.length;let o=0,s=0;if(r>0&&a>0){const e=i/r;o=Math.round(a*(n/r)),s=Math.round(a*e)}else o=0,s=0;return{total:a,emails:o,phones:s}}),[e]),s=e=>0===o.total?0:Math.round(e/o.total*100),l=o.total>Math.max(o.emails,o.phones);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(j_,{children:"Estimated Matches"}),a.jsx(aje,{})]}),l&&a.jsx("div",{className:Q_e,children:a.jsxs("p",{className:X_e,children:[a.jsx("span",{className:eje,children:"Total vs. Subscribed mismatch?"})," ","Some ",PN("engage:user",{count:2}).toLowerCase()," may have unsubscribed or had hard bounces."," ",a.jsx(Rx,{description:"This can happen when customers unsubscribe, emails bounces, or contact info is missing. This is normal and expected.",size:"small",iconColor:"text-muted-foreground",children:a.jsx("span",{className:Y_e,children:"Learn more"})})]})}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 lg:mb-6 w-full gap-3 sm:gap-4 mt-3 px-1 items-stretch",children:[a.jsx(tje,{value:o.total,label:"Total",variant:"default",isLoading:r||void 0===e,selected:"all"===n,onClick:i?()=>i("all"):void 0,tooltip:`Total includes all ${PN("engage:user",{count:2}).toLocaleLowerCase()} in your system. This does not factor in ${PN("engage:user",{count:2}).toLocaleLowerCase()} who might have opted out of email or sms.`,icon:OM.UsersIcon}),a.jsx(tje,{value:o.emails,label:"Subscribed to Email",percentage:s(o.emails),variant:"blue",isLoading:r||void 0===e,selected:"email"===n,onClick:i?()=>i("email"):void 0,icon:OM.EmailIcon}),a.jsx(tje,{value:o.phones,label:"Subscribed to SMS",percentage:s(o.phones),variant:"green",isLoading:r||void 0===e,selected:"phone"===n,onClick:i?()=>i("phone"):void 0,icon:OM.SmsIcon})]})]})},ije=({onSelectionChange:e,defaultValue:n=yEe.ALL,canEditAudience:i=!0})=>{const[r,o]=t.useState(n),s=a=>{i&&(o(a),e?.(a))};return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(j_,{children:"Filter"}),!i&&a.jsx(Rx,{title:"You cannot edit the audience unless you are in draft mode"})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 gap-3 xl:gap-4 px-1",children:[a.jsx("div",{id:"all-users-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.ALL),title:`All ${PN("engage:user",{count:2})}`,subtitle:"Send to everyone",icon:a.jsx(OM.UsersIcon,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"all"===r,disabled:!i,hideSelectedText:!0})}),a.jsx("div",{id:"segments-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.SEGMENTS),title:`Select ${PN("engage:segment",{count:2})}`,subtitle:`Choose from ${PN("engage:segment",{count:2})}`,icon:a.jsx(OM.UserEdit,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"segments"===r,disabled:!i,hideSelectedText:!0})}),a.jsx("div",{id:"individual-users-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.INDIVIDUAL),title:"Select Individual",subtitle:`Pick ${PN("engage:user",{count:2}).toLowerCase()} one by one`,icon:a.jsx(OM.UserIcon,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"individual"===r,disabled:!i,hideSelectedText:!0})})]})]})},rje=({selectedUserIds:e,onUserSelectionChange:n,canEditAudience:i=!0})=>{const[r,o]=t.useState(e),[s,l]=t.useState(),[u,c]=t.useState(!1),[d,m]=t.useState(!1),{segments:h}=Zse(),p=t.useMemo((()=>h?.find((e=>e.type===Jse.ALL_USERS))),[h]),g=p?.userCount??0;t.useEffect((()=>{o(e)}),[e]);const f=t.useCallback((async()=>{if(!d&&!s?.recipients&&h){m(!0),c(!0);try{const e=h.find((e=>e.type===Jse.ALL_USERS));if(e){const a=await gse({includeSegments:[e.id],excludeSegments:[]});l(a)}}catch(e){}finally{c(!1)}}}),[d,s?.recipients,h]);t.useEffect((()=>{if(!s?.recipients&&h&&!u){const e=setTimeout((()=>{f()}),100);return()=>clearTimeout(e)}}),[s?.recipients,h,u,f]);const v=t.useMemo((()=>s?.recipients?s.recipients.filter((e=>null!==e.externalId)).map((e=>{const t=!!!e.email&&!!!e.phone,n=(e.emailOptedOut||!1)&&(e.smsOptedOut||!1),i=t||n;let r="";return i&&(t?r="No email or phone number available":n&&(r="User has opted out of both email and SMS")),{label:gNe({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0},"Unnamed User"),value:e.externalId,disabled:i,disabledReason:r,customComponent:a.jsx(SEe,{email:e.email??void 0,phone:e.phone??void 0,size:"sm"}),searchData:{email:e.email??void 0,phone:e.phone??void 0,firstName:e.firstName??void 0,lastName:e.lastName??void 0}}})):[]),[s?.recipients]);return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Select Individual Users"}),a.jsx("p",{className:"text-sm text-gray-500",children:"Choose specific users to include in your automation"})]}),e.length>0&&a.jsxs("div",{className:"text-sm text-gray-500",children:[e.length," user",1!==e.length?"s":""," selected"]})]}),a.jsx(JNe,{options:[{category:"Users",items:v}],onValueChange:e=>{o(e),n(e)},selectedValues:r,setSelectedValues:o,isLoading:u,placeholder:"Select users...",title:"Select Individual Users",searchPlaceholder:fNe,emptyMessage:"No users found",canOpen:i,totalCount:g})]})},oje=({segments:e,allSegments:n,onAddSegment:i,onRemoveSegment:r,setOpenCreateSegmentDialog:o,canEditAudience:s=!0})=>{const[l,u]=t.useState(!1),[c,d]=t.useState([]),m=n.map((e=>({label:e.name,value:e.id})));return t.useEffect((()=>{d(e)}),[e]),t.useEffect((()=>{if(0===n.length){u(!0);const e=setTimeout((()=>{u(!1)}),100);return()=>clearTimeout(e)}u(!1)}),[n.length]),a.jsx("div",{children:a.jsx(JNe,{canOpen:s,selectedValues:c,setSelectedValues:d,options:[{category:"Segments",items:m}],onValueChange:a=>{const t=a.filter((a=>!e.includes(a))),n=e.filter((e=>!a.includes(e)));t.forEach(i),n.forEach(r)},isLoading:l,placeholder:`Select ${PN("engage:segment",{count:2})}`,maxCount:5,title:`Select ${PN("engage:segment",{count:2})}`,extraCommandItems:[e=>a.jsxs("div",{onClick:()=>{e(!0),o(!0)},className:"cursor-pointer flex items-center gap-2 px-3 py-2 hover:bg-gray-100 rounded-md transition-colors",children:[a.jsx(OM.PlusIcon,{className:"w-4 h-4"}),"New"]},"new-segment")]})})},sje=({includedSegments:e,excludedSegments:n,handleAddSegment:i,handleRemoveSegment:r,setOpenCreateSegmentDialog:o,segments:s,defaultIsExcludeOpen:l=!1,canEditAudience:u=!0})=>{const[c,d]=t.useState(l);return a.jsxs("div",{children:[a.jsx(oje,{segments:e,allSegments:s||[],onAddSegment:e=>i(e,"include"),onRemoveSegment:e=>r(e,"include"),setOpenCreateSegmentDialog:o,canEditAudience:u}),a.jsx("div",{className:"border-t border-gray-200 my-8"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs(Xa,{onClick:()=>{u&&d(!c)},className:"flex items-center gap-1 transition-colors",size:"sm",children:[a.jsx(tS.div,{animate:{rotate:c?180:0},transition:{duration:.2},children:a.jsx(OM.DropdownMenuTrigger,{className:"w-5 h-5"})}),a.jsx("span",{children:"Don't send to"})]}),a.jsx(fh,{children:c&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2,ease:"easeInOut"},children:a.jsx(oje,{canEditAudience:u,segments:n,allSegments:s||[],onAddSegment:e=>i(e,"exclude"),onRemoveSegment:e=>r(e,"exclude"),setOpenCreateSegmentDialog:o})})})]})]})},lje=({title:e="Preview Audience"})=>{const n=tle(),[i,r]=t.useState(yEe.ALL),[o,s]=t.useState(n?.includeSegmentIds||[]),[l,u]=t.useState(n?.excludeSegmentIds||[]),[c,d]=t.useState([]),[m,h]=t.useState(!1),[p,g]=t.useState(!1),[f,v]=t.useState("all"),[y,b]=t.useState(""),{segments:k,isLoading:S}=Zse(),{updateAutomation:w}=zE(n?.id??""),{createSegmentAsync:A}=qse(),{updateSegmentAsync:C}=(()=>{const e=sm(),a=fm({mutationFn:({segmentId:e,params:a})=>fse(e,a),onSuccess:()=>{e.invalidateQueries({queryKey:Wse.all})}});return{updateSegmentAsync:a.mutateAsync,isUpdating:a.isPending,updateError:a.error,isUpdateSuccess:a.isSuccess}})(),M=t.useMemo((()=>{if(!k||0===k.length)return;let e=0,a=0,t=0;return o.forEach((n=>{const i=k.find((e=>e.id===n));if(i){const n=Number(i.userCount)||0,r=i,o=Number(r.emailCount)||0,s=Number(r.phoneCount)||0;e+=n,a+=o,t+=s}})),l.forEach((n=>{const i=k.find((e=>e.id===n));if(i){const n=Number(i.userCount)||0,r=i,o=Number(r.emailCount)||0,s=Number(r.phoneCount)||0;e=Math.max(0,e-n),a=Math.max(0,a-o),t=Math.max(0,t-s)}})),{count:e,emailCount:a,phoneCount:t,recipients:[],pagination:{hasNextPage:!1,cursor:null}}}),[k,o,l]),{data:T,isLoading:x,isFetching:N,hasMore:E,loadMore:_}=((e,a,n,i)=>{const[r,o]=t.useState(e),[s,l]=t.useState(a),[u,c]=t.useState(i?.search||""),[d,m]=t.useState([]),[h,p]=t.useState(i?.cursor),g=JSON.stringify(r),f=JSON.stringify(s);t.useEffect((()=>{m([]),p(void 0)}),[g,f,u,i?.filter]),t.useEffect((()=>{const t=setTimeout((()=>{o(e),l(a)}),i?.debounceMs??500);return()=>clearTimeout(t)}),[e,a,i?.debounceMs]),t.useEffect((()=>{const e=setTimeout((()=>{c(i?.search||"")}),150);return()=>clearTimeout(e)}),[i?.search]);const v=i?.filter??"all",y=gm({queryKey:[...Kx.recipients(n,r,s,u),v,h||"initial",i?.limit??100],queryFn:()=>gse({includeSegments:r,excludeSegments:s,automationId:n,search:u||void 0,limit:i?.limit??100,filter:v,cursor:h}),enabled:(i?.enabled??!0)&&!!n,staleTime:0,placeholderData:Ed});return t.useEffect((()=>{y.data?.recipients&&m(h?e=>[...e,...y.data.recipients]:y.data.recipients)}),[y.data,h]),{data:y.data?{...y.data,recipients:d}:void 0,isLoading:y.isLoading&&0===d.length,isFetching:y.isFetching,error:y.error,refetch:y.refetch,hasMore:y.data?.pagination.hasNextPage??!1,loadMore:()=>{y.data?.pagination.hasNextPage&&y.data.pagination.cursor&&!y.isFetching&&(p(y.data.pagination.cursor),i?.onLoadMore?.(y.data.pagination.cursor))}}})(o,l,n?.id??"",{debounceMs:500,enabled:!!n?.id&&p&&(o.length>0||l.length>0),search:y,limit:100,filter:f}),j=t.useRef([]),P=t.useRef(f),[L,B]=t.useState(!1);t.useEffect((()=>{P.current!==f&&(B(!0),P.current=f)}),[f]),t.useEffect((()=>{void 0!==T?.recipients&&(j.current=T.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0}))),B(!1))}),[T?.recipients]);const R=t.useMemo((()=>L?[]:void 0!==T?.recipients?T.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0}))):j.current),[T?.recipients,L]),D=t.useMemo((()=>{if(M)return{count:M.count,emailCount:M.emailCount,phoneCount:M.phoneCount,recipients:T?.recipients||[],pagination:T?.pagination||{hasNextPage:!1,cursor:null}}}),[M,T]),z=t.useCallback((()=>{N||x||!E||_()}),[N,x,E,_]),O=1===o.length&&0===l.length&&void 0!==k?.find((e=>e.type===Jse.ALL_USERS&&e.id===o[0])),I=1!==o.length||0!==l.length||O?"":o[0],{segment:K}=$se(I),H=K?.type===Jse.ONE_OFF;t.useEffect((()=>{(async()=>{if(n&&!p&&!1===S){if(1===o.length&&0===l.length&&void 0!==k.find((e=>e.type===Jse.ALL_USERS&&e.id===o[0])))r(yEe.ALL);else if(H&&K){if(r(yEe.INDIVIDUAL),K.conditions){const e=[];K.conditions.forEach((a=>{"userId"===a.field&&a.operator===wse.EQUALS&&a.value.forEach((a=>{"string"==typeof a&&e.push(a)}))})),d(e)}}else r(yEe.SEGMENTS);g(!0)}})()}),[n,O,H,p,o,l,k,S,K]);t.useEffect((()=>{if(!n?.id||!p)return;if(i===yEe.INDIVIDUAL&&0===o.length&&0===l.length)return;const e=[...o].sort().join(","),a=[...l].sort().join(","),t=[...n.includeSegmentIds||[]].sort().join(","),r=[...n.excludeSegmentIds||[]].sort().join(",");e===t&&a===r||w({includeSegments:o,excludeSegments:l})}),[o,l,n?.includeSegmentIds,n?.excludeSegmentIds,n?.id,p,w,i]);const F=n?.status===_E.DRAFT;return a.jsxs(hEe,{title:e,children:[!S&&k&&p?a.jsxs("div",{className:"flex flex-col md:flex-row gap-4 md:gap-6 w-full pb-4 px-4 min-h-0",children:[a.jsxs("div",{className:"w-full md:w-1/2 flex flex-col gap-4 md:gap-6 overflow-y-auto",style:{maxHeight:"calc(100vh - 350px)"},children:[a.jsx(nje,{countResponse:D,selectedFilter:f,onFilterChange:v,isLoading:S}),a.jsx(ije,{onSelectionChange:async e=>{if(r(e),e===yEe.ALL){const e=k?.find((e=>e.type===Jse.ALL_USERS));if(!e)return;s([e.id]),u([]),d([])}else if(e===yEe.INDIVIDUAL){if(n?.id)try{const e=bEe(n.id);let t;try{t=await Fx(e)}catch(a){}if(t){if(s([t.id]),u([]),t.conditions){const e=[];t.conditions.forEach((a=>{"userId"===a.field&&a.operator===wse.EQUALS&&a.value.forEach((a=>{"string"==typeof a&&e.push(a)}))})),d(e)}}else{const a=await A({name:e,description:"One-off segment for individual user selection",type:Jse.ONE_OFF,conditions:[{field:"userId",operator:wse.EQUALS,value:[]}]});a?.id&&(s([a.id]),u([]))}}catch(a){}}else e===yEe.SEGMENTS&&(s([]),u([]))},defaultValue:i,canEditAudience:F}),a.jsx(fh,{children:i===yEe.SEGMENTS&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full",children:a.jsx(sje,{canEditAudience:F,includedSegments:o,excludedSegments:l,handleAddSegment:(e,a)=>{"include"===a?s((a=>[...a,e])):u((a=>[...a,e]))},handleRemoveSegment:(e,a)=>{"include"===a?s((a=>a.filter((a=>a!==e)))):u((a=>a.filter((a=>a!==e))))},setOpenCreateSegmentDialog:h,segments:k,defaultIsExcludeOpen:l.length>0})})}),a.jsx(fh,{children:i===yEe.INDIVIDUAL&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full",children:a.jsx(rje,{countResponse:M,selectedUserIds:c,onUserSelectionChange:async e=>{if(d(e),n?.id)try{const t=bEe(n.id);let i;try{i=await Fx(t)}catch(a){}if(i){i=await C({segmentId:i.id,params:{conditions:e.length>0?[{field:"userId",operator:wse.EQUALS,value:e}]:[{field:"userId",operator:wse.EQUALS,value:[]}]}})}else i=await A({name:t,description:"One-off segment for individual user selection",type:Jse.ONE_OFF,conditions:e.length>0?[{field:"userId",operator:wse.EQUALS,value:e}]:[{field:"userId",operator:wse.EQUALS,value:[]}]});i?.id&&(await w({includeSegments:[i.id],excludeSegments:[]}),await new Promise((e=>setTimeout(e,100))))}catch(a){}},canEditAudience:F})})})]}),a.jsx("div",{className:"w-full md:w-1/2 min-h-0 flex flex-col",children:a.jsx(wEe,{recipients:R,filter:f,audienceMode:i,isLoading:x&&0===j.current.length||L&&N,totalCount:"email"===f?D?.emailCount:"phone"===f?D?.phoneCount:D?.count,searchQuery:y,onSearchChange:b,onLoadMore:z,hasMore:E,isLoadingMore:N&&!L})})]}):a.jsx("div",{children:a.jsx(th,{text:["Fetching segments","Finishing up"]})}),a.jsx($_e,{open:m,setOpen:h,onSegmentUpdated:e=>{e&&s((a=>[...a,e]))}})]})},uje=()=>a.jsx("div",{id:"wizard-select-audience-step",children:a.jsx("div",{id:"wizard-audience-title-container",children:a.jsx(lje,{title:"Select Audience"})})}),cje=({selectedChannels:e,setSelectedChannels:n,hasEmailChannelSenders:i,automationType:r,hideSms:o})=>{const{toast:s}=dS(),l=[...i?[{label:"Email",value:"email",icon:OM.EmailIcon,checked:e.includes("email")}]:[],...o?[]:[{label:"SMS",value:"sms",icon:OM.SmsIcon,checked:e.includes("sms")}]];return t.useEffect((()=>{o&&i&&!e.includes("email")&&n(["email"])}),[o,i,e,n]),a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"text-center",children:a.jsxs("p",{className:"text-muted-foreground text-sm",children:["Select the channels you want to use in this"," ",r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()]})}),a.jsx("div",{id:"wizard-channel-options-container",className:"w-full grid gap-4 max-w-2xl mx-auto "+(o?"grid-cols-1":"grid-cols-2"),children:l.map((t=>a.jsx(PNe,{id:`wizard-channel-option-${t.value}`,checked:t.checked,onCheckedChange:()=>{"email"===t.value?e.includes("email")?e.includes("sms")?n(["sms"]):s({title:"Cant Remove Email",description:`At least one channel is required for an ${r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()}`,variant:"destructive"}):n([...e,"email"]):e.includes("sms")?e.includes("email")?n(["email"]):s({title:"Cant Remove SMS",description:`At least one channel is required for an ${r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()}`,variant:"destructive"}):n([...e,"sms"])},className:"relative ring-[1px] ring-border rounded-xl px-6 py-6 text-start text-muted-foreground data-[state=checked]:ring-2 data-[state=checked]:ring-primary data-[state=checked]:font-medium hover:ring-2 hover:ring-primary/50 transition-all duration-200",children:a.jsxs("div",{className:"flex flex-col items-center text-center space-y-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(t.icon,{className:"w-6 h-6 text-primary",size:24})}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("span",{className:"font-semibold text-lg tracking-tight text-foreground block",children:t.label}),a.jsx("span",{className:"text-sm text-muted-foreground block",children:"email"===t.value?"Send rich content via email":"Send quick messages via text"})]}),a.jsx(LNe,{className:"absolute top-3 right-3",children:a.jsx(_,{className:"w-5 h-5 fill-primary text-primary-foreground"})})]})},t.value)))})]})},dje=({hideSms:e})=>{const{channelSenders:n}=DC(),{channelAccounts:i}=LC(),r=nle(),{updateCommunicationGroup:o}=UN(),{state:{selectedChannels:s},setSelectedChannels:l}=t.useContext(Hfe),u=tle(),{data:c}=XN(),d=t.useMemo((()=>OC({channelSenders:n?.results??[],channelAccounts:i?.results??[]})),[n?.results,i?.results]),m=t.useMemo((()=>oE({channelSenders:n?.results??[],channelAccounts:i?.results??[],smsApplication:c})),[n?.results,i?.results,c]),h=t.useCallback((async e=>{if(l(e),r?.id)if(e.includes("email")){if(d.length>0&&!r.emailChannelSenderId){const e=d[0];o({groupId:r?.id,params:{emailChannelSenderId:e.channelSenderId}})}}else o({groupId:r?.id,params:{emailChannelSenderId:null}});if(r?.id)if(e.includes("sms")){if(m.length>0&&!r.smsChannelSenderId){const e=m[0];o({groupId:r?.id,params:{smsChannelSenderId:e.channelSender.id}})}}else o({groupId:r?.id,params:{smsChannelSenderId:null}})}),[l,o,r?.id,r?.emailChannelSenderId,r?.smsChannelSenderId,d,m]);if(!s||void 0===d||void 0===m)return a.jsx("div",{className:"flex justify-center items-center h-full bg-white rounded-2xl w-full border border-gray-200 p-6 relative",children:a.jsx(th,{text:["Fetching Content..."]})});const p=d.length>0;return a.jsx("div",{id:"wizard-channel-selection",className:"flex flex-col h-full w-full space-y-4 justify-center",children:a.jsxs("div",{className:"flex flex-col space-y-6",children:[a.jsx("div",{className:"text-center space-y-2",children:a.jsx("h3",{id:"wizard-channel-selection-heading",className:"text-3xl font-semibold text-foreground tracking-tight",children:"Message Channels"})}),a.jsx("div",{className:"flex justify-center",children:a.jsx(cje,{automationType:u?.triggerMetadata?.triggerType,selectedChannels:s,setSelectedChannels:h,hasEmailChannelSenders:p,hideSms:e})})]})})};var mje=(e=>(e[e.SelectChannels=1]="SelectChannels",e[e.ContentBuilderStyle=2]="ContentBuilderStyle",e[e.AIPrompt=3]="AIPrompt",e[e.EditEmailContent=4]="EditEmailContent",e[e.EditSmsContent=5]="EditSmsContent",e[e.SelectAudience=6]="SelectAudience",e[e.Schedule=7]="Schedule",e[e.PreviewAndSend=8]="PreviewAndSend",e))(mje||{});const hje=e=>{const a=tle(),n=nle(),i=sm(),{state:{selectedChannels:r,contentBuilderStyle:o}}=t.useContext(Hfe),{data:s}=XN(),{channelSenders:l}=DC(),{channelAccounts:u}=LC(),c=oE({channelSenders:l?.results??[],channelAccounts:u?.results??[],smsApplication:s}),d=t.useCallback((async t=>{if(!a)return{canMove:!1,errorMessage:`${PN("engage:broadcast")} not loaded`};const s=a.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.communicationGroupId;s&&(await i.invalidateQueries({queryKey:["communication-group",s]}),await i.refetchQueries({queryKey:["communication-group",s]}));let l=n;if(s){const{getCommunicationGroup:e}=await Promise.resolve().then((()=>GN));l=await e(s)}return await(async e=>{const{currentStep:a,automation:t,communicationGroup:n,selectedChannels:i,smsChannelSenders:r,contentBuilderStyle:o,isScheduleLoading:s=!1}=e;switch(a){case mje.SelectChannels:return 0===i.length?{canMove:!1,errorMessage:"Please select at least one channel"}:{canMove:!0,errorMessage:null};case mje.ContentBuilderStyle:return o?{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please select a content builder style"};case mje.AIPrompt:return{canMove:!0,errorMessage:null};case mje.SelectAudience:return{canMove:t.includeSegmentIds.length>0,errorMessage:"Please ensure you have selected at least one segment"};case mje.EditSmsContent:{const e=t.actionData?.find((e=>"send_communication"===e.actionType));if(!e)return{canMove:!1,errorMessage:"Please ensure you have selected either a email communication or text communication"};if(!n)return{canMove:!1,errorMessage:"Please ensure you have selected a communication group"};const a=r.find((e=>e.channelSender.id===n.smsChannelSenderId));return a||n.emailChannelSenderId?n.smsMessageBody?a&&a.smsApplication&&a.smsApplication.status!==rE.APPROVED?{canMove:!0,errorMessage:null,warningMessage:"You will only be able to send this message once your SMS application is approved"}:{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please ensure you have a text body"}:{canMove:!1,errorMessage:"Please ensure you have selected a text sender"}}case mje.EditEmailContent:{const e=t.actionData?.find((e=>"send_communication"===e.actionType));return e?n?n.emailChannelSenderId||n.smsChannelSenderId?n.emailHtmlBody&&n.emailSubject?n.emailChannelSenderId&&n.emailHtmlBody&&n.emailHtmlBody.includes(eve)?{canMove:!1,errorMessage:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`}:{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please ensure you have a email body and subject"}:{canMove:!1,errorMessage:"Please ensure you have selected an email or SMS sender"}:{canMove:!1,errorMessage:"Please ensure you have selected a communication group"}:{canMove:!1,errorMessage:"Please ensure you have selected either a email communication or text communication"}}case mje.Schedule:{if(s)return{canMove:!0,errorMessage:null,warningMessage:"Schedule selection is being processed..."};if(!t.triggerMetadata)return{canMove:!1,errorMessage:"Please make sure to select a time to send before starting!"};if(t.triggerMetadata.triggerType!==ME.ONE_TIME)return{canMove:Boolean(t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),errorMessage:null};if(!t.triggerMetadata?.scheduledAt)return{canMove:!1,errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`};if(!Boolean(t.triggerMetadata?.scheduledAt&&("now"===t.triggerMetadata.scheduledAt||"now"!==t.triggerMetadata.scheduledAt&&new Date(t.triggerMetadata.scheduledAt)>new Date)))return{canMove:!1,errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`};if(!Boolean(t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))))return{canMove:!1,errorMessage:"Please ensure you have set a valid email or sms communication"};const e=t.triggerMetadata;return{canMove:Boolean(e.scheduledAt&&("now"===e.scheduledAt||new Date(e.scheduledAt)>new Date)&&t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`}}case mje.PreviewAndSend:return n?.emailChannelSenderId&&n?.emailHtmlBody&&n.emailHtmlBody.includes(eve)?{canMove:!1,errorMessage:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`}:{canMove:!0,errorMessage:null};default:The(a,mje)}})({currentStep:t,automation:a,communicationGroup:l||n,selectedChannels:r,smsChannelSenders:c,contentBuilderStyle:o,isScheduleLoading:e})}),[a,n,r,c,o,e,i]);return{validateStep:d}},pje=({onFinish:e,getExtraMergeFields:n,onBeforeSchedule:i,hideSms:r})=>{const o=tle(),s=nle(),{updateAutomation:l,isUpdating:u}=zE(o?.id||""),{estimatedMatchesStats:c,isLoading:d}=(e=>{const a=e?.id,{data:n,isLoading:i}=UE({automationId:a??""}),r=t.useMemo((()=>({estimatedEmails:n?.estimatedEmails??0,estimatedSms:n?.estimatedSms??0})),[n]);return{estimatedMatches:n,estimatedMatchesStats:r,isLoading:i}})(o??void 0),{generateNameAndDescription:m,isGeneratingNameAndDescription:h}=WE(),{refetchAutomation:p}=BE(o?.id||""),{state:{selectedChannels:g,contentBuilderStyle:f}}=t.useContext(Hfe),[v,y]=t.useState([]),{data:b}=XN(),[k,S]=t.useState(!1),{channelSenders:w}=DC(),{channelAccounts:A}=LC(),{updateCommunicationGroup:C}=UN(),{resetCommunicationGroup:M}=(()=>{const e=sm(),a=fm({mutationFn:e=>FN(e),onSuccess:()=>{e.invalidateQueries({queryKey:[...VN.all,Gx.all]}),e.invalidateQueries({queryKey:["reputation","communication-groups"]})}});return{resetCommunicationGroup:a.mutate,isResetting:a.isPending,resetError:a.error,isResetSuccess:a.isSuccess}})(),T=t.useRef(!1),[x,N]=t.useState(""),E=t.useRef(x),[_,j]=t.useState(!1),P=t.useRef(null);t.useEffect((()=>{E.current=x}),[x]);const[L,B]=t.useState(!1),[R,D]=t.useState(!1),{validateStep:z}=hje(u),O=t.useMemo((()=>{if(!o||R)return!1;const e=o.name?.includes("Broadcast")||o.name?.includes("automation")||!o.name||""===o.name.trim(),a=!o.description||""===o.description.trim();return e&&a}),[o,R]),I=t.useMemo((()=>oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b})),[w?.results,A?.results,b]),K=t.useCallback((async e=>{try{if(s?.id){const a={};e.email&&(a.emailHtmlBody=e.email.html,a.emailCss=e.email.css,a.emailCompiledHtml=e.email.compiledEmail,a.emailSubject=e.email.subject,a.emailPreviewText=e.email.previewText),e.sms&&(a.smsMessageBody=e.sms.body,I.length>0&&(a.smsChannelSenderId=I[0].channelSender.id)),Object.keys(a).length>0&&C({groupId:s.id,params:a},{onSuccess:()=>{(e.name||e.description)&&l({name:e.name||o?.name||"",description:e.description||o?.description||""},{onSuccess:()=>{D(!0)},onError:e=>{}}),M({communicationGroupId:s.id,emailHtmlBody:!!e.email||null,emailTextBody:!!e.email||null,textMessageBody:!!e.sms||null}),cS({title:"Content Generated Successfully",description:"AI content has been applied to your automation.",variant:"default"}),g.includes("email")?F(mje.EditEmailContent):g.includes("sms")?F(mje.EditSmsContent):F(mje.SelectAudience)},onError:()=>{cS({title:"Error Applying Content",description:"Failed to apply AI-generated content. Please try again.",variant:"destructive"})}})}}catch(a){cS({title:"Error Applying Content",description:"Failed to apply AI-generated content. Please try again.",variant:"destructive"})}finally{await new Promise((e=>setTimeout(e,500))),j(!1)}}),[s?.id,C,M,g,I,l,o?.name,o?.description]),[H,F]=t.useState(mje.SelectChannels);if(t.useEffect((()=>{if(null!==o&&null!==s){const e=oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b});y((({automation:e,communicationGroup:t,selectedChannels:n,smsChannelSenders:i,contentBuilderStyle:r,onAIContentGeneration:o,aiPromptRef:s,onAiPromptChange:l,aiContentPromptRef:u,hideSms:c})=>{if(!e)return[];const d=[{id:"select-channels",title:"Message Channels",step:1,isValid:()=>n.length>0,content:a.jsx(nve,{content:a.jsx(dje,{hideSms:c})},"select-channels"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!0,backDisabled:!1,nextDisabled:()=>0===n.length}},{id:"content-builder-style",title:"Content Builder Style",step:2,isValid:()=>!!r,content:a.jsx(nve,{content:a.jsx(dve,{})},"content-builder-style"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!r}}];return r===Kfe.AI&&d.push({id:"ai-prompt",title:"AI Prompt",step:3,isValid:()=>(s?.current??"").trim().length>0,content:a.jsx(nve,{content:o?a.jsx(cve,{ref:u,onGenerateContent:o,onPromptChange:l||(()=>{})}):a.jsx("div",{children:"AI Content Prompt"})},"ai-prompt"),footerConfig:{backText:"Back",nextText:"Generate",hideBack:!1,backDisabled:!1,nextDisabled:()=>!(s?.current??"").trim()}}),n.includes("email")&&d.push({id:"edit-email-content",title:"Email Content",step:4,isValid:()=>{const a=e.actionData?.find((e=>"send_communication"===e.actionType));return!!a&&!!t.emailChannelSenderId&&!(!t.emailHtmlBody||!t.emailSubject)},content:a.jsx(nve,{content:a.jsx(dNe,{})},"edit-email-content"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),n.includes("sms")&&!c&&d.push({id:"edit-sms-content",title:"SMS Content",step:5,isValid:()=>{const a=e.actionData?.find((e=>"send_communication"===e.actionType));return!!(a&&a.actionMetadata.communicationGroupId&&t.smsChannelSenderId&&t.smsMessageBody)},content:a.jsx(nve,{content:a.jsx(nEe,{})},"edit-sms-content"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),d.push({id:"audience",title:"Audience",step:6,isValid:()=>e.includeSegmentIds.length>0,content:a.jsx(nve,{content:a.jsx(uje,{})},"audience"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),d.push({id:"schedule",title:"Schedule",step:7,isValid:()=>Boolean(e.triggerMetadata?.triggerType===ME.ONE_TIME&&e.triggerMetadata?.scheduledAt&&("now"===e.triggerMetadata.scheduledAt||"now"!==e.triggerMetadata.scheduledAt&&new Date(e.triggerMetadata.scheduledAt)>new Date)&&e.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),content:a.jsx(nve,{className:"flex-1",content:a.jsx(vEe,{})},"schedule"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}},{id:"send",title:"Send",step:8,isValid:()=>Boolean(e.triggerMetadata?.triggerType===ME.ONE_TIME&&e.triggerMetadata?.scheduledAt&&("now"===e.triggerMetadata.scheduledAt||"now"!==e.triggerMetadata.scheduledAt&&new Date(e.triggerMetadata.scheduledAt)>new Date(Date.now()+18e4))&&e.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),content:a.jsx(nve,{className:"flex-1",content:a.jsx(mEe,{})},"send"),footerConfig:{backText:"Back",nextText:e.triggerMetadata&&"scheduledAt"in e.triggerMetadata&&"now"===e.triggerMetadata.scheduledAt?"Send Now":"Schedule",hideBack:!1,backDisabled:!1,getInfoTooltipTitle:()=>{const e=i.find((e=>e.channelSender.id===t.smsChannelSenderId));if(e&&null!==e.smsApplication&&e.smsApplication?.status!==rE.APPROVED)return"You cannot send this yet if you have selected a text channel and don't have an approved SMS application. Please save as draft and try again later."},nextDisabled:()=>{const e=i.find((e=>e.channelSender.id===t.smsChannelSenderId));return!(!t.smsChannelSenderId||e&&(null===e.smsApplication||e.smsApplication?.status===rE.APPROVED))||null===t.smsChannelSenderId&&null===t.emailChannelSenderId}}}),d})({automation:o,communicationGroup:s,selectedChannels:g,smsChannelSenders:e,contentBuilderStyle:f,aiPromptRef:E,onAiPromptChange:N,aiContentPromptRef:P,onAIContentGeneration:K,hideSms:r}))}}),[o,s,n,g,w?.results,A?.results,b,f,K,r]),t.useEffect((()=>{n&&!T.current&&n().then((e=>{s?.id&&(T.current=!0,C({groupId:s?.id,params:{extraMergeFields:e}}))}))}),[n,s,C]),!o||!H||!s)return a.jsx("div",{className:"flex-1 flex flex-col @container justify-center items-center h-[500px]",children:a.jsx(th,{text:[`Fetching ${PN("engage:broadcast")} data`,"Finishing up"]})});const G=async()=>{!O||R||h?h?B(!0):e():(B(!0),m(o?.id||"",{onSuccess:a=>{D(!0),(a.name||a.description)&&cS({title:"AI Enhancement Complete",description:"Your automation has been enhanced with AI-generated name and description.",variant:"default"}),p().then((()=>{B(!1),e()})).catch((a=>{B(!1),e()}))},onError:a=>{D(!0),B(!1),e()}}))},V=async()=>{const{canMove:e,errorMessage:a,warningMessage:t}=await z(H);if(!e)return void cS({title:"Oops!",description:a,variant:"destructive"});if(t&&cS({title:t,variant:"warning"}),H===mje.PreviewAndSend)return void(await(async()=>{if(s.emailChannelSenderId&&s.emailHtmlBody&&s.emailHtmlBody.includes(eve))return void cS({title:"Oops!",description:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`,variant:"destructive"});if(null===s.emailChannelSenderId&&null===s.smsChannelSenderId)return void cS({title:"Oops!",description:"Please select an email sender or sms sender",variant:"destructive"});const e=oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b});if(s.smsChannelSenderId){const a=e.find((e=>e.channelSender.id===s.smsChannelSenderId));if(a?.smsApplication?.application&&a?.smsApplication.status!==rE.APPROVED)return void cS({title:"Oops!",description:"You cant schedule a communication with a pending sms application. Please save as a draft and re-try once the application is approved."})}if(i)try{let e=0;for(;d&&e<10;)await new Promise((e=>setTimeout(e,250))),e++;const a=await i({estimatedEmailRecipients:c?.estimatedEmails||0,estimatedSmsRecipients:c?.estimatedSms||0});!0===a?l({status:_E.ACTIVE},{onSuccess:()=>{cS({title:`${PN("engage:broadcast")} scheduled!`}),G()},onError:()=>{cS({title:"Oops!",description:"Please contact your administrator",variant:"destructive"})}}):cS({title:"Oops!",description:a,variant:"destructive"})}catch(a){cS({title:"Oops!",description:"An error occurred while checking scheduling conditions",variant:"destructive"})}else l({status:_E.ACTIVE}),cS({title:`${PN("engage:broadcast")} scheduled!`}),G()})());const n=v.findIndex((e=>e.step===H));if(H===mje.AIPrompt){if(P.current){j(!0);try{return void P.current.generate()}catch(r){return j(!1),void cS({title:"Error Generating Content",description:"Failed to generate AI content. Please try again.",variant:"destructive"})}}const e=v.find((e=>e.step===mje.EditEmailContent||e.step===mje.EditSmsContent));if(e)return void F(e.step)}if(H===mje.EditEmailContent||H===mje.EditSmsContent){const e=v.map(((e,a)=>e.step===mje.EditEmailContent||e.step===mje.EditSmsContent?a:-1)).filter((e=>-1!==e)).find((e=>e>n));if(void 0!==e)return void F(v[e].step);const a=v.find((e=>e.step===mje.SelectAudience));if(a)return void F(a.step)}n>=0&&n<v.length-1&&F(v[n+1].step)},J=()=>{const e=v.findIndex((e=>e.step===H));if(e>0){F(v[e-1].step)}},U=()=>{_||u?cS({title:"Please wait",description:"Please wait for the current operation to finish before saving.",variant:"warning"}):G()};return a.jsxs("div",{className:"flex-1 flex flex-col @container h-full min-h-0",children:[a.jsxs("header",{className:"w-full flex items-center gap-4 h-16 px-6",children:[a.jsx(ble,{value:o.name,schema:YA.object({name:YA.string().min(2,"Title must be at least 2 characters")}),onSubmit:e=>{l({name:e.name},{onError:()=>{cS({title:"Failed to update automation name",description:"Please try again",variant:"destructive"})}})},fieldName:"name",className:"text-xl font-bold leading-none",successMessage:"Automation name updated",errorMessage:"Failed to update automation name"}),a.jsx("div",{className:"flex items-center gap-4",children:a.jsx(xx,{variant:Vfe(o.status),children:xhe({status:o.status,automationType:o.triggerType,vsaasManaged:!1})})})]}),L?a.jsx("div",{className:"flex-1 flex flex-col justify-center items-center",children:a.jsx(tve,{automationId:o?.id||""})}):a.jsxs("main",{className:"flex gap-4 flex-1 min-h-0 overflow-hidden",children:[a.jsx("div",{className:"block",children:a.jsx("nav",{className:"space-y-0 w-50 self-start pr-6 pl-8 pt-4 "+(L?"h-0 overflow-hidden":""),children:v.map((e=>a.jsx("div",{className:`\n rounded-md transition-colors\n ${e.step===H?"bg-[var(--reach-secondary)] text-[var(--reach-primary-foreground)] font-medium":e.step<H?"text-muted-foreground hover:bg-muted":"text-muted-foreground/60"}\n ${(_||u)&&e.step===H?"opacity-75 cursor-not-allowed":_||u?"opacity-50 cursor-not-allowed":""}\n `,children:a.jsx(AE,{label:(_||u)&&e.step===H?`${e.title} (Loading...)`:e.title,id:`wizard-step-${e.step}`,isActive:e.step===H,isCompleted:e.isValid(),onClick:async()=>{if(_||u)cS({title:"Please wait",description:"Please wait for the current operation to finish before navigating.",variant:"warning"});else if(!k)if(e.step>H){const{canMove:a,errorMessage:t,warningMessages:n}=await(async e=>{if(e<=H)return{canMove:!0,errorMessage:null};S(!0);try{const a=[];for(let t=H;t<e;t++){const{canMove:e,errorMessage:n,warningMessage:i}=await z(t);if(!e)return{canMove:e,errorMessage:n};i&&a.push(i)}return{canMove:!0,errorMessage:null,warningMessages:a}}finally{S(!1)}})(e.step);if(a){if(n&&n.length>0)for(const e of n)cS({title:e,variant:"warning"});F(e.step)}else t&&cS({title:"Cannot navigate to this step",description:t,variant:"destructive"})}else F(e.step)}})},e.step)))})}),(()=>{const e=v.find((e=>e.step===H));return a.jsx("section",e?{className:"flex-1 mr-6 w-full relative ml-6 @[1000px]:ml-0 flex flex-col min-w-0",children:a.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-auto min-w-0",children:a.jsx(Yoe,{className:"min-w-0",children:e.content},H)})}:{className:"flex-1 mr-6 w-full relative rounded-xl bg-gray-100 ml-6 @[1000px]:ml-0 flex flex-col",children:a.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"Step Not Available"}),a.jsx("p",{className:"text-muted-foreground",children:"This step is not available for your current configuration."})]})})})})})()]}),(()=>{const e=v.find((e=>e.step===H));return a.jsx("footer",{className:"w-full flex justify-end z-10 items-center px-6 "+(L?"h-0 overflow-hidden":"h-16"),children:a.jsx(ave,{handleSkipAndSaveAsDraft:U,handleBack:J,handleNext:V,hideBack:e?.footerConfig.hideBack??!1,backText:e?.footerConfig.backText??"Back",nextText:e?.footerConfig.nextText??"Next",backDisabled:(_||u||e?.footerConfig.backDisabled)??!1,nextDisabled:(_||u||e?.footerConfig.nextDisabled())??!1,getInfoTooltipTitle:e?.footerConfig.getInfoTooltipTitle??void 0})})})()]})},gje=({children:e,actionId:n})=>{const{setActionId:i}=t.useContext(mse);return t.useEffect((()=>{i(n)}),[n,i]),a.jsx("div",{className:"h-full",children:a.jsx(Ffe,{children:e})})},fje=()=>a.jsxs("div",{children:[a.jsx("div",{className:hle,children:a.jsx(OM.OneTimeBroadcast,{})}),a.jsx("h3",{className:ple,children:PN("engage:broadcast")}),a.jsx("p",{className:gle,children:"Send a single message to your current list, like announcing a sale or newsletter."})]}),vje=()=>a.jsxs("div",{children:[a.jsx("div",{className:fle,children:"Coming Soon"}),a.jsx("div",{className:hle,children:a.jsx(OM.RealtimeActivity,{})}),a.jsx("h3",{className:ple,children:"Realtime Activity"}),a.jsx("p",{className:gle,children:"Responds to immediate actions your contacts take, like abandoned carts, form submissions, or appointment bookings."})]}),yje=({selectedType:e,setAutomationName:t,automationName:n,setAutomationDescription:i,automationDescription:r})=>a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 max-w-lg mx-auto",children:[a.jsxs("h2",{className:"text-2xl font-semibold mb-8 text-center",children:["Name Your"," ",PN(e===ME.ONE_TIME?"engage:broadcast":"engage:automation")]}),a.jsxs("div",{className:"w-full space-y-6",children:[a.jsx("div",{className:"bg-gray-50 p-6 rounded-xl items-center justify-center text-center",children:(()=>{switch(e){case ME.ONE_TIME:return a.jsx(fje,{});case ME.TRIGGER_BASED:return a.jsx(vje,{});default:throw The(e,ME)}})()}),a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[a.jsx("label",{htmlFor:"automationName",className:"block text-sm font-medium text-gray-900",children:"Name"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Only visible to your team"})]}),a.jsx(Io,{id:"automationName",type:"text",value:n,onChange:e=>t(e.target.value),className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-indigo-500 focus:border-indigo-500 shadow-sm",placeholder:"e.g. April Newsletter Campaign",autoFocus:!0})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[a.jsx("label",{htmlFor:"automationDescription",className:"block text-sm font-medium text-gray-900",children:"Description"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Optional"})]}),a.jsx(rve,{id:"automationDescription",value:r,onChange:e=>i(e.target.value),className:"w-full min-h-[80px] resize-none",placeholder:`Add any helpful context for your team. If left blank, we'll generate one for you when you start the ${PN("engage:broadcast").toLowerCase()}`})]})]})]})]}),bje=({onClose:e,automationType:n,currentStep:i,setCurrentStep:r,getExtraMergeFields:o,onBeforeSchedule:s,hideSms:l})=>{const{createAutomation:u,isCreating:c}=DE(),[d,m]=t.useState(!1),[h,p]=t.useState(void 0),[g,f]=t.useState(void 0),[v,y]=t.useState(!1),[b,k]=t.useState(n?{name:void 0,description:void 0,type:n}:{name:void 0,description:void 0,type:void 0}),S=void 0!==b.name&&void 0!==b.type&&""!==b.name;t.useEffect((()=>{if(b.type&&!b.name&&!v){const e=new Date,a=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),t=e.toLocaleDateString([],{month:"long",day:"numeric"}),n=`${PN("engage:broadcast")} ${t} ${a}`,i="";k((e=>({...e,name:n,description:i}))),y(!0)}}),[b,v]);const w=t.useCallback((async(a,t,n)=>{const i=a||b.name,o=t||b.description,s=n||b.type;if(!i||!s||""===i)return;m(!0);u({name:i,type:s,description:o},{onSuccess:async a=>{if(a.id){const t=await LN({}),n=ise().toString();await Hx(a.id,{action:[{actionType:"send_communication",actionMetadata:{actionType:"send_communication",communicationGroupId:t.id,currentActionId:n}}]}),p(a.id),await Jx({automationId:a.id,actionId:n}),s===ME.ONE_TIME?(r(sle.OneTimeWizard),f(n),m(!1)):e?.(a.id)}else e?.("error")},onError:()=>{e?.("error")},onSettled:()=>{k({name:void 0,description:void 0,type:void 0})}})}),[b.name,b.description,b.type,u,e,r,f,m,p]);t.useEffect((()=>{if(n&&!d&&!h){const e=new Date,a=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),t=e.toLocaleDateString([],{month:"long",day:"numeric"}),i=`${PN("engage:broadcast")} ${t} ${a}`,r="";k({name:i,description:r,type:n}),w(i,r,n)}}),[n,d,h,w]);return a.jsxs("div",{id:"create-automation-modal",className:Si("relative overflow-y-auto h-full p-8"),children:[a.jsx(fh,{mode:"wait",children:c||d?a.jsx(Yoe,{className:"h-full",children:a.jsx(yle,{})},"loading"):a.jsx(Yoe,{className:"h-full",children:(()=>{switch(i){case sle.ChooseAutomationType:return a.jsx(vle,{onNext:e=>{k({...b,type:e}),r(sle.SetAutomationName)}});case sle.SetAutomationName:return n?null:b.type?a.jsx(yje,{selectedType:b.type,setAutomationName:e=>{k({...b,name:e})},automationName:b.name??"",setAutomationDescription:e=>{k({...b,description:e})},automationDescription:b.description??""}):null;case sle.OneTimeWizard:return h&&g?a.jsx(rle,{automationId:h,children:a.jsx(gje,{actionId:g,children:a.jsx(pje,{onFinish:()=>{e?.(h)},getExtraMergeFields:o,onBeforeSchedule:s,hideSms:l})})}):null;default:throw rse(i,sle)}})()},"content")}),i!==sle.OneTimeWizard&&a.jsx("div",{className:"pt-2",children:a.jsx(lle,{onClose:e,currentStep:i,setCurrentStep:r,isDisabled:!S,createAutomation:()=>w(),disableBackButton:void 0!==n})})]})};function kje({open:e,setOpen:n,onClose:i,automationType:r,getExtraMergeFields:o,replyToSettingsText:s,replyToSettingsLink:l,fromNameSettingsText:u,fromNameSettingsLink:c,hideSms:d}){const[m,h]=t.useState(r?sle.OneTimeWizard:sle.ChooseAutomationType);return t.useEffect((()=>{e&&h(r?sle.OneTimeWizard:sle.ChooseAutomationType)}),[e,r]),a.jsx(Zoe,{children:a.jsx($oe,{replyToSettingsText:s,replyToSettingsLink:l,fromNameSettingsText:u,fromNameSettingsLink:c,children:a.jsx(wi,{open:e,onOpenChange:n,children:a.jsxs(Ti,{hideCloseButton:m===sle.OneTimeWizard,className:"flex h-[95vh] w-[95vw] max-w-none flex-col gap-0 overflow-visible p-0",children:[a.jsx(xi,{children:a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs(Xe,{children:[a.jsx(Ei,{className:"text-3xl font-normal",children:"Create Automation"}),a.jsx(_i,{children:"Create a new automation to send messages to your customers."})]})})}),a.jsx(bje,{onClose:e=>{i?.(e),n(!1)},automationType:r,currentStep:m,setCurrentStep:h,getExtraMergeFields:o,hideSms:d})]})})})})}const Sje=({feature:e,onClose:t,className:n})=>{const i={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.4,ease:[.4,0,.2,1]}}};return a.jsxs(tS.div,{initial:"hidden",animate:"visible",exit:"exit",variants:{hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.4,ease:[.4,0,.2,1],staggerChildren:.1}},exit:{opacity:0,y:-20,transition:{duration:.3,ease:[.4,0,1,1]}}},className:qa("flex flex-col items-center text-center w-full max-w-[72ch] rounded-xl p-8 gap-6 border border-border mx-auto","bg-background shadow-sm",n),children:[a.jsx(tS.div,{variants:i,className:"w-20 h-20 rounded-full flex items-center justify-center bg-red-50 border-2 border-red-200",children:a.jsx(B,{className:"w-10 h-10 text-red-500"})}),a.jsxs(tS.div,{variants:i,className:"space-y-2",children:[a.jsx("h2",{className:"text-xl font-semibold text-foreground",children:"Sandbox Mode Not Supported"}),a.jsxs("p",{className:"text-base font-medium text-muted-foreground",children:[e," is not available in sandbox mode"]})]}),a.jsx(tS.div,{variants:i,className:"max-w-xl mx-auto space-y-4",children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:["To use ",e,", please switch to a production environment or contact your administrator for assistance."]})}),a.jsx(fh,{children:t&&a.jsx(tS.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.2,ease:[.4,0,.2,1]},children:a.jsx(Xa,{variant:"outline",onClick:t,className:"bg-background hover:bg-muted",children:"Got it"})})})]})},wje="reach-styles-module__tabsContainer___g2X3C",Aje="reach-styles-module__tabsHeader___9LpO3",Cje="reach-styles-module__tabsList___Kli8D",Mje="reach-styles-module__tabTrigger___qKLnv",Tje="reach-styles-module__tabIcon___HW3W3",xje="reach-styles-module__tabText___eDxMt",Nje="reach-styles-module__tabContent___N7Lyb",Eje="reach-styles-module__headerActions___CMwdd",_je=()=>{const e=Lx(),t={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.5,ease:"easeOut"}}},n=[{icon:R,title:"5-Day Window",description:"Short attribution lookback period"},{icon:Z,title:"Send-Based Attribution",description:"Based on email send, not clicks"},{icon:Me,title:"Automation-Linked",description:"Tied to specific campaigns"}];return a.jsxs(tS.div,{className:"space-y-8 p-2",variants:{hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.1,delayChildren:.1}}},initial:"hidden",animate:"visible",children:[a.jsx(tS.div,{variants:t,children:a.jsx(Sx,{title:"Email Attribution Methodology",description:"How we track and attribute conversions to your email marketing automations",icon:Z})}),a.jsx(tS.div,{variants:t,children:a.jsx(wx,{highlights:n,cardTitle:"Email Send Attribution Model",cardDescription:"We use a 5-day send-based attribution model. When an email is sent, any purchase within 5 days is attributed to that automation.",cardIcon:re})}),a.jsx(tS.div,{variants:t,children:a.jsx(Ax,{steps:[{number:1,title:"Email Sent via Automation",description:"An email is sent to a customer through one of your marketing automations."},{number:2,title:"Purchase Occurs",description:"Within 5 days of when the email was sent, the customer makes a purchase."},{number:3,title:"Revenue Attribution",description:"The purchase revenue is attributed to the specific automation that sent the email."}],title:"How Email Attribution Works",icon:Ee})}),a.jsx(tS.div,{variants:t,children:a.jsx(Nx,{scenarios:[{id:1,title:"Valid Email Attribution",description:"Customer receives email and purchases within 5 days",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"Email campaign gets 100% credit (customer purchased within 5 days of when email was sent)"},{id:2,title:"Valid Attribution Without Click",description:"Customer receives email but never clicks, then purchases",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"No Click",day:"Day 1-5",color:"bg-gray-400"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"Email campaign gets 100% credit (customer purchased within 5 days of when email was sent)"},{id:3,title:"Attribution Window Expired",description:"Customer purchased more than 5 days after the email was sent",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 8",color:"bg-green-600"}],attribution:"No attribution (purchase occurred 7 days after email was sent, outside 5-day window)"}],title:"Email Attribution Scenarios",description:"See how different email engagement patterns are attributed",icon:I})}),a.jsx(tS.div,{variants:t,children:a.jsx(_x,{title:"Important Notes",points:[{text:"Only emails sent through automations count for attribution"},{text:"The 5-day window starts from when the email was sent"},{text:"Revenue is attributed to the specific automation that sent the email"}],variant:"highlighted"})}),e&&a.jsxs(a.Fragment,{children:[a.jsx(tS.div,{variants:t,children:a.jsx(Sx,{title:"SMS Attribution Methodology",description:"How we track and attribute conversions to your SMS marketing automations",icon:ae})}),a.jsx(tS.div,{variants:t,children:a.jsx(wx,{highlights:[{icon:R,title:"5-Day Window",description:"Short attribution lookback period"},{icon:Me,title:"Automation-Linked",description:"Tied to specific campaigns"}],cardTitle:"SMS Send Attribution Model",cardDescription:"We use a 5-day send-based attribution model. When an SMS is sent, any purchase within 5 days is attributed to that automation.",cardIcon:re})}),a.jsx(tS.div,{variants:t,children:a.jsx(Ax,{steps:[{number:1,title:"SMS Sent via Automation",description:"An SMS is sent to a customer through one of your marketing automations."},{number:2,title:"Purchase Occurs",description:"Within 5 days of when the SMS was sent, the customer makes a purchase."},{number:3,title:"Revenue Attribution",description:"The purchase revenue is attributed to the specific automation that sent the SMS."}],title:"How SMS Attribution Works",icon:Ee})}),a.jsx(tS.div,{variants:t,children:a.jsx(Nx,{scenarios:[{id:4,title:"Valid SMS Attribution",description:"Customer receives SMS and purchases within 5 days",steps:[{platform:"SMS Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"SMS campaign gets 100% credit (customer purchased within 5 days of when SMS was sent)"},{id:6,title:"Attribution Window Expired",description:"Customer purchased more than 5 days after the SMS was sent",steps:[{platform:"SMS Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 8",color:"bg-green-600"}],attribution:"No attribution (purchase occurred 7 days after SMS was sent, outside 5-day window)"}],title:"SMS Attribution Scenarios",description:"See how different SMS engagement patterns are attributed",icon:I})}),a.jsx(tS.div,{variants:t,children:a.jsx(_x,{title:"Important Notes",points:[{text:"Only SMS messages sent through automations count for attribution"},{text:"The 5-day window starts from when the SMS was sent"},{text:"Revenue is attributed to the specific automation that sent the SMS"}],variant:"highlighted"})})]})]})},jje=({Icon:e,label:t,value:n,tooltipText:i,onClick:r,isClickable:o=!1})=>a.jsx(Rx,{title:i,children:a.jsxs("div",{className:"group relative flex items-center gap-2 px-3 py-2 rounded-lg transition-all duration-200 cursor-help "+(o?"hover:bg-primary/5 hover:shadow-sm cursor-pointer":"hover:bg-muted/20"),onClick:r,children:[a.jsx("div",{className:"w-8 h-8 rounded-md bg-primary/10 flex items-center justify-center group-hover:bg-primary/15 transition-colors",children:a.jsx(e,{className:"w-4 h-4 text-primary"})}),a.jsxs("div",{className:"flex flex-col items-start min-w-0",children:[a.jsx("span",{className:"text-sm font-bold text-foreground leading-tight",children:n}),a.jsx(j_,{className:"text-[9px] font-medium text-muted-foreground uppercase tracking-wide leading-tight",children:t})]})]})}),Pje=e=>`Number of ${e} communications that failed/errored. You can filter communications by status in the recipients table.`,Lje=({statistics:e,automationId:t,onLinkClickStatsOpen:n,includeSms:i=!1,showErrors:r=!1})=>{const o=[{Icon:OM.MessagesSent,label:"Sent",value:e.email.numberSent,tooltipText:"Total number of emails that were attempted to be sent"},...r&&void 0!==e.email.errors?[{Icon:OM.AlertTriangleIcon,label:"Errors",value:e.email.errors,tooltipText:Pje("email")}]:[],{Icon:OM.OpenRate,label:"Open Rate",value:`${(100*Number(e.email.openPercentage)).toFixed(2)}%`,tooltipText:"Percentage of recipients who opened the email"},{Icon:OM.TotalBounceRate,label:"Bounce Rate",value:`${(100*((Number(e.email.softBounceRate)||0)+(Number(e.email.hardBounceRate)||0))).toFixed(2)}%`,tooltipText:"Percentage of emails that were not delivered due to permanent (hard) or temporary (soft) delivery failures. Hard bounces will be automatically unsubscribed."},{Icon:OM.LinksClicked,label:"Clicks",value:Number(e.email.linksClicked),tooltipText:"Total number of times recipients clicked on links",onClick:n,isClickable:!!t&&!!n},{Icon:OM.SpamComplies,label:"Spam",value:`${(100*Number(e.email.spamComplaintRate)).toFixed(2)}%`,tooltipText:"Percentage of emails marked as spam"},{Icon:OM.UnsubscribeRate,label:"Unsubscribed",value:`${(100*Number(e.email.unsubscribedRate)).toFixed(2)}%`,tooltipText:"Percentage of recipients who unsubscribed"}],s=[{Icon:OM.SMSMessagesSent,label:"Sent",value:e.sms.numberSent,tooltipText:"Total number of SMS messages that were successfully sent",onClick:void 0,isClickable:!1},...r&&void 0!==e.sms.errors?[{Icon:OM.AlertTriangleIcon,label:"Errors",value:e.sms.errors,tooltipText:Pje("sms"),onClick:void 0,isClickable:!1}]:[]];return a.jsx("div",{className:"bg-white rounded-xl p-4 border border-border",children:a.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center gap-4 lg:gap-0",children:[a.jsxs("div",{className:"lg:flex-[3]",children:[a.jsx("div",{className:"flex justify-center mb-4 lg:mb-0",children:a.jsx(j_,{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"Email"})}),a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap justify-evenly w-full",children:o.map(((e,t)=>a.jsx(jje,{Icon:e.Icon,label:e.label,value:e.value,tooltipText:e.tooltipText,onClick:e.onClick,isClickable:e.isClickable},t)))})})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"hidden lg:block w-px h-8 bg-border mx-4 flex-shrink-0"}),a.jsx("div",{className:"lg:hidden w-full h-px bg-border my-2"}),a.jsxs("div",{className:"lg:flex-[1]",children:[a.jsx("div",{className:"flex justify-center mb-4 lg:mb-0",children:a.jsx(j_,{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"SMS"})}),a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap justify-evenly w-full",children:s.map(((e,t)=>a.jsx(jje,{Icon:e.Icon,label:e.label,value:e.value,tooltipText:e.tooltipText,onClick:e.onClick,isClickable:e.isClickable},t)))})})]})]})]})})},Bje=({automation:e,businessSales:t})=>{if(!e&&!t)return null;const n=e?[{Icon:OM.SalesAmount,label:"Order Amount",value:Phe(e.derivedRevenue),tooltipText:"Total derived revenue from this campaign"},{Icon:OM.Orders,label:"Orders",value:e.derivedOrders,tooltipText:"Total individual orders from this campaign"}]:[{Icon:OM.SalesAmount,label:"Total Revenue",value:Phe(t.totalRevenue),tooltipText:"Total revenue across all automations"},{Icon:OM.Orders,label:"Total Orders",value:t.totalOrders,tooltipText:"Total orders across all automations"}];return a.jsx("div",{className:"bg-white rounded-xl p-4 border border-border",children:a.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center gap-4 lg:gap-0",children:[a.jsx("div",{className:"lg:flex-1",children:a.jsx("div",{className:"flex items-center justify-center",children:a.jsx(jje,{Icon:n[0].Icon,label:n[0].label,value:n[0].value,tooltipText:n[0].tooltipText})})}),a.jsx("div",{className:"lg:hidden w-full h-px bg-border my-2"}),a.jsx("div",{className:"lg:flex-1",children:a.jsx("div",{className:"flex items-center justify-center",children:a.jsx(jje,{Icon:n[1].Icon,label:n[1].label,value:n[1].value,tooltipText:n[1].tooltipText})})})]})})},Rje=({automationId:e,isOpen:t,onClose:n})=>{const{linkClickStats:i,isGetting:r,getError:o}=(e=>{const a=gm({queryKey:["link-click-stats",e],queryFn:()=>e?HN(e):null,enabled:!!e});return{linkClickStats:a.data,isGetting:a.isPending,getError:a.error,isGetSuccess:a.isSuccess}})(e);return a.jsx(wi,{open:t,onOpenChange:n,children:a.jsxs(Ti,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsx(xi,{children:a.jsxs(Ei,{className:"flex items-center gap-2",children:[a.jsx(re,{className:"h-5 w-5"}),"Link Click Statistics"]})}),a.jsxs("div",{className:"space-y-4",children:[r&&a.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"Loading link click statistics..."}),o&&a.jsx("div",{className:"text-sm text-destructive text-center py-8",children:"Error loading link click statistics. Please try again."}),!r&&!o&&(!i||0===Object.keys(i).length)&&a.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"No link clicks found."}),!r&&!o&&i&&Object.keys(i).length>0&&a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"bg-muted/50 rounded-lg p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Summary"}),a.jsxs("div",{className:"flex gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"font-semibold",children:Object.keys(i).length})," ","unique links"]}),a.jsxs("div",{children:[a.jsx("span",{className:"font-semibold",children:Object.values(i).reduce(((e,a)=>e+a),0)})," ","total clicks"]})]})]}),a.jsx("div",{className:"space-y-2",children:Object.entries(i).sort((([,e],[,a])=>a-e)).map((([e,t])=>a.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors",children:[a.jsx("div",{className:"flex-1 min-w-0",children:a.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:text-blue-800 hover:underline flex items-center gap-1 truncate",children:[a.jsx("span",{className:"truncate",children:e}),a.jsx(O,{className:"h-3 w-3 flex-shrink-0"})]})}),a.jsxs("div",{className:"text-right ml-4",children:[a.jsx("span",{className:"font-semibold text-lg",children:t}),a.jsx("span",{className:"text-sm text-muted-foreground ml-1",children:1===t?"click":"clicks"})]})]},e)))})]})]})]})})},Dje=({automationId:e,includeSales:n=!1,includeSms:i=!1,showErrors:r=!1,automation:o})=>{const[s,l]=t.useState(!1),[u,c]=t.useState(!1),d=Lx(),{statistics:m,isLoading:h}=IE(e),{statistics:p,isLoading:g}=VE(),[f,v]=t.useState(10),[y,b]=t.useState(void 0),k=GE({limit:f,cursor:y}),S=k.data,w=S?.pagination.cursor??null,A=S?.pagination.total??null,C=k.isLoading,M=k.isFetching,T=k.isPlaceholderData;t.useEffect((()=>{b(void 0)}),[e]);const x=t.useCallback((e=>{b(e.cursor),v(e.pageSize)}),[]),N=e?m:p,E=[{accessorKey:"automation_name",header:"Automation",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"font-medium",children:e.original.automation_name||"Unknown Automation"}),size:150},{accessorKey:"first_name",header:"Customer",enableSorting:!1,cell:({row:e})=>{const t=e.original.first_name||"",n=e.original.last_name||"",i=e.original.email||"";return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"font-medium",children:t&&n?`${t} ${n}`:"Unknown"}),i&&a.jsx("span",{className:"text-xs text-muted-foreground",children:i})]})},size:200},{accessorKey:"amount",header:"Amount",enableSorting:!1,cell:({row:e})=>{const a=parseFloat(e.original.amount);return Phe(a)},size:120},{accessorKey:"communication_type",header:"Channel",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"capitalize text-sm",children:e.original.communication_type||"Unknown"}),size:100},{accessorKey:"schedule_send_at",header:"Sent Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.schedule_send_at;return a?new Date(a).toLocaleDateString():"Unknown"},size:140},{accessorKey:"created_date",header:"Order Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.created_date;return a?new Date(a).toLocaleDateString():"Unknown"},size:140}];return(e?h:g)||!N?a.jsx("div",{className:"bg-white rounded-2xl w-full p-6 flex items-center justify-center h-[14.05rem]",children:a.jsx(th,{text:[`Fetching ${PN("engage:insight",{count:2})}`,"Finishing up"]})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"bg-white rounded-2xl w-full p-6 flex flex-col gap-6",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"mb-4 text-lg font-medium text-foreground",children:e?PN("engage:insight",{count:2}):`Business ${PN("engage:insight",{count:2})}`}),a.jsx(Lje,{statistics:N,automationId:e,onLinkClickStatsOpen:()=>l(!0),includeSms:i&&d,showErrors:r})]}),n&&a.jsx(VNe,{className:"my-2"}),n&&a.jsxs("section",{children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground",children:e?PN("engage:salesInsights","Sales Insights"):PN("engage:businessSalesInsights","Business Sales Insights")}),a.jsxs(Xa,{variant:"outline",size:"sm",onClick:()=>c(!0),className:"flex items-center gap-2",children:[a.jsx(V,{className:"h-4 w-4"}),"Email Attribution"]})]}),a.jsx(Bje,{automation:o,businessSales:!e&&p?.sales?{totalRevenue:p.sales.totalRevenue,totalOrders:p.sales.totalOrders}:void 0})]})]}),!e&&n&&a.jsxs("div",{className:"bg-white rounded-2xl p-6",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground mb-4",children:"Sales From All Campaigns"}),void 0!==A&&a.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Total Orders: ",A]}),a.jsx(Sue,{data:S?.results||[],columns:E,paginationMode:"cursor",totalCount:A??void 0,initialPageSize:f,isLoading:C&&!T,cursorPaginationQueryResult:{nextCursor:w,isLoading:C,isFetching:M,isPlaceholderData:T},onQueryParametersChange:x,hideLoadingState:!1})]}),e&&a.jsx(Rje,{automationId:e,isOpen:s,onClose:()=>l(!1)}),a.jsx(wi,{open:u,onOpenChange:c,children:a.jsx(Ti,{className:"max-w-4xl max-h-[80vh] overflow-y-auto",children:a.jsx(_je,{})})})]})},zje=()=>a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-gradient-to-br from-blue-50 via-white to-purple-50",children:a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,ease:"easeOut"},className:"text-center max-w-md mx-auto px-6",children:[a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.2},className:"mb-8 flex justify-center",children:a.jsx(th,{size:"lg"})}),a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.4},children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-4",children:"Syncing Your Data"}),a.jsxs("p",{className:"text-lg text-gray-600 mb-6 leading-relaxed",children:["We're processing your customer"," ",PN("engage:segment",{count:2}).toLowerCase()," and preparing your engagement tools. Please check back in 30-60 minutes."]}),a.jsx("div",{className:"space-y-4",children:a.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm text-gray-500",children:[a.jsx(tS.div,{animate:{opacity:[.5,1,.5]},transition:{duration:1.5,repeat:1/0},className:"w-2 h-2 bg-blue-500 rounded-full"}),a.jsx("span",{children:"Analyzing customer data"})]})}),a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.8},className:"mt-8 p-4 bg-blue-50 rounded-lg border border-blue-200",children:a.jsxs("p",{className:"text-sm text-blue-800",children:[a.jsx("strong",{children:"What's happening?"})," We're updating your customer"," ",PN("engage:segment",{count:2}).toLowerCase()," and preparing your email accounts to make sure everything is up to date and accurate for your campaigns."]})})]})]})}),Oje=e=>{const{automationId:a,hideSms:t}=e;return`/automations/view-modal/${a}?showBackButton=true${t?"&hideSms=true":""}`};function Ije(){const e=Sde(),{hideFeature:n}=qm(),{updateAutomation:i}=OE(),[r,o]=t.useState(10),[s,l]=t.useState(void 0),[u,c]=t.useState(""),{automations:d,nextCursor:m,totalCount:h,isLoading:p,isFetching:g,isPlaceholderData:f}=HE({cursor:s,limit:r,triggerTypes:[ME.TRIGGER_BASED,ME.DATE_BASED],search:u||void 0}),v=t.useMemo((()=>(d||[]).map((e=>({...e,updated_at:e.updatedAt||e.createdAt,automation_type:e.triggerType})))),[d]),y=t.useCallback((async(e,a)=>{const t=a===_E.ACTIVE;await i({id:e,params:{status:t?_E.ACTIVE:_E.DRAFT}})}),[i]),b=t.useCallback((e=>{c(e)}),[]),k=t.useCallback((e=>{l(e.cursor),o(e.pageSize)}),[]),S=t.useCallback((e=>Oje({automationId:e,hideSms:n?.engage?.sms??!1})),[n?.engage?.sms]),w=t.useMemo((()=>Xfe({automationName:PN("engage:automation"),setUrl:S,onToggle:y,vsaasManaged:!0})),[y,S]);return a.jsx("div",{id:"automation-list-container",className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:v,columns:w,paginationMode:"cursor",totalCount:h??void 0,initialPageSize:r,isLoading:p&&!f,onRowClick:a=>{e(`/automations/view-modal/${a.id}?showBackButton=true${n?.engage?.sms?"&hideSms=true":""}`)},cursorPaginationQueryResult:{nextCursor:m,isLoading:p,isFetching:g,isPlaceholderData:f},onQueryParametersChange:k,searchValue:u,onSearchChange:b})})})}function Kje(){const{updateAutomation:e}=OE(),{duplicateAutomation:n}=FE(),{archiveAutomation:i}=(()=>{const e=sm(),{toast:a}=dS(),t=fm({mutationFn:({id:e,params:a})=>Hx(e,a),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Kx.single(n.id)}),e.invalidateQueries({queryKey:VN.all}),e.invalidateQueries({queryKey:Kx.list()}),a({title:"Successfully archived"})},onError:e=>{a({title:"Error archiving",description:"Please try again.",variant:"destructive"})}});return{archiveAutomation:t.mutateAsync,isArchiving:t.isPending}})(),{cancelAutomation:r}=(()=>{const e=sm(),{toast:a}=dS(),t=fm({mutationFn:e=>Hx(e,{status:_E.DRAFT}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Kx.single(n)}),e.invalidateQueries({queryKey:VN.all}),e.invalidateQueries({queryKey:Kx.list()}),a({title:"Successfully cancelled"})},onError:e=>{a({title:"Error cancelling",description:"Please try again.",variant:"destructive"})}});return{cancelAutomation:t.mutateAsync,isCancelling:t.isPending}})(),o=Sde(),[s,l]=t.useState(10),[u,c]=t.useState(void 0),{hideFeature:d}=qm(),[m,h]=t.useState(""),{automations:p,totalCount:g,nextCursor:f,isLoading:v,isFetching:y,isPlaceholderData:b}=HE({cursor:u,limit:s,triggerTypes:[ME.ONE_TIME],search:m||void 0}),k=t.useMemo((()=>(p||[]).map((e=>({...e,updated_at:e.updatedAt})))),[p]),S=t.useCallback((async(a,t)=>{const n=t===_E.ACTIVE;await e({id:a,params:{status:n?_E.ACTIVE:_E.DRAFT}})}),[e]),w=t.useCallback(((e,a)=>{n({automationId:e,name:`${a} (Copy)`,description:"Duplicated broadcast"})}),[n]),A=t.useCallback((async e=>{await i({id:e,params:{status:_E.ARCHIVED}})}),[i]),C=t.useCallback((e=>{const a=Oje({automationId:e,hideSms:d?.engage?.sms??!1});o(a)}),[o,d?.engage?.sms]),M=t.useCallback((async e=>{await r(e)}),[r]),T=t.useCallback((e=>{c(e.cursor),l(e.pageSize)}),[]),x=t.useCallback((e=>Oje({automationId:e,hideSms:d?.engage?.sms??!1})),[d?.engage?.sms]),N=t.useMemo((()=>Xfe({automationName:PN("engage:broadcast"),setUrl:x,onToggle:S,pillForStatus:!1,onDuplicate:w,onArchive:A,onEdit:C,onCancel:M})),[S,x,w,A,C,M]);return a.jsx("div",{id:"broadcast-list-container",className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:k,columns:N,paginationMode:"cursor",initialPageSize:s,isLoading:v&&!b,totalCount:g??void 0,cursorPaginationQueryResult:{nextCursor:f,isLoading:v,isFetching:y,isPlaceholderData:b},onRowClick:e=>{o(`/automations/view-modal/${e.id}?showBackButton=true${d?.engage?.sms?"&hideSms=true":""}`)},onQueryParametersChange:T,searchValue:m,onSearchChange:h})})})}function Hje(){const{toast:e}=dS(),[n,i]=t.useState(!1),[r,o]=t.useState(null),[s,l]=t.useState(10),[u,c]=t.useState(void 0),[d,m]=t.useState(""),{segments:h,isLoading:p,nextCursor:g,totalCount:f,isFetching:v,isPlaceholderData:y}=Zse({search:d||void 0,cursor:u,limit:s}),b=t.useCallback((e=>{o(e),i(!0)}),[o]),k=t.useMemo((()=>function(e){return[Ufe("name",`${PN("engage:segment")} Name`,!0),Wfe(),Ace({accessorKey:"user_count",header:PN("engage:user_other"),enableSorting:!1,size:120,minSize:100,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:PN("engage:user_other")},cellClassName:"text-muted-foreground pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const a=e.getValue(),t="string"==typeof a?Number(a):a??0,n=isNaN(t)?0:t;return`${n.toLocaleString()} ${PN("engage:user",{count:n}).toLowerCase()}`}}),qfe("updated_at"),Qfe(e||(()=>{}))]}(b)),[b]),S=t.useMemo((()=>h?h.map((e=>({...e,updated_at:e.createdAt?.toString(),user_count:e.userCount,user_count_updated_at:e.userCountUpdatedAt}))):[]),[h]),w=t.useCallback((e=>{c(e.cursor),l(e.pageSize)}),[]);return a.jsxs("div",{className:"w-full h-[75vh] flex flex-col",children:[a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:S,columns:k,paginationMode:"cursor",initialPageSize:s,isLoading:p&&!y,totalCount:f??void 0,cursorPaginationQueryResult:{nextCursor:g,isLoading:p,isFetching:v,isPlaceholderData:y},onQueryParametersChange:w,getRowClassName:e=>e.type===Jse.ALL_USERS?"cursor-not-allowed opacity-60":"",onRowClick:a=>{if(a.type!==Jse.ALL_USERS){if(a.type!==Jse.CUSTOM)return o(a.id),void i(!0);o(a.id),i(!0)}else e({title:"Read-only segment",description:"This segment cannot be edited.",variant:"destructive"})},searchValue:d,onSearchChange:m})}),a.jsx($_e,{open:n,setOpen:i,segmentId:r??void 0,onSegmentUpdated:a=>{Gfe(i,e,a,`Error creating ${PN("engage:segment")}`,"Please try again"),c(void 0),l(10),m("")},viewOnly:!!r&&h?.find((e=>e.id===r))?.type!==Jse.CUSTOM})]})}const Fje=()=>{const e=sm(),n=Sde(),{toast:i}=dS(),{hideFeature:r,enableFeature:o}=qm(),{data:s}=fS(),[l,u]=t.useState(!1),[c,d]=t.useState(!1),[m,h]=t.useState(!1),[p,g]=t.useState(null),[f,v]=t.useState(!1),[y,k]=t.useState(null);t.useEffect((()=>{o?.engage?.onboarding&&v(null==s?.uiDefaults?.engageOnboardingShow||!0===s?.uiDefaults?.engageOnboardingShow)}),[s?.uiDefaults,o?.engage?.onboarding]);const S=s&&!s.segments_first_checked_at,{automations:w,isLoading:A}=HE({triggerTypes:[ME.TRIGGER_BASED,ME.DATE_BASED]}),[C,M]=t.useState();t.useEffect((()=>{e.prefetchQuery({queryKey:Kx.list()}),e.prefetchQuery({queryKey:Wse.lists(),queryFn:()=>pse()}),e.prefetchQuery({queryKey:Wse.lists({limit:10}),queryFn:()=>pse({limit:10})})}),[e]),t.useEffect((()=>{if(A||void 0===w)return;const e=[{id:"broadcasts",label:PN("engage:broadcast",{count:2}),content:a.jsx(Kje,{}),tooltip:{description:`Send one-time messages to your audience ${PN("engage:segment",{count:2}).toLowerCase()} based on behavior, demographics, or custom criteria. Perfect for announcements, promotions, or targeted campaigns.`}},{id:"segments",label:PN("engage:segment",{count:2}),content:a.jsx(Hje,{}),tooltip:{description:`Create and manage audience ${PN("engage:segment",{count:2}).toLowerCase()} based on behavior, demographics, or custom criteria. Essential for targeted messaging.`}},{id:"statistics",label:PN("engage:insight",{count:2}),content:a.jsx("div",{className:"w-full h-full flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2 overflow-y-auto",children:a.jsx("div",{className:"border rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300",children:a.jsx(Dje,{includeSales:!0,includeSms:void 0===r?.engage?.sms||!r?.engage?.sms})})})}),tooltip:{description:"Track performance metrics, engagement rates, etc across all your campaigns."}}];w.length>0?(k("automations"),M([{id:"automations",label:PN("engage:automation",{count:2}),content:a.jsx(Ije,{}),tooltip:{description:"Intelligent workflows that automatically send messages based on customer actions, events, or schedules. Improve engagement with targeted messaging."}},...e])):(k("broadcasts"),M(e))}),[w,A,r?.engage?.sms]);return S?a.jsx(zje,{}):null===y||null==C?a.jsx("div",{className:"w-full h-full flex justify-center items-center",children:a.jsx(th,{})}):a.jsxs("div",{className:"w-full h-full flex flex-col",children:[a.jsx(B_,{open:f,onClose:()=>v(!1),hideSMS:!0===r?.engage?.sms,children:a.jsx(hE,{open:!1,setOpen:()=>{},children:a.jsx(L_,{})})}),a.jsx(hE,{open:l,setOpen:u,children:a.jsx(mE,{})}),a.jsx("div",{className:"p-4",id:"engage-tabs-container",children:a.jsxs(N_e,{value:y,onValueChange:k,className:wje,children:[a.jsxs("div",{className:Aje,children:[a.jsx(E_e,{className:Cje,children:C?.map((e=>{let t;switch(e.id){case"automations":t=b;break;case"broadcasts":t=Y;break;case"segments":t=Re;break;case"statistics":t=q;break;default:t=null}return a.jsxs(__e,{value:e.id,className:Mje,children:[t&&a.jsx(t,{className:Tje}),a.jsx("span",{className:xje,children:e.label}),e.tooltip?.description&&a.jsx(Rx,{description:e.tooltip.description,size:"small",iconColor:"text-gray-400"})]},e.id)}))}),a.jsxs("div",{className:Eje,children:[("automations"===y||"broadcasts"===y)&&a.jsxs(Xa,{id:"new-broadcast-button",className:"bg-primary",onClick:()=>d(!0),children:[a.jsx(de,{className:"h-4 w-4 sm:mr-1"}),a.jsxs("span",{className:"hidden sm:inline",children:["New ",PN("engage:broadcast")]})]}),"segments"===y&&a.jsxs(Xa,{className:"bg-primary",onClick:()=>h(!0),children:[a.jsx(de,{className:"h-4 w-4 sm:mr-1"}),a.jsxs("span",{className:"hidden sm:inline",children:["New ",PN("engage:segment")]})]}),a.jsx(Xa,{variant:"outline",onClick:()=>u(!0),children:a.jsx(ve,{className:"w-4 h-4"})})]})]}),C?.map((e=>a.jsx(j_e,{value:e.id,className:Nje,children:e.content},e.id)))]})}),a.jsx(kje,{open:c,setOpen:d,onClose:e=>{if(Gfe(d,i,e,`Error creating ${PN("engage:broadcast")}`,"Please try again"),!1!==e){n(`/automations/view-modal/${e}?showBackButton=true${r?.engage?.sms?"&hideSms=true":""}`)}},automationType:ME.ONE_TIME,hideSms:r?.engage?.sms}),a.jsx($_e,{open:m,setOpen:h,segmentId:p??void 0,onSegmentUpdated:e=>{Gfe(h,i,e,`Error creating ${PN("engage:segment")}`,"Please try again"),g(null)}})]})},Gje="/automations";function Vje({open:e,onOpenChange:t}){const n=Sde(),i=tle(),{toast:r}=dS(),{updateAutomation:o,isUpdating:s}=zE(i?.id||""),l=PN(i?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation");return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Archive Automation"})}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"text-sm text-gray-600",children:["Are you sure you want to archive"," ",a.jsxs("span",{className:"font-semibold text-gray-900",children:['"',i?.name,'"']}),"?"]}),a.jsxs("div",{className:"text-sm text-gray-500 bg-amber-50 border border-amber-200 rounded-lg p-3",children:[a.jsx("p",{className:"font-medium text-amber-800 mb-1",children:"What happens when you archive:"}),a.jsxs("ul",{className:"text-amber-700 space-y-1",children:[a.jsx("li",{children:"• The automation will be hidden from your main list"}),a.jsx("li",{children:"• Historical data and settings are preserved"})]})]}),a.jsxs(Ni,{className:"gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),disabled:s,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async function(){i?o({status:_E.ARCHIVED},{onSuccess:()=>{r({title:`${l} archived`,description:`"${i.name}" has been successfully archived.`}),t(!1),n(Gje)},onError:()=>{r({title:"Error archiving!",description:"Please contact your administrator.",variant:"destructive"})}}):r({title:"Error archiving automation",description:"Please try again.",variant:"destructive"})},disabled:s,children:s?"Archiving...":"Archive Automation"})]})]})]})})}function Jje({open:e,onOpenChange:t}){const n=tle(),{toast:i}=dS(),{updateAutomation:r}=zE(n?.id||""),o=sm();return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:n?.status===_E.SENDING?`Cancel ${PN("engage:automation")}`:`Cancel ${PN("engage:automation")} Before Sending`})}),a.jsx("div",{className:"space-y-4",children:n?a.jsxs(a.Fragment,n.status===_E.SENDING?{children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:["We'll help you cancel your",a.jsx("span",{className:"font-bold px-1 text-primary",children:n.name}),PN("engage:automation")," as soon as possible."]}),a.jsxs("div",{className:"rounded-lg bg-muted p-4 text-sm",children:[a.jsx("p",{className:"font-medium mb-2",children:"What happens next?"}),a.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[a.jsxs("li",{children:["We'll attempt to cancel the"," ",PN("engage:broadcast").toLowerCase()]}),a.jsx("li",{children:"Any messages already in the process of being sent will be delivered"}),a.jsxs("li",{children:["Future ",PN("engage:broadcast").toLowerCase()," messages will be cancelled"]}),a.jsxs("li",{children:["You can create a new ",PN("engage:broadcast").toLowerCase()," if needed"]})]})]})]}:{children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:["We'll help you cancel your",a.jsx("span",{className:"font-bold px-1 text-primary",children:n.name}),PN("engage:automation")," before it starts sending."]}),a.jsxs("div",{className:"rounded-lg bg-muted p-4 text-sm",children:[a.jsx("p",{className:"font-medium mb-2",children:"What happens next?"}),a.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[a.jsx("li",{children:"The automation will be cancelled"}),a.jsx("li",{children:"You can create a new automation if needed"})]})]})]}):null}),a.jsxs(Ni,{className:"gap-2 sm:gap-0",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),children:"Continue Running"}),a.jsxs(Xa,{variant:"destructive",onClick:()=>{if(!n)return;const e=n.status===_E.SENDING?_E.PARTIALLY_CANCELLED:_E.CANCELLED,a=n.status===_E.SENDING?`Attempting to cancel ${PN("engage:broadcast").toLowerCase()}`:`Successfully cancelled ${PN("engage:broadcast").toLowerCase()}`,s=`Failed to cancel ${PN("engage:broadcast").toLowerCase()}`;r({status:e},{onError:()=>{i({title:s,description:"Please contact your administrator.",variant:"destructive"}),o.invalidateQueries({queryKey:Kx.all})},onSuccess:()=>{t(!1),i({title:a,description:n.status===_E.SENDING?`We'll attempt to cancel your ${PN("engage:broadcast").toLowerCase()}. Any messages already in progress will be delivered.`:`Your ${PN("engage:broadcast").toLowerCase()} has been cancelled.`})}})},children:["Cancel ",PN("engage:automation")]})]})]})})}function Uje({open:e,onOpenChange:t,setIsActive:n}){const i=tle(),{updateAutomation:r}=zE(i?.id||""),{toast:o}=dS(),s=sm(),l=PN(i?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation"),u=i?.triggerType===ME.ONE_TIME?"Unschedule":`Pause ${l}`;return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:u})}),a.jsxs("div",{children:[i?.triggerType===ME.ONE_TIME?"Are you sure you want to unschedule the":"Are you sure you want to pause the",a.jsx("span",{className:"font-bold px-1 text-primary",children:i?.name})," ",l,"?"]}),a.jsxs(Ni,{className:"gap-2 sm:gap-0",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:()=>{r({status:_E.DRAFT},{onSuccess:()=>{o({title:`Updated ${l}`,description:`${l} status updated`}),t(!1),n(!1)},onError:()=>{o({title:`Failed to update ${l}`,description:"Please try again"}),s.invalidateQueries({queryKey:Kx.all})}})},children:u})]})]})})}const Wje=EA({name:gA().min(2,"Title must be at least 2 characters"),description:gA()});function qje({open:e,onOpenChange:t,onDuplicationCreated:n}){const i=tle(),{toast:r}=dS(),o=bo({resolver:ah(Wje),defaultValues:{name:`${i?.name} (copy)`,description:i?.description??""}}),{duplicateAutomation:s,isDuplicating:l}=FE();return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Duplicate Automation"})}),a.jsx(_o,{...o,children:a.jsxs("form",{onSubmit:o.handleSubmit((async function(e){i&&e.name?s({automationId:i.id,name:e.name,description:e.description},{onSuccess:e=>{e.id&&(n?.(e.id),t(!1))}}):r({title:"Error duplicating automation",description:"Please try again. Please make sure to fill in the name of the automation."})})),className:"space-y-4",children:[a.jsxs("div",{children:["Create a copy of the",a.jsx("span",{className:"font-bold px-1 text-primary",children:i?.name}),"automation with a new title and description."]}),a.jsx(Po,{control:o.control,name:"name",render:({field:e})=>a.jsxs(Ro,{children:[a.jsx(Do,{children:"Title"}),a.jsx(zo,{children:a.jsx(Io,{...e})}),a.jsx(Oo,{})]})}),a.jsx(Po,{control:o.control,name:"description",render:({field:e})=>a.jsxs(Ro,{children:[a.jsx(Do,{children:"Description"}),a.jsx(zo,{children:a.jsx(rve,{...e})}),a.jsx(Oo,{})]})}),a.jsx(Ni,{children:a.jsx(Xa,{type:"submit",disabled:l,children:"Duplicate"})})]})})]})})}const Zje=EA({name:gA().min(2,"Title must be at least 2 characters")}),$je=EA({description:gA().max(300,"Description must be less than 300 characters")}),Yje=({showBackButton:e,onDuplicationCreated:n,onBeforeSchedule:i})=>{const r=tle(),o=Sde(),{updateAutomation:s}=zE(r?.id||""),{toast:l}=dS(),u=(()=>{const{state:e}=ale();return e.recipientStats})(),{communicationGroup:c}=ile(),{data:d}=XN(),{channelSenders:h}=DC(),{channelAccounts:p}=LC(),g=sm(),[f,v]=t.useState(void 0),[y,b]=t.useState(!1),[k,S]=t.useState(!1),[A,C]=t.useState(!1),[M,T]=t.useState(!1),[x,N]=t.useState(!1),E=oE({channelSenders:h?.results??[],channelAccounts:p?.results??[],smsApplication:d});t.useEffect((()=>{if(r)switch(r.status){case _E.DRAFT:v(!1);break;case _E.ACTIVE:case _E.RUNNING:case _E.COMPLETED:v(!0);break;case _E.FAILED:case _E.DEACTIVATED:v(!1);break;case _E.SENDING:case _E.SCHEDULED:v(!0);break;case _E.PARTIALLY_CANCELLED:case _E.CANCELLED:case _E.ARCHIVED:v(!1);break;default:throw The(r.status,_E)}}),[r]);const _=PN(r?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation"),j=t.useCallback((()=>{T(!0),s({status:_E.DRAFT},{onSuccess:()=>{v(!1),T(!1),l({title:`${_} activation undone`,description:"The automation will remain in draft status"})},onError:()=>{T(!1),l({title:"Error while updating the status",description:"Please refresh and try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})}),[_,s,g,l]),P=t.useCallback((()=>{if(!r)return l({title:`${_} not found`,description:"Please contact your administrator",variant:"destructive"}),null;const e=async e=>{if(f&&!e)C(!0);else{if(i&&!0===e){let e=0;for(;!u&&e<20;)await new Promise((e=>setTimeout(e,100))),e++;if(!u)return void l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"});const a=await i({estimatedEmailRecipients:u?.emails??0,estimatedSmsRecipients:u?.phones??0});if(!0!==a)return void l({title:"Error while updating the status",description:a,variant:"destructive"})}if(c?.id){await g.invalidateQueries({queryKey:["communication-group",c.id]}),await g.refetchQueries({queryKey:["communication-group",c.id]});const{getCommunicationGroup:e}=await Promise.resolve().then((()=>GN)),a=await e(c.id);if(a?.emailChannelSenderId&&a?.emailHtmlBody&&a.emailHtmlBody.includes(eve))return void l({title:"Oops!",description:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`,variant:"destructive"})}switch(r.triggerType){case ME.ONE_TIME:if(!r.triggerMetadata||!("scheduledAt"in r.triggerMetadata)||!r.triggerMetadata?.scheduledAt)return void l({title:"Ensure you have selected a scheduled time",variant:"destructive"});if(!c||!c.emailChannelSenderId&&!c.smsChannelSenderId)return void l({title:"Ensure you have selected at least one kind of communication",variant:"destructive"});break;case ME.TRIGGER_BASED:case ME.DATE_BASED:break;default:throw The(r.triggerType,ME)}e?(T(!0),s({status:_E.SENDING},{onSuccess:()=>{v(!0),T(!1),l({title:`${_} activation started`,variant:"default",action:a.jsx(Xre,{altText:"Undo Activate",onClick:j,className:"bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors duration-150 rounded-md px-3 py-1.5 font-medium shadow-sm",children:"Undo"})})},onError:()=>{l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"}),T(!1),g.invalidateQueries({queryKey:Kx.all})}})):(T(!0),s({status:e?_E.ACTIVE:_E.DEACTIVATED},{onSuccess:()=>{v(e),l(r.triggerType===ME.ONE_TIME?e?{title:`${_} started!`}:{title:`${_} has been unscheduled`}:{title:`${_} status updated to ${e?"active":"inactive"}`}),T(!1)},onError:()=>{l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"}),T(!1),g.invalidateQueries({queryKey:Kx.all})}}))}};if(!r||!c)return null;const t=E.find((e=>e.channelSender.id===c?.smsChannelSenderId)),n=!r.triggerMetadata||null===r.triggerMetadata,o=r.triggerMetadata?.triggerType===ME.ONE_TIME&&!r.triggerMetadata?.scheduledAt,d=!c?.emailChannelSenderId&&!c?.smsChannelSenderId,m=r.triggerType===ME.ONE_TIME,h=m&&t&&t?.smsApplication?.application&&t?.smsApplication?.status!==rE.APPROVED,p=c?.emailChannelSenderId&&(!c?.emailSubject||!c?.emailHtmlBody),y=c?.smsChannelSenderId&&!c?.smsMessageBody,b=0===r.includeSegmentIds?.length,k=m&&(!r.triggerMetadata||!("scheduledAt"in r.triggerMetadata)||!r.triggerMetadata?.scheduledAt);let S,A=!1,M=!0;switch(r.status){case _E.ACTIVE:A=!1;break;case _E.DRAFT:(d||p||y||b)&&(A=!0,p&&(S="Missing subject in email communication"),y&&(S="Missing SMS message in SMS communication"),b&&(S="Missing include segment")),k&&(A=!0),h&&(A=!0);break;case _E.DEACTIVATED:case _E.PARTIALLY_CANCELLED:case _E.CANCELLED:switch(A=!0,M=!1,r.status){case _E.DEACTIVATED:S="Automation is deactivated";break;case _E.PARTIALLY_CANCELLED:S="Automation is partially cancelled";break;case _E.CANCELLED:S="Automation is cancelled";break;default:throw The(r.status,_E)}break;case _E.RUNNING:A=!0,r.triggerType===ME.TRIGGER_BASED?(S=`Cannot change status of running ${_}`,M=!0):M=r.triggerType===ME.ONE_TIME&&r.status===_E.RUNNING;break;case _E.COMPLETED:A=!0,S=`Cannot change status of completed ${_}`,M=!1;break;case _E.FAILED:A=!0,S=`Cannot change status of failed ${_}`,M=!1;break;case _E.SENDING:case _E.SCHEDULED:A=!1,M=!0;break;case _E.ARCHIVED:A=!0,S=`Cannot change status of archived ${_}`,M=!1;break;default:throw The(r.status,_E)}const x=(()=>{switch(r.triggerType){case ME.DATE_BASED:case ME.TRIGGER_BASED:return a.jsxs("div",{className:"flex items-center gap-2 w-[12ch] cursor-pointer",children:[a.jsx(f?w:B,{className:"w-4 h-4"}),a.jsx("div",{className:"text-[13px] font-medium",children:f?"Active":"Inactive"}),a.jsx(k_,{checked:f,onCheckedChange:e,disabled:A})]});case ME.ONE_TIME:if((r.status===_E.RUNNING||r.status===_E.SCHEDULED||r.status===_E.SENDING)&&r.triggerType===ME.ONE_TIME)return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>N(!0),disabled:!1,children:"Cancel"});if(n||o||d||h||p||y||b){return a.jsx("div",{className:"flex items-center gap-2 cursor-not-allowed",children:(()=>{const t=r.triggerMetadata&&"scheduledAt"in r.triggerMetadata&&"now"===r.triggerMetadata?.scheduledAt?`Start ${_}`:"Schedule Send";if(r.status!==_E.DRAFT&&r.triggerMetadata&&"scheduledAt"in r.triggerMetadata&&"now"!==r.triggerMetadata?.scheduledAt&&r.status===_E.ACTIVE)return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:r.triggerType===ME.ONE_TIME?"Unschedule":"Convert to Draft"});const n=[];h&&n.push("The SMS number selected is still not approved"),k&&n.push("Please select a schedule time on the left sidebar"),d&&n.push("Please add at least one sender"),p&&n.push("Please add a subject to your email communication"),y&&n.push("Please add a message to your SMS communication"),b&&n.push(`Please select at least one ${PN("engage:segment",{count:1}).toLowerCase()}`);const i=n.map((e=>{return(a=e)?a.charAt(0).toUpperCase()+a.slice(1):a;var a})),o=`You cannot start this ${PN("engage:broadcast").toLowerCase()} yet. ${i.join(" · ")}`;return a.jsx("div",{className:"flex items-center gap-2",children:a.jsx(Rx,{alertText:o,asChild:!1,className:"!cursor-not-allowed",children:a.jsx("div",{className:"px-4 py-2 rounded border border-input bg-background text-muted-foreground cursor-not-allowed text-sm font-medium",children:a.jsx("span",{children:t})})})})})()})}if(!f){let t="Schedule Send";return r.triggerMetadata&&r.triggerMetadata.triggerType===ME.ONE_TIME&&r.triggerMetadata.scheduledAt&&"now"===r.triggerMetadata.scheduledAt&&(t=`Start ${_}`),a.jsx(Xa,{id:"start-automation-button",variant:"default",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:t})}return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:r.triggerType===ME.ONE_TIME?"Unschedule":"Convert to Draft"});default:throw The(r.triggerType,ME)}})();return A&&S&&r.triggerType===ME.TRIGGER_BASED?a.jsx(Rx,{alertText:S,asChild:!0,children:a.jsx("div",{className:"flex items-center gap-2",children:M&&x})}):a.jsx("div",{className:"flex items-center gap-2",children:M&&x})}),[r,c,E,l,f,_,i,s,u,g,j]),L=t.useMemo((()=>r?a.jsx(xx,{variant:Vfe(r.status),id:"automation-status-pill",children:xhe({status:r.status,automationType:r.triggerType,vsaasManaged:r.automationType===NE.MANAGED})}):null),[r]);return r&&void 0!==f?a.jsxs("header",{className:"flex px-1 pt-1",children:[a.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e&&a.jsx(Xa,{variant:"ghost",size:"icon",onClick:()=>o(-1),children:a.jsx(m,{})}),a.jsx("div",{className:"flex items-center gap-2",children:a.jsxs("div",{className:"flex flex-col gap-0 items-start",children:[r.automationType!==NE.MANAGED?a.jsx(ble,{value:r.name,schema:Zje,onSubmit:e=>{s({name:e.name},{onError:()=>{l({title:`Failed to update ${_} name`,description:"Please try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})},fieldName:"name",className:"text-lg",successMessage:`${_} name updated`,errorMessage:`Failed to update ${_.toLowerCase()} name`}):a.jsx("div",{className:"text-lg font-medium",children:r.name}),r.automationType!==NE.MANAGED?a.jsx(ble,{value:r.description||"",schema:$je,onSubmit:e=>{s({description:e.description},{onError:()=>{l({title:`Failed to update ${_.toLowerCase()} description`,description:"Please try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})},fieldName:"description",className:"text-sm "+(r.description?"text-current":"text-muted-foreground"),successMessage:"Description updated",errorMessage:"Failed to update description",placeholderText:`Describe the goal of the ${_.toLowerCase()}`}):r.description&&a.jsx("div",{className:"text-sm text-current",children:r.description})]})})]}),a.jsxs("div",{className:"ml-auto flex gap-4 items-center",children:[a.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[L,r.triggerType===ME.ONE_TIME&&a.jsxs(a.Fragment,{children:[a.jsx("div",{role:"button",tabIndex:0,className:"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 cursor-pointer",onClick:()=>b(!0),children:a.jsx(Rx,{title:"Duplicate",Icon:OM.DuplicateIcon,asChild:!1,onClick:()=>b(!0)})}),(r.status===_E.COMPLETED||r.status===_E.DRAFT||r.status===_E.PARTIALLY_CANCELLED||r.status===_E.CANCELLED)&&a.jsx("div",{role:"button",tabIndex:0,className:"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 cursor-pointer",onClick:()=>S(!0),children:a.jsx(Rx,{title:"Archive",Icon:OM.ArchiveIcon,asChild:!1,onClick:()=>S(!0)})})]})]}),a.jsx("div",M?{className:"flex items-center text-muted-foreground pr-2",children:a.jsx(th,{size:"sm"})}:{className:"flex items-center",children:P()})]}),a.jsx(qje,{open:y,onOpenChange:b,onDuplicationCreated:n}),a.jsx(Uje,{open:A,onOpenChange:C,setIsActive:v}),a.jsx(Jje,{open:x,onOpenChange:N}),a.jsx(Vje,{open:k,onOpenChange:S})]}):null},Qje=({tabs:e,activeTab:n,onTabChange:i,tabsLocation:r="left",secondaryTabs:o=!1,headerOnly:s=!1})=>{const l=t.useRef([]),[u,c]=t.useState({width:0,left:0});t.useEffect((()=>{const a=l.current[e.findIndex((e=>e.id===n))];a&&c({width:a.offsetWidth,left:a.offsetLeft})}),[n,e]);const d=e.find((e=>e.id===n)),m=()=>a.jsxs("div",{className:"relative flex items-center gap-8 "+("left"===r?"w-full justify-start":"w-full justify-center"),children:[a.jsx("div",{className:"absolute bottom-0 h-[1px] rounded-full transition-all duration-300 ease-out\n bg-gradient-to-r from-primary to-primary/90\n shadow-[0_0_8px_rgba(var(--primary-rgb),0.3)]",style:{width:`${u.width}px`,left:`${u.left}px`}}),e.map(((e,t)=>a.jsxs("button",{id:`tab-${e.id}`,ref:e=>l.current[t]=e,onClick:()=>i(e.id),className:Si("relative px-7 py-3 transition-all duration-200 text-lg flex items-center gap-2",n!==e.id&&"text-muted-foreground",o&&"text-sm"),children:[a.jsx("span",{children:e.label}),e.tooltip&&a.jsx(Rx,{title:e.tooltip.title,description:e.tooltip.description,alertText:e.tooltip.alertText,link:e.tooltip.link,showAttributionLink:e.tooltip.showAttributionLink,showReputationMethodology:e.tooltip.showReputationMethodology,size:"small",iconColor:"text-gray-400"})]},e.id)))]});return s?a.jsx(m,{}):a.jsxs("div",{className:"flex flex-col gap-4 w-full overflow-x-hidden h-full",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsx(m,{})}),a.jsx("div",{className:"relative overflow-hidden flex-grow min-h-0",children:a.jsx("div",{className:"relative h-full",children:d?d.content:null})})]})},Xje=()=>{const e=tle(),{isLoading:n}=IE(e?.id),[i,r]=t.useState(void 0),{orders:o,nextCursor:s,totalCount:l,isLoading:u,isFetching:c,isPlaceholderData:d}=KE({automationId:e?.id??"",cursor:i,limit:10,automationStatus:e?.status,automationType:e?.triggerType}),{state:{hideSales:m,hideSms:h}}=t.useContext(qoe),p=t.useCallback((e=>{r(e.cursor)}),[]);if(!e||n)return a.jsx(th,{text:[`Fetching ${PN("engage:insight",{count:2})}`,"Finishing up"]});const g=o?.results||[],f=[{accessorKey:"first_name",header:"Customer",enableSorting:!1,cell:({row:e})=>{const t=e.original.first_name||"",n=e.original.last_name||"",i=e.original.email||"";return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"font-medium",children:t&&n?`${t} ${n}`:"Unknown"}),i&&a.jsx("span",{className:"text-xs text-muted-foreground",children:i})]})},size:200},{accessorKey:"amount",header:"Amount",enableSorting:!1,cell:({row:e})=>{const a=parseFloat(e.original.amount);return Phe(a)},size:120},{accessorKey:"communication_type",header:"Channel",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"capitalize text-sm",children:e.original.communication_type||"Unknown"}),size:100},{accessorKey:"schedule_send_at",header:"Sent Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.schedule_send_at;return a?new Date(a).toLocaleDateString():"Unknown"},size:140},{accessorKey:"created_date",header:"Order Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.created_date;return a?new Date(a).toLocaleDateString():"Unknown"},size:140}];return a.jsxs("div",{className:"h-full p-4 space-y-6",children:[a.jsx(Dje,{automationId:e.id,automation:e,includeSales:!m,includeSms:!h,showErrors:!0}),!m&&a.jsxs("div",{className:"bg-white rounded-2xl p-6",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground mb-4",children:"Sales From This Campaigns"}),void 0!==l&&a.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Total Orders: ",l]}),a.jsx(Sue,{data:g,columns:f,paginationMode:"cursor",totalCount:l??void 0,initialPageSize:10,isLoading:u,cursorPaginationQueryResult:{nextCursor:s||void 0,isLoading:u,isFetching:c,isPlaceholderData:d},hideLoadingState:!0,onQueryParametersChange:p,enableSorting:!1})]})]})},ePe=({options:e})=>a.jsxs(Ahe,{children:[a.jsx(Che,{asChild:!0,children:a.jsx(Xa,{className:"p-1 hover:bg-gray-100 rounded transition-colors",variant:"ghost",children:a.jsx("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx(OM.FilterIcon,{className:"w-4 h-4"})})})}),a.jsx(Mhe,{className:"w-48",children:a.jsx("div",{className:"space-y-2",children:a.jsx("div",{className:"space-y-1",children:e.map((e=>a.jsx(Xa,{onClick:e.onClick,variant:"ghost",className:"w-full text-left px-2 py-1.5 rounded text-sm transition-colors "+(e.isActive?"bg-blue-100 text-blue-700":"hover:bg-gray-100"),children:e.title},e.title)))})})})]});const aPe=t.memo((function({automationId:e}){const[n,i]=t.useState(""),[r,o]=t.useState(void 0),[s,l]=t.useState(void 0),[u,c]=t.useState(25),d=t.useRef(""),m=tle(),{sentCommunications:h,isLoading:p,isFetching:g,isPlaceholderData:f}=RE({automationId:e,cursor:s,limit:u,search:n||void 0,filterType:r,automationStatus:m?.status,automationType:m?.triggerType}),v={nextCursor:h?.pagination.cursor||null,isLoading:p,isFetching:g,isPlaceholderData:!!f},y=t.useCallback((e=>{l(e.cursor),c(e.pageSize)}),[]),b=t.useMemo((()=>[{accessorKey:"communicationJobCreatedAt",id:"lastCommunication",header:"Sent At",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>e.original.communicationJobCreatedAt?a.jsx("div",{className:"flex items-center gap-2",children:a.jsx("span",{className:"text-sm text-gray-600",children:kce(new Date(e.original.communicationJobCreatedAt),"MMM d, yyyy h:mm a")})}):a.jsx("span",{className:"text-gray-400",children:"Not available"})},{accessorFn:e=>`${e.firstName||""} ${e.lastName||""}`.trim(),id:"name",header:"Name",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>{const t=`${e.original.firstName||""} ${e.original.lastName||""}`.trim();return t||a.jsx("span",{className:"text-gray-400",children:"Not provided"})}},{accessorKey:"email",header:"Email",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>a.jsx("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.original.email||a.jsx("span",{className:"text-gray-400",children:"Not provided"})})},{accessorKey:"phone",header:"Phone",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>a.jsx("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.original.phone?KC(e.original.phone):a.jsx("span",{className:"text-gray-400",children:"Not provided"})})},{accessorKey:"communicationsSent",id:"communicationsSent",header:()=>a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{children:"Communications Sent"}),a.jsx(ePe,{options:[{title:"All",onClick:()=>{o(void 0)},isActive:void 0===r},{title:"Errors Only",onClick:()=>{o(xE.ERRORS)},isActive:r===xE.ERRORS},{title:"Unsubscribed",onClick:()=>{o(xE.UNSUBSCRIBED)},isActive:r===xE.UNSUBSCRIBED},{title:"Spam",onClick:()=>{o(xE.SPAM)},isActive:r===xE.SPAM},{title:"Bounced",onClick:()=>{o(xE.BOUNCED)},isActive:r===xE.BOUNCED},{title:"Opened",onClick:()=>{o(xE.OPENED)},isActive:r===xE.OPENED},{title:"Opted Out",onClick:()=>{o(xE.OPTED_OUT)},isActive:r===xE.OPTED_OUT}]})]}),enableSorting:!1,enableColumnFilter:!1,filterFn:(e,a,t)=>(t!==d.current&&(d.current=t,o("errors-only"===t?xE.ERRORS:void 0)),!0),cell:({row:e})=>{const t=e.original.communicationsSent||[],n=t.filter((e=>e.type===jE.EMAIL)),i=t.filter((e=>e.type===jE.SMS)),r=n.length>0,o=i.length>0,s=r||o,l=e.original.skippedReason,u=e.original.skippedEnumReason===PE.USER_OPTED_OUT,c=e=>{switch(e){case"Failed":return"Communication failed to send or was cancelled";case"Skipped":return l||"Communication was skipped due to business rules";case"Unsubscribed":return"Recipient unsubscribed after receiving this communication";case"Spam":return"Recipient marked this communication as spam";case"Hard Bounce":return"Email bounced due to permanent delivery failure";case"Soft Bounce":return"Email bounced due to temporary delivery issue";case"Opened":return"Recipient opened this communication";case"Delivered":return"Communication was successfully delivered";case"Pending":return"Communication is pending delivery";default:return"Communication status"}},d=(e,t)=>{let n="Pending",i="text-gray-500",r="text-gray-400",o="email"===e?OM.EmailIcon:OM.SmsIcon,s="bg-gray-400";return t.error?(n="Failed",i="text-red-500",r="text-red-500",s="bg-red-500"):t.skipped?(n="Skipped",i="text-gray-500",r="text-gray-400",s="bg-gray-400"):t.unsubscribed?(n="Unsubscribed",i="text-orange-500",r="text-orange-500",o=OM.UnsubscribedIcon,s="bg-orange-500"):t.spamComplaint?(n="Spam",i="text-red-600",r="text-red-600",o=OM.SpamIcon,s="bg-red-600"):t.hardBounce?(n="Hard Bounce",i="text-red-700",r="text-red-700",o=OM.HardBounceIcon,s="bg-red-700"):t.softBounce?(n="Soft Bounce",i="text-yellow-600",r="text-yellow-600",o=OM.SoftBounceIcon,s="bg-yellow-600"):t.opened?(n="Opened",i="text-blue-600",r="text-blue-600",o=OM.OpenedIcon,s="bg-blue-600"):t.delivered&&(n="Delivered",i="text-green-600",r="text-green-500",s="bg-green-500"),a.jsx(Rx,{title:t.error||c(n),children:a.jsxs("div",{className:"flex items-center gap-1.5 cursor-pointer",children:[a.jsxs("div",{className:"relative",children:[a.jsx(o,{className:`h-4 w-4 ${r}`}),a.jsx("div",{className:`absolute -right-1 -top-1 h-2 w-2 rounded-full ${s} ring-1 ring-white`})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-medium",children:"email"===e?"Email":"SMS"}),a.jsx("span",{className:`text-xs ${i}`,children:n})]})]})})};return a.jsxs("div",{className:"flex items-center gap-3",children:[!u&&a.jsxs(a.Fragment,{children:[r&&n.map(((e,t)=>a.jsx("div",{children:e.error?a.jsx(Rx,{title:e.error,children:d("email",e)}):d("email",e)},`email-${e.id}-${t}`))),r&&o&&a.jsx("div",{className:"h-8 w-px bg-gray-200"}),o&&i.map(((e,t)=>a.jsx("div",{children:e.error?a.jsx(Rx,{title:e.error,children:d("sms",e)}):d("sms",e)},`sms-${e.id}-${t}`)))]}),u&&a.jsx(Rx,{title:l||"Communication was skipped because user opted out",children:a.jsxs("div",{className:"flex items-center gap-1.5 cursor-pointer",children:[a.jsxs("div",{className:"relative",children:[a.jsx(OM.UnsubscribedIcon,{className:"h-4 w-4 text-orange-500"}),a.jsx("div",{className:"absolute -right-1 -top-1 h-2 w-2 rounded-full bg-orange-500 ring-1 ring-white"})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-medium",children:"Opted Out"}),a.jsx("span",{className:"text-xs text-orange-500",children:"Skipped"})]})]})}),!s&&!u&&a.jsx("span",{className:"text-sm text-gray-400",children:"None"})]})}}]),[r]);return a.jsx("div",{className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 p-4",children:a.jsx(Sue,{data:h?.results||[],columns:b,isLoading:p&&!f,paginationMode:"cursor",initialPageSize:u,totalCount:h?.pagination.total,searchValue:n,onSearchChange:i,manualFiltering:!1,hideLoadingState:!0,cursorPaginationQueryResult:v,onQueryParametersChange:y})})})})),tPe=()=>{const e=tle();return e?e?.triggerType===ME.ONE_TIME&&e?.status===_E.DRAFT?a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[a.jsx("div",{className:"mb-4",children:a.jsx(OM.UserIcon,{className:"h-12 w-12 text-gray-400"})}),a.jsx("h3",{className:"mb-2 text-lg font-semibold text-gray-700",children:"No Recipients Available Yet"}),a.jsxs("p",{className:"text-gray-500",children:["Recipients will be available once this"," ",PN(e.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation")," ","has completed running. Please check back after the automation has finished."]})]}):a.jsx(aPe,{automationId:e.id}):a.jsx(th,{text:["Fetching Recipients","Finishing up"]})},nPe=t.createContext(null);nPe.displayName="PanelGroupContext";const iPe="data-panel-group",rPe="data-panel-group-direction",oPe="data-panel-group-id",sPe="data-panel",lPe="data-panel-collapsible",uPe="data-panel-id",cPe="data-panel-size",dPe="data-resize-handle",mPe="data-resize-handle-active",hPe="data-panel-resize-handle-enabled",pPe="data-panel-resize-handle-id",gPe="data-resize-handle-state",fPe=t.useLayoutEffect,vPe=r["useId".toString()],yPe="function"==typeof vPe?vPe:()=>null;let bPe=0;function kPe(e=null){const a=yPe(),n=t.useRef(e||a||null);return null===n.current&&(n.current=""+bPe++),null!=e?e:n.current}function SPe({children:e,className:a="",collapsedSize:n,collapsible:i,defaultSize:r,forwardedRef:o,id:s,maxSize:l,minSize:u,onCollapse:c,onExpand:d,onResize:m,order:h,style:p,tagName:g="div",...f}){const v=t.useContext(nPe);if(null===v)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:y,expandPanel:b,getPanelSize:k,getPanelStyle:S,groupId:w,isPanelCollapsed:A,reevaluatePanelConstraints:C,registerPanel:M,resizePanel:T,unregisterPanel:x}=v,N=kPe(s),E=t.useRef({callbacks:{onCollapse:c,onExpand:d,onResize:m},constraints:{collapsedSize:n,collapsible:i,defaultSize:r,maxSize:l,minSize:u},id:N,idIsFromProps:void 0!==s,order:h});t.useRef({didLogMissingDefaultSizeWarning:!1}),fPe((()=>{const{callbacks:e,constraints:a}=E.current,t={...a};E.current.id=N,E.current.idIsFromProps=void 0!==s,E.current.order=h,e.onCollapse=c,e.onExpand=d,e.onResize=m,a.collapsedSize=n,a.collapsible=i,a.defaultSize=r,a.maxSize=l,a.minSize=u,t.collapsedSize===a.collapsedSize&&t.collapsible===a.collapsible&&t.maxSize===a.maxSize&&t.minSize===a.minSize||C(E.current,t)})),fPe((()=>{const e=E.current;return M(e),()=>{x(e)}}),[h,N,M,x]),t.useImperativeHandle(o,(()=>({collapse:()=>{y(E.current)},expand:e=>{b(E.current,e)},getId:()=>N,getSize:()=>k(E.current),isCollapsed:()=>A(E.current),isExpanded:()=>!A(E.current),resize:e=>{T(E.current,e)}})),[y,b,k,A,N,T]);const _=S(E.current,r);return t.createElement(g,{...f,children:e,className:a,id:N,style:{..._,...p},[oPe]:w,[sPe]:"",[lPe]:i||void 0,[uPe]:N,[cPe]:parseFloat(""+_.flexGrow).toFixed(1)})}const wPe=t.forwardRef(((e,a)=>t.createElement(SPe,{...e,forwardedRef:a})));SPe.displayName="Panel",wPe.displayName="forwardRef(Panel)";let APe=null,CPe=-1,MPe=null;function TPe(e,a){var t,n;const i=function(e,a){if(a){const e=!!(a&IPe),t=!!(a&KPe);if(a&zPe)return e?"se-resize":t?"ne-resize":"e-resize";if(a&OPe)return e?"sw-resize":t?"nw-resize":"w-resize";if(e)return"s-resize";if(t)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}(e,a);if(APe!==i){var r;if(APe=i,null===MPe&&(MPe=document.createElement("style"),document.head.appendChild(MPe)),CPe>=0)null===(r=MPe.sheet)||void 0===r||r.removeRule(CPe);CPe=null!==(t=null===(n=MPe.sheet)||void 0===n?void 0:n.insertRule(`*{cursor: ${i} !important;}`))&&void 0!==t?t:-1}}function xPe(e){return"keydown"===e.type}function NPe(e){return e.type.startsWith("pointer")}function EPe(e){return e.type.startsWith("mouse")}function _Pe(e){if(NPe(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(EPe(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}const jPe=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function PPe(e){const a=getComputedStyle(e);return"fixed"===a.position||(!("auto"===a.zIndex||"static"===a.position&&!function(e){var a;const t=getComputedStyle(null!==(a=DPe(e))&&void 0!==a?a:e).display;return"flex"===t||"inline-flex"===t}(e))||(+a.opacity<1||("transform"in a&&"none"!==a.transform||("webkitTransform"in a&&"none"!==a.webkitTransform||("mixBlendMode"in a&&"normal"!==a.mixBlendMode||("filter"in a&&"none"!==a.filter||("webkitFilter"in a&&"none"!==a.webkitFilter||("isolation"in a&&"isolate"===a.isolation||(!!jPe.test(a.willChange)||"touch"===a.webkitOverflowScrolling)))))))))}function LPe(e){let a=e.length;for(;a--;){const t=e[a];if(nLe(t,"Missing node"),PPe(t))return t}return null}function BPe(e){return e&&Number(getComputedStyle(e).zIndex)||0}function RPe(e){const a=[];for(;e;)a.push(e),e=DPe(e);return a}function DPe(e){const{parentNode:a}=e;return a&&a instanceof ShadowRoot?a.host:a}const zPe=1,OPe=2,IPe=4,KPe=8,HPe="coarse"===function(){if("function"==typeof matchMedia)return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}();let FPe=[],GPe=!1,VPe=new Map,JPe=new Map;const UPe=new Set;function WPe(e){const{target:a}=e,{x:t,y:n}=_Pe(e);GPe=!0,YPe({target:a,x:t,y:n}),aLe(),FPe.length>0&&(tLe("down",e),e.preventDefault(),$Pe(a)||e.stopImmediatePropagation())}function qPe(e){const{x:a,y:t}=_Pe(e);if(GPe&&0===e.buttons&&(GPe=!1,tLe("up",e)),!GPe){const{target:n}=e;YPe({target:n,x:a,y:t})}tLe("move",e),XPe(),FPe.length>0&&e.preventDefault()}function ZPe(e){const{target:a}=e,{x:t,y:n}=_Pe(e);JPe.clear(),GPe=!1,FPe.length>0&&(e.preventDefault(),$Pe(a)||e.stopImmediatePropagation()),tLe("up",e),YPe({target:a,x:t,y:n}),XPe(),aLe()}function $Pe(e){let a=e;for(;a;){if(a.hasAttribute(dPe))return!0;a=a.parentElement}return!1}function YPe({target:e,x:a,y:t}){FPe.splice(0);let n=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(n=e),UPe.forEach((e=>{const{element:i,hitAreaMargins:r}=e,o=i.getBoundingClientRect(),{bottom:s,left:l,right:u,top:c}=o,d=HPe?r.coarse:r.fine;if(a>=l-d&&a<=u+d&&t>=c-d&&t<=s+d){if(null!==n&&document.contains(n)&&i!==n&&!i.contains(n)&&!n.contains(i)&&function(e,a){if(e===a)throw new Error("Cannot compare node with itself");const t={a:RPe(e),b:RPe(a)};let n;for(;t.a.at(-1)===t.b.at(-1);)e=t.a.pop(),a=t.b.pop(),n=e;nLe(n,"Stacking order can only be calculated for elements with a common ancestor");const i=BPe(LPe(t.a)),r=BPe(LPe(t.b));if(i===r){const e=n.childNodes,a={a:t.a.at(-1),b:t.b.at(-1)};let i=e.length;for(;i--;){const t=e[i];if(t===a.a)return 1;if(t===a.b)return-1}}return Math.sign(i-r)}(n,i)>0){let e=n,a=!1;for(;e&&!e.contains(i);){if((m=e.getBoundingClientRect()).x<(h=o).x+h.width&&m.x+m.width>h.x&&m.y<h.y+h.height&&m.y+m.height>h.y){a=!0;break}e=e.parentElement}if(a)return}FPe.push(e)}var m,h}))}function QPe(e,a){JPe.set(e,a)}function XPe(){let e=!1,a=!1;FPe.forEach((t=>{const{direction:n}=t;"horizontal"===n?e=!0:a=!0}));let t=0;JPe.forEach((e=>{t|=e})),e&&a?TPe("intersection",t):e?TPe("horizontal",t):a?TPe("vertical",t):null!==MPe&&(document.head.removeChild(MPe),APe=null,MPe=null,CPe=-1)}let eLe=new AbortController;function aLe(){eLe.abort(),eLe=new AbortController;const e={capture:!0,signal:eLe.signal};UPe.size&&(GPe?(FPe.length>0&&VPe.forEach(((a,t)=>{const{body:n}=t;a>0&&(n.addEventListener("contextmenu",ZPe,e),n.addEventListener("pointerleave",qPe,e),n.addEventListener("pointermove",qPe,e))})),VPe.forEach(((a,t)=>{const{body:n}=t;n.addEventListener("pointerup",ZPe,e),n.addEventListener("pointercancel",ZPe,e)}))):VPe.forEach(((a,t)=>{const{body:n}=t;a>0&&(n.addEventListener("pointerdown",WPe,e),n.addEventListener("pointermove",qPe,e))})))}function tLe(e,a){UPe.forEach((t=>{const{setResizeHandlerState:n}=t,i=FPe.includes(t);n(e,i,a)}))}function nLe(e,a){if(!e)throw Error(a)}function iLe(e,a,t=10){return e.toFixed(t)===a.toFixed(t)?0:e>a?1:-1}function rLe(e,a,t=10){return 0===iLe(e,a,t)}function oLe(e,a,t){return 0===iLe(e,a,t)}function sLe({panelConstraints:e,panelIndex:a,size:t}){const n=e[a];nLe(null!=n,`Panel constraints not found for index ${a}`);let{collapsedSize:i=0,collapsible:r,maxSize:o=100,minSize:s=0}=n;if(iLe(t,s)<0)if(r){t=iLe(t,(i+s)/2)<0?i:s}else t=s;return t=Math.min(o,t),t=parseFloat(t.toFixed(10))}function lLe({delta:e,initialLayout:a,panelConstraints:t,pivotIndices:n,prevLayout:i,trigger:r}){if(oLe(e,0))return a;const o=[...a],[s,l]=n;nLe(null!=s,"Invalid first pivot index"),nLe(null!=l,"Invalid second pivot index");let u=0;if("keyboard"===r){{const n=e<0?l:s,i=t[n];nLe(i,`Panel constraints not found for index ${n}`);const{collapsedSize:r=0,collapsible:o,minSize:u=0}=i;if(o){const t=a[n];if(nLe(null!=t,`Previous layout not found for panel index ${n}`),oLe(t,r)){const a=u-t;iLe(a,Math.abs(e))>0&&(e=e<0?0-a:a)}}}{const n=e<0?s:l,i=t[n];nLe(i,`No panel constraints found for index ${n}`);const{collapsedSize:r=0,collapsible:o,minSize:u=0}=i;if(o){const t=a[n];if(nLe(null!=t,`Previous layout not found for panel index ${n}`),oLe(t,u)){const a=t-r;iLe(a,Math.abs(e))>0&&(e=e<0?0-a:a)}}}}{const n=e<0?1:-1;let i=e<0?l:s,r=0;for(;;){const e=a[i];nLe(null!=e,`Previous layout not found for panel index ${i}`);if(r+=sLe({panelConstraints:t,panelIndex:i,size:100})-e,i+=n,i<0||i>=t.length)break}const o=Math.min(Math.abs(e),Math.abs(r));e=e<0?0-o:o}{let n=e<0?s:l;for(;n>=0&&n<t.length;){const i=Math.abs(e)-Math.abs(u),r=a[n];nLe(null!=r,`Previous layout not found for panel index ${n}`);const s=sLe({panelConstraints:t,panelIndex:n,size:r-i});if(!oLe(r,s)&&(u+=r-s,o[n]=s,u.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?n--:n++}}if(function(e,a,t){if(e.length!==a.length)return!1;for(let n=0;n<e.length;n++)if(!oLe(e[n],a[n],t))return!1;return!0}(i,o))return i;{const n=e<0?l:s,i=a[n];nLe(null!=i,`Previous layout not found for panel index ${n}`);const r=i+u,c=sLe({panelConstraints:t,panelIndex:n,size:r});if(o[n]=c,!oLe(c,r)){let a=r-c;let n=e<0?l:s;for(;n>=0&&n<t.length;){const i=o[n];nLe(null!=i,`Previous layout not found for panel index ${n}`);const r=sLe({panelConstraints:t,panelIndex:n,size:i+a});if(oLe(i,r)||(a-=r-i,o[n]=r),oLe(a,0))break;e>0?n--:n++}}}return oLe(o.reduce(((e,a)=>a+e),0),100)?o:i}function uLe({layout:e,panelsArray:a,pivotIndices:t}){let n=0,i=100,r=0,o=0;const s=t[0];nLe(null!=s,"No pivot index found"),a.forEach(((e,a)=>{const{constraints:t}=e,{maxSize:l=100,minSize:u=0}=t;a===s?(n=u,i=l):(r+=u,o+=l)}));return{valueMax:Math.min(i,100-r),valueMin:Math.max(n,100-o),valueNow:e[s]}}function cLe(e,a=document){return Array.from(a.querySelectorAll(`[${pPe}][data-panel-group-id="${e}"]`))}function dLe(e,a,t=document){const n=cLe(e,t).findIndex((e=>e.getAttribute(pPe)===a));return null!=n?n:null}function mLe(e,a,t){const n=dLe(e,a,t);return null!=n?[n,n+1]:[-1,-1]}function hLe(e,a=document){var t;if(a instanceof HTMLElement&&(null==a||null===(t=a.dataset)||void 0===t?void 0:t.panelGroupId)==e)return a;const n=a.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return n||null}function pLe(e,a=document){const t=a.querySelector(`[${pPe}="${e}"]`);return t||null}function gLe({committedValuesRef:e,eagerValuesRef:a,groupId:n,layout:i,panelDataArray:r,panelGroupElement:o,setLayout:s}){t.useRef({didWarnAboutMissingResizeHandle:!1}),fPe((()=>{if(!o)return;const e=cLe(n,o);for(let a=0;a<r.length-1;a++){const{valueMax:t,valueMin:n,valueNow:o}=uLe({layout:i,panelsArray:r,pivotIndices:[a,a+1]}),s=e[a];if(null==s);else{const e=r[a];nLe(e,`No panel data found for index "${a}"`),s.setAttribute("aria-controls",e.id),s.setAttribute("aria-valuemax",""+Math.round(t)),s.setAttribute("aria-valuemin",""+Math.round(n)),s.setAttribute("aria-valuenow",null!=o?""+Math.round(o):"")}}return()=>{e.forEach(((e,a)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")}))}}),[n,i,r,o]),t.useEffect((()=>{if(!o)return;const e=a.current;nLe(e,"Eager values not found");const{panelDataArray:t}=e;nLe(null!=hLe(n,o),`No group found for id "${n}"`);const r=cLe(n,o);nLe(r,`No resize handles found for group id "${n}"`);const l=r.map((e=>{const a=e.getAttribute(pPe);nLe(a,"Resize handle element has no handle id attribute");const[r,l]=function(e,a,t,n=document){var i,r,o,s;const l=pLe(a,n),u=cLe(e,n),c=l?u.indexOf(l):-1;return[null!==(i=null===(r=t[c])||void 0===r?void 0:r.id)&&void 0!==i?i:null,null!==(o=null===(s=t[c+1])||void 0===s?void 0:s.id)&&void 0!==o?o:null]}(n,a,t,o);if(null==r||null==l)return()=>{};const u=e=>{if(!e.defaultPrevented)switch(e.key){case"Enter":{e.preventDefault();const l=t.findIndex((e=>e.id===r));if(l>=0){const e=t[l];nLe(e,`No panel data found for index ${l}`);const r=i[l],{collapsedSize:u=0,collapsible:c,minSize:d=0}=e.constraints;if(null!=r&&c){const e=lLe({delta:oLe(r,u)?d-u:u-r,initialLayout:i,panelConstraints:t.map((e=>e.constraints)),pivotIndices:mLe(n,a,o),prevLayout:i,trigger:"keyboard"});i!==e&&s(e)}}break}}};return e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}));return()=>{l.forEach((e=>e()))}}),[o,e,a,n,i,r,s])}function fLe(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==a[t])return!1;return!0}function vLe(e,a){const t="horizontal"===e,{x:n,y:i}=_Pe(a);return t?n:i}function yLe(e,a,t,n,i,r){if(xPe(e)){const a="horizontal"===t;let n=0;n=e.shiftKey?100:null!=i?i:10;let r=0;switch(e.key){case"ArrowDown":r=a?0:n;break;case"ArrowLeft":r=a?-n:0;break;case"ArrowRight":r=a?n:0;break;case"ArrowUp":r=a?0:-n;break;case"End":r=100;break;case"Home":r=-100}return r}return null==n?0:function(e,a,t,n,i){const r="horizontal"===t,o=pLe(a,i);nLe(o,`No resize handle element found for id "${a}"`);const s=o.getAttribute(oPe);nLe(s,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=n;const u=vLe(t,e),c=hLe(s,i);nLe(c,`No group element found for id "${s}"`);const d=c.getBoundingClientRect();return(u-l)/(r?d.width:d.height)*100}(e,a,t,n,r)}function bLe(e,a,t){a.forEach(((a,n)=>{const i=e[n];nLe(i,`Panel data not found for index ${n}`);const{callbacks:r,constraints:o,id:s}=i,{collapsedSize:l=0,collapsible:u}=o,c=t[s];if(null==c||a!==c){t[s]=a;const{onCollapse:e,onExpand:n,onResize:i}=r;i&&i(a,c),u&&(e||n)&&(!n||null!=c&&!rLe(c,l)||rLe(a,l)||n(),!e||null!=c&&rLe(c,l)||!rLe(a,l)||e())}}))}function kLe(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!=a[t])return!1;return!0}function SLe(e){try{if("undefined"==typeof localStorage)throw new Error("localStorage not supported in this environment");e.getItem=e=>localStorage.getItem(e),e.setItem=(e,a)=>{localStorage.setItem(e,a)}}catch(a){e.getItem=()=>null,e.setItem=()=>{}}}function wLe(e){return`react-resizable-panels:${e}`}function ALe(e){return e.map((e=>{const{constraints:a,id:t,idIsFromProps:n,order:i}=e;return n?t:i?`${i}:${JSON.stringify(a)}`:JSON.stringify(a)})).sort(((e,a)=>e.localeCompare(a))).join(",")}function CLe(e,a){try{const t=wLe(e),n=a.getItem(t);if(n){const e=JSON.parse(n);if("object"==typeof e&&null!=e)return e}}catch(t){}return null}function MLe(e,a,t,n,i){var r;const o=wLe(e),s=ALe(a),l=null!==(r=CLe(e,i))&&void 0!==r?r:{};l[s]={expandToSizes:Object.fromEntries(t.entries()),layout:n};try{i.setItem(o,JSON.stringify(l))}catch(u){}}function TLe({layout:e,panelConstraints:a}){const t=[...e],n=t.reduce(((e,a)=>e+a),0);if(t.length!==a.length)throw Error(`Invalid ${a.length} panel layout: ${t.map((e=>`${e}%`)).join(", ")}`);if(!oLe(n,100)&&t.length>0)for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);t[r]=100/n*e}let i=0;for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);const n=sLe({panelConstraints:a,panelIndex:r,size:e});e!=n&&(i+=e-n,t[r]=n)}if(!oLe(i,0))for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);const n=sLe({panelConstraints:a,panelIndex:r,size:e+i});if(e!==n&&(i-=n-e,t[r]=n,oLe(i,0)))break}return t}const xLe={getItem:e=>(SLe(xLe),xLe.getItem(e)),setItem:(e,a)=>{SLe(xLe),xLe.setItem(e,a)}},NLe={};function ELe({autoSaveId:e=null,children:a,className:n="",direction:i,forwardedRef:r,id:o=null,onLayout:s=null,keyboardResizeBy:l=null,storage:u=xLe,style:c,tagName:d="div",...m}){const h=kPe(o),p=t.useRef(null),[g,f]=t.useState(null),[v,y]=t.useState([]),b=function(){const[e,a]=t.useState(0);return t.useCallback((()=>a((e=>e+1))),[])}(),k=t.useRef({}),S=t.useRef(new Map),w=t.useRef(0),A=t.useRef({autoSaveId:e,direction:i,dragState:g,id:h,keyboardResizeBy:l,onLayout:s,storage:u}),C=t.useRef({layout:v,panelDataArray:[],panelDataArrayChanged:!1});t.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),t.useImperativeHandle(r,(()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:e}=C.current;return e},setLayout:e=>{const{onLayout:a}=A.current,{layout:t,panelDataArray:n}=C.current,i=TLe({layout:e,panelConstraints:n.map((e=>e.constraints))});fLe(t,i)||(y(i),C.current.layout=i,a&&a(i),bLe(n,i,k.current))}})),[]),fPe((()=>{A.current.autoSaveId=e,A.current.direction=i,A.current.dragState=g,A.current.id=h,A.current.onLayout=s,A.current.storage=u})),gLe({committedValuesRef:A,eagerValuesRef:C,groupId:h,layout:v,panelDataArray:C.current.panelDataArray,setLayout:y,panelGroupElement:p.current}),t.useEffect((()=>{const{panelDataArray:a}=C.current;if(e){if(0===v.length||v.length!==a.length)return;let t=NLe[e];null==t&&(t=function(e,a=10){let t=null;return(...n)=>{null!==t&&clearTimeout(t),t=setTimeout((()=>{e(...n)}),a)}}(MLe,100),NLe[e]=t);const n=[...a],i=new Map(S.current);t(e,n,i,v,u)}}),[e,v,u]),t.useEffect((()=>{}));const M=t.useCallback((e=>{const{onLayout:a}=A.current,{layout:t,panelDataArray:n}=C.current;if(e.constraints.collapsible){const i=n.map((e=>e.constraints)),{collapsedSize:r=0,panelSize:o,pivotIndices:s}=PLe(n,e,t);if(nLe(null!=o,`Panel size not found for panel "${e.id}"`),!rLe(o,r)){S.current.set(e.id,o);const l=lLe({delta:jLe(n,e)===n.length-1?o-r:r-o,initialLayout:t,panelConstraints:i,pivotIndices:s,prevLayout:t,trigger:"imperative-api"});kLe(t,l)||(y(l),C.current.layout=l,a&&a(l),bLe(n,l,k.current))}}}),[]),T=t.useCallback(((e,a)=>{const{onLayout:t}=A.current,{layout:n,panelDataArray:i}=C.current;if(e.constraints.collapsible){const r=i.map((e=>e.constraints)),{collapsedSize:o=0,panelSize:s=0,minSize:l=0,pivotIndices:u}=PLe(i,e,n),c=null!=a?a:l;if(rLe(s,o)){const a=S.current.get(e.id),o=null!=a&&a>=c?a:c,l=lLe({delta:jLe(i,e)===i.length-1?s-o:o-s,initialLayout:n,panelConstraints:r,pivotIndices:u,prevLayout:n,trigger:"imperative-api"});kLe(n,l)||(y(l),C.current.layout=l,t&&t(l),bLe(i,l,k.current))}}}),[]),x=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{panelSize:n}=PLe(t,e,a);return nLe(null!=n,`Panel size not found for panel "${e.id}"`),n}),[]),N=t.useCallback(((e,a)=>{const{panelDataArray:t}=C.current,n=jLe(t,e);return function({defaultSize:e,dragState:a,layout:t,panelData:n,panelIndex:i,precision:r=3}){const o=t[i];let s;return s=null==o?null!=e?e.toPrecision(r):"1":1===n.length?"1":o.toPrecision(r),{flexBasis:0,flexGrow:s,flexShrink:1,overflow:"hidden",pointerEvents:null!==a?"none":void 0}}({defaultSize:a,dragState:g,layout:v,panelData:t,panelIndex:n})}),[g,v]),E=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{collapsedSize:n=0,collapsible:i,panelSize:r}=PLe(t,e,a);return nLe(null!=r,`Panel size not found for panel "${e.id}"`),!0===i&&rLe(r,n)}),[]),_=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{collapsedSize:n=0,collapsible:i,panelSize:r}=PLe(t,e,a);return nLe(null!=r,`Panel size not found for panel "${e.id}"`),!i||iLe(r,n)>0}),[]),j=t.useCallback((e=>{const{panelDataArray:a}=C.current;a.push(e),a.sort(((e,a)=>{const t=e.order,n=a.order;return null==t&&null==n?0:null==t?-1:null==n?1:t-n})),C.current.panelDataArrayChanged=!0,b()}),[b]);fPe((()=>{if(C.current.panelDataArrayChanged){C.current.panelDataArrayChanged=!1;const{autoSaveId:e,onLayout:a,storage:t}=A.current,{layout:n,panelDataArray:i}=C.current;let r=null;if(e){const a=function(e,a,t){var n,i;return null!==(i=(null!==(n=CLe(e,t))&&void 0!==n?n:{})[ALe(a)])&&void 0!==i?i:null}(e,i,t);a&&(S.current=new Map(Object.entries(a.expandToSizes)),r=a.layout)}null==r&&(r=function({panelDataArray:e}){const a=Array(e.length),t=e.map((e=>e.constraints));let n=0,i=100;for(let r=0;r<e.length;r++){const e=t[r];nLe(e,`Panel constraints not found for index ${r}`);const{defaultSize:o}=e;null!=o&&(n++,a[r]=o,i-=o)}for(let r=0;r<e.length;r++){const o=t[r];nLe(o,`Panel constraints not found for index ${r}`);const{defaultSize:s}=o;if(null!=s)continue;const l=i/(e.length-n);n++,a[r]=l,i-=l}return a}({panelDataArray:i}));const o=TLe({layout:r,panelConstraints:i.map((e=>e.constraints))});fLe(n,o)||(y(o),C.current.layout=o,a&&a(o),bLe(i,o,k.current))}})),fPe((()=>{const e=C.current;return()=>{e.layout=[]}}),[]);const P=t.useCallback((e=>{let a=!1;const t=p.current;if(t){"rtl"===window.getComputedStyle(t,null).getPropertyValue("direction")&&(a=!0)}return function(t){t.preventDefault();const n=p.current;if(!n)return()=>null;const{direction:i,dragState:r,id:o,keyboardResizeBy:s,onLayout:l}=A.current,{layout:u,panelDataArray:c}=C.current,{initialLayout:d}=null!=r?r:{},m=mLe(o,e,n);let h=yLe(t,e,i,r,s,n);const g="horizontal"===i;g&&a&&(h=-h);const f=lLe({delta:h,initialLayout:null!=d?d:u,panelConstraints:c.map((e=>e.constraints)),pivotIndices:m,prevLayout:u,trigger:xPe(t)?"keyboard":"mouse-or-touch"}),v=!kLe(u,f);(NPe(t)||EPe(t))&&w.current!=h&&(w.current=h,QPe(e,v||0===h?0:g?h<0?zPe:OPe:h<0?IPe:KPe)),v&&(y(f),C.current.layout=f,l&&l(f),bLe(c,f,k.current))}}),[]),L=t.useCallback(((e,a)=>{const{onLayout:t}=A.current,{layout:n,panelDataArray:i}=C.current,r=i.map((e=>e.constraints)),{panelSize:o,pivotIndices:s}=PLe(i,e,n);nLe(null!=o,`Panel size not found for panel "${e.id}"`);const l=lLe({delta:jLe(i,e)===i.length-1?o-a:a-o,initialLayout:n,panelConstraints:r,pivotIndices:s,prevLayout:n,trigger:"imperative-api"});kLe(n,l)||(y(l),C.current.layout=l,t&&t(l),bLe(i,l,k.current))}),[]),B=t.useCallback(((e,a)=>{const{layout:t,panelDataArray:n}=C.current,{collapsedSize:i=0,collapsible:r}=a,{collapsedSize:o=0,collapsible:s,maxSize:l=100,minSize:u=0}=e.constraints,{panelSize:c}=PLe(n,e,t);null!=c&&(r&&s&&rLe(c,i)?rLe(i,o)||L(e,o):c<u?L(e,u):c>l&&L(e,l))}),[L]),R=t.useCallback(((e,a)=>{const{direction:t}=A.current,{layout:n}=C.current;if(!p.current)return;const i=pLe(e,p.current);nLe(i,`Drag handle element not found for id "${e}"`);const r=vLe(t,a);f({dragHandleId:e,dragHandleRect:i.getBoundingClientRect(),initialCursorPosition:r,initialLayout:n})}),[]),D=t.useCallback((()=>{f(null)}),[]),z=t.useCallback((e=>{const{panelDataArray:a}=C.current,t=jLe(a,e);t>=0&&(a.splice(t,1),delete k.current[e.id],C.current.panelDataArrayChanged=!0,b())}),[b]),O=t.useMemo((()=>({collapsePanel:M,direction:i,dragState:g,expandPanel:T,getPanelSize:x,getPanelStyle:N,groupId:h,isPanelCollapsed:E,isPanelExpanded:_,reevaluatePanelConstraints:B,registerPanel:j,registerResizeHandle:P,resizePanel:L,startDragging:R,stopDragging:D,unregisterPanel:z,panelGroupElement:p.current})),[M,g,i,T,x,N,h,E,_,B,j,P,L,R,D,z]);return t.createElement(nPe.Provider,{value:O},t.createElement(d,{...m,children:a,className:n,id:o,ref:p,style:{...{display:"flex",flexDirection:"horizontal"===i?"row":"column",height:"100%",overflow:"hidden",width:"100%"},...c},[iPe]:"",[rPe]:i,[oPe]:h}))}const _Le=t.forwardRef(((e,a)=>t.createElement(ELe,{...e,forwardedRef:a})));function jLe(e,a){return e.findIndex((e=>e===a||e.id===a.id))}function PLe(e,a,t){const n=jLe(e,a);return{...a.constraints,panelSize:t[n],pivotIndices:n===e.length-1?[n-1,n]:[n,n+1]}}function LLe({children:e=null,className:a="",disabled:n=!1,hitAreaMargins:i,id:r,onBlur:o,onClick:s,onDragging:l,onFocus:u,onPointerDown:c,onPointerUp:d,style:m={},tabIndex:h=0,tagName:p="div",...g}){var f,v;const y=t.useRef(null),b=t.useRef({onClick:s,onDragging:l,onPointerDown:c,onPointerUp:d});t.useEffect((()=>{b.current.onClick=s,b.current.onDragging=l,b.current.onPointerDown=c,b.current.onPointerUp=d}));const k=t.useContext(nPe);if(null===k)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:S,groupId:w,registerResizeHandle:A,startDragging:C,stopDragging:M,panelGroupElement:T}=k,x=kPe(r),[N,E]=t.useState("inactive"),[_,j]=t.useState(!1),[P,L]=t.useState(null),B=t.useRef({state:N});fPe((()=>{B.current.state=N})),t.useEffect((()=>{if(n)L(null);else{const e=A(x);L((()=>e))}}),[n,x,A]);const R=null!==(f=null==i?void 0:i.coarse)&&void 0!==f?f:15,D=null!==(v=null==i?void 0:i.fine)&&void 0!==v?v:5;t.useEffect((()=>{if(n||null==P)return;const e=y.current;nLe(e,"Element ref not attached");let a=!1;return function(e,a,t,n,i){var r;const{ownerDocument:o}=a,s={direction:t,element:a,hitAreaMargins:n,setResizeHandlerState:i},l=null!==(r=VPe.get(o))&&void 0!==r?r:0;return VPe.set(o,l+1),UPe.add(s),aLe(),function(){var a;JPe.delete(e),UPe.delete(s);const t=null!==(a=VPe.get(o))&&void 0!==a?a:1;if(VPe.set(o,t-1),aLe(),1===t&&VPe.delete(o),FPe.includes(s)){const e=FPe.indexOf(s);e>=0&&FPe.splice(e,1),XPe(),i("up",!0,null)}}}(x,e,S,{coarse:R,fine:D},((e,t,n)=>{if(t)switch(e){case"down":{E("drag"),a=!1,nLe(n,'Expected event to be defined for "down" action'),C(x,n);const{onDragging:e,onPointerDown:t}=b.current;null==e||e(!0),null==t||t();break}case"move":{const{state:e}=B.current;a=!0,"drag"!==e&&E("hover"),nLe(n,'Expected event to be defined for "move" action'),P(n);break}case"up":{E("hover"),M();const{onClick:e,onDragging:t,onPointerUp:n}=b.current;null==t||t(!1),null==n||n(),a||null==e||e();break}}else E("inactive")}))}),[R,S,n,D,A,x,P,C,M]),function({disabled:e,handleId:a,resizeHandler:n,panelGroupElement:i}){t.useEffect((()=>{if(e||null==n||null==i)return;const t=pLe(a,i);if(null==t)return;const r=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),n(e);break;case"F6":{e.preventDefault();const n=t.getAttribute(oPe);nLe(n,`No group element found for id "${n}"`);const r=cLe(n,i),o=dLe(n,a,i);nLe(null!==o,`No resize element found for id "${a}"`),r[e.shiftKey?o>0?o-1:r.length-1:o+1<r.length?o+1:0].focus();break}}};return t.addEventListener("keydown",r),()=>{t.removeEventListener("keydown",r)}}),[i,e,a,n])}({disabled:n,handleId:x,resizeHandler:P,panelGroupElement:T});return t.createElement(p,{...g,children:e,className:a,id:r,onBlur:()=>{j(!1),null==o||o()},onFocus:()=>{j(!0),null==u||u()},ref:y,role:"separator",style:{touchAction:"none",userSelect:"none",...m},tabIndex:h,[rPe]:S,[oPe]:w,[dPe]:"",[mPe]:"drag"===N?"pointer":_?"keyboard":void 0,[hPe]:!n,[pPe]:x,[gPe]:N})}ELe.displayName="PanelGroup",_Le.displayName="forwardRef(PanelGroup)",LLe.displayName="PanelResizeHandle";const BLe=({className:e,...t})=>a.jsx(_Le,{className:Si("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),RLe=wPe,DLe=({withHandle:e,className:t,...n})=>a.jsx(LLe,{className:Si("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&a.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:a.jsx(F,{className:"h-2.5 w-2.5"})})}),zLe=({copyText:e})=>a.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),OLe="rgba(245, 246, 247, 1)",ILe={[EE.SEND_COMMUNICATION]:{color:{bg:OLe},clickable:!0},[EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME]:{color:{bg:OLe},clickable:!1},[EE.WAIT_UNTIL_NEXT_OCCURRENCE]:{color:{bg:OLe},clickable:!1},[EE.WAIT_FOR_DURATION]:{color:{bg:OLe},clickable:!1},[EE.CHECK_SEGMENT_MEMBERSHIP]:{color:{bg:OLe},clickable:!1}},KLe=e=>{switch(e.actionType){case EE.SEND_COMMUNICATION:return"Send Email & SMS";case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:return"Wait Until (Skip if Passed)";case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return"Wait Until (Always)";case EE.WAIT_FOR_DURATION:return"Wait For";case EE.CHECK_SEGMENT_MEMBERSHIP:return`Check ${e.segmentLanguage} Membership`;default:return"Unknown"}},HLe=({children:e,onClick:t,iconBgColor:n,iconStrokeColor:i,Icon:r,disabled:o=!1,selected:s=!1})=>{const l=r;return a.jsxs(tS.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeInOut"},style:{backgroundColor:s?n:OLe},onClick:t,className:qa("flex gap-2 items-center rounded-md transition-colors group","p-2 border-2 border-transparent overflow-hidden",!o&&"hover:border-primary cursor-pointer",s&&"border-primary"),children:[a.jsx("div",{className:qa("bg-purple-50 rounded-md p-2 flex items-center justify-center w-8 h-8 flex-shrink-0 transition-colors",!o&&"group-hover/trigger-audience:bg-background",n),children:a.jsx(l,{className:qa("w-4 h-4 stroke-purple-500 group-hover/trigger-audience:fill-purple-50 transition-colors",i)})}),e]})},FLe=({segmentName:e,segmentId:t,onClick:n,variant:i="default"})=>{const r=t&&n,o=`inline-flex items-center border rounded-md px-1.5 py-0.5 text-xs font-medium shadow-sm transition-colors ${(()=>{switch(i){case"included":return"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100 hover:border-blue-300";case"excluded":return"bg-red-50 border-red-200 text-red-700 hover:bg-red-100 hover:border-red-300";default:return"bg-white border-gray-200 text-gray-700 hover:bg-gray-50 hover:border-gray-300"}})()}`;return r?a.jsx("button",{onClick:()=>{n(t)},className:`${o} cursor-pointer`,children:e}):a.jsx("span",{className:o,children:e})},GLe=()=>{const e=tle(),{setActionId:n,state:{selectedActionId:i}}=t.useContext(mse),[r,o]=t.useState(!1),[s,l]=t.useState(),{segments:u}=Zse(),c=1===e?.includeSegmentIds?.length&&0===e?.excludeSegmentIds?.length?e.includeSegmentIds[0]:"",{segment:d}=$se(c),m=e=>{l(e),o(!0)};if(!e||!u)return null;const h=e.includeSegmentIds,p=e.excludeSegmentIds;let g,f=!0;return d?.type===Jse.ALL_USERS?(g=`Send to all ${PN("engage:user",{count:2})}`,f=!1):d?.type===Jse.ONE_OFF?(g=`Send to specific ${PN("engage:user",{count:2})}`,f=!1):(g=`Send to all ${PN("engage:user",{count:2})} in ${1===h.length?"this":"these"} ${PN("engage:segment",{count:h.length}).toLowerCase()}`,f=!0),a.jsxs("div",{id:"automation-audience-selector",children:[a.jsx(HLe,{selected:i===hve.EditAudience,iconBgColor:"bg-purple-50",iconStrokeColor:"stroke-purple-500",onClick:()=>{n(hve.EditAudience)},Icon:OM.AudienceIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:"Audience"}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(zLe,{copyText:g}),f&&a.jsx("div",{className:"flex gap-1",children:h.map((e=>{const t=u?.find((a=>a.id===e));return t?a.jsx(FLe,{segmentName:t.name,segmentId:e,onClick:m,variant:"included"},e):null}))})]}),p&&p.length>0&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(zLe,{copyText:`Excluding ${1===p.length?"this":"these"} ${PN("engage:segment",{count:p.length}).toLowerCase()}`}),a.jsx("div",{className:"flex gap-1",children:p.map((e=>{const t=u?.find((a=>a.id===e));return t?a.jsx(FLe,{segmentName:t.name,segmentId:e,onClick:m,variant:"excluded"},e):null}))})]})]})]})}),a.jsx($_e,{open:r,setOpen:o,segmentId:s,onSegmentUpdated:()=>{o(!1)},viewOnly:!0})]})},VLe=e=>{if(-1===e)return"never run this automation again";if(e<=0)return null;const a=Math.floor(e/86400),t=Math.floor(e%86400/3600),n=Math.floor(e%3600/60),i=e%60,r=[];if(a>0&&r.push(`${a} ${1===a?"day":"days"}`),t>0&&r.push(`${t} ${1===t?"hour":"hours"}`),n>0&&r.push(`${n} ${1===n?"minute":"minutes"}`),i>0&&0===a&&0===t&&r.push(`${i} ${1===i?"second":"seconds"}`),0===r.length)return null;if(1===r.length)return r[0];if(2===r.length)return`${r[0]} and ${r[1]}`;const o=r.pop();return`${r.join(", ")}, and ${o}`},JLe=({isDetailsVisible:e=!1})=>{const n=tle(),{setActionId:i,state:{selectedActionId:r}}=t.useContext(mse),{segments:o}=Zse(),[s,l]=t.useState(!1),[u,c]=t.useState(),d=PN(n?.triggerType===ME.TRIGGER_BASED?"engage:automation":"engage:broadcast"),m=`Start this ${d?.toLowerCase()}`,h=`Start this ${PN("engage:automation").toLowerCase()}`,p=e=>{c(e),l(!0)};if(!n||!o)return null;return a.jsxs(a.Fragment,{children:[(()=>{switch(n.triggerType){case ME.DATE_BASED:{if(!n.triggerMetadata||!("monthToTrigger"in n.triggerMetadata)||!("dayToTrigger"in n.triggerMetadata))return null;const e=n.triggerMetadata?.monthToTrigger,t=n.triggerMetadata?.dayToTrigger;let i="Date not set";if(e&&t){i=`${new Date(2024,e-1,t).toLocaleDateString("en-US",{month:"long"})} ${t}`}return a.jsx(HLe,{iconBgColor:"bg-amber-100",disabled:!0,iconStrokeColor:"stroke-amber-500",onClick:()=>{},Icon:OM.TriggerIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:h}),a.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:a.jsx(zLe,{copyText:n.triggerMetadata.customTriggerCopy??`Every year on ${i}`})})]})})}case ME.TRIGGER_BASED:{if(n.triggerMetadata&&n.triggerMetadata.triggerType!==ME.TRIGGER_BASED||!n.triggerMetadata||n.triggerMetadata.eventName!==TE.USER_ENTERS_SEGMENT||!n.triggerMetadata.eventFilter.segment_id)return null;const t=n.triggerMetadata.eventFilter.segment_id,i=o.find((e=>e.id===t))?.name;return i?a.jsx(HLe,{iconBgColor:"bg-amber-100",disabled:!0,iconStrokeColor:"stroke-amber-500",onClick:()=>{},Icon:OM.TriggerIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:m}),a.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:n.triggerMetadata.customTriggerCopy?a.jsx(zLe,{copyText:n.triggerMetadata.customTriggerCopy}):a.jsxs(a.Fragment,{children:[a.jsx(zLe,{copyText:`When ${PN("engage:user").toLowerCase()} joins the`}),a.jsx(FLe,{segmentName:i,segmentId:t,onClick:p})]})}),e&&void 0!==n.triggerMetadata.cooldownSeconds&&n.triggerMetadata.cooldownSeconds>0?a.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[a.jsx(zLe,{copyText:`${PN("engage:segment",{count:1}).toLowerCase()} and wait at least`}),a.jsx("span",{className:"text-sm font-medium text-foreground",children:VLe(n.triggerMetadata.cooldownSeconds)}),a.jsx(Rx,{title:"Why wait between runs?",description:`This prevents the same customer from getting the same automation multiple times. For example, if someone meets the criteria today, they won't start this ${PN("engage:automation").toLowerCase()} again for ${VLe(n.triggerMetadata.cooldownSeconds)}, even if they leave and rejoin the criteria.`,size:"small",iconColor:"text-gray-400"})]}):a.jsx(zLe,{copyText:PN("engage:segment",{count:1}).toLowerCase()})]})}):null}case ME.ONE_TIME:{const e=!n.triggerMetadata||!("scheduledAt"in n.triggerMetadata);return a.jsx("div",{id:"automation-edit-trigger-button",children:a.jsxs(HLe,{iconBgColor:"bg-amber-100",iconStrokeColor:"stroke-amber-500",onClick:()=>{i(hve.EditTime)},selected:r===hve.EditTime,Icon:OM.TriggerIcon,children:[a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:m}),a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(zLe,e?{copyText:`Click to set the date and time for this ${PN("engage:broadcast")}`}:{copyText:"Bulk send at"}),!1===e&&n.triggerMetadata&&"scheduledAt"in n.triggerMetadata&&n.triggerMetadata.scheduledAt&&a.jsx("div",{className:"text-xs font-medium",children:a.jsx(FLe,{segmentName:"now"===n.triggerMetadata.scheduledAt?"Immediately":kce(new Date(n.triggerMetadata.scheduledAt),"h:mma MM/dd/yy")})})]})]}),a.jsx("div",{className:"",children:e&&a.jsx(Rx,{title:`Please select a time before sending this ${PN("engage:broadcast")}.`,alertText:`A scheduled time is needed before sending this ${PN("engage:broadcast")}.`,Icon:OM.AlertTriangleIcon,iconColor:"text-red-500",size:"large"})})]})})}default:throw The(n.triggerType,ME)}})(),a.jsx($_e,{open:s,setOpen:l,segmentId:u,onSegmentUpdated:()=>{l(!1)},viewOnly:!0})]})},ULe=({channelEnabled:e,className:t})=>a.jsx("span",{className:qa("text-xs font-medium",e?"text-green-700":"text-gray-500",t),children:e?"Enabled":"Skipped"}),WLe=(e,a)=>{if(e.length<=a)return e;const t=/\{\{[^}]+\}\}/g,n=[];let i;for(;null!==(i=t.exec(e));)n.push({start:i.index,end:i.index+i[0].length,field:i[0]});let r=a;for(const o of n){if(r>o.start&&r<o.end){r=o.start;break}if(r===o.start){const a=e.lastIndexOf(" ",o.start-1);r=a>0?a:o.start;break}}return 0===r?n.length>0?n[0].field:e.substring(0,Math.min(a,e.length)):e.substring(0,r)+"..."},qLe=({type:e,actionId:n})=>{const{state:{selectedSubStepType:i},setSelectedSubStepType:r,setActionId:o}=t.useContext(mse),s=tle(),{communicationGroup:l}=ile(),{getMergeFields:u,isGetting:c}=WN(l?.id??void 0,s?.id??void 0),d=i===e,m=(()=>{if(!l)return!1;switch(e){case pve.EMAIL:return!!l.emailChannelSenderId;case pve.SMS:return!!l.smsChannelSenderId}})(),h=(()=>{if(!l)return"Need to select a channel";switch(e){case pve.EMAIL:return l.emailChannelSenderId?l.emailHtmlBody?!!l.emailSubject||"Please add a subject to the email":"Please add content to the email":"Please select a email sender";case pve.SMS:return l.smsChannelSenderId?!!l.smsMessageBody||"Please add content to the sms":"Please select a sms sender"}})();return a.jsx(tS.div,{id:`automation-substep-${e}-${n}`,layout:!0,initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.15,ease:"easeInOut"},className:qa("p-2 pr-3 flex gap-2 items-center rounded-md transition-colors cursor-pointer group","border-2 border-transparent",d&&"border-primary","hover:border-muted-foreground/30"),style:{backgroundColor:d?"#f5f6f7":"hsl(var(--reach-muted))"},onClick:a=>{a.target.closest("button")||(o(n),r(e))},children:a.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[a.jsx("div",{className:"rounded-md p-1.5 flex items-center justify-center w-6 h-6 flex-shrink-0 bg-white border",children:((e,t)=>{switch(e){case pve.EMAIL:return a.jsx(OM.EmailIcon,{className:qa("w-6 h-6",t?"text-primary":"text-gray-400")});case pve.SMS:return a.jsx(OM.SmsIcon,{className:qa("w-6 h-6",t?"text-primary":"text-gray-400")})}})(e,d)}),a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx("div",{style:{color:d?"#3b82f6":"#64748b"},children:a.jsx(j_,{className:"text-xs",children:(()=>{switch(e){case pve.EMAIL:return"Email";case pve.SMS:return"SMS"}})()})}),m&&a.jsx("div",{className:"text-[10px] font-medium text-muted-foreground",children:e===pve.EMAIL?c?a.jsx("span",{className:"text-[10px] font-medium text-muted-foreground",children:"..."}):a.jsx(bNe,{content:l?.emailSubject||"No subject set",mergeFieldsResponse:u,variant:"minimal",className:"text-[10px] font-medium text-muted-foreground"}):c?a.jsx("span",{className:"text-[10px] font-medium text-muted-foreground",children:"..."}):a.jsx(bNe,{content:l?.smsMessageBody?WLe(l.smsMessageBody,40):"No message set",mergeFieldsResponse:u,variant:"minimal",className:"text-[10px] font-medium text-muted-foreground"})}),!0!==h&&m&&a.jsx("div",{id:`substep-validation-${e}-${n}`,className:"text-[10px] text-amber-600 font-medium",children:h})]}),a.jsx("div",{className:"ml-auto",children:a.jsx("div",{id:`substep-status-${e}-${n}`,className:qa("px-2 py-0.5 rounded-full text-[10px] font-medium",m?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500"),children:a.jsx(ULe,{channelEnabled:m})})})]})})},ZLe=(e,a)=>{switch(e){case EE.SEND_COMMUNICATION:return a||"Send Communication";case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:return"Wait (Skip if Time Has Already Passed Today)";case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return"Wait (Always Wait for Next Occurrence (even if it means waiting until tomorrow))";case EE.WAIT_FOR_DURATION:return"Wait";case EE.CHECK_SEGMENT_MEMBERSHIP:return"Check";default:throw rse(e,EE)}},$Le=e=>{switch(e){case EE.SEND_COMMUNICATION:return a.jsx(OM.CommunicationIcon,{className:"w-4 h-4"});case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return a.jsx(OM.WaitUntilNextFixedTimeIcon,{className:"w-4 h-4"});case EE.WAIT_FOR_DURATION:return a.jsx(OM.WaitForDurationIcon,{className:"w-4 h-4"});case EE.CHECK_SEGMENT_MEMBERSHIP:return a.jsx(OM.CheckSegmentMembershipIcon,{className:"w-4 h-4"});default:throw The(e,EE)}},YLe=e=>{if(!e||e.actionType!==EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME&&e.actionType!==EE.WAIT_UNTIL_NEXT_OCCURRENCE||!("hour"in e)||!("minute"in e)||!("timezone"in e))return null;const{hour:a,minute:t,timezone:n}=e;return`Wait until next ${`${a?.toString().padStart(2,"0")}:${t?.toString().padStart(2,"0")}`} ${n}`},QLe=e=>{if(!(e&&e.actionType===EE.WAIT_FOR_DURATION&&"days"in e&&"hours"in e&&"minutes"in e&&"seconds"in e))return null;const{days:a,hours:t,minutes:n,seconds:i}=e,r=[];if(a&&a>0&&r.push(`${a} ${1===a?PN("common:day").toLocaleLowerCase():PN("common:day",{count:2}).toLocaleLowerCase()}`),t&&t>0&&r.push(`${t} ${1===t?PN("common:hour").toLocaleLowerCase():PN("common:hour",{count:2}).toLocaleLowerCase()}`),n&&n>0&&r.push(`${n} ${1===n?PN("common:minute").toLocaleLowerCase():PN("common:minute",{count:2}).toLocaleLowerCase()}`),i&&i>0&&r.push(`${i} ${1===i?PN("common:second").toLocaleLowerCase():PN("common:second",{count:2}).toLocaleLowerCase()}`),0===r.length)return"Wait for duration";if(1===r.length)return`Wait for ${r[0]}`;if(2===r.length)return`Wait for ${r[0]} and ${r[1]}`;{const e=r.pop();return`Wait for ${r.join(", ")} and ${e}`}},XLe=({actionDataWithMetadata:e,segments:n})=>{const{actionData:i}=e,{state:{selectedActionId:r},setActionId:o,setSelectedCommunicationGroupId:s}=t.useContext(mse),[l,u]=t.useState(!1),[c,d]=t.useState(),m=e=>{d(e),u(!0)},h=t.useMemo((()=>r===i.actionMetadata.currentActionId),[r,i.actionMetadata.currentActionId]),p=ILe[i.actionType],g=p.color,f=p.clickable;return a.jsxs(tS.div,{id:`automation-step-${i.actionType}-${i.actionMetadata.currentActionId}`,layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeInOut"},className:qa("p-2 pr-3 flex gap-2 items-center rounded-md transition-colors cursor-pointer group"," border-2 border-transparent",h&&"border-primary",i.actionType!==EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME&&i.actionType!==EE.WAIT_UNTIL_NEXT_OCCURRENCE&&i.actionType!==EE.WAIT_FOR_DURATION&&i.actionType!==EE.CHECK_SEGMENT_MEMBERSHIP&&"hover:border-primary"),style:{backgroundColor:h?g.bg:g.bgUnselected??OLe},onClick:()=>{f&&(o(i.actionMetadata.currentActionId),i.actionType===EE.SEND_COMMUNICATION&&s(i.actionMetadata.communicationGroupId))},children:[a.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[a.jsx("div",{className:"rounded-md p-2 flex items-center justify-center w-8 h-8 flex-shrink-0 bg-white",children:$Le(i.actionType)}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("div",{style:{color:h?g.text:g.textUnselected},children:a.jsx(j_,{children:KLe({actionType:i.actionType,segmentLanguage:PN("engage:segment",{count:1})})})}),a.jsx("div",i.actionType===EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME||i.actionType===EE.WAIT_UNTIL_NEXT_OCCURRENCE?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:YLe(i.actionMetadata)}:i.actionType===EE.WAIT_FOR_DURATION?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:QLe(i.actionMetadata)}:i.actionType===EE.CHECK_SEGMENT_MEMBERSHIP?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:(()=>{const e=((e,a)=>{if(!e||e.actionType!==EE.CHECK_SEGMENT_MEMBERSHIP||!("segmentIds"in e))return null;const{segmentIds:t}=e;if(!t||0===t.length)return null;const n=t.map((e=>{const t=a.find((a=>a.id===e));return t?{id:e,name:t.name}:null})).filter((e=>Boolean(e)));return n.length>0?n:null})(i.actionMetadata,n);return e?a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"text-[11px] text-muted-foreground font-normal",children:"Check membership in"}),e.map(((e,t)=>a.jsx(FLe,{segmentName:e.name,segmentId:e.id,onClick:m},t)))]}):`Check ${PN("engage:segment",{count:1})} membership`})()}:{className:"text-xs font-medium text-muted-foreground",children:ZLe(i.actionType,i.actionMetadata.customBlockText)})]})]}),i.actionType===EE.SEND_COMMUNICATION&&a.jsx("div",{className:"flex items-center pr-2",children:a.jsx(OM.NextButton,h?{className:"w-4 h-4 text-muted-foreground rotate-90 transition-transform duration-200"}:{className:"w-4 h-4 text-muted-foreground transition-transform duration-200"})}),a.jsx($_e,{open:l,setOpen:u,segmentId:c,onSegmentUpdated:()=>{u(!1)},viewOnly:!0})]})},eBe=({hideSms:e,segments:n})=>{const{communicationGroup:i}=ile(),[r,o]=t.useState(!1),[s,l]=t.useState(void 0),u=tle(),{setActionId:c,setSelectedSubStepType:d,state:{selectedActionId:m,selectedSubStepType:h}}=t.useContext(mse);if(zE(u?.id||""),t.useEffect((()=>{if(!u)return;if(m)return;const e=u.actionData?.find((e=>e.actionType===EE.SEND_COMMUNICATION));e&&c(e.actionMetadata.currentActionId)}),[u,c,m]),t.useEffect((()=>{if(!u)return;(async()=>{const e=[];for(const a of u.actionData??[])switch(a.actionType){case EE.SEND_COMMUNICATION:{const t=await RN(a.actionMetadata.communicationGroupId);e.push({actionData:a,communicationGroup:t});break}case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:case EE.WAIT_UNTIL_NEXT_OCCURRENCE:case EE.WAIT_FOR_DURATION:case EE.CHECK_SEGMENT_MEMBERSHIP:e.push({actionData:a});break;default:throw rse(a.actionType,EE)}l(e)})()}),[u]),t.useEffect((()=>{if(m&&s&&i&&null===h){const e=s.find((e=>e.actionData.actionMetadata.currentActionId===m));e?.actionData.actionType===EE.SEND_COMMUNICATION&&d(i?.emailChannelSenderId?pve.EMAIL:pve.SMS)}}),[m,s,d,i,h]),!u||!s)return null;const p=(e=>{const{steps:a,rootActionId:t}=e;if(!a||!t)return a??[];const n=new Map(a.map((e=>[e.actionData.actionMetadata.currentActionId,e]))),i=n.get(t);if(!i)return a;const r=[];let o=i;for(;o;){r.push(o);const e=o.actionData.actionMetadata.nextActionId;if(!e)break;o=n.get(e)}return r})({steps:s,rootActionId:u.triggerMetadata?.triggerType===ME.TRIGGER_BASED?u.triggerMetadata.rootActionId:void 0}).filter((e=>!!r||e.actionData.actionType===EE.SEND_COMMUNICATION));let g=()=>a.jsx("div",{},"empty-trigger-audience");return(r||u.triggerType===ME.ONE_TIME)&&(g=()=>a.jsxs("div",{className:"flex flex-col gap-3",children:[u.triggerType===ME.ONE_TIME&&a.jsx(GLe,{}),u.triggerType!==ME.ONE_TIME&&a.jsx(JLe,{isDetailsVisible:r})]})),a.jsxs("div",{className:"flex-1 flex flex-col gap-2 w-full overflow-visible",children:[(u.triggerType===ME.TRIGGER_BASED||u.triggerType===ME.DATE_BASED)&&a.jsxs("div",{className:"flex gap-2 items-center justify-between",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"Messages sent in listed order"}),a.jsxs("div",{className:"flex gap-2 items-center",children:[a.jsx("div",{className:"text-sm font-medium",children:"Show all details"}),a.jsx(k_,{defaultChecked:r,onCheckedChange:()=>{o(!r)}})]})]}),a.jsx("div",{className:"flex-1 flex flex-col gap-3",children:a.jsxs(fh,{mode:"popLayout",children:[g(),p.map(((t,i)=>a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,delay:.05*i,ease:"easeInOut"},children:a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsx(XLe,{actionDataWithMetadata:t,segments:n}),t.actionData.actionType===EE.SEND_COMMUNICATION&&m===t.actionData.actionMetadata.currentActionId&&t.actionData.actionMetadata.currentActionId&&a.jsxs("div",{className:"flex gap-3",children:[a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2,delay:.25*p.length,ease:"easeInOut"},className:"w-12 flex justify-end items-center",children:a.jsx("div",{className:"w-0.5 bg-muted-foreground/30 h-full rounded-full"})}),a.jsxs("div",{className:"flex flex-col gap-3 flex-1",children:[a.jsx(qLe,{type:pve.EMAIL,actionId:t.actionData.actionMetadata.currentActionId}),!e&&a.jsx(qLe,{type:pve.SMS,actionId:t.actionData.actionMetadata.currentActionId})]})]})]})},t.actionData.actionMetadata?.currentActionId??i))),u.triggerType===ME.ONE_TIME&&a.jsx("div",{className:"flex flex-col gap-3",children:a.jsx(JLe,{isDetailsVisible:r})},"one-time-trigger")]})})]})},aBe=({hideSms:e})=>{const t=tle(),{segments:n}=Zse();return a.jsx("div",t?{className:"h-full pt-4 relative",children:a.jsx("div",{className:"absolute inset-0 overflow-y-auto flex flex-col gap-3",children:a.jsx(eBe,{hideSms:e,segments:n})})}:{className:"flex h-full items-center justify-center",children:a.jsx(th,{text:[`Getting details on your ${PN("engage:automation",{count:1}).toLowerCase()}`,"Finishing up"]})})},tBe=({type:e})=>{const{communicationGroup:n}=ile(),i=tle(),{toast:r}=dS(),[o,s]=t.useState(!1),{resetCommunicationGroupToDefault:l,isPending:u}=qN(),c=e===fve.EMAIL?"Email":"SMS";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsx("div",{className:"flex items-center gap-2",children:!!n&&(n.type===mve.MANAGED&&(e===fve.SMS?n.updatedFromDefault?.text_message_body:n.updatedFromDefault?.email_text_body||n.updatedFromDefault?.email_html_body))&&a.jsx(a.Fragment,{children:u?a.jsx(th,{}):a.jsx(Xa,{variant:"outline",size:"sm",disabled:u,onClick:()=>s(!0),children:"Reset To Default"})})})}),a.jsx(wi,{open:o,onOpenChange:s,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{className:"text-xl font-semibold",children:"Reset To Default"}),a.jsxs(_i,{className:"text-base text-muted-foreground",children:["Are you sure you want to reset this ",c.toLowerCase()," ","template to its default state? This action cannot be undone."]})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:()=>s(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{n&&i?l({communicationGroupId:n.id,automationId:i.id,type:e===fve.EMAIL?"email":"sms"},{onSuccess:()=>{r({title:PN("engage:success.communication_reset","Communication reset to default!")}),s(!1)},onSettled:()=>{s(!1)},onError:()=>{r({title:"Error updating",description:"Please reach out to your administrator",variant:"destructive"})}}):r({title:"Error updating",description:"Please reach out to your administrator",variant:"destructive"})},disabled:u,children:"Reset To Default"})]})]})})]})},nBe=t.forwardRef((({disableEditContent:e=!1,canEdit:t,automationStatus:n,onClick:i,tooltipTitle:r,tooltipDescription:o,className:s,asChild:l=!1,...u},c)=>{const d=(t??(void 0!==n?n===_E.DRAFT:void 0)??!1)&&!e,m="Editing is disabled",h=n!==_E.DRAFT?"To make updates, please first deactivate this automation using the toggle in the upper right corner. Once you've saved your changes, re-activate the automation.":"Editing is currently disabled.",p=a.jsxs(Xa,{ref:c,size:"sm",variant:"outline",disabled:!d,className:qa(!d&&"cursor-not-allowed",s),onClick:i,...u,children:[a.jsx(OM.EditIcon,{className:"w-3 h-3"}),"Edit"]});return d?p:a.jsx(Rx,l?{title:r??m,titleClassName:"text-sm font-medium text-left",description:o??h,asChild:!0,className:"cursor-not-allowed",children:a.jsx("span",{className:"inline-block cursor-not-allowed",children:p})}:{title:r??m,titleClassName:"text-sm font-medium text-left",description:o??h,asChild:!0,className:"cursor-not-allowed",children:a.jsx("div",{className:"inline-block cursor-not-allowed",children:p})})}));nBe.displayName="EditButton";const iBe=e=>{const{communicationGroup:a}=ile(),{updateCommunicationGroup:n,isUpdating:i}=UN(),{channelSenders:r}=DC(),{channelAccounts:o}=LC(),{data:s}=XN(),{toast:l}=dS(),u=t.useMemo((()=>r?.results?.filter((e=>e.channelSenderMetadata.userPart))||[]),[r?.results]),c=t.useMemo((()=>oE({channelSenders:r?.results??[],channelAccounts:o?.results??[],smsApplication:s})),[r?.results,o?.results,s]),d=t.useCallback((()=>{if(!a)return!1;switch(e){case pve.EMAIL:return!!a.emailChannelSenderId;case pve.SMS:return!!a.smsChannelSenderId}}),[a,e])(),m=t.useCallback((async()=>{if(a?.id&&!i)try{const t={emailChannelSenderId:a.emailChannelSenderId,smsChannelSenderId:a.smsChannelSenderId};switch(e){case pve.EMAIL:if(d&&a.emailChannelSenderId)t.emailChannelSenderId=null;else{const e=u[0];e&&(t.emailChannelSenderId=e.id)}break;case pve.SMS:if(d&&a.smsChannelSenderId)t.smsChannelSenderId=null;else{const e=c[0];e&&(t.smsChannelSenderId=e.channelSender.id)}}await n({groupId:a.id,params:t},{onError:()=>{l({title:"Error toggling channel",description:"Please contact your administrator",variant:"destructive"})}})}catch(t){}}),[a,d,e,n,i,u,c,l]);return{channelEnabled:d,isUpdating:i,handleToggleChannel:m,availableEmailSenders:u,availableSmsChannelSenders:c}},rBe="reach-styles-module__base___r-a1U",oBe=Ya([rBe],{variants:{variant:{default:"reach-styles-module__default___vu2Rt",primary:"reach-styles-module__primary___mGKjo",success:"reach-styles-module__success___xn1Y1",warning:"reach-styles-module__warning___jdyU9",error:"reach-styles-module__error___Z-3IS"},size:{default:"reach-styles-module__sizeDefault___oS6W2",sm:"reach-styles-module__sizeSm___GI826",lg:"reach-styles-module__sizeLg___J--WF"},position:{default:"reach-styles-module__positionDefault___visr6",top:"reach-styles-module__positionTop___y6h-n",bottom:"reach-styles-module__positionBottom___vYLkd",inline:"reach-styles-module__positionInline___NjZsw"}},defaultVariants:{variant:"default",size:"default",position:"default"}}),sBe=({channelType:e,title:t,description:n,className:i,onEnable:r,isEnabling:o=!1})=>{const s=("email"===e?"Email":"SMS")+" Channel Disabled",l=`Enable the ${e} channel to send messages.`,u=tle(),c=u?.status===_E.DRAFT,d=a.jsx(Xa,{size:"sm",onClick:r,disabled:o||!c,className:"bg-amber-600 hover:bg-amber-700 text-white ml-4 shrink-0",children:o?"Enabling...":"Enable "+("email"===e?"Email":"SMS")});return a.jsx("div",{className:"px-4 w-full",children:a.jsx("div",{className:"max-w-2xl mx-auto",children:a.jsx("div",{id:`channel-disabled-warning-${e}`,className:qa(oBe({variant:"warning",size:"default",position:"inline"}),rBe,"p-4 relative mb-0",i),role:"alert",children:a.jsxs("div",{className:"flex items-start",children:[a.jsx("div",{className:"mr-3 shrink-0 pt-0.5",children:a.jsx(_e,{className:"h-4 w-4"})}),a.jsx("div",{className:"flex-grow",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("h5",{className:"text-sm font-medium mb-1",children:t||s}),a.jsx("div",{className:"text-sm text-muted-foreground",children:n||l})]}),r&&a.jsx(a.Fragment,{children:c?d:a.jsx(Rx,{alertText:"You can only change the channel if you are in the draft state.",asChild:!1,className:"cursor-not-allowed",children:d})})]})})]})})})})},lBe=({channelEnabled:e,isUpdating:t,onToggle:n,channelType:i})=>{const r=tle();return a.jsxs("div",{id:("email"===i?"email":"sms")+"-channel-toggle",className:"flex items-center gap-2",children:[a.jsx(k_,{checked:e,onCheckedChange:()=>{t||n()},disabled:t||(!r||r.status!==_E.DRAFT),className:"data-[state=checked]:bg-green-500 data-[state=unchecked]:bg-gray-300"}),a.jsx(ULe,{channelEnabled:e})]})},uBe=({label:e,value:t,className:n})=>a.jsxs("div",{className:"flex items-center gap-1 min-w-0 max-w-full flex-shrink",children:[a.jsxs("span",{className:"sr-only",children:[e,":"]}),a.jsx("span",{className:qa("truncate",n),children:t})]}),cBe=({mergeFieldsResponse:e,disableEditContent:n})=>{const i=tle(),{communicationGroup:r,isGetting:o}=ile(),s=(()=>{const{channelSenders:e}=DC(),{channelAccounts:a}=LC();return t.useMemo((()=>e?.results&&a?.results?e.results.filter((e=>e.channelSenderMetadata.userPart)).flatMap((e=>{const t=a.results.find((a=>a.id===e.channelAccountId));return!t?.channelAccountMetadata||t.channelAccountMetadata.type!==BC.REACH_MANAGED&&t.channelAccountMetadata.type!==BC.REACH_MANAGED_SES?[]:[{channelSenderId:e.id,fullDomain:`${e.channelSenderMetadata.userPart}@${e.channelSenderMetadata.baseDomain}`,channelSenderMetadata:e.channelSenderMetadata}]})):[]),[e?.results,a?.results])})(),{updateCommunicationGroup:l}=UN(),{channelSenders:u}=DC(),[c,d]=t.useState(!1),{state:{replyToSettingsText:m,replyToSettingsLink:h,fromNameSettingsText:p,fromNameSettingsLink:g}}=t.useContext(qoe),[f,v]=t.useState(!1),[y,b]=t.useState(r?.emailChannelSenderId||null),[k,S]=t.useState(r?.emailSubject||null),[w,A]=t.useState(r?.emailPreviewText||null),[C,M]=t.useState(""),[T,x]=t.useState(""),[N,E]=t.useState(!0),[_,j]=t.useState(!1),[P,L]=t.useState(null),B=t.useRef(null),R=Xxe(k,500),D=Xxe(w,500);if(t.useEffect((()=>{if(u?.results&&y){const e=u.results.find((e=>e.id===y));e&&(_&&!N||x(e.channelSenderMetadata.emailReplyTo),N&&M(e.channelSenderMetadata.emailFromName),E(!1))}}),[u?.results,y,_,N]),t.useEffect((()=>{r&&!B.current&&(B.current={emailChannelSenderId:r.emailChannelSenderId,emailSubject:r.emailSubject,emailPreviewText:r.emailPreviewText||null})}),[r]),t.useEffect((()=>{if(y&&R&&r?.id&&!N&&!o&&B.current){const e={emailChannelSenderId:y,emailSubject:R,emailPreviewText:D||null};if((e.emailChannelSenderId!==B.current.emailChannelSenderId||e.emailSubject!==B.current.emailSubject||e.emailPreviewText!==B.current.emailPreviewText)&&(e.emailChannelSenderId!==r.emailChannelSenderId||e.emailSubject!==r.emailSubject||e.emailPreviewText!==(r.emailPreviewText||null))){v(!0);(async()=>{l({groupId:r.id,params:{emailChannelSenderId:y,emailSubject:R,...D&&{emailPreviewText:D}}},{onError:e=>{},onSettled:()=>{v(!1)}})})()}}}),[y,R,D,r?.id,r?.emailChannelSenderId,r?.emailSubject,r?.emailPreviewText,l,N,o]),!i||!r||!r.emailChannelSenderId)return null;const z=s.find((e=>e.channelSenderId===r.emailChannelSenderId)),O=C||z?.fullDomain,I=k,K=w;return a.jsx("div",{className:"w-full bg-background rounded-lg p-3",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2 overflow-hidden flex-1",children:[O&&a.jsx(uBe,{label:"From",value:O,className:"font-bold"}),I&&a.jsx(uBe,{label:"Subject",value:a.jsx(bNe,{content:I,mergeFieldsResponse:e,variant:"minimal",className:"font-normal"}),className:"font-normal"}),K&&a.jsx(uBe,{label:"Preview",value:a.jsx(bNe,{content:K,mergeFieldsResponse:e,variant:"minimal",className:"text-muted-foreground/50 italic"}),className:"text-muted-foreground/50 italic"})]}),a.jsxs(Ahe,{open:c,onOpenChange:e=>{d(e),""===k?.trim()&&r?.emailSubject&&!1===e&&(S(r?.emailSubject),L(null))},children:[a.jsx(Che,{asChild:!0,children:a.jsx(nBe,{disableEditContent:n,automationStatus:i.status,asChild:!0})}),a.jsx(Mhe,{className:"w-96",align:"end",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"From Email"}),a.jsxs(Fc,{onValueChange:e=>{b(e),E(!0),j(!1)},value:y??void 0,disabled:f,children:[a.jsx(Vc,{className:"bg-background hover:bg-accent/50 focus:bg-accent/50 data-[state=open]:bg-accent/50 transition-colors",children:a.jsx(Gc,{placeholder:"Select email",className:"text-muted-foreground",children:y?s?.find((e=>e.channelSenderId===y))?.fullDomain:""})}),a.jsx(Wc,{children:s?.map((e=>a.jsx(qc,{value:e.channelSenderId,children:e.fullDomain},e.channelSenderId)))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"From Name"}),a.jsx(Rx,{title:p||lNe,link:g?{url:g}:void 0})]}),a.jsx("div",{className:"px-3 py-2 text-sm text-muted-foreground bg-muted/50 rounded-md",children:C||a.jsx("span",{className:"italic text-muted-foreground/70",children:"Not set"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Reply-To"}),a.jsx(Rx,{title:m||sNe,link:h?{url:h}:void 0})]}),a.jsx("div",{className:"px-3 py-2 text-sm text-muted-foreground bg-muted/50 rounded-md",children:T||(y?s?.find((e=>e.channelSenderId===y))?.fullDomain:"")||a.jsx("span",{className:"italic text-muted-foreground/70",children:"Not set"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Subject"}),a.jsx("span",{className:"text-xs text-red-500 ml-0.5",children:"*"})]}),a.jsx(Qxe,{value:k,onChange:S,mergeFieldsResponse:e,placeholder:"Enter email subject",className:"bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50 "+(P?"border-red-300 focus:border-red-500":""),ariaLabel:"Insert merge field into subject"}),P&&a.jsx("p",{className:"text-xs text-red-500 animate-pulse",children:P})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Preview Text"}),a.jsx(Rx,{title:"This text will be used for the preview text of the email in the inbox"})]}),a.jsx(Qxe,{value:w,onChange:A,mergeFieldsResponse:e})]})]})})]})]})})},dBe=({type:e,disablePreviewSubtext:t=!1})=>{const n="sms"===e?"SMS":"Email";return a.jsx("div",{className:"flex flex-1 w-full h-full items-center justify-center",children:a.jsxs("div",{className:"flex flex-col items-center justify-center bg-zinc-50/80 border border-zinc-100 rounded-2xl shadow-md px-6 py-12 max-w-[90vw] w-full sm:max-w-md mx-auto text-center",style:{containerType:"inline-size"},children:[a.jsx("sms"===e?OM.SmsIcon:OM.EmailIcon,{className:"w-12 h-12 text-zinc-500 mb-4"}),a.jsxs("h2",{className:"text-xl font-semibold text-zinc-800 mb-2",children:["No ",n," Content Yet"]}),!t&&a.jsxs("p",{className:"text-zinc-500 text-base mb-1",children:["Click"," ",a.jsx("span",{className:"font-medium text-zinc-700",children:"Edit content"})," to start crafting your ",n," message."]})]})})},mBe=({disablePreview:e=!1,disableEditContent:n=!1,disablePreviewSubtext:i=!1})=>{const r=tle(),{communicationGroup:o}=ile(),{channelSenders:s}=DC(),{channelAccounts:l}=LC(),{data:u,isLoading:c}=fS(),{state:{selectedActionId:d}}=t.useContext(mse),{channelEnabled:m,isUpdating:h,handleToggleChannel:p}=iBe(pve.EMAIL),[g,f]=t.useState(!1),[v,y]=t.useState(!1),[b,k]=t.useState(null),[S,w]=t.useState(!1),[A,C]=t.useState(!1),[M,T]=t.useState(!1),[x,N]=t.useState({width:0,height:0}),{getMergeFields:E}=WN(o?.id??void 0,r?.id??void 0);t.useEffect((()=>{null===b&&u&&v&&(u?.uiDefaults||k(!0),u?.uiDefaults?.emailHelpDialogShow&&!b&&k(!0))}),[u,b,v]),t.useEffect((()=>{const e=()=>{N({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);if(!r||!o||void 0===s||void 0===l||!d||c)return null;const _=o.emailCompiledHtml||o.emailHtmlBody||"",j=_.length&&_.length>0,P=OC({channelSenders:s?.results??[],channelAccounts:l?.results??[]}),L=o.emailChannelSenderId?o.emailSubject?o.emailHtmlBody?null:"Please first ensure you have an email content":"Please first ensure you have an email subject":"Please first select an email sender",B=!e&&j,R=!o.emailChannelSenderId||0===P.length,D=()=>a.jsx(nBe,{disableEditContent:n,automationStatus:r.status,onClick:()=>y(!0)}),z=()=>{const e=a.jsx(uEe,{onClick:()=>f(!0),label:"Test Email"});return L?a.jsx(Rx,{alertText:"Unable to send preview",title:"There was an error preparing the preview. Please check your automation configuration.",className:"inline-block",asChild:!0,children:e}):e};return a.jsxs("div",{className:"flex-1 flex flex-col items-center pt-4",children:[a.jsx(oNe,{showStripoEditor:v,setShowStripoEditor:y,showHelpDialog:b??!1,setShowHelpDialog:k,cancelClicked:A,setCancelClicked:C,automation:r??null,saveClicked:S,setSaveClicked:w,stripoDialogDimensions:x,mergeFieldsResponse:E??null,selectedActionId:d,isEditorReady:M,setIsEditorReady:T}),P.length>0&&a.jsx(Cye,{open:g,onOpenChange:f,automation:r}),R&&a.jsx(sBe,{channelType:"email",onEnable:p,isEnabling:h}),j?a.jsx("div",{className:"flex-1 w-full flex flex-col overflow-y-auto",children:a.jsx("div",{className:qa("flex flex-col space-y-4 px-4 pb-20",R?"pt-0":"pt-4"),children:a.jsxs("div",{className:"flex flex-col space-y-4 px-4 pb-20",children:[a.jsx("div",{className:"w-full flex-shrink-0 max-w-2xl mx-auto rounded-md",children:a.jsx(cBe,{mergeFieldsResponse:E,disableEditContent:n},o?.id)}),a.jsxs("div",{className:"rounded-lg bg-background flex-1 min-h-0 flex flex-col items-center max-w-2xl mx-auto w-full",children:[a.jsxs("div",{className:"flex items-center space-x-2 w-full justify-between p-3",children:[a.jsx(lBe,{channelEnabled:m,isUpdating:h,onToggle:p,channelType:"email"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(tBe,{type:fve.EMAIL}),a.jsx(D,{}),B&&a.jsx(z,{}),j&&a.jsx(oEe,{expandDialogContent:a.jsx(iEe,{emailBody:_})})]})]}),a.jsx(Sve,{html:_})]}),a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4",children:"These previews show generally how your messages will appear to your customers"})]})})}):a.jsxs(a.Fragment,{children:[R&&a.jsx(sBe,{channelType:"email",className:"pt-4"}),a.jsx(dBe,{type:"email",disablePreviewSubtext:i})]})]})},hBe=({label:e,value:t,className:n})=>a.jsxs("div",{className:"flex items-center gap-1 min-w-0 max-w-full flex-shrink",children:[a.jsxs("span",{className:"sr-only",children:[e,":"]}),a.jsx("span",{className:qa("truncate",n),children:t})]}),pBe=t.memo((({trigger:e,communicationGroupId:t,initialSenderId:n,companyName:i})=>a.jsx(YNe,{communicationGroupId:t,initialSenderId:n,companyName:i,trigger:e}))),gBe=({disableEditContent:e,mergeFieldsResponse:n})=>{const i=tle(),{communicationGroup:r}=ile(),{channelSenders:o}=DC(),{channelAccounts:s}=LC(),{data:l}=XN(),u=r?.smsMessageBody||null,c=t.useMemo((()=>oE({channelSenders:o?.results??[],channelAccounts:s?.results??[],smsApplication:l})),[o?.results,s?.results,l]),d=c?.find((e=>e.channelSender.id===r?.smsChannelSenderId)),m=d?.channelSender.channelSenderMetadata.from&&null!==d.channelSender.channelSenderMetadata.from?d.channelSender.channelSenderMetadata.from:null,h=d?.channelSender.channelSenderMetadata.friendlyName??(m&&null!==m?KC(m??""):d?.channelSender.channelSenderMetadata.messageServiceSid),p=!(i&&r&&o&&s&&c&&(void 0!==l||d)),g=t.useRef(null),f=t.useRef(0),v=t.useMemo((()=>{const e=r?.textMessageCompanyName,a=Date.now();return e&&e.trim()?(g.current=e,f.current=a,e):!p&&a-f.current>2e3&&(null==r?.textMessageCompanyName||""===r?.textMessageCompanyName)?(g.current=null,f.current=a,null):g.current}),[r?.textMessageCompanyName,p]),y=u?u.length>50?u.substring(0,50)+"...":u:null,b=t.memo(t.forwardRef(((t,n)=>a.jsx(nBe,{disableEditContent:e,automationStatus:i?.status,asChild:!0,ref:n,...t}))));return a.jsx("div",{className:"w-full bg-background rounded-lg p-3",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("div",{className:"flex items-center gap-2 overflow-hidden flex-1",children:a.jsxs(a.Fragment,p?{children:[a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-16"}),a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-20"}),a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-32"})]}:{children:[h&&a.jsx(hBe,{label:"From",value:h,className:"font-bold"}),v&&a.jsx(hBe,{label:"Company",value:v,className:"font-normal"}),y&&a.jsx(hBe,{label:"Message",value:a.jsx(bNe,{content:y,mergeFieldsResponse:n,variant:"minimal",className:"text-muted-foreground/50 italic"}),className:"text-muted-foreground/50 italic"})]})}),!p&&r&&a.jsx(pBe,{trigger:a.jsx(b,{}),communicationGroupId:r.id,initialSenderId:r.smsChannelSenderId,companyName:v})]})})},fBe=({disablePreview:e=!1,disableEditContent:n=!1})=>{const[i,r]=t.useState(!1),{channelSenders:o}=DC(),{data:s}=Ix(),{brandDefaults:l}=jC(),{channelAccounts:u}=LC(),c=tle(),{communicationGroup:d}=ile(),[m,h]=t.useState(!1),{data:p}=XN(),g=t.useRef(!1),f=t.useRef(null),{toast:v}=dS(),[y,b]=t.useState(!1),{channelEnabled:k,isUpdating:S,handleToggleChannel:w}=iBe(vve.SMS),{updateCommunicationGroup:A,isUpdating:C}=UN(),M=oE({channelSenders:o?.results??[],channelAccounts:u?.results??[],smsApplication:p}),T=M.find((e=>e.channelSender.id===d?.smsChannelSenderId)),x=t.useCallback((e=>pNe(e)),[]),N=d?.smsMessageBody||"",E=N,_=t.useCallback((e=>{if(!d?.extraMergeFields)return[];const a=x(e),t=[];for(const n of d.extraMergeFields)if(n.type===hNe.DYNAMIC)for(const e of n.mergeFields)a.includes(e.templateName)&&e.image&&t.push({templateName:e.templateName,displayName:e.displayName,placeholderUrl:e.image.placeholderUrl,maxSize:e.image.maxSize});return t}),[d?.extraMergeFields,x]),j=t.useMemo((()=>d?.textMessageMediaUrls??[]),[d?.textMessageMediaUrls]),P=t.useMemo((()=>!d||!o||!u),[d,o,u]),L=t.useMemo((()=>_(E)),[_,E]),B=t.useMemo((()=>[...L.map((e=>e.placeholderUrl)),...j]),[j,L]),[R,D]=t.useState(null);t.useEffect((()=>{const e=d?.textMessageCompanyName;void 0!==e&&D(e??null)}),[d?.textMessageCompanyName]);const z=t.useMemo((()=>mNe({companyName:R??void 0,smsBody:N})),[R,N]),{getMergeFields:O}=WN(d?.id??void 0,c?.id??void 0),I=M.length>0;t.useEffect((()=>{if(!g.current&&!0===I&&d?.id&&void 0!==s&&void 0!==d&&!1===C&&void 0!==l){let e={};void 0===d?.textMessageCompanyName&&(s?.name||l?.brandName)&&(e.textMessageCompanyName=l.brandName??s.name),0===N.length&&(e.smsMessageBody="Hello 👋!"),void 0===d?.smsChannelSenderId&&M[0]?.channelSender?.id&&(e.smsChannelSenderId=M[0].channelSender.id),Object.keys(e).length>0?(g.current=!0,A({groupId:d.id,params:e})):g.current=!0}}),[d?.id,d?.textMessageCompanyName,d?.smsMessageBody,I,N,A,s,d?.smsChannelSenderId,M,d,C,l]);const K=!T?.smsApplication||T.smsApplication.status===rE.APPROVED;if(!c||void 0===o)return null;let H=null;d?.smsChannelSenderId||(H="Please first select a sms sender"),d?.smsMessageBody||(H="Please first ensure you have a sms content");const F=!e&&K,G=!d?.smsChannelSenderId||0===M.length,V=()=>a.jsx(nBe,{disableEditContent:n,automationStatus:c.status,onClick:()=>{h(!0)}}),J=()=>{const e=a.jsx(uEe,{onClick:()=>r(!0),label:"Test SMS"});return H?a.jsx(Rx,{alertText:"Unable to send preview",title:"There was an error preparing the preview. Please check your automation configuration.",className:"inline-block",asChild:!0,children:e}):e},U=t.memo(kNe,((e,a)=>{const t=e.body||"",n=a.body||"";if(t===n)return!0;if(t.replace(/^[^:]+:\s*/,"")===n.replace(/^[^:]+:\s*/,""))return!0;const i=e.imageUrls||[],r=a.imageUrls||[];if(i.length!==r.length)return!1;for(let o=0;o<i.length;o++)if(i[o]!==r[o])return!1;return!0}));return a.jsx("div",{className:"h-full",children:!1===I?a.jsx("div",{className:"w-full pt-8 mx-auto",children:a.jsx(uE,{})}):a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3,ease:[.16,1,.3,1]},className:"flex-1 flex flex-col items-center h-full",children:[a.jsx(aEe,{open:i,onOpenChange:r,automation:c}),a.jsx(wi,{open:m,onOpenChange:h,children:a.jsxs(Ti,{hideCloseButton:!0,className:"max-w-[90vw] @container",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"SMS Editor"}),a.jsx(_i,{children:"Learn more about the SMS editor and how to use it to create your SMS."})]}),a.jsx(eEe,{ref:f,communicationGroupId:d?.id||"",initialMessage:E,initialImageUrls:j,companyName:R,initialSenderId:d?.smsChannelSenderId},d?.id),a.jsx("div",{className:"flex justify-end mt-6",children:a.jsx(Xa,{variant:"outline",onClick:async()=>{try{b(!0),f.current?.saveChanges&&await f.current.saveChanges(),await new Promise((e=>setTimeout(e,100))),h(!1)}catch(e){v({title:"Save failed",description:"Please try again or check your message length",variant:"destructive"})}finally{b(!1)}},disabled:C||y,className:"px-4",children:y?"Saving...":"Save"})})]})}),G&&a.jsx(sBe,{channelType:"sms",onEnable:w,isEnabling:S}),I?a.jsx("div",{className:"flex-1 w-full flex flex-col overflow-y-auto",children:a.jsx("div",{className:qa("flex flex-col space-y-4 px-4 pb-20",G?"pt-0":"pt-4"),children:a.jsxs("div",{className:"flex flex-col space-y-4 px-4 pt-4 pb-20",children:[a.jsx("div",{className:"w-full flex-shrink-0 max-w-2xl mx-auto rounded-md",children:a.jsx(gBe,{disableEditContent:n,mergeFieldsResponse:O})}),a.jsxs("div",{className:"rounded-lg bg-background flex-1 min-h-0 flex flex-col items-center max-w-2xl mx-auto w-full",children:[a.jsxs("div",{className:"flex items-center space-x-2 w-full justify-between p-3",children:[a.jsx(lBe,{channelEnabled:k,isUpdating:S,onToggle:w,channelType:"sms"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(tBe,{type:fve.SMS}),a.jsx(V,{}),F&&a.jsx(J,{}),I&&a.jsx(oEe,{expandDialogContent:a.jsx(lEe,{smsBody:z,imageUrls:B})})]})]}),P?a.jsx("div",{className:"flex items-center justify-center h-32",children:a.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading preview..."})}):a.jsx(U,{body:z,imageUrls:B})]}),a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4",children:"These previews show generally how your messages will appear to your customers"})]})})}):a.jsxs(a.Fragment,{children:[G&&a.jsx(sBe,{channelType:"sms",className:"pt-4"}),a.jsx(dBe,{type:fve.SMS})]})]})})},vBe=({disablePreview:e=!1,disableEditContent:n=!1,disablePreviewSubtext:i=!1,hideSms:r=!1})=>{const{state:{selectedSubStepType:o}}=t.useContext(mse),{communicationGroup:s}=ile();if(!s)return a.jsx("div",{className:"flex flex-col gap-4 flex-1 bg-muted rounded-md",children:a.jsx(th,{text:["Loading..."]})});if(!o)return a.jsx("div",{className:"flex flex-col gap-4 flex-1 bg-muted rounded-md",children:a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium text-muted-foreground mb-2",children:"Select Communication Type"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Choose Email or SMS from the steps on the left to preview and edit content"})]})})});const l={disablePreview:e,disableEditContent:n,disablePreviewSubtext:i};return a.jsxs("div",{className:"flex flex-col flex-1 bg-muted rounded-md",children:[o===pve.EMAIL&&a.jsx(mBe,{...l}),o===pve.SMS&&!r&&a.jsx(fBe,{...l})]})},yBe=()=>{const{state:{selectedActionId:e}}=t.useContext(mse),{state:{hideSms:n}}=t.useContext(qoe);return a.jsx("div",{className:"flex flex-col gap-4 h-full w-full",children:a.jsx(fh,{mode:"wait",children:e===hve.EditTime?a.jsx(fEe,{}):e===hve.EditAudience?a.jsx(lje,{}):a.jsx(vBe,{hideSms:n})})})},bBe=({hideSms:e})=>a.jsxs(BLe,{direction:"horizontal",className:"flex-1",children:[a.jsx(RLe,{defaultSize:30,minSize:16,maxSize:48,children:a.jsx("aside",{className:"h-full",children:a.jsx(aBe,{hideSms:e})})}),a.jsx(DLe,{className:"px-1 opacity-0 hover:opacity-100 transition-opacity duration-200 mx-1"}),a.jsx(RLe,{defaultSize:70,children:a.jsx("main",{className:"h-full",children:a.jsx(yBe,{})})})]}),kBe=({hideSms:e})=>{const[n,i]=t.useState(gve.WORKFLOW),r=[{id:gve.WORKFLOW,label:"Workflow",content:a.jsx(bBe,{hideSms:e})},{id:gve.RECIPIENTS,label:"Recipients",content:a.jsx(tPe,{})},{id:gve.INSIGHTS,label:PN("engage:insight",{count:2}),content:a.jsx(Xje,{})}];return a.jsx(Qje,{tabs:r,activeTab:n,onTabChange:e=>i(e),tabsLocation:"left"})},SBe=({showBackButton:e=!1,onDuplicationCreated:n,onBeforeSchedule:i,getExtraMergeFields:r,hideSms:o,hideSales:s,replyToSettingsText:l,replyToSettingsLink:u,fromNameSettingsText:c,fromNameSettingsLink:d})=>{const m=tle(),{communicationGroup:h}=ile(),{updateCommunicationGroup:p}=UN(),{toast:g}=dS(),{channelSenders:f}=DC(),{isLoading:v}=Zse(),y=t.useRef(""),b=t.useRef(!1),k=t.useRef(!1);return t.useEffect((()=>{if(h&&!b.current){y.current=JSON.stringify(h.extraMergeFields||{}),b.current=!0}}),[h]),t.useEffect((()=>{if(h&&r&&b.current){(async()=>{const e=await r(),a=JSON.stringify(e);a!==y.current&&(y.current=a,p({groupId:h?.id,params:{extraMergeFields:e}},{onError:()=>{g({title:"Error saving merge fields!",description:"Please contact your administrator if this issue persists.",variant:"destructive"})}}))})()}}),[h,r,p,g]),t.useEffect((()=>{if(m&&h&&f&&m.automationType===NE.MANAGED&&null===h.emailChannelSenderId&&null===h.smsChannelSenderId&&!k.current){if(k.current=!0,!h.emailChannelSenderId){const e=f.results.filter((e=>e.channelSenderMetadata.userPart));e.length>0&&p({groupId:h.id,params:{emailChannelSenderId:e[0].id}})}if(!h.smsChannelSenderId){const e=f.results.filter((e=>e.channelSenderMetadata.from||e.channelSenderMetadata.messageServiceSid));e.length>0&&p({groupId:h.id,params:{smsChannelSenderId:e[0].id}})}}}),[m,h,f,p]),m&&h&&!v?a.jsx(Zoe,{children:a.jsx($oe,{replyToSettingsText:l,replyToSettingsLink:u,fromNameSettingsText:c,fromNameSettingsLink:d,hideSms:o,hideSales:s,children:a.jsxs("div",{className:"h-full flex flex-col gap-4 p-4",children:[a.jsx(Yje,{showBackButton:e,onDuplicationCreated:n,onBeforeSchedule:i}),a.jsx("div",{className:"flex-1 border-t",children:a.jsx(kBe,{hideSms:o})})]})})}):a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(th,{text:[`Fetching ${PN("engage:automation").toLowerCase()} data`,"Finishing up"]})})},wBe=({...e})=>{const t=function(){let{matches:e}=r.useContext(gde),a=e[e.length-1];return a?a.params:{}}(),[n]=rme(),i=e.automationId||t?.automationId||n.get("automationId")||"",o="true"===n.get("showBackButton")||e.showBackButton,s="true"===n.get("hideSms")||e.hideSms;return a.jsx(rle,{automationId:i,children:a.jsx("div",{className:"bg-background h-full min-h-[750px]",children:a.jsx(SBe,{...e,showBackButton:o,hideSms:s})})})};Object.values(Object.assign({}));var ABe=/(%?)(%([sdijo]))/g;function CBe(e,...a){if(0===a.length)return e;let t=0,n=e.replace(ABe,((e,n,i,r)=>{const o=function(e,a){switch(a){case"s":return e;case"d":case"i":return Number(e);case"j":return JSON.stringify(e);case"o":{if("string"==typeof e)return e;const a=JSON.stringify(e);return"{}"===a||"[]"===a||/^\[object .+?\]$/.test(a)?e:a}}}(a[t],r);return n?e:(t++,o)}));return t<a.length&&(n+=` ${a.slice(t).join(" ")}`),n=n.replace(/%{2,2}/g,"%"),n}var MBe=class extends Error{constructor(e,...a){super(e),this.message=e,this.name="Invariant Violation",this.message=CBe(e,...a),function(e){if(!e.stack)return;const a=e.stack.split("\n");a.splice(1,2),e.stack=a.join("\n")}(this)}},TBe=(e,a,...t)=>{if(!e)throw new MBe(a,...t)};TBe.as=(e,a,t,...n)=>{if(!a){const a=0===n.length?t:CBe(t,...n);let i;try{i=Reflect.construct(e,[a])}catch(EFe){i=e(a)}throw i}};const xBe={formatMessage:function(e,...a){return`[MSW] ${CBe(e,...a)}`},warn:function(e,...a){},error:function(e,...a){}};class NBe extends Error{constructor(e){super(e),this.name="InternalError"}}const EBe=/[\/\\]msw[\/\\]src[\/\\](.+)/,_Be=/(node_modules)?[\/\\]lib[\/\\](core|browser|node|native|iife)[\/\\]|^[^\/\\]*$/;class jBe{static cache=new WeakMap;__kind;info;isUsed;resolver;resolverIterator;resolverIteratorResult;options;constructor(e){this.resolver=e.resolver,this.options=e.options;const a=function(e){const a=e.stack;if(!a)return;const t=a.split("\n").slice(1).find((e=>!(EBe.test(e)||_Be.test(e))));if(!t)return;return t.replace(/\s*at [^()]*\(([^)]+)\)/,"$1").replace(/^@/,"")}(new Error);this.info={...e.info,callFrame:a},this.isUsed=!1,this.__kind="RequestHandler"}async parse(e){return{}}async test(e){const a=await this.parse({request:e.request,resolutionContext:e.resolutionContext});return this.predicate({request:e.request,parsedResult:a,resolutionContext:e.resolutionContext})}extendResolverArgs(e){return{}}cloneRequestOrGetFromCache(e){const a=jBe.cache.get(e);if(void 0!==a)return a;const t=e.clone();return jBe.cache.set(e,t),t}async run(e){if(this.isUsed&&this.options?.once)return null;const a=this.cloneRequestOrGetFromCache(e.request),t=await this.parse({request:e.request,resolutionContext:e.resolutionContext});if(!this.predicate({request:e.request,parsedResult:t,resolutionContext:e.resolutionContext}))return null;if(this.isUsed&&this.options?.once)return null;this.isUsed=!0;const n=this.wrapResolver(this.resolver)({...this.extendResolverArgs({request:e.request,parsedResult:t}),requestId:e.requestId,request:e.request}).catch((e=>{if(e instanceof Response)return e;throw e})),i=await n;return this.createExecutionResult({request:a,requestId:e.requestId,response:i,parsedResult:t})}wrapResolver(e){return async a=>{if(!this.resolverIterator){const n=await e(a);if(!(t=n)||!Reflect.has(t,Symbol.iterator)&&!Reflect.has(t,Symbol.asyncIterator))return n;this.resolverIterator=Symbol.iterator in n?n[Symbol.iterator]():n[Symbol.asyncIterator]()}var t;this.isUsed=!1;const{done:n,value:i}=await this.resolverIterator.next(),r=await i;return r&&(this.resolverIteratorResult=r.clone()),n?(this.isUsed=!0,this.resolverIteratorResult?.clone()):r}}createExecutionResult(e){return{handler:this,request:e.request,requestId:e.requestId,response:e.response,parsedResult:e.parsedResult}}}function PBe(e){if("undefined"==typeof location)return e.toString();const a=e instanceof URL?e:new URL(e);return a.origin===location.origin?a.pathname:a.origin+a.pathname}async function LBe(e,a="warn"){const t=new URL(e.url),n=PBe(t)+t.search,i="HEAD"===e.method||"GET"===e.method?null:await e.clone().text(),r=`intercepted a request without a matching request handler:${`\n\n • ${e.method} ${n}\n\n${i?` • Request body: ${i}\n\n`:""}`}If you still wish to intercept this unhandled request, please create a request handler for it.\nRead more: https://mswjs.io/docs/getting-started/mocks`;function o(e){switch(e){case"error":throw xBe.error("Error: %s",r),new NBe(xBe.formatMessage('Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.'));case"warn":xBe.warn("Warning: %s",r);break;case"bypass":break;default:throw new NBe(xBe.formatMessage('Failed to react to an unhandled request: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.',e))}}"function"!=typeof a?function(e){const a=new URL(e.url);return"file:"===a.protocol||!!/(fonts\.googleapis\.com)/.test(a.hostname)||!!/node_modules/.test(a.pathname)||!!a.pathname.includes("@vite")||/\.(s?css|less|m?jsx?|m?tsx?|html|ttf|otf|woff|woff2|eot|gif|jpe?g|png|avif|webp|svg|mp4|webm|ogg|mov|mp3|wav|ogg|flac|aac|pdf|txt|csv|json|xml|md|zip|tar|gz|rar|7z)$/i.test(a.pathname)}(e)||o(a):a(e,{warning:o.bind(null,"warn"),error:o.bind(null,"error")})}function BBe(){if("undefined"!=typeof navigator&&"ReactNative"===navigator.product)return!0;if("undefined"!=typeof process){const e=process.type;return"renderer"!==e&&"worker"!==e&&!(!process.versions||!process.versions.node)}return!1}var RBe,DBe,zBe=Object.create,OBe=Object.defineProperty,IBe=Object.getOwnPropertyDescriptor,KBe=Object.getOwnPropertyNames,HBe=Object.getPrototypeOf,FBe=Object.prototype.hasOwnProperty,GBe=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,a)=>("undefined"!=typeof require?require:e)[a]}):e)((function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')})),VBe=(e,a)=>function(){return a||(0,e[KBe(e)[0]])((a={exports:{}}).exports,a),a.exports},JBe=VBe({"node_modules/punycode/punycode.js"(e,a){var t=2147483647,n=36,i=/^xn--/,r=/[^\0-\x7F]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,u=String.fromCharCode;function c(e){throw new RangeError(s[e])}function d(e,a){const t=e.split("@");let n="";t.length>1&&(n=t[0]+"@",e=t[1]);const i=function(e,a){const t=[];let n=e.length;for(;n--;)t[n]=a(e[n]);return t}((e=e.replace(o,".")).split("."),a).join(".");return n+i}function m(e){const a=[];let t=0;const n=e.length;for(;t<n;){const i=e.charCodeAt(t++);if(i>=55296&&i<=56319&&t<n){const n=e.charCodeAt(t++);56320==(64512&n)?a.push(((1023&i)<<10)+(1023&n)+65536):(a.push(i),t--)}else a.push(i)}return a}var h=function(e,a){return e+22+75*(e<26)-((0!=a)<<5)},p=function(e,a,t){let i=0;for(e=t?l(e/700):e>>1,e+=l(e/a);e>455;i+=n)e=l(e/35);return l(i+36*e/(e+38))},g=function(e){const a=[],i=e.length;let r=0,o=128,s=72,u=e.lastIndexOf("-");u<0&&(u=0);for(let t=0;t<u;++t)e.charCodeAt(t)>=128&&c("not-basic"),a.push(e.charCodeAt(t));for(let m=u>0?u+1:0;m<i;){const u=r;for(let a=1,o=n;;o+=n){m>=i&&c("invalid-input");const u=(d=e.charCodeAt(m++))>=48&&d<58?d-48+26:d>=65&&d<91?d-65:d>=97&&d<123?d-97:n;u>=n&&c("invalid-input"),u>l((t-r)/a)&&c("overflow"),r+=u*a;const h=o<=s?1:o>=s+26?26:o-s;if(u<h)break;const p=n-h;a>l(t/p)&&c("overflow"),a*=p}const h=a.length+1;s=p(r-u,h,0==u),l(r/h)>t-o&&c("overflow"),o+=l(r/h),r%=h,a.splice(r++,0,o)}var d;return String.fromCodePoint(...a)},f=function(e){const a=[],i=(e=m(e)).length;let r=128,o=0,s=72;for(const t of e)t<128&&a.push(u(t));const d=a.length;let g=d;for(d&&a.push("-");g<i;){let i=t;for(const a of e)a>=r&&a<i&&(i=a);const m=g+1;i-r>l((t-o)/m)&&c("overflow"),o+=(i-r)*m,r=i;for(const f of e)if(f<r&&++o>t&&c("overflow"),f===r){let e=o;for(let t=n;;t+=n){const i=t<=s?1:t>=s+26?26:t-s;if(e<i)break;const r=e-i,o=n-i;a.push(u(h(i+r%o,0))),e=l(r/o)}a.push(u(h(e,0))),s=p(o,m,g===d),o=0,++g}++o,++r}return a.join("")};a.exports={version:"2.3.1",ucs2:{decode:m,encode:e=>String.fromCodePoint(...e)},decode:g,encode:f,toASCII:function(e){return d(e,(function(e){return r.test(e)?"xn--"+f(e):e}))},toUnicode:function(e){return d(e,(function(e){return i.test(e)?g(e.slice(4).toLowerCase()):e}))}}}}),UBe=VBe({"node_modules/requires-port/index.js"(e,a){a.exports=function(e,a){if(a=a.split(":")[0],!(e=+e))return!1;switch(a){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}}}),WBe=VBe({"node_modules/querystringify/index.js"(e){var a=Object.prototype.hasOwnProperty;function t(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(jFe){return null}}function n(e){try{return encodeURIComponent(e)}catch(jFe){return null}}e.stringify=function(e,t){t=t||"";var i,r,o=[];for(r in"string"!=typeof t&&(t="?"),e)if(a.call(e,r)){if((i=e[r])||null!=i&&!isNaN(i)||(i=""),r=n(r),i=n(i),null===r||null===i)continue;o.push(r+"="+i)}return o.length?t+o.join("&"):""},e.parse=function(e){for(var a,n=/([^=?#&]+)=?([^&]*)/g,i={};a=n.exec(e);){var r=t(a[1]),o=t(a[2]);null===r||null===o||r in i||(i[r]=o)}return i}}}),qBe=VBe({"node_modules/url-parse/index.js"(e,a){var t=UBe(),n=WBe(),i=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r=/[\n\r\t]/g,o=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,s=/:\d+$/,l=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function c(e){return(e||"").toString().replace(i,"")}var d=[["#","hash"],["?","query"],function(e,a){return p(a.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],m={hash:1,query:1};function h(e){var a;a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t,n={},i=typeof(e=e||(a.location||{}));if("blob:"===e.protocol)n=new f(unescape(e.pathname),{});else if("string"===i)for(t in n=new f(e,{}),m)delete n[t];else if("object"===i){for(t in e)t in m||(n[t]=e[t]);void 0===n.slashes&&(n.slashes=o.test(e.href))}return n}function p(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function g(e,a){e=(e=c(e)).replace(r,""),a=a||{};var t,n=l.exec(e),i=n[1]?n[1].toLowerCase():"",o=!!n[2],s=!!n[3],u=0;return o?s?(t=n[2]+n[3]+n[4],u=n[2].length+n[3].length):(t=n[2]+n[4],u=n[2].length):s?(t=n[3]+n[4],u=n[3].length):t=n[4],"file:"===i?u>=2&&(t=t.slice(2)):p(i)?t=n[4]:i?o&&(t=t.slice(2)):u>=2&&p(a.protocol)&&(t=n[4]),{protocol:i,slashes:o||p(i),slashesCount:u,rest:t}}function f(e,a,i){if(e=(e=c(e)).replace(r,""),!(this instanceof f))return new f(e,a,i);var o,s,l,m,v,y,b=d.slice(),k=typeof a,S=this,w=0;for("object"!==k&&"string"!==k&&(i=a,a=null),i&&"function"!=typeof i&&(i=n.parse),o=!(s=g(e||"",a=h(a))).protocol&&!s.slashes,S.slashes=s.slashes||o&&a.slashes,S.protocol=s.protocol||a.protocol||"",e=s.rest,("file:"===s.protocol&&(2!==s.slashesCount||u.test(e))||!s.slashes&&(s.protocol||s.slashesCount<2||!p(S.protocol)))&&(b[3]=[/(.*)/,"pathname"]);w<b.length;w++)"function"!=typeof(m=b[w])?(y=m[1],(l=m[0])!=l?S[y]=e:"string"==typeof l?~(v="@"===l?e.lastIndexOf(l):e.indexOf(l))&&("number"==typeof m[2]?(S[y]=e.slice(0,v),e=e.slice(v+m[2])):(S[y]=e.slice(v),e=e.slice(0,v))):(v=l.exec(e))&&(S[y]=v[1],e=e.slice(0,v.index)),S[y]=S[y]||o&&m[3]&&a[y]||"",m[4]&&(S[y]=S[y].toLowerCase())):e=m(e,S);i&&(S.query=i(S.query)),o&&a.slashes&&"/"!==S.pathname.charAt(0)&&(""!==S.pathname||""!==a.pathname)&&(S.pathname=function(e,a){if(""===e)return a;for(var t=(a||"/").split("/").slice(0,-1).concat(e.split("/")),n=t.length,i=t[n-1],r=!1,o=0;n--;)"."===t[n]?t.splice(n,1):".."===t[n]?(t.splice(n,1),o++):o&&(0===n&&(r=!0),t.splice(n,1),o--);return r&&t.unshift(""),"."!==i&&".."!==i||t.push(""),t.join("/")}(S.pathname,a.pathname)),"/"!==S.pathname.charAt(0)&&p(S.protocol)&&(S.pathname="/"+S.pathname),t(S.port,S.protocol)||(S.host=S.hostname,S.port=""),S.username=S.password="",S.auth&&(~(v=S.auth.indexOf(":"))?(S.username=S.auth.slice(0,v),S.username=encodeURIComponent(decodeURIComponent(S.username)),S.password=S.auth.slice(v+1),S.password=encodeURIComponent(decodeURIComponent(S.password))):S.username=encodeURIComponent(decodeURIComponent(S.auth)),S.auth=S.password?S.username+":"+S.password:S.username),S.origin="file:"!==S.protocol&&p(S.protocol)&&S.host?S.protocol+"//"+S.host:"null",S.href=S.toString()}f.prototype={set:function(e,a,i){var r=this;switch(e){case"query":"string"==typeof a&&a.length&&(a=(i||n.parse)(a)),r[e]=a;break;case"port":r[e]=a,t(a,r.protocol)?a&&(r.host=r.hostname+":"+a):(r.host=r.hostname,r[e]="");break;case"hostname":r[e]=a,r.port&&(a+=":"+r.port),r.host=a;break;case"host":r[e]=a,s.test(a)?(a=a.split(":"),r.port=a.pop(),r.hostname=a.join(":")):(r.hostname=a,r.port="");break;case"protocol":r.protocol=a.toLowerCase(),r.slashes=!i;break;case"pathname":case"hash":if(a){var o="pathname"===e?"/":"#";r[e]=a.charAt(0)!==o?o+a:a}else r[e]=a;break;case"username":case"password":r[e]=encodeURIComponent(a);break;case"auth":var l=a.indexOf(":");~l?(r.username=a.slice(0,l),r.username=encodeURIComponent(decodeURIComponent(r.username)),r.password=a.slice(l+1),r.password=encodeURIComponent(decodeURIComponent(r.password))):r.username=encodeURIComponent(decodeURIComponent(a))}for(var u=0;u<d.length;u++){var c=d[u];c[4]&&(r[c[1]]=r[c[1]].toLowerCase())}return r.auth=r.password?r.username+":"+r.password:r.username,r.origin="file:"!==r.protocol&&p(r.protocol)&&r.host?r.protocol+"//"+r.host:"null",r.href=r.toString(),r},toString:function(e){e&&"function"==typeof e||(e=n.stringify);var a,t=this,i=t.host,r=t.protocol;r&&":"!==r.charAt(r.length-1)&&(r+=":");var o=r+(t.protocol&&t.slashes||p(t.protocol)?"//":"");return t.username?(o+=t.username,t.password&&(o+=":"+t.password),o+="@"):t.password?(o+=":"+t.password,o+="@"):"file:"!==t.protocol&&p(t.protocol)&&!i&&"/"!==t.pathname&&(o+="@"),(":"===i[i.length-1]||s.test(t.hostname)&&!t.port)&&(i+=":"),o+=i+t.pathname,(a="object"==typeof t.query?e(t.query):t.query)&&(o+="?"!==a.charAt(0)?"?"+a:a),t.hash&&(o+=t.hash),o}},f.extractProtocol=g,f.location=h,f.trimLeft=c,f.qs=n,a.exports=f}}),ZBe=VBe({"node_modules/psl/data/rules.json"(e,a){a.exports=["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac","org.ac","ad","nom.ad","ae","co.ae","net.ae","org.ae","sch.ae","ac.ae","gov.ae","mil.ae","aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","aircraft.aero","airline.aero","airport.aero","air-surveillance.aero","airtraffic.aero","air-traffic-control.aero","ambulance.aero","amusement.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","gov.af","com.af","org.af","net.af","edu.af","ag","com.ag","org.ag","net.ag","co.ag","nom.ag","ai","off.ai","com.ai","net.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","ed.ao","gv.ao","og.ao","co.ao","pb.ao","it.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","co.at","gv.at","or.at","sth.ac.at","au","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","com.az","net.az","int.az","gov.az","org.az","edu.az","info.az","pp.az","mil.az","name.az","pro.az","biz.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","bh","com.bh","edu.bh","net.bh","org.bh","gov.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","asso.bj","barreau.bj","gouv.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","org.bo","net.bo","mil.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","politica.bo","profesional.bo","plurinacional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","net.bs","org.bs","edu.bs","gov.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","com.bz","net.bz","org.bz","edu.bz","gov.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","org.ci","or.ci","com.ci","co.ci","edu.ci","ed.ci","ac.ci","net.ci","go.ci","asso.ci","aéroport.ci","int.ci","presse.ci","md.ci","gouv.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","net.cn","org.cn","mil.cn","公司.cn","网络.cn","網絡.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","hk.cn","mo.cn","tw.cn","co","arts.co","com.co","edu.co","firm.co","gov.co","info.co","int.co","mil.co","net.co","nom.co","org.co","rec.co","web.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","org.cu","net.cu","gov.cu","inf.cu","cv","com.cv","edu.cv","int.cv","nome.cv","org.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","com.dm","net.dm","org.dm","edu.dm","gov.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","org.dz","net.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","info.ec","net.ec","fin.ec","k12.ec","med.ec","pro.ec","org.ec","edu.ec","gov.ec","gob.ec","mil.ec","edu","ee","edu.ee","gov.ee","riik.ee","lib.ee","med.ee","com.ee","pri.ee","aip.ee","org.ee","fie.ee","eg","com.eg","edu.eg","eun.eg","gov.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","*.er","es","com.es","nom.es","org.es","gob.es","edu.es","et","com.et","gov.et","org.et","edu.et","biz.et","name.et","info.et","net.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","com.fm","edu.fm","net.fm","org.fm","fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","aeroport.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","ga","gb","edu.gd","gov.gd","gd","ge","com.ge","edu.ge","gov.ge","org.ge","mil.ge","net.ge","pvt.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","org.gh","mil.gh","gi","com.gi","ltd.gi","gov.gi","mod.gi","edu.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","org.gn","net.gn","gov","gp","com.gp","net.gp","mobi.gp","edu.gp","org.gp","asso.gp","gq","gr","com.gr","edu.gr","net.gr","org.gr","gov.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","公司.hk","教育.hk","敎育.hk","政府.hk","個人.hk","个��.hk","箇人.hk","網络.hk","网络.hk","组織.hk","網絡.hk","网絡.hk","组织.hk","組織.hk","組织.hk","hm","hn","com.hn","edu.hn","org.hn","net.hn","mil.hn","gob.hn","hr","iz.hr","from.hr","name.hr","com.hr","ht","com.ht","shop.ht","firm.ht","info.ht","adult.ht","net.ht","pro.ht","org.ht","med.ht","art.ht","coop.ht","pol.ht","asso.ht","edu.ht","rel.ht","gouv.ht","perso.ht","hu","co.hu","info.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","im","ac.im","co.im","com.im","ltd.co.im","net.im","org.im","plc.co.im","tt.im","tv.im","in","co.in","firm.in","net.in","org.in","gen.in","ind.in","nic.in","ac.in","edu.in","res.in","gov.in","mil.in","info","int","eu.int","io","com.io","iq","gov.iq","edu.iq","mil.iq","com.iq","org.iq","net.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","net.is","com.is","edu.is","gov.is","org.is","int.is","it","gov.it","edu.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentino.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","balsan.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano-altoadige.it","bolzano.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","bozen.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bulsan.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza-brianza.it","monza-e-della-brianza.it","monza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","suedtirol.it","südtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","com.jo","org.jo","net.jo","edu.jo","sch.jo","gov.jo","mil.jo","name.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","栃木.jp","愛知.jp","愛媛.jp","兵庫.jp","熊本.jp","茨城.jp","北海道.jp","千葉.jp","和歌山.jp","長崎.jp","長野.jp","新潟.jp","青森.jp","静岡.jp","東京.jp","石川.jp","埼玉.jp","三重.jp","京都.jp","佐賀.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岩手.jp","岐阜.jp","岡山.jp","島根.jp","広島.jp","徳島.jp","沖縄.jp","滋賀.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","!city.kawasaki.jp","!city.kitakyushu.jp","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","org.kg","net.kg","com.kg","edu.kg","gov.kg","mil.kg","*.kh","ki","edu.ki","biz.ki","net.ki","org.ki","gov.ki","info.ki","com.ki","km","org.km","nom.km","gov.km","prd.km","tm.km","edu.km","mil.km","ass.km","com.km","coop.km","asso.km","presse.km","medecin.km","notaires.km","pharmaciens.km","veterinaire.km","gouv.km","kn","net.kn","org.kn","edu.kn","gov.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","org.kz","edu.kz","net.kz","gov.kz","mil.kz","com.kz","la","int.la","net.la","info.la","edu.la","gov.la","per.la","com.la","org.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","com.lc","net.lc","co.lc","org.lc","edu.lc","gov.lc","li","lk","gov.lk","sch.lk","net.lk","int.lk","com.lk","org.lk","edu.lk","ngo.lk","soc.lk","web.lk","ltd.lk","assn.lk","grp.lk","hotel.lk","ac.lk","lr","com.lr","edu.lr","gov.lr","org.lr","net.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","com.lv","edu.lv","gov.lv","org.lv","mil.lv","id.lv","net.lv","asn.lv","conf.lv","ly","com.ly","net.ly","gov.ly","plc.ly","edu.ly","sch.ly","med.ly","org.ly","id.ly","ma","co.ma","net.ma","gov.ma","org.ma","ac.ma","press.ma","mc","tm.mc","asso.mc","md","me","co.me","net.me","org.me","edu.me","ac.me","gov.me","its.me","priv.me","mg","org.mg","nom.mg","gov.mg","prd.mg","tm.mg","edu.mg","mil.mg","com.mg","co.mg","mh","mil","mk","com.mk","org.mk","net.mk","edu.mk","gov.mk","inf.mk","name.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","gov.mn","edu.mn","org.mn","mo","com.mo","net.mo","org.mo","edu.mo","gov.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","com.mu","net.mu","org.mu","gov.mu","ac.mu","co.mu","or.mu","museum","academy.museum","agriculture.museum","air.museum","airguard.museum","alabama.museum","alaska.museum","amber.museum","ambulance.museum","american.museum","americana.museum","americanantiques.museum","americanart.museum","amsterdam.museum","and.museum","annefrank.museum","anthro.museum","anthropology.museum","antiques.museum","aquarium.museum","arboretum.museum","archaeological.museum","archaeology.museum","architecture.museum","art.museum","artanddesign.museum","artcenter.museum","artdeco.museum","arteducation.museum","artgallery.museum","arts.museum","artsandcrafts.museum","asmatart.museum","assassination.museum","assisi.museum","association.museum","astronomy.museum","atlanta.museum","austin.museum","australia.museum","automotive.museum","aviation.museum","axis.museum","badajoz.museum","baghdad.museum","bahn.museum","bale.museum","baltimore.museum","barcelona.museum","baseball.museum","basel.museum","baths.museum","bauern.museum","beauxarts.museum","beeldengeluid.museum","bellevue.museum","bergbau.museum","berkeley.museum","berlin.museum","bern.museum","bible.museum","bilbao.museum","bill.museum","birdart.museum","birthplace.museum","bonn.museum","boston.museum","botanical.museum","botanicalgarden.museum","botanicgarden.museum","botany.museum","brandywinevalley.museum","brasil.museum","bristol.museum","british.museum","britishcolumbia.museum","broadcast.museum","brunel.museum","brussel.museum","brussels.museum","bruxelles.museum","building.museum","burghof.museum","bus.museum","bushey.museum","cadaques.museum","california.museum","cambridge.museum","can.museum","canada.museum","capebreton.museum","carrier.museum","cartoonart.museum","casadelamoneda.museum","castle.museum","castres.museum","celtic.museum","center.museum","chattanooga.museum","cheltenham.museum","chesapeakebay.museum","chicago.museum","children.museum","childrens.museum","childrensgarden.museum","chiropractic.museum","chocolate.museum","christiansburg.museum","cincinnati.museum","cinema.museum","circus.museum","civilisation.museum","civilization.museum","civilwar.museum","clinton.museum","clock.museum","coal.museum","coastaldefence.museum","cody.museum","coldwar.museum","collection.museum","colonialwilliamsburg.museum","coloradoplateau.museum","columbia.museum","columbus.museum","communication.museum","communications.museum","community.museum","computer.museum","computerhistory.museum","comunicações.museum","contemporary.museum","contemporaryart.museum","convent.museum","copenhagen.museum","corporation.museum","correios-e-telecomunicações.museum","corvette.museum","costume.museum","countryestate.museum","county.museum","crafts.museum","cranbrook.museum","creation.museum","cultural.museum","culturalcenter.museum","culture.museum","cyber.museum","cymru.museum","dali.museum","dallas.museum","database.museum","ddr.museum","decorativearts.museum","delaware.museum","delmenhorst.museum","denmark.museum","depot.museum","design.museum","detroit.museum","dinosaur.museum","discovery.museum","dolls.museum","donostia.museum","durham.museum","eastafrica.museum","eastcoast.museum","education.museum","educational.museum","egyptian.museum","eisenbahn.museum","elburg.museum","elvendrell.museum","embroidery.museum","encyclopedic.museum","england.museum","entomology.museum","environment.museum","environmentalconservation.museum","epilepsy.museum","essex.museum","estate.museum","ethnology.museum","exeter.museum","exhibition.museum","family.museum","farm.museum","farmequipment.museum","farmers.museum","farmstead.museum","field.museum","figueres.museum","filatelia.museum","film.museum","fineart.museum","finearts.museum","finland.museum","flanders.museum","florida.museum","force.museum","fortmissoula.museum","fortworth.museum","foundation.museum","francaise.museum","frankfurt.museum","franziskaner.museum","freemasonry.museum","freiburg.museum","fribourg.museum","frog.museum","fundacio.museum","furniture.museum","gallery.museum","garden.museum","gateway.museum","geelvinck.museum","gemological.museum","geology.museum","georgia.museum","giessen.museum","glas.museum","glass.museum","gorge.museum","grandrapids.museum","graz.museum","guernsey.museum","halloffame.museum","hamburg.museum","handson.museum","harvestcelebration.museum","hawaii.museum","health.museum","heimatunduhren.museum","hellas.museum","helsinki.museum","hembygdsforbund.museum","heritage.museum","histoire.museum","historical.museum","historicalsociety.museum","historichouses.museum","historisch.museum","historisches.museum","history.museum","historyofscience.museum","horology.museum","house.museum","humanities.museum","illustration.museum","imageandsound.museum","indian.museum","indiana.museum","indianapolis.museum","indianmarket.museum","intelligence.museum","interactive.museum","iraq.museum","iron.museum","isleofman.museum","jamison.museum","jefferson.museum","jerusalem.museum","jewelry.museum","jewish.museum","jewishart.museum","jfk.museum","journalism.museum","judaica.museum","judygarland.museum","juedisches.museum","juif.museum","karate.museum","karikatur.museum","kids.museum","koebenhavn.museum","koeln.museum","kunst.museum","kunstsammlung.museum","kunstunddesign.museum","labor.museum","labour.museum","lajolla.museum","lancashire.museum","landes.museum","lans.museum","läns.museum","larsson.museum","lewismiller.museum","lincoln.museum","linz.museum","living.museum","livinghistory.museum","localhistory.museum","london.museum","losangeles.museum","louvre.museum","loyalist.museum","lucerne.museum","luxembourg.museum","luzern.museum","mad.museum","madrid.museum","mallorca.museum","manchester.museum","mansion.museum","mansions.museum","manx.museum","marburg.museum","maritime.museum","maritimo.museum","maryland.museum","marylhurst.museum","media.museum","medical.museum","medizinhistorisches.museum","meeres.museum","memorial.museum","mesaverde.museum","michigan.museum","midatlantic.museum","military.museum","mill.museum","miners.museum","mining.museum","minnesota.museum","missile.museum","missoula.museum","modern.museum","moma.museum","money.museum","monmouth.museum","monticello.museum","montreal.museum","moscow.museum","motorcycle.museum","muenchen.museum","muenster.museum","mulhouse.museum","muncie.museum","museet.museum","museumcenter.museum","museumvereniging.museum","music.museum","national.museum","nationalfirearms.museum","nationalheritage.museum","nativeamerican.museum","naturalhistory.museum","naturalhistorymuseum.museum","naturalsciences.museum","nature.museum","naturhistorisches.museum","natuurwetenschappen.museum","naumburg.museum","naval.museum","nebraska.museum","neues.museum","newhampshire.museum","newjersey.museum","newmexico.museum","newport.museum","newspaper.museum","newyork.museum","niepce.museum","norfolk.museum","north.museum","nrw.museum","nyc.museum","nyny.museum","oceanographic.museum","oceanographique.museum","omaha.museum","online.museum","ontario.museum","openair.museum","oregon.museum","oregontrail.museum","otago.museum","oxford.museum","pacific.museum","paderborn.museum","palace.museum","paleo.museum","palmsprings.museum","panama.museum","paris.museum","pasadena.museum","pharmacy.museum","philadelphia.museum","philadelphiaarea.museum","philately.museum","phoenix.museum","photography.museum","pilots.museum","pittsburgh.museum","planetarium.museum","plantation.museum","plants.museum","plaza.museum","portal.museum","portland.museum","portlligat.museum","posts-and-telecommunications.museum","preservation.museum","presidio.museum","press.museum","project.museum","public.museum","pubol.museum","quebec.museum","railroad.museum","railway.museum","research.museum","resistance.museum","riodejaneiro.museum","rochester.museum","rockart.museum","roma.museum","russia.museum","saintlouis.museum","salem.museum","salvadordali.museum","salzburg.museum","sandiego.museum","sanfrancisco.museum","santabarbara.museum","santacruz.museum","santafe.museum","saskatchewan.museum","satx.museum","savannahga.museum","schlesisches.museum","schoenbrunn.museum","schokoladen.museum","school.museum","schweiz.museum","science.museum","scienceandhistory.museum","scienceandindustry.museum","sciencecenter.museum","sciencecenters.museum","science-fiction.museum","sciencehistory.museum","sciences.museum","sciencesnaturelles.museum","scotland.museum","seaport.museum","settlement.museum","settlers.museum","shell.museum","sherbrooke.museum","sibenik.museum","silk.museum","ski.museum","skole.museum","society.museum","sologne.museum","soundandvision.museum","southcarolina.museum","southwest.museum","space.museum","spy.museum","square.museum","stadt.museum","stalbans.museum","starnberg.museum","state.museum","stateofdelaware.museum","station.museum","steam.museum","steiermark.museum","stjohn.museum","stockholm.museum","stpetersburg.museum","stuttgart.museum","suisse.museum","surgeonshall.museum","surrey.museum","svizzera.museum","sweden.museum","sydney.museum","tank.museum","tcm.museum","technology.museum","telekommunikation.museum","television.museum","texas.museum","textile.museum","theater.museum","time.museum","timekeeping.museum","topology.museum","torino.museum","touch.museum","town.museum","transport.museum","tree.museum","trolley.museum","trust.museum","trustee.museum","uhren.museum","ulm.museum","undersea.museum","university.museum","usa.museum","usantiques.museum","usarts.museum","uscountryestate.museum","usculture.museum","usdecorativearts.museum","usgarden.museum","ushistory.museum","ushuaia.museum","uslivinghistory.museum","utah.museum","uvic.museum","valley.museum","vantaa.museum","versailles.museum","viking.museum","village.museum","virginia.museum","virtual.museum","virtuel.museum","vlaanderen.museum","volkenkunde.museum","wales.museum","wallonie.museum","war.museum","washingtondc.museum","watchandclock.museum","watch-and-clock.museum","western.museum","westfalen.museum","whaling.museum","wildlife.museum","williamsburg.museum","windmill.museum","workshop.museum","york.museum","yorkshire.museum","yosemite.museum","youth.museum","zoological.museum","zoology.museum","ירושלים.museum","иком.museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","museum.mw","net.mw","org.mw","mx","com.mx","org.mx","gob.mx","edu.mx","net.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","info.na","pro.na","name.na","school.na","or.na","dr.na","us.na","mx.na","ca.na","in.na","cc.na","tv.na","ws.na","mobi.na","co.na","com.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","com.nf","net.nf","per.nf","rec.nf","web.nf","arts.nf","firm.nf","info.nf","other.nf","store.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","vgs.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","stat.no","dep.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","brumunddal.no","bryne.no","bronnoysund.no","brønnøysund.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","afjord.no","åfjord.no","agdenes.no","al.no","ål.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alaheadju.no","álaheadju.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andebu.no","andoy.no","andøy.no","andasuolo.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askvoll.no","askoy.no","askøy.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","balestrand.no","ballangen.no","balat.no","bálát.no","balsfjord.no","bahccavuotna.no","báhccavuotna.no","bamble.no","bardu.no","beardu.no","beiarn.no","bajddar.no","bájddar.no","baidar.no","báidár.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bearalvahki.no","bearalváhki.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","badaddja.no","bådåddjå.no","budejju.no","bokn.no","bremanger.no","bronnoy.no","brønnøy.no","bygland.no","bykle.no","barum.no","bærum.no","bo.telemark.no","bø.telemark.no","bo.nordland.no","bø.nordland.no","bievat.no","bievát.no","bomlo.no","bømlo.no","batsfjord.no","båtsfjord.no","bahcavuotna.no","báhcavuotna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","donna.no","dønna.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenes.no","evenassi.no","evenášši.no","evje-og-hornnes.no","farsund.no","fauske.no","fuossko.no","fuoisku.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","fla.no","flå.no","folldal.no","forsand.no","fosnes.no","frei.no","frogn.no","froland.no","frosta.no","frana.no","fræna.no","froya.no","frøya.no","fusa.no","fyresdal.no","forde.no","førde.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","kraanghke.no","kråanghke.no","grue.no","gulen.no","hadsel.no","halden.no","halsa.no","hamar.no","hamaroy.no","habmer.no","hábmer.no","hapmir.no","hápmir.no","hammerfest.no","hammarfeasta.no","hámmárfeasta.no","haram.no","hareid.no","harstad.no","hasvik.no","aknoluokta.no","ákŋoluokta.no","hattfjelldal.no","aarborte.no","haugesund.no","hemne.no","hemnes.no","hemsedal.no","heroy.more-og-romsdal.no","herøy.møre-og-romsdal.no","heroy.nordland.no","herøy.nordland.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","hornindal.no","horten.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","hagebostad.no","hægebostad.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","ha.no","hå.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","jevnaker.no","jondal.no","jolster.no","jølster.no","karasjok.no","karasjohka.no","kárášjohka.no","karlsoy.no","galsa.no","gálsá.no","karmoy.no","karmøy.no","kautokeino.no","guovdageaidnu.no","klepp.no","klabu.no","klæbu.no","kongsberg.no","kongsvinger.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvalsund.no","rahkkeravju.no","ráhkkerávju.no","kvam.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","kvafjord.no","kvæfjord.no","giehtavuoatna.no","kvanangen.no","kvænangen.no","navuotna.no","návuotna.no","kafjord.no","kåfjord.no","gaivuotna.no","gáivuotna.no","larvik.no","lavangen.no","lavagis.no","loabat.no","loabát.no","lebesby.no","davvesiida.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","leangaviika.no","leaŋgaviika.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindesnes.no","lindas.no","lindås.no","lom.no","loppa.no","lahppi.no","láhppi.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","ivgu.no","lardal.no","lerdal.no","lærdal.no","lodingen.no","lødingen.no","lorenskog.no","lørenskog.no","loten.no","løten.no","malvik.no","masoy.no","måsøy.no","muosat.no","muosát.no","mandal.no","marker.no","marnardal.no","masfjorden.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","moareke.no","moåreke.no","midsund.no","midtre-gauldal.no","modalen.no","modum.no","molde.no","moskenes.no","moss.no","mosvik.no","malselv.no","målselv.no","malatvuopmi.no","málatvuopmi.no","namdalseid.no","aejrie.no","namsos.no","namsskogan.no","naamesjevuemie.no","nååmesjevuemie.no","laakesvuemie.no","nannestad.no","narvik.no","narviika.no","naustdal.no","nedre-eiker.no","nes.akershus.no","nes.buskerud.no","nesna.no","nesodden.no","nesseby.no","unjarga.no","unjárga.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","davvenjarga.no","davvenjárga.no","nordre-land.no","nordreisa.no","raisa.no","ráisa.no","nore-og-uvdal.no","notodden.no","naroy.no","nærøy.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","os.hedmark.no","os.hordaland.no","osen.no","osteroy.no","osterøy.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","radoy.no","radøy.no","rakkestad.no","rana.no","ruovat.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","rissa.no","risor.no","risør.no","roan.no","rollag.no","rygge.no","ralingen.no","rælingen.no","rodoy.no","rødøy.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","rade.no","råde.no","salangen.no","siellak.no","saltdal.no","salat.no","sálát.no","sálat.no","samnanger.no","sande.more-og-romsdal.no","sande.møre-og-romsdal.no","sande.vestfold.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","sigdal.no","siljan.no","sirdal.no","skaun.no","skedsmo.no","ski.no","skien.no","skiptvet.no","skjervoy.no","skjervøy.no","skierva.no","skiervá.no","skjak.no","skjåk.no","skodje.no","skanland.no","skånland.no","skanit.no","skánit.no","smola.no","smøla.no","snillfjord.no","snasa.no","snåsa.no","snoasa.no","snaase.no","snåase.no","sogndal.no","sokndal.no","sola.no","solund.no","songdalen.no","sortland.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","omasvuotna.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","sogne.no","søgne.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","matta-varjjat.no","mátta-várjjat.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sorum.no","sørum.no","tana.no","deatnu.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","dielddanuorri.no","tjome.no","tjøme.no","tokke.no","tolga.no","torsken.no","tranoy.no","tranøy.no","tromso.no","tromsø.no","tromsa.no","romsa.no","trondheim.no","troandin.no","trysil.no","trana.no","træna.no","trogstad.no","trøgstad.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","divtasvuodna.no","divttasvuotna.no","tysnes.no","tysvar.no","tysvær.no","tonsberg.no","tønsberg.no","ullensaker.no","ullensvang.no","ulvik.no","utsira.no","vadso.no","vadsø.no","cahcesuolo.no","čáhcesuolo.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","vefsn.no","vaapste.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","volda.no","voss.no","varoy.no","værøy.no","vagan.no","vågan.no","voagat.no","vagsoy.no","vågsøy.no","vaga.no","vågå.no","valer.ostfold.no","våler.østfold.no","valer.hedmark.no","våler.hedmark.no","*.np","nr","biz.nr","info.nr","gov.nr","edu.nr","org.nr","net.nr","com.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","mil.nz","māori.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","ac.pa","gob.pa","com.pa","org.pa","sld.pa","edu.pa","net.pa","ing.pa","abo.pa","med.pa","nom.pa","pe","edu.pe","gob.pe","nom.pe","mil.pe","org.pe","com.pe","net.pe","pf","com.pf","org.pf","edu.pf","*.pg","ph","com.ph","net.ph","org.ph","gov.ph","edu.ph","ngo.ph","mil.ph","i.ph","pk","com.pk","net.pk","edu.pk","org.pk","fam.pk","biz.pk","web.pk","gov.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","pl","com.pl","net.pl","org.pl","aid.pl","agro.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","miasta.pl","media.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","ic.gov.pl","is.gov.pl","us.gov.pl","kmpsp.gov.pl","kppsp.gov.pl","kwpsp.gov.pl","psp.gov.pl","wskr.gov.pl","kwp.gov.pl","mw.gov.pl","ug.gov.pl","um.gov.pl","umig.gov.pl","ugim.gov.pl","upow.gov.pl","uw.gov.pl","starostwo.gov.pl","pa.gov.pl","po.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","so.gov.pl","sr.gov.pl","wsa.gov.pl","sko.gov.pl","uzs.gov.pl","wiih.gov.pl","winb.gov.pl","pinb.gov.pl","wios.gov.pl","witd.gov.pl","wzmiuw.gov.pl","piw.gov.pl","wiw.gov.pl","griw.gov.pl","wif.gov.pl","oum.gov.pl","sdn.gov.pl","zp.gov.pl","uppo.gov.pl","mup.gov.pl","wuoz.gov.pl","konsulat.gov.pl","oirm.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","kazimierz-dolny.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorze.pl","pomorskie.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","skoczow.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","gov.pn","co.pn","org.pn","edu.pn","net.pn","post","pr","com.pr","net.pr","org.pr","gov.pr","edu.pr","isla.pr","pro.pr","biz.pr","info.pr","name.pr","est.pr","prof.pr","ac.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","edu.ps","gov.ps","sec.ps","plo.ps","com.ps","org.ps","net.ps","pt","net.pt","gov.pt","org.pt","edu.pt","int.pt","publ.pt","com.pt","nome.pt","pw","co.pw","ne.pw","or.pw","ed.pw","go.pw","belau.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","nom.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","net.sa","org.sa","gov.sa","med.sa","pub.sa","edu.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","gov.sc","net.sc","org.sc","edu.sc","sd","com.sd","net.sd","org.sd","edu.sd","med.sd","tv.sd","gov.sd","info.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","net.sg","org.sg","gov.sg","edu.sg","per.sg","sh","com.sh","net.sh","gov.sh","org.sh","mil.sh","si","sj","sk","sl","com.sl","net.sl","edu.sl","gov.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","edu.sy","gov.sy","net.sy","mil.sy","com.sy","org.sy","sz","co.sz","ac.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","com.tm","co.tm","org.tm","net.tm","nom.tm","gov.tm","mil.tm","edu.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","gov.to","net.to","org.to","edu.to","mil.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","mil.tr","k12.tr","kep.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","co.tt","com.tt","org.tt","net.tt","biz.tt","info.tt","pro.tt","int.tt","coop.tt","jobs.tt","mobi.tt","travel.tt","museum.tt","aero.tt","name.tt","gov.tt","edu.tt","tv","tw","edu.tw","gov.tw","mil.tw","com.tw","net.tw","org.tw","idv.tw","game.tw","ebiz.tw","club.tw","網路.tw","組織.tw","商業.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","co.ug","or.ug","ac.ug","sc.ug","go.ug","ne.ug","com.ug","org.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","vi.us","vt.us","va.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.de.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.vi.us","k12.vt.us","k12.va.us","k12.wa.us","k12.wi.us","k12.wy.us","cc.ak.us","cc.al.us","cc.ar.us","cc.as.us","cc.az.us","cc.ca.us","cc.co.us","cc.ct.us","cc.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.vi.us","cc.vt.us","cc.va.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","lib.ak.us","lib.al.us","lib.ar.us","lib.as.us","lib.az.us","lib.ca.us","lib.co.us","lib.ct.us","lib.dc.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.vi.us","lib.vt.us","lib.va.us","lib.wa.us","lib.wi.us","lib.wy.us","pvt.k12.ma.us","chtr.k12.ma.us","paroch.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","net.vc","org.vc","gov.vc","mil.vc","edu.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","net.ws","org.ws","gov.ws","edu.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","公司.香港","教育.香港","政府.香港","個人.香港","網絡.香港","組織.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","пр.срб","орг.срб","обр.срб","од.срб","упр.срб","ак.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ศึกษา.ไทย","ธุรกิจ.ไทย","รัฐบาล.ไทย","ทหาร.ไทย","เน็ต.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","net.ye","mil.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","adac","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aws","axa","azure","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","bugatti","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","cbs","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","etisalat","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","guardian","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kinder","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","mutual","nab","nagoya","natura","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","northwesternmutual","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocher","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volkswagen","volvo","vote","voting","voto","voyage","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","诺基亚","食品","飞利浦","手机","ارامكو","العليان","اتصالات","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","cc.ua","inf.ua","ltd.ua","611.to","graphox.us","*.devcdnaccesso.com","adobeaemcloud.com","*.dev.adobeaemcloud.com","hlx.live","adobeaemcloud.net","hlx.page","hlx3.page","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","cloudfront.net","*.compute.amazonaws.com","*.compute-1.amazonaws.com","*.compute.amazonaws.com.cn","us-east-1.amazonaws.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com","*.elb.amazonaws.com.cn","awsglobalaccelerator.com","s3.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3.ca-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.eu-west-3.amazonaws.com","s3.us-east-2.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3-website.us-east-2.amazonaws.com","t3l3p0rt.net","tele.amune.org","apigee.io","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","backplaneapp.io","balena-devices.com","rs.ba","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","*.beget.app","betainabox.com","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","shop.brendly.rs","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","mycd.eu","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","ae.org","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.net","hu.net","jp.net","jpn.com","mex.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","za.bz","za.com","ar.com","hu.com","kr.com","no.com","qc.com","uy.com","africa.com","gr.com","in.net","web.in","us.org","co.com","aus.basketball","nz.basketball","radio.am","radio.fm","c.la","certmgr.org","cx.ua","discourse.group","discourse.team","cleverapps.io","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","clickrising.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","*.cloudera.site","pages.dev","trycloudflare.com","workers.dev","wnext.app","co.ca","*.otap.co","co.cz","c.cdn77.org","cdn77-ssl.net","r.cdn77.net","rsc.cdn77.org","ssl.origin.cdn77-secure.org","cloudns.asia","cloudns.biz","cloudns.club","cloudns.cc","cloudns.eu","cloudns.in","cloudns.info","cloudns.org","cloudns.pro","cloudns.pw","cloudns.us","cnpy.gdn","codeberg.page","co.nl","co.no","webhosting.be","hosting-cluster.nl","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dynamisches-dns.de","dnsupdater.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","realm.cz","*.cryptonomic.net","cupcake.is","curv.dev","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","cyon.link","cyon.site","fnwk.site","folionetwork.site","platform0.app","daplie.me","localhost.daplie.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","*.dapps.earth","*.bzz.dapps.earth","builtwithdark.com","demo.datadetect.com","instance.datadetect.com","edgestack.me","ddns5.com","debian.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","*.rss.my.id","*.diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","bip.sh","bitbridge.net","dy.fi","tunk.org","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","dyndns.biz","dyndns.info","dyndns.org","dyndns.tv","at-band-camp.net","ath.cx","barrel-of-knowledge.info","barrell-of-knowledge.info","better-than.tv","blogdns.com","blogdns.net","blogdns.org","blogsite.org","boldlygoingnowhere.org","broke-it.net","buyshouses.net","cechire.com","dnsalias.com","dnsalias.net","dnsalias.org","dnsdojo.com","dnsdojo.net","dnsdojo.org","does-it.net","doesntexist.com","doesntexist.org","dontexist.com","dontexist.net","dontexist.org","doomdns.com","doomdns.org","dvrdns.org","dyn-o-saur.com","dynalias.com","dynalias.net","dynalias.org","dynathome.net","dyndns.ws","endofinternet.net","endofinternet.org","endoftheinternet.org","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","for-better.biz","for-more.biz","for-our.info","for-some.biz","for-the.biz","forgot.her.name","forgot.his.name","from-ak.com","from-al.com","from-ar.com","from-az.net","from-ca.com","from-co.net","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-la.net","from-ma.com","from-md.com","from-me.org","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-ny.net","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","ftpaccess.cc","fuettertdasnetz.de","game-host.org","game-server.cc","getmyip.com","gets-it.net","go.dyndns.org","gotdns.com","gotdns.org","groks-the.info","groks-this.info","ham-radio-op.net","here-for-more.info","hobby-site.com","hobby-site.org","home.dyndns.org","homedns.org","homeftp.net","homeftp.org","homeip.net","homelinux.com","homelinux.net","homelinux.org","homeunix.com","homeunix.net","homeunix.org","iamallama.com","in-the-band.net","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bruinsfan.org","is-a-bulls-fan.com","is-a-candidate.org","is-a-caterer.com","is-a-celticsfan.org","is-a-chef.com","is-a-chef.net","is-a-chef.org","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-geek.net","is-a-geek.org","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-knight.org","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-linux-user.org","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-patsfan.org","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-soxfan.org","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-by.us","is-certified.com","is-found.org","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-lost.org","is-not-certified.com","is-saved.org","is-slick.com","is-uberleet.com","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","is-with-theband.com","isa-geek.com","isa-geek.net","isa-geek.org","isa-hockeynut.com","issmarterthanyou.com","isteingeek.de","istmein.de","kicks-ass.net","kicks-ass.org","knowsitall.info","land-4-sale.us","lebtimnetz.de","leitungsen.de","likes-pie.com","likescandy.com","merseine.nu","mine.nu","misconfused.org","mypets.ws","myphotos.cc","neat-url.com","office-on-the.net","on-the-web.tv","podzone.net","podzone.org","readmyblog.org","saves-the-whales.com","scrapper-site.net","scrapping.cc","selfip.biz","selfip.com","selfip.info","selfip.net","selfip.org","sells-for-less.com","sells-for-u.com","sells-it.net","sellsyourhome.org","servebbs.com","servebbs.net","servebbs.org","serveftp.net","serveftp.org","servegame.org","shacknet.nu","simple-url.com","space-to-rent.com","stuff-4-sale.org","stuff-4-sale.us","teaches-yoga.com","thruhere.net","traeumtgerade.de","webhop.biz","webhop.info","webhop.net","webhop.org","worse-than.tv","writesthisblog.com","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyndns1.de","dyn-ip24.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","definima.net","definima.io","ondigitalocean.app","*.digitaloceanspaces.com","bci.dnstrace.pro","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","blogsite.xyz","dynv6.net","e4.cz","eero.online","eero-stage.online","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","onred.one","staging.onred.one","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","mc.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","paris.eu.org","pl.eu.org","pt.eu.org","q-a.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","onfabrica.com","apps.fbsbx.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-terrarium.com","fastlylb.net","map.fastlylb.net","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","hosp.uk","mydobiss.com","fh-muenster.io","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fireweb.app","flap.id","onflashdrive.app","fldrv.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","forgeblocks.com","id.forgerock.io","framer.app","framercanvas.com","*.frusky.de","ravpage.co.il","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","campaign.gov.uk","service.gov.uk","api.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","ghost.io","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","cloudapps.digital","london.cloudapps.digital","pymnt.uk","homeoffice.gov.uk","ro.im","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","*.gateway.dev","cloud.goog","translate.goog","*.usercontent.goog","cloudfunctions.net","blogspot.ae","blogspot.al","blogspot.am","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.co.at","blogspot.co.id","blogspot.co.il","blogspot.co.ke","blogspot.co.nz","blogspot.co.uk","blogspot.co.za","blogspot.com","blogspot.com.ar","blogspot.com.au","blogspot.com.br","blogspot.com.by","blogspot.com.co","blogspot.com.cy","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.com.mt","blogspot.com.ng","blogspot.com.tr","blogspot.com.uy","blogspot.cv","blogspot.cz","blogspot.de","blogspot.dk","blogspot.fi","blogspot.fr","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.ie","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.mr","blogspot.mx","blogspot.my","blogspot.nl","blogspot.no","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.tw","blogspot.ug","blogspot.vn","goupile.fr","gov.nl","awsmppl.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","pages.it.hs-heilbronn.de","hepforge.org","herokuapp.com","herokussl.com","ravendb.cloud","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","homesklep.pl","secaas.hk","hoplix.shop","orx.biz","biz.gl","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","edu.scot","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","ibxos.it","iliadboxos.it","impertrixcdn.com","impertrix.com","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-dsl.net","in-dsl.org","in-vpn.de","in-vpn.net","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","iopsys.se","ipifony.net","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","mel.cloudlets.com.au","cloud.interhostsolutions.be","users.scale.virtualcloud.com.br","mycloud.by","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","amscompute.com","clicketcloud.com","dopaas.com","hidora.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","kilatiron.com","paas.massivegrid.com","jed.wafaicloud.com","lon.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","cloud-fr1.unispace.io","jc.neen.it","cloud.jelastic.open.tim.it","jcloud.kz","upaas.kazteleport.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","faststacks.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","jelastic.tsukaeru.net","sdscloud.pl","unicloud.pl","mircloud.ru","jelastic.regruhosting.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","ktistory.com","kapsi.fi","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","oya.to","kuleuven.cloud","ezproxy.kuleuven.be","co.krd","edu.krd","krellian.net","webthings.io","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","app.lmpm.com","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","*.user.localcert.dev","localzone.xyz","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","servers.run","lohmus.me","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.co.uk","barsyonline.co.uk","barsycenter.com","barsyonline.com","barsy.club","barsy.de","barsy.eu","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","cn.vu","mazeplay.com","mcpe.me","mcdir.me","mcdir.ru","mcpre.ru","vps.mcdir.ru","mediatech.by","mediatech.dev","hra.health","miniserver.com","memset.net","messerli.app","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azurewebsites.net","azure-mobile.net","cloudapp.net","azurestaticapps.net","1.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","csx.cc","mintere.site","forte.id","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","customer.mythic-beasts.com","caracal.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","pony.club","of.fashion","in.london","of.london","from.marketing","with.marketing","for.men","repair.men","and.mom","for.mom","for.one","under.one","for.sale","that.win","from.work","to.work","cloud.nospamproxy.com","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","dnsking.ch","mypi.co","n4t.co","001www.com","ddnslive.com","myiphost.com","forumz.info","16-b.it","32-b.it","64-b.it","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","crafting.xyz","zapto.xyz","nsupdate.info","nerdpol.ovh","blogsyte.com","brasilia.me","cable-modem.org","ciscofreak.com","collegefan.org","couchpotatofries.org","damnserver.com","ddns.me","ditchyourip.com","dnsfor.me","dnsiskinky.com","dvrcam.info","dynns.com","eating-organic.net","fantasyleague.cc","geekgalaxy.com","golffan.us","health-carereform.com","homesecuritymac.com","homesecuritypc.com","hopto.me","ilovecollege.info","loginto.me","mlbfan.org","mmafan.biz","myactivedirectory.com","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.com","mysecuritycamera.net","mysecuritycamera.org","net-freaks.com","nflfan.org","nhlfan.net","no-ip.ca","no-ip.co.uk","no-ip.net","noip.us","onthewifi.com","pgafan.net","point2this.com","pointto.us","privatizehealthinsurance.net","quicksytes.com","read-books.org","securitytactics.com","serveexchange.com","servehumour.com","servep2p.com","servesarcasm.com","stufftoread.com","ufcfan.org","unusualperson.com","workisboring.com","3utilities.com","bounceme.net","ddns.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveirc.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","stage.nodeart.io","pcloud.host","nyc.mn","static.observableusercontent.com","cya.gg","omg.lol","cloudycluster.net","omniwe.site","service.one","nid.io","opensocial.site","opencraft.hosting","orsites.com","operaunite.com","tech.orange","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.webpaas.ovh.net","*.hosting.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","*.paywhirl.com","bar0.net","bar1.net","bar2.net","rdv.to","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","lk3.ru","on-web.fr","bc.platform.sh","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qoto.io","qualifioapp.com","qbuser.com","cloudsite.builders","instances.spawn.cc","instantcloud.cn","ras.ru","qa2.com","qcx.io","*.sys.qcx.io","dev-myqnapcloud.com","alpha-myqnapcloud.com","myqnapcloud.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","g.vbrplsbx.io","*.on-k3s.io","*.on-rancher.cloud","*.on-rio.io","readthedocs.io","rhcloud.com","app.render.com","onrender.com","repl.co","id.repl.co","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","wellbeingzone.co.uk","adimo.co.uk","itcouldbewor.se","git-pages.rit.edu","rocky.page","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","sandcats.io","logoip.de","logoip.com","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","senseering.net","minisite.ms","magnet.page","biz.ua","co.ua","pp.ua","shiftcrypto.dev","shiftcrypto.io","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","bounty-full.com","alpha.bounty-full.com","beta.bounty-full.com","small-web.org","vp4.me","try-snowplow.com","srht.site","stackhero-network.com","musician.io","novecore.site","static.land","dev.static.land","sites.static.land","storebase.store","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","supabase.co","supabase.in","supabase.net","su.paba.se","*.s5y.io","*.sensiosite.cloud","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","vpnplus.to","direct.quickconnect.to","tabitorder.co.il","taifun-dns.de","beta.tailscale.net","ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.dev.thingdust.io","reservd.disrec.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","bloxcms.com","townnews-staging.com","tbits.me","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","*.transurl.nl","site.transip.me","tuxfamily.org","dd-dns.de","diskstation.eu","diskstation.org","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","typedream.app","pro.typeform.com","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","name.pm","sch.tf","biz.wf","sch.wf","org.yt","virtualuser.de","virtual-user.de","upli.io","urown.cloud","dnsupdate.info","lib.de.us","2038.io","vercel.app","vercel.dev","now.sh","router.management","v-info.info","voorloper.cloud","neko.am","nyaa.am","be.ax","cat.ax","es.ax","eu.ax","gg.ax","mc.ax","us.ax","xy.ax","nl.ci","xx.gl","app.gp","blog.gt","de.gt","to.gt","be.gy","cc.hn","blog.kg","io.kg","jp.kg","tv.kg","uk.kg","us.kg","de.ls","at.md","de.md","jp.md","to.md","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","*.vultrobjects.com","wafflecell.com","*.webhare.dev","reserve-online.net","reserve-online.com","bookonline.app","hotelwithflight.com","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","pages.wiardweb.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","wixsite.com","editorx.io","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","ybo.faith","yombo.me","homelink.one","ybo.party","ybo.review","ybo.science","ybo.trade","ynh.fr","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"]}}),$Be=VBe({"node_modules/psl/index.js"(e){var a=JBe(),t={};t.rules=ZBe().map((function(e){return{rule:e,suffix:e.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:"*"===e.charAt(0),exception:"!"===e.charAt(0)}})),t.endsWith=function(e,a){return-1!==e.indexOf(a,e.length-a.length)},t.findRule=function(e){var n=a.toASCII(e);return t.rules.reduce((function(e,i){return-1===i.punySuffix&&(i.punySuffix=a.toASCII(i.suffix)),t.endsWith(n,"."+i.punySuffix)||n===i.punySuffix?i:e}),null)},e.errorCodes={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},t.validate=function(e){var t=a.toASCII(e);if(t.length<1)return"DOMAIN_TOO_SHORT";if(t.length>255)return"DOMAIN_TOO_LONG";for(var n,i=t.split("."),r=0;r<i.length;++r){if(!(n=i[r]).length)return"LABEL_TOO_SHORT";if(n.length>63)return"LABEL_TOO_LONG";if("-"===n.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===n.charAt(n.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(n))return"LABEL_INVALID_CHARS"}},e.parse=function(n){if("string"!=typeof n)throw new TypeError("Domain name must be a string.");var i=n.slice(0).toLowerCase();"."===i.charAt(i.length-1)&&(i=i.slice(0,i.length-1));var r=t.validate(i);if(r)return{input:n,error:{message:e.errorCodes[r],code:r}};var o={input:n,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=i.split(".");if("local"===s[s.length-1])return o;var l=function(){return/xn--/.test(i)?(o.domain&&(o.domain=a.toASCII(o.domain)),o.subdomain&&(o.subdomain=a.toASCII(o.subdomain)),o):o},u=t.findRule(i);if(!u)return s.length<2?o:(o.tld=s.pop(),o.sld=s.pop(),o.domain=[o.sld,o.tld].join("."),s.length&&(o.subdomain=s.pop()),l());o.listed=!0;var c=u.suffix.split("."),d=s.slice(0,s.length-c.length);return u.exception&&d.push(c.shift()),o.tld=c.join("."),d.length?(u.wildcard&&(c.unshift(d.pop()),o.tld=c.join(".")),d.length?(o.sld=d.pop(),o.domain=[o.sld,o.tld].join("."),d.length&&(o.subdomain=d.join(".")),l()):l()):l()},e.get=function(a){return a&&e.parse(a).domain||null},e.isValid=function(a){var t=e.parse(a);return Boolean(t.domain&&t.listed)}}}),YBe=VBe({"node_modules/tough-cookie/lib/pubsuffix-psl.js"(e){var a=$Be(),t=["local","example","invalid","localhost","test"],n=["localhost","invalid"];e.getPublicSuffix=function(e,i={}){const r=e.split("."),o=r[r.length-1],s=!!i.ignoreError;if(!!i.allowSpecialUseDomain&&t.includes(o)){if(r.length>1){return`${r[r.length-2]}.${o}`}if(n.includes(o))return`${o}`}if(!s&&t.includes(o))throw new Error(`Cookie has domain set to the public suffix "${o}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`);return a.get(e)}}}),QBe=VBe({"node_modules/tough-cookie/lib/store.js"(e){e.Store=class{constructor(){this.synchronous=!1}findCookie(e,a,t,n){throw new Error("findCookie is not implemented")}findCookies(e,a,t,n){throw new Error("findCookies is not implemented")}putCookie(e,a){throw new Error("putCookie is not implemented")}updateCookie(e,a,t){throw new Error("updateCookie is not implemented")}removeCookie(e,a,t,n){throw new Error("removeCookie is not implemented")}removeCookies(e,a,t){throw new Error("removeCookies is not implemented")}removeAllCookies(e){throw new Error("removeAllCookies is not implemented")}getAllCookies(e){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}}}}),XBe=VBe({"node_modules/universalify/index.js"(e){e.fromCallback=function(e){return Object.defineProperty((function(){if("function"!=typeof arguments[arguments.length-1])return new Promise(((a,t)=>{arguments[arguments.length]=(e,n)=>{if(e)return t(e);a(n)},arguments.length++,e.apply(this,arguments)}));e.apply(this,arguments)}),"name",{value:e.name})},e.fromPromise=function(e){return Object.defineProperty((function(){const a=arguments[arguments.length-1];if("function"!=typeof a)return e.apply(this,arguments);delete arguments[arguments.length-1],arguments.length--,e.apply(this,arguments).then((e=>a(null,e)),a)}),"name",{value:e.name})}}}),eRe=VBe({"node_modules/tough-cookie/lib/permuteDomain.js"(e){var a=YBe();e.permuteDomain=function(e,t){const n=a.getPublicSuffix(e,{allowSpecialUseDomain:t});if(!n)return null;if(n==e)return[e];"."==e.slice(-1)&&(e=e.slice(0,-1));const i=e.slice(0,-(n.length+1)).split(".").reverse();let r=n;const o=[r];for(;i.length;)r=`${i.shift()}.${r}`,o.push(r);return o}}}),aRe=VBe({"node_modules/tough-cookie/lib/pathMatch.js"(e){e.pathMatch=function(e,a){if(a===e)return!0;if(0===e.indexOf(a)){if("/"===a.substr(-1))return!0;if("/"===e.substr(a.length,1))return!0}return!1}}}),tRe=VBe({"node_modules/tough-cookie/lib/utilHelper.js"(e){function a(){try{return GBe("util")}catch(jFe){return null}}function t(){return Symbol.for("nodejs.util.inspect.custom")}e.getUtilInspect=function(e,t={}){const n=(t.requireUtil||a)();return function(a,t,i){return n?n.inspect(a,t,i):e(a)}},e.getCustomInspectSymbol=function(e={}){return(e.lookupCustomInspectSymbol||t)()||function(e){const t=(e.requireUtil||a)();return t?t.inspect.custom:null}(e)}}}),nRe=VBe({"node_modules/tough-cookie/lib/memstore.js"(e){var{fromCallback:a}=XBe(),t=QBe().Store,n=eRe().permuteDomain,i=aRe().pathMatch,{getCustomInspectSymbol:r,getUtilInspect:o}=tRe(),s=class extends t{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null);const e=r();e&&(this[e]=this.inspect)}inspect(){return`{ idx: ${{inspect:o(l)}.inspect(this.idx,!1,2)} }`}findCookie(e,a,t,n){return n(null,this.idx[e]&&this.idx[e][a]?this.idx[e][a][t]||null:void 0)}findCookies(e,a,t,r){const o=[];if("function"==typeof t&&(r=t,t=!0),!e)return r(null,[]);let s;s=a?function(e){Object.keys(e).forEach((t=>{if(i(a,t)){const a=e[t];for(const e in a)o.push(a[e])}}))}:function(e){for(const a in e){const t=e[a];for(const e in t)o.push(t[e])}};const l=n(e,t)||[e],u=this.idx;l.forEach((e=>{const a=u[e];a&&s(a)})),r(null,o)}putCookie(e,a){this.idx[e.domain]||(this.idx[e.domain]=Object.create(null)),this.idx[e.domain][e.path]||(this.idx[e.domain][e.path]=Object.create(null)),this.idx[e.domain][e.path][e.key]=e,a(null)}updateCookie(e,a,t){this.putCookie(a,t)}removeCookie(e,a,t,n){this.idx[e]&&this.idx[e][a]&&this.idx[e][a][t]&&delete this.idx[e][a][t],n(null)}removeCookies(e,a,t){return this.idx[e]&&(a?delete this.idx[e][a]:delete this.idx[e]),t(null)}removeAllCookies(e){return this.idx=Object.create(null),e(null)}getAllCookies(e){const a=[],t=this.idx;Object.keys(t).forEach((e=>{Object.keys(t[e]).forEach((n=>{Object.keys(t[e][n]).forEach((i=>{null!==i&&a.push(t[e][n][i])}))}))})),a.sort(((e,a)=>(e.creationIndex||0)-(a.creationIndex||0))),e(null,a)}};function l(e){const a=Object.keys(e);if(0===a.length)return"[Object: null prototype] {}";let t="[Object: null prototype] {\n";return Object.keys(e).forEach(((n,i)=>{t+=function(e,a){const t=" ";let n=`${t}'${e}': [Object: null prototype] {\n`;return Object.keys(a).forEach(((e,t,i)=>{n+=function(e,a){const t=" ";let n=`${t}'${e}': [Object: null prototype] {\n`;return Object.keys(a).forEach(((e,t,i)=>{n+=` ${e}: ${a[e].inspect()}`,t<i.length-1&&(n+=","),n+="\n"})),n+=`${t}}`,n}(e,a[e]),t<i.length-1&&(n+=","),n+="\n"})),n+=`${t}}`,n}(n,e[n]),i<a.length-1&&(t+=","),t+="\n"})),t+="}",t}["findCookie","findCookies","putCookie","updateCookie","removeCookie","removeCookies","removeAllCookies","getAllCookies"].forEach((e=>{s.prototype[e]=a(s.prototype[e])})),e.MemoryCookieStore=s,e.inspectFallback=l}}),iRe=VBe({"node_modules/tough-cookie/lib/validators.js"(e){var a=Object.prototype.toString;function t(e){return"function"==typeof e}function n(e){return i(e)&&""!==e}function i(e){return"string"==typeof e||e instanceof String}function r(e){return"[object Object]"===a.call(e)}function o(e,a){try{return e instanceof a}catch(t){return!1}}var s=class extends Error{constructor(...e){super(...e)}};e.ParameterError=s,e.isFunction=t,e.isNonEmptyString=n,e.isDate=function(e){return o(e,Date)&&function(e){return"number"==typeof e&&e%1==0}(e.getTime())},e.isEmptyString=function(e){return""===e||e instanceof String&&""===e.toString()},e.isString=i,e.isObject=r,e.isUrlStringOrObject=function(e){return n(e)||r(e)&&"hostname"in e&&"pathname"in e&&"protocol"in e||o(e,URL)},e.validate=function(e,a,n){if(t(a)||(n=a,a=null),r(n)||(n={Error:"Failed Check"}),!e){if(!a)throw new s(n);a(new s(n))}}}}),rRe=VBe({"node_modules/tough-cookie/lib/version.js"(e,a){a.exports="4.1.4"}}),oRe=VBe({"node_modules/tough-cookie/lib/cookie.js"(e){var a=JBe(),t=qBe(),n=YBe(),i=QBe().Store,r=nRe().MemoryCookieStore,o=aRe().pathMatch,s=iRe(),l=rRe(),{fromCallback:u}=XBe(),{getCustomInspectSymbol:c}=tRe(),d=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/,m=/[\x00-\x1F]/,h=["\n","\r","\0"],p=/[\x20-\x3A\x3C-\x7E]+/,g=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/,f={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},v=2147483647e3,y='Invalid sameSiteContext option for getCookies(); expected one of "strict", "lax", or "none"';function b(e){s.validate(s.isNonEmptyString(e),e);const a=String(e).toLowerCase();return"none"===a||"lax"===a||"strict"===a?a:null}var k=Object.freeze({SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"}),S=/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-f\d]{1,4}:){7}(?:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,2}|:)|(?:[a-f\d]{1,4}:){4}(?:(?::[a-f\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,3}|:)|(?:[a-f\d]{1,4}:){3}(?:(?::[a-f\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,4}|:)|(?:[a-f\d]{1,4}:){2}(?:(?::[a-f\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,5}|:)|(?:[a-f\d]{1,4}:){1}(?:(?::[a-f\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,6}|:)|(?::(?:(?::[a-f\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,7}|:)))$)/,w="\n\\[?(?:\n(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|\n(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|\n(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|\n(?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|\n(?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:))\n)(?:%[0-9a-zA-Z]{1,})?\\]?\n".replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),A=new RegExp(`^${w}$`);function C(e,a,t,n){let i=0;for(;i<e.length;){const a=e.charCodeAt(i);if(a<=47||a>=58)break;i++}return i<a||i>t?null:n||i==e.length?parseInt(e.substr(0,i),10):null}function M(e){const a=e.split(":"),t=[0,0,0];if(3!==a.length)return null;for(let n=0;n<3;n++){const e=C(a[n],1,2,2==n);if(null===e)return null;t[n]=e}return t}function T(e){e=String(e).substr(0,3).toLowerCase();const a=f[e];return a>=0?a:null}function x(e){if(!e)return;const a=e.split(g);if(!a)return;let t=null,n=null,i=null,r=null,o=null,s=null;for(let l=0;l<a.length;l++){const e=a[l].trim();if(!e.length)continue;let u;null===i&&(u=M(e),u)?(t=u[0],n=u[1],i=u[2]):null!==r||(u=C(e,1,2,!0),null===u)?null!==o||(u=T(e),null===u)?null===s&&(u=C(e,2,4,!0),null!==u&&(s=u,s>=70&&s<=99?s+=1900:s>=0&&s<=69&&(s+=2e3))):o=u:r=u}return null===r||null===o||null===s||null===i||r<1||r>31||s<1601||t>23||n>59||i>59?void 0:new Date(Date.UTC(s,o,r,t,n,i))}function N(e){return s.validate(s.isDate(e),e),e.toUTCString()}function E(e){return null==e?null:(e=e.trim().replace(/^\./,""),A.test(e)&&(e=e.replace("[","").replace("]","")),a&&/[^\u0001-\u007f]/.test(e)&&(e=a.toASCII(e)),e.toLowerCase())}function _(e,a,t){if(null==e||null==a)return null;if(!1!==t&&(e=E(e),a=E(a)),e==a)return!0;const n=e.lastIndexOf(a);return!(n<=0)&&(e.length===a.length+n&&("."===e.substr(n-1,1)&&!S.test(e)))}function j(e){if(!e||"/"!==e.substr(0,1))return"/";if("/"===e)return e;const a=e.lastIndexOf("/");return 0===a?"/":e.slice(0,a)}function P(e,a){e=function(e){if(s.isEmptyString(e))return e;for(let a=0;a<h.length;a++){const t=e.indexOf(h[a]);-1!==t&&(e=e.substr(0,t))}return e}(e),s.validate(s.isString(e),e);let t,n,i=e.indexOf("=");if(a)0===i&&(i=(e=e.substr(1)).indexOf("="));else if(i<=0)return;if(i<=0?(t="",n=e.trim()):(t=e.substr(0,i).trim(),n=e.substr(i+1).trim()),m.test(t)||m.test(n))return;const r=new I;return r.key=t,r.value=n,r}function L(e,a){if(a&&"object"==typeof a||(a={}),s.isEmptyString(e)||!s.isString(e))return null;const t=(e=e.trim()).indexOf(";"),n=P(-1===t?e:e.substr(0,t),!!a.loose);if(!n)return;if(-1===t)return n;const i=e.slice(t+1).trim();if(0===i.length)return n;const r=i.split(";");for(;r.length;){const e=r.shift().trim();if(0===e.length)continue;const a=e.indexOf("=");let t,i;switch(-1===a?(t=e,i=null):(t=e.substr(0,a),i=e.substr(a+1)),t=t.trim().toLowerCase(),i&&(i=i.trim()),t){case"expires":if(i){const e=x(i);e&&(n.expires=e)}break;case"max-age":if(i&&/^-?[0-9]+$/.test(i)){const e=parseInt(i,10);n.setMaxAge(e)}break;case"domain":if(i){const e=i.trim().replace(/^\./,"");e&&(n.domain=e.toLowerCase())}break;case"path":n.path=i&&"/"===i[0]?i:null;break;case"secure":n.secure=!0;break;case"httponly":n.httpOnly=!0;break;case"samesite":switch(i?i.toLowerCase():""){case"strict":n.sameSite="strict";break;case"lax":n.sameSite="lax";break;case"none":n.sameSite="none";break;default:n.sameSite=void 0}break;default:n.extensions=n.extensions||[],n.extensions.push(e)}}return n}function B(e){let a;try{a=JSON.parse(e)}catch(jFe){return jFe}return a}function R(e){if(!e||s.isEmptyString(e))return null;let a;if("string"==typeof e){if(a=B(e),a instanceof Error)return null}else a=e;const t=new I;for(let n=0;n<I.serializableProperties.length;n++){const e=I.serializableProperties[n];void 0!==a[e]&&a[e]!==O[e]&&(t[e]="expires"===e||"creation"===e||"lastAccessed"===e?null===a[e]?null:"Infinity"==a[e]?"Infinity":new Date(a[e]):a[e])}return t}function D(e,a){s.validate(s.isObject(e),e),s.validate(s.isObject(a),a);let t=0;if(t=(a.path?a.path.length:0)-(e.path?e.path.length:0),0!==t)return t;return t=(e.creation?e.creation.getTime():v)-(a.creation?a.creation.getTime():v),0!==t||(t=e.creationIndex-a.creationIndex),t}function z(e){if(e instanceof Object)return e;try{e=decodeURI(e)}catch(EFe){}return t(e)}var O={key:"",value:"",expires:"Infinity",maxAge:null,domain:null,path:null,secure:!1,httpOnly:!1,extensions:null,hostOnly:null,pathIsDefault:null,creation:null,lastAccessed:null,sameSite:void 0},I=class e{constructor(a={}){const t=c();t&&(this[t]=this.inspect),Object.assign(this,O,a),this.creation=this.creation||new Date,Object.defineProperty(this,"creationIndex",{configurable:!1,enumerable:!1,writable:!0,value:++e.cookiesCreated})}inspect(){const e=Date.now(),a=null!=this.hostOnly?this.hostOnly:"?",t=this.creation?e-this.creation.getTime()+"ms":"?",n=this.lastAccessed?e-this.lastAccessed.getTime()+"ms":"?";return`Cookie="${this.toString()}; hostOnly=${a}; aAge=${n}; cAge=${t}"`}toJSON(){const a={};for(const t of e.serializableProperties)this[t]!==O[t]&&("expires"===t||"creation"===t||"lastAccessed"===t?a[t]=null===this[t]?null:"Infinity"==this[t]?"Infinity":this[t].toISOString():"maxAge"===t?null!==this[t]&&(a[t]=this[t]==1/0||this[t]==-1/0?this[t].toString():this[t]):this[t]!==O[t]&&(a[t]=this[t]));return a}clone(){return R(this.toJSON())}validate(){if(!d.test(this.value))return!1;if(!(this.expires==1/0||this.expires instanceof Date||x(this.expires)))return!1;if(null!=this.maxAge&&this.maxAge<=0)return!1;if(null!=this.path&&!p.test(this.path))return!1;const e=this.cdomain();if(e){if(e.match(/\.$/))return!1;if(null==n.getPublicSuffix(e))return!1}return!0}setExpires(e){this.expires=e instanceof Date?e:x(e)||"Infinity"}setMaxAge(e){this.maxAge=e===1/0||e===-1/0?e.toString():e}cookieString(){let e=this.value;return null==e&&(e=""),""===this.key?e:`${this.key}=${e}`}toString(){let a=this.cookieString();if(this.expires!=1/0&&(this.expires instanceof Date?a+=`; Expires=${N(this.expires)}`:a+=`; Expires=${this.expires}`),null!=this.maxAge&&this.maxAge!=1/0&&(a+=`; Max-Age=${this.maxAge}`),this.domain&&!this.hostOnly&&(a+=`; Domain=${this.domain}`),this.path&&(a+=`; Path=${this.path}`),this.secure&&(a+="; Secure"),this.httpOnly&&(a+="; HttpOnly"),this.sameSite&&"none"!==this.sameSite){const t=e.sameSiteCanonical[this.sameSite.toLowerCase()];a+=`; SameSite=${t||this.sameSite}`}return this.extensions&&this.extensions.forEach((e=>{a+=`; ${e}`})),a}TTL(e){if(null!=this.maxAge)return this.maxAge<=0?0:1e3*this.maxAge;let a=this.expires;return a!=1/0?(a instanceof Date||(a=x(a)||1/0),a==1/0?1/0:a.getTime()-(e||Date.now())):1/0}expiryTime(e){if(null!=this.maxAge){const a=this.maxAge<=0?-1/0:1e3*this.maxAge;return(e||this.creation||new Date).getTime()+a}return this.expires==1/0?1/0:this.expires.getTime()}expiryDate(e){const a=this.expiryTime(e);return a==1/0?new Date(v):a==-1/0?new Date(0):new Date(a)}isPersistent(){return null!=this.maxAge||this.expires!=1/0}canonicalizedDomain(){return null==this.domain?null:E(this.domain)}cdomain(){return this.canonicalizedDomain()}};function K(e){if(null!=e){const a=e.toLowerCase();switch(a){case k.STRICT:case k.SILENT:case k.DISABLED:return a}}return k.SILENT}I.cookiesCreated=0,I.parse=L,I.fromJSON=R,I.serializableProperties=Object.keys(O),I.sameSiteLevel={strict:3,lax:2,none:1},I.sameSiteCanonical={strict:"Strict",lax:"Lax"};var H=class e{constructor(e,a={rejectPublicSuffixes:!0}){"boolean"==typeof a&&(a={rejectPublicSuffixes:a}),s.validate(s.isObject(a),a),this.rejectPublicSuffixes=a.rejectPublicSuffixes,this.enableLooseMode=!!a.looseMode,this.allowSpecialUseDomain="boolean"!=typeof a.allowSpecialUseDomain||a.allowSpecialUseDomain,this.store=e||new r,this.prefixSecurity=K(a.prefixSecurity),this._cloneSync=F("clone"),this._importCookiesSync=F("_importCookies"),this.getCookiesSync=F("getCookies"),this.getCookieStringSync=F("getCookieString"),this.getSetCookieStringsSync=F("getSetCookieStrings"),this.removeAllCookiesSync=F("removeAllCookies"),this.setCookieSync=F("setCookie"),this.serializeSync=F("serialize")}setCookie(e,a,t,i){let r;if(s.validate(s.isUrlStringOrObject(a),i,t),s.isFunction(a))return(i=a)(new Error("No URL was specified"));const o=z(a);if(s.isFunction(t)&&(i=t,t={}),s.validate(s.isFunction(i),i),!s.isNonEmptyString(e)&&!s.isObject(e)&&e instanceof String&&0==e.length)return i(null);const l=E(o.hostname),u=t.loose||this.enableLooseMode;let c=null;if(t.sameSiteContext&&(c=b(t.sameSiteContext),!c))return i(new Error(y));if("string"==typeof e||e instanceof String){if(!(e=I.parse(e,{loose:u})))return r=new Error("Cookie failed to parse"),i(t.ignoreError?null:r)}else if(!(e instanceof I))return r=new Error("First argument to setCookie must be a Cookie object or string"),i(t.ignoreError?null:r);const d=t.now||new Date;if(this.rejectPublicSuffixes&&e.domain){if(null==n.getPublicSuffix(e.cdomain(),{allowSpecialUseDomain:this.allowSpecialUseDomain,ignoreError:t.ignoreError})&&!A.test(e.domain))return r=new Error("Cookie has domain set to a public suffix"),i(t.ignoreError?null:r)}if(e.domain){if(!_(l,e.cdomain(),!1))return r=new Error(`Cookie not in this host's domain. Cookie:${e.cdomain()} Request:${l}`),i(t.ignoreError?null:r);null==e.hostOnly&&(e.hostOnly=!1)}else e.hostOnly=!0,e.domain=l;if(e.path&&"/"===e.path[0]||(e.path=j(o.pathname),e.pathIsDefault=!0),!1===t.http&&e.httpOnly)return r=new Error("Cookie is HttpOnly and this isn't an HTTP API"),i(t.ignoreError?null:r);if("none"!==e.sameSite&&void 0!==e.sameSite&&c&&"none"===c)return r=new Error("Cookie is SameSite but this is a cross-origin request"),i(t.ignoreError?null:r);const m=this.prefixSecurity===k.SILENT;if(!(this.prefixSecurity===k.DISABLED)){let a,n=!1;if(!function(e){return s.validate(s.isObject(e),e),!e.key.startsWith("__Secure-")||e.secure}(e)?(n=!0,a="Cookie has __Secure prefix but Secure attribute is not set"):function(e){return s.validate(s.isObject(e)),!e.key.startsWith("__Host-")||e.secure&&e.hostOnly&&null!=e.path&&"/"===e.path}(e)||(n=!0,a="Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'"),n)return i(t.ignoreError||m?null:new Error(a))}const h=this.store;h.updateCookie||(h.updateCookie=function(e,a,t){this.putCookie(a,t)}),h.findCookie(e.domain,e.path,e.key,(function(a,n){if(a)return i(a);const r=function(a){if(a)return i(a);i(null,e)};if(n){if(!1===t.http&&n.httpOnly)return a=new Error("old Cookie is HttpOnly and this isn't an HTTP API"),i(t.ignoreError?null:a);e.creation=n.creation,e.creationIndex=n.creationIndex,e.lastAccessed=d,h.updateCookie(n,e,r)}else e.creation=e.lastAccessed=d,h.putCookie(e,r)}))}getCookies(e,a,t){s.validate(s.isUrlStringOrObject(e),t,e);const n=z(e);s.isFunction(a)&&(t=a,a={}),s.validate(s.isObject(a),t,a),s.validate(s.isFunction(t),t);const i=E(n.hostname),r=n.pathname||"/";let l=a.secure;null!=l||!n.protocol||"https:"!=n.protocol&&"wss:"!=n.protocol||(l=!0);let u=0;if(a.sameSiteContext){const e=b(a.sameSiteContext);if(u=I.sameSiteLevel[e],!u)return t(new Error(y))}let c=a.http;null==c&&(c=!0);const d=a.now||Date.now(),m=!1!==a.expire,h=!!a.allPaths,p=this.store;function g(e){if(e.hostOnly){if(e.domain!=i)return!1}else if(!_(i,e.domain,!1))return!1;if(!h&&!o(r,e.path))return!1;if(e.secure&&!l)return!1;if(e.httpOnly&&!c)return!1;if(u){if(I.sameSiteLevel[e.sameSite||"none"]>u)return!1}return!(m&&e.expiryTime()<=d)||(p.removeCookie(e.domain,e.path,e.key,(()=>{})),!1)}p.findCookies(i,h?null:r,this.allowSpecialUseDomain,((e,n)=>{if(e)return t(e);n=n.filter(g),!1!==a.sort&&(n=n.sort(D));const i=new Date;for(const a of n)a.lastAccessed=i;t(null,n)}))}getCookieString(...e){const a=e.pop();s.validate(s.isFunction(a),a);e.push((function(e,t){e?a(e):a(null,t.sort(D).map((e=>e.cookieString())).join("; "))})),this.getCookies.apply(this,e)}getSetCookieStrings(...e){const a=e.pop();s.validate(s.isFunction(a),a);e.push((function(e,t){e?a(e):a(null,t.map((e=>e.toString())))})),this.getCookies.apply(this,e)}serialize(e){s.validate(s.isFunction(e),e);let a=this.store.constructor.name;s.isObject(a)&&(a=null);const t={version:`tough-cookie@${l}`,storeType:a,rejectPublicSuffixes:!!this.rejectPublicSuffixes,enableLooseMode:!!this.enableLooseMode,allowSpecialUseDomain:!!this.allowSpecialUseDomain,prefixSecurity:K(this.prefixSecurity),cookies:[]};if(!this.store.getAllCookies||"function"!=typeof this.store.getAllCookies)return e(new Error("store does not support getAllCookies and cannot be serialized"));this.store.getAllCookies(((a,n)=>a?e(a):(t.cookies=n.map((e=>(delete(e=e instanceof I?e.toJSON():e).creationIndex,e))),e(null,t))))}toJSON(){return this.serializeSync()}_importCookies(e,a){let t=e.cookies;if(!t||!Array.isArray(t))return a(new Error("serialized jar has no cookies array"));t=t.slice();const n=e=>{if(e)return a(e);if(!t.length)return a(e,this);let i;try{i=R(t.shift())}catch(jFe){return a(jFe)}if(null===i)return n(null);this.store.putCookie(i,n)};n()}clone(a,t){1===arguments.length&&(t=a,a=null),this.serialize(((n,i)=>{if(n)return t(n);e.deserialize(i,a,t)}))}cloneSync(e){if(0===arguments.length)return this._cloneSync();if(!e.synchronous)throw new Error("CookieJar clone destination store is not synchronous; use async API instead.");return this._cloneSync(e)}removeAllCookies(e){s.validate(s.isFunction(e),e);const a=this.store;if("function"==typeof a.removeAllCookies&&a.removeAllCookies!==i.prototype.removeAllCookies)return a.removeAllCookies(e);a.getAllCookies(((t,n)=>{if(t)return e(t);if(0===n.length)return e(null);let i=0;const r=[];function o(a){if(a&&r.push(a),i++,i===n.length)return e(r.length?r[0]:null)}n.forEach((e=>{a.removeCookie(e.domain,e.path,e.key,o)}))}))}static deserialize(a,t,n){let i;if(3!==arguments.length&&(n=t,t=null),s.validate(s.isFunction(n),n),"string"==typeof a){if(i=B(a),i instanceof Error)return n(i)}else i=a;const r=new e(t,{rejectPublicSuffixes:i.rejectPublicSuffixes,looseMode:i.enableLooseMode,allowSpecialUseDomain:i.allowSpecialUseDomain,prefixSecurity:i.prefixSecurity});r._importCookies(i,(e=>{if(e)return n(e);n(null,r)}))}static deserializeSync(a,t){const n="string"==typeof a?JSON.parse(a):a,i=new e(t,{rejectPublicSuffixes:n.rejectPublicSuffixes,looseMode:n.enableLooseMode});if(!i.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");return i._importCookiesSync(n),i}};function F(e){return function(...a){if(!this.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");let t,n;if(this[e](...a,((e,a)=>{t=e,n=a})),t)throw t;return n}}H.fromJSON=H.deserializeSync,["_importCookies","clone","getCookies","getCookieString","getSetCookieStrings","removeAllCookies","serialize","setCookie"].forEach((e=>{H.prototype[e]=u(H.prototype[e])})),H.deserialize=u(H.deserialize),e.version=l,e.CookieJar=H,e.Cookie=I,e.Store=i,e.MemoryCookieStore=r,e.parseDate=x,e.formatDate=N,e.parse=L,e.fromJSON=R,e.domainMatch=_,e.defaultPath=j,e.pathMatch=o,e.getPublicSuffix=n.getPublicSuffix,e.cookieCompare=D,e.permuteDomain=eRe().permuteDomain,e.permutePath=function(e){if(s.validate(s.isString(e)),"/"===e)return["/"];const a=[e];for(;e.length>1;){const t=e.lastIndexOf("/");if(0===t)break;e=e.substr(0,t),a.push(e)}return a.push("/"),a},e.canonicalDomain=E,e.PrefixSecurityEnum=k,e.ParameterError=s.ParameterError}}),sRe=(RBe=oRe(),DBe=null!=RBe?zBe(HBe(RBe)):{},((e,a,t,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let i of KBe(a))FBe.call(e,i)||i===t||OBe(e,i,{get:()=>a[i],enumerable:!(n=IBe(a,i))||n.enumerable});return e})(OBe(DBe,"default",{value:RBe,enumerable:!0}),RBe)).default;
86
+ */bTe.exports="production"===process.env.NODE_ENV?function(){if(fTe)return kTe;fTe=1;var e="function"==typeof Object.is?Object.is:function(e,a){return e===a&&(0!==e||1/e==1/a)||e!=e&&a!=a},a=cTe.useSyncExternalStore,n=t.useRef,i=t.useEffect,r=t.useMemo,o=t.useDebugValue;return kTe.useSyncExternalStoreWithSelector=function(t,s,l,u,c){var d=n(null);if(null===d.current){var m={hasValue:!1,value:null};d.current=m}else m=d.current;d=r((function(){function a(a){if(!i){if(i=!0,t=a,a=u(a),void 0!==c&&m.hasValue){var r=m.value;if(c(r,a))return n=r}return n=a}if(r=n,e(t,a))return r;var o=u(a);return void 0!==c&&c(r,o)?r:(t=a,n=o)}var t,n,i=!1,r=void 0===l?null:l;return[function(){return a(s())},null===r?void 0:function(){return a(r())}]}),[s,l,u,c]);var h=a(t,d[0],d[1]);return i((function(){m.hasValue=!0,m.value=h}),[h]),o(h),h},kTe}():(STe||(STe=1,"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e="function"==typeof Object.is?Object.is:function(e,a){return e===a&&(0!==e||1/e==1/a)||e!=e&&a!=a},a=cTe.useSyncExternalStore,n=t.useRef,i=t.useEffect,r=t.useMemo,o=t.useDebugValue;wTe.useSyncExternalStoreWithSelector=function(t,s,l,u,c){var d,m=n(null);null===m.current?m.current=d={hasValue:!1,value:null}:d=m.current;var h=r((function(){var a,t,n=!1,i=function(i){if(!n){n=!0,a=i;var r=u(i);if(void 0!==c&&d.hasValue){var o=d.value;if(c(o,r))return t=o,o}return t=r,r}var s=t;if(e(a,i))return s;var l=u(i);return void 0!==c&&c(s,l)?s:(a=i,t=l,l)},r=void 0===l?null:l;return[function(){return i(s())},null===r?void 0:function(){return i(r())}]}),[s,l,u,c]),p=a(t,h[0],h[1]);return i((function(){d.hasValue=!0,d.value=p}),[p]),o(p),p},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),wTe);var ATe=bTe.exports;const CTe="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;class MTe{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber||(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber}),this.lastSnapshot}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){const e=()=>{this.transactionNumber+=1,this.subscribers.forEach((e=>e()))},a=this.editor;return a.on("transaction",e),()=>{a.off("transaction",e)}}}}const TTe="production"!==process.env.NODE_ENV,xTe="undefined"==typeof window,NTe=xTe||Boolean("undefined"!=typeof window&&window.next);class ETe{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach((e=>e()))}getInitialEditor(){if(void 0===this.options.current.immediatelyRender)return xTe||NTe?null:this.createEditor();if(this.options.current.immediatelyRender&&xTe&&TTe)throw new Error("Tiptap Error: SSR has been detected, and `immediatelyRender` has been set to `true` this is an unsupported configuration that may result in errors, explicitly set `immediatelyRender` to `false` to avoid hydration mismatches.");return this.options.current.immediatelyRender?this.createEditor():null}createEditor(){const e={...this.options.current,onBeforeCreate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onBeforeCreate)||void 0===t?void 0:t.call(a,...e)},onBlur:(...e)=>{var a,t;return null===(t=(a=this.options.current).onBlur)||void 0===t?void 0:t.call(a,...e)},onCreate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onCreate)||void 0===t?void 0:t.call(a,...e)},onDestroy:(...e)=>{var a,t;return null===(t=(a=this.options.current).onDestroy)||void 0===t?void 0:t.call(a,...e)},onFocus:(...e)=>{var a,t;return null===(t=(a=this.options.current).onFocus)||void 0===t?void 0:t.call(a,...e)},onSelectionUpdate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onSelectionUpdate)||void 0===t?void 0:t.call(a,...e)},onTransaction:(...e)=>{var a,t;return null===(t=(a=this.options.current).onTransaction)||void 0===t?void 0:t.call(a,...e)},onUpdate:(...e)=>{var a,t;return null===(t=(a=this.options.current).onUpdate)||void 0===t?void 0:t.call(a,...e)},onContentError:(...e)=>{var a,t;return null===(t=(a=this.options.current).onContentError)||void 0===t?void 0:t.call(a,...e)},onDrop:(...e)=>{var a,t;return null===(t=(a=this.options.current).onDrop)||void 0===t?void 0:t.call(a,...e)},onPaste:(...e)=>{var a,t;return null===(t=(a=this.options.current).onPaste)||void 0===t?void 0:t.call(a,...e)}};return new YMe(e)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,a){return Object.keys(e).every((t=>!!["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(t)||("extensions"===t&&e.extensions&&a.extensions?e.extensions.length===a.extensions.length&&e.extensions.every(((e,t)=>{var n;return e===(null===(n=a.extensions)||void 0===n?void 0:n[t])})):e[t]===a[t])))}onRender(e){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&0===e.length?ETe.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(e),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(null===this.previousDeps)return void(this.previousDeps=e);if(this.previousDeps.length===e.length&&this.previousDeps.every(((a,t)=>a===e[t])))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){const e=this.instanceId,a=this.editor;this.scheduledDestructionTimeout=setTimeout((()=>{this.isComponentMounted&&this.instanceId===e?a&&a.setOptions(this.options.current):a&&!a.isDestroyed&&(a.destroy(),this.instanceId===e&&this.setEditor(null))}),1)}}function _Te(e={},a=[]){const n=t.useRef(e);n.current=e;const[i]=t.useState((()=>new ETe(n))),r=cTe.useSyncExternalStore(i.subscribe,i.getEditor,i.getServerSnapshot);return t.useDebugValue(r),t.useEffect(i.onRender(a)),function(e){var a;const[n]=t.useState((()=>new MTe(e.editor))),i=ATe.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getServerSnapshot,e.selector,null!==(a=e.equalityFn)&&void 0!==a?a:yTe);CTe((()=>n.watch(e.editor)),[e.editor,n]),t.useDebugValue(i)}({editor:r,selector:({transactionNumber:a})=>!1===e.shouldRerenderOnTransaction?null:e.immediatelyRender&&0===a?0:a+1}),r}t.createContext({editor:null});const jTe=t.createContext({onDragStart:void 0}),PTe=t.forwardRef(((e,a)=>{const{onDragStart:n}=t.useContext(jTe);return t.createElement(e.as||"div",{...e,ref:a,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...e.style}})}));function LTe(e){return!("function"!=typeof e||!e.prototype||!e.prototype.isReactComponent)}function BTe(e){return!("object"!=typeof e||!e.$$typeof||"Symbol(react.forward_ref)"!==e.$$typeof.toString()&&"react.forward_ref"!==e.$$typeof.description)}class RTe{constructor(e,{editor:a,props:t={},as:i="div",className:r=""}){this.ref=null,this.id=Math.floor(4294967295*Math.random()).toString(),this.component=e,this.editor=a,this.props=t,this.element=document.createElement(i),this.element.classList.add("react-renderer"),r&&this.element.classList.add(...r.split(" ")),this.editor.isInitialized?n.flushSync((()=>{this.render()})):this.render()}render(){var e;const a=this.component,n=this.props,i=this.editor,r=function(){try{if(t.version)return parseInt(t.version.split(".")[0],10)>=19}catch{}return!1}(),o=function(e){if(LTe(e))return!0;if(BTe(e))return!0;if(function(e){return!("object"!=typeof e||!e.$$typeof||"Symbol(react.memo)"!==e.$$typeof.toString()&&"react.memo"!==e.$$typeof.description)}(e)){const a=e.type;if(a)return LTe(a)||BTe(a)}return!1}(a),s={...n};!s.ref||r||o||delete s.ref,s.ref||!r&&!o||(s.ref=e=>{this.ref=e}),this.reactElement=t.createElement(a,{...s}),null===(e=null==i?void 0:i.contentComponent)||void 0===e||e.setRenderer(this.id,this)}updateProps(e={}){this.props={...this.props,...e},this.render()}destroy(){var e;const a=this.editor;null===(e=null==a?void 0:a.contentComponent)||void 0===e||e.removeRenderer(this.id)}updateAttributes(e){Object.keys(e).forEach((a=>{this.element.setAttribute(a,e[a])}))}}class DTe extends tTe{mount(){const e={editor:this.editor,node:this.node,decorations:this.decorations,innerDecorations:this.innerDecorations,view:this.view,selected:!1,extension:this.extension,HTMLAttributes:this.HTMLAttributes,getPos:()=>this.getPos(),updateAttributes:(e={})=>this.updateAttributes(e),deleteNode:()=>this.deleteNode(),ref:t.createRef()};if(!this.component.displayName){this.component.displayName=(e=>e.charAt(0).toUpperCase()+e.substring(1))(this.extension.name)}const a={onDragStart:this.onDragStart.bind(this),nodeViewContentRef:e=>{e&&this.contentDOMElement&&e.firstChild!==this.contentDOMElement&&e.appendChild(this.contentDOMElement)}},n=this.component,i=t.memo((e=>t.createElement(jTe.Provider,{value:a},t.createElement(n,e))));i.displayName="ReactNodeView",this.contentDOMElement=this.node.isLeaf?null:this.options.contentDOMElementTag?document.createElement(this.options.contentDOMElementTag):document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.dataset.nodeViewContentReact="",this.contentDOMElement.style.whiteSpace="inherit");let r=this.node.isInline?"span":"div";this.options.as&&(r=this.options.as);const{className:o=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.renderer=new RTe(i,{editor:this.editor,props:e,as:r,className:`node-${this.node.type.name} ${o}`.trim()}),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.updateElementAttributes()}get dom(){var e;if(this.renderer.element.firstElementChild&&!(null===(e=this.renderer.element.firstElementChild)||void 0===e?void 0:e.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:e,to:a}=this.editor.state.selection,t=this.getPos();if("number"==typeof t)if(e<=t&&a>=t+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(e,a,t){const n=e=>{this.renderer.updateProps(e),"function"==typeof this.options.attrs&&this.updateElementAttributes()};if(e.type!==this.node.type)return!1;if("function"==typeof this.options.update){const i=this.node,r=this.decorations,o=this.innerDecorations;return this.node=e,this.decorations=a,this.innerDecorations=t,this.options.update({oldNode:i,oldDecorations:r,newNode:e,newDecorations:a,oldInnerDecorations:o,innerDecorations:t,updateProps:()=>n({node:e,decorations:a,innerDecorations:t})})}return e===this.node&&this.decorations===a&&this.innerDecorations===t||(this.node=e,this.decorations=a,this.innerDecorations=t,n({node:e,decorations:a,innerDecorations:t})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}updateElementAttributes(){if(this.options.attrs){let e={};if("function"==typeof this.options.attrs){const a=FCe(this.node,this.editor.extensionManager.attributes);e=this.options.attrs({node:this.node,HTMLAttributes:a})}else e=this.options.attrs;this.renderer.updateAttributes(e)}}}function zTe(e,a){return t=>t.editor.contentComponent?new DTe(e,t,a):{}}const OTe=/^\s*>\s$/,ITe=aTe.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:e}){return["blockquote",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(this.name),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(this.name),unsetBlockquote:()=>({commands:e})=>e.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[eTe({find:OTe,type:this.type})]}}),KTe=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,HTe=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,FTe=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,GTe=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,VTe=tMe.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:e=>"normal"!==e.style.fontWeight&&null},{style:"font-weight=400",clearMark:e=>e.type.name===this.name},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return["strong",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[QMe({find:KTe,type:this.type}),QMe({find:FTe,type:this.type})]},addPasteRules(){return[nTe({find:HTe,type:this.type}),nTe({find:GTe,type:this.type})]}}),JTe="textStyle",UTe=/^\s*([-+*])\s$/,WTe=aTe.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:e}){return["ul",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleBulletList:()=>({commands:e,chain:a})=>this.options.keepAttributes?a().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(JTe)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let e=eTe({find:UTe,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(e=eTe({find:UTe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(JTe),editor:this.editor})),[e]}}),qTe=/(^|[^`])`([^`]+)`(?!`)/,ZTe=/(^|[^`])`([^`]+)`(?!`)/g,$Te=tMe.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:e}){return["code",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setCode:()=>({commands:e})=>e.setMark(this.name),toggleCode:()=>({commands:e})=>e.toggleMark(this.name),unsetCode:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[QMe({find:qTe,type:this.type})]},addPasteRules(){return[nTe({find:ZTe,type:this.type})]}}),YTe=/^```([a-z]+)?[\s\n]$/,QTe=/^~~~([a-z]+)?[\s\n]$/,XTe=aTe.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:e=>{var a;const{languageClassPrefix:t}=this.options,n=[...(null===(a=e.firstElementChild)||void 0===a?void 0:a.classList)||[]].filter((e=>e.startsWith(t))).map((e=>e.replace(t,"")))[0];return n||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:e,HTMLAttributes:a}){return["pre",HCe(this.options.HTMLAttributes,a),["code",{class:e.attrs.language?this.options.languageClassPrefix+e.attrs.language:null},0]]},addCommands(){return{setCodeBlock:e=>({commands:a})=>a.setNode(this.name,e),toggleCodeBlock:e=>({commands:a})=>a.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:e,$anchor:a}=this.editor.state.selection;return!(!e||a.parent.type.name!==this.name)&&(!(!(1===a.pos)&&a.parent.textContent.length)&&this.editor.commands.clearNodes())},Enter:({editor:e})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:a}=e,{selection:t}=a,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const r=n.parentOffset===n.parent.nodeSize-2,o=n.parent.textContent.endsWith("\n\n");return!(!r||!o)&&e.chain().command((({tr:e})=>(e.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;const{state:a}=e,{selection:t,doc:n}=a,{$from:i,empty:r}=t;if(!r||i.parent.type!==this.type)return!1;if(!(i.parentOffset===i.parent.nodeSize-2))return!1;const o=i.after();if(void 0===o)return!1;return n.nodeAt(o)?e.commands.command((({tr:e})=>(e.setSelection(Cke.near(n.resolve(o))),!0))):e.commands.exitCode()}}},addInputRules(){return[XMe({find:YTe,type:this.type,getAttributes:e=>({language:e[1]})}),XMe({find:QTe,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new Gke({key:new Uke("codeBlockVSCodeHandler"),props:{handlePaste:(e,a)=>{if(!a.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=a.clipboardData.getData("text/plain"),n=a.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,r=null==i?void 0:i.mode;if(!t||!r)return!1;const{tr:o,schema:s}=e.state,l=s.text(t.replace(/\r\n?/g,"\n"));return o.replaceSelectionWith(this.type.create({language:r},l)),o.selection.$from.parent.type!==this.type&&o.setSelection(Nke.near(o.doc.resolve(Math.max(0,o.selection.from-2)))),o.setMeta("paste",!0),e.dispatch(o),!0}}})]}}),exe=aTe.create({name:"doc",topNode:!0,content:"block+"});function axe(e={}){return new Gke({view:a=>new txe(a,e)})}class txe{constructor(e,a){var t;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=a.width)&&void 0!==t?t:1,this.color=!1===a.color?void 0:a.color||"black",this.class=a.class,this.handlers=["dragover","dragend","drop","dragleave"].map((a=>{let t=e=>{this[a](e)};return e.dom.addEventListener(a,t),{name:a,handler:t}}))}destroy(){this.handlers.forEach((({name:e,handler:a})=>this.editorView.dom.removeEventListener(e,a)))}update(e,a){null!=this.cursorPos&&a.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,null==e?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e,a=this.editorView.state.doc.resolve(this.cursorPos),t=!a.parent.inlineContent,n=this.editorView.dom,i=n.getBoundingClientRect(),r=i.width/n.offsetWidth,o=i.height/n.offsetHeight;if(t){let t=a.nodeBefore,n=a.nodeAfter;if(t||n){let a=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(a){let i=a.getBoundingClientRect(),r=t?i.bottom:i.top;t&&n&&(r=(r+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let s=this.width/2*o;e={left:i.left,right:i.right,top:r-s,bottom:r+s}}}}if(!e){let a=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*r;e={left:a.left-t,right:a.left+t,top:a.top,bottom:a.bottom}}let s,l,u=this.editorView.dom.offsetParent;if(this.element||(this.element=u.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!u||u==document.body&&"static"==getComputedStyle(u).position)s=-pageXOffset,l=-pageYOffset;else{let e=u.getBoundingClientRect();s=e.left-u.scrollLeft*(e.width/u.offsetWidth),l=e.top-u.scrollTop*(e.height/u.offsetHeight)}this.element.style.left=(e.left-s)/r+"px",this.element.style.top=(e.top-l)/o+"px",this.element.style.width=(e.right-e.left)/r+"px",this.element.style.height=(e.bottom-e.top)/o+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),e)}dragover(e){if(!this.editorView.editable)return;let a=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),t=a&&a.inside>=0&&this.editorView.state.doc.nodeAt(a.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,a,e):n;if(a&&!i){let e=a.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let a=lke(this.editorView.state.doc,e,this.editorView.dragging.slice);null!=a&&(e=a)}this.setCursor(e),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}const nxe=lMe.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[axe(this.options)]}});class ixe extends Cke{constructor(e){super(e,e)}map(e,a){let t=e.resolve(a.map(this.head));return ixe.valid(t)?new ixe(t):Cke.near(t)}content(){return Bye.empty}eq(e){return e instanceof ixe&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,a){if("number"!=typeof a.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new ixe(e.resolve(a.pos))}getBookmark(){return new rxe(this.anchor)}static valid(e){let a=e.parent;if(a.isTextblock||!function(e){for(let a=e.depth;a>=0;a--){let t=e.index(a),n=e.node(a);if(0!=t)for(let e=n.child(t-1);;e=e.lastChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e)||!function(e){for(let a=e.depth;a>=0;a--){let t=e.indexAfter(a),n=e.node(a);if(t!=n.childCount)for(let e=n.child(t);;e=e.firstChild){if(0==e.childCount&&!e.inlineContent||e.isAtom||e.type.spec.isolating)return!0;if(e.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(e))return!1;let t=a.type.spec.allowGapCursor;if(null!=t)return t;let n=a.contentMatchAt(e.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(e,a,t=!1){e:for(;;){if(!t&&ixe.valid(e))return e;let n=e.pos,i=null;for(let t=e.depth;;t--){let r=e.node(t);if(a>0?e.indexAfter(t)<r.childCount:e.index(t)>0){i=r.child(a>0?e.indexAfter(t):e.index(t)-1);break}if(0==t)return null;n+=a;let o=e.doc.resolve(n);if(ixe.valid(o))return o}for(;;){let r=a>0?i.firstChild:i.lastChild;if(!r){if(i.isAtom&&!i.isText&&!_ke.isSelectable(i)){e=e.doc.resolve(n+i.nodeSize*a),t=!1;continue e}break}i=r,n+=a;let o=e.doc.resolve(n);if(ixe.valid(o))return o}return null}}}ixe.prototype.visible=!1,ixe.findFrom=ixe.findGapCursorFrom,Cke.jsonID("gapcursor",ixe);class rxe{constructor(e){this.pos=e}map(e){return new rxe(e.map(this.pos))}resolve(e){let a=e.resolve(this.pos);return ixe.valid(a)?new ixe(a):Cke.near(a)}}const oxe=bCe({ArrowLeft:sxe("horiz",-1),ArrowRight:sxe("horiz",1),ArrowUp:sxe("vert",-1),ArrowDown:sxe("vert",1)});function sxe(e,a){const t="vert"==e?a>0?"down":"up":a>0?"right":"left";return function(e,n,i){let r=e.selection,o=a>0?r.$to:r.$from,s=r.empty;if(r instanceof Nke){if(!i.endOfTextblock(t)||0==o.depth)return!1;s=!1,o=e.doc.resolve(a>0?o.after():o.before())}let l=ixe.findGapCursorFrom(o,a,s);return!!l&&(n&&n(e.tr.setSelection(new ixe(l))),!0)}}function lxe(e,a,t){if(!e||!e.editable)return!1;let n=e.state.doc.resolve(a);if(!ixe.valid(n))return!1;let i=e.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&_ke.isSelectable(e.state.doc.nodeAt(i.inside)))&&(e.dispatch(e.state.tr.setSelection(new ixe(n))),!0)}function uxe(e,a){if("insertCompositionText"!=a.inputType||!(e.state.selection instanceof ixe))return!1;let{$from:t}=e.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(e.state.schema.nodes.text);if(!n)return!1;let i=Nye.empty;for(let o=n.length-1;o>=0;o--)i=Nye.from(n[o].createAndFill(null,i));let r=e.state.tr.replace(t.pos,t.pos,new Bye(i,0,0));return r.setSelection(Nke.near(r.doc.resolve(t.pos+1))),e.dispatch(r),!1}function cxe(e){if(!(e.selection instanceof ixe))return null;let a=document.createElement("div");return a.className="ProseMirror-gapcursor",PAe.create(e.doc,[EAe.widget(e.selection.head,a,{key:"gapcursor"})])}const dxe=lMe.create({name:"gapCursor",addProseMirrorPlugins:()=>[new Gke({props:{decorations:cxe,createSelectionBetween:(e,a,t)=>a.pos==t.pos&&ixe.valid(t)?new ixe(t):null,handleClick:lxe,handleKeyDown:oxe,handleDOMEvents:{beforeinput:uxe}}})],extendNodeSchema(e){var a;return{allowGapCursor:null!==(a=VCe(zCe(e,"allowGapCursor",{name:e.name,options:e.options,storage:e.storage})))&&void 0!==a?a:null}}}),mxe=aTe.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:e}){return["br",HCe(this.options.HTMLAttributes,e)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:e,chain:a,state:t,editor:n})=>e.first([()=>e.exitCode(),()=>e.command((()=>{const{selection:e,storedMarks:i}=t;if(e.$from.parent.type.spec.isolating)return!1;const{keepMarks:r}=this.options,{splittableMarks:o}=n.extensionManager,s=i||e.$to.parentOffset&&e.$from.marks();return a().insertContent({type:this.name}).command((({tr:e,dispatch:a})=>{if(a&&s&&r){const a=s.filter((e=>o.includes(e.type.name)));e.ensureMarks(a)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),hxe=aTe.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((e=>({tag:`h${e}`,attrs:{level:e}})))},renderHTML({node:e,HTMLAttributes:a}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,HCe(this.options.HTMLAttributes,a),0]},addCommands(){return{setHeading:e=>({commands:a})=>!!this.options.levels.includes(e.level)&&a.setNode(this.name,e),toggleHeading:e=>({commands:a})=>!!this.options.levels.includes(e.level)&&a.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return this.options.levels.reduce(((e,a)=>({...e,[`Mod-Alt-${a}`]:()=>this.editor.commands.toggleHeading({level:a})})),{})},addInputRules(){return this.options.levels.map((e=>XMe({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}})))}});var pxe=200,gxe=function(){};gxe.prototype.append=function(e){return e.length?(e=gxe.from(e),!this.length&&e||e.length<pxe&&this.leafAppend(e)||this.length<pxe&&e.leafPrepend(this)||this.appendInner(e)):this},gxe.prototype.prepend=function(e){return e.length?gxe.from(e).append(this):this},gxe.prototype.appendInner=function(e){return new vxe(this,e)},gxe.prototype.slice=function(e,a){return void 0===e&&(e=0),void 0===a&&(a=this.length),e>=a?gxe.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,a))},gxe.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},gxe.prototype.forEach=function(e,a,t){void 0===a&&(a=0),void 0===t&&(t=this.length),a<=t?this.forEachInner(e,a,t,0):this.forEachInvertedInner(e,a,t,0)},gxe.prototype.map=function(e,a,t){void 0===a&&(a=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(a,t){return n.push(e(a,t))}),a,t),n},gxe.from=function(e){return e instanceof gxe?e:e&&e.length?new fxe(e):gxe.empty};var fxe=function(e){function a(a){e.call(this),this.values=a}e&&(a.__proto__=e),(a.prototype=Object.create(e&&e.prototype)).constructor=a;var t={length:{configurable:!0},depth:{configurable:!0}};return a.prototype.flatten=function(){return this.values},a.prototype.sliceInner=function(e,t){return 0==e&&t==this.length?this:new a(this.values.slice(e,t))},a.prototype.getInner=function(e){return this.values[e]},a.prototype.forEachInner=function(e,a,t,n){for(var i=a;i<t;i++)if(!1===e(this.values[i],n+i))return!1},a.prototype.forEachInvertedInner=function(e,a,t,n){for(var i=a-1;i>=t;i--)if(!1===e(this.values[i],n+i))return!1},a.prototype.leafAppend=function(e){if(this.length+e.length<=pxe)return new a(this.values.concat(e.flatten()))},a.prototype.leafPrepend=function(e){if(this.length+e.length<=pxe)return new a(e.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(a.prototype,t),a}(gxe);gxe.empty=new fxe([]);var vxe=function(e){function a(a,t){e.call(this),this.left=a,this.right=t,this.length=a.length+t.length,this.depth=Math.max(a.depth,t.depth)+1}return e&&(a.__proto__=e),(a.prototype=Object.create(e&&e.prototype)).constructor=a,a.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},a.prototype.getInner=function(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)},a.prototype.forEachInner=function(e,a,t,n){var i=this.left.length;return!(a<i&&!1===this.left.forEachInner(e,a,Math.min(t,i),n))&&(!(t>i&&!1===this.right.forEachInner(e,Math.max(a-i,0),Math.min(this.length,t)-i,n+i))&&void 0)},a.prototype.forEachInvertedInner=function(e,a,t,n){var i=this.left.length;return!(a>i&&!1===this.right.forEachInvertedInner(e,a-i,Math.max(t,i)-i,n+i))&&(!(t<i&&!1===this.left.forEachInvertedInner(e,Math.min(a,i),t,n))&&void 0)},a.prototype.sliceInner=function(e,a){if(0==e&&a==this.length)return this;var t=this.left.length;return a<=t?this.left.slice(e,a):e>=t?this.right.slice(e-t,a-t):this.left.slice(e,t).append(this.right.slice(0,a-t))},a.prototype.leafAppend=function(e){var t=this.right.leafAppend(e);if(t)return new a(this.left,t)},a.prototype.leafPrepend=function(e){var t=this.left.leafPrepend(e);if(t)return new a(t,this.right)},a.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new a(this.left,new a(this.right,e)):new a(this,e)},a}(gxe);class yxe{constructor(e,a){this.items=e,this.eventCount=a}popEvent(e,a){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--){if(this.items.get(i-1).selection){--i;break}}a&&(t=this.remapping(i,this.items.length),n=t.maps.length);let r,o,s=e.tr,l=[],u=[];return this.items.forEach(((e,a)=>{if(!e.step)return t||(t=this.remapping(i,a+1),n=t.maps.length),n--,void u.push(e);if(t){u.push(new bxe(e.map));let a,i=e.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(a=s.mapping.maps[s.mapping.maps.length-1],l.push(new bxe(a,void 0,void 0,l.length+u.length))),n--,a&&t.appendMap(a,n)}else s.maybeStep(e.step);return e.selection?(r=t?e.selection.map(t.slice(n)):e.selection,o=new yxe(this.items.slice(0,i).append(u.reverse().concat(l)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:o,transform:s,selection:r}}addTransform(e,a,t,n){let i=[],r=this.eventCount,o=this.items,s=!n&&o.length?o.get(o.length-1):null;for(let u=0;u<e.steps.length;u++){let t,l=e.steps[u].invert(e.docs[u]),c=new bxe(e.mapping.maps[u],l,a);(t=s&&s.merge(c))&&(c=t,u?i.pop():o=o.slice(0,o.length-1)),i.push(c),a&&(r++,a=void 0),n||(s=c)}let l=r-t.depth;return l>Sxe&&(o=function(e,a){let t;return e.forEach(((e,n)=>{if(e.selection&&0==a--)return t=n,!1})),e.slice(t)}(o,l),r-=l),new yxe(o.append(i),r)}remapping(e,a){let t=new Ibe;return this.items.forEach(((a,n)=>{t.appendMap(a.map,null!=a.mirrorOffset&&n-a.mirrorOffset>=e?t.maps.length-a.mirrorOffset:void 0)}),e,a),t}addMaps(e){return 0==this.eventCount?this:new yxe(this.items.append(e.map((e=>new bxe(e)))),this.eventCount)}rebased(e,a){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-a),i=e.mapping,r=e.steps.length,o=this.eventCount;this.items.forEach((e=>{e.selection&&o--}),n);let s=a;this.items.forEach((a=>{let n=i.getMirror(--s);if(null==n)return;r=Math.min(r,n);let l=i.maps[n];if(a.step){let r=e.steps[n].invert(e.docs[n]),u=a.selection&&a.selection.map(i.slice(s+1,n));u&&o++,t.push(new bxe(l,r,u))}else t.push(new bxe(l))}),n);let l=[];for(let d=a;d<r;d++)l.push(new bxe(i.maps[d]));let u=this.items.slice(0,n).append(l).append(t),c=new yxe(u,o);return c.emptyItemCount()>500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let e=0;return this.items.forEach((a=>{a.step||e++})),e}compress(e=this.items.length){let a=this.remapping(0,e),t=a.maps.length,n=[],i=0;return this.items.forEach(((r,o)=>{if(o>=e)n.push(r),r.selection&&i++;else if(r.step){let e=r.step.map(a.slice(t)),o=e&&e.getMap();if(t--,o&&a.appendMap(o,t),e){let s=r.selection&&r.selection.map(a.slice(t));s&&i++;let l,u=new bxe(o.invert(),e,s),c=n.length-1;(l=n.length&&n[c].merge(u))?n[c]=l:n.push(u)}}else r.map&&t--}),this.items.length,0),new yxe(gxe.from(n.reverse()),i)}}yxe.empty=new yxe(gxe.empty,0);let bxe=class e{constructor(e,a,t,n){this.map=e,this.step=a,this.selection=t,this.mirrorOffset=n}merge(a){if(this.step&&a.step&&!a.selection){let t=a.step.merge(this.step);if(t)return new e(t.getMap().invert(),t,this.selection)}}};class kxe{constructor(e,a,t,n,i){this.done=e,this.undone=a,this.prevRanges=t,this.prevTime=n,this.prevComposition=i}}const Sxe=20;function wxe(e){let a=[];for(let t=e.length-1;t>=0&&0==a.length;t--)e[t].forEach(((e,t,n,i)=>a.push(n,i)));return a}function Axe(e,a){if(!e)return null;let t=[];for(let n=0;n<e.length;n+=2){let i=a.map(e[n],1),r=a.map(e[n+1],-1);i<=r&&t.push(i,r)}return t}let Cxe=!1,Mxe=null;function Txe(e){let a=e.plugins;if(Mxe!=a){Cxe=!1,Mxe=a;for(let e=0;e<a.length;e++)if(a[e].spec.historyPreserveItems){Cxe=!0;break}}return Cxe}const xxe=new Uke("history"),Nxe=new Uke("closeHistory");function Exe(e={}){return new Gke({key:xxe,state:{init:()=>new kxe(yxe.empty,yxe.empty,null,0,-1),apply:(a,t,n)=>function(e,a,t,n){let i,r=t.getMeta(xxe);if(r)return r.historyState;t.getMeta(Nxe)&&(e=new kxe(e.done,e.undone,null,0,-1));let o=t.getMeta("appendedTransaction");if(0==t.steps.length)return e;if(o&&o.getMeta(xxe))return o.getMeta(xxe).redo?new kxe(e.done.addTransform(t,void 0,n,Txe(a)),e.undone,wxe(t.mapping.maps),e.prevTime,e.prevComposition):new kxe(e.done,e.undone.addTransform(t,void 0,n,Txe(a)),null,e.prevTime,e.prevComposition);if(!1===t.getMeta("addToHistory")||o&&!1===o.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new kxe(e.done.rebased(t,i),e.undone.rebased(t,i),Axe(e.prevRanges,t.mapping),e.prevTime,e.prevComposition):new kxe(e.done.addMaps(t.mapping.maps),e.undone.addMaps(t.mapping.maps),Axe(e.prevRanges,t.mapping),e.prevTime,e.prevComposition);{let i=t.getMeta("composition"),r=0==e.prevTime||!o&&e.prevComposition!=i&&(e.prevTime<(t.time||0)-n.newGroupDelay||!function(e,a){if(!a)return!1;if(!e.docChanged)return!0;let t=!1;return e.mapping.maps[0].forEach(((e,n)=>{for(let i=0;i<a.length;i+=2)e<=a[i+1]&&n>=a[i]&&(t=!0)})),t}(t,e.prevRanges)),s=o?Axe(e.prevRanges,t.mapping):wxe(t.mapping.maps);return new kxe(e.done.addTransform(t,r?a.selection.getBookmark():void 0,n,Txe(a)),yxe.empty,s,t.time,null==i?e.prevComposition:i)}}(t,n,a,e)},config:e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(e,a){let t=a.inputType,n="historyUndo"==t?jxe:"historyRedo"==t?Pxe:null;return!!n&&(a.preventDefault(),n(e.state,e.dispatch))}}}})}function _xe(e,a){return(t,n)=>{let i=xxe.getState(t);if(!i||0==(e?i.undone:i.done).eventCount)return!1;if(n){let r=function(e,a,t){let n=Txe(a),i=xxe.get(a).spec.config,r=(t?e.undone:e.done).popEvent(a,n);if(!r)return null;let o=r.selection.resolve(r.transform.doc),s=(t?e.done:e.undone).addTransform(r.transform,a.selection.getBookmark(),i,n),l=new kxe(t?s:r.remaining,t?r.remaining:s,null,0,-1);return r.transform.setSelection(o).setMeta(xxe,{redo:t,historyState:l})}(i,t,e);r&&n(a?r.scrollIntoView():r)}return!0}}const jxe=_xe(!1,!0),Pxe=_xe(!0,!0),Lxe=lMe.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:e,dispatch:a})=>jxe(e,a),redo:()=>({state:e,dispatch:a})=>Pxe(e,a)}),addProseMirrorPlugins(){return[Exe(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),Bxe=aTe.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:e}){return["hr",HCe(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:a})=>{const{selection:t}=a,{$from:n,$to:i}=t,r=e();return 0===n.parentOffset?r.insertContentAt({from:Math.max(n.pos-1,0),to:i.pos},{type:this.name}):t instanceof _ke?r.insertContentAt(i.pos,{type:this.name}):r.insertContent({type:this.name}),r.command((({tr:e,dispatch:a})=>{var t;if(a){const{$to:a}=e.selection,n=a.end();if(a.nodeAfter)e.setSelection(a.nodeAfter.isTextblock?Nke.create(e.doc,a.pos+1):a.nodeAfter.isBlock?_ke.create(e.doc,a.pos):Nke.create(e.doc,a.pos));else{const i=null===(t=a.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(e.insert(n,i),e.setSelection(Nke.create(e.doc,n+1)))}e.scrollIntoView()}return!0})).run()}}},addInputRules(){return[(e={find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type},new YCe({find:e.find,handler:({state:a,range:t,match:n})=>{const i=VCe(e.getAttributes,void 0,n)||{},{tr:r}=a,o=t.from;let s=t.to;const l=e.type.create(i);if(n[1]){let e=o+n[0].lastIndexOf(n[1]);e>s?e=s:s=e+n[1].length,r.insertText(n[0][n[0].length-1],o+n[0].length-1),r.replaceWith(e,s,l)}else n[0]&&r.insert(e.type.isInline?o:o-1,e.type.create(i)).delete(r.mapping.map(o),r.mapping.map(s));r.scrollIntoView()}}))];var e}}),Rxe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,Dxe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,zxe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Oxe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,Ixe=tMe.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:e=>"normal"!==e.style.fontStyle&&null},{style:"font-style=normal",clearMark:e=>e.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:e}){return["em",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setItalic:()=>({commands:e})=>e.setMark(this.name),toggleItalic:()=>({commands:e})=>e.toggleMark(this.name),unsetItalic:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[QMe({find:Rxe,type:this.type}),QMe({find:zxe,type:this.type})]},addPasteRules(){return[nTe({find:Dxe,type:this.type}),nTe({find:Oxe,type:this.type})]}}),Kxe=aTe.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:e}){return["li",HCe(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),Hxe="textStyle",Fxe=/^(\d+)\.\s$/,Gxe=aTe.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:e=>e.hasAttribute("start")?parseInt(e.getAttribute("start")||"",10):1},type:{default:null,parseHTML:e=>e.getAttribute("type")}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:e}){const{start:a,...t}=e;return 1===a?["ol",HCe(this.options.HTMLAttributes,t),0]:["ol",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleOrderedList:()=>({commands:e,chain:a})=>this.options.keepAttributes?a().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes("listItem",this.editor.getAttributes(Hxe)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let e=eTe({find:Fxe,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,a)=>a.childCount+a.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(e=eTe({find:Fxe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(Hxe)}),joinPredicate:(e,a)=>a.childCount+a.attrs.start===+e[1],editor:this.editor})),[e]}}),Vxe=aTe.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:e}){return["p",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Jxe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Uxe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Wxe=tMe.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:e=>!!e.includes("line-through")&&{}}],renderHTML({HTMLAttributes:e}){return["s",HCe(this.options.HTMLAttributes,e),0]},addCommands(){return{setStrike:()=>({commands:e})=>e.setMark(this.name),toggleStrike:()=>({commands:e})=>e.toggleMark(this.name),unsetStrike:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[QMe({find:Jxe,type:this.type})]},addPasteRules(){return[nTe({find:Uxe,type:this.type})]}}),qxe=aTe.create({name:"text",group:"inline"}),Zxe=lMe.create({name:"starterKit",addExtensions(){const e=[];return!1!==this.options.bold&&e.push(VTe.configure(this.options.bold)),!1!==this.options.blockquote&&e.push(ITe.configure(this.options.blockquote)),!1!==this.options.bulletList&&e.push(WTe.configure(this.options.bulletList)),!1!==this.options.code&&e.push($Te.configure(this.options.code)),!1!==this.options.codeBlock&&e.push(XTe.configure(this.options.codeBlock)),!1!==this.options.document&&e.push(exe.configure(this.options.document)),!1!==this.options.dropcursor&&e.push(nxe.configure(this.options.dropcursor)),!1!==this.options.gapcursor&&e.push(dxe.configure(this.options.gapcursor)),!1!==this.options.hardBreak&&e.push(mxe.configure(this.options.hardBreak)),!1!==this.options.heading&&e.push(hxe.configure(this.options.heading)),!1!==this.options.history&&e.push(Lxe.configure(this.options.history)),!1!==this.options.horizontalRule&&e.push(Bxe.configure(this.options.horizontalRule)),!1!==this.options.italic&&e.push(Ixe.configure(this.options.italic)),!1!==this.options.listItem&&e.push(Kxe.configure(this.options.listItem)),!1!==this.options.orderedList&&e.push(Gxe.configure(this.options.orderedList)),!1!==this.options.paragraph&&e.push(Vxe.configure(this.options.paragraph)),!1!==this.options.strike&&e.push(Wxe.configure(this.options.strike)),!1!==this.options.text&&e.push(qxe.configure(this.options.text)),e}}),$xe=e=>a.jsx(PTe,{as:"span",className:"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e.node.attrs.displayName}),Yxe=aTe.create({name:"mergeField",group:"inline",inline:!0,atom:!0,addAttributes:()=>({templateName:{default:null,parseHTML:e=>e.getAttribute("data-template-name")},displayName:{default:null,parseHTML:e=>e.getAttribute("data-display-name")}}),parseHTML:()=>[{tag:"span[data-merge-field]"}],renderHTML:({HTMLAttributes:e})=>["span",HCe(e,{"data-merge-field":"true"})],renderText:({node:e})=>e.attrs.templateName,addNodeView:()=>zTe($xe)}),Qxe=({value:e,onChange:n,className:i="",mergeFieldsResponse:r,placeholder:o="Enter text",ariaLabel:s="Insert merge field",icon:l="MergeField",id:u})=>{const[c,d]=t.useState(!1),m=t.useRef(null),h=t.useRef(null),p=t.useMemo((()=>r?.mergeFields?.flatMap((e=>e.entries))??[]),[r]),g=t.useCallback((e=>{if(!e)return"";return e.replace(/\{\{.*?\}\}/g,(e=>{const a=p.find((a=>a.value===e));return a?`<span class="inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200" data-merge-field="true" data-template-name="${a.value}" data-display-name="${a.label}">${a.label}</span>`:e}))}),[p]),f=t.useRef(""),v=_Te({extensions:[Zxe,Yxe],content:"",editorProps:{attributes:{class:`min-h-[40px] px-3 py-2 border border-input bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50 rounded-md focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent resize-none prose prose-sm max-w-none ${i}`,placeholder:o}},onUpdate:({editor:e,transaction:a})=>{if(!a?.docChanged)return;const t=e.getText();t!==f.current&&(f.current=t,n(t))}});t.useEffect((()=>{if(!v)return;const a=e??"";if(v.isFocused)return;const t=v.getText();if(""!==a){if(t!==a){const e=g(a);v.commands.setContent(e,!1)}}else""!==t&&v.commands.clearContent(!0)}),[v,e,g]);const y=t.useCallback((e=>{if(v){const a=p.find((a=>a.value===e));a&&v.chain().focus().insertContent({type:"mergeField",attrs:{templateName:a.value,displayName:a.label}}).run()}d(!1)}),[v,p]);if(t.useEffect((()=>{if(c)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){const a=e.target;h.current&&!h.current.contains(a)&&m.current&&!m.current.contains(a)&&d(!1)}}),[c]),!v)return a.jsx("div",{children:"Loading editor..."});const b=OM[l]||OM.MergeField;return a.jsx("div",{className:"relative",children:a.jsxs("div",{className:"relative",children:[a.jsx(gTe,{id:u,editor:v}),r&&a.jsxs(a.Fragment,{children:[a.jsx(Xa,{ref:m,type:"button",variant:"ghost",size:"icon",className:"absolute right-2 top-1/2 -translate-y-1/2 h-8 w-8 p-0 rounded-md border border-input shadow-sm hover:bg-accent/60 focus:bg-accent/80 transition-colors bg-background","aria-label":s,onClick:()=>d((e=>!e)),children:a.jsx(b,{className:"w-4 h-4"})}),c&&a.jsx("div",{ref:h,className:"absolute z-50 mt-2 right-0 w-56 bg-white border border-gray-200 rounded-lg shadow-lg p-1",style:{top:"100%"},children:0===p.length?a.jsx("div",{className:"px-4 py-2 text-muted-foreground text-sm",children:"No merge fields found"}):a.jsx("ul",{className:"py-1",children:p.map((e=>a.jsx("li",{children:a.jsx("button",{className:"w-full text-left px-4 py-2 hover:bg-accent/40 rounded text-sm transition-colors",onClick:()=>y(e.value),type:"button",children:e.label})},e.value)))})})]})]})})},Xxe=(e,a)=>{const[n,i]=t.useState(e);return t.useEffect((()=>{const t=setTimeout((()=>{i(e)}),a);return()=>clearTimeout(t)}),[e,a]),n},eNe=()=>{const e=[{id:"dynamic-content",title:"Dynamic Content",image:"https://cdn.embedreach.com/assets/engage/merge-tags-demo.gif",imageAlt:`${PN("engage:merge_field")} Demo`,imageDesc:`Demonstration: Adding ${PN("engage:merge_field").toLowerCase()} to personalize your emails`,description:"Dynamic content is a way to insert dynamic content into your email like name, email, or other details.",icon:a.jsx(X,{className:"w-6 h-6"})},{id:"responsive-design",title:"Responsive Design",image:"https://cdn.embedreach.com/assets/engage/layout-mobile-desktop.gif",imageAlt:"Mobile Desktop Switch Demo",imageDesc:"Demonstration: Switching between mobile and desktop preview modes",description:"Switch between mobile and desktop preview modes to ensure your emails look great on all devices.",icon:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Se,{className:"w-5 h-5"}),a.jsx(ne,{className:"w-5 h-5"})]})}],{toggleEmailHelpDialog:n,data:i}=fS(),{toast:r}=dS(),[o,s]=t.useState("dynamic-content"),l=!1!==i?.uiDefaults?.emailHelpDialogShow,u=e.find((e=>e.id===o))??e[0];return a.jsx(a.Fragment,{children:a.jsxs("div",{className:"p-6 overflow-y-auto",children:[a.jsx("div",{className:"flex items-center justify-between mb-8 pb-4 border-b",children:a.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Learn how to use our email editor's powerful features"})}),a.jsx("div",{className:"mb-8 flex flex-col items-center min-h-[340px]",children:a.jsx(fh,{mode:"wait",children:a.jsxs(tS.div,{initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24},transition:{duration:.3},className:"w-full flex flex-col items-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:u.title}),a.jsxs("div",{className:"relative rounded-lg overflow-hidden bg-gray-50 w-full max-w-2xl",children:[a.jsx("img",{src:u.image,alt:u.imageAlt,className:"w-full shadow-lg max-w-md mx-auto"}),a.jsx("div",{className:"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/50 to-transparent p-4",children:a.jsx("p",{className:"text-white text-sm",children:u.imageDesc})})]})]},u.id)})}),a.jsx("div",{className:"flex flex-col gap-4 sm:flex-row sm:gap-6 max-w-2xl mx-auto mb-6",children:e.map((e=>a.jsxs("div",{className:"flex-1 rounded-lg border-2 p-6 transition-all "+(o===e.id?"border-primary bg-primary/5":"border-gray-200 bg-white"),children:[a.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[a.jsx("div",{className:"text-primary mt-1",children:e.icon}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h4",{className:"text-sm font-semibold text-foreground mb-1",children:e.title}),a.jsx("p",{className:"text-xs text-muted-foreground",children:e.description})]})]}),a.jsx("button",{onClick:()=>s(e.id),className:"text-xs text-primary hover:underline mt-2",children:"View tutorial →"})]},e.id)))}),l&&a.jsx("div",{className:"flex justify-center pt-2",children:a.jsx(Xa,{size:"sm",variant:"ghost",onClick:()=>{n(!1),r({title:"Email editor help dialog will not show again!"})},children:"Don't show me again"})})]})})},aNe=({containerRef:e,stripoDialogDimensions:n,showSaving:i})=>(t.useEffect((()=>{const a=a=>{const t=e.current;if(!t)return;const n=t.querySelector("ui-editor");if(!n)return;const i=n.shadowRoot;if(!i)return;const r=i.host.getBoundingClientRect();const o=function(e){for(;e;){const a=getComputedStyle(e);if(("auto"===a.overflowY||"scroll"===a.overflowY)&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return null}(i.elementFromPoint(a.clientX-r.left,a.clientY-r.top))||i.firstElementChild;o&&(o.scrollTop+=a.deltaY,o.scrollLeft+=a.deltaX,a.preventDefault())},t=e.current;return t&&t.addEventListener("wheel",a,{passive:!1}),()=>{t&&t.removeEventListener("wheel",a)}}),[e]),t.useEffect((()=>{const e="stripo-service-element-hider";let a=document.getElementById(e);return a||(a=document.createElement("style"),a.id=e,document.head.appendChild(a)),a.textContent='\n /* Hide service elements with title attributes */\n #stripoEditorContainer small.service-element[title],\n #stripoEditorContainer .service-element[title],\n #stripoEditorContainer span.service-element[title],\n #stripoEditorContainer [class*="service-element"][title] {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n position: absolute !important;\n left: -9999px !important;\n top: -9999px !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n }\n \n /* Also hide elements with our custom class */\n .stripo-hidden-service-element {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n position: absolute !important;\n left: -9999px !important;\n top: -9999px !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n pointer-events: none !important;\n }\n ',()=>{a&&a.parentNode&&a.parentNode.removeChild(a)}}),[]),t.useEffect((()=>{const a=e.current;if(!a)return;const t=()=>{const e=a.querySelector("ui-editor");if(!e)return null;const t=e.shadowRoot;return t||null},n=()=>{const e=t();if(!e)return;["small.service-element[title]",".service-element[title]","span.service-element[title]",'[class*="service-element"][title]'].forEach((a=>{e.querySelectorAll(a).forEach((e=>{const a=e,t=a.getAttribute("title")||"";/^\{\{.*\}\}$/.test(t.trim())&&(a.style.display="none",a.style.visibility="hidden",a.style.opacity="0",a.style.position="absolute",a.style.left="-9999px",a.style.top="-9999px",a.classList.add("stripo-hidden-service-element"),a.setAttribute("style",a.getAttribute("style")+"; display: none !important; visibility: hidden !important; opacity: 0 !important;"))}))}));e.querySelectorAll("span.service-element.caption.ng-star-inserted").forEach((e=>{const a=e;"Merge Tags"===a.textContent?.trim()&&(a.textContent=PN("engage:merge_field",{count:2}))}))};let i=null;let r=0;const o=setInterval((()=>{t()?(n(),(()=>{const e=t();e&&(i&&i.disconnect(),i=new MutationObserver((e=>{let a=!1;e.forEach(((e,t)=>{"childList"===e.type&&e.addedNodes.length>0&&(a=!0)})),a&&setTimeout((()=>{n()}),10)})),i.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","title"]}))})(),clearInterval(o)):(r++,r>20&&clearInterval(o))}),100),s=setInterval((()=>{n()}),2e3);return()=>{i&&i.disconnect(),clearInterval(s),clearInterval(o)}}),[e]),a.jsxs("div",{className:"w-full h-full flex flex-col overflow-x-auto",children:[a.jsx("div",{id:"externalSystemContainer",className:"flex items-center px-0 py-2 lg:px-4"}),i&&a.jsx("div",{className:"absolute top-0 left-0 w-full h-full bg-black/50 flex items-center justify-center z-50",children:a.jsx(th,{textColor:"text-white",text:["Saving..."]})}),a.jsx("div",{id:"stripoEditorContainer",ref:e,style:{width:n.width-75,height:n.height-75},className:"z-10"})]})),tNe="UiEditorScript",nNe=e=>new Promise(((a,t)=>{const n=()=>{let t;e.forceRecreate&&(t=!0),window.UIEditor&&(window.UIEditor.initEditor(e.container,{...t&&{forceRecreate:t},metadata:{emailId:e.emailId},html:e.html,css:e.css,locale:"en",onTokenRefreshRequest:e=>{Promise.resolve().then((async()=>{try{const{token:a}=await(async()=>(await Hm(`${Cm}/token`)).data)();e(a)}catch(a){}}))},messageSettingsEnabled:!1,conditionsEnabled:!1,syncModulesEnabled:!1,notifications:{info:console.info,error:(e,a,t)=>{e.startsWith("The file should not exceed the maximum size")&&cS({title:"Problems uploading image",description:e,variant:"destructive"}),e.includes("exceeds the allowed size 2 Mb")&&cS({title:"Image too large",description:"The image is too large. Please try again with a smaller image (max 2MB).",variant:"destructive"})},warn:console.warn,success:console.log},mergeTags:e.mergeFields,mobileViewButtonSelector:".toggle-mobile-button",desktopViewButtonSelector:".toggle-desktop-button"}),a(void 0))};if(document.getElementById(tNe))n();else{const e=document.createElement("script");e.id=tNe,e.type="module",e.src="https://plugins.stripo.email/resources/uieditor/rev/2.21.0/UIEditor.js",e.onload=()=>{window.UIEditor?n():t(new Error("UIEditor not found after script load"))},e.onerror=e=>{t(e)},document.head.appendChild(e)}})),iNe=({automation:e,showStripoEditor:n,setShowStripoEditor:i,saveClicked:r,setSaveClicked:o,stripoDialogDimensions:s,mergeFieldsResponse:l,cancelClicked:u,setCancelClicked:c,actionId:d,onEditorReadyChange:m,setShowUnsavedChangesDialog:h,setCheckForUnsavedChanges:p})=>{const[g,f]=t.useState(!1),[v,y]=t.useState(!1),[b,k]=t.useState(!1),S=t.useRef(!1),w=t.useRef(null),A=t.useRef(null),{data:C,isLoading:M,error:T}=(e=>{const{automationId:a,actionId:t}=e;return gm({queryKey:Gx.templateForActionId(a,t),queryFn:()=>Jx({automationId:a,actionId:t}),...jm})})({automationId:e.id,actionId:d}),{data:x,isLoading:N,error:E}=(()=>{const e=sm();return{...gm({queryKey:Gx.editorData(),queryFn:Vx,..._m}),invalidateEditorData:()=>e.invalidateQueries({queryKey:Gx.editorData()})}})(),{updateCommunicationGroup:_}=UN(),j=t.useCallback((()=>{const e=!(!window.StripoEditorApi?.actionsApi||"function"!=typeof window.StripoEditorApi.actionsApi.save||"function"!=typeof window.StripoEditorApi.actionsApi.compileEmail||"function"!=typeof window.StripoEditorApi.actionsApi.getTemplateData);return e&&!b&&(k(!0),m?.(!0),A.current&&(clearInterval(A.current),A.current=null)),e}),[b,m]),P=t.useCallback((()=>!(!b||!window.StripoEditorApi?.actionsApi?.isAllDataSaved)&&!window.StripoEditorApi.actionsApi.isAllDataSaved()),[b]);t.useEffect((()=>{p&&p(P)}),[P,p,b]);const L=t.useCallback((()=>{o(!1),c(!1),f(!1),y(!1),k(!1),m?.(!1),i(!1),A.current&&(clearInterval(A.current),A.current=null)}),[o,c,f,y,k,m,i]),B=t.useCallback((async()=>{if(b&&window.StripoEditorApi?.actionsApi&&C?.communicationGroupId)try{const e=()=>new Promise(((e,a)=>{let t=null,n=null,i=!1;const r=async()=>{if(t&&n&&i)try{await _({groupId:C.communicationGroupId,params:{emailHtmlBody:t.html,emailCss:t.css,emailCompiledHtml:n}}),y(!0),e()}catch(EFe){a(EFe)}};window.StripoEditorApi.actionsApi.getTemplateData((function(e){t=e,r()})),window.StripoEditorApi.actionsApi.compileEmail({callback:async function(e,t){e?a(new Error(`Compile failed: ${e}`)):(n=t,await r())},minimize:!0,mergeTags:[],forceAmp:!1,resetDataSavedFlag:!1,disableLineHeightsReplace:!0}),window.StripoEditorApi.actionsApi.save((function(e){e?a(new Error(`Save failed: ${e}`)):(f(!0),i=!0,r())}))}));await e()}catch(e){}}),[C,_,b]);return t.useEffect((()=>{r&&b?B():r&&!b&&o(!1)}),[r,B,b,o]),t.useEffect((()=>{(g&&v||!1===n)&&L()}),[g,v,n,L]),t.useEffect((()=>{if(u){if(P())return void h(!0);L()}}),[u,P,L,h]),t.useEffect((()=>{if(x?.businessId&&w.current&&C&&!S.current){(async()=>{try{await nNe({emailId:C.communicationGroupId,html:C.html||"<div></div>",css:C.css||"",container:w.current,businessId:x.businessId,mergeFields:l.mergeFields||[],forceRecreate:C.forceRecreate}),S.current=!0,A.current=setInterval((()=>{j()}),500)}catch(e){}})()}}),[x,l,C,j]),t.useEffect((()=>()=>{A.current&&clearInterval(A.current)}),[]),T||E?a.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",children:[a.jsx("div",{className:"text-red-500 mb-4",children:"Failed to load editor data"}),a.jsx(Xa,{onClick:()=>window.location.reload(),variant:"outline",children:"Retry"})]}):a.jsx("div",M||N||!x||!C?{className:"w-full h-full flex flex-col items-center justify-center",children:a.jsx(th,{text:["Loading editor..."]})}:{className:"w-full h-full flex flex-col",children:a.jsx(aNe,{containerRef:w,stripoDialogDimensions:s,showSaving:r&&b})})},rNe=()=>{const[e,n]=t.useState("desktop"),i=t.useRef(null),r=t.useRef(null);return t.useEffect((()=>{const e=()=>n("desktop"),a=()=>n("mobile"),t=i.current,o=r.current;return t&&t.addEventListener("click",e),o&&o.addEventListener("click",a),()=>{t&&t.removeEventListener("click",e),o&&o.removeEventListener("click",a)}}),[]),a.jsxs("div",{className:"flex items-center gap-1 bg-muted rounded-md p-0.5 shadow-inner border w-fit",children:[a.jsxs(Xa,{ref:i,type:"button","aria-pressed":"desktop"===e,"aria-label":"Show desktop preview",className:"desktop-view-button toggle-desktop-button relative flex items-center justify-center px-2 py-0 rounded-md transition-colors duration-200"+("desktop"===e?" bg-background shadow text-primary":" bg-transparent text-muted-foreground hover:bg-accent"),variant:"ghost",style:{minWidth:32,minHeight:32},children:["desktop"===e&&a.jsx(tS.span,{layoutId:"toggle-indicator",className:"absolute inset-0 rounded-md border-2 bg-background/80 z-0 border-[color:var(--reach-primary)]",transition:{type:"spring",stiffness:400,damping:30}}),a.jsx("span",{className:"relative z-10 flex items-center justify-center",children:a.jsx(OM.DesktopIcon,{className:"w-4 h-4"})})]}),a.jsxs(Xa,{ref:r,type:"button","aria-pressed":"mobile"===e,"aria-label":"Show mobile preview",className:"mobile-view-button toggle-mobile-button relative flex items-center justify-center px-2 py-0 rounded-md transition-colors duration-200"+("mobile"===e?" bg-background shadow text-primary":" bg-transparent text-muted-foreground hover:bg-accent"),variant:"ghost",style:{minWidth:32,minHeight:32},children:["mobile"===e&&a.jsx(tS.span,{layoutId:"toggle-indicator",className:"absolute inset-0 rounded-md border-2 bg-background/80 z-0 border-[color:var(--reach-primary)]",transition:{type:"spring",stiffness:400,damping:30}}),a.jsx("span",{className:"relative z-10 flex items-center justify-center",children:a.jsx(OM.MobileIcon,{className:"w-4 h-4"})})]})]})},oNe=({showStripoEditor:e,setShowStripoEditor:n,showHelpDialog:i,setShowHelpDialog:r,cancelClicked:o,setCancelClicked:s,saveClicked:l,setSaveClicked:u,isEditorReady:c,automation:d,mergeFieldsResponse:m,selectedActionId:h,stripoDialogDimensions:p,setIsEditorReady:g})=>{const[f,v]=t.useState(!1),[y,b]=t.useState(null),k=t.useCallback((()=>{v(!1),s(!1),n(!1)}),[s,n]),S=t.useCallback((()=>{v(!1),s(!1)}),[s]),w=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),A=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),C=t.useCallback((e=>{e.preventDefault();let a=!1;y?a=y():window.StripoEditorApi?.actionsApi?.isAllDataSaved&&!window.StripoEditorApi.actionsApi.isAllDataSaved()&&(a=!0),a?v(!0):n(!1)}),[y,n]),M=t.useCallback((e=>{e?n(!0):y&&y()?v(!0):n(!1)}),[y,n]);return a.jsxs(a.Fragment,{children:[a.jsx(wi,{open:i??!1,onOpenChange:r,children:a.jsxs(Ti,{className:"max-h-[86vh] gap-0 overflow-visible max-w-3xl w-full h-full",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Email Preview Help"}),a.jsx(_i,{children:"Learn more about the email preview and how to use it to create your email."})]}),a.jsx(eNe,{})]})}),a.jsx(wi,{open:e,onOpenChange:M,children:a.jsxs(Ti,{className:"min-w-[100vw] min-h-[100vh] p-0 lg:p-6 gap-0 lg:gap-4",hideCloseButton:!0,onEscapeKeyDown:w,onInteractOutside:A,onPointerDownOutside:C,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Email Editor"}),a.jsx(_i,{children:"Learn more about the email editor and how to use it to create your email."})]}),a.jsxs("div",{className:"w-full h-full",children:[a.jsxs("div",{className:"flex justify-between items-center px-1.5 py-1 lg:p-4 border-b",children:[a.jsxs("div",{className:"flex items-center gap-1 lg:gap-2",children:[a.jsx("h2",{className:"text-lg font-medium",children:"Email Editor"}),a.jsx(Xa,{size:"sm",onClick:()=>r(!0),children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-medium text-sm",children:"Help"}),a.jsx(OM.InfoIcon,{className:"w-4 h-4"})]})})]}),a.jsx("div",{className:"flex items-center gap-1 lg:gap-2",children:a.jsx(rNe,{})}),a.jsxs("div",{className:"flex items-center gap-1 lg:gap-2",children:[a.jsx(Xa,{variant:"destructive",onClick:()=>{s(!0)},className:"text-sm px-3 py-1 rounded",children:"Cancel"}),a.jsx(Xa,{onClick:()=>u(!0),className:"text-sm px-3 py-1 rounded",disabled:!c,children:"Save"})]})]}),d&&a.jsx(iNe,{cancelClicked:o,setCancelClicked:s,showStripoEditor:e,automation:d,setShowStripoEditor:n,saveClicked:l,setSaveClicked:u,stripoDialogDimensions:p,mergeFieldsResponse:m??{mergeFields:[]},actionId:h,onEditorReadyChange:g,setShowUnsavedChangesDialog:v,setCheckForUnsavedChanges:b})]})]})}),a.jsx(wi,{open:f,onOpenChange:v,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Unsaved Changes"}),a.jsx(_i,{children:"You have unsaved changes. Are you sure you want to discard them and close the editor?"})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:S,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:k,children:"Discard Changes"})]})]})})]})},sNe="Reply to email can be configured under settings in the home screen",lNe="From name can be configured under settings in the home screen",uNe=t.memo((({html:e})=>a.jsx(Sve,{html:e}))),cNe=t.memo((({communicationGroup:e,emailChannelSendersWithChannelAccounts:n,getMergeFields:i,onUpdate:r})=>{const o=e?.emailChannelSenderId||null,s=e?.emailSubject||null,l=e?.emailPreviewText||null,{state:{replyToSettingsText:u,replyToSettingsLink:c,fromNameSettingsText:d,fromNameSettingsLink:m}}=t.useContext(qoe),h=t.useRef(null),p=t.useRef(null),g=t.useMemo((()=>o?n?.find((e=>e.channelSenderId===o))?.channelSender.channelSenderMetadata.emailFromName:null),[o,n]),f=t.useMemo((()=>o?n?.find((e=>e.channelSenderId===o))?.channelSender.channelSenderMetadata.emailReplyTo:null),[o,n]),v=t.useCallback((async e=>{try{await r({emailChannelSenderId:e})}catch(a){}}),[r]),y=t.useCallback((e=>{h.current&&clearTimeout(h.current),h.current=setTimeout((async()=>{try{await r({emailSubject:e})}catch(a){}}),250)}),[r]),b=t.useCallback((e=>{p.current&&clearTimeout(p.current),p.current=setTimeout((async()=>{try{await r({emailPreviewText:e})}catch(a){}}),250)}),[r]);return t.useEffect((()=>()=>{h.current&&clearTimeout(h.current),p.current&&clearTimeout(p.current)}),[]),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-4",children:[a.jsxs("div",{className:"md:col-span-6",children:[a.jsx(Eo,{className:"text-foreground",children:"From Email"}),a.jsxs(Fc,{onValueChange:v,value:o??void 0,children:[a.jsx(Vc,{children:a.jsx(Gc,{id:"wizard-email-from-email-value",placeholder:"Select email",className:"text-muted-foreground",children:o?n?.find((e=>e.channelSenderId===o))?.fullDomain:""})}),a.jsx(Wc,{children:n?.map((e=>a.jsx(qc,{value:e.channelSenderId,children:e.fullDomain},e.channelSenderId)))})]})]}),a.jsxs("div",{className:"md:col-span-3",children:[a.jsx(Eo,{children:a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx("span",{className:"text-foreground text-sm",children:"From Name"}),a.jsx(Rx,{title:d||lNe,link:m?{url:m}:void 0})]})}),a.jsx(Io,{id:"wizard-email-from-name-input",value:g??"",className:"text-muted-foreground text-sm h-9",disabled:!0})]}),a.jsxs("div",{className:"md:col-span-3",children:[a.jsx(Eo,{children:a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx("span",{className:"text-foreground text-sm",children:"Reply To Email"}),a.jsx(Rx,{title:u||sNe,link:c?{url:c}:void 0})]})}),a.jsx(Io,{id:"wizard-email-reply-to-input",value:f??"",className:"text-muted-foreground text-sm h-9",disabled:!0})]})]}),a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-4",children:[a.jsxs("div",{className:"md:col-span-6",children:[a.jsxs("div",{className:"flex items-center gap-0 py-1",children:[a.jsx(Eo,{className:"text-foreground",children:"Subject"}),a.jsx("span",{className:"text-xs text-red-500 ml-1 align-super",children:"*"})]}),a.jsx("div",{className:"relative",children:a.jsx(Qxe,{id:"wizard-email-subject-input",value:s,onChange:y,mergeFieldsResponse:i,placeholder:"Enter email subject",className:"text-muted-foreground pr-10",ariaLabel:"Insert merge field into subject"})})]}),a.jsxs("div",{className:"md:col-span-6",children:[a.jsxs("div",{className:"flex items-center gap-2 py-1",children:[a.jsx(Eo,{className:"text-foreground",children:"Preview Text"}),a.jsx(Rx,{title:"This text will be used for the preview text of the email in the inbox"})]}),a.jsx("div",{className:"relative",children:a.jsx(Qxe,{id:"wizard-email-preview-text-input",value:l,onChange:b,className:"text-muted-foreground pr-10",mergeFieldsResponse:i})})]})]})]})}));cNe.displayName="EmailSettingsForm";const dNe=()=>{const[e,n]=t.useState(!1),[i,r]=t.useState(!1),o=t.useRef(null),{communicationGroup:s}=ile(),{state:l}=t.useContext(mse),u=l.automation,{channelSenders:c}=DC(),{channelAccounts:d}=LC(),{updateCommunicationGroup:m,isUpdating:h}=UN(),{getMergeFields:p,isGetting:g}=WN(s?.id??void 0,u?.id??void 0),f=t.useMemo((()=>s?.id),[s?.id]),v=t.useCallback((async e=>{try{m({groupId:f??"",params:e},{onError:e=>{}})}catch(a){}}),[m,f]),[y,b]=t.useState(!1),[k,S]=t.useState(!1),[w,A]=t.useState(!1),[C,M]=t.useState(!1),[T,x]=t.useState({width:0,height:0});t.useEffect((()=>{const e=()=>{x({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const N=t.useMemo((()=>s?.emailCompiledHtml||s?.emailHtmlBody||""),[s?.emailCompiledHtml,s?.emailHtmlBody]),E=t.useMemo((()=>a.jsx(uNe,{html:N})),[N]),_=t.useMemo((()=>OC({channelSenders:c?.results??[],channelAccounts:d?.results??[]})),[c?.results,d?.results]),j=t.useMemo((()=>({communicationGroup:s,emailChannelSendersWithChannelAccounts:_,getMergeFields:p??void 0,onUpdate:v})),[s,_,p,v]);return t.useEffect((()=>{if(s?.id&&c?.results&&c.results.length>0&&!s.emailChannelSenderId&&!h){const e=c.results.find((e=>e.channelSenderMetadata?.emailFromName||e.channelSenderMetadata?.userPart));e&&m({groupId:s.id,params:{emailChannelSenderId:e.id}})}}),[s?.id,s?.emailChannelSenderId,c?.results,m,h]),!g&&p&&_?a.jsxs("div",{id:"wizard-edit-email-content-step",className:"bg-card text-card-foreground rounded-2xl w-full space-y-6 relative h-full flex flex-col overflow-y-auto",ref:o,children:[a.jsx(bve,{title:"Email Content",type:fve.EMAIL}),a.jsx("div",{id:"wizard-email-settings-form",children:a.jsx(cNe,{...j})}),a.jsxs("div",{className:"flex flex-col",children:[a.jsxs("div",{className:"flex justify-between items-center mb-4 flex-shrink-0",children:[a.jsx("h3",{className:"font-medium text-lg",children:"Preview"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsxs(Xa,{onClick:()=>{r(!0)},className:"text-sm px-3 py-1 rounded flex items-center gap-2",children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),"Test Email"]}),a.jsx(Xa,{onClick:()=>{b(!0)},className:"text-sm px-3 py-1 rounded",disabled:h||!u||0===(_?.length??0),title:u?0===(_?.length??0)?"No email senders available":void 0:"Automation not loaded yet",children:"Edit"})]})]}),a.jsx("div",{children:E})]}),a.jsx(oNe,{showStripoEditor:y,setShowStripoEditor:b,showHelpDialog:e??!1,setShowHelpDialog:n,cancelClicked:w,setCancelClicked:A,automation:u??null,saveClicked:k,setSaveClicked:S,stripoDialogDimensions:T,mergeFieldsResponse:p,selectedActionId:u?.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.currentActionId??"",isEditorReady:C,setIsEditorReady:M}),u&&a.jsx(Cye,{open:i,onOpenChange:r,automation:u})]}):a.jsx("div",{className:"flex justify-center items-center h-full bg-card text-card-foreground rounded-2xl w-full border border-gray-200 p-6 space-y-4 relative",children:a.jsx(th,{text:["Fetching Content..."]})})},mNe=e=>{const{companyName:a,smsBody:t}=e;return a&&t?`${a}:\n${t}`:t??""};var hNe=(e=>(e.STATIC="static",e.DYNAMIC="dynamic",e))(hNe||{});const pNe=e=>{const a=e.match(/\{\{([^}]+)\}\}/g);return a?a.map((e=>e.slice(2,-2))):[]},gNe=(e,a="Unnamed User")=>{const t=`${e.firstName||""} ${e.lastName||""}`.trim();return t||(e.firstName?e.firstName:e.lastName?e.lastName:e.email?e.email:e.phone?e.phone:a)},fNe="Search by name, email, or phone...",vNe=(e,a)=>{if(!e||!a)return[];return[...e.matchAll(/\{\{([^}]+)\}\}/g)].map((e=>{const t=e[1],n=a.mergeFields?.flatMap((e=>e.entries)).find((e=>e.value===`{{${t}}}`));return n?n.label:t})).filter(Boolean)},yNe=e=>{switch(e){case"default":default:return"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200";case"subtle":return"inline-flex items-center font-medium mx-[1px] leading-none align-middle px-1 py-0.5 rounded-md bg-white/30 text-inherit shadow-[0_0_0_1px_rgba(0,0,0,0.05)]";case"minimal":return"inline-flex items-center px-1.5 py-0.5 rounded text-xs bg-gray-50 text-gray-700 font-medium border border-gray-200";case"inline":return"inline-flex items-center px-1 py-0.5 rounded text-xs bg-gray-100 text-gray-800 font-medium";case"badge":return"inline-flex items-center px-2 py-1 rounded-full text-xs bg-indigo-100 text-indigo-800 font-medium border border-indigo-200"}},bNe=({content:e,mergeFieldsResponse:n,variant:i="default",className:r="",asHtml:o=!0})=>{const s=t.useMemo((()=>n?.mergeFields?.flatMap((e=>e.entries))??[]),[n]),l=t.useMemo((()=>((e,a,t)=>e?e.replace(/\{\{.*?\}\}/g,(e=>{const n=a.find((a=>a.value===e));return n?`<span class="${yNe(t)}" data-merge-field="true" data-template-name="${n.value}" data-display-name="${n.label}">${n.label}</span>`:e})):"")(e,s,i)),[e,s,i]);if(!o){const t=e?.replace(/\{\{.*?\}\}/g,(e=>{const a=s.find((a=>a.value===e));return a?a.label:e}))||"";return a.jsx("span",{className:r,children:t})}return a.jsx("span",{className:r,dangerouslySetInnerHTML:{__html:l}})},kNe=({body:e,imageUrls:n,size:i="default",textSize:r="default"})=>{const{communicationGroup:o}=ile(),s=tle(),{getMergeFields:l,isGetting:u}=WN(o?.id??void 0,s?.id??void 0),c=t.useCallback((e=>/\{\{[^}]+\}\}/.test(e)),[]);return u||void 0===l?null:a.jsx("div",{id:"wizard-sms-preview",className:"sms-preview-outer @container "+("compact"===i?"sms-preview-compact":""),children:a.jsxs("div",{className:"sms-phone-mockup "+("compact"===i?"sms-phone-mockup-compact":""),children:[a.jsx("div",{className:"sms-phone-notch"}),a.jsxs("div",{className:"sms-phone-inner "+("compact"===i?"sms-phone-inner-compact":""),children:[n&&n.length>0&&n.map(((e,t)=>a.jsx("div",{className:"sms-message-row",children:a.jsx("div",{className:"sms-message-bubble",children:c(e)?a.jsx("div",{className:"sms-message-image-placeholder",children:a.jsxs("div",{className:"text-center text-white text-[10px] leading-tight",children:[a.jsx("div",{className:"font-medium mb-1",children:"Image will be populated at send time based on the following merge fields:"}),a.jsx("div",{className:"flex flex-wrap gap-1 justify-center",children:vNe(e,l).map(((e,t)=>a.jsx("span",{className:"inline-flex items-center px-1 py-0.5 rounded text-[10px] bg-green-500/30 text-white font-medium border border-green-400/40",children:e},t)))})]})}):a.jsx("img",{src:e,alt:"MMS attachment",className:"sms-message-image",loading:"lazy"})})},e+t))),a.jsx("div",{className:"sms-message-row",children:a.jsx("div",{className:"sms-message-bubble "+("small"===r?"sms-message-bubble-small":""),children:a.jsx(bNe,{content:e,mergeFieldsResponse:l,variant:"subtle",className:"text-white"})})})]}),a.jsx("div",{className:"sms-phone-home-indicator"})]})})};var SNe="Checkbox",[wNe,ANe]=ZE(SNe),[CNe,MNe]=wNe(SNe),TNe=r.forwardRef(((e,t)=>{const{__scopeCheckbox:n,name:i,checked:o,defaultChecked:s,required:l,disabled:u,value:c="on",onCheckedChange:d,form:m,...h}=e,[p,g]=r.useState(null),f=We(t,(e=>g(e))),v=r.useRef(!1),y=!p||(m||!!p.closest("form")),[b=!1,k]=QE({prop:o,defaultProp:s,onChange:d}),S=r.useRef(b);return r.useEffect((()=>{const e=p?.form;if(e){const a=()=>k(S.current);return e.addEventListener("reset",a),()=>e.removeEventListener("reset",a)}}),[p,k]),a.jsxs(CNe,{scope:n,state:b,disabled:u,children:[a.jsx(s_.button,{type:"button",role:"checkbox","aria-checked":_Ne(b)?"mixed":b,"aria-required":l,"data-state":jNe(b),"data-disabled":u?"":void 0,disabled:u,value:c,...h,ref:f,onKeyDown:qE(e.onKeyDown,(e=>{"Enter"===e.key&&e.preventDefault()})),onClick:qE(e.onClick,(e=>{k((e=>!!_Ne(e)||!e)),y&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())}))}),y&&a.jsx(ENe,{control:p,bubbles:!v.current,name:i,value:c,checked:b,required:l,disabled:u,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!_Ne(s)&&s})]})}));TNe.displayName=SNe;var xNe="CheckboxIndicator",NNe=r.forwardRef(((e,t)=>{const{__scopeCheckbox:n,forceMount:i,...r}=e,o=MNe(xNe,n);return a.jsx(ahe,{present:i||_Ne(o.state)||!0===o.state,children:a.jsx(s_.span,{"data-state":jNe(o.state),"data-disabled":o.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})}));NNe.displayName=xNe;var ENe=e=>{const{control:t,checked:n,bubbles:i=!0,defaultChecked:o,...s}=e,l=r.useRef(null),u=XE(n),c=a_(t);r.useEffect((()=>{const e=l.current,a=window.HTMLInputElement.prototype,t=Object.getOwnPropertyDescriptor(a,"checked").set;if(u!==n&&t){const a=new Event("click",{bubbles:i});e.indeterminate=_Ne(n),t.call(e,!_Ne(n)&&n),e.dispatchEvent(a)}}),[u,n,i]);const d=r.useRef(!_Ne(n)&&n);return a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o??d.current,...s,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function _Ne(e){return"indeterminate"===e}function jNe(e){return _Ne(e)?"indeterminate":e?"checked":"unchecked"}var PNe=TNe,LNe=NNe;const BNe=r.forwardRef((({className:e,...t},n)=>a.jsx(PNe,{ref:n,className:qa("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:a.jsx(LNe,{className:qa("flex items-center justify-center text-current"),children:a.jsx(w,{className:"h-4 w-4"})})})));BNe.displayName=PNe.displayName;var RNe=r.forwardRef(((e,t)=>{const{children:n,...i}=e,o=r.Children.toArray(n),s=o.find(ONe);if(s){const e=s.props.children,n=o.map((a=>a===s?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:a));return a.jsx(DNe,{...i,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return a.jsx(DNe,{...i,ref:t,children:n})}));RNe.displayName="Slot";var DNe=r.forwardRef(((e,a)=>{const{children:t,...n}=e;if(r.isValidElement(t)){const e=function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(t),i=function(e,a){const t={...a};for(const n in a){const i=e[n],r=a[n];/^on[A-Z]/.test(n)?i&&r?t[n]=(...e)=>{r(...e),i(...e)}:i&&(t[n]=i):"style"===n?t[n]={...i,...r}:"className"===n&&(t[n]=[i,r].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==r.Fragment&&(i.ref=a?Ue(a,e):e),r.cloneElement(t,i)}return r.Children.count(t)>1?r.Children.only(null):null}));DNe.displayName="SlotClone";var zNe=({children:e})=>a.jsx(a.Fragment,{children:e});function ONe(e){return r.isValidElement(e)&&e.type===zNe}var INe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((e,t)=>{const n=r.forwardRef(((e,n)=>{const{asChild:i,...r}=e,o=i?RNe:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),a.jsx(o,{...r,ref:n})}));return n.displayName=`Primitive.${t}`,{...e,[t]:n}}),{}),KNe="horizontal",HNe=["horizontal","vertical"],FNe=r.forwardRef(((e,t)=>{const{decorative:n,orientation:i=KNe,...r}=e,o=function(e){return HNe.includes(e)}(i)?i:KNe;return a.jsx(INe.div,{"data-orientation":o,...n?{role:"none"}:{"aria-orientation":"vertical"===o?o:void 0,role:"separator"},...r,ref:t})}));FNe.displayName="Separator";var GNe=FNe;const VNe=r.forwardRef((({className:e,orientation:t="horizontal",decorative:n=!0,...i},r)=>a.jsx(GNe,{ref:r,decorative:n,orientation:t,className:qa("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...i})));function JNe({options:e,onValueChange:t,selectedValues:n,setSelectedValues:i,isLoading:o,maxCount:s,placeholder:l="Select options",title:u="Select Items",searchPlaceholder:c="Search by name, email, or phone...",emptyMessage:d="No items found",extraCommandItems:m=[],canOpen:h=!0,singleSelect:p=!1,totalCount:g}){const[f,v]=r.useState(!1),[y,b]=r.useState(""),[k,S]=r.useState(n),{toast:w}=dS(),[A,C]=r.useState(100),[M,T]=r.useState(!1),x=r.useRef(null),N=r.useMemo((()=>{const a=[];return e.forEach((e=>{e&&e.items&&Array.isArray(e.items)&&e.items.forEach((t=>{t&&"string"==typeof t.value&&"string"==typeof t.label&&""!==t.value.trim()&&""!==t.label.trim()&&a.push({label:t.label,value:t.value,category:e.category,disabled:t.disabled,disabledReason:t.disabledReason,customComponent:t.customComponent,searchData:t.searchData})}))})),Array.from(new Map(a.map((e=>[e.value,e]))).values())}),[e]),E=r.useMemo((()=>{if(!y)return N;return[...N.filter((e=>k.includes(e.value))),...N.filter((e=>!k.includes(e.value))).filter((e=>{const a=y.toLowerCase(),t=e.label.toLowerCase().includes(a);if(!e.searchData)return t;const n=e.searchData.email?.toLowerCase().includes(a)||!1,i=e.searchData.phone?.toLowerCase().includes(a)||!1,r=e.searchData.firstName?.toLowerCase().includes(a)||!1,o=e.searchData.lastName?.toLowerCase().includes(a)||!1;return t||n||i||r||o}))]}),[N,y,k]),_=r.useMemo((()=>E.slice(0,A)),[E,A]),j=E.length>A,P=r.useCallback((()=>{!M&&j&&(T(!0),setTimeout((()=>{C((e=>Math.min(e+100,E.length))),T(!1)}),100))}),[M,j,E.length]),L=r.useCallback((()=>{const e=x.current;if(!e||M||!j)return;const{scrollTop:a,scrollHeight:t,clientHeight:n}=e;(a+n)/t>.7&&P()}),[P,M,j]);r.useEffect((()=>{C(100)}),[y]);const B=r.useCallback((()=>n.map((e=>{const a=N.find((a=>a.value===e));return{value:e,label:a?.label||e}}))),[n,N]),R=e=>{const a=N.find((a=>a.value===e));if(!a?.disabled)return p?(S([e]),t([e]),i([e]),void v(!1)):void S((a=>a.includes(e)?a.filter((a=>a!==e)):s&&a.length>=s?a:[...a,e]));w({title:"Cannot select user",description:a.disabledReason||"This user cannot be selected",variant:"warning"})};r.useEffect((()=>{f&&(S(n),b(""))}),[f,n]),r.useEffect((()=>{const e=x.current;if(e)return e.addEventListener("scroll",L),()=>e.removeEventListener("scroll",L)}),[L]);const D=k.length,z=E.filter((e=>k.includes(e.value))).length,O=B(),I=!s||k.length<s,K=r.useMemo((()=>{const e=new Map;return _.forEach((a=>{e.has(a.category)||e.set(a.category,[]),e.get(a.category).push(a)})),e}),[_]);return a.jsxs(wi,{open:f&&h,onOpenChange:h?v:void 0,children:[a.jsx(Ai,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:!h,className:qa("w-full justify-between text-left font-normal h-9 p-3",!h&&"opacity-50 cursor-not-allowed"),children:[a.jsx("div",{className:"flex flex-nowrap items-center gap-1 max-w-[70%]",children:0===O.length?a.jsx("span",{className:"text-muted-foreground",children:l}):p?a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:O[0].label}):O.length<=2?O.map((e=>a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:e.label},e.value))):a.jsxs(a.Fragment,{children:[a.jsx(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:O[0].label},O[0].value),a.jsxs(xx,{variant:"secondary",className:"text-xs whitespace-nowrap",children:["+",O.length-1," more"]})]})}),a.jsx(OM.DropdownMenuTrigger,{className:"h-4 w-4 opacity-50 ml-2 flex-shrink-0"})]})}),a.jsxs(Ti,{className:"max-w-md w-full max-h-[80vh] p-0 flex flex-col overflow-hidden",children:[a.jsxs("div",{className:"flex-shrink-0",children:[a.jsx(xi,{className:"p-6 pb-4",children:a.jsxs(Ei,{className:"flex items-center gap-2 text-xl",children:[a.jsx(OM.UsersIcon,{className:"h-5 w-5 text-primary"}),u]})}),a.jsx(Xe,{children:a.jsx(_i,{children:u})}),a.jsx("div",{className:"px-6 pb-4",children:a.jsxs("div",{className:"relative",children:[a.jsx(OM.SearchIcon,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),a.jsx(Io,{placeholder:c,value:y,onChange:e=>b(e.target.value),className:"pl-10 h-11"})]})}),!p&&a.jsx("div",{className:"px-6 pb-4",children:a.jsxs("div",{className:"flex items-center justify-between text-sm",children:[a.jsxs("span",{className:"text-muted-foreground",children:[void 0!==g?`${D} of ${g} selected`:`${D} selected`,s&&` (max ${s})`]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(Xa,{variant:"ghost",size:"sm",onClick:()=>{const e=E.filter((e=>!k.includes(e.value))),a=s?e.slice(0,s-k.length):e;S((e=>[...e,...a.map((e=>e.value))]))},disabled:!I||z===E.length,className:"h-8 text-xs",children:"Select All"}),a.jsx(Xa,{variant:"ghost",size:"sm",onClick:()=>{const e=new Set(E.map((e=>e.value)));S((a=>a.filter((a=>!e.has(a)))))},disabled:0===z,className:"h-8 text-xs",children:"Clear All"})]})]})})]}),a.jsx(VNe,{}),a.jsx("div",{ref:x,className:"flex-1 min-h-0 rounded-md overflow-y-auto overflow-x-hidden border border-gray-200",children:a.jsxs("div",{className:"p-1",children:[m.length>0&&a.jsxs(a.Fragment,{children:[m.map(((e,t)=>a.jsx("div",{className:"px-3 py-2",children:e(v)},`extra-command-${t}`))),a.jsx(VNe,{className:"my-2"})]}),o?a.jsx("div",{className:"flex justify-center py-8",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})}):0===E.length?a.jsxs("div",{className:"text-center py-8 text-muted-foreground",children:[a.jsx(OM.SearchIcon,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),a.jsx("p",{children:d})]}):a.jsxs(a.Fragment,{children:[Array.from(K.entries()).map((([e,t])=>a.jsxs("div",{children:[a.jsx("div",{className:"px-3 pt-2 pb-1 text-xs font-semibold text-muted-foreground tracking-wide uppercase",children:e}),t.map((e=>{const t=k.includes(e.value),n=e.disabled,i=!(!p&&!I)&&!n;return a.jsxs("div",{onClick:()=>i&&R(e.value),className:"flex items-center space-x-3 p-3 rounded-lg transition-colors "+(i?"hover:bg-muted/50 cursor-pointer":"opacity-50 cursor-not-allowed"),children:[!p&&a.jsx(BNe,{checked:t,disabled:!i,onChange:()=>i&&R(e.value),className:"flex-shrink-0"}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"font-medium text-sm truncate",children:e.label}),e.customComponent&&a.jsx("div",{className:"flex-shrink-0",children:e.customComponent})]}),n&&e.disabledReason&&a.jsx("div",{className:"text-xs text-muted-foreground mt-1",children:e.disabledReason})]}),t&&!n&&a.jsx(OM.CheckIcon,{className:"h-4 w-4 text-primary flex-shrink-0"}),n&&a.jsx(OM.CloseButton,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"})]},e.value)})),a.jsx(VNe,{className:"my-2"})]},e))),j&&M&&a.jsx("div",{className:"px-3 py-4",children:a.jsx("div",{className:"flex justify-center",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})})})]})]})}),!p&&a.jsxs("div",{className:"flex-shrink-0",children:[a.jsx(VNe,{}),a.jsx("div",{className:"p-6 pt-4",children:a.jsxs("div",{className:"flex gap-3",children:[a.jsx(Xa,{variant:"outline",onClick:()=>{S(n),b(""),v(!1)},className:"flex-1",children:"Cancel"}),a.jsxs(Xa,{onClick:()=>{t(k),i(k),v(!1)},className:"flex-1 bg-primary hover:bg-primary/90",children:["Apply (",D,")"]})]})})]})]})]})}VNe.displayName=GNe.displayName;const UNe=({isSaving:e,isLoading:t,savingText:n="Saving...",loadingText:i="Loading...",className:r,size:o="sm",textSize:s="xs"})=>{const l=e?n:i;if(!(e||t))return null;return a.jsxs("div",{id:"saving-indicator",className:qa("flex items-center space-x-2 text-muted-foreground",{xs:"text-xs",sm:"text-sm",md:"text-base"}[s],r),children:[a.jsx(W,{className:qa("animate-spin",{xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}[o])}),a.jsx("span",{children:l})]})};function WNe(e){if(!e||"string"!=typeof e)return!1;return[/bit\.ly\/[a-zA-Z0-9]+/gi,/bitly\.com\/[a-zA-Z0-9]+/gi,/tinyurl\.com\/[a-zA-Z0-9]+/gi,/tiny\.cc\/[a-zA-Z0-9]+/gi,/short\.link\/[a-zA-Z0-9]+/gi,/is\.gd\/[a-zA-Z0-9]+/gi,/ow\.ly\/[a-zA-Z0-9]+/gi,/t\.co\/[a-zA-Z0-9]+/gi,/goo\.gl\/[a-zA-Z0-9]+/gi,/rebrand\.ly\/[a-zA-Z0-9]+/gi,/cutt\.ly\/[a-zA-Z0-9]+/gi,/shorturl\.at\/[a-zA-Z0-9]+/gi,/tiny\.one\/[a-zA-Z0-9]+/gi,/short\.ly\/[a-zA-Z0-9]+/gi,/shorturl\.com\/[a-zA-Z0-9]+/gi,/tiny\.ws\/[a-zA-Z0-9]+/gi,/short\.to\/[a-zA-Z0-9]+/gi,/tiny\.io\/[a-zA-Z0-9]+/gi,/tiny\.pl\/[a-zA-Z0-9]+/gi,/short\.url\/[a-zA-Z0-9]+/gi,/tiny\.me\/[a-zA-Z0-9]+/gi].some((a=>a.test(e)))}const qNe=e=>a.jsx(PTe,{as:"span",className:"inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e.node.attrs.displayName}),ZNe=aTe.create({name:"mergeField",group:"inline",inline:!0,atom:!0,addAttributes:()=>({templateName:{default:null,parseHTML:e=>e.getAttribute("data-template-name")},displayName:{default:null,parseHTML:e=>e.getAttribute("data-display-name")}}),parseHTML:()=>[{tag:"span[data-merge-field]"}],renderHTML:({HTMLAttributes:e})=>["span",HCe(e,{"data-merge-field":"true"})],renderText:({node:e})=>e.attrs.templateName,addNodeView:()=>zTe(qNe)}),$Ne=({value:e,onChange:n,maxLength:i,mergeFieldsResponse:r,editorRef:o,imagePreview:s,onAddImage:l,onRemoveImage:u,isRemovingImage:c,isUpdatingCommunicationGroup:d,initialImageUrls:m,imageBase64:h,isUpdating:p,hasUnsavedChanges:g,communicationGroupId:f,hasDynamicMergeFieldImage:v=!1})=>{const[y,b]=t.useState(0),[k,S]=t.useState(!1),[w,C]=t.useState(!1),[M,T]=t.useState(""),[x,N]=t.useState(!1),[E,_]=t.useState(!1),{updateCommunicationGroup:j}=UN(),{toast:P}=dS(),L=t.useRef(null),B=t.useMemo((()=>r?.mergeFields??[]),[r]),R=t.useCallback((e=>{if(!e)return"";let a=e.replace(/\{\{.*?\}\}/g,(e=>{const a=B.flatMap((e=>e.entries)).find((a=>a.value===e));return a?`<span class="inline-flex items-center px-1 py-0.5 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200" data-merge-field="true" data-template-name="${a.value}" data-display-name="${a.label}">${a.label}</span>`:e}));return a=a.replace(/\n/g,"<br>"),a}),[B]),D=_Te({extensions:[Zxe,ZNe],content:"",editorProps:{attributes:{class:"min-h-[300px] p-3 border border-gray-200 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none prose prose-sm max-w-none"}},onUpdate:({editor:e})=>{const a=e.getText();L.current=a,b(a.length),_(WNe(a)),n(a)}});t.useEffect((()=>{if(D&&null!=e){if(D.isFocused)return;if(D.getText()!==e&&L.current!==e){const a=R(e);D.commands.setContent(a,!1),b(e.length),_(WNe(e)),L.current=e}}}),[D,e,R]);const z=t.useCallback((e=>{if(e.length>0&&D){const a=B.flatMap((e=>e.entries)).find((a=>a.value===e[0]));a&&D.chain().focus().insertContent({type:"mergeField",attrs:{templateName:a.value,displayName:a.label}}).run()}}),[D,B]),O=t.useMemo((()=>B.map((e=>({category:e.category,items:e.entries})))),[B]),I=t.useCallback((()=>{S(!1),l?.()}),[l]),K=t.useCallback((()=>{S(!1),C(!0)}),[]),H=t.useCallback((async()=>{if(M.trim()&&f){N(!0);try{await j({groupId:f,params:{textMessageMediaUrls:[M.trim()]}}),T(""),C(!1),P({title:"Image URL added",description:"The image URL has been added to your SMS message."})}catch(e){P({title:"Failed to add image URL",description:"Please try again.",variant:"destructive"})}finally{N(!1)}}}),[M,f,j,P]);if(!D)return a.jsx("div",{children:"Loading editor..."});const F=(m?.length||0)>=1||c||null!==h||d||v,G=a.jsxs(Ahe,{modal:!0,open:k,onOpenChange:S,children:[a.jsx(Che,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:F,className:"flex items-center gap-2",children:["Add Image",a.jsx(A,{className:"h-3 w-3"})]})}),a.jsx(Mhe,{className:"w-56 p-3 z-[100]",align:"start",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs(Xa,{variant:"ghost",size:"sm",onClick:I,className:"w-full justify-start gap-2 h-9",children:[a.jsx(je,{className:"h-4 w-4"}),"Upload from file"]}),a.jsxs(Xa,{variant:"ghost",size:"sm",onClick:K,className:"w-full justify-start gap-2 h-9",children:[a.jsx(J,{className:"h-4 w-4"}),"Add from URL"]}),a.jsx("div",{className:"text-xs text-muted-foreground pt-1 border-t",children:"Maximum size of all images: 5MB. We will try to compress the image if possible."})]})})]}),V=F&&v?a.jsx(Rx,{title:"Image attachment limit",description:"We've identified an image that will be added to this message through a merge field. To ensure image quality, we don't allow uploading extra images.",asChild:!0,className:"cursor-not-allowed",children:a.jsx("span",{className:"inline-block cursor-not-allowed",children:G})}):G;return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{ref:o,className:"relative",children:[a.jsx(gTe,{id:"wizard-sms-editor-input",editor:D}),a.jsx("div",{className:"absolute bottom-2 right-2 pointer-events-none",children:a.jsxs("div",{className:"flex items-center gap-2",children:[E&&a.jsx("div",{className:"pointer-events-auto",children:a.jsx("div",{className:"bg-red-500 text-white px-2 py-2 rounded-lg shadow-lg flex items-center gap-2 ",children:a.jsx(Rx,{title:"Tiny URL Detected",description:"SMS messages with shortened URLs are often blocked by carriers. We'll try to send it, but it may not reach the recipient.",alertText:"Warning",Icon:_e,iconColor:"text-white",size:"small",link:{url:"https://help.twilio.com/articles/1260804572090-How-can-I-send-shortened-links-in-my-messages",text:"Click to learn more about URL shortening in SMS"}})})}),a.jsxs("div",{className:"px-2 py-1 rounded text-xs font-medium transition-colors duration-300 "+(y>=i?"bg-red-100/90 text-red-700":y>yve?"bg-amber-100/90 text-amber-700":"bg-gray-100/90 text-gray-600"),children:[y,"/",i]})]})})]}),a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs("div",{className:"flex items-center gap-2",children:[s?a.jsx(Xa,{variant:"outline",onClick:u,disabled:c||d,children:"Remove Image"}):V,a.jsx(wi,{open:w,onOpenChange:C,children:a.jsxs(Ti,{className:"sm:max-w-md",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Add Image from URL"}),a.jsxs(_i,{children:["Enter the URL of the image you want to add to your SMS message. You can use merge fields to make the URL dynamic (e.g., https://example.com/images/{{customer_name}}.jpg).",a.jsx("br",{}),a.jsx("br",{}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Maximum size of all images: 5MB. We will try to compress the image if possible."})]})]}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{htmlFor:"image-url",children:"Image URL"}),a.jsx(Qxe,{value:M,onChange:T,mergeFieldsResponse:r,placeholder:"https://example.com/image.jpg",className:"bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50",ariaLabel:"Insert merge field into image URL"})]}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>{T(""),C(!1)},children:"Cancel"}),a.jsx(Xa,{onClick:H,disabled:x,children:x?"Adding...":"Add Image"})]})]})]})}),a.jsx(JNe,{options:O,selectedValues:[],setSelectedValues:()=>{},onValueChange:z,placeholder:`Add ${PN("engage:merge_field")}`,title:`Add ${PN("engage:merge_field")}`,searchPlaceholder:`Search ${PN("engage:merge_field",{count:2}).toLowerCase()}...`,emptyMessage:`No ${PN("engage:merge_field",{count:2}).toLowerCase()} found`,singleSelect:!0,isLoading:!1}),a.jsx(Rx,{size:"large",title:"Merge fields are placeholders for dynamic content. For example you can use the recipients name, or email in the contents of your message."})]})}),a.jsx("div",{className:"flex items-center gap-2",children:a.jsx(UNe,{isSaving:!(!p&&!g),savingText:p||g?"Saving...":"Autosave enabled",size:"xs",textSize:"xs"})})]})},YNe=t.memo((({communicationGroupId:e,initialSenderId:n,companyName:i,modalType:r="popover",align:o="end",trigger:s})=>{const l=t.useRef({communicationGroupId:e,initialSenderId:n,companyName:i}),[u,c]=t.useState(null),[d,m]=t.useState(null),[h,p]=t.useState(!1),[g,f]=t.useState(!1),{channelSenders:v}=DC(),{channelAccounts:y}=LC(),{data:b}=XN(),{updateCommunicationGroupAsync:k,isUpdating:S}=UN(),C=t.useMemo((()=>oE({channelSenders:v?.results??[],channelAccounts:y?.results??[],smsApplication:b})),[v?.results,y?.results,b]);t.useEffect((()=>{g||(l.current={communicationGroupId:e,initialSenderId:n,companyName:i},c(n),m(i),f(!0))}),[e,i,g,n]),t.useEffect((()=>{g&&(c(n),null!=i&&m(i),l.current={communicationGroupId:e,initialSenderId:n,companyName:i})}),[g,n,i,e]);const M=t.useCallback((e=>{c(e)}),[]),T=t.useCallback((e=>{m(e.target.value)}),[]),x=t.useCallback((async()=>{if(g)try{const e={};u!==l.current.initialSenderId&&(e.smsChannelSenderId=u||void 0),d!==l.current.companyName&&(e.textMessageCompanyName=d||null),Object.keys(e).length>0&&await k({groupId:l.current.communicationGroupId,params:e}),p(!1)}catch(e){}}),[g,u,d,k]);t.useEffect((()=>{!h&&g&&(c(l.current.initialSenderId),m(l.current.companyName))}),[h,g]);const N=t.useCallback((e=>{p(e)}),[]),E=t.useMemo((()=>g?a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{htmlFor:"sender-select",className:"text-sm font-medium",children:"From"}),a.jsxs(Fc,{value:u||"",onValueChange:M,children:[a.jsx(Vc,{id:"sender-select",className:"w-full",children:a.jsx(Gc,{placeholder:"Select a sender"})}),a.jsx(Wc,{children:C.map((e=>a.jsx(qc,{value:e.channelSender.id,children:a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx("span",{children:e.channelSender.channelSenderMetadata.friendlyName||e.channelSender.channelSenderMetadata.from}),e.smsApplication?.status===rE.APPROVED&&a.jsx(w,{className:"h-3 w-3 text-green-500"})]})},e.channelSender.id)))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{htmlFor:"company-name",className:"text-sm font-medium",children:"Company Name"}),a.jsx(Rx,{title:"Company name will be included in the SMS message",size:"small"})]}),a.jsx(Io,{id:"company-name-input",value:d||"",onChange:T,placeholder:"Enter company name",className:"w-full"})]}),a.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>p(!1),disabled:S,children:"Cancel"}),a.jsx(Xa,{onClick:x,disabled:S,className:"min-w-[100px]",children:S?a.jsxs(a.Fragment,{children:[a.jsx(W,{className:"h-4 w-4 mr-2 animate-spin"}),a.jsx("span",{children:"Saving..."})]}):"Save"})]})]}):a.jsx("div",{className:"flex items-center justify-center p-4",children:a.jsx(UNe,{isLoading:!0,loadingText:"Loading...",size:"sm",textSize:"sm"})})),[g,u,d,S,C,M,T,x]);return"popover"===r?a.jsxs(Ahe,{open:h,onOpenChange:N,children:[a.jsx(Che,{asChild:!0,children:s||a.jsxs(Xa,{variant:"outline",size:"sm",id:"edit-sender-and-company",className:qa("flex items-center space-x-2",h&&"bg-accent"),children:[a.jsx("span",{children:"Edit Sender & Company"}),a.jsx(A,{className:"h-3 w-3"})]})}),a.jsx(Mhe,{align:o,className:"w-96",children:E})]}):"dialog"===r?a.jsxs(wi,{open:h,onOpenChange:N,children:[a.jsx(Ai,{asChild:!0,children:s||a.jsxs(Xa,{variant:"outline",size:"sm",id:"edit-sender-and-company",className:"flex items-center space-x-2",children:[a.jsx("span",{children:"Edit Sender & Company"}),a.jsx(A,{className:"h-3 w-3"})]})}),a.jsxs(Ti,{className:"min-w-[700px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Edit Sender & Company"})}),E]})]}):a.jsx("div",{className:"w-full",children:E})}),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialSenderId===a.initialSenderId&&e.companyName===a.companyName&&e.modalType===a.modalType&&e.align===a.align));YNe.displayName="SMSSenderAndCompanyEditor";const QNe=t.memo(kNe,((e,a)=>{const t=e.imageUrls||[],n=a.imageUrls||[];if(t.length!==n.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==n[i])return!1;return(e.body||"")===(a.body||"")})),XNe=t.memo((({communicationGroupId:e,initialSenderId:t,companyName:n})=>a.jsx(YNe,{communicationGroupId:e,initialSenderId:t||null,companyName:n||null,modalType:"dialog"})),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialSenderId===a.initialSenderId&&e.companyName===a.companyName)),eEe=t.memo(t.forwardRef((({communicationGroupId:e,initialMessage:n="",initialImageUrls:i=[],companyName:r,initialSenderId:o,onSave:s,className:l,showTestButton:u=!1,onTestClick:c},d)=>{const m=1500,{toast:h}=dS(),{updateCommunicationGroup:p,updateCommunicationGroupAsync:g,isUpdating:f}=UN(),v=tle(),{getMergeFields:y}=WN(e,v?.id??void 0),b=t.useMemo((()=>r??null),[r]),k=t.useCallback((e=>/\{\{[^}]+\}\}/.test(e)),[]),S=t.useCallback((e=>pNe(e)),[]),[w,A]=t.useState(n),[C,M]=t.useState(i.length>0?i[0]:null),[T,x]=t.useState(null),[N,E]=t.useState(!1),[_,j]=t.useState(!1),[P,L]=t.useState(!1),[B,R]=t.useState([]),D=t.useRef(null),z=t.useRef(),O=t.useRef(!0),I=t.useRef(null),K=t.useRef(f),H=t.useRef({message:n}),{communicationGroup:F}=JN(e);t.useEffect((()=>{K.current=f}),[f]);const G=t.useCallback((e=>{if(!F?.extraMergeFields)return[];const a=S(e),t=[];for(const n of F.extraMergeFields)if(n.type===hNe.DYNAMIC)for(const e of n.mergeFields)a.includes(e.templateName)&&e.image&&t.push({templateName:e.templateName,displayName:e.displayName,placeholderUrl:e.image.placeholderUrl,maxSize:e.image.maxSize});return t}),[F?.extraMergeFields,S]),V=t.useMemo((()=>mNe({companyName:b||void 0,smsBody:w})),[b,w]),J=Xxe(w,1e3);t.useEffect((()=>{const e=G(w);R(e)}),[w,G]);const U=t.useCallback((async()=>{if(O.current)return;const a=w||"";if(a.length>m)return void h({title:"SMS is too long",description:"Please shorten your message",variant:"destructive"});if(a!==H.current.message&&0!==a.length)try{const t=g({groupId:e,params:{smsMessageBody:a}});I.current=t,await t,H.current={message:a},L(!1),s?.()}catch(t){h({title:"Autosave failed",description:"Your changes may not have been saved",variant:"destructive"})}finally{I.current=null}}),[w,e,g,h,s]);z.current=U,t.useImperativeHandle(d,(()=>({saveChanges:async()=>{if(O.current)return;if(I.current)try{await I.current}catch(t){}K.current&&await new Promise((e=>{const a=()=>{K.current?setTimeout(a,100):e()};a()}));const a=w||"";if(a.length>m)throw h({title:"SMS is too long",description:"Please shorten your message",variant:"destructive"}),new Error("SMS is too long");if(a!==H.current.message&&0!==a.length)try{await g({groupId:e,params:{smsMessageBody:a}}),H.current={message:a},L(!1),s?.()}catch(t){throw h({title:"Save failed",description:"Your changes may not have been saved",variant:"destructive"}),t}}})),[w,e,g,h,s]),t.useEffect((()=>{if(O.current)return;J!==H.current.message&&!f&&(L(!0),z.current?.())}),[J,f]),t.useEffect((()=>{if(O.current)return;L(w!==H.current.message)}),[w]),t.useEffect((()=>{const e=setTimeout((()=>{O.current=!1}),1500);return()=>clearTimeout(e)}),[]);const W=t.useCallback((async()=>{if(e&&!N){E(!0);try{await p({groupId:e,params:{textMessageMedia:[]}}),M(null),x(null),h({title:"Image removed",description:"The image has been removed from your SMS"})}catch(a){h({title:"Failed to remove image",description:"Please try again",variant:"destructive"})}finally{E(!1)}}}),[e,p,h,N]),q=t.useCallback((async a=>{const t=a.target.files?.[0];if(!t||!e||_)return;D.current&&(D.current.value="");if(t.size>20971520)h({title:"File too large",description:`Sum of all images attached must be 5MB or smaller. The file you tried to upload is ${(t.size/1048576).toFixed(1)}MB.`,variant:"destructive"});else{j(!0);try{const a=new FileReader;a.onloadend=async()=>{try{const t=await AS(a.result),n=CS(t);p({groupId:e,params:{textMessageMedia:[n]}},{onSuccess:()=>{x(n),M(t),E(!1),h({title:"Image uploaded",description:"The image has been added to your SMS"})},onError:e=>{e.message.includes("Image is still too large")?h({title:"Image too large",description:"The image is too large. Please try again with a smaller image.",variant:"destructive"}):h({title:"Error uploading image",description:"Failed to process or upload the image",variant:"destructive"})}})}catch(t){h({title:"Error uploading image",description:"Failed to process or upload the image",variant:"destructive"})}finally{j(!1)}},a.readAsDataURL(t)}catch(n){h({title:"Error reading file",description:"Please try again",variant:"destructive"}),j(!1)}}}),[e,p,h,_]),Z=t.useCallback((()=>{D.current?.click()}),[]);return y?a.jsxs("div",{className:qa("w-full @container",l),children:[!F?.smsChannelSenderId&&a.jsx("div",{className:"mb-6 p-4 bg-amber-50 border border-amber-200 rounded-lg",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx(Rx,{title:"SMS Sender Required",description:"You need to select an SMS sender before you can send SMS messages. Click 'Edit Sender & Company' above to configure your SMS sender.",alertText:"Action Required",size:"medium",iconColor:"text-amber-500"}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h3",{className:"text-sm font-medium text-amber-800 mb-1",children:"SMS Sender Not Selected"}),a.jsx("p",{className:"text-sm text-amber-700",children:'Please select an SMS sender to enable SMS messaging. Click the "Edit Sender & Company" button to configure your sender.'})]})]})}),a.jsx("div",{className:"flex items-center justify-between mb-6",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(XNe,{communicationGroupId:e,initialSenderId:o||null,companyName:b||null}),u&&c&&a.jsxs(Xa,{onClick:c,className:"flex items-center gap-2",children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),"Test SMS"]})]})}),a.jsxs("div",{className:"flex flex-col lg:flex-row gap-6",children:[a.jsxs("div",{className:"flex-1 min-w-0",children:[(C||B.length>0)&&a.jsxs("div",{className:"flex flex-wrap gap-4 justify-center mb-6",children:[C&&a.jsx("div",{className:"relative group w-fit",children:k(C)?a.jsx("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-gray-200 bg-gray-50 p-4 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx("div",{className:"text-sm font-medium text-gray-700 mb-2",children:"Image will be populated at send time based on the following merge fields:"}),a.jsx("div",{className:"flex flex-wrap gap-1 justify-center",children:vNe(C,y).map(((e,t)=>a.jsx("span",{className:"inline-flex items-center px-2 py-1 rounded text-xs bg-blue-100 text-blue-800 font-medium border border-blue-200",children:e},t)))})]})}):a.jsxs("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-green-200 bg-green-50 p-4 flex flex-col items-center justify-center min-h-[12rem]",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center",children:a.jsx("img",{src:C,alt:"SMS attachment preview",className:"max-h-32 max-w-48 rounded-lg border border-green-300 object-contain bg-white",style:{boxShadow:"0 2px 12px 0 rgba(0,0,0,0.06)"}})}),a.jsx("div",{className:"text-xs text-green-600 mt-2",children:"Uploaded Image"})]})}),B.map(((e,t)=>a.jsxs("div",{className:"relative group w-fit",children:[a.jsx("div",{className:"max-h-48 max-w-xs rounded-xl shadow-lg border border-blue-200 bg-blue-50 p-4 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx("img",{src:e.placeholderUrl,alt:`Dynamic merge field ${e.displayName} placeholder`,className:"max-h-32 max-w-48 rounded-lg border border-blue-300 object-contain bg-white",style:{boxShadow:"0 2px 12px 0 rgba(0,0,0,0.06)"}}),a.jsx("div",{className:"text-xs text-blue-600 mt-3",children:e.displayName})]})}),a.jsx("div",{className:"text-xs text-muted-foreground mt-2 text-center",children:"Will be dynamically fetched at send time"})]},t)))]}),a.jsx("input",{type:"file",ref:D,onChange:q,accept:"image/*",className:"hidden"}),a.jsx($Ne,{value:w,onChange:A,maxLength:m,mergeFieldsResponse:y,imagePreview:C,onAddImage:Z,onRemoveImage:W,isRemovingImage:N,isUpdatingCommunicationGroup:f||_,initialImageUrls:i,imageBase64:T,isUpdating:f||_,hasUnsavedChanges:P,communicationGroupId:e,hasDynamicMergeFieldImage:B.length>0})]}),a.jsx("div",{className:"block flex-1 min-w-0",children:a.jsx("div",{className:"sticky top-4",children:a.jsx("div",{className:"rounded-xl p-4",children:a.jsx(QNe,{body:V,imageUrls:[...B.map((e=>e.placeholderUrl)),...C?[C]:[]]})})})})]})]}):a.jsx("div",{className:"flex justify-center items-center p-8",children:a.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading editor..."})})})),((e,a)=>e.communicationGroupId===a.communicationGroupId&&e.initialMessage===a.initialMessage&&e.companyName===a.companyName&&e.initialSenderId===a.initialSenderId&&JSON.stringify(e.initialImageUrls)===JSON.stringify(a.initialImageUrls)&&e.className===a.className)),aEe=({open:e,onOpenChange:t,automation:n})=>a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Send Preview SMS"}),a.jsx(_i,{children:"Send a preview SMS to the automation."})]}),a.jsx(Aye,{automation:n,type:"sms",setOpenSendPreviewPopup:t,open:e})]})}),tEe=e=>e.friendlyName||e.from||e.messageServiceSid||"Unknown Sender",nEe=()=>{const e=tle(),[n,i]=t.useState(!1),r=e?.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.communicationGroupId,{communicationGroup:o,isGetting:s}=JN(r??void 0),{channelSenders:l}=DC(),{channelAccounts:u}=LC(),{data:c}=XN(),{updateCommunicationGroup:d,isUpdating:m}=UN(),{getMergeFields:h,isGetting:p}=WN(o?.id??void 0,e?.id??void 0),g=t.useMemo((()=>oE({channelSenders:l?.results??[],channelAccounts:u?.results??[],smsApplication:c})),[l?.results,u?.results,c]),f=t.useMemo((()=>o?.smsChannelSenderId&&g?.length?g.find((e=>e.channelSender.id===o.smsChannelSenderId)):null),[o?.smsChannelSenderId,g]),v=t.useMemo((()=>f?tEe(f.channelSender.channelSenderMetadata):null),[f]);t.useEffect((()=>{if(o?.id&&g?.length>0&&!o.smsChannelSenderId&&!m){d({groupId:o.id,params:{smsChannelSenderId:g[0].channelSender.id}})}}),[o?.id,o?.smsChannelSenderId,g,d,m]);const y=o?.textMessageMediaUrls??[],b=o?.smsMessageBody||"",k=g.length>0;return s||p||!h||m?a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsx(th,{text:["Fetching Content..."]})}):0===g.length?a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"bg-card rounded-2xl w-full border border-gray-200 p-6 space-y-4 relative text-card-foreground",children:[a.jsx(bve,{title:PN("engage:automation"),type:fve.SMS}),a.jsxs("div",{className:"text-center py-8",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"No SMS Senders Available"}),a.jsx("p",{className:"text-muted-foreground",children:"Please configure SMS senders before editing SMS content."})]})]})}):a.jsxs("div",{id:"wizard-edit-sms-content-step",className:"w-full",children:[a.jsxs("div",{className:"bg-card rounded-2xl w-full p-6 space-y-4 relative text-card-foreground",children:[a.jsx(bve,{title:"SMS Content",type:fve.SMS}),!1===k?a.jsx("div",{className:"w-full pt-8 mx-auto flex items-center justify-center",children:a.jsx(uE,{})}):a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{id:"wizard-sms-from-number-section",className:"space-y-2",children:a.jsxs("div",{className:"text-sm text-muted-foreground text-center",children:["From Number:"," ",a.jsx("span",{id:"wizard-sms-from-number-value",className:"text-foreground font-medium",children:v||"Not configured"})]})}),a.jsx("div",{id:"wizard-sms-content-editor",className:"space-y-4",children:a.jsx(eEe,{communicationGroupId:o?.id,initialMessage:b,initialImageUrls:y,companyName:o?.textMessageCompanyName,initialSenderId:o?.smsChannelSenderId,onSave:()=>{},showTestButton:!0,onTestClick:()=>i(!0)},o?.id)})]})]}),e&&a.jsx(aEe,{open:n,onOpenChange:i,automation:e})]})},iEe=({emailBody:e})=>a.jsx("div",{className:"h-full w-full flex flex-col overflow-hidden",children:a.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-background rounded-lg p-6",children:a.jsx("div",{className:"w-full flex justify-center",children:a.jsx("div",{className:"w-full max-w-4xl",children:a.jsx(Sve,{html:e,expanded:!0})})})})}),rEe=({onOpenChange:e})=>a.jsx("div",{role:"button",tabIndex:0,"aria-label":"Close dialog",onClick:()=>e(!1),onKeyDown:a=>{"Enter"!==a.key&&" "!==a.key||e(!1)},className:"absolute top-3 right-3 z-20 rounded-full p-2 bg-white/80 shadow-lg border border-gray-200 hover:bg-primary/90 hover:text-white active:bg-primary/95 transition-all duration-200 focus:outline-none focus:ring-4 focus:ring-primary/30 focus:ring-offset-2 group cursor-pointer",style:{boxShadow:"0 4px 24px 0 rgba(0,0,0,0.10)"},children:a.jsx(OM.CloseButton,{className:"w-5 h-5 text-primary group-hover:text-primary-foreground group-active:text-primary-foreground transition-colors duration-200"})}),oEe=({expandDialogContent:e})=>{const[n,i]=t.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx(wi,{open:n,onOpenChange:i,children:a.jsxs(Ti,{hideCloseButton:!0,className:"w-[80vw] h-[80vh] max-h-none bg-transparent border-none max-w-screen-lg ",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"Expanded Preview"}),a.jsx(_i,{children:"Expanded view of communication content"})]}),a.jsxs("div",{className:"h-full flex flex-col overflow-hidden rounded-xl",children:[a.jsx(rEe,{onOpenChange:i}),e]})]})}),a.jsx(Xa,{size:"sm",variant:"outline",onClick:()=>i(!0),children:a.jsx(OM.ExpandIcon,{className:"w-3 h-3"})})]})},sEe=({children:e})=>a.jsx("div",{className:"rounded-lg p-6 bg-background flex-1 min-h-0 flex items-center justify-center overflow-y-auto",children:e}),lEe=({smsBody:e,imageUrls:t})=>a.jsx(sEe,{children:a.jsx(kNe,{body:e,imageUrls:t})}),uEe=t.forwardRef((({onClick:e,label:t="Test"},n)=>a.jsxs(Xa,{ref:n,variant:"outline",type:"button",size:"sm",className:"rounded-lg px-3 py-2 flex items-center gap-2 shadow-sm bg-white/80 hover:bg-zinc-100 border border-zinc-200",onClick:e,children:[a.jsx(OM.PreviewButton,{className:"w-3 h-3"}),t]})));uEe.displayName="PreviewButton";var cEe={exports:{}};!function(e){e.exports=function(){var e=1e3,a=6e4,t=36e5,n="millisecond",i="second",r="minute",o="hour",s="day",l="week",u="month",c="quarter",d="year",m="date",h="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,g=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var a=["th","st","nd","rd"],t=e%100;return"["+e+(a[(t-20)%10]||a[t]||a[0])+"]"}},v=function(e,a,t){var n=String(e);return!n||n.length>=a?e:""+Array(a+1-n.length).join(t)+e},y={s:v,z:function(e){var a=-e.utcOffset(),t=Math.abs(a),n=Math.floor(t/60),i=t%60;return(a<=0?"+":"-")+v(n,2,"0")+":"+v(i,2,"0")},m:function e(a,t){if(a.date()<t.date())return-e(t,a);var n=12*(t.year()-a.year())+(t.month()-a.month()),i=a.clone().add(n,u),r=t-i<0,o=a.clone().add(n+(r?-1:1),u);return+(-(n+(t-i)/(r?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:u,y:d,w:l,d:s,D:m,h:o,m:r,s:i,ms:n,Q:c}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},b="en",k={};k[b]=f;var S="$isDayjsObject",w=function(e){return e instanceof T||!(!e||!e[S])},A=function e(a,t,n){var i;if(!a)return b;if("string"==typeof a){var r=a.toLowerCase();k[r]&&(i=r),t&&(k[r]=t,i=r);var o=a.split("-");if(!i&&o.length>1)return e(o[0])}else{var s=a.name;k[s]=a,i=s}return!n&&i&&(b=i),i||!n&&b},C=function(e,a){if(w(e))return e.clone();var t="object"==typeof a?a:{};return t.date=e,t.args=arguments,new T(t)},M=y;M.l=A,M.i=w,M.w=function(e,a){return C(e,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var T=function(){function f(e){this.$L=A(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[S]=!0}var v=f.prototype;return v.parse=function(e){this.$d=function(e){var a=e.date,t=e.utc;if(null===a)return new Date(NaN);if(M.u(a))return new Date;if(a instanceof Date)return new Date(a);if("string"==typeof a&&!/Z$/i.test(a)){var n=a.match(p);if(n){var i=n[2]-1||0,r=(n[7]||"0").substring(0,3);return t?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,r)}}return new Date(a)}(e),this.init()},v.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},v.$utils=function(){return M},v.isValid=function(){return!(this.$d.toString()===h)},v.isSame=function(e,a){var t=C(e);return this.startOf(a)<=t&&t<=this.endOf(a)},v.isAfter=function(e,a){return C(e)<this.startOf(a)},v.isBefore=function(e,a){return this.endOf(a)<C(e)},v.$g=function(e,a,t){return M.u(e)?this[a]:this.set(t,e)},v.unix=function(){return Math.floor(this.valueOf()/1e3)},v.valueOf=function(){return this.$d.getTime()},v.startOf=function(e,a){var t=this,n=!!M.u(a)||a,c=M.p(e),h=function(e,a){var i=M.w(t.$u?Date.UTC(t.$y,a,e):new Date(t.$y,a,e),t);return n?i:i.endOf(s)},p=function(e,a){return M.w(t.toDate()[e].apply(t.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(a)),t)},g=this.$W,f=this.$M,v=this.$D,y="set"+(this.$u?"UTC":"");switch(c){case d:return n?h(1,0):h(31,11);case u:return n?h(1,f):h(0,f+1);case l:var b=this.$locale().weekStart||0,k=(g<b?g+7:g)-b;return h(n?v-k:v+(6-k),f);case s:case m:return p(y+"Hours",0);case o:return p(y+"Minutes",1);case r:return p(y+"Seconds",2);case i:return p(y+"Milliseconds",3);default:return this.clone()}},v.endOf=function(e){return this.startOf(e,!1)},v.$set=function(e,a){var t,l=M.p(e),c="set"+(this.$u?"UTC":""),h=(t={},t[s]=c+"Date",t[m]=c+"Date",t[u]=c+"Month",t[d]=c+"FullYear",t[o]=c+"Hours",t[r]=c+"Minutes",t[i]=c+"Seconds",t[n]=c+"Milliseconds",t)[l],p=l===s?this.$D+(a-this.$W):a;if(l===u||l===d){var g=this.clone().set(m,1);g.$d[h](p),g.init(),this.$d=g.set(m,Math.min(this.$D,g.daysInMonth())).$d}else h&&this.$d[h](p);return this.init(),this},v.set=function(e,a){return this.clone().$set(e,a)},v.get=function(e){return this[M.p(e)]()},v.add=function(n,c){var m,h=this;n=Number(n);var p=M.p(c),g=function(e){var a=C(h);return M.w(a.date(a.date()+Math.round(e*n)),h)};if(p===u)return this.set(u,this.$M+n);if(p===d)return this.set(d,this.$y+n);if(p===s)return g(1);if(p===l)return g(7);var f=(m={},m[r]=a,m[o]=t,m[i]=e,m)[p]||1,v=this.$d.getTime()+n*f;return M.w(v,this)},v.subtract=function(e,a){return this.add(-1*e,a)},v.format=function(e){var a=this,t=this.$locale();if(!this.isValid())return t.invalidDate||h;var n=e||"YYYY-MM-DDTHH:mm:ssZ",i=M.z(this),r=this.$H,o=this.$m,s=this.$M,l=t.weekdays,u=t.months,c=function(e,t,i,r){return e&&(e[t]||e(a,n))||i[t].slice(0,r)},d=function(e){return M.s(r%12||12,e,"0")},m=t.meridiem||function(e,a,t){var n=e<12?"AM":"PM";return t?n.toLowerCase():n};return n.replace(g,(function(e,n){return n||function(e){switch(e){case"YY":return String(a.$y).slice(-2);case"YYYY":return M.s(a.$y,4,"0");case"M":return s+1;case"MM":return M.s(s+1,2,"0");case"MMM":return c(t.monthsShort,s,u,3);case"MMMM":return c(u,s);case"D":return a.$D;case"DD":return M.s(a.$D,2,"0");case"d":return String(a.$W);case"dd":return c(t.weekdaysMin,a.$W,l,2);case"ddd":return c(t.weekdaysShort,a.$W,l,3);case"dddd":return l[a.$W];case"H":return String(r);case"HH":return M.s(r,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return m(r,o,!0);case"A":return m(r,o,!1);case"m":return String(o);case"mm":return M.s(o,2,"0");case"s":return String(a.$s);case"ss":return M.s(a.$s,2,"0");case"SSS":return M.s(a.$ms,3,"0");case"Z":return i}return null}(e)||i.replace(":","")}))},v.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},v.diff=function(n,m,h){var p,g=this,f=M.p(m),v=C(n),y=(v.utcOffset()-this.utcOffset())*a,b=this-v,k=function(){return M.m(g,v)};switch(f){case d:p=k()/12;break;case u:p=k();break;case c:p=k()/3;break;case l:p=(b-y)/6048e5;break;case s:p=(b-y)/864e5;break;case o:p=b/t;break;case r:p=b/a;break;case i:p=b/e;break;default:p=b}return h?p:M.a(p)},v.daysInMonth=function(){return this.endOf(u).$D},v.$locale=function(){return k[this.$L]},v.locale=function(e,a){if(!e)return this.$L;var t=this.clone(),n=A(e,a,!0);return n&&(t.$L=n),t},v.clone=function(){return M.w(this.$d,this)},v.toDate=function(){return new Date(this.valueOf())},v.toJSON=function(){return this.isValid()?this.toISOString():null},v.toISOString=function(){return this.$d.toISOString()},v.toString=function(){return this.$d.toUTCString()},f}(),x=T.prototype;return C.prototype=x,[["$ms",n],["$s",i],["$m",r],["$H",o],["$W",s],["$M",u],["$y",d],["$D",m]].forEach((function(e){x[e[1]]=function(a){return this.$g(a,e[0],e[1])}})),C.extend=function(e,a){return e.$i||(e(a,T,C),e.$i=!0),C},C.locale=A,C.isDayjs=w,C.unix=function(e){return C(1e3*e)},C.en=k[b],C.Ls=k,C.p={},C}()}(cEe);const dEe=bM(cEe.exports),mEe=()=>{const e=tle(),n=nle(),{channelSenders:i}=DC(),{channelAccounts:r}=LC(),{getMergeFields:o}=WN(n?.id??void 0,e?.id??void 0),[s,l]=t.useState(null),[u,c]=t.useState(null),[d,m]=t.useState(null),[h,p]=t.useState(null),[g,f]=t.useState("email"),[v,y]=t.useState(!1),[b,k]=t.useState(!1);t.useEffect((()=>{i&&m(i),r&&p(r)}),[i,r]),t.useEffect((()=>{if(n&&d&&h){const e=n.emailChannelSenderId,a=n.smsChannelSenderId,t=d.results.find((a=>a.id===e)),i=d.results.find((e=>e.id===a));if(t&&n.emailSubject&&n.emailCompiledHtml){const e=t.channelSenderMetadata?.userPart,a=h.results.find((e=>e.id===t.channelAccountId));if(a)switch(a.channelAccountMetadata.type){case BC.REACH_MANAGED:l({fromEmail:`${e}@${a.channelAccountMetadata.baseDomain}.embedreach.com`,fromName:t.channelSenderMetadata?.emailFromName,replyToEmail:t.channelSenderMetadata?.emailReplyTo,subject:n.emailSubject,previewText:n.emailPreviewText,body:n.emailCompiledHtml||n.emailHtmlBody||""});break;case BC.REACH_MANAGED_SES:l({fromEmail:`${e}@${a.channelAccountMetadata.baseDomain}.embedreach.com`,fromName:t.channelSenderMetadata?.emailFromName,subject:n.emailSubject,replyToEmail:t.channelSenderMetadata?.emailReplyTo,previewText:n.emailPreviewText,body:n.emailCompiledHtml||n.emailHtmlBody||""});break;case BC.TWILLIO:break;default:throw The(a.channelAccountMetadata.type,BC)}}if(n.smsChannelSenderId&&i&&n.smsMessageBody){const e=mNe({companyName:n.textMessageCompanyName||void 0,smsBody:n.smsMessageBody});c({fromPhone:tEe(i.channelSenderMetadata),body:e,companyName:n.textMessageCompanyName})}else n.smsChannelSenderId||c(null)}}),[n,d,h]),t.useEffect((()=>{s&&!u?f("email"):u&&!s?f("sms"):s&&u&&f("email")}),[s,u]);if(!e)return a.jsx(th,{text:["Loading..."]});const S=s&&s.body&&s.body.length>0,w=()=>S?a.jsx(uEe,{onClick:()=>y(!0),label:"Test Email"}):null;return a.jsxs("div",{className:"w-full h-full flex flex-col min-w-0",children:[a.jsx("div",{className:"flex items-center justify-between mb-3 flex-shrink-0",children:a.jsxs("div",{children:[a.jsx("h1",{id:"wizard-preview-schedule-title",className:"text-2xl font-semibold text-foreground tracking-tight mb-1",children:"Preview & Schedule"}),a.jsx("p",{className:"text-muted-foreground mt-0.5",children:(()=>{if(e?.triggerMetadata?.triggerType===ME.ONE_TIME){const a=e.triggerMetadata.scheduledAt;if("now"===a)return"Sending immediately";if(a){const e=dEe(a);return`Scheduled for ${e.format("MMM D, YYYY")} at ${e.format("h:mm A")}`}}return"Review your content before sending"})()})]})}),(s||u)&&a.jsx("div",{className:"flex justify-center mb-1 flex-shrink-0",children:a.jsxs("div",{className:"flex bg-background border border-border rounded-md p-0.5 shadow-sm",children:[s&&a.jsx("button",{onClick:()=>f("email"),className:"px-2 py-0.5 rounded text-xs font-medium transition-all duration-200 "+("email"===g?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Email"}),u&&a.jsx("button",{id:"wizard-sms-tab-button",onClick:()=>f("sms"),className:"px-2 py-0.5 rounded text-xs font-medium transition-all duration-200 "+("sms"===g?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"SMS"})]})}),a.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto overflow-x-auto scrollbar-hide w-full min-w-0",children:[a.jsxs(fh,{mode:"wait",children:["email"===g&&s&&a.jsx(tS.div,{initial:{x:300,opacity:0},animate:{x:0,opacity:1},exit:{x:-300,opacity:0},transition:{type:"spring",stiffness:300,damping:30},className:"w-full min-w-0",children:a.jsxs("div",{className:"bg-card rounded-2xl border border-gray-200 p-6 w-full min-w-0",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 sm:gap-0 mb-4",children:[a.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"Email Preview"}),a.jsxs("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap",children:[a.jsx(w,{}),s&&a.jsx(oEe,{expandDialogContent:a.jsx(iEe,{emailBody:s.body})}),a.jsxs(Ahe,{children:[a.jsxs(Che,{className:"inline-flex items-center text-sm text-foreground hover:text-foreground transition-colors flex-shrink-0 px-2 sm:px-3 py-2 rounded-lg border border-zinc-200 bg-white/80 hover:bg-zinc-100 shadow-sm",id:"email-preview-details-button",children:["Details ",a.jsx(A,{className:"w-4 h-4 ml-1"})]}),a.jsx(Mhe,{align:"end",className:"w-96",children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"From Name"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.fromName||"Not configured"})]}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"From Email"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.fromEmail})]}),a.jsxs("div",{className:"flex items-start justify-between",id:"email-preview-reply-to-email",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"Reply To"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.replyToEmail})]}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:"text-sm font-medium text-foreground",children:"Preview Text"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:s.previewText?a.jsx(bNe,{content:s.previewText,mergeFieldsResponse:o,className:"text-sm text-muted-foreground"}):"Not configured"})]})]})})]})]})]}),a.jsx("div",{className:"mb-6",children:a.jsx("div",{className:"space-y-4",children:a.jsx("div",{className:"p-6 min-w-0",children:a.jsx("div",{className:"border-b border-gray-200 pb-3",children:a.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[a.jsxs("div",{className:"flex flex-col gap-2 min-w-0 flex-1 overflow-hidden",children:[a.jsx("div",{id:"wizard-email-subject-preview",className:"min-w-0 overflow-hidden text-xl font-medium text-gray-900 leading-tight truncate",children:a.jsx(bNe,{content:s.subject,mergeFieldsResponse:o,className:"block truncate"})}),s.previewText&&a.jsx("div",{id:"wizard-email-preview-text-preview",className:"min-w-0 overflow-hidden text-xs text-muted-foreground truncate",children:a.jsx(bNe,{content:s.previewText,mergeFieldsResponse:o,className:"block truncate"})})]}),a.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap hidden sm:inline flex-shrink-0",children:[s.fromName||"Sender"," ",a.jsxs("span",{className:"text-gray-400",children:["<",s.fromEmail,">"]})]})]})})})})}),a.jsx("div",{className:"flex-1 min-h-0 w-full min-w-0",children:a.jsx("div",{className:"w-full overflow-x-auto",children:a.jsx(Sve,{html:s.body})})})]})},"email"),"sms"===g&&u&&a.jsx(tS.div,{initial:{x:300,opacity:0},animate:{x:0,opacity:1},exit:{x:-300,opacity:0},transition:{type:"spring",stiffness:300,damping:30},className:"w-full min-w-0",children:a.jsxs("div",{className:"bg-card rounded-2xl border border-gray-200 p-6 w-full min-w-0",children:[a.jsx("div",{className:"flex items-center justify-between mb-4",children:a.jsx("h3",{className:"text-lg font-semibold text-gray-900",children:"SMS Preview"})}),a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3",children:[a.jsxs("div",{className:"text-sm text-muted-foreground",children:["From number:"," ",a.jsx("span",{className:"font-medium text-foreground",children:u.fromPhone})]}),a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(uEe,{onClick:()=>k(!0),label:"Test SMS"}),a.jsx(oEe,{expandDialogContent:a.jsx(lEe,{smsBody:u.body,imageUrls:[]})})]})]}),a.jsx("div",{className:"border-t border-gray-200 my-3"}),a.jsx("div",{className:"flex-1 min-h-0",children:a.jsx("div",{id:"wizard-sms-body-preview",children:a.jsx(kNe,{body:u.body,imageUrls:[]})})})]})]})},"sms")]}),!s&&!u&&a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"No Preview Data"}),a.jsx("p",{className:"text-muted-foreground",children:"Please complete previous steps to see previews"})]})})]}),(s||u)&&a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4 min-w-0",children:"These previews show generally how your messages will appear to your customers"}),e&&a.jsx(Cye,{open:v,onOpenChange:y,automation:e}),e&&a.jsx(aEe,{open:b,onOpenChange:k,automation:e})]})},hEe=({title:e,children:t,headerActions:n})=>a.jsxs("div",{className:"max-w-[1000px] mx-auto w-full flex-1 flex flex-col gap-4 pt-4",children:[a.jsxs("div",{className:"px-4 flex",children:[a.jsx(N_,{className:"text-primary",children:e}),n&&a.jsx("div",{className:"ml-auto",children:n})]}),t]});function pEe({className:e,classNames:t,showOutsideDays:n=!0,...i}){const r={months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:qa(Qa({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-[#6b7280] rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-[#f1f5f9] [&:has([aria-selected].day-outside)]:bg-[#f1f5f9]/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",day:qa(Qa({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"!bg-black !text-gray-200 hover:!bg-black hover:!text-gray-200 focus:!bg-black focus:!text-white",day_today:"bg-gray-200 text-black",day_outside:"day-outside text-[#94a3b8] aria-selected:bg-[#f1f5f9]/50 aria-selected:text-[#94a3b8]",day_disabled:"text-[#94a3b8] opacity-50",day_range_middle:"aria-selected:bg-[#f1f5f9] aria-selected:text-black",day_hidden:"invisible",...t};return a.jsx(Ofe,{showOutsideDays:n,className:qa("p-3",e),classNames:r,components:{IconLeft:()=>a.jsx(C,{className:"h-4 w-4"}),IconRight:()=>a.jsx(M,{className:"h-4 w-4"})},...i})}pEe.displayName="Calendar";const gEe=({setScheduleTime:e,setTimezone:t,timezone:n,scheduleTime:i,setIsDirty:o,canEditScheduleTime:s})=>{const[l,u]=r.useState(s&&i&&i<(new Date).toISOString()?"Please select a time in the future":null),[c,d]=r.useState(i&&"now"!==i?kce(new Date(i),"HH:mm"):"00:00"),m=Intl.supportedValuesOf("timeZone").filter((e=>"Pacific/Honolulu"===e||"America/Anchorage"===e||"America/New_York"===e||"America/Chicago"===e||"America/Denver"===e||"America/Los_Angeles"===e||"America/Phoenix"===e||"America/Boise"===e||"America/Detroit"===e||"America/Indiana/Indianapolis"===e||"America/Kentucky/Louisville"===e||"America/Maine"===e||"America/Maryland"===e||"America/Massachusetts"===e||"America/Michigan"===e||"America/Minnesota"===e||"America/Missouri"===e||"America/Nebraska"===e||"America/North_Dakota"===e||"America/Ohio"===e||"America/Pennsylvania"===e||"America/South_Dakota"===e||"America/Tennessee"===e||"America/Texas"===e||"America/Vermont"===e||"America/Virginia"===e||"America/Wisconsin"===e)).map((e=>({label:e.replace(/_/g," "),value:e}))),h=e=>{if(!s)return;const a=new Date(i||(new Date).toISOString()),n=Lue(new Date,15);a<new Date(n.toLocaleString("en-US",{timeZone:e}))?u("Please select a time at least 15 minutes in the future"):(u(null),t(e),o(!0))},p=a=>{if(!s)return;const t=Lue(new Date,15);new Date(a.toLocaleString("en-US",{timeZone:n}))<new Date(t.toLocaleString("en-US",{timeZone:n}))?u("Please select a time at least 15 minutes in the future"):(u(null),e(a.toISOString()),o(!0))};return a.jsx("div",{className:"w-full @container/schedule-time",children:a.jsxs("div",{className:"flex flex-col items-start justify-start h-full",children:[a.jsxs("div",{className:"flex gap-3 w-full @xl/schedule-time:flex-row flex-col items-start justify-start",children:[a.jsxs(Ahe,{children:[a.jsx(Che,{asChild:!0,children:a.jsxs(Xa,{variant:"outline",disabled:!s,className:qa("bg-white border-gray-200 hover:bg-gray-50 w-full sm:w-[280px] justify-start text-left font-normal h-10",!i&&"text-gray-500",!s&&"opacity-50 cursor-not-allowed"),children:[a.jsx(k,{className:"mr-2 h-4 w-4 text-gray-600"}),i?"now"===i?"Send immediately":kce(new Date(i),"PPP"):a.jsx("span",{children:"Pick a date"})]})}),a.jsx(Mhe,{className:"w-auto p-0 z-[60] pointer-events-auto",children:a.jsx(pEe,{mode:"single",selected:i?new Date(i):void 0,onSelect:e=>{if(!e||!s)return;const[a,t]=c.split(":").map(Number);e.setHours(a,t),p(e)},disabled:e=>{const a=new Date;return a.setHours(0,0,0,0),e<a||!s},initialFocus:!0})})]}),a.jsx("input",{type:"time",value:c,onChange:e=>{if(s&&(d(e.target.value),i&&e.target.value)){const[a,t]=e.target.value.split(":").map(Number),n=new Date(i);n.setHours(a,t),p(n)}},disabled:!s,className:qa("flex h-10 w-full sm:w-[150px] rounded-lg border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-background","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2","hover:border-gray-300 transition-colors",l&&"border-red-500",!s&&"opacity-50 cursor-not-allowed")}),a.jsx("div",{className:"w-full sm:w-[200px]",children:a.jsx(JNe,{options:[{category:"Timezones",items:m}],selectedValues:[n],setSelectedValues:e=>h(e[0]),onValueChange:e=>h(e[0]),isLoading:!1,placeholder:"Select timezone...",searchPlaceholder:"Search timezone...",emptyMessage:"No timezone found",title:"Select Timezone",singleSelect:!0,canOpen:s})})]}),l&&a.jsxs("p",{className:"text-red-600 text-sm mt-3 flex items-center",children:[a.jsx("span",{className:"mr-2",children:"⚠️"}),l]})]})})},fEe=({title:e="Edit Schedule Time"})=>{const n=tle(),i=sm(),{updateAutomation:r}=zE(n?.id||""),{toast:o}=dS(),[s,l]=t.useState(null),[u,c]=t.useState(n?.triggerMetadata?.triggerType===ME.ONE_TIME?n?.triggerMetadata?.scheduledAt:null),[d,m]=t.useState(n?.triggerMetadata?.triggerType===ME.ONE_TIME&&n?.triggerMetadata?.timezone||"America/New_York"),[h,p]=t.useState(!1),[g,f]=t.useState(null);let v=t.useRef(null);const y=t.useCallback((()=>{n&&("sendNow"===s||"now"===u?r({trigger:{triggerType:ME.ONE_TIME,scheduledAt:"now"}},{onSuccess:()=>{},onError:()=>{o({title:"Failed to update schedule time",description:"Please try again",variant:"destructive"}),i.invalidateQueries({queryKey:Kx.all})}}):u&&d&&r({trigger:{triggerType:ME.ONE_TIME,scheduledAt:u,timezone:d}},{onSuccess:()=>{},onError:()=>{o({title:"Failed to update schedule time",description:"Please try again",variant:"destructive"}),i.invalidateQueries({queryKey:Kx.all})}}))}),[n,s,u,d,r,o,i]);if(t.useEffect((()=>(g&&(v.current&&clearTimeout(v.current),v.current=setTimeout((()=>{o(g),f(null)}),800)),()=>{v.current&&clearTimeout(v.current)})),[g,o]),t.useEffect((()=>{n&&h&&s&&("sendNow"===s||u)&&(y(),p(!1))}),[s,u,d,y,n,h]),t.useEffect((()=>{null===s&&n?.triggerMetadata&&"object"==typeof n.triggerMetadata&&null!==n.triggerMetadata&&"scheduledAt"in n.triggerMetadata&&("now"===n?.triggerMetadata?.scheduledAt&&n?.triggerType===ME.ONE_TIME?l("sendNow"):(n?.triggerMetadata?.scheduledAt&&c(n.triggerMetadata.scheduledAt),n?.triggerMetadata?.timezone&&m(n.triggerMetadata.timezone),l("schedule")))}),[n,s]),!n)return null;const b=n.status===_E.DRAFT,k=PN(n?.triggerType===ME.ONE_TIME?"engage:automation":"engage:broadcast");return a.jsx(hEe,{title:e,headerActions:!b&&a.jsx(Rx,{title:"You can only edit the schedule time if the automation is in draft mode"}),children:a.jsx("div",{className:"flex-1 mx-4",children:a.jsx("div",{className:"flex flex-col gap-8 items-start",children:a.jsxs("div",{className:"flex-1 w-full",children:[a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 w-full",children:[a.jsx("div",{id:"wizard-schedule-immediately-option",className:"min-w-0 w-full",children:a.jsx(ule,{selected:"sendNow"===s,title:"Immediately",subtitle:`Messages will be sent within ~2 minutes of starting the ${k.toLowerCase()}. Check the Recipients tab to see who has received a message.`,icon:a.jsx(OM.SendButton,{className:"text-primary"}),onClick:()=>{b&&(l("sendNow"),c("now"),m("America/New_York"),p(!0))},disabled:!b,className:"w-full h-full"})}),a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(ule,{selected:"schedule"===s,title:"Schedule",subtitle:`Choose date and time. Any ${k.toLowerCase()} scheduled more than 2 hours from now can be unscheduled and updated.`,icon:a.jsx(OM.ScheduleButton,{className:"text-primary"}),onClick:()=>{if(b&&(l("schedule"),"sendNow"===s||"now"===u||null===u)){const e=new Date;e.setHours(e.getHours()+5),c(e.toISOString()),p(!0)}},disabled:!b,className:"w-full h-full"})})]}),u&&"now"!==u&&a.jsx(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full p-3 bg-white rounded-lg border border-gray-200 shadow-sm mt-8",children:a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("div",{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"Currently scheduled for"}),a.jsx("div",{className:"text-sm font-medium text-gray-900",children:new Date(u).toLocaleString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0,timeZoneName:"short",timeZone:d||void 0})})]})}),a.jsx(fh,{children:"schedule"===s&&a.jsx(Yoe,{className:"mt-8",children:a.jsx("div",{className:"bg-white rounded-lg p-6 border border-gray-200 shadow-sm",children:a.jsx(gEe,{setScheduleTime:e=>{c(e),p(!0)},setTimezone:e=>{m(e),p(!0)},timezone:d,scheduleTime:u,setIsDirty:p,canEditScheduleTime:b})})})})]})})})})},vEe=()=>a.jsx("div",{id:"wizard-schedule-step",className:"flex justify-center items-center h-full",children:a.jsx(fEe,{title:"Set Schedule Time"})});var yEe=(e=>(e.ALL="all",e.SEGMENTS="segments",e.INDIVIDUAL="individual",e))(yEe||{});const bEe=e=>`ONE-OFF-SEGMENT-${e}`,kEe=({onSelectStyle:e})=>{const[n,i]=t.useState(null);return a.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 p-4 max-w-4xl mx-auto",children:[a.jsx(ule,{onClick:()=>{i(Kfe.AI),e(Kfe.AI)},title:a.jsx("div",{className:"inline-flex items-center gap-2",children:a.jsx("span",{children:"Build with AI"})}),subtitle:"Describe your audience in plain language and let AI create the conditions",icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsxs("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:[a.jsx(we,{className:"w-full h-full"}),a.jsx(ive,{size:"sm"})]})}),selected:n===Kfe.AI}),a.jsx(ule,{onClick:()=>{i(Kfe.MANUAL),e(Kfe.MANUAL)},title:"Build Manually",subtitle:`Create your ${PN("engage:segment")} by configuring conditions directly`,icon:a.jsx("div",{className:"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx("div",{className:"w-6 h-6 text-[hsl(var(--reach-primary))]",children:a.jsx(fe,{className:"w-full h-full"})})}),selected:n===Kfe.MANUAL})]})},SEe=({email:e,phone:t,className:n="",size:i="md"})=>{const r={sm:"px-1.5 py-0.5 text-xs",md:"px-2 sm:px-2.5 py-1 text-xs"},o="font-medium rounded-lg cursor-pointer transition-colors";return a.jsxs("div",{className:`flex flex-wrap gap-1.5 sm:gap-2 ${n}`,children:[e&&a.jsx(Rx,{title:e,children:a.jsx("span",{className:`${o} bg-blue-100/50 text-blue-700 hover:bg-blue-200/50 ${r[i]}`,children:"Email"})}),t&&a.jsx(Rx,{title:t,children:a.jsx("span",{className:`${o} bg-green-100/50 text-green-700 hover:bg-green-200/50 ${r[i]}`,children:"Phone"})})]})},wEe=({recipients:e,filter:n="all",audienceMode:i,isSegmentBuilder:r=!1,isLoading:o=!1,searchQuery:s="",onSearchChange:l,onLoadMore:u,hasMore:c=!1,isLoadingMore:d=!1})=>{const[m,h]=t.useState(!1),[p,g]=t.useState(void 0),[f,v]=t.useState(50),[y,b]=t.useState(!1),k=t.useRef(null),S=t.useRef(null),w=t.useRef(null),A=t.useRef(!1),C=u?d:y,M=t.useMemo((()=>e?.filter((e=>{const a=!!e.email,t=!!e.phone;switch(n){case"email":return a;case"phone":return t;default:return!0}}))),[e,n]),T=t.useMemo((()=>u?M||[]:M?.slice(0,f)||[]),[M,f,u]),x=u?c:(M?.length||0)>f,N=t.useCallback((()=>{if(!A.current)if(u)C||!c||A.current||(A.current=!0,u(),setTimeout((()=>{A.current=!1}),1e3));else{if(y||!x||A.current)return;A.current=!0,b(!0),setTimeout((()=>{v((e=>Math.min(e+50,M?.length||0))),b(!1),A.current=!1}),300)}}),[u,C,y,c,x,M?.length]),E=t.useCallback((()=>{const e=S.current;if(!e||C||!x||A.current)return;const{scrollTop:a,scrollHeight:t,clientHeight:n}=e;t-(a+n)<100&&N()}),[N,C,x]);return t.useEffect((()=>{if(!r||!k.current)return;const e=()=>{const e=k.current;if(!e)return;const a=e.parentElement;if(!a)return;const t=window.innerHeight,n=Math.min(a.clientHeight-60,.6*t);g(Math.max(200,n))};e();const a=()=>e();return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)}),[r,e.length]),t.useEffect((()=>{v(50)}),[s,n]),t.useEffect((()=>{if(m&&w.current&&document.activeElement!==w.current){const e=setTimeout((()=>{w.current&&document.activeElement!==w.current&&w.current.focus()}),0);return()=>clearTimeout(e)}}),[m,e.length,s]),t.useEffect((()=>{const e=S.current;if(e)return e.addEventListener("scroll",E),()=>e.removeEventListener("scroll",E)}),[E]),a.jsxs("div",{ref:k,className:"flex flex-col "+(r?"h-full":"bg-foreground/5 rounded-lg border border-gray-200/50 max-h-[600px]"),style:r&&p?{maxHeight:`${p}px`}:void 0,children:[a.jsxs("div",{className:"flex-shrink-0 flex items-center px-3 py-3 bg-foreground/5 backdrop-blur-sm",children:[a.jsx("div",{className:"flex-1 text-xs font-medium text-gray-500 uppercase tracking-wide",children:"Name"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs font-medium text-gray-500 uppercase tracking-wide",children:"Contact"}),a.jsx("button",{onClick:()=>h(!m),className:"p-1.5 rounded-md hover:bg-gray-200/50 transition-colors",title:"Search recipients",children:a.jsx(pe,{className:"w-4 h-4 text-gray-500"})})]})]}),s.trim()&&M.length>0&&a.jsx("div",{className:"flex-shrink-0 px-3 py-2 bg-blue-50/50 border-b border-blue-100/50",children:a.jsxs("p",{className:"text-xs text-blue-700",children:['Showing all users matching "',s,'"']})}),a.jsx(fh,{mode:"wait",children:m&&a.jsxs(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2},className:"flex-shrink-0 bg-white/80 backdrop-blur-sm border-b border-gray-200 px-3 py-3",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(pe,{className:"w-4 h-4 text-gray-500 flex-shrink-0"}),a.jsx("input",{ref:w,type:"text",placeholder:fNe,value:s,onChange:e=>l?.(e.target.value),className:"flex-1 bg-transparent border-none outline-none text-sm placeholder:text-gray-400",autoFocus:!0}),a.jsx("button",{onClick:()=>{h(!1),l?.("")},className:"p-1 rounded-md hover:bg-gray-200/50 transition-colors",children:a.jsx(De,{className:"w-4 h-4 text-gray-500"})})]}),s.trim()&&a.jsx("p",{className:"text-xs text-gray-500 mt-1.5 ml-6",children:"Searching across all recipients"})]},"search-input")}),a.jsx("div",{ref:S,className:"flex-1 overflow-y-auto min-h-0",children:a.jsx(fh,{mode:"wait",children:o?a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex justify-center py-8",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})},"loading"):M?.length?a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},children:[T.map(((e,t)=>a.jsxs(tS.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.2,delay:t<50?.02*t:0},className:"flex items-center px-3 py-3 border-b border-gray-200/50 hover:bg-white/50 transition-colors",children:[a.jsx("div",{className:"flex-1 text-sm text-gray-900",children:gNe(e,`Unnamed ${PN("engage:user")}`)}),a.jsx(SEe,{email:e.email,phone:e.phone})]},`recipient-${t}`))),C&&T.length>0&&a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex justify-center items-center py-6 border-t border-gray-200/50",children:a.jsxs("div",{className:"flex flex-col items-center gap-2",children:[a.jsx(th,{size:"sm",textColor:"text-gray-500"}),a.jsx("span",{className:"text-xs text-gray-500",children:"Loading more recipients..."})]})})]},"content"):a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"text-center py-8",children:a.jsx("div",{className:"text-gray-400 text-sm mb-2",children:s.trim()?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"text-gray-500 font-medium mb-1",children:"No recipients found"}),a.jsxs("div",{className:"text-gray-400 text-xs",children:['No recipients match "',s,'"']})]}):"email"===n?"No recipients with email addresses":"phone"===n?"No recipients with phone numbers":"all"===n&&(r?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"text-gray-500 font-medium mb-1",children:"No conditions defined"}),a.jsx("div",{className:"text-gray-400 text-xs",children:"Add conditions to see which users match your criteria"})]}):"segments"===i?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"text-gray-500 font-medium mb-1",children:["No ",PN("engage:segment").toLowerCase()," selected"]}),a.jsxs("div",{className:"text-gray-400 text-xs",children:["Select one or more"," ",PN("engage:segment",{count:2}).toLowerCase()," from the list above to see your recipients"]})]}):"individual"===i?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"text-gray-500 font-medium mb-1",children:["No individual"," ",PN("engage:user",{count:2}).toLowerCase()," selected"]}),a.jsxs("div",{className:"text-gray-400 text-xs",children:["Choose specific"," ",PN("engage:user",{count:2}).toLowerCase()," from the dropdown above to see your recipients"]})]}):"No recipients found")})},"empty")})})]})},AEe=(e,a)=>{switch(e){case wse.EQUALS:return"Equals";case wse.NOT_EQUALS:return"Not Equals";case wse.GREATER_THAN:return a===Bse.Date?"Is After Date":"Greater than";case wse.LESS_THAN:return a===Bse.Date?"Is Before Date":"Less Than";case wse.EXISTS:return"Is Known";case wse.NOT_EXISTS:return"Is Not Known";case wse.EQUALS_MONTH_DAY:return"On This Date (Every Year)";case wse.EQUALS_MONTH_DAY_YEAR:return"Is On Date";case wse.BETWEEN_MONTH_DAY:return"Is Between Dates (Every Year)";case wse.BETWEEN_MONTH_DAY_YEAR:return"Is Between Dates";case wse.ARRAY_CONTAINS:return"Is One Of";default:return e}},CEe={email:"Email Address",phone:"Phone Number",firstName:"First Name",lastName:"Last Name"};function MEe(e,a,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),!1===t||!n.defaultPrevented)return a?.(n)}}function TEe(e,t=[]){let n=[];const i=()=>{const a=n.map((e=>r.createContext(e)));return function(t){const n=t?.[e]||a;return r.useMemo((()=>({[`__scope${e}`]:{...t,[e]:n}})),[t,n])}};return i.scopeName=e,[function(t,i){const o=r.createContext(i),s=n.length;n=[...n,i];const l=t=>{const{scope:n,children:i,...l}=t,u=n?.[e]?.[s]||o,c=r.useMemo((()=>l),Object.values(l));return a.jsx(u.Provider,{value:c,children:i})};return l.displayName=t+"Provider",[l,function(a,n){const l=r.useContext(n?.[e]?.[s]||o);if(l)return l;if(void 0!==i)return i;throw new Error(`\`${a}\` must be used within \`${t}\``)}]},xEe(i,...t)]}function xEe(...e){const a=e[0];if(1===e.length)return a;const t=()=>{const t=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const n=t.reduce(((a,{useScope:t,scopeName:n})=>({...a,...t(e)[`__scope${n}`]})),{});return r.useMemo((()=>({[`__scope${a.scopeName}`]:n})),[n])}};return t.scopeName=a.scopeName,t}function NEe(e,a){if("function"==typeof e)return e(a);null!=e&&(e.current=a)}function EEe(...e){return a=>{let t=!1;const n=e.map((e=>{const n=NEe(e,a);return t||"function"!=typeof n||(t=!0),n}));if(t)return()=>{for(let a=0;a<n.length;a++){const t=n[a];"function"==typeof t?t():NEe(e[a],null)}}}}function _Ee(...e){return r.useCallback(EEe(...e),e)}function jEe(e){const t=PEe(e),n=r.forwardRef(((e,n)=>{const{children:i,...o}=e,s=r.Children.toArray(i),l=s.find(BEe);if(l){const e=l.props.children,i=s.map((a=>a===l?r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null:a));return a.jsx(t,{...o,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,i):null})}return a.jsx(t,{...o,ref:n,children:i})}));return n.displayName=`${e}.Slot`,n}function PEe(e){const a=r.forwardRef(((e,a)=>{const{children:t,...n}=e;if(r.isValidElement(t)){const e=function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(t),i=function(e,a){const t={...a};for(const n in a){const i=e[n],r=a[n];/^on[A-Z]/.test(n)?i&&r?t[n]=(...e)=>{r(...e),i(...e)}:i&&(t[n]=i):"style"===n?t[n]={...i,...r}:"className"===n&&(t[n]=[i,r].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==r.Fragment&&(i.ref=a?EEe(a,e):e),r.cloneElement(t,i)}return r.Children.count(t)>1?r.Children.only(null):null}));return a.displayName=`${e}.SlotClone`,a}var LEe=Symbol("radix.slottable");function BEe(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===LEe}var REe=globalThis?.document?r.useLayoutEffect:()=>{},DEe=r[" useId ".trim().toString()]||(()=>{}),zEe=0;function OEe(e){const[a,t]=r.useState(DEe());return REe((()=>{e||t((e=>e??String(zEe++)))}),[e]),e||(a?`radix-${a}`:"")}var IEe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce(((e,t)=>{const n=jEe(`Primitive.${t}`),i=r.forwardRef(((e,i)=>{const{asChild:r,...o}=e,s=r?n:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),a.jsx(s,{...o,ref:i})}));return i.displayName=`Primitive.${t}`,{...e,[t]:i}}),{});var KEe=r[" useInsertionEffect ".trim().toString()]||REe;function HEe({prop:e,defaultProp:a,onChange:t=()=>{},caller:n}){const[i,o,s]=function({defaultProp:e,onChange:a}){const[t,n]=r.useState(e),i=r.useRef(t),o=r.useRef(a);return KEe((()=>{o.current=a}),[a]),r.useEffect((()=>{i.current!==t&&(o.current?.(t),i.current=t)}),[t,i]),[t,n,o]}({defaultProp:a,onChange:t}),l=void 0!==e,u=l?e:i;{const a=r.useRef(void 0!==e);r.useEffect((()=>{const e=a.current;if(e!==l){}a.current=l}),[l,n])}const c=r.useCallback((a=>{if(l){const t=function(e){return"function"==typeof e}(a)?a(e):a;t!==e&&s.current?.(t)}else o(a)}),[l,e,o,s]);return[u,c]}var FEe=r.createContext(void 0);function GEe(e){const a=r.useContext(FEe);return e||a||"ltr"}var VEe="rovingFocusGroup.onEntryFocus",JEe={bubbles:!1,cancelable:!0},UEe="RovingFocusGroup",[WEe,qEe,ZEe]=function(e){const n=e+"CollectionProvider",[i,r]=TEe(n),[o,s]=i(n,{collectionRef:{current:null},itemMap:new Map}),l=e=>{const{scope:n,children:i}=e,r=t.useRef(null),s=t.useRef(new Map).current;return a.jsx(o,{scope:n,itemMap:s,collectionRef:r,children:i})};l.displayName=n;const u=e+"CollectionSlot",c=jEe(u),d=t.forwardRef(((e,t)=>{const{scope:n,children:i}=e,r=_Ee(t,s(u,n).collectionRef);return a.jsx(c,{ref:r,children:i})}));d.displayName=u;const m=e+"CollectionItemSlot",h="data-radix-collection-item",p=jEe(m),g=t.forwardRef(((e,n)=>{const{scope:i,children:r,...o}=e,l=t.useRef(null),u=_Ee(n,l),c=s(m,i);return t.useEffect((()=>(c.itemMap.set(l,{ref:l,...o}),()=>{c.itemMap.delete(l)}))),a.jsx(p,{[h]:"",ref:u,children:r})}));return g.displayName=m,[{Provider:l,Slot:d,ItemSlot:g},function(a){const n=s(e+"CollectionConsumer",a);return t.useCallback((()=>{const e=n.collectionRef.current;if(!e)return[];const a=Array.from(e.querySelectorAll(`[${h}]`));return Array.from(n.itemMap.values()).sort(((e,t)=>a.indexOf(e.ref.current)-a.indexOf(t.ref.current)))}),[n.collectionRef,n.itemMap])},r]}(UEe),[$Ee,YEe]=TEe(UEe,[ZEe]),[QEe,XEe]=$Ee(UEe),e_e=r.forwardRef(((e,t)=>a.jsx(WEe.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(WEe.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(a_e,{...e,ref:t})})})));e_e.displayName=UEe;var a_e=r.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:i,loop:o=!1,dir:s,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:m=!1,...h}=e,p=r.useRef(null),g=_Ee(t,p),f=GEe(s),[v,y]=HEe({prop:l,defaultProp:u??null,onChange:c,caller:UEe}),[b,k]=r.useState(!1),S=function(e){const a=r.useRef(e);return r.useEffect((()=>{a.current=e})),r.useMemo((()=>(...e)=>a.current?.(...e)),[])}(d),w=qEe(n),A=r.useRef(!1),[C,M]=r.useState(0);return r.useEffect((()=>{const e=p.current;if(e)return e.addEventListener(VEe,S),()=>e.removeEventListener(VEe,S)}),[S]),a.jsx(QEe,{scope:n,orientation:i,dir:f,loop:o,currentTabStopId:v,onItemFocus:r.useCallback((e=>y(e)),[y]),onItemShiftTab:r.useCallback((()=>k(!0)),[]),onFocusableItemAdd:r.useCallback((()=>M((e=>e+1))),[]),onFocusableItemRemove:r.useCallback((()=>M((e=>e-1))),[]),children:a.jsx(IEe.div,{tabIndex:b||0===C?-1:0,"data-orientation":i,...h,ref:g,style:{outline:"none",...e.style},onMouseDown:MEe(e.onMouseDown,(()=>{A.current=!0})),onFocus:MEe(e.onFocus,(e=>{if(e.target===e.currentTarget&&!A.current&&!b){const a=new CustomEvent(VEe,JEe);if(e.currentTarget.dispatchEvent(a),!a.defaultPrevented){const e=w().filter((e=>e.focusable));r_e([e.find((e=>e.active)),e.find((e=>e.id===v)),...e].filter(Boolean).map((e=>e.ref.current)),m)}}A.current=!1})),onBlur:MEe(e.onBlur,(()=>k(!1)))})})})),t_e="RovingFocusGroupItem",n_e=r.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:i=!0,active:o=!1,tabStopId:s,children:l,...u}=e,c=OEe(),d=s||c,m=XEe(t_e,n),h=m.currentTabStopId===d,p=qEe(n),{onFocusableItemAdd:g,onFocusableItemRemove:f,currentTabStopId:v}=m;return r.useEffect((()=>{if(i)return g(),()=>f()}),[i,g,f]),a.jsx(WEe.ItemSlot,{scope:n,id:d,focusable:i,active:o,children:a.jsx(IEe.span,{tabIndex:h?0:-1,"data-orientation":m.orientation,...u,ref:t,onMouseDown:MEe(e.onMouseDown,(e=>{i?m.onItemFocus(d):e.preventDefault()})),onFocus:MEe(e.onFocus,(()=>m.onItemFocus(d))),onKeyDown:MEe(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;const a=function(e,a,t){const n=function(e,a){return"rtl"!==a?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,t);return"vertical"===a&&["ArrowLeft","ArrowRight"].includes(n)||"horizontal"===a&&["ArrowUp","ArrowDown"].includes(n)?void 0:i_e[n]}(e,m.orientation,m.dir);if(void 0!==a){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let i=p().filter((e=>e.focusable)).map((e=>e.ref.current));if("last"===a)i.reverse();else if("prev"===a||"next"===a){"prev"===a&&i.reverse();const r=i.indexOf(e.currentTarget);i=m.loop?(n=r+1,(t=i).map(((e,a)=>t[(n+a)%t.length]))):i.slice(r+1)}setTimeout((()=>r_e(i)))}var t,n})),children:"function"==typeof l?l({isCurrentTabStop:h,hasTabStop:null!=v}):l})})}));n_e.displayName=t_e;var i_e={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function r_e(e,a=!1){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus({preventScroll:a}),document.activeElement!==t)return}}var o_e=e_e,s_e=n_e;var l_e=e=>{const{present:a,children:t}=e,n=function(e){const[a,t]=r.useState(),n=r.useRef(null),i=r.useRef(e),o=r.useRef("none"),s=e?"mounted":"unmounted",[l,u]=function(e,a){return r.useReducer(((e,t)=>a[e][t]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return r.useEffect((()=>{const e=u_e(n.current);o.current="mounted"===l?e:"none"}),[l]),REe((()=>{const a=n.current,t=i.current;if(t!==e){const n=o.current,r=u_e(a);if(e)u("MOUNT");else if("none"===r||"none"===a?.display)u("UNMOUNT");else{u(t&&n!==r?"ANIMATION_OUT":"UNMOUNT")}i.current=e}}),[e,u]),REe((()=>{if(a){let e;const t=a.ownerDocument.defaultView??window,r=r=>{const o=u_e(n.current).includes(r.animationName);if(r.target===a&&o&&(u("ANIMATION_END"),!i.current)){const n=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout((()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=n)}))}},s=e=>{e.target===a&&(o.current=u_e(n.current))};return a.addEventListener("animationstart",s),a.addEventListener("animationcancel",r),a.addEventListener("animationend",r),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",s),a.removeEventListener("animationcancel",r),a.removeEventListener("animationend",r)}}u("ANIMATION_END")}),[a,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:r.useCallback((e=>{n.current=e?getComputedStyle(e):null,t(e)}),[])}}(a),i="function"==typeof t?t({present:n.isPresent}):r.Children.only(t),o=_Ee(n.ref,function(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;if(t)return e.ref;if(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t)return e.props.ref;return e.props.ref||e.ref}(i));return"function"==typeof t||n.isPresent?r.cloneElement(i,{ref:o}):null};function u_e(e){return e?.animationName||"none"}l_e.displayName="Presence";var c_e="Tabs",[d_e,m_e]=TEe(c_e,[YEe]),h_e=YEe(),[p_e,g_e]=d_e(c_e),f_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,onValueChange:r,defaultValue:o,orientation:s="horizontal",dir:l,activationMode:u="automatic",...c}=e,d=GEe(l),[m,h]=HEe({prop:i,onChange:r,defaultProp:o??"",caller:c_e});return a.jsx(p_e,{scope:n,baseId:OEe(),value:m,onValueChange:h,orientation:s,dir:d,activationMode:u,children:a.jsx(IEe.div,{dir:d,"data-orientation":s,...c,ref:t})})}));f_e.displayName=c_e;var v_e="TabsList",y_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,loop:i=!0,...r}=e,o=g_e(v_e,n),s=h_e(n);return a.jsx(o_e,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:a.jsx(IEe.div,{role:"tablist","aria-orientation":o.orientation,...r,ref:t})})}));y_e.displayName=v_e;var b_e="TabsTrigger",k_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,disabled:r=!1,...o}=e,s=g_e(b_e,n),l=h_e(n),u=A_e(s.baseId,i),c=C_e(s.baseId,i),d=i===s.value;return a.jsx(s_e,{asChild:!0,...l,focusable:!r,active:d,children:a.jsx(IEe.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:u,...o,ref:t,onMouseDown:MEe(e.onMouseDown,(e=>{r||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(i)})),onKeyDown:MEe(e.onKeyDown,(e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(i)})),onFocus:MEe(e.onFocus,(()=>{d||r||!("manual"!==s.activationMode)||s.onValueChange(i)}))})})}));k_e.displayName=b_e;var S_e="TabsContent",w_e=r.forwardRef(((e,t)=>{const{__scopeTabs:n,value:i,forceMount:o,children:s,...l}=e,u=g_e(S_e,n),c=A_e(u.baseId,i),d=C_e(u.baseId,i),m=i===u.value,h=r.useRef(m);return r.useEffect((()=>{const e=requestAnimationFrame((()=>h.current=!1));return()=>cancelAnimationFrame(e)}),[]),a.jsx(l_e,{present:o||m,children:({present:n})=>a.jsx(IEe.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":c,hidden:!n,id:d,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&s})})}));function A_e(e,a){return`${e}-trigger-${a}`}function C_e(e,a){return`${e}-content-${a}`}w_e.displayName=S_e;var M_e=y_e,T_e=k_e,x_e=w_e;const N_e=f_e,E_e=r.forwardRef((({className:e,...t},n)=>a.jsx(M_e,{ref:n,className:qa("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t})));E_e.displayName=M_e.displayName;const __e=r.forwardRef((({className:e,...t},n)=>a.jsx(T_e,{ref:n,className:qa("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})));__e.displayName=T_e.displayName;const j_e=r.forwardRef((({className:e,...t},n)=>a.jsx(x_e,{ref:n,className:qa("ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t})));j_e.displayName=x_e.displayName;var P_e=(e=>(e.Today="today",e.Yesterday="yesterday",e.Tomorrow="tomorrow",e.LastWeek="last-week",e.NextWeek="next-week",e.FifteenDaysAgo="fifteen-days-ago",e.FifteenDaysFromNow="fifteen-days-from-now",e))(P_e||{});const L_e=(e,a)=>{const t=new Date;t.setHours(0,0,0,0);let n=new Date(t);switch(e){case P_e.Today:break;case P_e.Yesterday:n.setDate(t.getDate()-1);break;case P_e.Tomorrow:n.setDate(t.getDate()+1);break;case P_e.LastWeek:n.setDate(t.getDate()-7);break;case P_e.NextWeek:n.setDate(t.getDate()+7);break;case P_e.FifteenDaysAgo:n.setDate(t.getDate()-15);break;case P_e.FifteenDaysFromNow:n.setDate(t.getDate()+15);break;default:throw new Error("Invalid single date preset")}return n},B_e=e=>{(new Date).setHours(0,0,0,0);let a=0;switch(e){case P_e.Today:a=0;break;case P_e.Yesterday:case P_e.Tomorrow:a=1;break;case P_e.LastWeek:case P_e.NextWeek:a=7;break;case P_e.FifteenDaysAgo:case P_e.FifteenDaysFromNow:a=15;break;default:return null}const t=[P_e.Tomorrow,P_e.NextWeek,P_e.FifteenDaysFromNow].includes(e);return{type:"relative",value:a,unit:vse.DAYS,direction:t?"after":"before"}},R_e=YA.union([YA.date(),YA.string().transform((e=>{if(/^\d{4}-\d{2}-\d{2}$/.test(e)){const[a,t,n]=e.split("-").map(Number);return new Date(a,t-1,n)}return new Date(e)}))]).refine((e=>!isNaN(e.getTime())),{message:"Invalid date"}),D_e=e=>!(!e||"object"!=typeof e)&&(void 0===e.value||!("number"!=typeof e.value||e.value<0)&&(e.unit===vse.DAYS&&(("before"===e.direction||"after"===e.direction)&&"relative"===e.type))),z_e=e=>!e||void 0===e.value||e.value<=730,O_e=e=>!(e.startDate&&"object"==typeof e.startDate&&"type"in e.startDate&&"relative"===e.startDate.type&&!z_e(e.startDate))&&!(e.endDate&&"object"==typeof e.endDate&&"type"in e.endDate&&"relative"===e.endDate.type&&!z_e(e.endDate)),I_e=e=>!(!e.startDate||!e.endDate)&&(!("object"==typeof e.startDate&&"type"in e.startDate&&!D_e(e.startDate))&&!("object"==typeof e.endDate&&"type"in e.endDate&&!D_e(e.endDate))),K_e=e=>{const{date:a,fieldType:t}=e;return t===Bse.Date?new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),0,0,0,0)):a},H_e=e=>{if(e instanceof Date)return e.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"});if("object"==typeof e&&"type"in e&&"relative"===e.type){return void 0===e.value?"Select days...":`${e.value} days ${e.direction} today`}if("object"==typeof e&&"startDate"in e&&"endDate"in e){const a=e;return`${a.startDate?H_e(a.startDate):"Select start date..."} - ${a.endDate?H_e(a.endDate):"Select end date..."}`}return"Select date..."},F_e=({isOpen:e,onClose:t,onConfirm:n,fieldType:i,operator:o,currentValue:s,toast:l})=>{const u=s.length>0&&"object"==typeof s[0]&&"type"in s[0]&&"relative"===s[0].type,c=s.length>0&&"object"==typeof s[0]&&"startDate"in s[0]&&"endDate"in s[0],d=o===wse.BETWEEN_MONTH_DAY||o===wse.BETWEEN_MONTH_DAY_YEAR,[m,h]=r.useState((()=>{if(!d){if((i===Bse.Date||i===Bse.DateTime)&&s.length>0&&!u&&!c){const e=R_e.safeParse(s[0]);return e.success?e.data:new Date}return new Date}})),[p]=r.useState(u?s[0]:{type:"relative",value:0,unit:vse.DAYS,direction:"before"}),[g,f]=r.useState((()=>{if(c)return s[0];if(d){const e=new Date;e.setDate(e.getDate()-1);const a=new Date;return a.setDate(a.getDate()+1),{startDate:K_e({date:e,fieldType:i}),endDate:K_e({date:a,fieldType:i})}}})),[v,y]=r.useState((()=>{if(u&&s.length>0){const e=s[0];if(void 0!==e.value)return`${e.value} days ${"before"===e.direction?"ago":"from now"}`}return""})),[b,k]=r.useState(""),[S,w]=r.useState(""),[A,C]=r.useState((()=>{if(u&&s.length>0){const e=s[0];if(void 0!==e.value){const a=Object.values(P_e);let t=null;for(const n of a){const a=B_e(n);if(a&&a.value===e.value&&a.direction===e.direction){t=n;break}}return!t}}return!1})),{parseDate:M,isParsing:T,parseError:x,parseResult:N}=Qse(),[E,_]=r.useState(null),[j,P]=r.useState(!1),L=r.useRef(null),[B,R]=r.useState(null),[D,z]=r.useState(u?"relative":"specific");r.useEffect((()=>{if(!d&&s.length>0){const e=s[0];e instanceof Date?(h(K_e({date:e,fieldType:i})),y(""),C(!1),R(null),z("specific")):"object"==typeof e&&null!==e&&"type"in e&&"relative"===e.type&&(h(void 0),z("relative"))}else d||(h(new Date),y(""),C(!1),R(null),z("specific"))}),[s,d,i]),r.useEffect((()=>{if(!d&&s.length>0){const a=s[0];try{if(a instanceof Date){const e=(e=>{(new Date).setHours(0,0,0,0);const a=Object.values(P_e);for(const n of a)try{if(L_e(n).getTime()===e.getTime())return n}catch(t){continue}return null})(a);R(e||null)}else if("object"==typeof a&&null!==a&&"type"in a&&"relative"===a.type){const e=a;if(void 0!==e.value){const a=Object.values(P_e);let t=null;for(const n of a){const a=B_e(n);if(a&&a.value===e.value&&a.direction===e.direction){t=n;break}}R(t||null)}else R(null)}else R(null)}catch(e){R(null)}}}),[s,d]);const O=e=>{try{R(e),y(""),C(!1),_(null),P(!1);const a=B_e(e);a&&(z_e(a)?_(a):(R(null),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"})))}catch(a){R(null)}},I=r.useCallback((e=>{if(!e.trim())return _(null),void P(!1);L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{M({userInput:e,operator:o})}),800)}),[M,o]),K=r.useCallback(((e,a)=>{if(!e.trim()||!a.trim())return _(null),void P(!1);L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{M({userInput:`between ${e} and ${a}`,operator:o})}),800)}),[M,o]);r.useEffect((()=>{d&&b.trim()&&S.trim()&&K(b,S)}),[b,S,d,K]),r.useEffect((()=>{if(N)if(N.success&&N.parsedDate)if("object"==typeof N.parsedDate&&"type"in N.parsedDate&&"relative"===N.parsedDate.type){const e=N.parsedDate;z_e(e)?(_(e),P(!1)):(_(null),P(!0),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}))}else if("object"==typeof N.parsedDate&&"startDate"in N.parsedDate&&"endDate"in N.parsedDate){const e=N.parsedDate;O_e(e)?(_(e),P(!1)):(_(null),P(!0),l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}))}else _(null),P(!0);else _(null),P(!0)}),[N,l]),r.useEffect((()=>{x&&(_(null),P(!0))}),[x]),r.useEffect((()=>()=>{L.current&&clearTimeout(L.current)}),[]);const H=o===wse.EQUALS_MONTH_DAY||o===wse.EQUALS_MONTH_DAY_YEAR||o===wse.GREATER_THAN||o===wse.LESS_THAN,F=e=>{const a=e.startDate??g?.startDate,t=e.endDate??g?.endDate,n=a&&"object"==typeof a&&"type"in a,i=t&&"object"==typeof t&&"type"in t;if(a&&t){if(n!==i)return void l({title:"Invalid date range",description:"Both start and end dates must be of the same type (either both absolute or both relative).",variant:"destructive"});if(!n&&!i&&(r={finalStartDate:a,finalEndDate:t}).finalStartDate&&r.finalEndDate&&!(r.finalStartDate<r.finalEndDate))return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"});if(n){if(!D_e(a)||!D_e(t))return void l({title:"Invalid relative date",description:"Please enter valid relative dates.",variant:"destructive"});const e=a,n=t,i=o===wse.BETWEEN_MONTH_DAY||o===wse.BETWEEN_MONTH_DAY_YEAR;if(!i&&e.direction!==n.direction)return void l({title:"Invalid date range",description:"Start and end dates must be in the same direction (both in the past or both in the future).",variant:"destructive"});if(i){const a=new Date,t=new Date(a),i=new Date(a);if(t.setDate("before"===e.direction?a.getDate()-e.value:a.getDate()+e.value),i.setDate("before"===n.direction?a.getDate()-n.value:a.getDate()+n.value),t>=i)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}else if("before"===e.direction){if(e.value<=n.value)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}else if("after"===e.direction&&e.value>=n.value)return void l({title:"Invalid date range",description:"Start date must be before end date.",variant:"destructive"})}}var r;f(e)},G=()=>{if(d){if("relative"===D){if(A&&v.trim()&&E&&"startDate"in E&&"endDate"in E)return I_e(E)?O_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid date range",description:"The parsed date range is invalid.",variant:"destructive"});if(A&&(b.trim()||S.trim())&&E&&"startDate"in E&&"endDate"in E)return I_e(E)?O_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid date range",description:"The parsed date range is invalid.",variant:"destructive"})}if(A&&!E)return v.trim()||b.trim()||S.trim()?void l({title:"Invalid input",description:'Please enter a valid date range expression like "between 5 days ago and 3 days ago".',variant:"destructive"}):void l({title:"Input required",description:"Please enter a date range expression.",variant:"destructive"});if("specific"!==D||!g?.startDate||!g?.endDate)return"specific"===D?void l({title:"Date range required",description:"Please select both start and end dates.",variant:"destructive"}):void l({title:"Invalid input",description:"Please enter a valid date range expression or switch to specific dates.",variant:"destructive"});n([{startDate:g.startDate,endDate:g.endDate}]),t()}else if(null!==B)try{const e=B_e(B);return e&&D_e(e)?z_e(e)?(n([e]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"}):void l({title:"Invalid preset",description:"The selected preset is not valid.",variant:"destructive"})}catch(e){return void l({title:"Invalid preset",description:"The selected preset is not valid.",variant:"destructive"})}else if(A){if(!v.trim())return void l({title:"Input required",description:"Please enter a custom date or select a preset.",variant:"destructive"});if(E&&"type"in E&&"relative"===E.type&&D_e(E))return z_e(E)?(n([E]),void t()):void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"});const e=(e=>{const a=e.trim().toLowerCase().match(/^(\d+)\s+days?\s+(ago|from now)$/);if(a)return{type:"relative",value:parseInt(a[1],10),unit:vse.DAYS,direction:"ago"===a[2]?"before":"after"};return null})(v);if(!e||!D_e(e))return void l({title:"Invalid input",description:'Please enter a valid date expression like "14 days ago", "last week", or "3 days from now".',variant:"destructive"});if(!z_e(e))return void l({title:"Date range too far",description:"Relative dates must be within 2 years (730 days) of today.",variant:"destructive"});n([e]),t()}else"relative"===D&&H?(n([p]),t()):"specific"===D&&m?(n([K_e({date:m,fieldType:i})]),t()):(n([]),t())};return a.jsx(wi,{open:e,onOpenChange:e=>{e||G()},children:a.jsxs(Ti,{className:d?"w-[600px] max-w-none":"w-[500px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Select Date"})}),a.jsxs(N_e,{value:D,onValueChange:e=>{z(e),"specific"===e?(m||h(new Date),y(""),C(!1),R(null),_(null),P(!1)):"relative"===e&&h(void 0)},className:"w-full",children:[a.jsxs(E_e,{className:"grid w-full grid-cols-2",children:[a.jsx(__e,{value:"relative",children:"Relative"}),a.jsx(__e,{value:"specific",children:"Specific"})]}),a.jsxs(j_e,{value:"relative",className:"space-y-4 mt-4",children:[T&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-blue-600 bg-blue-50 border border-blue-200 rounded-md p-2",children:[a.jsx("div",{className:"animate-spin h-3 w-3 border border-blue-600 border-t-transparent rounded-full"}),"AI is parsing your date..."]}),E&&!T&&a.jsxs("div",{className:"flex items-center gap-2 text-xs text-green-600 bg-green-50 border border-green-200 rounded-md p-2",children:[a.jsx("div",{className:"text-green-500",children:"✓"}),a.jsxs("div",{children:["Parsed as:"," ",d&&"startDate"in E&&"endDate"in E?`${E.startDate?H_e(E.startDate):"..."} to ${E.endDate?H_e(E.endDate):"..."}`:H_e(E)]})]}),!d&&a.jsxs("div",{className:"space-y-4",children:[a.jsx(j_,{className:"text-sm font-medium",children:"Quick Select"}),a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"flex justify-center",children:a.jsx(Xa,{variant:B===P_e.Today?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Today)},className:"px-6 py-2 h-auto",children:a.jsxs("div",{className:"flex flex-col items-center",children:[a.jsx("span",{className:"font-medium text-sm",children:"Today"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Current date"})]})},P_e.Today)}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsx(Xa,{variant:B===P_e.Yesterday?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Yesterday)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Yesterday"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Previous day"})]})},P_e.Yesterday),a.jsx(Xa,{variant:B===P_e.Tomorrow?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.Tomorrow)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Tomorrow"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Next day"})]})},P_e.Tomorrow),a.jsx(Xa,{variant:B===P_e.LastWeek?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.LastWeek)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Last Week"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"7 days ago"})]})},P_e.LastWeek),a.jsx(Xa,{variant:B===P_e.NextWeek?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.NextWeek)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"Next Week"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"7 days from now"})]})},P_e.NextWeek),a.jsx(Xa,{variant:B===P_e.FifteenDaysAgo?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.FifteenDaysAgo)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"15 Days Ago"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Two weeks ago"})]})},P_e.FifteenDaysAgo),a.jsx(Xa,{variant:B===P_e.FifteenDaysFromNow?"default":"outline",size:"sm",onClick:e=>{e.preventDefault(),e.stopPropagation(),O(P_e.FifteenDaysFromNow)},className:"justify-start text-left h-auto py-3 px-4",children:a.jsxs("div",{className:"flex flex-col items-start",children:[a.jsx("span",{className:"font-medium text-sm",children:"15 Days From Now"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Two weeks ahead"})]})},P_e.FifteenDaysFromNow)]})]})]}),a.jsxs("div",{className:"space-y-3",children:[a.jsx(j_,{children:"Custom"}),d?a.jsxs("div",{className:"space-y-3",children:[a.jsx("div",{className:"flex gap-2 p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. between 5 days ago and 3 days ago",value:v,onChange:e=>{const a=e.target.value;y(a),C(!0),P(!1),k(""),w(""),I(a)},onFocus:()=>{C(!0)},className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 "+(T?"opacity-50":"")})}),a.jsxs("div",{className:"flex items-center",children:[a.jsx("div",{className:"flex-1 h-px bg-gray-200"}),a.jsx("span",{className:"px-3 text-xs text-gray-500",children:"OR"}),a.jsx("div",{className:"flex-1 h-px bg-gray-200"})]}),a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-sm",children:"Start"}),a.jsx("div",{className:"p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 5 days ago",value:b,onChange:e=>{k(e.target.value),C(!0),P(!1),_(null),y("")},onFocus:()=>C(!0),className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 text-sm"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-sm",children:"End"}),a.jsx("div",{className:"p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 3 days ago",value:S,onChange:e=>{w(e.target.value),C(!0),P(!1),_(null),y("")},onFocus:()=>C(!0),className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 text-sm"})})]})]})]}):a.jsx("div",{className:"flex gap-2 p-2 rounded-md border transition-colors "+(A?"bg-blue-50 border-blue-200":"bg-white border-gray-200"),children:a.jsx(Io,{placeholder:"e.g. 14 days ago, last week, 3 days from now",value:v,onChange:e=>{const a=e.target.value;y(a),C(!0),P(!1),R(null),I(a)},onFocus:()=>{C(!0),R(null),y(""),C(!1),_(null),P(!1)},className:"border-0 bg-transparent focus-visible:ring-0 shadow-none h-auto py-0 "+(T?"opacity-50":"")})})]})]}),a.jsx(j_e,{value:"specific",className:"space-y-4 mt-4",children:a.jsxs("div",d?{className:"space-y-3 flex flex-col items-center",children:[a.jsx(j_,{children:"Choose date range"}),a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-center",children:"Start Date"}),a.jsx(Ife,{mode:"single",selected:g?.startDate instanceof Date||"string"==typeof g?.startDate?g.startDate instanceof Date?g.startDate:new Date(g.startDate):void 0,onSelect:e=>{if(e){const a=K_e({date:e,fieldType:i});f({...g,startDate:a}),F({...g,startDate:a})}},className:"rounded-md border",disabled:()=>!1})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(j_,{className:"text-center",children:"End Date"}),a.jsx(Ife,{mode:"single",selected:g?.endDate instanceof Date||"string"==typeof g?.endDate?g.endDate instanceof Date?g.endDate:new Date(g.endDate):void 0,onSelect:e=>{if(e){const a=K_e({date:e,fieldType:i});f({...g,endDate:a}),F({...g,endDate:a})}},className:"rounded-md border",disabled:()=>!1})]})]})]}:{className:"space-y-3 flex flex-col items-center",children:[a.jsx(j_,{children:"Choose specific date"}),a.jsx(Ife,{mode:"single",selected:m,onSelect:e=>{if(e&&((a=e)instanceof Date?!isNaN(a.getTime()):"object"==typeof a&&"type"in a&&"relative"===a.type&&D_e(a))){const a=K_e({date:e,fieldType:i});h(a),y(""),C(!1),R(null),_(null),P(!1)}else e||h(void 0);var a},className:"rounded-md border",disabled:()=>!1})]})})]}),a.jsxs("div",{className:"space-y-3 pt-4",children:[j&&!T&&v.trim()&&A&&a.jsxs("div",{className:"flex items-center gap-2 text-sm text-red-600 bg-red-50 border border-red-200 rounded-md p-3",children:[a.jsx("div",{className:"text-red-500",children:"⚠"}),a.jsxs("div",{children:[a.jsx("div",{className:"font-medium",children:"Could not parse date"}),a.jsx("div",{className:"text-xs text-red-500 mt-1",children:'Try formats like "14 days ago", "last week", or "3 days from now"'})]})]}),a.jsxs("div",{className:"flex justify-end space-x-2",children:[a.jsx(Xa,{variant:"destructive",onClick:()=>{t()},disabled:T,children:"Cancel"}),a.jsx(Xa,{onClick:G,disabled:T,children:T?"Parsing...":"Confirm"})]})]})]})})},G_e=({value:e,onClick:t,operator:n,disabled:i=!1})=>{if(n===wse.BETWEEN_MONTH_DAY||n===wse.BETWEEN_MONTH_DAY_YEAR){const n=e.length>0?e[0]:null,r=n?.startDate?H_e(n.startDate):"Start date...",o=n?.endDate?H_e(n.endDate):"End date...";return a.jsxs("div",{className:"flex gap-2",children:[a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[140px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:r,children:Sye(r,140,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]}),a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[140px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:o,children:Sye(o,140,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]})]})}const r=e.length>0?H_e(e[0]):"Select date...";return a.jsxs("button",{type:"button",onClick:t,disabled:i,className:"flex h-9 w-[200px] items-center justify-between rounded-md border border-input bg-card text-card-foreground px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 "+(i?"bg-gray-50":"hover:bg-accent hover:text-accent-foreground"),children:[a.jsx("span",{className:"truncate",title:r,children:Sye(r,200,32)}),a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"h-4 w-4 opacity-50 flex-shrink-0",children:a.jsx("path",{d:"M6 9l6 6 6-6"})})]})},V_e=({fieldType:e,operator:t,value:n,onChange:i,options:o,toast:s,viewOnly:l=!1,totalCount:u})=>{const[c,d]=r.useState(!1);if(e===Bse.String||e===Bse.ReachResource||e===Bse.Array)return t===wse.EXISTS||t===wse.NOT_EXISTS?null:a.jsx(JNe,{options:(o||[]).map((e=>({category:"Options",items:[{label:e.displayName,value:e.id}]}))),onValueChange:e=>{l||i(e)},selectedValues:n.filter((e=>null!=e&&void 0!==e&&""!==e)).map((e=>{const a=(o||[]).find((a=>a.id===String(e)||a.displayName===String(e)||a.id===a.displayName&&a.id===String(e)));return a?.id||String(e)})),setSelectedValues:e=>{l||i(e)},isLoading:!o||0===o.length,totalCount:u});if(e===Bse.Date||e===Bse.DateTime){if(t===wse.EXISTS||t===wse.NOT_EXISTS)return null;return t===wse.EQUALS_MONTH_DAY||t===wse.EQUALS_MONTH_DAY_YEAR||t===wse.GREATER_THAN||t===wse.LESS_THAN||(t===wse.BETWEEN_MONTH_DAY||t===wse.BETWEEN_MONTH_DAY_YEAR)||t===wse.EQUALS?a.jsxs(a.Fragment,{children:[a.jsx(G_e,{value:n,onClick:()=>!l&&d(!0),operator:t,disabled:l}),!l&&a.jsx(F_e,{isOpen:c,onClose:()=>d(!1),onConfirm:i,fieldType:e,operator:t,currentValue:n,toast:s})]}):null}if(e===Bse.Number||e===Bse.Integer)return t===wse.EXISTS||t===wse.NOT_EXISTS?null:a.jsx(Io,{type:"number",value:n.length>0?String(n[0]):"",onChange:e=>!l&&i([Number(e.target.value)]),className:"w-[200px]",disabled:l});if(e===Bse.Boolean){if(t===wse.EXISTS||t===wse.NOT_EXISTS)return null;const e=n.length>0&&Boolean(n[0]);return a.jsx(k_,{checked:e,onCheckedChange:e=>!l&&i([e]),disabled:l})}return a.jsx(Io,{value:n.length>0?String(n[0]):"",onChange:e=>!l&&i([e.target.value]),className:"w-[200px]",disabled:l||!0})},J_e=({condition:e,onUpdate:i,onDuplicate:r,onDelete:o,segmentsConditions:s,totalConditions:l,viewOnly:u=!1})=>{const{toast:c}=dS(),[d,m]=t.useState(!1),[h,p]=t.useState(!1),g=t.useRef(null),[f,v]=t.useState({top:0,right:0}),y=t.useRef(null),{segments:b}=Zse(),k=b?.find((e=>e.type===Jse.ALL_USERS)),S="userId"===e.field?k?.userCount:void 0,w=(e=>{const a=s.conditions.find((a=>a.field===e));return a||null})(e.field)||{operators:[],type:Bse.String,options:void 0,itemType:void 0,description:void 0},A=w.operators,C=w.type,M=s.conditions.map((e=>({value:e.field,label:CEe[e.field]||e.field,description:e.description})));t.useEffect((()=>{setTimeout((()=>document.body.style.pointerEvents=""),0)}),[]),t.useEffect((()=>{if((d||h)&&g.current){const e=g.current.getBoundingClientRect();v({top:e.top-12,right:window.innerWidth-e.right-12})}}),[d,h]);return a.jsxs(a.Fragment,{children:[!u&&n.createPortal(a.jsxs("div",{className:"fixed flex gap-1 z-50 transition-all duration-200 ease-in-out pointer-events-none",style:{top:f.top,right:f.right,opacity:d||h?1:0,transform:d||h?"scale(1)":"scale(0.8)",pointerEvents:d||h?"auto":"none"},onMouseEnter:()=>{y.current&&clearTimeout(y.current),p(!0)},onMouseLeave:()=>{p(!1),y.current=setTimeout((()=>{m(!1)}),100)},children:[a.jsx(Xa,{size:"sm",variant:"secondary",onClick:r,className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-gray-50",children:a.jsx(D,{className:"h-3 w-3"})}),l>1&&a.jsx(Xa,{size:"sm",variant:"secondary",onClick:o,className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-red-50 hover:border-red-200 hover:text-red-600",children:a.jsx(xe,{className:"h-3 w-3"})})]}),document.body),a.jsx("div",{ref:g,className:"bg-white rounded-lg border border-gray-200 p-4 transition-all duration-200 "+(u?"bg-gray-50 border-gray-300":"hover:border-gray-300 hover:shadow-sm"),onMouseEnter:u?void 0:()=>{y.current&&clearTimeout(y.current),m(!0)},onMouseLeave:u?void 0:()=>{y.current=setTimeout((()=>{h||m(!1)}),100)},children:a.jsxs("div",{className:"flex flex-col sm:flex-row items-stretch gap-3 min-w-0 w-full",children:[a.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(w.description||e.field)&&a.jsx(Rx,{title:"Field Information",description:w.description||`This field represents: ${e.field}`,Icon:V,size:"small",iconColor:"text-gray-400 hover:text-gray-600",children:a.jsx(Xa,{size:"sm",variant:"secondary",className:"h-6 w-6 p-0 rounded-full bg-white border border-gray-200 shadow-sm hover:shadow-md hover:bg-blue-50 hover:border-blue-200 hover:text-blue-600 flex-shrink-0",children:a.jsx(V,{className:"h-3 w-3"})})}),a.jsx(wye,{options:M,value:e.field,placeholder:"Select field",onChange:a=>{const t=a,n=s.conditions.find((e=>e.field===t));if(!n)return;const r=n.operators.map((e=>({value:e,label:AEe(e,n.type),fieldType:n.type}))),o=r[0]?.value;let l=[];switch(n.type){case Bse.Boolean:l=[!1];break;case Bse.Number:l=[0];break;case Bse.Date:case Bse.DateTime:l=[new Date];break;default:l=[]}i({...e,field:t,operator:o,value:l})},className:"w-full",disableInput:!1,disabled:u})]}),a.jsxs("div",{className:"flex-1 min-w-0 max-w-xs flex gap-2 items-center",children:[(e.operator===wse.EQUALS_MONTH_DAY||e.operator===wse.EQUALS_MONTH_DAY_YEAR||e.operator===wse.BETWEEN_MONTH_DAY||e.operator===wse.BETWEEN_MONTH_DAY_YEAR)&&a.jsx("div",{className:"flex items-center",children:(e=>{let t;switch(e){case wse.EQUALS_MONTH_DAY:t="This operator will check if only the month and day are equal. This is useful for things like birthday, where year does not matter. Use this for segments you would like to reuse annually.";break;case wse.EQUALS_MONTH_DAY_YEAR:t="This operator will check if only the month and day are equal. This is useful for things like appointment dates, where the specific date is important.";break;case wse.BETWEEN_MONTH_DAY:t="This operator will check if the date is between the two dates, but only checking the month and the day, not the year. This is helpful for things like birthday, where year does not matter. Use this for segments you would like to rescuer annually.";break;case wse.BETWEEN_MONTH_DAY_YEAR:t="This operator will check if the date is between the two dates, checking the month, day and year. This is helpful for things like appointment dates, where specific day, month and year is important";break;default:return null}return a.jsx(Rx,{title:t})})(e.operator)}),a.jsx(wye,{options:A.map((e=>({value:e,label:e?AEe(e,C):e}))),value:e.operator,onChange:a=>{const t=a;i({...e,operator:t,value:[]})},placeholder:"Select operator",className:"w-full",disableInput:!0,disabled:u})]}),a.jsx("div",{className:"flex-1 min-w-0 max-w-full overflow-x-hidden",children:a.jsx(V_e,{fieldType:C,operator:e.operator,options:"string"==typeof e.value[0]&&e.value[0]&&Array.isArray(w.options)?[...(w.options||[]).map((e=>({displayName:e.displayName,id:e.id}))),...e.value.filter((e=>e&&"string"==typeof e&&""!==e.trim()&&!w.options?.some((a=>a.id===e||a.displayName===e)))).map((e=>({displayName:e,id:e})))]:w.options?.map((e=>({displayName:e.displayName,id:e.id})))||[],value:e.value,onChange:a=>i({...e,value:a}),toast:c,viewOnly:u,totalCount:S})})]})})]})},U_e=({segment:e,setSegment:t,segmentsConditions:n,updateCondition:i,duplicateCondition:o,deleteCondition:s,addCondition:l,businessId:u,viewOnly:c=!1,segmentType:d,existingSegmentConditions:m})=>{const[h,p]=r.useState(""),[g,f]=r.useState(100),v=r.useMemo((()=>JSON.stringify(e.conditions)),[e.conditions]);r.useEffect((()=>{f(100)}),[h,v]);const{data:y,isLoading:b,isFetching:k,error:S}=Xse(e.type,e.conditions,u,{debounceMs:500,search:h,limit:g},m),w=y?.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email,phone:e.phone})))??[],A=y?.estimatedTotal??0,C=y?.pagination?.hasNextPage??!1,M=r.useRef(!1),T=r.useCallback((()=>{M.current||b||!C||(M.current=!0,f((e=>e+100)),setTimeout((()=>{M.current=!1}),1e3))}),[b,C]);return a.jsx(Yoe,{className:"flex-1 flex flex-col overflow-visible",children:a.jsxs("div",{className:"flex h-full gap-6 overflow-visible",children:[a.jsxs("div",{className:"flex-1 flex flex-col overflow-visible",children:[a.jsxs("div",{className:"mb-6 grid grid-cols-2 gap-2",children:[a.jsxs("div",{className:"grid gap-2",children:[a.jsxs("div",{className:"flex items-center gap-0",children:[a.jsx(j_,{children:"Name"}),!c&&a.jsx("span",{className:"text-xs text-red-500 ml-1 align-super",children:"*"})]}),a.jsx(Io,{placeholder:`${PN("engage:segment")} name`,value:e.name,onChange:a=>t({...e,name:a.target.value}),disabled:c,className:c?"bg-gray-50 text-gray-700":""})]}),a.jsxs("div",{className:"grid gap-2",children:[a.jsx(j_,{children:"Description"}),a.jsx(Io,{placeholder:`${PN("engage:segment")} description`,value:e.description,onChange:a=>t({...e,description:a.target.value}),disabled:c,className:c?"bg-gray-50 text-gray-700":""})]})]}),"sql"===d&&a.jsxs("div",{className:"mb-6 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"w-2 h-2 bg-blue-500 rounded-full"}),a.jsx("p",{className:"text-sm text-blue-700 font-medium",children:"Custom Segment"})]}),a.jsx("p",{className:"text-sm text-blue-600 mt-1",children:"This segment is managed by your admin and cannot be edited here."})]}),a.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden pb-8",children:a.jsx("div",{className:"grid overflow-visible",children:a.jsxs(fh,{mode:"popLayout",children:["sql"!==d&&e.conditions.map(((t,r)=>a.jsxs(tS.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:20},transition:{type:"spring",stiffness:300,damping:30,mass:.5},style:{overflow:"visible"},children:[r>0&&a.jsxs(tS.div,{className:"relative flex items-center py-2",initial:{opacity:0},animate:{opacity:1},transition:{delay:.1},children:[a.jsx(tS.div,{className:"h-px flex-1 bg-border",initial:{scaleX:0},animate:{scaleX:1},transition:{type:"spring",stiffness:300,damping:30,mass:.5}}),a.jsx(tS.span,{className:"text-muted-foreground text-xs",initial:{opacity:0},animate:{opacity:1},transition:{delay:.2},children:"AND"}),a.jsx(tS.div,{className:"h-px flex-1 bg-border",initial:{scaleX:0},animate:{scaleX:1},transition:{type:"spring",stiffness:300,damping:30,mass:.5}})]}),a.jsx(J_e,{condition:t,onUpdate:e=>i(r,e),segmentsConditions:n,onDuplicate:()=>o(r),onDelete:()=>s(r),totalConditions:e.conditions.length,viewOnly:c})]},`${t.field}-${t.operator}-${r}`))),!c&&"sql"!==d&&a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{type:"spring",stiffness:300,damping:30,mass:.5},className:"pt-4",children:a.jsxs(Xa,{variant:"secondary",onClick:l,children:[a.jsx(de,{className:"h-4 w-4"}),"Add Condition"]})},"add-condition-button")]})})})]}),a.jsxs("div",{className:"w-96 flex flex-col h-full overflow-hidden",children:[a.jsxs("div",{className:"mb-4 flex-shrink-0",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Recipients Preview"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:b?"Loading recipients...":A>0?`${A.toLocaleString()} users match your conditions`:"No users match your conditions"})]}),a.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:b?a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx("div",{className:"animate-spin h-6 w-6 border-2 border-blue-600 border-t-transparent rounded-full"})}):S?a.jsx("div",{className:"flex items-center justify-center h-full text-red-600",children:a.jsx("p",{children:"Error loading recipients"})}):a.jsx(wEe,{recipients:w,filter:"all",audienceMode:yEe.SEGMENTS,isSegmentBuilder:!0,searchQuery:h,onSearchChange:p,totalCount:A,onLoadMore:T,hasMore:C,isLoadingMore:k,isLoading:b})})]})]})})},W_e=({segmentId:e,setOpen:t,setTextToSegment:n,promptBuilderStyle:i,textToSegment:r,viewOnly:o=!1})=>a.jsx("div",{children:a.jsx(xi,{className:"",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx(Ei,{className:"text-3xl font-normal",children:o?`View ${PN("engage:segment")}`:e?`Edit ${PN("engage:segment")}`:`Create ${PN("engage:segment")}`}),a.jsxs("div",{className:"flex items-center gap-2",children:[!o&&!1===i&&!1===r&&a.jsx(fx,{children:a.jsxs(vx,{children:[a.jsx(yx,{asChild:!0,children:a.jsx(Xa,{variant:"outline",size:"sm",onClick:()=>n(!0),children:a.jsx(we,{className:"h-4 w-3"})})}),a.jsx(bx,{children:a.jsxs("p",{children:["Use AI to create ",PN("engage:segment")," by describing them in natural language"]})})]})}),a.jsx(Xa,{variant:"ghost",size:"icon",onClick:()=>{t(!1)},className:"h-8 w-8",children:a.jsx(De,{className:"h-4 w-4"})})]})]})})}),q_e=({setTextToSegment:e,setSegment:n,setSegmentName:i,setSegmentDescription:r,currentSegment:o})=>{const[s,l]=t.useState(""),[u,c]=t.useState(!1),[d,m]=t.useState(!1),[h,p]=t.useState(),[g,f]=t.useState(null),v=t.useRef(null),{toast:y}=dS(),{sendNotificationAsync:b}=bS();t.useEffect((()=>{if(g&&i&&r){const a=`${g.title}-${g.description}-${JSON.stringify(g.conditions)}`;if(v.current===a)return;v.current=a,i&&r&&(!g.title||o?.name&&""!==o.name.trim()||i(g.title),!g.description||o?.description&&""!==o.description.trim()||r(g.description)),n(g.conditions),f(null),e(!1)}}),[g]);return a.jsxs("div",{className:"flex flex-col w-full max-w-2xl",children:[a.jsxs("div",{className:"space-y-2 text-center flex-shrink-0 px-4 pt-4 pb-2",children:[a.jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Describe your audience"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe the audience you want to target in plain language, and our AI will create the conditions for you."})]}),a.jsxs("div",{className:"mb-4 overflow-x-hidden px-4 space-y-4",children:[a.jsx(fh,{mode:"wait",children:d&&h&&a.jsx(tS.div,{initial:{opacity:0,y:20,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-20,scale:.95},transition:{type:"spring",stiffness:300,damping:30,duration:.3},className:"rounded-lg border border-amber-200 bg-amber-50 p-4",children:a.jsxs("div",{className:"flex items-start gap-3",children:[a.jsx("div",{className:"flex-shrink-0",children:a.jsx("div",{className:"h-5 w-5 rounded-full bg-amber-100 flex items-center justify-center",children:a.jsx(we,{className:"text-amber-600 h-4 w-4"})})}),a.jsxs("div",{className:"flex-1",children:[a.jsx("h4",{className:"text-sm font-medium text-amber-800",children:"Let's try again with a better description"}),a.jsx("p",{className:"mt-1 text-sm text-amber-700",children:h}),a.jsx("p",{className:"mt-2 text-xs text-amber-600",children:"Refine your description above and try again, or use the manual builder if you prefer. Be sure to check what fields are available in the manual builder."})]})]})},"error-display")}),a.jsx("div",{className:"flex flex-col items-center",children:a.jsxs(fh,{mode:"wait",children:[u&&a.jsx(tS.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:-20},transition:{type:"spring",stiffness:400,damping:25,duration:.25},children:a.jsx(Yoe,{children:a.jsx("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:a.jsx(tS.div,{animate:{rotate:360},transition:{duration:2,repeat:1/0,ease:"linear"},children:a.jsx(th,{})})})})},"loading-state"),!u&&a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{type:"spring",stiffness:300,damping:30,duration:.3},className:"w-full",children:a.jsx(Yoe,{children:a.jsx(rve,{placeholder:"Describe your target audience...",className:"min-h-[120px] resize-none w-full",value:s,onChange:e=>l(e.target.value),disabled:u})})},"input-state")]})})]}),a.jsx("div",{className:"flex-shrink-0 px-4 pb-4",children:a.jsx(fh,{mode:"wait",children:!u&&a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{type:"spring",stiffness:300,damping:30,duration:.3,delay:.1},className:"flex justify-center gap-2",children:[d&&a.jsx(tS.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,x:-20},transition:{type:"spring",stiffness:400,damping:25,duration:.25},children:a.jsx(Xa,{variant:"outline",onClick:()=>{m(!1),p(void 0)},disabled:u,children:"Try Again"})}),a.jsxs(Xa,{onClick:async()=>{if(!s)return void y({title:"Please enter a description",description:"Please enter a description of your target audience",variant:"destructive"});c(!0),m(!1),p(void 0);const a=await(async e=>(await Hm(`${ym}/text-to-segment`,{method:"POST",body:JSON.stringify(e)})).data)({text:s,userCustomVerb:PN("engage:user")});if(b({message:"💬 New AI Segment requested",product:"engage",feature:"text-to-segment",details:{userInput:s,response:a}}),a.success&&a.conditions){if(0===a.conditions.length)return m(!0),p("Received empty segment conditions from AI. This might indicate a system issue."),y({title:`${PN("engage:segment")} build failed`,description:"Something unexpected happened. Please try again or use manual builder.",variant:"destructive"}),void e(!1);f({conditions:a.conditions,title:a.title,description:a.description})}else m(!0),p(a.failureReason);c(!1)},disabled:u||!s.trim(),children:[a.jsx(we,{className:"h-4 w-4"}),d?"Generate Again":`Generate ${PN("engage:segment")}`]}),a.jsx(Xa,{variant:"ghost",onClick:()=>{e(!1)},disabled:u,children:"Cancel"})]},"button-group")})})]})};function Z_e({segmentId:e,setOpen:t,onSegmentUpdated:n,viewOnly:i=!1}){const{toast:o}=dS(),{data:s}=fS(),l=void 0===e,[u,c]=r.useState(!1),[d,m]=r.useState(null),{segment:h,isLoading:p}=$se(e||""),{updateSegment:g}=(e=>{const a=sm(),t=fm({mutationFn:a=>{if(!e)throw new Error("Segment ID is required");return fse(e,a)},onSuccess:()=>{a.invalidateQueries({queryKey:Wse.all})}});return{updateSegment:t.mutate,updateSegmentAsync:t.mutateAsync,isUpdating:t.isPending,updateError:t.error,isUpdateSuccess:t.isSuccess}})(e),{deleteSegment:f,isDeleting:v}=Yse(e),{createSegment:y,isCreating:b,segmentsConditions:k}=qse(),[S,w]=r.useState(!1),[A,C]=r.useState(!i&&!!l),[M,T]=r.useState(!1);if(r.useEffect((()=>{if(k)if(h){const e=h.conditions.filter(Nse).map((e=>({field:e.field,operator:e.operator,value:e.value})));m({version:"1.0",id:h.id,name:h.name,description:h.description||"",logic:"AND",conditions:e,type:h.type,createdAt:h.createdAt})}else m((e=>({version:"1.0",id:"",name:e?.name||"",description:e?.description||"",logic:"AND",createdAt:null,conditions:[{field:k.conditions[0].field,operator:k.conditions[0].operators[0],value:[]}],type:Jse.CUSTOM})))}),[h,k]),!k||p||!d)return a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(th,{})});const x=e=>e.value.some((e=>"object"==typeof e&&null!==e&&"type"in e&&"relative"===e.type)),N=e=>e.value.some((e=>"object"==typeof e&&null!==e&&"startDate"in e&&"endDate"in e));return a.jsxs(a.Fragment,{children:[a.jsx(W_e,{segmentId:e,setOpen:t,setTextToSegment:w,promptBuilderStyle:A,textToSegment:S,viewOnly:i},"segment-builder-header"),!i&&A?a.jsx(Yoe,{className:"flex-1 flex items-center justify-center",children:a.jsx(kEe,{onSelectStyle:e=>{"ai"===e&&w(!0),C(!1)}})},"prompt-builder-style"):a.jsx(Yoe,{className:"flex-1 flex flex-col",children:a.jsxs("div",{className:"flex flex-1 flex-col",children:[a.jsx("div",{className:"flex flex-1 flex-col px-8 py-2",children:a.jsx("div",{className:"flex flex-1 flex-col gap-4",children:a.jsx(fh,{children:!i&&S?a.jsx(Yoe,{className:"flex justify-center min-h-full overflow-auto",children:a.jsx(q_e,{setTextToSegment:w,setSegment:e=>{m((a=>a?{...a,conditions:e}:null))},setSegmentName:e=>{m((a=>{if(!a)return null;return{...a,name:e}}))},setSegmentDescription:e=>{m((a=>{if(!a)return null;return{...a,description:e}}))},currentSegment:d})}):a.jsx(a.Fragment,{children:a.jsx(U_e,{segment:d,setSegment:m,segmentsConditions:{conditions:k?.conditions.map((e=>({...e,operators:e.operators})))??[]},updateCondition:(e,a)=>{const t=[...d.conditions];t[e]=a,m({...d,conditions:t})},duplicateCondition:e=>{const a=[...d.conditions];a.splice(e+1,0,{...d.conditions[e]}),m({...d,conditions:a})},deleteCondition:e=>{const a=d.conditions.filter(((a,t)=>t!==e));m({...d,conditions:a})},addCondition:()=>{const e={field:k.conditions[0].field,operator:k.conditions[0].operators[0],value:[]};m({...d,conditions:[...d.conditions,e]})},businessId:s?.id??"",viewOnly:i,segmentType:h?.type,existingSegmentConditions:h?.conditions})})})})}),a.jsx("div",{className:"border-t px-8 py-4",children:a.jsxs("div",{className:"flex items-center justify-between",children:[!i&&S&&a.jsxs(Xa,{variant:"secondary",onClick:()=>w(!1),children:[a.jsx(fe,{className:"h-4 w-4"}),"Manual Builder"]}),a.jsx("div",{className:"flex gap-2 ml-auto",children:i?a.jsx(Xa,{variant:"default",onClick:()=>t(!1),children:"Close"}):a.jsxs(a.Fragment,{children:[e&&!l&&a.jsxs(Xa,{variant:"destructive",onClick:()=>T(!0),disabled:v,children:[a.jsx(xe,{className:"mr-2 h-4 w-4"}),"Delete"]}),a.jsx(Xa,{variant:"secondary",onClick:()=>t(!1),children:"Cancel"}),a.jsx(Xa,{variant:"default",onClick:async()=>{if(!d.name)return void o({title:"Name is required",description:"Please ensure all fields are filled out",variant:"destructive"});const{valid:a,error:i}=(e=>{for(const a of e){if(!a.field||!a.operator)return{valid:!1,error:"Please ensure all fields are filled out for condition"};if(a.operator!==wse.EXISTS&&a.operator!==wse.NOT_EXISTS&&0===a.value.length)return{valid:!1,error:`Please ensure a value is selected for ${a.field}`};if((a.operator===wse.EXISTS||a.operator===wse.NOT_EXISTS)&&a.value.length>0)return{valid:!1,error:`EXISTS or NOT_EXISTS operator can only be used with an empty array for ${a.field}`};if(x(a)&&a.operator!==wse.EQUALS_MONTH_DAY&&a.operator!==wse.EQUALS_MONTH_DAY_YEAR&&a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR&&a.operator!==wse.GREATER_THAN&&a.operator!==wse.LESS_THAN)return{valid:!1,error:`Relative dates can only be used with the month and day or month, day, and year operator for ${a.field}`};if(x(a)&&void 0===a.value[0].value)return{valid:!1,error:`Please select a value for the relative date for ${a.field}`};if(N(a)&&a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR)return{valid:!1,error:`Between dates can only be used with the between month day or between month day year operator for ${a.field}`};if(N(a)&&a.value.length>1)return{valid:!1,error:`Between dates can only have a single value for ${a.field}`};if(N(a)){const e=a.value[0];if(!e.startDate||!e.endDate)return{valid:!1,error:`Please ensure both a start and end date are selected for ${a.field}`};if(e.startDate instanceof Date&&e.endDate instanceof Date&&e.startDate>e.endDate)return{valid:!1,error:`Start date must be before end date for ${a.field}`};if("object"==typeof e.startDate&&"type"in e.startDate&&"relative"===e.startDate.type&&"object"==typeof e.endDate&&"type"in e.endDate&&"relative"===e.endDate.type){if(!e.startDate.value||!e.endDate.value)return{valid:!1,error:`Please ensure both a start and end date are selected for ${a.field}`};if(a.operator!==wse.BETWEEN_MONTH_DAY&&a.operator!==wse.BETWEEN_MONTH_DAY_YEAR&&e.startDate.direction!==e.endDate.direction)return{valid:!1,error:`Start and end date must be in the same direction (both in the past or both in the future) for ${a.field}`};const t=e=>{if(e.unit===vse.DAYS)return e.value??0;throw rse(e.unit,vse)};if(a.operator===wse.BETWEEN_MONTH_DAY||a.operator===wse.BETWEEN_MONTH_DAY_YEAR){const t=new Date,n=new Date(t),i=new Date(t);if(n.setDate("before"===e.startDate.direction?t.getDate()-e.startDate.value:t.getDate()+e.startDate.value),i.setDate("before"===e.endDate.direction?t.getDate()-e.endDate.value:t.getDate()+e.endDate.value),n>=i)return{valid:!1,error:`Start date must be before end date for ${a.field}`}}else{if("before"===e.startDate.direction&&t(e.startDate)<=t(e.endDate))return{valid:!1,error:`Start date must be before end date for ${a.field}`};if("after"===e.startDate.direction&&t(e.startDate)>=t(e.endDate))return{valid:!1,error:`Start date must be before end date for ${a.field}`}}}}}return{valid:!0,error:void 0}})(d.conditions);if(!a)return void o({title:"Conditions are invalid",description:i??"Please ensure all fields are filled out",variant:"destructive"});const r=d.conditions.map((e=>{const a=k?.conditions.find((a=>a.field===e.field));return a?.type===Bse.Date?{...e,value:e.value.map((e=>e instanceof Date?e.toISOString().split("T")[0]:e))}:e}));c(!0);try{e&&h?g({name:d.name,description:d.description,conditions:r},{onSuccess:()=>{o({title:`${PN("engage:segment")} updated successfully`}),t(!1),n?.(e)},onError:()=>{o({title:`Error updating ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}}):y({name:d.name,description:d.description,conditions:d.conditions},{onSuccess:e=>{o({title:`${PN("engage:segment")} created successfully`}),n?.(e?.id??!1),t(!1)},onError:()=>{o({title:`Error creating ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}})}catch(s){o({title:`Error saving ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}finally{c(!1)}},disabled:u||b,children:u||b?a.jsxs(a.Fragment,{children:[a.jsx(W,{className:"mr-2 h-4 w-4 animate-spin"}),e?"Updating...":"Creating..."]}):e?"Update":"Create"})]})})]})})]})},"manual-builder-style"),a.jsx(wi,{open:M,onOpenChange:T,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{children:"Delete Segment"}),a.jsxs(_i,{children:['Are you sure you want to delete "',d?.name,'"? This action is permanent.']})]}),a.jsxs(Ni,{children:[a.jsx(Xa,{variant:"outline",onClick:()=>T(!1),disabled:v,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{e?f(void 0,{onSuccess:()=>{o({title:`${PN("engage:segment")} deleted successfully`}),t(!1),n?.(e)},onError:()=>{o({title:`Error deleting ${PN("engage:segment")}`,description:"Please try again",variant:"destructive"}),n?.("error")}}):o({title:"Error deleting segment",description:"Segment ID is required",variant:"destructive"})},disabled:v,children:a.jsxs(a.Fragment,v?{children:[a.jsx(W,{className:"mr-2 h-4 w-4 animate-spin"}),"Deleting..."]}:{children:[a.jsx(xe,{className:"mr-2 h-4 w-4"}),"Delete"]})})]})]})})]})}function $_e({open:e,setOpen:t,segmentId:n,onSegmentUpdated:i,viewOnly:r=!1}){return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"flex h-[85vh] w-[85vw] max-w-none flex-col gap-0 overflow-y-auto",hideCloseButton:!0,children:[a.jsxs(Xe,{children:[a.jsxs(Ei,{children:[PN("engage:segment")," Builder"]}),a.jsxs(_i,{children:["Build a ",PN("engage:segment")," to target your audience"]})]}),a.jsx(Z_e,{segmentId:n,setOpen:t,onSegmentUpdated:e=>{i?.(e),t(!1)},viewOnly:r})]})})}const Y_e="reach-EstimatedMatchesView-module__learnMoreLink___M-mr-",Q_e="reach-EstimatedMatchesView-module__reassuranceBannerAlternative___kBAuQ",X_e="reach-EstimatedMatchesView-module__reassuranceBannerAlternativeText___Sifb-",eje="reach-EstimatedMatchesView-module__reassuranceBannerAlternativeTitle___rIfFG",aje=()=>a.jsx(Rx,{title:`The total number of ${PN("engage:user",{count:2}).toLocaleLowerCase()} may not match your SMS and email counts because some ${PN("engage:user",{count:2}).toLocaleLowerCase()} may have unsubscribed, invalid contact information, or haven't opted into marketing messages. This number can also change as new ${PN("engage:user",{count:2}).toLocaleLowerCase()} join your segments.`}),tje=({value:e,label:t,percentage:n,variant:i,isLoading:r,selected:o,onClick:s,tooltip:l,icon:u})=>a.jsx(tS.div,{className:`rounded-md border-2 border-muted-foreground/20 px-2 sm:px-3 lg:px-4 pt-3 lg:pt-4 pb-3 lg:pb-5 duration-300 ease-in-out overflow-x-auto max-w-full min-w-0 h-full flex flex-col ${o?"scale-[1.02] [border-color:hsl(var(--reach-primary))] shadow-lg":""} ${s?"cursor-pointer hover:bg-gray-50/50 transition-colors":""}`,style:{containerType:"inline-size"},"data-card-container":!0,onClick:s,layout:!0,children:a.jsxs("div",{className:"flex flex-col h-full w-full min-w-0",children:[a.jsxs("div",{className:"flex items-start gap-1.5 sm:gap-2 w-full h-[2.5rem] sm:h-[2.75rem] mb-2 sm:mb-3 lg:mb-4",children:[u?a.jsx(u,{className:`w-3.5 h-3.5 sm:w-4 sm:h-4 flex-shrink-0 mt-0.5 ${{default:"text-gray-600",blue:"text-blue-600",green:"text-green-600"}[i]}`}):a.jsx("div",{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 flex-shrink-0"}),a.jsxs("div",{className:"flex items-start gap-1.5 flex-1 min-w-0 h-full",children:[a.jsx("span",{className:`text-[10px] sm:text-xs font-medium leading-tight break-words ${{default:"text-gray-700",blue:"text-blue-700",green:"text-green-700"}[i]}`,children:t}),l&&a.jsx("div",{className:"flex-shrink-0 mt-0.5",children:a.jsx(Rx,{title:l})})]})]}),a.jsx("div",{className:"flex-1 flex items-start w-full",children:a.jsx(fh,{mode:"wait",children:r?a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex items-center",children:a.jsx(th,{size:"sm",textColor:"text-gray-500"})},"loading"):a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:"flex flex-col gap-1 w-full",children:[a.jsx("span",{className:"font-semibold break-words max-w-full min-w-0\n text-lg sm:text-xl @[250px]:text-2xl @[350px]:text-3xl text-primary leading-none",children:e.toLocaleString()}),void 0!==n&&a.jsxs("span",{className:"text-muted-foreground/50 text-[10px] leading-none",children:["(",n,"%)"]})]},"content")})})]})}),nje=({countResponse:e,selectedFilter:n="all",onFilterChange:i,isLoading:r=!1})=>{const o=t.useMemo((()=>{if(!e)return{total:0,emails:0,phones:0};const a=e.count||0;if(void 0!==e.emailCount&&void 0!==e.phoneCount)return{total:a,emails:e.emailCount,phones:e.phoneCount};const t=e.recipients||[],n=t.filter((e=>e.email)).length,i=t.filter((e=>e.phone)).length,r=t.length;let o=0,s=0;if(r>0&&a>0){const e=i/r;o=Math.round(a*(n/r)),s=Math.round(a*e)}else o=0,s=0;return{total:a,emails:o,phones:s}}),[e]),s=e=>0===o.total?0:Math.round(e/o.total*100),l=o.total>Math.max(o.emails,o.phones);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(j_,{children:"Estimated Matches"}),a.jsx(aje,{})]}),l&&a.jsx("div",{className:Q_e,children:a.jsxs("p",{className:X_e,children:[a.jsx("span",{className:eje,children:"Total vs. Subscribed mismatch?"})," ","Some ",PN("engage:user",{count:2}).toLowerCase()," may have unsubscribed or had hard bounces."," ",a.jsx(Rx,{description:"This can happen when customers unsubscribe, emails bounces, or contact info is missing. This is normal and expected.",size:"small",iconColor:"text-muted-foreground",children:a.jsx("span",{className:Y_e,children:"Learn more"})})]})}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 lg:mb-6 w-full gap-3 sm:gap-4 mt-3 px-1 items-stretch",children:[a.jsx(tje,{value:o.total,label:"Total",variant:"default",isLoading:r||void 0===e,selected:"all"===n,onClick:i?()=>i("all"):void 0,tooltip:`Total includes all ${PN("engage:user",{count:2}).toLocaleLowerCase()} in your system. This does not factor in ${PN("engage:user",{count:2}).toLocaleLowerCase()} who might have opted out of email or sms.`,icon:OM.UsersIcon}),a.jsx(tje,{value:o.emails,label:"Subscribed to Email",percentage:s(o.emails),variant:"blue",isLoading:r||void 0===e,selected:"email"===n,onClick:i?()=>i("email"):void 0,icon:OM.EmailIcon}),a.jsx(tje,{value:o.phones,label:"Subscribed to SMS",percentage:s(o.phones),variant:"green",isLoading:r||void 0===e,selected:"phone"===n,onClick:i?()=>i("phone"):void 0,icon:OM.SmsIcon})]})]})},ije=({onSelectionChange:e,defaultValue:n=yEe.ALL,canEditAudience:i=!0})=>{const[r,o]=t.useState(n),s=a=>{i&&(o(a),e?.(a))};return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(j_,{children:"Filter"}),!i&&a.jsx(Rx,{title:"You cannot edit the audience unless you are in draft mode"})]}),a.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-3 gap-3 xl:gap-4 px-1",children:[a.jsx("div",{id:"all-users-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.ALL),title:`All ${PN("engage:user",{count:2})}`,subtitle:"Send to everyone",icon:a.jsx(OM.UsersIcon,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"all"===r,disabled:!i,hideSelectedText:!0})}),a.jsx("div",{id:"segments-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.SEGMENTS),title:`Select ${PN("engage:segment",{count:2})}`,subtitle:`Choose from ${PN("engage:segment",{count:2})}`,icon:a.jsx(OM.UserEdit,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"segments"===r,disabled:!i,hideSelectedText:!0})}),a.jsx("div",{id:"individual-users-selector",className:"h-full w-full",children:a.jsx(ule,{className:"h-full w-full min-h-[6.5rem] xl:min-h-[8rem]",onClick:()=>s(yEe.INDIVIDUAL),title:"Select Individual",subtitle:`Pick ${PN("engage:user",{count:2}).toLowerCase()} one by one`,icon:a.jsx(OM.UserIcon,{className:"w-5 h-5 mb-2 text-gray-600"}),selected:"individual"===r,disabled:!i,hideSelectedText:!0})})]})]})},rje=({selectedUserIds:e,onUserSelectionChange:n,canEditAudience:i=!0})=>{const[r,o]=t.useState(e),[s,l]=t.useState(),[u,c]=t.useState(!1),[d,m]=t.useState(!1),{segments:h}=Zse(),p=t.useMemo((()=>h?.find((e=>e.type===Jse.ALL_USERS))),[h]),g=p?.userCount??0;t.useEffect((()=>{o(e)}),[e]);const f=t.useCallback((async()=>{if(!d&&!s?.recipients&&h){m(!0),c(!0);try{const e=h.find((e=>e.type===Jse.ALL_USERS));if(e){const a=await gse({includeSegments:[e.id],excludeSegments:[]});l(a)}}catch(e){}finally{c(!1)}}}),[d,s?.recipients,h]);t.useEffect((()=>{if(!s?.recipients&&h&&!u){const e=setTimeout((()=>{f()}),100);return()=>clearTimeout(e)}}),[s?.recipients,h,u,f]);const v=t.useMemo((()=>s?.recipients?s.recipients.filter((e=>null!==e.externalId)).map((e=>{const t=!!!e.email&&!!!e.phone,n=(e.emailOptedOut||!1)&&(e.smsOptedOut||!1),i=t||n;let r="";return i&&(t?r="No email or phone number available":n&&(r="User has opted out of both email and SMS")),{label:gNe({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0},"Unnamed User"),value:e.externalId,disabled:i,disabledReason:r,customComponent:a.jsx(SEe,{email:e.email??void 0,phone:e.phone??void 0,size:"sm"}),searchData:{email:e.email??void 0,phone:e.phone??void 0,firstName:e.firstName??void 0,lastName:e.lastName??void 0}}})):[]),[s?.recipients]);return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Select Individual Users"}),a.jsx("p",{className:"text-sm text-gray-500",children:"Choose specific users to include in your automation"})]}),e.length>0&&a.jsxs("div",{className:"text-sm text-gray-500",children:[e.length," user",1!==e.length?"s":""," selected"]})]}),a.jsx(JNe,{options:[{category:"Users",items:v}],onValueChange:e=>{o(e),n(e)},selectedValues:r,setSelectedValues:o,isLoading:u,placeholder:"Select users...",title:"Select Individual Users",searchPlaceholder:fNe,emptyMessage:"No users found",canOpen:i,totalCount:g})]})},oje=({segments:e,allSegments:n,onAddSegment:i,onRemoveSegment:r,setOpenCreateSegmentDialog:o,canEditAudience:s=!0})=>{const[l,u]=t.useState(!1),[c,d]=t.useState([]),m=n.map((e=>({label:e.name,value:e.id})));return t.useEffect((()=>{d(e)}),[e]),t.useEffect((()=>{if(0===n.length){u(!0);const e=setTimeout((()=>{u(!1)}),100);return()=>clearTimeout(e)}u(!1)}),[n.length]),a.jsx("div",{children:a.jsx(JNe,{canOpen:s,selectedValues:c,setSelectedValues:d,options:[{category:"Segments",items:m}],onValueChange:a=>{const t=a.filter((a=>!e.includes(a))),n=e.filter((e=>!a.includes(e)));t.forEach(i),n.forEach(r)},isLoading:l,placeholder:`Select ${PN("engage:segment",{count:2})}`,maxCount:5,title:`Select ${PN("engage:segment",{count:2})}`,extraCommandItems:[e=>a.jsxs("div",{onClick:()=>{e(!0),o(!0)},className:"cursor-pointer flex items-center gap-2 px-3 py-2 hover:bg-gray-100 rounded-md transition-colors",children:[a.jsx(OM.PlusIcon,{className:"w-4 h-4"}),"New"]},"new-segment")]})})},sje=({includedSegments:e,excludedSegments:n,handleAddSegment:i,handleRemoveSegment:r,setOpenCreateSegmentDialog:o,segments:s,defaultIsExcludeOpen:l=!1,canEditAudience:u=!0})=>{const[c,d]=t.useState(l);return a.jsxs("div",{children:[a.jsx(oje,{segments:e,allSegments:s||[],onAddSegment:e=>i(e,"include"),onRemoveSegment:e=>r(e,"include"),setOpenCreateSegmentDialog:o,canEditAudience:u}),a.jsx("div",{className:"border-t border-gray-200 my-8"}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs(Xa,{onClick:()=>{u&&d(!c)},className:"flex items-center gap-1 transition-colors",size:"sm",children:[a.jsx(tS.div,{animate:{rotate:c?180:0},transition:{duration:.2},children:a.jsx(OM.DropdownMenuTrigger,{className:"w-5 h-5"})}),a.jsx("span",{children:"Don't send to"})]}),a.jsx(fh,{children:c&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2,ease:"easeInOut"},children:a.jsx(oje,{canEditAudience:u,segments:n,allSegments:s||[],onAddSegment:e=>i(e,"exclude"),onRemoveSegment:e=>r(e,"exclude"),setOpenCreateSegmentDialog:o})})})]})]})},lje=({title:e="Preview Audience"})=>{const n=tle(),[i,r]=t.useState(yEe.ALL),[o,s]=t.useState(n?.includeSegmentIds||[]),[l,u]=t.useState(n?.excludeSegmentIds||[]),[c,d]=t.useState([]),[m,h]=t.useState(!1),[p,g]=t.useState(!1),[f,v]=t.useState("all"),[y,b]=t.useState(""),{segments:k,isLoading:S}=Zse(),{updateAutomation:w}=zE(n?.id??""),{createSegmentAsync:A}=qse(),{updateSegmentAsync:C}=(()=>{const e=sm(),a=fm({mutationFn:({segmentId:e,params:a})=>fse(e,a),onSuccess:()=>{e.invalidateQueries({queryKey:Wse.all})}});return{updateSegmentAsync:a.mutateAsync,isUpdating:a.isPending,updateError:a.error,isUpdateSuccess:a.isSuccess}})(),M=t.useMemo((()=>{if(!k||0===k.length)return;let e=0,a=0,t=0;return o.forEach((n=>{const i=k.find((e=>e.id===n));if(i){const n=Number(i.userCount)||0,r=i,o=Number(r.emailCount)||0,s=Number(r.phoneCount)||0;e+=n,a+=o,t+=s}})),l.forEach((n=>{const i=k.find((e=>e.id===n));if(i){const n=Number(i.userCount)||0,r=i,o=Number(r.emailCount)||0,s=Number(r.phoneCount)||0;e=Math.max(0,e-n),a=Math.max(0,a-o),t=Math.max(0,t-s)}})),{count:e,emailCount:a,phoneCount:t,recipients:[],pagination:{hasNextPage:!1,cursor:null}}}),[k,o,l]),{data:T,isLoading:x,isFetching:N,hasMore:E,loadMore:_}=((e,a,n,i)=>{const[r,o]=t.useState(e),[s,l]=t.useState(a),[u,c]=t.useState(i?.search||""),[d,m]=t.useState([]),[h,p]=t.useState(i?.cursor),g=JSON.stringify(r),f=JSON.stringify(s);t.useEffect((()=>{m([]),p(void 0)}),[g,f,u,i?.filter]),t.useEffect((()=>{const t=setTimeout((()=>{o(e),l(a)}),i?.debounceMs??500);return()=>clearTimeout(t)}),[e,a,i?.debounceMs]),t.useEffect((()=>{const e=setTimeout((()=>{c(i?.search||"")}),150);return()=>clearTimeout(e)}),[i?.search]);const v=i?.filter??"all",y=gm({queryKey:[...Kx.recipients(n,r,s,u),v,h||"initial",i?.limit??100],queryFn:()=>gse({includeSegments:r,excludeSegments:s,automationId:n,search:u||void 0,limit:i?.limit??100,filter:v,cursor:h}),enabled:(i?.enabled??!0)&&!!n,staleTime:0,placeholderData:Ed});return t.useEffect((()=>{y.data?.recipients&&m(h?e=>[...e,...y.data.recipients]:y.data.recipients)}),[y.data,h]),{data:y.data?{...y.data,recipients:d}:void 0,isLoading:y.isLoading&&0===d.length,isFetching:y.isFetching,error:y.error,refetch:y.refetch,hasMore:y.data?.pagination.hasNextPage??!1,loadMore:()=>{y.data?.pagination.hasNextPage&&y.data.pagination.cursor&&!y.isFetching&&(p(y.data.pagination.cursor),i?.onLoadMore?.(y.data.pagination.cursor))}}})(o,l,n?.id??"",{debounceMs:500,enabled:!!n?.id&&p&&(o.length>0||l.length>0),search:y,limit:100,filter:f}),j=t.useRef([]),P=t.useRef(f),[L,B]=t.useState(!1);t.useEffect((()=>{P.current!==f&&(B(!0),P.current=f)}),[f]),t.useEffect((()=>{void 0!==T?.recipients&&(j.current=T.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0}))),B(!1))}),[T?.recipients]);const R=t.useMemo((()=>L?[]:void 0!==T?.recipients?T.recipients.map((e=>({firstName:e.firstName??"",lastName:e.lastName??"",email:e.email??void 0,phone:e.phone??void 0}))):j.current),[T?.recipients,L]),D=t.useMemo((()=>{if(M)return{count:M.count,emailCount:M.emailCount,phoneCount:M.phoneCount,recipients:T?.recipients||[],pagination:T?.pagination||{hasNextPage:!1,cursor:null}}}),[M,T]),z=t.useCallback((()=>{N||x||!E||_()}),[N,x,E,_]),O=1===o.length&&0===l.length&&void 0!==k?.find((e=>e.type===Jse.ALL_USERS&&e.id===o[0])),I=1!==o.length||0!==l.length||O?"":o[0],{segment:K}=$se(I),H=K?.type===Jse.ONE_OFF;t.useEffect((()=>{(async()=>{if(n&&!p&&!1===S){if(1===o.length&&0===l.length&&void 0!==k.find((e=>e.type===Jse.ALL_USERS&&e.id===o[0])))r(yEe.ALL);else if(H&&K){if(r(yEe.INDIVIDUAL),K.conditions){const e=[];K.conditions.forEach((a=>{"userId"===a.field&&a.operator===wse.EQUALS&&a.value.forEach((a=>{"string"==typeof a&&e.push(a)}))})),d(e)}}else r(yEe.SEGMENTS);g(!0)}})()}),[n,O,H,p,o,l,k,S,K]);t.useEffect((()=>{if(!n?.id||!p)return;if(i===yEe.INDIVIDUAL&&0===o.length&&0===l.length)return;const e=[...o].sort().join(","),a=[...l].sort().join(","),t=[...n.includeSegmentIds||[]].sort().join(","),r=[...n.excludeSegmentIds||[]].sort().join(",");e===t&&a===r||w({includeSegments:o,excludeSegments:l})}),[o,l,n?.includeSegmentIds,n?.excludeSegmentIds,n?.id,p,w,i]);const F=n?.status===_E.DRAFT;return a.jsxs(hEe,{title:e,children:[!S&&k&&p?a.jsxs("div",{className:"flex flex-col md:flex-row gap-4 md:gap-6 w-full pb-4 px-4 min-h-0",children:[a.jsxs("div",{className:"w-full md:w-1/2 flex flex-col gap-4 md:gap-6 overflow-y-auto",style:{maxHeight:"calc(100vh - 350px)"},children:[a.jsx(nje,{countResponse:D,selectedFilter:f,onFilterChange:v,isLoading:S}),a.jsx(ije,{onSelectionChange:async e=>{if(r(e),e===yEe.ALL){const e=k?.find((e=>e.type===Jse.ALL_USERS));if(!e)return;s([e.id]),u([]),d([])}else if(e===yEe.INDIVIDUAL){if(n?.id)try{const e=bEe(n.id);let t;try{t=await Fx(e)}catch(a){}if(t){if(s([t.id]),u([]),t.conditions){const e=[];t.conditions.forEach((a=>{"userId"===a.field&&a.operator===wse.EQUALS&&a.value.forEach((a=>{"string"==typeof a&&e.push(a)}))})),d(e)}}else{const a=await A({name:e,description:"One-off segment for individual user selection",type:Jse.ONE_OFF,conditions:[{field:"userId",operator:wse.EQUALS,value:[]}]});a?.id&&(s([a.id]),u([]))}}catch(a){}}else e===yEe.SEGMENTS&&(s([]),u([]))},defaultValue:i,canEditAudience:F}),a.jsx(fh,{children:i===yEe.SEGMENTS&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full",children:a.jsx(sje,{canEditAudience:F,includedSegments:o,excludedSegments:l,handleAddSegment:(e,a)=>{"include"===a?s((a=>[...a,e])):u((a=>[...a,e]))},handleRemoveSegment:(e,a)=>{"include"===a?s((a=>a.filter((a=>a!==e)))):u((a=>a.filter((a=>a!==e))))},setOpenCreateSegmentDialog:h,segments:k,defaultIsExcludeOpen:l.length>0})})}),a.jsx(fh,{children:i===yEe.INDIVIDUAL&&a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.3,ease:"easeInOut"},className:"w-full",children:a.jsx(rje,{countResponse:M,selectedUserIds:c,onUserSelectionChange:async e=>{if(d(e),n?.id)try{const t=bEe(n.id);let i;try{i=await Fx(t)}catch(a){}if(i){i=await C({segmentId:i.id,params:{conditions:e.length>0?[{field:"userId",operator:wse.EQUALS,value:e}]:[{field:"userId",operator:wse.EQUALS,value:[]}]}})}else i=await A({name:t,description:"One-off segment for individual user selection",type:Jse.ONE_OFF,conditions:e.length>0?[{field:"userId",operator:wse.EQUALS,value:e}]:[{field:"userId",operator:wse.EQUALS,value:[]}]});i?.id&&(await w({includeSegments:[i.id],excludeSegments:[]}),await new Promise((e=>setTimeout(e,100))))}catch(a){}},canEditAudience:F})})})]}),a.jsx("div",{className:"w-full md:w-1/2 min-h-0 flex flex-col",children:a.jsx(wEe,{recipients:R,filter:f,audienceMode:i,isLoading:x&&0===j.current.length||L&&N,totalCount:"email"===f?D?.emailCount:"phone"===f?D?.phoneCount:D?.count,searchQuery:y,onSearchChange:b,onLoadMore:z,hasMore:E,isLoadingMore:N&&!L})})]}):a.jsx("div",{children:a.jsx(th,{text:["Fetching segments","Finishing up"]})}),a.jsx($_e,{open:m,setOpen:h,onSegmentUpdated:e=>{e&&s((a=>[...a,e]))}})]})},uje=()=>a.jsx("div",{id:"wizard-select-audience-step",children:a.jsx("div",{id:"wizard-audience-title-container",children:a.jsx(lje,{title:"Select Audience"})})}),cje=({selectedChannels:e,setSelectedChannels:n,hasEmailChannelSenders:i,automationType:r,hideSms:o})=>{const{toast:s}=dS(),l=[...i?[{label:"Email",value:"email",icon:OM.EmailIcon,checked:e.includes("email")}]:[],...o?[]:[{label:"SMS",value:"sms",icon:OM.SmsIcon,checked:e.includes("sms")}]];return t.useEffect((()=>{o&&i&&!e.includes("email")&&n(["email"])}),[o,i,e,n]),a.jsxs("div",{className:"space-y-6",children:[a.jsx("div",{className:"text-center",children:a.jsxs("p",{className:"text-muted-foreground text-sm",children:["Select the channels you want to use in this"," ",r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()]})}),a.jsx("div",{id:"wizard-channel-options-container",className:"w-full grid gap-4 max-w-2xl mx-auto "+(o?"grid-cols-1":"grid-cols-2"),children:l.map((t=>a.jsx(PNe,{id:`wizard-channel-option-${t.value}`,checked:t.checked,onCheckedChange:()=>{"email"===t.value?e.includes("email")?e.includes("sms")?n(["sms"]):s({title:"Cant Remove Email",description:`At least one channel is required for an ${r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()}`,variant:"destructive"}):n([...e,"email"]):e.includes("sms")?e.includes("email")?n(["email"]):s({title:"Cant Remove SMS",description:`At least one channel is required for an ${r===ME.ONE_TIME?PN("engage:broadcast").toLowerCase():PN("engage:automation").toLowerCase()}`,variant:"destructive"}):n([...e,"sms"])},className:"relative ring-[1px] ring-border rounded-xl px-6 py-6 text-start text-muted-foreground data-[state=checked]:ring-2 data-[state=checked]:ring-primary data-[state=checked]:font-medium hover:ring-2 hover:ring-primary/50 transition-all duration-200",children:a.jsxs("div",{className:"flex flex-col items-center text-center space-y-3",children:[a.jsx("div",{className:"w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center",children:a.jsx(t.icon,{className:"w-6 h-6 text-primary",size:24})}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("span",{className:"font-semibold text-lg tracking-tight text-foreground block",children:t.label}),a.jsx("span",{className:"text-sm text-muted-foreground block",children:"email"===t.value?"Send rich content via email":"Send quick messages via text"})]}),a.jsx(LNe,{className:"absolute top-3 right-3",children:a.jsx(_,{className:"w-5 h-5 fill-primary text-primary-foreground"})})]})},t.value)))})]})},dje=({hideSms:e})=>{const{channelSenders:n}=DC(),{channelAccounts:i}=LC(),r=nle(),{updateCommunicationGroup:o}=UN(),{state:{selectedChannels:s},setSelectedChannels:l}=t.useContext(Hfe),u=tle(),{data:c}=XN(),d=t.useMemo((()=>OC({channelSenders:n?.results??[],channelAccounts:i?.results??[]})),[n?.results,i?.results]),m=t.useMemo((()=>oE({channelSenders:n?.results??[],channelAccounts:i?.results??[],smsApplication:c})),[n?.results,i?.results,c]),h=t.useCallback((async e=>{if(l(e),r?.id)if(e.includes("email")){if(d.length>0&&!r.emailChannelSenderId){const e=d[0];o({groupId:r?.id,params:{emailChannelSenderId:e.channelSenderId}})}}else o({groupId:r?.id,params:{emailChannelSenderId:null}});if(r?.id)if(e.includes("sms")){if(m.length>0&&!r.smsChannelSenderId){const e=m[0];o({groupId:r?.id,params:{smsChannelSenderId:e.channelSender.id}})}}else o({groupId:r?.id,params:{smsChannelSenderId:null}})}),[l,o,r?.id,r?.emailChannelSenderId,r?.smsChannelSenderId,d,m]);if(!s||void 0===d||void 0===m)return a.jsx("div",{className:"flex justify-center items-center h-full bg-white rounded-2xl w-full border border-gray-200 p-6 relative",children:a.jsx(th,{text:["Fetching Content..."]})});const p=d.length>0;return a.jsx("div",{id:"wizard-channel-selection",className:"flex flex-col h-full w-full space-y-4 justify-center",children:a.jsxs("div",{className:"flex flex-col space-y-6",children:[a.jsx("div",{className:"text-center space-y-2",children:a.jsx("h3",{id:"wizard-channel-selection-heading",className:"text-3xl font-semibold text-foreground tracking-tight",children:"Message Channels"})}),a.jsx("div",{className:"flex justify-center",children:a.jsx(cje,{automationType:u?.triggerMetadata?.triggerType,selectedChannels:s,setSelectedChannels:h,hasEmailChannelSenders:p,hideSms:e})})]})})};var mje=(e=>(e[e.SelectChannels=1]="SelectChannels",e[e.ContentBuilderStyle=2]="ContentBuilderStyle",e[e.AIPrompt=3]="AIPrompt",e[e.EditEmailContent=4]="EditEmailContent",e[e.EditSmsContent=5]="EditSmsContent",e[e.SelectAudience=6]="SelectAudience",e[e.Schedule=7]="Schedule",e[e.PreviewAndSend=8]="PreviewAndSend",e))(mje||{});const hje=e=>{const a=tle(),n=nle(),i=sm(),{state:{selectedChannels:r,contentBuilderStyle:o}}=t.useContext(Hfe),{data:s}=XN(),{channelSenders:l}=DC(),{channelAccounts:u}=LC(),c=oE({channelSenders:l?.results??[],channelAccounts:u?.results??[],smsApplication:s}),d=t.useCallback((async t=>{if(!a)return{canMove:!1,errorMessage:`${PN("engage:broadcast")} not loaded`};const s=a.actionData?.find((e=>"send_communication"===e.actionType))?.actionMetadata.communicationGroupId;s&&(await i.invalidateQueries({queryKey:["communication-group",s]}),await i.refetchQueries({queryKey:["communication-group",s]}));let l=n;if(s){const{getCommunicationGroup:e}=await Promise.resolve().then((()=>GN));l=await e(s)}return await(async e=>{const{currentStep:a,automation:t,communicationGroup:n,selectedChannels:i,smsChannelSenders:r,contentBuilderStyle:o,isScheduleLoading:s=!1}=e;switch(a){case mje.SelectChannels:return 0===i.length?{canMove:!1,errorMessage:"Please select at least one channel"}:{canMove:!0,errorMessage:null};case mje.ContentBuilderStyle:return o?{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please select a content builder style"};case mje.AIPrompt:return{canMove:!0,errorMessage:null};case mje.SelectAudience:return{canMove:t.includeSegmentIds.length>0,errorMessage:"Please ensure you have selected at least one segment"};case mje.EditSmsContent:{const e=t.actionData?.find((e=>"send_communication"===e.actionType));if(!e)return{canMove:!1,errorMessage:"Please ensure you have selected either a email communication or text communication"};if(!n)return{canMove:!1,errorMessage:"Please ensure you have selected a communication group"};const a=r.find((e=>e.channelSender.id===n.smsChannelSenderId));return a||n.emailChannelSenderId?n.smsMessageBody?a&&a.smsApplication&&a.smsApplication.status!==rE.APPROVED?{canMove:!0,errorMessage:null,warningMessage:"You will only be able to send this message once your SMS application is approved"}:{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please ensure you have a text body"}:{canMove:!1,errorMessage:"Please ensure you have selected a text sender"}}case mje.EditEmailContent:{const e=t.actionData?.find((e=>"send_communication"===e.actionType));return e?n?n.emailChannelSenderId||n.smsChannelSenderId?n.emailHtmlBody&&n.emailSubject?n.emailChannelSenderId&&n.emailHtmlBody&&n.emailHtmlBody.includes(eve)?{canMove:!1,errorMessage:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`}:{canMove:!0,errorMessage:null}:{canMove:!1,errorMessage:"Please ensure you have a email body and subject"}:{canMove:!1,errorMessage:"Please ensure you have selected an email or SMS sender"}:{canMove:!1,errorMessage:"Please ensure you have selected a communication group"}:{canMove:!1,errorMessage:"Please ensure you have selected either a email communication or text communication"}}case mje.Schedule:{if(s)return{canMove:!0,errorMessage:null,warningMessage:"Schedule selection is being processed..."};if(!t.triggerMetadata)return{canMove:!1,errorMessage:"Please make sure to select a time to send before starting!"};if(t.triggerMetadata.triggerType!==ME.ONE_TIME)return{canMove:Boolean(t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),errorMessage:null};if(!t.triggerMetadata?.scheduledAt)return{canMove:!1,errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`};if(!Boolean(t.triggerMetadata?.scheduledAt&&("now"===t.triggerMetadata.scheduledAt||"now"!==t.triggerMetadata.scheduledAt&&new Date(t.triggerMetadata.scheduledAt)>new Date)))return{canMove:!1,errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`};if(!Boolean(t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))))return{canMove:!1,errorMessage:"Please ensure you have set a valid email or sms communication"};const e=t.triggerMetadata;return{canMove:Boolean(e.scheduledAt&&("now"===e.scheduledAt||new Date(e.scheduledAt)>new Date)&&t.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),errorMessage:`Please ensure you have set a valid future date for your ${PN("engage:broadcast")}`}}case mje.PreviewAndSend:return n?.emailChannelSenderId&&n?.emailHtmlBody&&n.emailHtmlBody.includes(eve)?{canMove:!1,errorMessage:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`}:{canMove:!0,errorMessage:null};default:The(a,mje)}})({currentStep:t,automation:a,communicationGroup:l||n,selectedChannels:r,smsChannelSenders:c,contentBuilderStyle:o,isScheduleLoading:e})}),[a,n,r,c,o,e,i]);return{validateStep:d}},pje=({onFinish:e,getExtraMergeFields:n,onBeforeSchedule:i,hideSms:r})=>{const o=tle(),s=nle(),{updateAutomation:l,isUpdating:u}=zE(o?.id||""),{estimatedMatchesStats:c,isLoading:d}=(e=>{const a=e?.id,{data:n,isLoading:i}=UE({automationId:a??""}),r=t.useMemo((()=>({estimatedEmails:n?.estimatedEmails??0,estimatedSms:n?.estimatedSms??0})),[n]);return{estimatedMatches:n,estimatedMatchesStats:r,isLoading:i}})(o??void 0),{generateNameAndDescription:m,isGeneratingNameAndDescription:h}=WE(),{refetchAutomation:p}=BE(o?.id||""),{state:{selectedChannels:g,contentBuilderStyle:f}}=t.useContext(Hfe),[v,y]=t.useState([]),{data:b}=XN(),[k,S]=t.useState(!1),{channelSenders:w}=DC(),{channelAccounts:A}=LC(),{updateCommunicationGroup:C}=UN(),{resetCommunicationGroup:M}=(()=>{const e=sm(),a=fm({mutationFn:e=>FN(e),onSuccess:()=>{e.invalidateQueries({queryKey:[...VN.all,Gx.all]}),e.invalidateQueries({queryKey:["reputation","communication-groups"]})}});return{resetCommunicationGroup:a.mutate,isResetting:a.isPending,resetError:a.error,isResetSuccess:a.isSuccess}})(),T=t.useRef(!1),[x,N]=t.useState(""),E=t.useRef(x),[_,j]=t.useState(!1),P=t.useRef(null);t.useEffect((()=>{E.current=x}),[x]);const[L,B]=t.useState(!1),[R,D]=t.useState(!1),{validateStep:z}=hje(u),O=t.useMemo((()=>{if(!o||R)return!1;const e=o.name?.includes("Broadcast")||o.name?.includes("automation")||!o.name||""===o.name.trim(),a=!o.description||""===o.description.trim();return e&&a}),[o,R]),I=t.useMemo((()=>oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b})),[w?.results,A?.results,b]),K=t.useCallback((async e=>{try{if(s?.id){const a={};e.email&&(a.emailHtmlBody=e.email.html,a.emailCss=e.email.css,a.emailCompiledHtml=e.email.compiledEmail,a.emailSubject=e.email.subject,a.emailPreviewText=e.email.previewText),e.sms&&(a.smsMessageBody=e.sms.body,I.length>0&&(a.smsChannelSenderId=I[0].channelSender.id)),Object.keys(a).length>0&&C({groupId:s.id,params:a},{onSuccess:()=>{(e.name||e.description)&&l({name:e.name||o?.name||"",description:e.description||o?.description||""},{onSuccess:()=>{D(!0)},onError:e=>{}}),M({communicationGroupId:s.id,emailHtmlBody:!!e.email||null,emailTextBody:!!e.email||null,textMessageBody:!!e.sms||null}),cS({title:"Content Generated Successfully",description:"AI content has been applied to your automation.",variant:"default"}),g.includes("email")?F(mje.EditEmailContent):g.includes("sms")?F(mje.EditSmsContent):F(mje.SelectAudience)},onError:()=>{cS({title:"Error Applying Content",description:"Failed to apply AI-generated content. Please try again.",variant:"destructive"})}})}}catch(a){cS({title:"Error Applying Content",description:"Failed to apply AI-generated content. Please try again.",variant:"destructive"})}finally{await new Promise((e=>setTimeout(e,500))),j(!1)}}),[s?.id,C,M,g,I,l,o?.name,o?.description]),[H,F]=t.useState(mje.SelectChannels);if(t.useEffect((()=>{if(null!==o&&null!==s){const e=oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b});y((({automation:e,communicationGroup:t,selectedChannels:n,smsChannelSenders:i,contentBuilderStyle:r,onAIContentGeneration:o,aiPromptRef:s,onAiPromptChange:l,aiContentPromptRef:u,hideSms:c})=>{if(!e)return[];const d=[{id:"select-channels",title:"Message Channels",step:1,isValid:()=>n.length>0,content:a.jsx(nve,{content:a.jsx(dje,{hideSms:c})},"select-channels"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!0,backDisabled:!1,nextDisabled:()=>0===n.length}},{id:"content-builder-style",title:"Content Builder Style",step:2,isValid:()=>!!r,content:a.jsx(nve,{content:a.jsx(dve,{})},"content-builder-style"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!r}}];return r===Kfe.AI&&d.push({id:"ai-prompt",title:"AI Prompt",step:3,isValid:()=>(s?.current??"").trim().length>0,content:a.jsx(nve,{content:o?a.jsx(cve,{ref:u,onGenerateContent:o,onPromptChange:l||(()=>{})}):a.jsx("div",{children:"AI Content Prompt"})},"ai-prompt"),footerConfig:{backText:"Back",nextText:"Generate",hideBack:!1,backDisabled:!1,nextDisabled:()=>!(s?.current??"").trim()}}),n.includes("email")&&d.push({id:"edit-email-content",title:"Email Content",step:4,isValid:()=>{const a=e.actionData?.find((e=>"send_communication"===e.actionType));return!!a&&!!t.emailChannelSenderId&&!(!t.emailHtmlBody||!t.emailSubject)},content:a.jsx(nve,{content:a.jsx(dNe,{})},"edit-email-content"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),n.includes("sms")&&!c&&d.push({id:"edit-sms-content",title:"SMS Content",step:5,isValid:()=>{const a=e.actionData?.find((e=>"send_communication"===e.actionType));return!!(a&&a.actionMetadata.communicationGroupId&&t.smsChannelSenderId&&t.smsMessageBody)},content:a.jsx(nve,{content:a.jsx(nEe,{})},"edit-sms-content"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),d.push({id:"audience",title:"Audience",step:6,isValid:()=>e.includeSegmentIds.length>0,content:a.jsx(nve,{content:a.jsx(uje,{})},"audience"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}}),d.push({id:"schedule",title:"Schedule",step:7,isValid:()=>Boolean(e.triggerMetadata?.triggerType===ME.ONE_TIME&&e.triggerMetadata?.scheduledAt&&("now"===e.triggerMetadata.scheduledAt||"now"!==e.triggerMetadata.scheduledAt&&new Date(e.triggerMetadata.scheduledAt)>new Date)&&e.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),content:a.jsx(nve,{className:"flex-1",content:a.jsx(vEe,{})},"schedule"),footerConfig:{backText:"Back",nextText:"Next",hideBack:!1,backDisabled:!1,nextDisabled:()=>!1}},{id:"send",title:"Send",step:8,isValid:()=>Boolean(e.triggerMetadata?.triggerType===ME.ONE_TIME&&e.triggerMetadata?.scheduledAt&&("now"===e.triggerMetadata.scheduledAt||"now"!==e.triggerMetadata.scheduledAt&&new Date(e.triggerMetadata.scheduledAt)>new Date(Date.now()+18e4))&&e.actionData?.some((e=>"send_communication"===e.actionType&&e.actionMetadata.communicationGroupId))),content:a.jsx(nve,{className:"flex-1",content:a.jsx(mEe,{})},"send"),footerConfig:{backText:"Back",nextText:e.triggerMetadata&&"scheduledAt"in e.triggerMetadata&&"now"===e.triggerMetadata.scheduledAt?"Send Now":"Schedule",hideBack:!1,backDisabled:!1,getInfoTooltipTitle:()=>{const e=i.find((e=>e.channelSender.id===t.smsChannelSenderId));if(e&&null!==e.smsApplication&&e.smsApplication?.status!==rE.APPROVED)return"You cannot send this yet if you have selected a text channel and don't have an approved SMS application. Please save as draft and try again later."},nextDisabled:()=>{const e=i.find((e=>e.channelSender.id===t.smsChannelSenderId));return!(!t.smsChannelSenderId||e&&(null===e.smsApplication||e.smsApplication?.status===rE.APPROVED))||null===t.smsChannelSenderId&&null===t.emailChannelSenderId}}}),d})({automation:o,communicationGroup:s,selectedChannels:g,smsChannelSenders:e,contentBuilderStyle:f,aiPromptRef:E,onAiPromptChange:N,aiContentPromptRef:P,onAIContentGeneration:K,hideSms:r}))}}),[o,s,n,g,w?.results,A?.results,b,f,K,r]),t.useEffect((()=>{n&&!T.current&&n().then((e=>{s?.id&&(T.current=!0,C({groupId:s?.id,params:{extraMergeFields:e}}))}))}),[n,s,C]),!o||!H||!s)return a.jsx("div",{className:"flex-1 flex flex-col @container justify-center items-center h-[500px]",children:a.jsx(th,{text:[`Fetching ${PN("engage:broadcast")} data`,"Finishing up"]})});const G=async()=>{!O||R||h?h?B(!0):e():(B(!0),m(o?.id||"",{onSuccess:a=>{D(!0),(a.name||a.description)&&cS({title:"AI Enhancement Complete",description:"Your automation has been enhanced with AI-generated name and description.",variant:"default"}),p().then((()=>{B(!1),e()})).catch((a=>{B(!1),e()}))},onError:a=>{D(!0),B(!1),e()}}))},V=async()=>{const{canMove:e,errorMessage:a,warningMessage:t}=await z(H);if(!e)return void cS({title:"Oops!",description:a,variant:"destructive"});if(t&&cS({title:t,variant:"warning"}),H===mje.PreviewAndSend)return void(await(async()=>{if(s.emailChannelSenderId&&s.emailHtmlBody&&s.emailHtmlBody.includes(eve))return void cS({title:"Oops!",description:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`,variant:"destructive"});if(null===s.emailChannelSenderId&&null===s.smsChannelSenderId)return void cS({title:"Oops!",description:"Please select an email sender or sms sender",variant:"destructive"});const e=oE({channelSenders:w?.results??[],channelAccounts:A?.results??[],smsApplication:b});if(s.smsChannelSenderId){const a=e.find((e=>e.channelSender.id===s.smsChannelSenderId));if(a?.smsApplication?.application&&a?.smsApplication.status!==rE.APPROVED)return void cS({title:"Oops!",description:"You cant schedule a communication with a pending sms application. Please save as a draft and re-try once the application is approved."})}if(i)try{let e=0;for(;d&&e<10;)await new Promise((e=>setTimeout(e,250))),e++;const a=await i({estimatedEmailRecipients:c?.estimatedEmails||0,estimatedSmsRecipients:c?.estimatedSms||0});!0===a?l({status:_E.ACTIVE},{onSuccess:()=>{cS({title:`${PN("engage:broadcast")} scheduled!`}),G()},onError:()=>{cS({title:"Oops!",description:"Please contact your administrator",variant:"destructive"})}}):cS({title:"Oops!",description:a,variant:"destructive"})}catch(a){cS({title:"Oops!",description:"An error occurred while checking scheduling conditions",variant:"destructive"})}else l({status:_E.ACTIVE}),cS({title:`${PN("engage:broadcast")} scheduled!`}),G()})());const n=v.findIndex((e=>e.step===H));if(H===mje.AIPrompt){if(P.current){j(!0);try{return void P.current.generate()}catch(r){return j(!1),void cS({title:"Error Generating Content",description:"Failed to generate AI content. Please try again.",variant:"destructive"})}}const e=v.find((e=>e.step===mje.EditEmailContent||e.step===mje.EditSmsContent));if(e)return void F(e.step)}if(H===mje.EditEmailContent||H===mje.EditSmsContent){const e=v.map(((e,a)=>e.step===mje.EditEmailContent||e.step===mje.EditSmsContent?a:-1)).filter((e=>-1!==e)).find((e=>e>n));if(void 0!==e)return void F(v[e].step);const a=v.find((e=>e.step===mje.SelectAudience));if(a)return void F(a.step)}n>=0&&n<v.length-1&&F(v[n+1].step)},J=()=>{const e=v.findIndex((e=>e.step===H));if(e>0){F(v[e-1].step)}},U=()=>{_||u?cS({title:"Please wait",description:"Please wait for the current operation to finish before saving.",variant:"warning"}):G()};return a.jsxs("div",{className:"flex-1 flex flex-col @container h-full min-h-0",children:[a.jsxs("header",{className:"w-full flex items-center gap-4 h-16 px-6",children:[a.jsx(ble,{value:o.name,schema:YA.object({name:YA.string().min(2,"Title must be at least 2 characters")}),onSubmit:e=>{l({name:e.name},{onError:()=>{cS({title:"Failed to update automation name",description:"Please try again",variant:"destructive"})}})},fieldName:"name",className:"text-xl font-bold leading-none",successMessage:"Automation name updated",errorMessage:"Failed to update automation name"}),a.jsx("div",{className:"flex items-center gap-4",children:a.jsx(xx,{variant:Vfe(o.status),children:xhe({status:o.status,automationType:o.triggerType,vsaasManaged:!1})})})]}),L?a.jsx("div",{className:"flex-1 flex flex-col justify-center items-center",children:a.jsx(tve,{automationId:o?.id||""})}):a.jsxs("main",{className:"flex gap-4 flex-1 min-h-0 overflow-hidden",children:[a.jsx("div",{className:"block",children:a.jsx("nav",{className:"space-y-0 w-50 self-start pr-6 pl-8 pt-4 "+(L?"h-0 overflow-hidden":""),children:v.map((e=>a.jsx("div",{className:`\n rounded-md transition-colors\n ${e.step===H?"bg-[var(--reach-secondary)] text-[var(--reach-primary-foreground)] font-medium":e.step<H?"text-muted-foreground hover:bg-muted":"text-muted-foreground/60"}\n ${(_||u)&&e.step===H?"opacity-75 cursor-not-allowed":_||u?"opacity-50 cursor-not-allowed":""}\n `,children:a.jsx(AE,{label:(_||u)&&e.step===H?`${e.title} (Loading...)`:e.title,id:`wizard-step-${e.step}`,isActive:e.step===H,isCompleted:e.isValid(),onClick:async()=>{if(_||u)cS({title:"Please wait",description:"Please wait for the current operation to finish before navigating.",variant:"warning"});else if(!k)if(e.step>H){const{canMove:a,errorMessage:t,warningMessages:n}=await(async e=>{if(e<=H)return{canMove:!0,errorMessage:null};S(!0);try{const a=[];for(let t=H;t<e;t++){const{canMove:e,errorMessage:n,warningMessage:i}=await z(t);if(!e)return{canMove:e,errorMessage:n};i&&a.push(i)}return{canMove:!0,errorMessage:null,warningMessages:a}}finally{S(!1)}})(e.step);if(a){if(n&&n.length>0)for(const e of n)cS({title:e,variant:"warning"});F(e.step)}else t&&cS({title:"Cannot navigate to this step",description:t,variant:"destructive"})}else F(e.step)}})},e.step)))})}),(()=>{const e=v.find((e=>e.step===H));return a.jsx("section",e?{className:"flex-1 mr-6 w-full relative ml-6 @[1000px]:ml-0 flex flex-col min-w-0",children:a.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-auto min-w-0",children:a.jsx(Yoe,{className:"min-w-0",children:e.content},H)})}:{className:"flex-1 mr-6 w-full relative rounded-xl bg-gray-100 ml-6 @[1000px]:ml-0 flex flex-col",children:a.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:a.jsx("div",{className:"flex justify-center items-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium mb-2",children:"Step Not Available"}),a.jsx("p",{className:"text-muted-foreground",children:"This step is not available for your current configuration."})]})})})})})()]}),(()=>{const e=v.find((e=>e.step===H));return a.jsx("footer",{className:"w-full flex justify-end z-10 items-center px-6 "+(L?"h-0 overflow-hidden":"h-16"),children:a.jsx(ave,{handleSkipAndSaveAsDraft:U,handleBack:J,handleNext:V,hideBack:e?.footerConfig.hideBack??!1,backText:e?.footerConfig.backText??"Back",nextText:e?.footerConfig.nextText??"Next",backDisabled:(_||u||e?.footerConfig.backDisabled)??!1,nextDisabled:(_||u||e?.footerConfig.nextDisabled())??!1,getInfoTooltipTitle:e?.footerConfig.getInfoTooltipTitle??void 0})})})()]})},gje=({children:e,actionId:n})=>{const{setActionId:i}=t.useContext(mse);return t.useEffect((()=>{i(n)}),[n,i]),a.jsx("div",{className:"h-full",children:a.jsx(Ffe,{children:e})})},fje=()=>a.jsxs("div",{children:[a.jsx("div",{className:hle,children:a.jsx(OM.OneTimeBroadcast,{})}),a.jsx("h3",{className:ple,children:PN("engage:broadcast")}),a.jsx("p",{className:gle,children:"Send a single message to your current list, like announcing a sale or newsletter."})]}),vje=()=>a.jsxs("div",{children:[a.jsx("div",{className:fle,children:"Coming Soon"}),a.jsx("div",{className:hle,children:a.jsx(OM.RealtimeActivity,{})}),a.jsx("h3",{className:ple,children:"Realtime Activity"}),a.jsx("p",{className:gle,children:"Responds to immediate actions your contacts take, like abandoned carts, form submissions, or appointment bookings."})]}),yje=({selectedType:e,setAutomationName:t,automationName:n,setAutomationDescription:i,automationDescription:r})=>a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 max-w-lg mx-auto",children:[a.jsxs("h2",{className:"text-2xl font-semibold mb-8 text-center",children:["Name Your"," ",PN(e===ME.ONE_TIME?"engage:broadcast":"engage:automation")]}),a.jsxs("div",{className:"w-full space-y-6",children:[a.jsx("div",{className:"bg-gray-50 p-6 rounded-xl items-center justify-center text-center",children:(()=>{switch(e){case ME.ONE_TIME:return a.jsx(fje,{});case ME.TRIGGER_BASED:return a.jsx(vje,{});default:throw The(e,ME)}})()}),a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[a.jsx("label",{htmlFor:"automationName",className:"block text-sm font-medium text-gray-900",children:"Name"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Only visible to your team"})]}),a.jsx(Io,{id:"automationName",type:"text",value:n,onChange:e=>t(e.target.value),className:"w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-indigo-500 focus:border-indigo-500 shadow-sm",placeholder:"e.g. April Newsletter Campaign",autoFocus:!0})]}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[a.jsx("label",{htmlFor:"automationDescription",className:"block text-sm font-medium text-gray-900",children:"Description"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"Optional"})]}),a.jsx(rve,{id:"automationDescription",value:r,onChange:e=>i(e.target.value),className:"w-full min-h-[80px] resize-none",placeholder:`Add any helpful context for your team. If left blank, we'll generate one for you when you start the ${PN("engage:broadcast").toLowerCase()}`})]})]})]})]}),bje=({onClose:e,automationType:n,currentStep:i,setCurrentStep:r,getExtraMergeFields:o,onBeforeSchedule:s,hideSms:l})=>{const{createAutomation:u,isCreating:c}=DE(),[d,m]=t.useState(!1),[h,p]=t.useState(void 0),[g,f]=t.useState(void 0),[v,y]=t.useState(!1),[b,k]=t.useState(n?{name:void 0,description:void 0,type:n}:{name:void 0,description:void 0,type:void 0}),S=void 0!==b.name&&void 0!==b.type&&""!==b.name;t.useEffect((()=>{if(b.type&&!b.name&&!v){const e=new Date,a=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),t=e.toLocaleDateString([],{month:"long",day:"numeric"}),n=`${PN("engage:broadcast")} ${t} ${a}`,i="";k((e=>({...e,name:n,description:i}))),y(!0)}}),[b,v]);const w=t.useCallback((async(a,t,n)=>{const i=a||b.name,o=t||b.description,s=n||b.type;if(!i||!s||""===i)return;m(!0);u({name:i,type:s,description:o},{onSuccess:async a=>{if(a.id){const t=await LN({}),n=ise().toString();await Hx(a.id,{action:[{actionType:"send_communication",actionMetadata:{actionType:"send_communication",communicationGroupId:t.id,currentActionId:n}}]}),p(a.id),await Jx({automationId:a.id,actionId:n}),s===ME.ONE_TIME?(r(sle.OneTimeWizard),f(n),m(!1)):e?.(a.id)}else e?.("error")},onError:()=>{e?.("error")},onSettled:()=>{k({name:void 0,description:void 0,type:void 0})}})}),[b.name,b.description,b.type,u,e,r,f,m,p]);t.useEffect((()=>{if(n&&!d&&!h){const e=new Date,a=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),t=e.toLocaleDateString([],{month:"long",day:"numeric"}),i=`${PN("engage:broadcast")} ${t} ${a}`,r="";k({name:i,description:r,type:n}),w(i,r,n)}}),[n,d,h,w]);return a.jsxs("div",{id:"create-automation-modal",className:Si("relative overflow-y-auto h-full p-8"),children:[a.jsx(fh,{mode:"wait",children:c||d?a.jsx(Yoe,{className:"h-full",children:a.jsx(yle,{})},"loading"):a.jsx(Yoe,{className:"h-full",children:(()=>{switch(i){case sle.ChooseAutomationType:return a.jsx(vle,{onNext:e=>{k({...b,type:e}),r(sle.SetAutomationName)}});case sle.SetAutomationName:return n?null:b.type?a.jsx(yje,{selectedType:b.type,setAutomationName:e=>{k({...b,name:e})},automationName:b.name??"",setAutomationDescription:e=>{k({...b,description:e})},automationDescription:b.description??""}):null;case sle.OneTimeWizard:return h&&g?a.jsx(rle,{automationId:h,children:a.jsx(gje,{actionId:g,children:a.jsx(pje,{onFinish:()=>{e?.(h)},getExtraMergeFields:o,onBeforeSchedule:s,hideSms:l})})}):null;default:throw rse(i,sle)}})()},"content")}),i!==sle.OneTimeWizard&&a.jsx("div",{className:"pt-2",children:a.jsx(lle,{onClose:e,currentStep:i,setCurrentStep:r,isDisabled:!S,createAutomation:()=>w(),disableBackButton:void 0!==n})})]})};function kje({open:e,setOpen:n,onClose:i,automationType:r,getExtraMergeFields:o,replyToSettingsText:s,replyToSettingsLink:l,fromNameSettingsText:u,fromNameSettingsLink:c,hideSms:d}){const[m,h]=t.useState(r?sle.OneTimeWizard:sle.ChooseAutomationType);return t.useEffect((()=>{e&&h(r?sle.OneTimeWizard:sle.ChooseAutomationType)}),[e,r]),a.jsx(Zoe,{children:a.jsx($oe,{replyToSettingsText:s,replyToSettingsLink:l,fromNameSettingsText:u,fromNameSettingsLink:c,children:a.jsx(wi,{open:e,onOpenChange:n,children:a.jsxs(Ti,{hideCloseButton:m===sle.OneTimeWizard,className:"flex h-[95vh] w-[95vw] max-w-none flex-col gap-0 overflow-visible p-0",children:[a.jsx(xi,{children:a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs(Xe,{children:[a.jsx(Ei,{className:"text-3xl font-normal",children:"Create Automation"}),a.jsx(_i,{children:"Create a new automation to send messages to your customers."})]})})}),a.jsx(bje,{onClose:e=>{i?.(e),n(!1)},automationType:r,currentStep:m,setCurrentStep:h,getExtraMergeFields:o,hideSms:d})]})})})})}const Sje=({feature:e,onClose:t,className:n})=>{const i={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.4,ease:[.4,0,.2,1]}}};return a.jsxs(tS.div,{initial:"hidden",animate:"visible",exit:"exit",variants:{hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.4,ease:[.4,0,.2,1],staggerChildren:.1}},exit:{opacity:0,y:-20,transition:{duration:.3,ease:[.4,0,1,1]}}},className:qa("flex flex-col items-center text-center w-full max-w-[72ch] rounded-xl p-8 gap-6 border border-border mx-auto","bg-background shadow-sm",n),children:[a.jsx(tS.div,{variants:i,className:"w-20 h-20 rounded-full flex items-center justify-center bg-red-50 border-2 border-red-200",children:a.jsx(B,{className:"w-10 h-10 text-red-500"})}),a.jsxs(tS.div,{variants:i,className:"space-y-2",children:[a.jsx("h2",{className:"text-xl font-semibold text-foreground",children:"Sandbox Mode Not Supported"}),a.jsxs("p",{className:"text-base font-medium text-muted-foreground",children:[e," is not available in sandbox mode"]})]}),a.jsx(tS.div,{variants:i,className:"max-w-xl mx-auto space-y-4",children:a.jsxs("p",{className:"text-sm text-muted-foreground",children:["To use ",e,", please switch to a production environment or contact your administrator for assistance."]})}),a.jsx(fh,{children:t&&a.jsx(tS.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},transition:{duration:.2,ease:[.4,0,.2,1]},children:a.jsx(Xa,{variant:"outline",onClick:t,className:"bg-background hover:bg-muted",children:"Got it"})})})]})},wje="reach-styles-module__tabsContainer___g2X3C",Aje="reach-styles-module__tabsHeader___9LpO3",Cje="reach-styles-module__tabsList___Kli8D",Mje="reach-styles-module__tabTrigger___qKLnv",Tje="reach-styles-module__tabIcon___HW3W3",xje="reach-styles-module__tabText___eDxMt",Nje="reach-styles-module__tabContent___N7Lyb",Eje="reach-styles-module__headerActions___CMwdd",_je=()=>{const e=Lx(),t={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.5,ease:"easeOut"}}},n=[{icon:R,title:"5-Day Window",description:"Short attribution lookback period"},{icon:Z,title:"Send-Based Attribution",description:"Based on email send, not clicks"},{icon:Me,title:"Automation-Linked",description:"Tied to specific campaigns"}];return a.jsxs(tS.div,{className:"space-y-8 p-2",variants:{hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.1,delayChildren:.1}}},initial:"hidden",animate:"visible",children:[a.jsx(tS.div,{variants:t,children:a.jsx(Sx,{title:"Email Attribution Methodology",description:"How we track and attribute conversions to your email marketing automations",icon:Z})}),a.jsx(tS.div,{variants:t,children:a.jsx(wx,{highlights:n,cardTitle:"Email Send Attribution Model",cardDescription:"We use a 5-day send-based attribution model. When an email is sent, any purchase within 5 days is attributed to that automation.",cardIcon:re})}),a.jsx(tS.div,{variants:t,children:a.jsx(Ax,{steps:[{number:1,title:"Email Sent via Automation",description:"An email is sent to a customer through one of your marketing automations."},{number:2,title:"Purchase Occurs",description:"Within 5 days of when the email was sent, the customer makes a purchase."},{number:3,title:"Revenue Attribution",description:"The purchase revenue is attributed to the specific automation that sent the email."}],title:"How Email Attribution Works",icon:Ee})}),a.jsx(tS.div,{variants:t,children:a.jsx(Nx,{scenarios:[{id:1,title:"Valid Email Attribution",description:"Customer receives email and purchases within 5 days",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"Email campaign gets 100% credit (customer purchased within 5 days of when email was sent)"},{id:2,title:"Valid Attribution Without Click",description:"Customer receives email but never clicks, then purchases",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"No Click",day:"Day 1-5",color:"bg-gray-400"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"Email campaign gets 100% credit (customer purchased within 5 days of when email was sent)"},{id:3,title:"Attribution Window Expired",description:"Customer purchased more than 5 days after the email was sent",steps:[{platform:"Email Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 8",color:"bg-green-600"}],attribution:"No attribution (purchase occurred 7 days after email was sent, outside 5-day window)"}],title:"Email Attribution Scenarios",description:"See how different email engagement patterns are attributed",icon:I})}),a.jsx(tS.div,{variants:t,children:a.jsx(_x,{title:"Important Notes",points:[{text:"Only emails sent through automations count for attribution"},{text:"The 5-day window starts from when the email was sent"},{text:"Revenue is attributed to the specific automation that sent the email"}],variant:"highlighted"})}),e&&a.jsxs(a.Fragment,{children:[a.jsx(tS.div,{variants:t,children:a.jsx(Sx,{title:"SMS Attribution Methodology",description:"How we track and attribute conversions to your SMS marketing automations",icon:ae})}),a.jsx(tS.div,{variants:t,children:a.jsx(wx,{highlights:[{icon:R,title:"5-Day Window",description:"Short attribution lookback period"},{icon:Me,title:"Automation-Linked",description:"Tied to specific campaigns"}],cardTitle:"SMS Send Attribution Model",cardDescription:"We use a 5-day send-based attribution model. When an SMS is sent, any purchase within 5 days is attributed to that automation.",cardIcon:re})}),a.jsx(tS.div,{variants:t,children:a.jsx(Ax,{steps:[{number:1,title:"SMS Sent via Automation",description:"An SMS is sent to a customer through one of your marketing automations."},{number:2,title:"Purchase Occurs",description:"Within 5 days of when the SMS was sent, the customer makes a purchase."},{number:3,title:"Revenue Attribution",description:"The purchase revenue is attributed to the specific automation that sent the SMS."}],title:"How SMS Attribution Works",icon:Ee})}),a.jsx(tS.div,{variants:t,children:a.jsx(Nx,{scenarios:[{id:4,title:"Valid SMS Attribution",description:"Customer receives SMS and purchases within 5 days",steps:[{platform:"SMS Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 3",color:"bg-green-600"}],attribution:"SMS campaign gets 100% credit (customer purchased within 5 days of when SMS was sent)"},{id:6,title:"Attribution Window Expired",description:"Customer purchased more than 5 days after the SMS was sent",steps:[{platform:"SMS Campaign",action:"Sent",day:"Day 1",color:"bg-blue-500"},{platform:"Customer",action:"Clicked",day:"Day 1",color:"bg-green-500"},{platform:"Purchase",action:"Completed",day:"Day 8",color:"bg-green-600"}],attribution:"No attribution (purchase occurred 7 days after SMS was sent, outside 5-day window)"}],title:"SMS Attribution Scenarios",description:"See how different SMS engagement patterns are attributed",icon:I})}),a.jsx(tS.div,{variants:t,children:a.jsx(_x,{title:"Important Notes",points:[{text:"Only SMS messages sent through automations count for attribution"},{text:"The 5-day window starts from when the SMS was sent"},{text:"Revenue is attributed to the specific automation that sent the SMS"}],variant:"highlighted"})})]})]})},jje=({Icon:e,label:t,value:n,tooltipText:i,onClick:r,isClickable:o=!1})=>a.jsx(Rx,{title:i,children:a.jsxs("div",{className:"group relative flex items-center gap-2 px-3 py-2 rounded-lg transition-all duration-200 cursor-help "+(o?"hover:bg-primary/5 hover:shadow-sm cursor-pointer":"hover:bg-muted/20"),onClick:r,children:[a.jsx("div",{className:"w-8 h-8 rounded-md bg-primary/10 flex items-center justify-center group-hover:bg-primary/15 transition-colors",children:a.jsx(e,{className:"w-4 h-4 text-primary"})}),a.jsxs("div",{className:"flex flex-col items-start min-w-0",children:[a.jsx("span",{className:"text-sm font-bold text-foreground leading-tight",children:n}),a.jsx(j_,{className:"text-[9px] font-medium text-muted-foreground uppercase tracking-wide leading-tight",children:t})]})]})}),Pje=e=>`Number of ${e} communications that failed/errored. You can filter communications by status in the recipients table.`,Lje=({statistics:e,automationId:t,onLinkClickStatsOpen:n,includeSms:i=!1,showErrors:r=!1})=>{const o=[{Icon:OM.MessagesSent,label:"Sent",value:e.email.numberSent,tooltipText:"Total number of emails that were attempted to be sent"},...r&&void 0!==e.email.errors?[{Icon:OM.AlertTriangleIcon,label:"Errors",value:e.email.errors,tooltipText:Pje("email")}]:[],{Icon:OM.OpenRate,label:"Open Rate",value:`${(100*Number(e.email.openPercentage)).toFixed(2)}%`,tooltipText:"Percentage of recipients who opened the email"},{Icon:OM.TotalBounceRate,label:"Bounce Rate",value:`${(100*((Number(e.email.softBounceRate)||0)+(Number(e.email.hardBounceRate)||0))).toFixed(2)}%`,tooltipText:"Percentage of emails that were not delivered due to permanent (hard) or temporary (soft) delivery failures. Hard bounces will be automatically unsubscribed."},{Icon:OM.LinksClicked,label:"Clicks",value:Number(e.email.linksClicked),tooltipText:"Total number of times recipients clicked on links",onClick:n,isClickable:!!t&&!!n},{Icon:OM.SpamComplies,label:"Spam",value:`${(100*Number(e.email.spamComplaintRate)).toFixed(2)}%`,tooltipText:"Percentage of emails marked as spam"},{Icon:OM.UnsubscribeRate,label:"Unsubscribed",value:`${(100*Number(e.email.unsubscribedRate)).toFixed(2)}%`,tooltipText:"Percentage of recipients who unsubscribed"}],s=[{Icon:OM.SMSMessagesSent,label:"Sent",value:e.sms.numberSent,tooltipText:"Total number of SMS messages that were successfully sent",onClick:void 0,isClickable:!1},...r&&void 0!==e.sms.errors?[{Icon:OM.AlertTriangleIcon,label:"Errors",value:e.sms.errors,tooltipText:Pje("sms"),onClick:void 0,isClickable:!1}]:[]];return a.jsx("div",{className:"bg-white rounded-xl p-4 border border-border",children:a.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center gap-4 lg:gap-0",children:[a.jsxs("div",{className:"lg:flex-[3]",children:[a.jsx("div",{className:"flex justify-center mb-4 lg:mb-0",children:a.jsx(j_,{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"Email"})}),a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap justify-evenly w-full",children:o.map(((e,t)=>a.jsx(jje,{Icon:e.Icon,label:e.label,value:e.value,tooltipText:e.tooltipText,onClick:e.onClick,isClickable:e.isClickable},t)))})})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"hidden lg:block w-px h-8 bg-border mx-4 flex-shrink-0"}),a.jsx("div",{className:"lg:hidden w-full h-px bg-border my-2"}),a.jsxs("div",{className:"lg:flex-[1]",children:[a.jsx("div",{className:"flex justify-center mb-4 lg:mb-0",children:a.jsx(j_,{className:"text-[10px] font-semibold text-gray-500 uppercase tracking-wide",children:"SMS"})}),a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"flex items-center gap-2 sm:gap-3 flex-wrap justify-evenly w-full",children:s.map(((e,t)=>a.jsx(jje,{Icon:e.Icon,label:e.label,value:e.value,tooltipText:e.tooltipText,onClick:e.onClick,isClickable:e.isClickable},t)))})})]})]})]})})},Bje=({automation:e,businessSales:t})=>{if(!e&&!t)return null;const n=e?[{Icon:OM.SalesAmount,label:"Order Amount",value:Phe(e.derivedRevenue),tooltipText:"Total derived revenue from this campaign"},{Icon:OM.Orders,label:"Orders",value:e.derivedOrders,tooltipText:"Total individual orders from this campaign"}]:[{Icon:OM.SalesAmount,label:"Total Revenue",value:Phe(t.totalRevenue),tooltipText:"Total revenue across all automations"},{Icon:OM.Orders,label:"Total Orders",value:t.totalOrders,tooltipText:"Total orders across all automations"}];return a.jsx("div",{className:"bg-white rounded-xl p-4 border border-border",children:a.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center gap-4 lg:gap-0",children:[a.jsx("div",{className:"lg:flex-1",children:a.jsx("div",{className:"flex items-center justify-center",children:a.jsx(jje,{Icon:n[0].Icon,label:n[0].label,value:n[0].value,tooltipText:n[0].tooltipText})})}),a.jsx("div",{className:"lg:hidden w-full h-px bg-border my-2"}),a.jsx("div",{className:"lg:flex-1",children:a.jsx("div",{className:"flex items-center justify-center",children:a.jsx(jje,{Icon:n[1].Icon,label:n[1].label,value:n[1].value,tooltipText:n[1].tooltipText})})})]})})},Rje=({automationId:e,isOpen:t,onClose:n})=>{const{linkClickStats:i,isGetting:r,getError:o}=(e=>{const a=gm({queryKey:["link-click-stats",e],queryFn:()=>e?HN(e):null,enabled:!!e});return{linkClickStats:a.data,isGetting:a.isPending,getError:a.error,isGetSuccess:a.isSuccess}})(e);return a.jsx(wi,{open:t,onOpenChange:n,children:a.jsxs(Ti,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[a.jsx(xi,{children:a.jsxs(Ei,{className:"flex items-center gap-2",children:[a.jsx(re,{className:"h-5 w-5"}),"Link Click Statistics"]})}),a.jsxs("div",{className:"space-y-4",children:[r&&a.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"Loading link click statistics..."}),o&&a.jsx("div",{className:"text-sm text-destructive text-center py-8",children:"Error loading link click statistics. Please try again."}),!r&&!o&&(!i||0===Object.keys(i).length)&&a.jsx("div",{className:"text-sm text-muted-foreground text-center py-8",children:"No link clicks found."}),!r&&!o&&i&&Object.keys(i).length>0&&a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"bg-muted/50 rounded-lg p-4",children:[a.jsx("div",{className:"text-sm text-muted-foreground mb-2",children:"Summary"}),a.jsxs("div",{className:"flex gap-4 text-sm",children:[a.jsxs("div",{children:[a.jsx("span",{className:"font-semibold",children:Object.keys(i).length})," ","unique links"]}),a.jsxs("div",{children:[a.jsx("span",{className:"font-semibold",children:Object.values(i).reduce(((e,a)=>e+a),0)})," ","total clicks"]})]})]}),a.jsx("div",{className:"space-y-2",children:Object.entries(i).sort((([,e],[,a])=>a-e)).map((([e,t])=>a.jsxs("div",{className:"flex items-center justify-between p-3 border rounded-lg hover:bg-muted/50 transition-colors",children:[a.jsx("div",{className:"flex-1 min-w-0",children:a.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:text-blue-800 hover:underline flex items-center gap-1 truncate",children:[a.jsx("span",{className:"truncate",children:e}),a.jsx(O,{className:"h-3 w-3 flex-shrink-0"})]})}),a.jsxs("div",{className:"text-right ml-4",children:[a.jsx("span",{className:"font-semibold text-lg",children:t}),a.jsx("span",{className:"text-sm text-muted-foreground ml-1",children:1===t?"click":"clicks"})]})]},e)))})]})]})]})})},Dje=({automationId:e,includeSales:n=!1,includeSms:i=!1,showErrors:r=!1,automation:o})=>{const[s,l]=t.useState(!1),[u,c]=t.useState(!1),d=Lx(),{statistics:m,isLoading:h}=IE(e),{statistics:p,isLoading:g}=VE(),[f,v]=t.useState(10),[y,b]=t.useState(void 0),k=GE({limit:f,cursor:y}),S=k.data,w=S?.pagination.cursor??null,A=S?.pagination.total??null,C=k.isLoading,M=k.isFetching,T=k.isPlaceholderData;t.useEffect((()=>{b(void 0)}),[e]);const x=t.useCallback((e=>{b(e.cursor),v(e.pageSize)}),[]),N=e?m:p,E=[{accessorKey:"automation_name",header:"Automation",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"font-medium",children:e.original.automation_name||"Unknown Automation"}),size:150},{accessorKey:"first_name",header:"Customer",enableSorting:!1,cell:({row:e})=>{const t=gNe({firstName:e.original.first_name||"",lastName:e.original.last_name||""},"Unknown"),n=e.original.email||"";return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"font-medium",children:t}),n&&a.jsx("span",{className:"text-xs text-muted-foreground",children:n})]})},size:200},{accessorKey:"amount",header:"Amount",enableSorting:!1,cell:({row:e})=>{const a=parseFloat(e.original.amount);return Phe(a)},size:120},{accessorKey:"communication_type",header:"Channel",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"capitalize text-sm",children:e.original.communication_type||"Unknown"}),size:100},{accessorKey:"schedule_send_at",header:"Sent Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.schedule_send_at;return a?new Date(a).toLocaleDateString():"Unknown"},size:140},{accessorKey:"created_date",header:"Order Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.created_date;return a?new Date(a).toLocaleDateString():"Unknown"},size:140}];return(e?h:g)||!N?a.jsx("div",{className:"bg-white rounded-2xl w-full p-6 flex items-center justify-center h-[14.05rem]",children:a.jsx(th,{text:[`Fetching ${PN("engage:insight",{count:2})}`,"Finishing up"]})}):a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"bg-white rounded-2xl w-full p-6 flex flex-col gap-6",children:[a.jsxs("section",{children:[a.jsx("h3",{className:"mb-4 text-lg font-medium text-foreground",children:e?PN("engage:insight",{count:2}):`Business ${PN("engage:insight",{count:2})}`}),a.jsx(Lje,{statistics:N,automationId:e,onLinkClickStatsOpen:()=>l(!0),includeSms:i&&d,showErrors:r})]}),n&&a.jsx(VNe,{className:"my-2"}),n&&a.jsxs("section",{children:[a.jsxs("div",{className:"flex items-center justify-between mb-4",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground",children:e?PN("engage:salesInsights","Sales Insights"):PN("engage:businessSalesInsights","Business Sales Insights")}),a.jsxs(Xa,{variant:"outline",size:"sm",onClick:()=>c(!0),className:"flex items-center gap-2",children:[a.jsx(V,{className:"h-4 w-4"}),"Email Attribution"]})]}),a.jsx(Bje,{automation:o,businessSales:!e&&p?.sales?{totalRevenue:p.sales.totalRevenue,totalOrders:p.sales.totalOrders}:void 0})]})]}),!e&&n&&a.jsxs("div",{className:"bg-white rounded-2xl p-6",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground mb-4",children:"Sales From All Campaigns"}),void 0!==A&&a.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Total Orders: ",A]}),a.jsx(Sue,{data:S?.results||[],columns:E,paginationMode:"cursor",totalCount:A??void 0,initialPageSize:f,isLoading:C&&!T,cursorPaginationQueryResult:{nextCursor:w,isLoading:C,isFetching:M,isPlaceholderData:T},onQueryParametersChange:x,hideLoadingState:!1})]}),e&&a.jsx(Rje,{automationId:e,isOpen:s,onClose:()=>l(!1)}),a.jsx(wi,{open:u,onOpenChange:c,children:a.jsx(Ti,{className:"max-w-4xl max-h-[80vh] overflow-y-auto",children:a.jsx(_je,{})})})]})},zje=()=>a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-gradient-to-br from-blue-50 via-white to-purple-50",children:a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,ease:"easeOut"},className:"text-center max-w-md mx-auto px-6",children:[a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.2},className:"mb-8 flex justify-center",children:a.jsx(th,{size:"lg"})}),a.jsxs(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.4},children:[a.jsx("h1",{className:"text-3xl font-bold text-gray-900 mb-4",children:"Syncing Your Data"}),a.jsxs("p",{className:"text-lg text-gray-600 mb-6 leading-relaxed",children:["We're processing your customer"," ",PN("engage:segment",{count:2}).toLowerCase()," and preparing your engagement tools. Please check back in 30-60 minutes."]}),a.jsx("div",{className:"space-y-4",children:a.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm text-gray-500",children:[a.jsx(tS.div,{animate:{opacity:[.5,1,.5]},transition:{duration:1.5,repeat:1/0},className:"w-2 h-2 bg-blue-500 rounded-full"}),a.jsx("span",{children:"Analyzing customer data"})]})}),a.jsx(tS.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.8},className:"mt-8 p-4 bg-blue-50 rounded-lg border border-blue-200",children:a.jsxs("p",{className:"text-sm text-blue-800",children:[a.jsx("strong",{children:"What's happening?"})," We're updating your customer"," ",PN("engage:segment",{count:2}).toLowerCase()," and preparing your email accounts to make sure everything is up to date and accurate for your campaigns."]})})]})]})}),Oje=e=>{const{automationId:a,hideSms:t}=e;return`/automations/view-modal/${a}?showBackButton=true${t?"&hideSms=true":""}`};function Ije(){const e=Sde(),{hideFeature:n}=qm(),{updateAutomation:i}=OE(),[r,o]=t.useState(10),[s,l]=t.useState(void 0),[u,c]=t.useState(""),{automations:d,nextCursor:m,totalCount:h,isLoading:p,isFetching:g,isPlaceholderData:f}=HE({cursor:s,limit:r,triggerTypes:[ME.TRIGGER_BASED,ME.DATE_BASED],search:u||void 0}),v=t.useMemo((()=>(d||[]).map((e=>({...e,updated_at:e.updatedAt||e.createdAt,automation_type:e.triggerType})))),[d]),y=t.useCallback((async(e,a)=>{const t=a===_E.ACTIVE;await i({id:e,params:{status:t?_E.ACTIVE:_E.DRAFT}})}),[i]),b=t.useCallback((e=>{c(e)}),[]),k=t.useCallback((e=>{l(e.cursor),o(e.pageSize)}),[]),S=t.useCallback((e=>Oje({automationId:e,hideSms:n?.engage?.sms??!1})),[n?.engage?.sms]),w=t.useMemo((()=>Xfe({automationName:PN("engage:automation"),setUrl:S,onToggle:y,vsaasManaged:!0})),[y,S]);return a.jsx("div",{id:"automation-list-container",className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:v,columns:w,paginationMode:"cursor",totalCount:h??void 0,initialPageSize:r,isLoading:p&&!f,onRowClick:a=>{e(`/automations/view-modal/${a.id}?showBackButton=true${n?.engage?.sms?"&hideSms=true":""}`)},cursorPaginationQueryResult:{nextCursor:m,isLoading:p,isFetching:g,isPlaceholderData:f},onQueryParametersChange:k,searchValue:u,onSearchChange:b})})})}function Kje(){const{updateAutomation:e}=OE(),{duplicateAutomation:n}=FE(),{archiveAutomation:i}=(()=>{const e=sm(),{toast:a}=dS(),t=fm({mutationFn:({id:e,params:a})=>Hx(e,a),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Kx.single(n.id)}),e.invalidateQueries({queryKey:VN.all}),e.invalidateQueries({queryKey:Kx.list()}),a({title:"Successfully archived"})},onError:e=>{a({title:"Error archiving",description:"Please try again.",variant:"destructive"})}});return{archiveAutomation:t.mutateAsync,isArchiving:t.isPending}})(),{cancelAutomation:r}=(()=>{const e=sm(),{toast:a}=dS(),t=fm({mutationFn:e=>Hx(e,{status:_E.DRAFT}),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:Kx.single(n)}),e.invalidateQueries({queryKey:VN.all}),e.invalidateQueries({queryKey:Kx.list()}),a({title:"Successfully cancelled"})},onError:e=>{a({title:"Error cancelling",description:"Please try again.",variant:"destructive"})}});return{cancelAutomation:t.mutateAsync,isCancelling:t.isPending}})(),o=Sde(),[s,l]=t.useState(10),[u,c]=t.useState(void 0),{hideFeature:d}=qm(),[m,h]=t.useState(""),{automations:p,totalCount:g,nextCursor:f,isLoading:v,isFetching:y,isPlaceholderData:b}=HE({cursor:u,limit:s,triggerTypes:[ME.ONE_TIME],search:m||void 0}),k=t.useMemo((()=>(p||[]).map((e=>({...e,updated_at:e.updatedAt})))),[p]),S=t.useCallback((async(a,t)=>{const n=t===_E.ACTIVE;await e({id:a,params:{status:n?_E.ACTIVE:_E.DRAFT}})}),[e]),w=t.useCallback(((e,a)=>{n({automationId:e,name:`${a} (Copy)`,description:"Duplicated broadcast"})}),[n]),A=t.useCallback((async e=>{await i({id:e,params:{status:_E.ARCHIVED}})}),[i]),C=t.useCallback((e=>{const a=Oje({automationId:e,hideSms:d?.engage?.sms??!1});o(a)}),[o,d?.engage?.sms]),M=t.useCallback((async e=>{await r(e)}),[r]),T=t.useCallback((e=>{c(e.cursor),l(e.pageSize)}),[]),x=t.useCallback((e=>Oje({automationId:e,hideSms:d?.engage?.sms??!1})),[d?.engage?.sms]),N=t.useMemo((()=>Xfe({automationName:PN("engage:broadcast"),setUrl:x,onToggle:S,pillForStatus:!1,onDuplicate:w,onArchive:A,onEdit:C,onCancel:M})),[S,x,w,A,C,M]);return a.jsx("div",{id:"broadcast-list-container",className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:k,columns:N,paginationMode:"cursor",initialPageSize:s,isLoading:v&&!b,totalCount:g??void 0,cursorPaginationQueryResult:{nextCursor:f,isLoading:v,isFetching:y,isPlaceholderData:b},onRowClick:e=>{o(`/automations/view-modal/${e.id}?showBackButton=true${d?.engage?.sms?"&hideSms=true":""}`)},onQueryParametersChange:T,searchValue:m,onSearchChange:h})})})}function Hje(){const{toast:e}=dS(),[n,i]=t.useState(!1),[r,o]=t.useState(null),[s,l]=t.useState(10),[u,c]=t.useState(void 0),[d,m]=t.useState(""),{segments:h,isLoading:p,nextCursor:g,totalCount:f,isFetching:v,isPlaceholderData:y}=Zse({search:d||void 0,cursor:u,limit:s}),b=t.useCallback((e=>{o(e),i(!0)}),[o]),k=t.useMemo((()=>function(e){return[Ufe("name",`${PN("engage:segment")} Name`,!0),Wfe(),Ace({accessorKey:"user_count",header:PN("engage:user_other"),enableSorting:!1,size:120,minSize:100,headerClassName:"justify-end text-right w-full",meta:{align:"right",displayName:PN("engage:user_other")},cellClassName:"text-muted-foreground pr-2 sm:pr-3 md:pr-4",cellFormatter:e=>{const a=e.getValue(),t="string"==typeof a?Number(a):a??0,n=isNaN(t)?0:t;return`${n.toLocaleString()} ${PN("engage:user",{count:n}).toLowerCase()}`}}),qfe("updated_at"),Qfe(e||(()=>{}))]}(b)),[b]),S=t.useMemo((()=>h?h.map((e=>({...e,updated_at:e.createdAt?.toString(),user_count:e.userCount,user_count_updated_at:e.userCountUpdatedAt}))):[]),[h]),w=t.useCallback((e=>{c(e.cursor),l(e.pageSize)}),[]);return a.jsxs("div",{className:"w-full h-[75vh] flex flex-col",children:[a.jsx("div",{className:"flex-grow min-h-0 py-2",children:a.jsx(Sue,{data:S,columns:k,paginationMode:"cursor",initialPageSize:s,isLoading:p&&!y,totalCount:f??void 0,cursorPaginationQueryResult:{nextCursor:g,isLoading:p,isFetching:v,isPlaceholderData:y},onQueryParametersChange:w,getRowClassName:e=>e.type===Jse.ALL_USERS?"cursor-not-allowed opacity-60":"",onRowClick:a=>{if(a.type!==Jse.ALL_USERS){if(a.type!==Jse.CUSTOM)return o(a.id),void i(!0);o(a.id),i(!0)}else e({title:"Read-only segment",description:"This segment cannot be edited.",variant:"destructive"})},searchValue:d,onSearchChange:m})}),a.jsx($_e,{open:n,setOpen:i,segmentId:r??void 0,onSegmentUpdated:a=>{Gfe(i,e,a,`Error creating ${PN("engage:segment")}`,"Please try again"),c(void 0),l(10),m("")},viewOnly:!!r&&h?.find((e=>e.id===r))?.type!==Jse.CUSTOM})]})}const Fje=()=>{const e=sm(),n=Sde(),{toast:i}=dS(),{hideFeature:r,enableFeature:o}=qm(),{data:s}=fS(),[l,u]=t.useState(!1),[c,d]=t.useState(!1),[m,h]=t.useState(!1),[p,g]=t.useState(null),[f,v]=t.useState(!1),[y,k]=t.useState(null);t.useEffect((()=>{o?.engage?.onboarding&&v(null==s?.uiDefaults?.engageOnboardingShow||!0===s?.uiDefaults?.engageOnboardingShow)}),[s?.uiDefaults,o?.engage?.onboarding]);const S=s&&!s.segments_first_checked_at,{automations:w,isLoading:A}=HE({triggerTypes:[ME.TRIGGER_BASED,ME.DATE_BASED]}),[C,M]=t.useState();t.useEffect((()=>{e.prefetchQuery({queryKey:Kx.list()}),e.prefetchQuery({queryKey:Wse.lists(),queryFn:()=>pse()}),e.prefetchQuery({queryKey:Wse.lists({limit:10}),queryFn:()=>pse({limit:10})})}),[e]),t.useEffect((()=>{if(A||void 0===w)return;const e=[{id:"broadcasts",label:PN("engage:broadcast",{count:2}),content:a.jsx(Kje,{}),tooltip:{description:`Send one-time messages to your audience ${PN("engage:segment",{count:2}).toLowerCase()} based on behavior, demographics, or custom criteria. Perfect for announcements, promotions, or targeted campaigns.`}},{id:"segments",label:PN("engage:segment",{count:2}),content:a.jsx(Hje,{}),tooltip:{description:`Create and manage audience ${PN("engage:segment",{count:2}).toLowerCase()} based on behavior, demographics, or custom criteria. Essential for targeted messaging.`}},{id:"statistics",label:PN("engage:insight",{count:2}),content:a.jsx("div",{className:"w-full h-full flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 py-2 overflow-y-auto",children:a.jsx("div",{className:"border rounded-lg shadow-sm hover:shadow-md transition-shadow duration-300",children:a.jsx(Dje,{includeSales:!0,includeSms:void 0===r?.engage?.sms||!r?.engage?.sms})})})}),tooltip:{description:"Track performance metrics, engagement rates, etc across all your campaigns."}}];w.length>0?(k("automations"),M([{id:"automations",label:PN("engage:automation",{count:2}),content:a.jsx(Ije,{}),tooltip:{description:"Intelligent workflows that automatically send messages based on customer actions, events, or schedules. Improve engagement with targeted messaging."}},...e])):(k("broadcasts"),M(e))}),[w,A,r?.engage?.sms]);return S?a.jsx(zje,{}):null===y||null==C?a.jsx("div",{className:"w-full h-full flex justify-center items-center",children:a.jsx(th,{})}):a.jsxs("div",{className:"w-full h-full flex flex-col",children:[a.jsx(B_,{open:f,onClose:()=>v(!1),hideSMS:!0===r?.engage?.sms,children:a.jsx(hE,{open:!1,setOpen:()=>{},children:a.jsx(L_,{})})}),a.jsx(hE,{open:l,setOpen:u,children:a.jsx(mE,{})}),a.jsx("div",{className:"p-4",id:"engage-tabs-container",children:a.jsxs(N_e,{value:y,onValueChange:k,className:wje,children:[a.jsxs("div",{className:Aje,children:[a.jsx(E_e,{className:Cje,children:C?.map((e=>{let t;switch(e.id){case"automations":t=b;break;case"broadcasts":t=Y;break;case"segments":t=Re;break;case"statistics":t=q;break;default:t=null}return a.jsxs(__e,{value:e.id,className:Mje,children:[t&&a.jsx(t,{className:Tje}),a.jsx("span",{className:xje,children:e.label}),e.tooltip?.description&&a.jsx(Rx,{description:e.tooltip.description,size:"small",iconColor:"text-gray-400"})]},e.id)}))}),a.jsxs("div",{className:Eje,children:[("automations"===y||"broadcasts"===y)&&a.jsxs(Xa,{id:"new-broadcast-button",className:"bg-primary",onClick:()=>d(!0),children:[a.jsx(de,{className:"h-4 w-4 sm:mr-1"}),a.jsxs("span",{className:"hidden sm:inline",children:["New ",PN("engage:broadcast")]})]}),"segments"===y&&a.jsxs(Xa,{className:"bg-primary",onClick:()=>h(!0),children:[a.jsx(de,{className:"h-4 w-4 sm:mr-1"}),a.jsxs("span",{className:"hidden sm:inline",children:["New ",PN("engage:segment")]})]}),a.jsx(Xa,{variant:"outline",onClick:()=>u(!0),children:a.jsx(ve,{className:"w-4 h-4"})})]})]}),C?.map((e=>a.jsx(j_e,{value:e.id,className:Nje,children:e.content},e.id)))]})}),a.jsx(kje,{open:c,setOpen:d,onClose:e=>{if(Gfe(d,i,e,`Error creating ${PN("engage:broadcast")}`,"Please try again"),!1!==e){n(`/automations/view-modal/${e}?showBackButton=true${r?.engage?.sms?"&hideSms=true":""}`)}},automationType:ME.ONE_TIME,hideSms:r?.engage?.sms}),a.jsx($_e,{open:m,setOpen:h,segmentId:p??void 0,onSegmentUpdated:e=>{Gfe(h,i,e,`Error creating ${PN("engage:segment")}`,"Please try again"),g(null)}})]})},Gje="/automations";function Vje({open:e,onOpenChange:t}){const n=Sde(),i=tle(),{toast:r}=dS(),{updateAutomation:o,isUpdating:s}=zE(i?.id||""),l=PN(i?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation");return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Archive Automation"})}),a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"text-sm text-gray-600",children:["Are you sure you want to archive"," ",a.jsxs("span",{className:"font-semibold text-gray-900",children:['"',i?.name,'"']}),"?"]}),a.jsxs("div",{className:"text-sm text-gray-500 bg-amber-50 border border-amber-200 rounded-lg p-3",children:[a.jsx("p",{className:"font-medium text-amber-800 mb-1",children:"What happens when you archive:"}),a.jsxs("ul",{className:"text-amber-700 space-y-1",children:[a.jsx("li",{children:"• The automation will be hidden from your main list"}),a.jsx("li",{children:"• Historical data and settings are preserved"})]})]}),a.jsxs(Ni,{className:"gap-2",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),disabled:s,children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async function(){i?o({status:_E.ARCHIVED},{onSuccess:()=>{r({title:`${l} archived`,description:`"${i.name}" has been successfully archived.`}),t(!1),n(Gje)},onError:()=>{r({title:"Error archiving!",description:"Please contact your administrator.",variant:"destructive"})}}):r({title:"Error archiving automation",description:"Please try again.",variant:"destructive"})},disabled:s,children:s?"Archiving...":"Archive Automation"})]})]})]})})}function Jje({open:e,onOpenChange:t}){const n=tle(),{toast:i}=dS(),{updateAutomation:r}=zE(n?.id||""),o=sm();return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:n?.status===_E.SENDING?`Cancel ${PN("engage:automation")}`:`Cancel ${PN("engage:automation")} Before Sending`})}),a.jsx("div",{className:"space-y-4",children:n?a.jsxs(a.Fragment,n.status===_E.SENDING?{children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:["We'll help you cancel your",a.jsx("span",{className:"font-bold px-1 text-primary",children:n.name}),PN("engage:automation")," as soon as possible."]}),a.jsxs("div",{className:"rounded-lg bg-muted p-4 text-sm",children:[a.jsx("p",{className:"font-medium mb-2",children:"What happens next?"}),a.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[a.jsxs("li",{children:["We'll attempt to cancel the"," ",PN("engage:broadcast").toLowerCase()]}),a.jsx("li",{children:"Any messages already in the process of being sent will be delivered"}),a.jsxs("li",{children:["Future ",PN("engage:broadcast").toLowerCase()," messages will be cancelled"]}),a.jsxs("li",{children:["You can create a new ",PN("engage:broadcast").toLowerCase()," if needed"]})]})]})]}:{children:[a.jsxs("p",{className:"text-sm text-muted-foreground",children:["We'll help you cancel your",a.jsx("span",{className:"font-bold px-1 text-primary",children:n.name}),PN("engage:automation")," before it starts sending."]}),a.jsxs("div",{className:"rounded-lg bg-muted p-4 text-sm",children:[a.jsx("p",{className:"font-medium mb-2",children:"What happens next?"}),a.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[a.jsx("li",{children:"The automation will be cancelled"}),a.jsx("li",{children:"You can create a new automation if needed"})]})]})]}):null}),a.jsxs(Ni,{className:"gap-2 sm:gap-0",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),children:"Continue Running"}),a.jsxs(Xa,{variant:"destructive",onClick:()=>{if(!n)return;const e=n.status===_E.SENDING?_E.PARTIALLY_CANCELLED:_E.CANCELLED,a=n.status===_E.SENDING?`Attempting to cancel ${PN("engage:broadcast").toLowerCase()}`:`Successfully cancelled ${PN("engage:broadcast").toLowerCase()}`,s=`Failed to cancel ${PN("engage:broadcast").toLowerCase()}`;r({status:e},{onError:()=>{i({title:s,description:"Please contact your administrator.",variant:"destructive"}),o.invalidateQueries({queryKey:Kx.all})},onSuccess:()=>{t(!1),i({title:a,description:n.status===_E.SENDING?`We'll attempt to cancel your ${PN("engage:broadcast").toLowerCase()}. Any messages already in progress will be delivered.`:`Your ${PN("engage:broadcast").toLowerCase()} has been cancelled.`})}})},children:["Cancel ",PN("engage:automation")]})]})]})})}function Uje({open:e,onOpenChange:t,setIsActive:n}){const i=tle(),{updateAutomation:r}=zE(i?.id||""),{toast:o}=dS(),s=sm(),l=PN(i?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation"),u=i?.triggerType===ME.ONE_TIME?"Unschedule":`Pause ${l}`;return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:u})}),a.jsxs("div",{children:[i?.triggerType===ME.ONE_TIME?"Are you sure you want to unschedule the":"Are you sure you want to pause the",a.jsx("span",{className:"font-bold px-1 text-primary",children:i?.name})," ",l,"?"]}),a.jsxs(Ni,{className:"gap-2 sm:gap-0",children:[a.jsx(Xa,{variant:"outline",onClick:()=>t(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:()=>{r({status:_E.DRAFT},{onSuccess:()=>{o({title:`Updated ${l}`,description:`${l} status updated`}),t(!1),n(!1)},onError:()=>{o({title:`Failed to update ${l}`,description:"Please try again"}),s.invalidateQueries({queryKey:Kx.all})}})},children:u})]})]})})}const Wje=EA({name:gA().min(2,"Title must be at least 2 characters"),description:gA()});function qje({open:e,onOpenChange:t,onDuplicationCreated:n}){const i=tle(),{toast:r}=dS(),o=bo({resolver:ah(Wje),defaultValues:{name:`${i?.name} (copy)`,description:i?.description??""}}),{duplicateAutomation:s,isDuplicating:l}=FE();return a.jsx(wi,{open:e,onOpenChange:t,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsx(xi,{children:a.jsx(Ei,{children:"Duplicate Automation"})}),a.jsx(_o,{...o,children:a.jsxs("form",{onSubmit:o.handleSubmit((async function(e){i&&e.name?s({automationId:i.id,name:e.name,description:e.description},{onSuccess:e=>{e.id&&(n?.(e.id),t(!1))}}):r({title:"Error duplicating automation",description:"Please try again. Please make sure to fill in the name of the automation."})})),className:"space-y-4",children:[a.jsxs("div",{children:["Create a copy of the",a.jsx("span",{className:"font-bold px-1 text-primary",children:i?.name}),"automation with a new title and description."]}),a.jsx(Po,{control:o.control,name:"name",render:({field:e})=>a.jsxs(Ro,{children:[a.jsx(Do,{children:"Title"}),a.jsx(zo,{children:a.jsx(Io,{...e})}),a.jsx(Oo,{})]})}),a.jsx(Po,{control:o.control,name:"description",render:({field:e})=>a.jsxs(Ro,{children:[a.jsx(Do,{children:"Description"}),a.jsx(zo,{children:a.jsx(rve,{...e})}),a.jsx(Oo,{})]})}),a.jsx(Ni,{children:a.jsx(Xa,{type:"submit",disabled:l,children:"Duplicate"})})]})})]})})}const Zje=EA({name:gA().min(2,"Title must be at least 2 characters")}),$je=EA({description:gA().max(300,"Description must be less than 300 characters")}),Yje=({showBackButton:e,onDuplicationCreated:n,onBeforeSchedule:i})=>{const r=tle(),o=Sde(),{updateAutomation:s}=zE(r?.id||""),{toast:l}=dS(),u=(()=>{const{state:e}=ale();return e.recipientStats})(),{communicationGroup:c}=ile(),{data:d}=XN(),{channelSenders:h}=DC(),{channelAccounts:p}=LC(),g=sm(),[f,v]=t.useState(void 0),[y,b]=t.useState(!1),[k,S]=t.useState(!1),[A,C]=t.useState(!1),[M,T]=t.useState(!1),[x,N]=t.useState(!1),E=oE({channelSenders:h?.results??[],channelAccounts:p?.results??[],smsApplication:d});t.useEffect((()=>{if(r)switch(r.status){case _E.DRAFT:v(!1);break;case _E.ACTIVE:case _E.RUNNING:case _E.COMPLETED:v(!0);break;case _E.FAILED:case _E.DEACTIVATED:v(!1);break;case _E.SENDING:case _E.SCHEDULED:v(!0);break;case _E.PARTIALLY_CANCELLED:case _E.CANCELLED:case _E.ARCHIVED:v(!1);break;default:throw The(r.status,_E)}}),[r]);const _=PN(r?.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation"),j=t.useCallback((()=>{T(!0),s({status:_E.DRAFT},{onSuccess:()=>{v(!1),T(!1),l({title:`${_} activation undone`,description:"The automation will remain in draft status"})},onError:()=>{T(!1),l({title:"Error while updating the status",description:"Please refresh and try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})}),[_,s,g,l]),P=t.useCallback((()=>{if(!r)return l({title:`${_} not found`,description:"Please contact your administrator",variant:"destructive"}),null;const e=async e=>{if(f&&!e)C(!0);else{if(i&&!0===e){let e=0;for(;!u&&e<20;)await new Promise((e=>setTimeout(e,100))),e++;if(!u)return void l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"});const a=await i({estimatedEmailRecipients:u?.emails??0,estimatedSmsRecipients:u?.phones??0});if(!0!==a)return void l({title:"Error while updating the status",description:a,variant:"destructive"})}if(c?.id){await g.invalidateQueries({queryKey:["communication-group",c.id]}),await g.refetchQueries({queryKey:["communication-group",c.id]});const{getCommunicationGroup:e}=await Promise.resolve().then((()=>GN)),a=await e(c.id);if(a?.emailChannelSenderId&&a?.emailHtmlBody&&a.emailHtmlBody.includes(eve))return void l({title:"Oops!",description:`We've detected a placeholder logo in the ${PN("engage:broadcast")} where your business logo should be. Please make sure you've set your logo in brand settings.`,variant:"destructive"})}switch(r.triggerType){case ME.ONE_TIME:if(!r.triggerMetadata||!("scheduledAt"in r.triggerMetadata)||!r.triggerMetadata?.scheduledAt)return void l({title:"Ensure you have selected a scheduled time",variant:"destructive"});if(!c||!c.emailChannelSenderId&&!c.smsChannelSenderId)return void l({title:"Ensure you have selected at least one kind of communication",variant:"destructive"});break;case ME.TRIGGER_BASED:case ME.DATE_BASED:break;default:throw The(r.triggerType,ME)}e?(T(!0),s({status:_E.SENDING},{onSuccess:()=>{v(!0),T(!1),l({title:`${_} activation started`,variant:"default",action:a.jsx(Xre,{altText:"Undo Activate",onClick:j,className:"bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors duration-150 rounded-md px-3 py-1.5 font-medium shadow-sm",children:"Undo"})})},onError:()=>{l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"}),T(!1),g.invalidateQueries({queryKey:Kx.all})}})):(T(!0),s({status:e?_E.ACTIVE:_E.DEACTIVATED},{onSuccess:()=>{v(e),l(r.triggerType===ME.ONE_TIME?e?{title:`${_} started!`}:{title:`${_} has been unscheduled`}:{title:`${_} status updated to ${e?"active":"inactive"}`}),T(!1)},onError:()=>{l({title:"Error while updating the status",description:"Please contact your administrator",variant:"destructive"}),T(!1),g.invalidateQueries({queryKey:Kx.all})}}))}};if(!r||!c)return null;const t=E.find((e=>e.channelSender.id===c?.smsChannelSenderId)),n=!r.triggerMetadata||null===r.triggerMetadata,o=r.triggerMetadata?.triggerType===ME.ONE_TIME&&!r.triggerMetadata?.scheduledAt,d=!c?.emailChannelSenderId&&!c?.smsChannelSenderId,m=r.triggerType===ME.ONE_TIME,h=m&&t&&t?.smsApplication?.application&&t?.smsApplication?.status!==rE.APPROVED,p=c?.emailChannelSenderId&&(!c?.emailSubject||!c?.emailHtmlBody),y=c?.smsChannelSenderId&&!c?.smsMessageBody,b=0===r.includeSegmentIds?.length,k=m&&(!r.triggerMetadata||!("scheduledAt"in r.triggerMetadata)||!r.triggerMetadata?.scheduledAt);let S,A=!1,M=!0;switch(r.status){case _E.ACTIVE:A=!1;break;case _E.DRAFT:(d||p||y||b)&&(A=!0,p&&(S="Missing subject in email communication"),y&&(S="Missing SMS message in SMS communication"),b&&(S="Missing include segment")),k&&(A=!0),h&&(A=!0);break;case _E.DEACTIVATED:case _E.PARTIALLY_CANCELLED:case _E.CANCELLED:switch(A=!0,M=!1,r.status){case _E.DEACTIVATED:S="Automation is deactivated";break;case _E.PARTIALLY_CANCELLED:S="Automation is partially cancelled";break;case _E.CANCELLED:S="Automation is cancelled";break;default:throw The(r.status,_E)}break;case _E.RUNNING:A=!0,r.triggerType===ME.TRIGGER_BASED?(S=`Cannot change status of running ${_}`,M=!0):M=r.triggerType===ME.ONE_TIME&&r.status===_E.RUNNING;break;case _E.COMPLETED:A=!0,S=`Cannot change status of completed ${_}`,M=!1;break;case _E.FAILED:A=!0,S=`Cannot change status of failed ${_}`,M=!1;break;case _E.SENDING:case _E.SCHEDULED:A=!1,M=!0;break;case _E.ARCHIVED:A=!0,S=`Cannot change status of archived ${_}`,M=!1;break;default:throw The(r.status,_E)}const x=(()=>{switch(r.triggerType){case ME.DATE_BASED:case ME.TRIGGER_BASED:return a.jsxs("div",{className:"flex items-center gap-2 w-[12ch] cursor-pointer",children:[a.jsx(f?w:B,{className:"w-4 h-4"}),a.jsx("div",{className:"text-[13px] font-medium",children:f?"Active":"Inactive"}),a.jsx(k_,{checked:f,onCheckedChange:e,disabled:A})]});case ME.ONE_TIME:if((r.status===_E.RUNNING||r.status===_E.SCHEDULED||r.status===_E.SENDING)&&r.triggerType===ME.ONE_TIME)return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>N(!0),disabled:!1,children:"Cancel"});if(n||o||d||h||p||y||b){return a.jsx("div",{className:"flex items-center gap-2 cursor-not-allowed",children:(()=>{const t=r.triggerMetadata&&"scheduledAt"in r.triggerMetadata&&"now"===r.triggerMetadata?.scheduledAt?`Start ${_}`:"Schedule Send";if(r.status!==_E.DRAFT&&r.triggerMetadata&&"scheduledAt"in r.triggerMetadata&&"now"!==r.triggerMetadata?.scheduledAt&&r.status===_E.ACTIVE)return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:r.triggerType===ME.ONE_TIME?"Unschedule":"Convert to Draft"});const n=[];h&&n.push("The SMS number selected is still not approved"),k&&n.push("Please select a schedule time on the left sidebar"),d&&n.push("Please add at least one sender"),p&&n.push("Please add a subject to your email communication"),y&&n.push("Please add a message to your SMS communication"),b&&n.push(`Please select at least one ${PN("engage:segment",{count:1}).toLowerCase()}`);const i=n.map((e=>{return(a=e)?a.charAt(0).toUpperCase()+a.slice(1):a;var a})),o=`You cannot start this ${PN("engage:broadcast").toLowerCase()} yet. ${i.join(" · ")}`;return a.jsx("div",{className:"flex items-center gap-2",children:a.jsx(Rx,{alertText:o,asChild:!1,className:"!cursor-not-allowed",children:a.jsx("div",{className:"px-4 py-2 rounded border border-input bg-background text-muted-foreground cursor-not-allowed text-sm font-medium",children:a.jsx("span",{children:t})})})})})()})}if(!f){let t="Schedule Send";return r.triggerMetadata&&r.triggerMetadata.triggerType===ME.ONE_TIME&&r.triggerMetadata.scheduledAt&&"now"===r.triggerMetadata.scheduledAt&&(t=`Start ${_}`),a.jsx(Xa,{id:"start-automation-button",variant:"default",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:t})}return a.jsx(Xa,{variant:"outline",className:"flex items-center gap-2",onClick:()=>e(!f),disabled:A,children:r.triggerType===ME.ONE_TIME?"Unschedule":"Convert to Draft"});default:throw The(r.triggerType,ME)}})();return A&&S&&r.triggerType===ME.TRIGGER_BASED?a.jsx(Rx,{alertText:S,asChild:!0,children:a.jsx("div",{className:"flex items-center gap-2",children:M&&x})}):a.jsx("div",{className:"flex items-center gap-2",children:M&&x})}),[r,c,E,l,f,_,i,s,u,g,j]),L=t.useMemo((()=>r?a.jsx(xx,{variant:Vfe(r.status),id:"automation-status-pill",children:xhe({status:r.status,automationType:r.triggerType,vsaasManaged:r.automationType===NE.MANAGED})}):null),[r]);return r&&void 0!==f?a.jsxs("header",{className:"flex px-1 pt-1",children:[a.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e&&a.jsx(Xa,{variant:"ghost",size:"icon",onClick:()=>o(-1),children:a.jsx(m,{})}),a.jsx("div",{className:"flex items-center gap-2",children:a.jsxs("div",{className:"flex flex-col gap-0 items-start",children:[r.automationType!==NE.MANAGED?a.jsx(ble,{value:r.name,schema:Zje,onSubmit:e=>{s({name:e.name},{onError:()=>{l({title:`Failed to update ${_} name`,description:"Please try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})},fieldName:"name",className:"text-lg",successMessage:`${_} name updated`,errorMessage:`Failed to update ${_.toLowerCase()} name`}):a.jsx("div",{className:"text-lg font-medium",children:r.name}),r.automationType!==NE.MANAGED?a.jsx(ble,{value:r.description||"",schema:$je,onSubmit:e=>{s({description:e.description},{onError:()=>{l({title:`Failed to update ${_.toLowerCase()} description`,description:"Please try again",variant:"destructive"}),g.invalidateQueries({queryKey:Kx.all})}})},fieldName:"description",className:"text-sm "+(r.description?"text-current":"text-muted-foreground"),successMessage:"Description updated",errorMessage:"Failed to update description",placeholderText:`Describe the goal of the ${_.toLowerCase()}`}):r.description&&a.jsx("div",{className:"text-sm text-current",children:r.description})]})})]}),a.jsxs("div",{className:"ml-auto flex gap-4 items-center",children:[a.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[L,r.triggerType===ME.ONE_TIME&&a.jsxs(a.Fragment,{children:[a.jsx("div",{role:"button",tabIndex:0,className:"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 cursor-pointer",onClick:()=>b(!0),children:a.jsx(Rx,{title:"Duplicate",Icon:OM.DuplicateIcon,asChild:!1,onClick:()=>b(!0)})}),(r.status===_E.COMPLETED||r.status===_E.DRAFT||r.status===_E.PARTIALLY_CANCELLED||r.status===_E.CANCELLED)&&a.jsx("div",{role:"button",tabIndex:0,className:"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:bg-accent hover:text-accent-foreground h-10 w-10 cursor-pointer",onClick:()=>S(!0),children:a.jsx(Rx,{title:"Archive",Icon:OM.ArchiveIcon,asChild:!1,onClick:()=>S(!0)})})]})]}),a.jsx("div",M?{className:"flex items-center text-muted-foreground pr-2",children:a.jsx(th,{size:"sm"})}:{className:"flex items-center",children:P()})]}),a.jsx(qje,{open:y,onOpenChange:b,onDuplicationCreated:n}),a.jsx(Uje,{open:A,onOpenChange:C,setIsActive:v}),a.jsx(Jje,{open:x,onOpenChange:N}),a.jsx(Vje,{open:k,onOpenChange:S})]}):null},Qje=({tabs:e,activeTab:n,onTabChange:i,tabsLocation:r="left",secondaryTabs:o=!1,headerOnly:s=!1})=>{const l=t.useRef([]),[u,c]=t.useState({width:0,left:0});t.useEffect((()=>{const a=l.current[e.findIndex((e=>e.id===n))];a&&c({width:a.offsetWidth,left:a.offsetLeft})}),[n,e]);const d=e.find((e=>e.id===n)),m=()=>a.jsxs("div",{className:"relative flex items-center gap-8 "+("left"===r?"w-full justify-start":"w-full justify-center"),children:[a.jsx("div",{className:"absolute bottom-0 h-[1px] rounded-full transition-all duration-300 ease-out\n bg-gradient-to-r from-primary to-primary/90\n shadow-[0_0_8px_rgba(var(--primary-rgb),0.3)]",style:{width:`${u.width}px`,left:`${u.left}px`}}),e.map(((e,t)=>a.jsxs("button",{id:`tab-${e.id}`,ref:e=>l.current[t]=e,onClick:()=>i(e.id),className:Si("relative px-7 py-3 transition-all duration-200 text-lg flex items-center gap-2",n!==e.id&&"text-muted-foreground",o&&"text-sm"),children:[a.jsx("span",{children:e.label}),e.tooltip&&a.jsx(Rx,{title:e.tooltip.title,description:e.tooltip.description,alertText:e.tooltip.alertText,link:e.tooltip.link,showAttributionLink:e.tooltip.showAttributionLink,showReputationMethodology:e.tooltip.showReputationMethodology,size:"small",iconColor:"text-gray-400"})]},e.id)))]});return s?a.jsx(m,{}):a.jsxs("div",{className:"flex flex-col gap-4 w-full overflow-x-hidden h-full",children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsx(m,{})}),a.jsx("div",{className:"relative overflow-hidden flex-grow min-h-0",children:a.jsx("div",{className:"relative h-full",children:d?d.content:null})})]})},Xje=()=>{const e=tle(),{isLoading:n}=IE(e?.id),[i,r]=t.useState(void 0),{orders:o,nextCursor:s,totalCount:l,isLoading:u,isFetching:c,isPlaceholderData:d}=KE({automationId:e?.id??"",cursor:i,limit:10,automationStatus:e?.status,automationType:e?.triggerType}),{state:{hideSales:m,hideSms:h}}=t.useContext(qoe),p=t.useCallback((e=>{r(e.cursor)}),[]);if(!e||n)return a.jsx(th,{text:[`Fetching ${PN("engage:insight",{count:2})}`,"Finishing up"]});const g=o?.results||[],f=[{accessorKey:"first_name",header:"Customer",enableSorting:!1,cell:({row:e})=>{const t=gNe({firstName:e.original.first_name||"",lastName:e.original.last_name||""},"Unknown"),n=e.original.email||"";return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"font-medium",children:t}),n&&a.jsx("span",{className:"text-xs text-muted-foreground",children:n})]})},size:200},{accessorKey:"amount",header:"Amount",enableSorting:!1,cell:({row:e})=>{const a=parseFloat(e.original.amount);return Phe(a)},size:120},{accessorKey:"communication_type",header:"Channel",enableSorting:!1,cell:({row:e})=>a.jsx("span",{className:"capitalize text-sm",children:e.original.communication_type||"Unknown"}),size:100},{accessorKey:"schedule_send_at",header:"Sent Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.schedule_send_at;return a?new Date(a).toLocaleDateString():"Unknown"},size:140},{accessorKey:"created_date",header:"Order Date",enableSorting:!1,cell:({row:e})=>{const a=e.original.created_date;return a?new Date(a).toLocaleDateString():"Unknown"},size:140}];return a.jsxs("div",{className:"h-full p-4 space-y-6",children:[a.jsx(Dje,{automationId:e.id,automation:e,includeSales:!m,includeSms:!h,showErrors:!0}),!m&&a.jsxs("div",{className:"bg-white rounded-2xl p-6",children:[a.jsx("h3",{className:"text-lg font-medium text-foreground mb-4",children:"Sales From This Campaigns"}),void 0!==l&&a.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Total Orders: ",l]}),a.jsx(Sue,{data:g,columns:f,paginationMode:"cursor",totalCount:l??void 0,initialPageSize:10,isLoading:u,cursorPaginationQueryResult:{nextCursor:s||void 0,isLoading:u,isFetching:c,isPlaceholderData:d},hideLoadingState:!0,onQueryParametersChange:p,enableSorting:!1})]})]})},ePe=({options:e})=>a.jsxs(Ahe,{children:[a.jsx(Che,{asChild:!0,children:a.jsx(Xa,{className:"p-1 hover:bg-gray-100 rounded transition-colors",variant:"ghost",children:a.jsx("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:a.jsx(OM.FilterIcon,{className:"w-4 h-4"})})})}),a.jsx(Mhe,{className:"w-48",children:a.jsx("div",{className:"space-y-2",children:a.jsx("div",{className:"space-y-1",children:e.map((e=>a.jsx(Xa,{onClick:e.onClick,variant:"ghost",className:"w-full text-left px-2 py-1.5 rounded text-sm transition-colors "+(e.isActive?"bg-blue-100 text-blue-700":"hover:bg-gray-100"),children:e.title},e.title)))})})})]});const aPe=t.memo((function({automationId:e}){const[n,i]=t.useState(""),[r,o]=t.useState(void 0),[s,l]=t.useState(void 0),[u,c]=t.useState(25),d=t.useRef(""),m=tle(),{sentCommunications:h,isLoading:p,isFetching:g,isPlaceholderData:f}=RE({automationId:e,cursor:s,limit:u,search:n||void 0,filterType:r,automationStatus:m?.status,automationType:m?.triggerType}),v={nextCursor:h?.pagination.cursor||null,isLoading:p,isFetching:g,isPlaceholderData:!!f},y=t.useCallback((e=>{l(e.cursor),c(e.pageSize)}),[]),b=t.useMemo((()=>[{accessorKey:"communicationJobCreatedAt",id:"lastCommunication",header:"Sent At",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>e.original.communicationJobCreatedAt?a.jsx("div",{className:"flex items-center gap-2",children:a.jsx("span",{className:"text-sm text-gray-600",children:kce(new Date(e.original.communicationJobCreatedAt),"MMM d, yyyy h:mm a")})}):a.jsx("span",{className:"text-gray-400",children:"Not available"})},{accessorFn:e=>`${e.firstName||""} ${e.lastName||""}`.trim(),id:"name",header:"Name",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>{const t=`${e.original.firstName||""} ${e.original.lastName||""}`.trim();return t||a.jsx("span",{className:"text-gray-400",children:"Not provided"})}},{accessorKey:"email",header:"Email",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>a.jsx("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.original.email||a.jsx("span",{className:"text-gray-400",children:"Not provided"})})},{accessorKey:"phone",header:"Phone",enableSorting:!1,enableColumnFilter:!1,cell:({row:e})=>a.jsx("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.original.phone?KC(e.original.phone):a.jsx("span",{className:"text-gray-400",children:"Not provided"})})},{accessorKey:"communicationsSent",id:"communicationsSent",header:()=>a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{children:"Communications Sent"}),a.jsx(ePe,{options:[{title:"All",onClick:()=>{o(void 0)},isActive:void 0===r},{title:"Errors Only",onClick:()=>{o(xE.ERRORS)},isActive:r===xE.ERRORS},{title:"Unsubscribed",onClick:()=>{o(xE.UNSUBSCRIBED)},isActive:r===xE.UNSUBSCRIBED},{title:"Spam",onClick:()=>{o(xE.SPAM)},isActive:r===xE.SPAM},{title:"Bounced",onClick:()=>{o(xE.BOUNCED)},isActive:r===xE.BOUNCED},{title:"Opened",onClick:()=>{o(xE.OPENED)},isActive:r===xE.OPENED},{title:"Opted Out",onClick:()=>{o(xE.OPTED_OUT)},isActive:r===xE.OPTED_OUT}]})]}),enableSorting:!1,enableColumnFilter:!1,filterFn:(e,a,t)=>(t!==d.current&&(d.current=t,o("errors-only"===t?xE.ERRORS:void 0)),!0),cell:({row:e})=>{const t=e.original.communicationsSent||[],n=t.filter((e=>e.type===jE.EMAIL)),i=t.filter((e=>e.type===jE.SMS)),r=n.length>0,o=i.length>0,s=r||o,l=e.original.skippedReason,u=e.original.skippedEnumReason===PE.USER_OPTED_OUT,c=e=>{switch(e){case"Failed":return"Communication failed to send or was cancelled";case"Skipped":return l||"Communication was skipped due to business rules";case"Unsubscribed":return"Recipient unsubscribed after receiving this communication";case"Spam":return"Recipient marked this communication as spam";case"Hard Bounce":return"Email bounced due to permanent delivery failure";case"Soft Bounce":return"Email bounced due to temporary delivery issue";case"Opened":return"Recipient opened this communication";case"Delivered":return"Communication was successfully delivered";case"Pending":return"Communication is pending delivery";default:return"Communication status"}},d=(e,t)=>{let n="Pending",i="text-gray-500",r="text-gray-400",o="email"===e?OM.EmailIcon:OM.SmsIcon,s="bg-gray-400";return t.error?(n="Failed",i="text-red-500",r="text-red-500",s="bg-red-500"):t.skipped?(n="Skipped",i="text-gray-500",r="text-gray-400",s="bg-gray-400"):t.unsubscribed?(n="Unsubscribed",i="text-orange-500",r="text-orange-500",o=OM.UnsubscribedIcon,s="bg-orange-500"):t.spamComplaint?(n="Spam",i="text-red-600",r="text-red-600",o=OM.SpamIcon,s="bg-red-600"):t.hardBounce?(n="Hard Bounce",i="text-red-700",r="text-red-700",o=OM.HardBounceIcon,s="bg-red-700"):t.softBounce?(n="Soft Bounce",i="text-yellow-600",r="text-yellow-600",o=OM.SoftBounceIcon,s="bg-yellow-600"):t.opened?(n="Opened",i="text-blue-600",r="text-blue-600",o=OM.OpenedIcon,s="bg-blue-600"):t.delivered&&(n="Delivered",i="text-green-600",r="text-green-500",s="bg-green-500"),a.jsx(Rx,{title:t.error||c(n),children:a.jsxs("div",{className:"flex items-center gap-1.5 cursor-pointer",children:[a.jsxs("div",{className:"relative",children:[a.jsx(o,{className:`h-4 w-4 ${r}`}),a.jsx("div",{className:`absolute -right-1 -top-1 h-2 w-2 rounded-full ${s} ring-1 ring-white`})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-medium",children:"email"===e?"Email":"SMS"}),a.jsx("span",{className:`text-xs ${i}`,children:n})]})]})})};return a.jsxs("div",{className:"flex items-center gap-3",children:[!u&&a.jsxs(a.Fragment,{children:[r&&n.map(((e,t)=>a.jsx("div",{children:e.error?a.jsx(Rx,{title:e.error,children:d("email",e)}):d("email",e)},`email-${e.id}-${t}`))),r&&o&&a.jsx("div",{className:"h-8 w-px bg-gray-200"}),o&&i.map(((e,t)=>a.jsx("div",{children:e.error?a.jsx(Rx,{title:e.error,children:d("sms",e)}):d("sms",e)},`sms-${e.id}-${t}`)))]}),u&&a.jsx(Rx,{title:l||"Communication was skipped because user opted out",children:a.jsxs("div",{className:"flex items-center gap-1.5 cursor-pointer",children:[a.jsxs("div",{className:"relative",children:[a.jsx(OM.UnsubscribedIcon,{className:"h-4 w-4 text-orange-500"}),a.jsx("div",{className:"absolute -right-1 -top-1 h-2 w-2 rounded-full bg-orange-500 ring-1 ring-white"})]}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-medium",children:"Opted Out"}),a.jsx("span",{className:"text-xs text-orange-500",children:"Skipped"})]})]})}),!s&&!u&&a.jsx("span",{className:"text-sm text-gray-400",children:"None"})]})}}]),[r]);return a.jsx("div",{className:"w-full h-[75vh] flex flex-col",children:a.jsx("div",{className:"flex-grow min-h-0 p-4",children:a.jsx(Sue,{data:h?.results||[],columns:b,isLoading:p&&!f,paginationMode:"cursor",initialPageSize:u,totalCount:h?.pagination.total,searchValue:n,onSearchChange:i,manualFiltering:!1,hideLoadingState:!0,cursorPaginationQueryResult:v,onQueryParametersChange:y})})})})),tPe=()=>{const e=tle();return e?e?.triggerType===ME.ONE_TIME&&e?.status===_E.DRAFT?a.jsxs("div",{className:"flex flex-col items-center justify-center p-8 text-center",children:[a.jsx("div",{className:"mb-4",children:a.jsx(OM.UserIcon,{className:"h-12 w-12 text-gray-400"})}),a.jsx("h3",{className:"mb-2 text-lg font-semibold text-gray-700",children:"No Recipients Available Yet"}),a.jsxs("p",{className:"text-gray-500",children:["Recipients will be available once this"," ",PN(e.triggerType===ME.ONE_TIME?"engage:broadcast":"engage:automation")," ","has completed running. Please check back after the automation has finished."]})]}):a.jsx(aPe,{automationId:e.id}):a.jsx(th,{text:["Fetching Recipients","Finishing up"]})},nPe=t.createContext(null);nPe.displayName="PanelGroupContext";const iPe="data-panel-group",rPe="data-panel-group-direction",oPe="data-panel-group-id",sPe="data-panel",lPe="data-panel-collapsible",uPe="data-panel-id",cPe="data-panel-size",dPe="data-resize-handle",mPe="data-resize-handle-active",hPe="data-panel-resize-handle-enabled",pPe="data-panel-resize-handle-id",gPe="data-resize-handle-state",fPe=t.useLayoutEffect,vPe=r["useId".toString()],yPe="function"==typeof vPe?vPe:()=>null;let bPe=0;function kPe(e=null){const a=yPe(),n=t.useRef(e||a||null);return null===n.current&&(n.current=""+bPe++),null!=e?e:n.current}function SPe({children:e,className:a="",collapsedSize:n,collapsible:i,defaultSize:r,forwardedRef:o,id:s,maxSize:l,minSize:u,onCollapse:c,onExpand:d,onResize:m,order:h,style:p,tagName:g="div",...f}){const v=t.useContext(nPe);if(null===v)throw Error("Panel components must be rendered within a PanelGroup container");const{collapsePanel:y,expandPanel:b,getPanelSize:k,getPanelStyle:S,groupId:w,isPanelCollapsed:A,reevaluatePanelConstraints:C,registerPanel:M,resizePanel:T,unregisterPanel:x}=v,N=kPe(s),E=t.useRef({callbacks:{onCollapse:c,onExpand:d,onResize:m},constraints:{collapsedSize:n,collapsible:i,defaultSize:r,maxSize:l,minSize:u},id:N,idIsFromProps:void 0!==s,order:h});t.useRef({didLogMissingDefaultSizeWarning:!1}),fPe((()=>{const{callbacks:e,constraints:a}=E.current,t={...a};E.current.id=N,E.current.idIsFromProps=void 0!==s,E.current.order=h,e.onCollapse=c,e.onExpand=d,e.onResize=m,a.collapsedSize=n,a.collapsible=i,a.defaultSize=r,a.maxSize=l,a.minSize=u,t.collapsedSize===a.collapsedSize&&t.collapsible===a.collapsible&&t.maxSize===a.maxSize&&t.minSize===a.minSize||C(E.current,t)})),fPe((()=>{const e=E.current;return M(e),()=>{x(e)}}),[h,N,M,x]),t.useImperativeHandle(o,(()=>({collapse:()=>{y(E.current)},expand:e=>{b(E.current,e)},getId:()=>N,getSize:()=>k(E.current),isCollapsed:()=>A(E.current),isExpanded:()=>!A(E.current),resize:e=>{T(E.current,e)}})),[y,b,k,A,N,T]);const _=S(E.current,r);return t.createElement(g,{...f,children:e,className:a,id:N,style:{..._,...p},[oPe]:w,[sPe]:"",[lPe]:i||void 0,[uPe]:N,[cPe]:parseFloat(""+_.flexGrow).toFixed(1)})}const wPe=t.forwardRef(((e,a)=>t.createElement(SPe,{...e,forwardedRef:a})));SPe.displayName="Panel",wPe.displayName="forwardRef(Panel)";let APe=null,CPe=-1,MPe=null;function TPe(e,a){var t,n;const i=function(e,a){if(a){const e=!!(a&IPe),t=!!(a&KPe);if(a&zPe)return e?"se-resize":t?"ne-resize":"e-resize";if(a&OPe)return e?"sw-resize":t?"nw-resize":"w-resize";if(e)return"s-resize";if(t)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}(e,a);if(APe!==i){var r;if(APe=i,null===MPe&&(MPe=document.createElement("style"),document.head.appendChild(MPe)),CPe>=0)null===(r=MPe.sheet)||void 0===r||r.removeRule(CPe);CPe=null!==(t=null===(n=MPe.sheet)||void 0===n?void 0:n.insertRule(`*{cursor: ${i} !important;}`))&&void 0!==t?t:-1}}function xPe(e){return"keydown"===e.type}function NPe(e){return e.type.startsWith("pointer")}function EPe(e){return e.type.startsWith("mouse")}function _Pe(e){if(NPe(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(EPe(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}const jPe=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function PPe(e){const a=getComputedStyle(e);return"fixed"===a.position||(!("auto"===a.zIndex||"static"===a.position&&!function(e){var a;const t=getComputedStyle(null!==(a=DPe(e))&&void 0!==a?a:e).display;return"flex"===t||"inline-flex"===t}(e))||(+a.opacity<1||("transform"in a&&"none"!==a.transform||("webkitTransform"in a&&"none"!==a.webkitTransform||("mixBlendMode"in a&&"normal"!==a.mixBlendMode||("filter"in a&&"none"!==a.filter||("webkitFilter"in a&&"none"!==a.webkitFilter||("isolation"in a&&"isolate"===a.isolation||(!!jPe.test(a.willChange)||"touch"===a.webkitOverflowScrolling)))))))))}function LPe(e){let a=e.length;for(;a--;){const t=e[a];if(nLe(t,"Missing node"),PPe(t))return t}return null}function BPe(e){return e&&Number(getComputedStyle(e).zIndex)||0}function RPe(e){const a=[];for(;e;)a.push(e),e=DPe(e);return a}function DPe(e){const{parentNode:a}=e;return a&&a instanceof ShadowRoot?a.host:a}const zPe=1,OPe=2,IPe=4,KPe=8,HPe="coarse"===function(){if("function"==typeof matchMedia)return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}();let FPe=[],GPe=!1,VPe=new Map,JPe=new Map;const UPe=new Set;function WPe(e){const{target:a}=e,{x:t,y:n}=_Pe(e);GPe=!0,YPe({target:a,x:t,y:n}),aLe(),FPe.length>0&&(tLe("down",e),e.preventDefault(),$Pe(a)||e.stopImmediatePropagation())}function qPe(e){const{x:a,y:t}=_Pe(e);if(GPe&&0===e.buttons&&(GPe=!1,tLe("up",e)),!GPe){const{target:n}=e;YPe({target:n,x:a,y:t})}tLe("move",e),XPe(),FPe.length>0&&e.preventDefault()}function ZPe(e){const{target:a}=e,{x:t,y:n}=_Pe(e);JPe.clear(),GPe=!1,FPe.length>0&&(e.preventDefault(),$Pe(a)||e.stopImmediatePropagation()),tLe("up",e),YPe({target:a,x:t,y:n}),XPe(),aLe()}function $Pe(e){let a=e;for(;a;){if(a.hasAttribute(dPe))return!0;a=a.parentElement}return!1}function YPe({target:e,x:a,y:t}){FPe.splice(0);let n=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(n=e),UPe.forEach((e=>{const{element:i,hitAreaMargins:r}=e,o=i.getBoundingClientRect(),{bottom:s,left:l,right:u,top:c}=o,d=HPe?r.coarse:r.fine;if(a>=l-d&&a<=u+d&&t>=c-d&&t<=s+d){if(null!==n&&document.contains(n)&&i!==n&&!i.contains(n)&&!n.contains(i)&&function(e,a){if(e===a)throw new Error("Cannot compare node with itself");const t={a:RPe(e),b:RPe(a)};let n;for(;t.a.at(-1)===t.b.at(-1);)e=t.a.pop(),a=t.b.pop(),n=e;nLe(n,"Stacking order can only be calculated for elements with a common ancestor");const i=BPe(LPe(t.a)),r=BPe(LPe(t.b));if(i===r){const e=n.childNodes,a={a:t.a.at(-1),b:t.b.at(-1)};let i=e.length;for(;i--;){const t=e[i];if(t===a.a)return 1;if(t===a.b)return-1}}return Math.sign(i-r)}(n,i)>0){let e=n,a=!1;for(;e&&!e.contains(i);){if((m=e.getBoundingClientRect()).x<(h=o).x+h.width&&m.x+m.width>h.x&&m.y<h.y+h.height&&m.y+m.height>h.y){a=!0;break}e=e.parentElement}if(a)return}FPe.push(e)}var m,h}))}function QPe(e,a){JPe.set(e,a)}function XPe(){let e=!1,a=!1;FPe.forEach((t=>{const{direction:n}=t;"horizontal"===n?e=!0:a=!0}));let t=0;JPe.forEach((e=>{t|=e})),e&&a?TPe("intersection",t):e?TPe("horizontal",t):a?TPe("vertical",t):null!==MPe&&(document.head.removeChild(MPe),APe=null,MPe=null,CPe=-1)}let eLe=new AbortController;function aLe(){eLe.abort(),eLe=new AbortController;const e={capture:!0,signal:eLe.signal};UPe.size&&(GPe?(FPe.length>0&&VPe.forEach(((a,t)=>{const{body:n}=t;a>0&&(n.addEventListener("contextmenu",ZPe,e),n.addEventListener("pointerleave",qPe,e),n.addEventListener("pointermove",qPe,e))})),VPe.forEach(((a,t)=>{const{body:n}=t;n.addEventListener("pointerup",ZPe,e),n.addEventListener("pointercancel",ZPe,e)}))):VPe.forEach(((a,t)=>{const{body:n}=t;a>0&&(n.addEventListener("pointerdown",WPe,e),n.addEventListener("pointermove",qPe,e))})))}function tLe(e,a){UPe.forEach((t=>{const{setResizeHandlerState:n}=t,i=FPe.includes(t);n(e,i,a)}))}function nLe(e,a){if(!e)throw Error(a)}function iLe(e,a,t=10){return e.toFixed(t)===a.toFixed(t)?0:e>a?1:-1}function rLe(e,a,t=10){return 0===iLe(e,a,t)}function oLe(e,a,t){return 0===iLe(e,a,t)}function sLe({panelConstraints:e,panelIndex:a,size:t}){const n=e[a];nLe(null!=n,`Panel constraints not found for index ${a}`);let{collapsedSize:i=0,collapsible:r,maxSize:o=100,minSize:s=0}=n;if(iLe(t,s)<0)if(r){t=iLe(t,(i+s)/2)<0?i:s}else t=s;return t=Math.min(o,t),t=parseFloat(t.toFixed(10))}function lLe({delta:e,initialLayout:a,panelConstraints:t,pivotIndices:n,prevLayout:i,trigger:r}){if(oLe(e,0))return a;const o=[...a],[s,l]=n;nLe(null!=s,"Invalid first pivot index"),nLe(null!=l,"Invalid second pivot index");let u=0;if("keyboard"===r){{const n=e<0?l:s,i=t[n];nLe(i,`Panel constraints not found for index ${n}`);const{collapsedSize:r=0,collapsible:o,minSize:u=0}=i;if(o){const t=a[n];if(nLe(null!=t,`Previous layout not found for panel index ${n}`),oLe(t,r)){const a=u-t;iLe(a,Math.abs(e))>0&&(e=e<0?0-a:a)}}}{const n=e<0?s:l,i=t[n];nLe(i,`No panel constraints found for index ${n}`);const{collapsedSize:r=0,collapsible:o,minSize:u=0}=i;if(o){const t=a[n];if(nLe(null!=t,`Previous layout not found for panel index ${n}`),oLe(t,u)){const a=t-r;iLe(a,Math.abs(e))>0&&(e=e<0?0-a:a)}}}}{const n=e<0?1:-1;let i=e<0?l:s,r=0;for(;;){const e=a[i];nLe(null!=e,`Previous layout not found for panel index ${i}`);if(r+=sLe({panelConstraints:t,panelIndex:i,size:100})-e,i+=n,i<0||i>=t.length)break}const o=Math.min(Math.abs(e),Math.abs(r));e=e<0?0-o:o}{let n=e<0?s:l;for(;n>=0&&n<t.length;){const i=Math.abs(e)-Math.abs(u),r=a[n];nLe(null!=r,`Previous layout not found for panel index ${n}`);const s=sLe({panelConstraints:t,panelIndex:n,size:r-i});if(!oLe(r,s)&&(u+=r-s,o[n]=s,u.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?n--:n++}}if(function(e,a,t){if(e.length!==a.length)return!1;for(let n=0;n<e.length;n++)if(!oLe(e[n],a[n],t))return!1;return!0}(i,o))return i;{const n=e<0?l:s,i=a[n];nLe(null!=i,`Previous layout not found for panel index ${n}`);const r=i+u,c=sLe({panelConstraints:t,panelIndex:n,size:r});if(o[n]=c,!oLe(c,r)){let a=r-c;let n=e<0?l:s;for(;n>=0&&n<t.length;){const i=o[n];nLe(null!=i,`Previous layout not found for panel index ${n}`);const r=sLe({panelConstraints:t,panelIndex:n,size:i+a});if(oLe(i,r)||(a-=r-i,o[n]=r),oLe(a,0))break;e>0?n--:n++}}}return oLe(o.reduce(((e,a)=>a+e),0),100)?o:i}function uLe({layout:e,panelsArray:a,pivotIndices:t}){let n=0,i=100,r=0,o=0;const s=t[0];nLe(null!=s,"No pivot index found"),a.forEach(((e,a)=>{const{constraints:t}=e,{maxSize:l=100,minSize:u=0}=t;a===s?(n=u,i=l):(r+=u,o+=l)}));return{valueMax:Math.min(i,100-r),valueMin:Math.max(n,100-o),valueNow:e[s]}}function cLe(e,a=document){return Array.from(a.querySelectorAll(`[${pPe}][data-panel-group-id="${e}"]`))}function dLe(e,a,t=document){const n=cLe(e,t).findIndex((e=>e.getAttribute(pPe)===a));return null!=n?n:null}function mLe(e,a,t){const n=dLe(e,a,t);return null!=n?[n,n+1]:[-1,-1]}function hLe(e,a=document){var t;if(a instanceof HTMLElement&&(null==a||null===(t=a.dataset)||void 0===t?void 0:t.panelGroupId)==e)return a;const n=a.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return n||null}function pLe(e,a=document){const t=a.querySelector(`[${pPe}="${e}"]`);return t||null}function gLe({committedValuesRef:e,eagerValuesRef:a,groupId:n,layout:i,panelDataArray:r,panelGroupElement:o,setLayout:s}){t.useRef({didWarnAboutMissingResizeHandle:!1}),fPe((()=>{if(!o)return;const e=cLe(n,o);for(let a=0;a<r.length-1;a++){const{valueMax:t,valueMin:n,valueNow:o}=uLe({layout:i,panelsArray:r,pivotIndices:[a,a+1]}),s=e[a];if(null==s);else{const e=r[a];nLe(e,`No panel data found for index "${a}"`),s.setAttribute("aria-controls",e.id),s.setAttribute("aria-valuemax",""+Math.round(t)),s.setAttribute("aria-valuemin",""+Math.round(n)),s.setAttribute("aria-valuenow",null!=o?""+Math.round(o):"")}}return()=>{e.forEach(((e,a)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")}))}}),[n,i,r,o]),t.useEffect((()=>{if(!o)return;const e=a.current;nLe(e,"Eager values not found");const{panelDataArray:t}=e;nLe(null!=hLe(n,o),`No group found for id "${n}"`);const r=cLe(n,o);nLe(r,`No resize handles found for group id "${n}"`);const l=r.map((e=>{const a=e.getAttribute(pPe);nLe(a,"Resize handle element has no handle id attribute");const[r,l]=function(e,a,t,n=document){var i,r,o,s;const l=pLe(a,n),u=cLe(e,n),c=l?u.indexOf(l):-1;return[null!==(i=null===(r=t[c])||void 0===r?void 0:r.id)&&void 0!==i?i:null,null!==(o=null===(s=t[c+1])||void 0===s?void 0:s.id)&&void 0!==o?o:null]}(n,a,t,o);if(null==r||null==l)return()=>{};const u=e=>{if(!e.defaultPrevented)switch(e.key){case"Enter":{e.preventDefault();const l=t.findIndex((e=>e.id===r));if(l>=0){const e=t[l];nLe(e,`No panel data found for index ${l}`);const r=i[l],{collapsedSize:u=0,collapsible:c,minSize:d=0}=e.constraints;if(null!=r&&c){const e=lLe({delta:oLe(r,u)?d-u:u-r,initialLayout:i,panelConstraints:t.map((e=>e.constraints)),pivotIndices:mLe(n,a,o),prevLayout:i,trigger:"keyboard"});i!==e&&s(e)}}break}}};return e.addEventListener("keydown",u),()=>{e.removeEventListener("keydown",u)}}));return()=>{l.forEach((e=>e()))}}),[o,e,a,n,i,r,s])}function fLe(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!==a[t])return!1;return!0}function vLe(e,a){const t="horizontal"===e,{x:n,y:i}=_Pe(a);return t?n:i}function yLe(e,a,t,n,i,r){if(xPe(e)){const a="horizontal"===t;let n=0;n=e.shiftKey?100:null!=i?i:10;let r=0;switch(e.key){case"ArrowDown":r=a?0:n;break;case"ArrowLeft":r=a?-n:0;break;case"ArrowRight":r=a?n:0;break;case"ArrowUp":r=a?0:-n;break;case"End":r=100;break;case"Home":r=-100}return r}return null==n?0:function(e,a,t,n,i){const r="horizontal"===t,o=pLe(a,i);nLe(o,`No resize handle element found for id "${a}"`);const s=o.getAttribute(oPe);nLe(s,"Resize handle element has no group id attribute");let{initialCursorPosition:l}=n;const u=vLe(t,e),c=hLe(s,i);nLe(c,`No group element found for id "${s}"`);const d=c.getBoundingClientRect();return(u-l)/(r?d.width:d.height)*100}(e,a,t,n,r)}function bLe(e,a,t){a.forEach(((a,n)=>{const i=e[n];nLe(i,`Panel data not found for index ${n}`);const{callbacks:r,constraints:o,id:s}=i,{collapsedSize:l=0,collapsible:u}=o,c=t[s];if(null==c||a!==c){t[s]=a;const{onCollapse:e,onExpand:n,onResize:i}=r;i&&i(a,c),u&&(e||n)&&(!n||null!=c&&!rLe(c,l)||rLe(a,l)||n(),!e||null!=c&&rLe(c,l)||!rLe(a,l)||e())}}))}function kLe(e,a){if(e.length!==a.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!=a[t])return!1;return!0}function SLe(e){try{if("undefined"==typeof localStorage)throw new Error("localStorage not supported in this environment");e.getItem=e=>localStorage.getItem(e),e.setItem=(e,a)=>{localStorage.setItem(e,a)}}catch(a){e.getItem=()=>null,e.setItem=()=>{}}}function wLe(e){return`react-resizable-panels:${e}`}function ALe(e){return e.map((e=>{const{constraints:a,id:t,idIsFromProps:n,order:i}=e;return n?t:i?`${i}:${JSON.stringify(a)}`:JSON.stringify(a)})).sort(((e,a)=>e.localeCompare(a))).join(",")}function CLe(e,a){try{const t=wLe(e),n=a.getItem(t);if(n){const e=JSON.parse(n);if("object"==typeof e&&null!=e)return e}}catch(t){}return null}function MLe(e,a,t,n,i){var r;const o=wLe(e),s=ALe(a),l=null!==(r=CLe(e,i))&&void 0!==r?r:{};l[s]={expandToSizes:Object.fromEntries(t.entries()),layout:n};try{i.setItem(o,JSON.stringify(l))}catch(u){}}function TLe({layout:e,panelConstraints:a}){const t=[...e],n=t.reduce(((e,a)=>e+a),0);if(t.length!==a.length)throw Error(`Invalid ${a.length} panel layout: ${t.map((e=>`${e}%`)).join(", ")}`);if(!oLe(n,100)&&t.length>0)for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);t[r]=100/n*e}let i=0;for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);const n=sLe({panelConstraints:a,panelIndex:r,size:e});e!=n&&(i+=e-n,t[r]=n)}if(!oLe(i,0))for(let r=0;r<a.length;r++){const e=t[r];nLe(null!=e,`No layout data found for index ${r}`);const n=sLe({panelConstraints:a,panelIndex:r,size:e+i});if(e!==n&&(i-=n-e,t[r]=n,oLe(i,0)))break}return t}const xLe={getItem:e=>(SLe(xLe),xLe.getItem(e)),setItem:(e,a)=>{SLe(xLe),xLe.setItem(e,a)}},NLe={};function ELe({autoSaveId:e=null,children:a,className:n="",direction:i,forwardedRef:r,id:o=null,onLayout:s=null,keyboardResizeBy:l=null,storage:u=xLe,style:c,tagName:d="div",...m}){const h=kPe(o),p=t.useRef(null),[g,f]=t.useState(null),[v,y]=t.useState([]),b=function(){const[e,a]=t.useState(0);return t.useCallback((()=>a((e=>e+1))),[])}(),k=t.useRef({}),S=t.useRef(new Map),w=t.useRef(0),A=t.useRef({autoSaveId:e,direction:i,dragState:g,id:h,keyboardResizeBy:l,onLayout:s,storage:u}),C=t.useRef({layout:v,panelDataArray:[],panelDataArrayChanged:!1});t.useRef({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),t.useImperativeHandle(r,(()=>({getId:()=>A.current.id,getLayout:()=>{const{layout:e}=C.current;return e},setLayout:e=>{const{onLayout:a}=A.current,{layout:t,panelDataArray:n}=C.current,i=TLe({layout:e,panelConstraints:n.map((e=>e.constraints))});fLe(t,i)||(y(i),C.current.layout=i,a&&a(i),bLe(n,i,k.current))}})),[]),fPe((()=>{A.current.autoSaveId=e,A.current.direction=i,A.current.dragState=g,A.current.id=h,A.current.onLayout=s,A.current.storage=u})),gLe({committedValuesRef:A,eagerValuesRef:C,groupId:h,layout:v,panelDataArray:C.current.panelDataArray,setLayout:y,panelGroupElement:p.current}),t.useEffect((()=>{const{panelDataArray:a}=C.current;if(e){if(0===v.length||v.length!==a.length)return;let t=NLe[e];null==t&&(t=function(e,a=10){let t=null;return(...n)=>{null!==t&&clearTimeout(t),t=setTimeout((()=>{e(...n)}),a)}}(MLe,100),NLe[e]=t);const n=[...a],i=new Map(S.current);t(e,n,i,v,u)}}),[e,v,u]),t.useEffect((()=>{}));const M=t.useCallback((e=>{const{onLayout:a}=A.current,{layout:t,panelDataArray:n}=C.current;if(e.constraints.collapsible){const i=n.map((e=>e.constraints)),{collapsedSize:r=0,panelSize:o,pivotIndices:s}=PLe(n,e,t);if(nLe(null!=o,`Panel size not found for panel "${e.id}"`),!rLe(o,r)){S.current.set(e.id,o);const l=lLe({delta:jLe(n,e)===n.length-1?o-r:r-o,initialLayout:t,panelConstraints:i,pivotIndices:s,prevLayout:t,trigger:"imperative-api"});kLe(t,l)||(y(l),C.current.layout=l,a&&a(l),bLe(n,l,k.current))}}}),[]),T=t.useCallback(((e,a)=>{const{onLayout:t}=A.current,{layout:n,panelDataArray:i}=C.current;if(e.constraints.collapsible){const r=i.map((e=>e.constraints)),{collapsedSize:o=0,panelSize:s=0,minSize:l=0,pivotIndices:u}=PLe(i,e,n),c=null!=a?a:l;if(rLe(s,o)){const a=S.current.get(e.id),o=null!=a&&a>=c?a:c,l=lLe({delta:jLe(i,e)===i.length-1?s-o:o-s,initialLayout:n,panelConstraints:r,pivotIndices:u,prevLayout:n,trigger:"imperative-api"});kLe(n,l)||(y(l),C.current.layout=l,t&&t(l),bLe(i,l,k.current))}}}),[]),x=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{panelSize:n}=PLe(t,e,a);return nLe(null!=n,`Panel size not found for panel "${e.id}"`),n}),[]),N=t.useCallback(((e,a)=>{const{panelDataArray:t}=C.current,n=jLe(t,e);return function({defaultSize:e,dragState:a,layout:t,panelData:n,panelIndex:i,precision:r=3}){const o=t[i];let s;return s=null==o?null!=e?e.toPrecision(r):"1":1===n.length?"1":o.toPrecision(r),{flexBasis:0,flexGrow:s,flexShrink:1,overflow:"hidden",pointerEvents:null!==a?"none":void 0}}({defaultSize:a,dragState:g,layout:v,panelData:t,panelIndex:n})}),[g,v]),E=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{collapsedSize:n=0,collapsible:i,panelSize:r}=PLe(t,e,a);return nLe(null!=r,`Panel size not found for panel "${e.id}"`),!0===i&&rLe(r,n)}),[]),_=t.useCallback((e=>{const{layout:a,panelDataArray:t}=C.current,{collapsedSize:n=0,collapsible:i,panelSize:r}=PLe(t,e,a);return nLe(null!=r,`Panel size not found for panel "${e.id}"`),!i||iLe(r,n)>0}),[]),j=t.useCallback((e=>{const{panelDataArray:a}=C.current;a.push(e),a.sort(((e,a)=>{const t=e.order,n=a.order;return null==t&&null==n?0:null==t?-1:null==n?1:t-n})),C.current.panelDataArrayChanged=!0,b()}),[b]);fPe((()=>{if(C.current.panelDataArrayChanged){C.current.panelDataArrayChanged=!1;const{autoSaveId:e,onLayout:a,storage:t}=A.current,{layout:n,panelDataArray:i}=C.current;let r=null;if(e){const a=function(e,a,t){var n,i;return null!==(i=(null!==(n=CLe(e,t))&&void 0!==n?n:{})[ALe(a)])&&void 0!==i?i:null}(e,i,t);a&&(S.current=new Map(Object.entries(a.expandToSizes)),r=a.layout)}null==r&&(r=function({panelDataArray:e}){const a=Array(e.length),t=e.map((e=>e.constraints));let n=0,i=100;for(let r=0;r<e.length;r++){const e=t[r];nLe(e,`Panel constraints not found for index ${r}`);const{defaultSize:o}=e;null!=o&&(n++,a[r]=o,i-=o)}for(let r=0;r<e.length;r++){const o=t[r];nLe(o,`Panel constraints not found for index ${r}`);const{defaultSize:s}=o;if(null!=s)continue;const l=i/(e.length-n);n++,a[r]=l,i-=l}return a}({panelDataArray:i}));const o=TLe({layout:r,panelConstraints:i.map((e=>e.constraints))});fLe(n,o)||(y(o),C.current.layout=o,a&&a(o),bLe(i,o,k.current))}})),fPe((()=>{const e=C.current;return()=>{e.layout=[]}}),[]);const P=t.useCallback((e=>{let a=!1;const t=p.current;if(t){"rtl"===window.getComputedStyle(t,null).getPropertyValue("direction")&&(a=!0)}return function(t){t.preventDefault();const n=p.current;if(!n)return()=>null;const{direction:i,dragState:r,id:o,keyboardResizeBy:s,onLayout:l}=A.current,{layout:u,panelDataArray:c}=C.current,{initialLayout:d}=null!=r?r:{},m=mLe(o,e,n);let h=yLe(t,e,i,r,s,n);const g="horizontal"===i;g&&a&&(h=-h);const f=lLe({delta:h,initialLayout:null!=d?d:u,panelConstraints:c.map((e=>e.constraints)),pivotIndices:m,prevLayout:u,trigger:xPe(t)?"keyboard":"mouse-or-touch"}),v=!kLe(u,f);(NPe(t)||EPe(t))&&w.current!=h&&(w.current=h,QPe(e,v||0===h?0:g?h<0?zPe:OPe:h<0?IPe:KPe)),v&&(y(f),C.current.layout=f,l&&l(f),bLe(c,f,k.current))}}),[]),L=t.useCallback(((e,a)=>{const{onLayout:t}=A.current,{layout:n,panelDataArray:i}=C.current,r=i.map((e=>e.constraints)),{panelSize:o,pivotIndices:s}=PLe(i,e,n);nLe(null!=o,`Panel size not found for panel "${e.id}"`);const l=lLe({delta:jLe(i,e)===i.length-1?o-a:a-o,initialLayout:n,panelConstraints:r,pivotIndices:s,prevLayout:n,trigger:"imperative-api"});kLe(n,l)||(y(l),C.current.layout=l,t&&t(l),bLe(i,l,k.current))}),[]),B=t.useCallback(((e,a)=>{const{layout:t,panelDataArray:n}=C.current,{collapsedSize:i=0,collapsible:r}=a,{collapsedSize:o=0,collapsible:s,maxSize:l=100,minSize:u=0}=e.constraints,{panelSize:c}=PLe(n,e,t);null!=c&&(r&&s&&rLe(c,i)?rLe(i,o)||L(e,o):c<u?L(e,u):c>l&&L(e,l))}),[L]),R=t.useCallback(((e,a)=>{const{direction:t}=A.current,{layout:n}=C.current;if(!p.current)return;const i=pLe(e,p.current);nLe(i,`Drag handle element not found for id "${e}"`);const r=vLe(t,a);f({dragHandleId:e,dragHandleRect:i.getBoundingClientRect(),initialCursorPosition:r,initialLayout:n})}),[]),D=t.useCallback((()=>{f(null)}),[]),z=t.useCallback((e=>{const{panelDataArray:a}=C.current,t=jLe(a,e);t>=0&&(a.splice(t,1),delete k.current[e.id],C.current.panelDataArrayChanged=!0,b())}),[b]),O=t.useMemo((()=>({collapsePanel:M,direction:i,dragState:g,expandPanel:T,getPanelSize:x,getPanelStyle:N,groupId:h,isPanelCollapsed:E,isPanelExpanded:_,reevaluatePanelConstraints:B,registerPanel:j,registerResizeHandle:P,resizePanel:L,startDragging:R,stopDragging:D,unregisterPanel:z,panelGroupElement:p.current})),[M,g,i,T,x,N,h,E,_,B,j,P,L,R,D,z]);return t.createElement(nPe.Provider,{value:O},t.createElement(d,{...m,children:a,className:n,id:o,ref:p,style:{...{display:"flex",flexDirection:"horizontal"===i?"row":"column",height:"100%",overflow:"hidden",width:"100%"},...c},[iPe]:"",[rPe]:i,[oPe]:h}))}const _Le=t.forwardRef(((e,a)=>t.createElement(ELe,{...e,forwardedRef:a})));function jLe(e,a){return e.findIndex((e=>e===a||e.id===a.id))}function PLe(e,a,t){const n=jLe(e,a);return{...a.constraints,panelSize:t[n],pivotIndices:n===e.length-1?[n-1,n]:[n,n+1]}}function LLe({children:e=null,className:a="",disabled:n=!1,hitAreaMargins:i,id:r,onBlur:o,onClick:s,onDragging:l,onFocus:u,onPointerDown:c,onPointerUp:d,style:m={},tabIndex:h=0,tagName:p="div",...g}){var f,v;const y=t.useRef(null),b=t.useRef({onClick:s,onDragging:l,onPointerDown:c,onPointerUp:d});t.useEffect((()=>{b.current.onClick=s,b.current.onDragging=l,b.current.onPointerDown=c,b.current.onPointerUp=d}));const k=t.useContext(nPe);if(null===k)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:S,groupId:w,registerResizeHandle:A,startDragging:C,stopDragging:M,panelGroupElement:T}=k,x=kPe(r),[N,E]=t.useState("inactive"),[_,j]=t.useState(!1),[P,L]=t.useState(null),B=t.useRef({state:N});fPe((()=>{B.current.state=N})),t.useEffect((()=>{if(n)L(null);else{const e=A(x);L((()=>e))}}),[n,x,A]);const R=null!==(f=null==i?void 0:i.coarse)&&void 0!==f?f:15,D=null!==(v=null==i?void 0:i.fine)&&void 0!==v?v:5;t.useEffect((()=>{if(n||null==P)return;const e=y.current;nLe(e,"Element ref not attached");let a=!1;return function(e,a,t,n,i){var r;const{ownerDocument:o}=a,s={direction:t,element:a,hitAreaMargins:n,setResizeHandlerState:i},l=null!==(r=VPe.get(o))&&void 0!==r?r:0;return VPe.set(o,l+1),UPe.add(s),aLe(),function(){var a;JPe.delete(e),UPe.delete(s);const t=null!==(a=VPe.get(o))&&void 0!==a?a:1;if(VPe.set(o,t-1),aLe(),1===t&&VPe.delete(o),FPe.includes(s)){const e=FPe.indexOf(s);e>=0&&FPe.splice(e,1),XPe(),i("up",!0,null)}}}(x,e,S,{coarse:R,fine:D},((e,t,n)=>{if(t)switch(e){case"down":{E("drag"),a=!1,nLe(n,'Expected event to be defined for "down" action'),C(x,n);const{onDragging:e,onPointerDown:t}=b.current;null==e||e(!0),null==t||t();break}case"move":{const{state:e}=B.current;a=!0,"drag"!==e&&E("hover"),nLe(n,'Expected event to be defined for "move" action'),P(n);break}case"up":{E("hover"),M();const{onClick:e,onDragging:t,onPointerUp:n}=b.current;null==t||t(!1),null==n||n(),a||null==e||e();break}}else E("inactive")}))}),[R,S,n,D,A,x,P,C,M]),function({disabled:e,handleId:a,resizeHandler:n,panelGroupElement:i}){t.useEffect((()=>{if(e||null==n||null==i)return;const t=pLe(a,i);if(null==t)return;const r=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),n(e);break;case"F6":{e.preventDefault();const n=t.getAttribute(oPe);nLe(n,`No group element found for id "${n}"`);const r=cLe(n,i),o=dLe(n,a,i);nLe(null!==o,`No resize element found for id "${a}"`),r[e.shiftKey?o>0?o-1:r.length-1:o+1<r.length?o+1:0].focus();break}}};return t.addEventListener("keydown",r),()=>{t.removeEventListener("keydown",r)}}),[i,e,a,n])}({disabled:n,handleId:x,resizeHandler:P,panelGroupElement:T});return t.createElement(p,{...g,children:e,className:a,id:r,onBlur:()=>{j(!1),null==o||o()},onFocus:()=>{j(!0),null==u||u()},ref:y,role:"separator",style:{touchAction:"none",userSelect:"none",...m},tabIndex:h,[rPe]:S,[oPe]:w,[dPe]:"",[mPe]:"drag"===N?"pointer":_?"keyboard":void 0,[hPe]:!n,[pPe]:x,[gPe]:N})}ELe.displayName="PanelGroup",_Le.displayName="forwardRef(PanelGroup)",LLe.displayName="PanelResizeHandle";const BLe=({className:e,...t})=>a.jsx(_Le,{className:Si("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...t}),RLe=wPe,DLe=({withHandle:e,className:t,...n})=>a.jsx(LLe,{className:Si("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&a.jsx("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:a.jsx(F,{className:"h-2.5 w-2.5"})})}),zLe=({copyText:e})=>a.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),OLe="rgba(245, 246, 247, 1)",ILe={[EE.SEND_COMMUNICATION]:{color:{bg:OLe},clickable:!0},[EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME]:{color:{bg:OLe},clickable:!1},[EE.WAIT_UNTIL_NEXT_OCCURRENCE]:{color:{bg:OLe},clickable:!1},[EE.WAIT_FOR_DURATION]:{color:{bg:OLe},clickable:!1},[EE.CHECK_SEGMENT_MEMBERSHIP]:{color:{bg:OLe},clickable:!1}},KLe=e=>{switch(e.actionType){case EE.SEND_COMMUNICATION:return"Send Email & SMS";case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:return"Wait Until (Skip if Passed)";case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return"Wait Until (Always)";case EE.WAIT_FOR_DURATION:return"Wait For";case EE.CHECK_SEGMENT_MEMBERSHIP:return`Check ${e.segmentLanguage} Membership`;default:return"Unknown"}},HLe=({children:e,onClick:t,iconBgColor:n,iconStrokeColor:i,Icon:r,disabled:o=!1,selected:s=!1})=>{const l=r;return a.jsxs(tS.div,{layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeInOut"},style:{backgroundColor:s?n:OLe},onClick:t,className:qa("flex gap-2 items-center rounded-md transition-colors group","p-2 border-2 border-transparent overflow-hidden",!o&&"hover:border-primary cursor-pointer",s&&"border-primary"),children:[a.jsx("div",{className:qa("bg-purple-50 rounded-md p-2 flex items-center justify-center w-8 h-8 flex-shrink-0 transition-colors",!o&&"group-hover/trigger-audience:bg-background",n),children:a.jsx(l,{className:qa("w-4 h-4 stroke-purple-500 group-hover/trigger-audience:fill-purple-50 transition-colors",i)})}),e]})},FLe=({segmentName:e,segmentId:t,onClick:n,variant:i="default"})=>{const r=t&&n,o=`inline-flex items-center border rounded-md px-1.5 py-0.5 text-xs font-medium shadow-sm transition-colors ${(()=>{switch(i){case"included":return"bg-blue-50 border-blue-200 text-blue-700 hover:bg-blue-100 hover:border-blue-300";case"excluded":return"bg-red-50 border-red-200 text-red-700 hover:bg-red-100 hover:border-red-300";default:return"bg-white border-gray-200 text-gray-700 hover:bg-gray-50 hover:border-gray-300"}})()}`;return r?a.jsx("button",{onClick:()=>{n(t)},className:`${o} cursor-pointer`,children:e}):a.jsx("span",{className:o,children:e})},GLe=()=>{const e=tle(),{setActionId:n,state:{selectedActionId:i}}=t.useContext(mse),[r,o]=t.useState(!1),[s,l]=t.useState(),{segments:u}=Zse(),c=1===e?.includeSegmentIds?.length&&0===e?.excludeSegmentIds?.length?e.includeSegmentIds[0]:"",{segment:d}=$se(c),m=e=>{l(e),o(!0)};if(!e||!u)return null;const h=e.includeSegmentIds,p=e.excludeSegmentIds;let g,f=!0;return d?.type===Jse.ALL_USERS?(g=`Send to all ${PN("engage:user",{count:2})}`,f=!1):d?.type===Jse.ONE_OFF?(g=`Send to specific ${PN("engage:user",{count:2})}`,f=!1):(g=`Send to all ${PN("engage:user",{count:2})} in ${1===h.length?"this":"these"} ${PN("engage:segment",{count:h.length}).toLowerCase()}`,f=!0),a.jsxs("div",{id:"automation-audience-selector",children:[a.jsx(HLe,{selected:i===hve.EditAudience,iconBgColor:"bg-purple-50",iconStrokeColor:"stroke-purple-500",onClick:()=>{n(hve.EditAudience)},Icon:OM.AudienceIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:"Audience"}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(zLe,{copyText:g}),f&&a.jsx("div",{className:"flex gap-1",children:h.map((e=>{const t=u?.find((a=>a.id===e));return t?a.jsx(FLe,{segmentName:t.name,segmentId:e,onClick:m,variant:"included"},e):null}))})]}),p&&p.length>0&&a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(zLe,{copyText:`Excluding ${1===p.length?"this":"these"} ${PN("engage:segment",{count:p.length}).toLowerCase()}`}),a.jsx("div",{className:"flex gap-1",children:p.map((e=>{const t=u?.find((a=>a.id===e));return t?a.jsx(FLe,{segmentName:t.name,segmentId:e,onClick:m,variant:"excluded"},e):null}))})]})]})]})}),a.jsx($_e,{open:r,setOpen:o,segmentId:s,onSegmentUpdated:()=>{o(!1)},viewOnly:!0})]})},VLe=e=>{if(-1===e)return"never run this automation again";if(e<=0)return null;const a=Math.floor(e/86400),t=Math.floor(e%86400/3600),n=Math.floor(e%3600/60),i=e%60,r=[];if(a>0&&r.push(`${a} ${1===a?"day":"days"}`),t>0&&r.push(`${t} ${1===t?"hour":"hours"}`),n>0&&r.push(`${n} ${1===n?"minute":"minutes"}`),i>0&&0===a&&0===t&&r.push(`${i} ${1===i?"second":"seconds"}`),0===r.length)return null;if(1===r.length)return r[0];if(2===r.length)return`${r[0]} and ${r[1]}`;const o=r.pop();return`${r.join(", ")}, and ${o}`},JLe=({isDetailsVisible:e=!1})=>{const n=tle(),{setActionId:i,state:{selectedActionId:r}}=t.useContext(mse),{segments:o}=Zse(),[s,l]=t.useState(!1),[u,c]=t.useState(),d=PN(n?.triggerType===ME.TRIGGER_BASED?"engage:automation":"engage:broadcast"),m=`Start this ${d?.toLowerCase()}`,h=`Start this ${PN("engage:automation").toLowerCase()}`,p=e=>{c(e),l(!0)};if(!n||!o)return null;return a.jsxs(a.Fragment,{children:[(()=>{switch(n.triggerType){case ME.DATE_BASED:{if(!n.triggerMetadata||!("monthToTrigger"in n.triggerMetadata)||!("dayToTrigger"in n.triggerMetadata))return null;const e=n.triggerMetadata?.monthToTrigger,t=n.triggerMetadata?.dayToTrigger;let i="Date not set";if(e&&t){i=`${new Date(2024,e-1,t).toLocaleDateString("en-US",{month:"long"})} ${t}`}return a.jsx(HLe,{iconBgColor:"bg-amber-100",disabled:!0,iconStrokeColor:"stroke-amber-500",onClick:()=>{},Icon:OM.TriggerIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:h}),a.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:a.jsx(zLe,{copyText:n.triggerMetadata.customTriggerCopy??`Every year on ${i}`})})]})})}case ME.TRIGGER_BASED:{if(n.triggerMetadata&&n.triggerMetadata.triggerType!==ME.TRIGGER_BASED||!n.triggerMetadata||n.triggerMetadata.eventName!==TE.USER_ENTERS_SEGMENT||!n.triggerMetadata.eventFilter.segment_id)return null;const t=n.triggerMetadata.eventFilter.segment_id,i=o.find((e=>e.id===t))?.name;return i?a.jsx(HLe,{iconBgColor:"bg-amber-100",disabled:!0,iconStrokeColor:"stroke-amber-500",onClick:()=>{},Icon:OM.TriggerIcon,children:a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:m}),a.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:n.triggerMetadata.customTriggerCopy?a.jsx(zLe,{copyText:n.triggerMetadata.customTriggerCopy}):a.jsxs(a.Fragment,{children:[a.jsx(zLe,{copyText:`When ${PN("engage:user").toLowerCase()} joins the`}),a.jsx(FLe,{segmentName:i,segmentId:t,onClick:p})]})}),e&&void 0!==n.triggerMetadata.cooldownSeconds&&n.triggerMetadata.cooldownSeconds>0?a.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[a.jsx(zLe,{copyText:`${PN("engage:segment",{count:1}).toLowerCase()} and wait at least`}),a.jsx("span",{className:"text-sm font-medium text-foreground",children:VLe(n.triggerMetadata.cooldownSeconds)}),a.jsx(Rx,{title:"Why wait between runs?",description:`This prevents the same customer from getting the same automation multiple times. For example, if someone meets the criteria today, they won't start this ${PN("engage:automation").toLowerCase()} again for ${VLe(n.triggerMetadata.cooldownSeconds)}, even if they leave and rejoin the criteria.`,size:"small",iconColor:"text-gray-400"})]}):a.jsx(zLe,{copyText:PN("engage:segment",{count:1}).toLowerCase()})]})}):null}case ME.ONE_TIME:{const e=!n.triggerMetadata||!("scheduledAt"in n.triggerMetadata);return a.jsx("div",{id:"automation-edit-trigger-button",children:a.jsxs(HLe,{iconBgColor:"bg-amber-100",iconStrokeColor:"stroke-amber-500",onClick:()=>{i(hve.EditTime)},selected:r===hve.EditTime,Icon:OM.TriggerIcon,children:[a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx(j_,{children:m}),a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsx(zLe,e?{copyText:`Click to set the date and time for this ${PN("engage:broadcast")}`}:{copyText:"Bulk send at"}),!1===e&&n.triggerMetadata&&"scheduledAt"in n.triggerMetadata&&n.triggerMetadata.scheduledAt&&a.jsx("div",{className:"text-xs font-medium",children:a.jsx(FLe,{segmentName:"now"===n.triggerMetadata.scheduledAt?"Immediately":kce(new Date(n.triggerMetadata.scheduledAt),"h:mma MM/dd/yy")})})]})]}),a.jsx("div",{className:"",children:e&&a.jsx(Rx,{title:`Please select a time before sending this ${PN("engage:broadcast")}.`,alertText:`A scheduled time is needed before sending this ${PN("engage:broadcast")}.`,Icon:OM.AlertTriangleIcon,iconColor:"text-red-500",size:"large"})})]})})}default:throw The(n.triggerType,ME)}})(),a.jsx($_e,{open:s,setOpen:l,segmentId:u,onSegmentUpdated:()=>{l(!1)},viewOnly:!0})]})},ULe=({channelEnabled:e,className:t})=>a.jsx("span",{className:qa("text-xs font-medium",e?"text-green-700":"text-gray-500",t),children:e?"Enabled":"Skipped"}),WLe=(e,a)=>{if(e.length<=a)return e;const t=/\{\{[^}]+\}\}/g,n=[];let i;for(;null!==(i=t.exec(e));)n.push({start:i.index,end:i.index+i[0].length,field:i[0]});let r=a;for(const o of n){if(r>o.start&&r<o.end){r=o.start;break}if(r===o.start){const a=e.lastIndexOf(" ",o.start-1);r=a>0?a:o.start;break}}return 0===r?n.length>0?n[0].field:e.substring(0,Math.min(a,e.length)):e.substring(0,r)+"..."},qLe=({type:e,actionId:n})=>{const{state:{selectedSubStepType:i},setSelectedSubStepType:r,setActionId:o}=t.useContext(mse),s=tle(),{communicationGroup:l}=ile(),{getMergeFields:u,isGetting:c}=WN(l?.id??void 0,s?.id??void 0),d=i===e,m=(()=>{if(!l)return!1;switch(e){case pve.EMAIL:return!!l.emailChannelSenderId;case pve.SMS:return!!l.smsChannelSenderId}})(),h=(()=>{if(!l)return"Need to select a channel";switch(e){case pve.EMAIL:return l.emailChannelSenderId?l.emailHtmlBody?!!l.emailSubject||"Please add a subject to the email":"Please add content to the email":"Please select a email sender";case pve.SMS:return l.smsChannelSenderId?!!l.smsMessageBody||"Please add content to the sms":"Please select a sms sender"}})();return a.jsx(tS.div,{id:`automation-substep-${e}-${n}`,layout:!0,initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.15,ease:"easeInOut"},className:qa("p-2 pr-3 flex gap-2 items-center rounded-md transition-colors cursor-pointer group","border-2 border-transparent",d&&"border-primary","hover:border-muted-foreground/30"),style:{backgroundColor:d?"#f5f6f7":"hsl(var(--reach-muted))"},onClick:a=>{a.target.closest("button")||(o(n),r(e))},children:a.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[a.jsx("div",{className:"rounded-md p-1.5 flex items-center justify-center w-6 h-6 flex-shrink-0 bg-white border",children:((e,t)=>{switch(e){case pve.EMAIL:return a.jsx(OM.EmailIcon,{className:qa("w-6 h-6",t?"text-primary":"text-gray-400")});case pve.SMS:return a.jsx(OM.SmsIcon,{className:qa("w-6 h-6",t?"text-primary":"text-gray-400")})}})(e,d)}),a.jsxs("div",{className:"flex flex-col gap-0.5 flex-1",children:[a.jsx("div",{style:{color:d?"#3b82f6":"#64748b"},children:a.jsx(j_,{className:"text-xs",children:(()=>{switch(e){case pve.EMAIL:return"Email";case pve.SMS:return"SMS"}})()})}),m&&a.jsx("div",{className:"text-[10px] font-medium text-muted-foreground",children:e===pve.EMAIL?c?a.jsx("span",{className:"text-[10px] font-medium text-muted-foreground",children:"..."}):a.jsx(bNe,{content:l?.emailSubject||"No subject set",mergeFieldsResponse:u,variant:"minimal",className:"text-[10px] font-medium text-muted-foreground"}):c?a.jsx("span",{className:"text-[10px] font-medium text-muted-foreground",children:"..."}):a.jsx(bNe,{content:l?.smsMessageBody?WLe(l.smsMessageBody,40):"No message set",mergeFieldsResponse:u,variant:"minimal",className:"text-[10px] font-medium text-muted-foreground"})}),!0!==h&&m&&a.jsx("div",{id:`substep-validation-${e}-${n}`,className:"text-[10px] text-amber-600 font-medium",children:h})]}),a.jsx("div",{className:"ml-auto",children:a.jsx("div",{id:`substep-status-${e}-${n}`,className:qa("px-2 py-0.5 rounded-full text-[10px] font-medium",m?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500"),children:a.jsx(ULe,{channelEnabled:m})})})]})})},ZLe=(e,a)=>{switch(e){case EE.SEND_COMMUNICATION:return a||"Send Communication";case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:return"Wait (Skip if Time Has Already Passed Today)";case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return"Wait (Always Wait for Next Occurrence (even if it means waiting until tomorrow))";case EE.WAIT_FOR_DURATION:return"Wait";case EE.CHECK_SEGMENT_MEMBERSHIP:return"Check";default:throw rse(e,EE)}},$Le=e=>{switch(e){case EE.SEND_COMMUNICATION:return a.jsx(OM.CommunicationIcon,{className:"w-4 h-4"});case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:case EE.WAIT_UNTIL_NEXT_OCCURRENCE:return a.jsx(OM.WaitUntilNextFixedTimeIcon,{className:"w-4 h-4"});case EE.WAIT_FOR_DURATION:return a.jsx(OM.WaitForDurationIcon,{className:"w-4 h-4"});case EE.CHECK_SEGMENT_MEMBERSHIP:return a.jsx(OM.CheckSegmentMembershipIcon,{className:"w-4 h-4"});default:throw The(e,EE)}},YLe=e=>{if(!e||e.actionType!==EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME&&e.actionType!==EE.WAIT_UNTIL_NEXT_OCCURRENCE||!("hour"in e)||!("minute"in e)||!("timezone"in e))return null;const{hour:a,minute:t,timezone:n}=e;return`Wait until next ${`${a?.toString().padStart(2,"0")}:${t?.toString().padStart(2,"0")}`} ${n}`},QLe=e=>{if(!(e&&e.actionType===EE.WAIT_FOR_DURATION&&"days"in e&&"hours"in e&&"minutes"in e&&"seconds"in e))return null;const{days:a,hours:t,minutes:n,seconds:i}=e,r=[];if(a&&a>0&&r.push(`${a} ${1===a?PN("common:day").toLocaleLowerCase():PN("common:day",{count:2}).toLocaleLowerCase()}`),t&&t>0&&r.push(`${t} ${1===t?PN("common:hour").toLocaleLowerCase():PN("common:hour",{count:2}).toLocaleLowerCase()}`),n&&n>0&&r.push(`${n} ${1===n?PN("common:minute").toLocaleLowerCase():PN("common:minute",{count:2}).toLocaleLowerCase()}`),i&&i>0&&r.push(`${i} ${1===i?PN("common:second").toLocaleLowerCase():PN("common:second",{count:2}).toLocaleLowerCase()}`),0===r.length)return"Wait for duration";if(1===r.length)return`Wait for ${r[0]}`;if(2===r.length)return`Wait for ${r[0]} and ${r[1]}`;{const e=r.pop();return`Wait for ${r.join(", ")} and ${e}`}},XLe=({actionDataWithMetadata:e,segments:n})=>{const{actionData:i}=e,{state:{selectedActionId:r},setActionId:o,setSelectedCommunicationGroupId:s}=t.useContext(mse),[l,u]=t.useState(!1),[c,d]=t.useState(),m=e=>{d(e),u(!0)},h=t.useMemo((()=>r===i.actionMetadata.currentActionId),[r,i.actionMetadata.currentActionId]),p=ILe[i.actionType],g=p.color,f=p.clickable;return a.jsxs(tS.div,{id:`automation-step-${i.actionType}-${i.actionMetadata.currentActionId}`,layout:!0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,ease:"easeInOut"},className:qa("p-2 pr-3 flex gap-2 items-center rounded-md transition-colors cursor-pointer group"," border-2 border-transparent",h&&"border-primary",i.actionType!==EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME&&i.actionType!==EE.WAIT_UNTIL_NEXT_OCCURRENCE&&i.actionType!==EE.WAIT_FOR_DURATION&&i.actionType!==EE.CHECK_SEGMENT_MEMBERSHIP&&"hover:border-primary"),style:{backgroundColor:h?g.bg:g.bgUnselected??OLe},onClick:()=>{f&&(o(i.actionMetadata.currentActionId),i.actionType===EE.SEND_COMMUNICATION&&s(i.actionMetadata.communicationGroupId))},children:[a.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[a.jsx("div",{className:"rounded-md p-2 flex items-center justify-center w-8 h-8 flex-shrink-0 bg-white",children:$Le(i.actionType)}),a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("div",{style:{color:h?g.text:g.textUnselected},children:a.jsx(j_,{children:KLe({actionType:i.actionType,segmentLanguage:PN("engage:segment",{count:1})})})}),a.jsx("div",i.actionType===EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME||i.actionType===EE.WAIT_UNTIL_NEXT_OCCURRENCE?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:YLe(i.actionMetadata)}:i.actionType===EE.WAIT_FOR_DURATION?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:QLe(i.actionMetadata)}:i.actionType===EE.CHECK_SEGMENT_MEMBERSHIP?{className:"text-[11px] text-muted-foreground font-normal rounded bg-muted/40 w-fit max-w-full truncate",children:(()=>{const e=((e,a)=>{if(!e||e.actionType!==EE.CHECK_SEGMENT_MEMBERSHIP||!("segmentIds"in e))return null;const{segmentIds:t}=e;if(!t||0===t.length)return null;const n=t.map((e=>{const t=a.find((a=>a.id===e));return t?{id:e,name:t.name}:null})).filter((e=>Boolean(e)));return n.length>0?n:null})(i.actionMetadata,n);return e?a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"text-[11px] text-muted-foreground font-normal",children:"Check membership in"}),e.map(((e,t)=>a.jsx(FLe,{segmentName:e.name,segmentId:e.id,onClick:m},t)))]}):`Check ${PN("engage:segment",{count:1})} membership`})()}:{className:"text-xs font-medium text-muted-foreground",children:ZLe(i.actionType,i.actionMetadata.customBlockText)})]})]}),i.actionType===EE.SEND_COMMUNICATION&&a.jsx("div",{className:"flex items-center pr-2",children:a.jsx(OM.NextButton,h?{className:"w-4 h-4 text-muted-foreground rotate-90 transition-transform duration-200"}:{className:"w-4 h-4 text-muted-foreground transition-transform duration-200"})}),a.jsx($_e,{open:l,setOpen:u,segmentId:c,onSegmentUpdated:()=>{u(!1)},viewOnly:!0})]})},eBe=({hideSms:e,segments:n})=>{const{communicationGroup:i}=ile(),[r,o]=t.useState(!1),[s,l]=t.useState(void 0),u=tle(),{setActionId:c,setSelectedSubStepType:d,state:{selectedActionId:m,selectedSubStepType:h}}=t.useContext(mse);if(zE(u?.id||""),t.useEffect((()=>{if(!u)return;if(m)return;const e=u.actionData?.find((e=>e.actionType===EE.SEND_COMMUNICATION));e&&c(e.actionMetadata.currentActionId)}),[u,c,m]),t.useEffect((()=>{if(!u)return;(async()=>{const e=[];for(const a of u.actionData??[])switch(a.actionType){case EE.SEND_COMMUNICATION:{const t=await RN(a.actionMetadata.communicationGroupId);e.push({actionData:a,communicationGroup:t});break}case EE.WAIT_UNTIL_AT_LEAST_NEXT_AVAILABLE_TIME:case EE.WAIT_UNTIL_NEXT_OCCURRENCE:case EE.WAIT_FOR_DURATION:case EE.CHECK_SEGMENT_MEMBERSHIP:e.push({actionData:a});break;default:throw rse(a.actionType,EE)}l(e)})()}),[u]),t.useEffect((()=>{if(m&&s&&i&&null===h){const e=s.find((e=>e.actionData.actionMetadata.currentActionId===m));e?.actionData.actionType===EE.SEND_COMMUNICATION&&d(i?.emailChannelSenderId?pve.EMAIL:pve.SMS)}}),[m,s,d,i,h]),!u||!s)return null;const p=(e=>{const{steps:a,rootActionId:t}=e;if(!a||!t)return a??[];const n=new Map(a.map((e=>[e.actionData.actionMetadata.currentActionId,e]))),i=n.get(t);if(!i)return a;const r=[];let o=i;for(;o;){r.push(o);const e=o.actionData.actionMetadata.nextActionId;if(!e)break;o=n.get(e)}return r})({steps:s,rootActionId:u.triggerMetadata?.triggerType===ME.TRIGGER_BASED?u.triggerMetadata.rootActionId:void 0}).filter((e=>!!r||e.actionData.actionType===EE.SEND_COMMUNICATION));let g=()=>a.jsx("div",{},"empty-trigger-audience");return(r||u.triggerType===ME.ONE_TIME)&&(g=()=>a.jsxs("div",{className:"flex flex-col gap-3",children:[u.triggerType===ME.ONE_TIME&&a.jsx(GLe,{}),u.triggerType!==ME.ONE_TIME&&a.jsx(JLe,{isDetailsVisible:r})]})),a.jsxs("div",{className:"flex-1 flex flex-col gap-2 w-full overflow-visible",children:[(u.triggerType===ME.TRIGGER_BASED||u.triggerType===ME.DATE_BASED)&&a.jsxs("div",{className:"flex gap-2 items-center justify-between",children:[a.jsx("div",{className:"text-sm text-muted-foreground",children:"Messages sent in listed order"}),a.jsxs("div",{className:"flex gap-2 items-center",children:[a.jsx("div",{className:"text-sm font-medium",children:"Show all details"}),a.jsx(k_,{defaultChecked:r,onCheckedChange:()=>{o(!r)}})]})]}),a.jsx("div",{className:"flex-1 flex flex-col gap-3",children:a.jsxs(fh,{mode:"popLayout",children:[g(),p.map(((t,i)=>a.jsx(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2,delay:.05*i,ease:"easeInOut"},children:a.jsxs("div",{className:"flex flex-col gap-3",children:[a.jsx(XLe,{actionDataWithMetadata:t,segments:n}),t.actionData.actionType===EE.SEND_COMMUNICATION&&m===t.actionData.actionMetadata.currentActionId&&t.actionData.actionMetadata.currentActionId&&a.jsxs("div",{className:"flex gap-3",children:[a.jsx(tS.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.2,delay:.25*p.length,ease:"easeInOut"},className:"w-12 flex justify-end items-center",children:a.jsx("div",{className:"w-0.5 bg-muted-foreground/30 h-full rounded-full"})}),a.jsxs("div",{className:"flex flex-col gap-3 flex-1",children:[a.jsx(qLe,{type:pve.EMAIL,actionId:t.actionData.actionMetadata.currentActionId}),!e&&a.jsx(qLe,{type:pve.SMS,actionId:t.actionData.actionMetadata.currentActionId})]})]})]})},t.actionData.actionMetadata?.currentActionId??i))),u.triggerType===ME.ONE_TIME&&a.jsx("div",{className:"flex flex-col gap-3",children:a.jsx(JLe,{isDetailsVisible:r})},"one-time-trigger")]})})]})},aBe=({hideSms:e})=>{const t=tle(),{segments:n}=Zse();return a.jsx("div",t?{className:"h-full pt-4 relative",children:a.jsx("div",{className:"absolute inset-0 overflow-y-auto flex flex-col gap-3",children:a.jsx(eBe,{hideSms:e,segments:n})})}:{className:"flex h-full items-center justify-center",children:a.jsx(th,{text:[`Getting details on your ${PN("engage:automation",{count:1}).toLowerCase()}`,"Finishing up"]})})},tBe=({type:e})=>{const{communicationGroup:n}=ile(),i=tle(),{toast:r}=dS(),[o,s]=t.useState(!1),{resetCommunicationGroupToDefault:l,isPending:u}=qN(),c=e===fve.EMAIL?"Email":"SMS";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"flex items-center justify-between",children:a.jsx("div",{className:"flex items-center gap-2",children:!!n&&(n.type===mve.MANAGED&&(e===fve.SMS?n.updatedFromDefault?.text_message_body:n.updatedFromDefault?.email_text_body||n.updatedFromDefault?.email_html_body))&&a.jsx(a.Fragment,{children:u?a.jsx(th,{}):a.jsx(Xa,{variant:"outline",size:"sm",disabled:u,onClick:()=>s(!0),children:"Reset To Default"})})})}),a.jsx(wi,{open:o,onOpenChange:s,children:a.jsxs(Ti,{className:"sm:max-w-[425px]",children:[a.jsxs(xi,{children:[a.jsx(Ei,{className:"text-xl font-semibold",children:"Reset To Default"}),a.jsxs(_i,{className:"text-base text-muted-foreground",children:["Are you sure you want to reset this ",c.toLowerCase()," ","template to its default state? This action cannot be undone."]})]}),a.jsxs(Ni,{className:"flex flex-row justify-end gap-3 mt-6",children:[a.jsx(Xa,{variant:"outline",onClick:()=>s(!1),children:"Cancel"}),a.jsx(Xa,{variant:"destructive",onClick:async()=>{n&&i?l({communicationGroupId:n.id,automationId:i.id,type:e===fve.EMAIL?"email":"sms"},{onSuccess:()=>{r({title:PN("engage:success.communication_reset","Communication reset to default!")}),s(!1)},onSettled:()=>{s(!1)},onError:()=>{r({title:"Error updating",description:"Please reach out to your administrator",variant:"destructive"})}}):r({title:"Error updating",description:"Please reach out to your administrator",variant:"destructive"})},disabled:u,children:"Reset To Default"})]})]})})]})},nBe=t.forwardRef((({disableEditContent:e=!1,canEdit:t,automationStatus:n,onClick:i,tooltipTitle:r,tooltipDescription:o,className:s,asChild:l=!1,...u},c)=>{const d=(t??(void 0!==n?n===_E.DRAFT:void 0)??!1)&&!e,m="Editing is disabled",h=n!==_E.DRAFT?"To make updates, please first deactivate this automation using the toggle in the upper right corner. Once you've saved your changes, re-activate the automation.":"Editing is currently disabled.",p=a.jsxs(Xa,{ref:c,size:"sm",variant:"outline",disabled:!d,className:qa(!d&&"cursor-not-allowed",s),onClick:i,...u,children:[a.jsx(OM.EditIcon,{className:"w-3 h-3"}),"Edit"]});return d?p:a.jsx(Rx,l?{title:r??m,titleClassName:"text-sm font-medium text-left",description:o??h,asChild:!0,className:"cursor-not-allowed",children:a.jsx("span",{className:"inline-block cursor-not-allowed",children:p})}:{title:r??m,titleClassName:"text-sm font-medium text-left",description:o??h,asChild:!0,className:"cursor-not-allowed",children:a.jsx("div",{className:"inline-block cursor-not-allowed",children:p})})}));nBe.displayName="EditButton";const iBe=e=>{const{communicationGroup:a}=ile(),{updateCommunicationGroup:n,isUpdating:i}=UN(),{channelSenders:r}=DC(),{channelAccounts:o}=LC(),{data:s}=XN(),{toast:l}=dS(),u=t.useMemo((()=>r?.results?.filter((e=>e.channelSenderMetadata.userPart))||[]),[r?.results]),c=t.useMemo((()=>oE({channelSenders:r?.results??[],channelAccounts:o?.results??[],smsApplication:s})),[r?.results,o?.results,s]),d=t.useCallback((()=>{if(!a)return!1;switch(e){case pve.EMAIL:return!!a.emailChannelSenderId;case pve.SMS:return!!a.smsChannelSenderId}}),[a,e])(),m=t.useCallback((async()=>{if(a?.id&&!i)try{const t={emailChannelSenderId:a.emailChannelSenderId,smsChannelSenderId:a.smsChannelSenderId};switch(e){case pve.EMAIL:if(d&&a.emailChannelSenderId)t.emailChannelSenderId=null;else{const e=u[0];e&&(t.emailChannelSenderId=e.id)}break;case pve.SMS:if(d&&a.smsChannelSenderId)t.smsChannelSenderId=null;else{const e=c[0];e&&(t.smsChannelSenderId=e.channelSender.id)}}await n({groupId:a.id,params:t},{onError:()=>{l({title:"Error toggling channel",description:"Please contact your administrator",variant:"destructive"})}})}catch(t){}}),[a,d,e,n,i,u,c,l]);return{channelEnabled:d,isUpdating:i,handleToggleChannel:m,availableEmailSenders:u,availableSmsChannelSenders:c}},rBe="reach-styles-module__base___r-a1U",oBe=Ya([rBe],{variants:{variant:{default:"reach-styles-module__default___vu2Rt",primary:"reach-styles-module__primary___mGKjo",success:"reach-styles-module__success___xn1Y1",warning:"reach-styles-module__warning___jdyU9",error:"reach-styles-module__error___Z-3IS"},size:{default:"reach-styles-module__sizeDefault___oS6W2",sm:"reach-styles-module__sizeSm___GI826",lg:"reach-styles-module__sizeLg___J--WF"},position:{default:"reach-styles-module__positionDefault___visr6",top:"reach-styles-module__positionTop___y6h-n",bottom:"reach-styles-module__positionBottom___vYLkd",inline:"reach-styles-module__positionInline___NjZsw"}},defaultVariants:{variant:"default",size:"default",position:"default"}}),sBe=({channelType:e,title:t,description:n,className:i,onEnable:r,isEnabling:o=!1})=>{const s=("email"===e?"Email":"SMS")+" Channel Disabled",l=`Enable the ${e} channel to send messages.`,u=tle(),c=u?.status===_E.DRAFT,d=a.jsx(Xa,{size:"sm",onClick:r,disabled:o||!c,className:"bg-amber-600 hover:bg-amber-700 text-white ml-4 shrink-0",children:o?"Enabling...":"Enable "+("email"===e?"Email":"SMS")});return a.jsx("div",{className:"px-4 w-full",children:a.jsx("div",{className:"max-w-2xl mx-auto",children:a.jsx("div",{id:`channel-disabled-warning-${e}`,className:qa(oBe({variant:"warning",size:"default",position:"inline"}),rBe,"p-4 relative mb-0",i),role:"alert",children:a.jsxs("div",{className:"flex items-start",children:[a.jsx("div",{className:"mr-3 shrink-0 pt-0.5",children:a.jsx(_e,{className:"h-4 w-4"})}),a.jsx("div",{className:"flex-grow",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex-1",children:[a.jsx("h5",{className:"text-sm font-medium mb-1",children:t||s}),a.jsx("div",{className:"text-sm text-muted-foreground",children:n||l})]}),r&&a.jsx(a.Fragment,{children:c?d:a.jsx(Rx,{alertText:"You can only change the channel if you are in the draft state.",asChild:!1,className:"cursor-not-allowed",children:d})})]})})]})})})})},lBe=({channelEnabled:e,isUpdating:t,onToggle:n,channelType:i})=>{const r=tle();return a.jsxs("div",{id:("email"===i?"email":"sms")+"-channel-toggle",className:"flex items-center gap-2",children:[a.jsx(k_,{checked:e,onCheckedChange:()=>{t||n()},disabled:t||(!r||r.status!==_E.DRAFT),className:"data-[state=checked]:bg-green-500 data-[state=unchecked]:bg-gray-300"}),a.jsx(ULe,{channelEnabled:e})]})},uBe=({label:e,value:t,className:n})=>a.jsxs("div",{className:"flex items-center gap-1 min-w-0 max-w-full flex-shrink",children:[a.jsxs("span",{className:"sr-only",children:[e,":"]}),a.jsx("span",{className:qa("truncate",n),children:t})]}),cBe=({mergeFieldsResponse:e,disableEditContent:n})=>{const i=tle(),{communicationGroup:r,isGetting:o}=ile(),s=(()=>{const{channelSenders:e}=DC(),{channelAccounts:a}=LC();return t.useMemo((()=>e?.results&&a?.results?e.results.filter((e=>e.channelSenderMetadata.userPart)).flatMap((e=>{const t=a.results.find((a=>a.id===e.channelAccountId));return!t?.channelAccountMetadata||t.channelAccountMetadata.type!==BC.REACH_MANAGED&&t.channelAccountMetadata.type!==BC.REACH_MANAGED_SES?[]:[{channelSenderId:e.id,fullDomain:`${e.channelSenderMetadata.userPart}@${e.channelSenderMetadata.baseDomain}`,channelSenderMetadata:e.channelSenderMetadata}]})):[]),[e?.results,a?.results])})(),{updateCommunicationGroup:l}=UN(),{channelSenders:u}=DC(),[c,d]=t.useState(!1),{state:{replyToSettingsText:m,replyToSettingsLink:h,fromNameSettingsText:p,fromNameSettingsLink:g}}=t.useContext(qoe),[f,v]=t.useState(!1),[y,b]=t.useState(r?.emailChannelSenderId||null),[k,S]=t.useState(r?.emailSubject||null),[w,A]=t.useState(r?.emailPreviewText||null),[C,M]=t.useState(""),[T,x]=t.useState(""),[N,E]=t.useState(!0),[_,j]=t.useState(!1),[P,L]=t.useState(null),B=t.useRef(null),R=Xxe(k,500),D=Xxe(w,500);if(t.useEffect((()=>{if(u?.results&&y){const e=u.results.find((e=>e.id===y));e&&(_&&!N||x(e.channelSenderMetadata.emailReplyTo),N&&M(e.channelSenderMetadata.emailFromName),E(!1))}}),[u?.results,y,_,N]),t.useEffect((()=>{r&&!B.current&&(B.current={emailChannelSenderId:r.emailChannelSenderId,emailSubject:r.emailSubject,emailPreviewText:r.emailPreviewText||null})}),[r]),t.useEffect((()=>{if(y&&R&&r?.id&&!N&&!o&&B.current){const e={emailChannelSenderId:y,emailSubject:R,emailPreviewText:D||null};if((e.emailChannelSenderId!==B.current.emailChannelSenderId||e.emailSubject!==B.current.emailSubject||e.emailPreviewText!==B.current.emailPreviewText)&&(e.emailChannelSenderId!==r.emailChannelSenderId||e.emailSubject!==r.emailSubject||e.emailPreviewText!==(r.emailPreviewText||null))){v(!0);(async()=>{l({groupId:r.id,params:{emailChannelSenderId:y,emailSubject:R,...D&&{emailPreviewText:D}}},{onError:e=>{},onSettled:()=>{v(!1)}})})()}}}),[y,R,D,r?.id,r?.emailChannelSenderId,r?.emailSubject,r?.emailPreviewText,l,N,o]),!i||!r||!r.emailChannelSenderId)return null;const z=s.find((e=>e.channelSenderId===r.emailChannelSenderId)),O=C||z?.fullDomain,I=k,K=w;return a.jsx("div",{className:"w-full bg-background rounded-lg p-3",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-2 overflow-hidden flex-1",children:[O&&a.jsx(uBe,{label:"From",value:O,className:"font-bold"}),I&&a.jsx(uBe,{label:"Subject",value:a.jsx(bNe,{content:I,mergeFieldsResponse:e,variant:"minimal",className:"font-normal"}),className:"font-normal"}),K&&a.jsx(uBe,{label:"Preview",value:a.jsx(bNe,{content:K,mergeFieldsResponse:e,variant:"minimal",className:"text-muted-foreground/50 italic"}),className:"text-muted-foreground/50 italic"})]}),a.jsxs(Ahe,{open:c,onOpenChange:e=>{d(e),""===k?.trim()&&r?.emailSubject&&!1===e&&(S(r?.emailSubject),L(null))},children:[a.jsx(Che,{asChild:!0,children:a.jsx(nBe,{disableEditContent:n,automationStatus:i.status,asChild:!0})}),a.jsx(Mhe,{className:"w-96",align:"end",children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"From Email"}),a.jsxs(Fc,{onValueChange:e=>{b(e),E(!0),j(!1)},value:y??void 0,disabled:f,children:[a.jsx(Vc,{className:"bg-background hover:bg-accent/50 focus:bg-accent/50 data-[state=open]:bg-accent/50 transition-colors",children:a.jsx(Gc,{placeholder:"Select email",className:"text-muted-foreground",children:y?s?.find((e=>e.channelSenderId===y))?.fullDomain:""})}),a.jsx(Wc,{children:s?.map((e=>a.jsx(qc,{value:e.channelSenderId,children:e.fullDomain},e.channelSenderId)))})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"From Name"}),a.jsx(Rx,{title:p||lNe,link:g?{url:g}:void 0})]}),a.jsx("div",{className:"px-3 py-2 text-sm text-muted-foreground bg-muted/50 rounded-md",children:C||a.jsx("span",{className:"italic text-muted-foreground/70",children:"Not set"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Reply-To"}),a.jsx(Rx,{title:m||sNe,link:h?{url:h}:void 0})]}),a.jsx("div",{className:"px-3 py-2 text-sm text-muted-foreground bg-muted/50 rounded-md",children:T||(y?s?.find((e=>e.channelSenderId===y))?.fullDomain:"")||a.jsx("span",{className:"italic text-muted-foreground/70",children:"Not set"})})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Subject"}),a.jsx("span",{className:"text-xs text-red-500 ml-0.5",children:"*"})]}),a.jsx(Qxe,{value:k,onChange:S,mergeFieldsResponse:e,placeholder:"Enter email subject",className:"bg-background hover:bg-accent/50 focus:bg-accent transition-colors placeholder:text-muted-foreground/50 "+(P?"border-red-300 focus:border-red-500":""),ariaLabel:"Insert merge field into subject"}),P&&a.jsx("p",{className:"text-xs text-red-500 animate-pulse",children:P})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Eo,{className:"text-sm font-medium text-foreground",children:"Preview Text"}),a.jsx(Rx,{title:"This text will be used for the preview text of the email in the inbox"})]}),a.jsx(Qxe,{value:w,onChange:A,mergeFieldsResponse:e})]})]})})]})]})})},dBe=({type:e,disablePreviewSubtext:t=!1})=>{const n="sms"===e?"SMS":"Email";return a.jsx("div",{className:"flex flex-1 w-full h-full items-center justify-center",children:a.jsxs("div",{className:"flex flex-col items-center justify-center bg-zinc-50/80 border border-zinc-100 rounded-2xl shadow-md px-6 py-12 max-w-[90vw] w-full sm:max-w-md mx-auto text-center",style:{containerType:"inline-size"},children:[a.jsx("sms"===e?OM.SmsIcon:OM.EmailIcon,{className:"w-12 h-12 text-zinc-500 mb-4"}),a.jsxs("h2",{className:"text-xl font-semibold text-zinc-800 mb-2",children:["No ",n," Content Yet"]}),!t&&a.jsxs("p",{className:"text-zinc-500 text-base mb-1",children:["Click"," ",a.jsx("span",{className:"font-medium text-zinc-700",children:"Edit content"})," to start crafting your ",n," message."]})]})})},mBe=({disablePreview:e=!1,disableEditContent:n=!1,disablePreviewSubtext:i=!1})=>{const r=tle(),{communicationGroup:o}=ile(),{channelSenders:s}=DC(),{channelAccounts:l}=LC(),{data:u,isLoading:c}=fS(),{state:{selectedActionId:d}}=t.useContext(mse),{channelEnabled:m,isUpdating:h,handleToggleChannel:p}=iBe(pve.EMAIL),[g,f]=t.useState(!1),[v,y]=t.useState(!1),[b,k]=t.useState(null),[S,w]=t.useState(!1),[A,C]=t.useState(!1),[M,T]=t.useState(!1),[x,N]=t.useState({width:0,height:0}),{getMergeFields:E}=WN(o?.id??void 0,r?.id??void 0);t.useEffect((()=>{null===b&&u&&v&&(u?.uiDefaults||k(!0),u?.uiDefaults?.emailHelpDialogShow&&!b&&k(!0))}),[u,b,v]),t.useEffect((()=>{const e=()=>{N({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);if(!r||!o||void 0===s||void 0===l||!d||c)return null;const _=o.emailCompiledHtml||o.emailHtmlBody||"",j=_.length&&_.length>0,P=OC({channelSenders:s?.results??[],channelAccounts:l?.results??[]}),L=o.emailChannelSenderId?o.emailSubject?o.emailHtmlBody?null:"Please first ensure you have an email content":"Please first ensure you have an email subject":"Please first select an email sender",B=!e&&j,R=!o.emailChannelSenderId||0===P.length,D=()=>a.jsx(nBe,{disableEditContent:n,automationStatus:r.status,onClick:()=>y(!0)}),z=()=>{const e=a.jsx(uEe,{onClick:()=>f(!0),label:"Test Email"});return L?a.jsx(Rx,{alertText:"Unable to send preview",title:"There was an error preparing the preview. Please check your automation configuration.",className:"inline-block",asChild:!0,children:e}):e};return a.jsxs("div",{className:"flex-1 flex flex-col items-center pt-4",children:[a.jsx(oNe,{showStripoEditor:v,setShowStripoEditor:y,showHelpDialog:b??!1,setShowHelpDialog:k,cancelClicked:A,setCancelClicked:C,automation:r??null,saveClicked:S,setSaveClicked:w,stripoDialogDimensions:x,mergeFieldsResponse:E??null,selectedActionId:d,isEditorReady:M,setIsEditorReady:T}),P.length>0&&a.jsx(Cye,{open:g,onOpenChange:f,automation:r}),R&&a.jsx(sBe,{channelType:"email",onEnable:p,isEnabling:h}),j?a.jsx("div",{className:"flex-1 w-full flex flex-col overflow-y-auto",children:a.jsx("div",{className:qa("flex flex-col space-y-4 px-4 pb-20",R?"pt-0":"pt-4"),children:a.jsxs("div",{className:"flex flex-col space-y-4 px-4 pb-20",children:[a.jsx("div",{className:"w-full flex-shrink-0 max-w-2xl mx-auto rounded-md",children:a.jsx(cBe,{mergeFieldsResponse:E,disableEditContent:n},o?.id)}),a.jsxs("div",{className:"rounded-lg bg-background flex-1 min-h-0 flex flex-col items-center max-w-2xl mx-auto w-full",children:[a.jsxs("div",{className:"flex items-center space-x-2 w-full justify-between p-3",children:[a.jsx(lBe,{channelEnabled:m,isUpdating:h,onToggle:p,channelType:"email"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(tBe,{type:fve.EMAIL}),a.jsx(D,{}),B&&a.jsx(z,{}),j&&a.jsx(oEe,{expandDialogContent:a.jsx(iEe,{emailBody:_})})]})]}),a.jsx(Sve,{html:_})]}),a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4",children:"These previews show generally how your messages will appear to your customers"})]})})}):a.jsxs(a.Fragment,{children:[R&&a.jsx(sBe,{channelType:"email",className:"pt-4"}),a.jsx(dBe,{type:"email",disablePreviewSubtext:i})]})]})},hBe=({label:e,value:t,className:n})=>a.jsxs("div",{className:"flex items-center gap-1 min-w-0 max-w-full flex-shrink",children:[a.jsxs("span",{className:"sr-only",children:[e,":"]}),a.jsx("span",{className:qa("truncate",n),children:t})]}),pBe=t.memo((({trigger:e,communicationGroupId:t,initialSenderId:n,companyName:i})=>a.jsx(YNe,{communicationGroupId:t,initialSenderId:n,companyName:i,trigger:e}))),gBe=({disableEditContent:e,mergeFieldsResponse:n})=>{const i=tle(),{communicationGroup:r}=ile(),{channelSenders:o}=DC(),{channelAccounts:s}=LC(),{data:l}=XN(),u=r?.smsMessageBody||null,c=t.useMemo((()=>oE({channelSenders:o?.results??[],channelAccounts:s?.results??[],smsApplication:l})),[o?.results,s?.results,l]),d=c?.find((e=>e.channelSender.id===r?.smsChannelSenderId)),m=d?.channelSender.channelSenderMetadata.from&&null!==d.channelSender.channelSenderMetadata.from?d.channelSender.channelSenderMetadata.from:null,h=d?.channelSender.channelSenderMetadata.friendlyName??(m&&null!==m?KC(m??""):d?.channelSender.channelSenderMetadata.messageServiceSid),p=!(i&&r&&o&&s&&c&&(void 0!==l||d)),g=t.useRef(null),f=t.useRef(0),v=t.useMemo((()=>{const e=r?.textMessageCompanyName,a=Date.now();return e&&e.trim()?(g.current=e,f.current=a,e):!p&&a-f.current>2e3&&(null==r?.textMessageCompanyName||""===r?.textMessageCompanyName)?(g.current=null,f.current=a,null):g.current}),[r?.textMessageCompanyName,p]),y=u?u.length>50?u.substring(0,50)+"...":u:null,b=t.memo(t.forwardRef(((t,n)=>a.jsx(nBe,{disableEditContent:e,automationStatus:i?.status,asChild:!0,ref:n,...t}))));return a.jsx("div",{className:"w-full bg-background rounded-lg p-3",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("div",{className:"flex items-center gap-2 overflow-hidden flex-1",children:a.jsxs(a.Fragment,p?{children:[a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-16"}),a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-20"}),a.jsx("div",{className:"h-4 bg-muted animate-pulse rounded w-32"})]}:{children:[h&&a.jsx(hBe,{label:"From",value:h,className:"font-bold"}),v&&a.jsx(hBe,{label:"Company",value:v,className:"font-normal"}),y&&a.jsx(hBe,{label:"Message",value:a.jsx(bNe,{content:y,mergeFieldsResponse:n,variant:"minimal",className:"text-muted-foreground/50 italic"}),className:"text-muted-foreground/50 italic"})]})}),!p&&r&&a.jsx(pBe,{trigger:a.jsx(b,{}),communicationGroupId:r.id,initialSenderId:r.smsChannelSenderId,companyName:v})]})})},fBe=({disablePreview:e=!1,disableEditContent:n=!1})=>{const[i,r]=t.useState(!1),{channelSenders:o}=DC(),{data:s}=Ix(),{brandDefaults:l}=jC(),{channelAccounts:u}=LC(),c=tle(),{communicationGroup:d}=ile(),[m,h]=t.useState(!1),{data:p}=XN(),g=t.useRef(!1),f=t.useRef(null),{toast:v}=dS(),[y,b]=t.useState(!1),{channelEnabled:k,isUpdating:S,handleToggleChannel:w}=iBe(vve.SMS),{updateCommunicationGroup:A,isUpdating:C}=UN(),M=oE({channelSenders:o?.results??[],channelAccounts:u?.results??[],smsApplication:p}),T=M.find((e=>e.channelSender.id===d?.smsChannelSenderId)),x=t.useCallback((e=>pNe(e)),[]),N=d?.smsMessageBody||"",E=N,_=t.useCallback((e=>{if(!d?.extraMergeFields)return[];const a=x(e),t=[];for(const n of d.extraMergeFields)if(n.type===hNe.DYNAMIC)for(const e of n.mergeFields)a.includes(e.templateName)&&e.image&&t.push({templateName:e.templateName,displayName:e.displayName,placeholderUrl:e.image.placeholderUrl,maxSize:e.image.maxSize});return t}),[d?.extraMergeFields,x]),j=t.useMemo((()=>d?.textMessageMediaUrls??[]),[d?.textMessageMediaUrls]),P=t.useMemo((()=>!d||!o||!u),[d,o,u]),L=t.useMemo((()=>_(E)),[_,E]),B=t.useMemo((()=>[...L.map((e=>e.placeholderUrl)),...j]),[j,L]),[R,D]=t.useState(null);t.useEffect((()=>{const e=d?.textMessageCompanyName;void 0!==e&&D(e??null)}),[d?.textMessageCompanyName]);const z=t.useMemo((()=>mNe({companyName:R??void 0,smsBody:N})),[R,N]),{getMergeFields:O}=WN(d?.id??void 0,c?.id??void 0),I=M.length>0;t.useEffect((()=>{if(!g.current&&!0===I&&d?.id&&void 0!==s&&void 0!==d&&!1===C&&void 0!==l){let e={};void 0===d?.textMessageCompanyName&&(s?.name||l?.brandName)&&(e.textMessageCompanyName=l.brandName??s.name),0===N.length&&(e.smsMessageBody="Hello 👋!"),void 0===d?.smsChannelSenderId&&M[0]?.channelSender?.id&&(e.smsChannelSenderId=M[0].channelSender.id),Object.keys(e).length>0?(g.current=!0,A({groupId:d.id,params:e})):g.current=!0}}),[d?.id,d?.textMessageCompanyName,d?.smsMessageBody,I,N,A,s,d?.smsChannelSenderId,M,d,C,l]);const K=!T?.smsApplication||T.smsApplication.status===rE.APPROVED;if(!c||void 0===o)return null;let H=null;d?.smsChannelSenderId||(H="Please first select a sms sender"),d?.smsMessageBody||(H="Please first ensure you have a sms content");const F=!e&&K,G=!d?.smsChannelSenderId||0===M.length,V=()=>a.jsx(nBe,{disableEditContent:n,automationStatus:c.status,onClick:()=>{h(!0)}}),J=()=>{const e=a.jsx(uEe,{onClick:()=>r(!0),label:"Test SMS"});return H?a.jsx(Rx,{alertText:"Unable to send preview",title:"There was an error preparing the preview. Please check your automation configuration.",className:"inline-block",asChild:!0,children:e}):e},U=t.memo(kNe,((e,a)=>{const t=e.body||"",n=a.body||"";if(t===n)return!0;if(t.replace(/^[^:]+:\s*/,"")===n.replace(/^[^:]+:\s*/,""))return!0;const i=e.imageUrls||[],r=a.imageUrls||[];if(i.length!==r.length)return!1;for(let o=0;o<i.length;o++)if(i[o]!==r[o])return!1;return!0}));return a.jsx("div",{className:"h-full",children:!1===I?a.jsx("div",{className:"w-full pt-8 mx-auto",children:a.jsx(uE,{})}):a.jsxs(tS.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.3,ease:[.16,1,.3,1]},className:"flex-1 flex flex-col items-center h-full",children:[a.jsx(aEe,{open:i,onOpenChange:r,automation:c}),a.jsx(wi,{open:m,onOpenChange:h,children:a.jsxs(Ti,{hideCloseButton:!0,className:"max-w-[90vw] @container",children:[a.jsxs(Xe,{children:[a.jsx(Ei,{children:"SMS Editor"}),a.jsx(_i,{children:"Learn more about the SMS editor and how to use it to create your SMS."})]}),a.jsx(eEe,{ref:f,communicationGroupId:d?.id||"",initialMessage:E,initialImageUrls:j,companyName:R,initialSenderId:d?.smsChannelSenderId},d?.id),a.jsx("div",{className:"flex justify-end mt-6",children:a.jsx(Xa,{variant:"outline",onClick:async()=>{try{b(!0),f.current?.saveChanges&&await f.current.saveChanges(),await new Promise((e=>setTimeout(e,100))),h(!1)}catch(e){v({title:"Save failed",description:"Please try again or check your message length",variant:"destructive"})}finally{b(!1)}},disabled:C||y,className:"px-4",children:y?"Saving...":"Save"})})]})}),G&&a.jsx(sBe,{channelType:"sms",onEnable:w,isEnabling:S}),I?a.jsx("div",{className:"flex-1 w-full flex flex-col overflow-y-auto",children:a.jsx("div",{className:qa("flex flex-col space-y-4 px-4 pb-20",G?"pt-0":"pt-4"),children:a.jsxs("div",{className:"flex flex-col space-y-4 px-4 pt-4 pb-20",children:[a.jsx("div",{className:"w-full flex-shrink-0 max-w-2xl mx-auto rounded-md",children:a.jsx(gBe,{disableEditContent:n,mergeFieldsResponse:O})}),a.jsxs("div",{className:"rounded-lg bg-background flex-1 min-h-0 flex flex-col items-center max-w-2xl mx-auto w-full",children:[a.jsxs("div",{className:"flex items-center space-x-2 w-full justify-between p-3",children:[a.jsx(lBe,{channelEnabled:k,isUpdating:S,onToggle:w,channelType:"sms"}),a.jsxs("div",{className:"flex items-center space-x-2",children:[a.jsx(tBe,{type:fve.SMS}),a.jsx(V,{}),F&&a.jsx(J,{}),I&&a.jsx(oEe,{expandDialogContent:a.jsx(lEe,{smsBody:z,imageUrls:B})})]})]}),P?a.jsx("div",{className:"flex items-center justify-center h-32",children:a.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading preview..."})}):a.jsx(U,{body:z,imageUrls:B})]}),a.jsx("p",{className:"text-center text-sm text-muted-foreground flex-shrink-0 pt-4",children:"These previews show generally how your messages will appear to your customers"})]})})}):a.jsxs(a.Fragment,{children:[G&&a.jsx(sBe,{channelType:"sms",className:"pt-4"}),a.jsx(dBe,{type:fve.SMS})]})]})})},vBe=({disablePreview:e=!1,disableEditContent:n=!1,disablePreviewSubtext:i=!1,hideSms:r=!1})=>{const{state:{selectedSubStepType:o}}=t.useContext(mse),{communicationGroup:s}=ile();if(!s)return a.jsx("div",{className:"flex flex-col gap-4 flex-1 bg-muted rounded-md",children:a.jsx(th,{text:["Loading..."]})});if(!o)return a.jsx("div",{className:"flex flex-col gap-4 flex-1 bg-muted rounded-md",children:a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h3",{className:"text-lg font-medium text-muted-foreground mb-2",children:"Select Communication Type"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Choose Email or SMS from the steps on the left to preview and edit content"})]})})});const l={disablePreview:e,disableEditContent:n,disablePreviewSubtext:i};return a.jsxs("div",{className:"flex flex-col flex-1 bg-muted rounded-md",children:[o===pve.EMAIL&&a.jsx(mBe,{...l}),o===pve.SMS&&!r&&a.jsx(fBe,{...l})]})},yBe=()=>{const{state:{selectedActionId:e}}=t.useContext(mse),{state:{hideSms:n}}=t.useContext(qoe);return a.jsx("div",{className:"flex flex-col gap-4 h-full w-full",children:a.jsx(fh,{mode:"wait",children:e===hve.EditTime?a.jsx(fEe,{}):e===hve.EditAudience?a.jsx(lje,{}):a.jsx(vBe,{hideSms:n})})})},bBe=({hideSms:e})=>a.jsxs(BLe,{direction:"horizontal",className:"flex-1",children:[a.jsx(RLe,{defaultSize:30,minSize:16,maxSize:48,children:a.jsx("aside",{className:"h-full",children:a.jsx(aBe,{hideSms:e})})}),a.jsx(DLe,{className:"px-1 opacity-0 hover:opacity-100 transition-opacity duration-200 mx-1"}),a.jsx(RLe,{defaultSize:70,children:a.jsx("main",{className:"h-full",children:a.jsx(yBe,{})})})]}),kBe=({hideSms:e})=>{const[n,i]=t.useState(gve.WORKFLOW),r=[{id:gve.WORKFLOW,label:"Workflow",content:a.jsx(bBe,{hideSms:e})},{id:gve.RECIPIENTS,label:"Recipients",content:a.jsx(tPe,{})},{id:gve.INSIGHTS,label:PN("engage:insight",{count:2}),content:a.jsx(Xje,{})}];return a.jsx(Qje,{tabs:r,activeTab:n,onTabChange:e=>i(e),tabsLocation:"left"})},SBe=({showBackButton:e=!1,onDuplicationCreated:n,onBeforeSchedule:i,getExtraMergeFields:r,hideSms:o,hideSales:s,replyToSettingsText:l,replyToSettingsLink:u,fromNameSettingsText:c,fromNameSettingsLink:d})=>{const m=tle(),{communicationGroup:h}=ile(),{updateCommunicationGroup:p}=UN(),{toast:g}=dS(),{channelSenders:f}=DC(),{isLoading:v}=Zse(),y=t.useRef(""),b=t.useRef(!1),k=t.useRef(!1);return t.useEffect((()=>{if(h&&!b.current){y.current=JSON.stringify(h.extraMergeFields||{}),b.current=!0}}),[h]),t.useEffect((()=>{if(h&&r&&b.current){(async()=>{const e=await r(),a=JSON.stringify(e);a!==y.current&&(y.current=a,p({groupId:h?.id,params:{extraMergeFields:e}},{onError:()=>{g({title:"Error saving merge fields!",description:"Please contact your administrator if this issue persists.",variant:"destructive"})}}))})()}}),[h,r,p,g]),t.useEffect((()=>{if(m&&h&&f&&m.automationType===NE.MANAGED&&null===h.emailChannelSenderId&&null===h.smsChannelSenderId&&!k.current){if(k.current=!0,!h.emailChannelSenderId){const e=f.results.filter((e=>e.channelSenderMetadata.userPart));e.length>0&&p({groupId:h.id,params:{emailChannelSenderId:e[0].id}})}if(!h.smsChannelSenderId){const e=f.results.filter((e=>e.channelSenderMetadata.from||e.channelSenderMetadata.messageServiceSid));e.length>0&&p({groupId:h.id,params:{smsChannelSenderId:e[0].id}})}}}),[m,h,f,p]),m&&h&&!v?a.jsx(Zoe,{children:a.jsx($oe,{replyToSettingsText:l,replyToSettingsLink:u,fromNameSettingsText:c,fromNameSettingsLink:d,hideSms:o,hideSales:s,children:a.jsxs("div",{className:"h-full flex flex-col gap-4 p-4",children:[a.jsx(Yje,{showBackButton:e,onDuplicationCreated:n,onBeforeSchedule:i}),a.jsx("div",{className:"flex-1 border-t",children:a.jsx(kBe,{hideSms:o})})]})})}):a.jsx("div",{className:"flex h-full items-center justify-center",children:a.jsx(th,{text:[`Fetching ${PN("engage:automation").toLowerCase()} data`,"Finishing up"]})})},wBe=({...e})=>{const t=function(){let{matches:e}=r.useContext(gde),a=e[e.length-1];return a?a.params:{}}(),[n]=rme(),i=e.automationId||t?.automationId||n.get("automationId")||"",o="true"===n.get("showBackButton")||e.showBackButton,s="true"===n.get("hideSms")||e.hideSms;return a.jsx(rle,{automationId:i,children:a.jsx("div",{className:"bg-background h-full min-h-[750px]",children:a.jsx(SBe,{...e,showBackButton:o,hideSms:s})})})};Object.values(Object.assign({}));var ABe=/(%?)(%([sdijo]))/g;function CBe(e,...a){if(0===a.length)return e;let t=0,n=e.replace(ABe,((e,n,i,r)=>{const o=function(e,a){switch(a){case"s":return e;case"d":case"i":return Number(e);case"j":return JSON.stringify(e);case"o":{if("string"==typeof e)return e;const a=JSON.stringify(e);return"{}"===a||"[]"===a||/^\[object .+?\]$/.test(a)?e:a}}}(a[t],r);return n?e:(t++,o)}));return t<a.length&&(n+=` ${a.slice(t).join(" ")}`),n=n.replace(/%{2,2}/g,"%"),n}var MBe=class extends Error{constructor(e,...a){super(e),this.message=e,this.name="Invariant Violation",this.message=CBe(e,...a),function(e){if(!e.stack)return;const a=e.stack.split("\n");a.splice(1,2),e.stack=a.join("\n")}(this)}},TBe=(e,a,...t)=>{if(!e)throw new MBe(a,...t)};TBe.as=(e,a,t,...n)=>{if(!a){const a=0===n.length?t:CBe(t,...n);let i;try{i=Reflect.construct(e,[a])}catch(EFe){i=e(a)}throw i}};const xBe={formatMessage:function(e,...a){return`[MSW] ${CBe(e,...a)}`},warn:function(e,...a){},error:function(e,...a){}};class NBe extends Error{constructor(e){super(e),this.name="InternalError"}}const EBe=/[\/\\]msw[\/\\]src[\/\\](.+)/,_Be=/(node_modules)?[\/\\]lib[\/\\](core|browser|node|native|iife)[\/\\]|^[^\/\\]*$/;class jBe{static cache=new WeakMap;__kind;info;isUsed;resolver;resolverIterator;resolverIteratorResult;options;constructor(e){this.resolver=e.resolver,this.options=e.options;const a=function(e){const a=e.stack;if(!a)return;const t=a.split("\n").slice(1).find((e=>!(EBe.test(e)||_Be.test(e))));if(!t)return;return t.replace(/\s*at [^()]*\(([^)]+)\)/,"$1").replace(/^@/,"")}(new Error);this.info={...e.info,callFrame:a},this.isUsed=!1,this.__kind="RequestHandler"}async parse(e){return{}}async test(e){const a=await this.parse({request:e.request,resolutionContext:e.resolutionContext});return this.predicate({request:e.request,parsedResult:a,resolutionContext:e.resolutionContext})}extendResolverArgs(e){return{}}cloneRequestOrGetFromCache(e){const a=jBe.cache.get(e);if(void 0!==a)return a;const t=e.clone();return jBe.cache.set(e,t),t}async run(e){if(this.isUsed&&this.options?.once)return null;const a=this.cloneRequestOrGetFromCache(e.request),t=await this.parse({request:e.request,resolutionContext:e.resolutionContext});if(!this.predicate({request:e.request,parsedResult:t,resolutionContext:e.resolutionContext}))return null;if(this.isUsed&&this.options?.once)return null;this.isUsed=!0;const n=this.wrapResolver(this.resolver)({...this.extendResolverArgs({request:e.request,parsedResult:t}),requestId:e.requestId,request:e.request}).catch((e=>{if(e instanceof Response)return e;throw e})),i=await n;return this.createExecutionResult({request:a,requestId:e.requestId,response:i,parsedResult:t})}wrapResolver(e){return async a=>{if(!this.resolverIterator){const n=await e(a);if(!(t=n)||!Reflect.has(t,Symbol.iterator)&&!Reflect.has(t,Symbol.asyncIterator))return n;this.resolverIterator=Symbol.iterator in n?n[Symbol.iterator]():n[Symbol.asyncIterator]()}var t;this.isUsed=!1;const{done:n,value:i}=await this.resolverIterator.next(),r=await i;return r&&(this.resolverIteratorResult=r.clone()),n?(this.isUsed=!0,this.resolverIteratorResult?.clone()):r}}createExecutionResult(e){return{handler:this,request:e.request,requestId:e.requestId,response:e.response,parsedResult:e.parsedResult}}}function PBe(e){if("undefined"==typeof location)return e.toString();const a=e instanceof URL?e:new URL(e);return a.origin===location.origin?a.pathname:a.origin+a.pathname}async function LBe(e,a="warn"){const t=new URL(e.url),n=PBe(t)+t.search,i="HEAD"===e.method||"GET"===e.method?null:await e.clone().text(),r=`intercepted a request without a matching request handler:${`\n\n • ${e.method} ${n}\n\n${i?` • Request body: ${i}\n\n`:""}`}If you still wish to intercept this unhandled request, please create a request handler for it.\nRead more: https://mswjs.io/docs/getting-started/mocks`;function o(e){switch(e){case"error":throw xBe.error("Error: %s",r),new NBe(xBe.formatMessage('Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.'));case"warn":xBe.warn("Warning: %s",r);break;case"bypass":break;default:throw new NBe(xBe.formatMessage('Failed to react to an unhandled request: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.',e))}}"function"!=typeof a?function(e){const a=new URL(e.url);return"file:"===a.protocol||!!/(fonts\.googleapis\.com)/.test(a.hostname)||!!/node_modules/.test(a.pathname)||!!a.pathname.includes("@vite")||/\.(s?css|less|m?jsx?|m?tsx?|html|ttf|otf|woff|woff2|eot|gif|jpe?g|png|avif|webp|svg|mp4|webm|ogg|mov|mp3|wav|ogg|flac|aac|pdf|txt|csv|json|xml|md|zip|tar|gz|rar|7z)$/i.test(a.pathname)}(e)||o(a):a(e,{warning:o.bind(null,"warn"),error:o.bind(null,"error")})}function BBe(){if("undefined"!=typeof navigator&&"ReactNative"===navigator.product)return!0;if("undefined"!=typeof process){const e=process.type;return"renderer"!==e&&"worker"!==e&&!(!process.versions||!process.versions.node)}return!1}var RBe,DBe,zBe=Object.create,OBe=Object.defineProperty,IBe=Object.getOwnPropertyDescriptor,KBe=Object.getOwnPropertyNames,HBe=Object.getPrototypeOf,FBe=Object.prototype.hasOwnProperty,GBe=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,a)=>("undefined"!=typeof require?require:e)[a]}):e)((function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')})),VBe=(e,a)=>function(){return a||(0,e[KBe(e)[0]])((a={exports:{}}).exports,a),a.exports},JBe=VBe({"node_modules/punycode/punycode.js"(e,a){var t=2147483647,n=36,i=/^xn--/,r=/[^\0-\x7F]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,u=String.fromCharCode;function c(e){throw new RangeError(s[e])}function d(e,a){const t=e.split("@");let n="";t.length>1&&(n=t[0]+"@",e=t[1]);const i=function(e,a){const t=[];let n=e.length;for(;n--;)t[n]=a(e[n]);return t}((e=e.replace(o,".")).split("."),a).join(".");return n+i}function m(e){const a=[];let t=0;const n=e.length;for(;t<n;){const i=e.charCodeAt(t++);if(i>=55296&&i<=56319&&t<n){const n=e.charCodeAt(t++);56320==(64512&n)?a.push(((1023&i)<<10)+(1023&n)+65536):(a.push(i),t--)}else a.push(i)}return a}var h=function(e,a){return e+22+75*(e<26)-((0!=a)<<5)},p=function(e,a,t){let i=0;for(e=t?l(e/700):e>>1,e+=l(e/a);e>455;i+=n)e=l(e/35);return l(i+36*e/(e+38))},g=function(e){const a=[],i=e.length;let r=0,o=128,s=72,u=e.lastIndexOf("-");u<0&&(u=0);for(let t=0;t<u;++t)e.charCodeAt(t)>=128&&c("not-basic"),a.push(e.charCodeAt(t));for(let m=u>0?u+1:0;m<i;){const u=r;for(let a=1,o=n;;o+=n){m>=i&&c("invalid-input");const u=(d=e.charCodeAt(m++))>=48&&d<58?d-48+26:d>=65&&d<91?d-65:d>=97&&d<123?d-97:n;u>=n&&c("invalid-input"),u>l((t-r)/a)&&c("overflow"),r+=u*a;const h=o<=s?1:o>=s+26?26:o-s;if(u<h)break;const p=n-h;a>l(t/p)&&c("overflow"),a*=p}const h=a.length+1;s=p(r-u,h,0==u),l(r/h)>t-o&&c("overflow"),o+=l(r/h),r%=h,a.splice(r++,0,o)}var d;return String.fromCodePoint(...a)},f=function(e){const a=[],i=(e=m(e)).length;let r=128,o=0,s=72;for(const t of e)t<128&&a.push(u(t));const d=a.length;let g=d;for(d&&a.push("-");g<i;){let i=t;for(const a of e)a>=r&&a<i&&(i=a);const m=g+1;i-r>l((t-o)/m)&&c("overflow"),o+=(i-r)*m,r=i;for(const f of e)if(f<r&&++o>t&&c("overflow"),f===r){let e=o;for(let t=n;;t+=n){const i=t<=s?1:t>=s+26?26:t-s;if(e<i)break;const r=e-i,o=n-i;a.push(u(h(i+r%o,0))),e=l(r/o)}a.push(u(h(e,0))),s=p(o,m,g===d),o=0,++g}++o,++r}return a.join("")};a.exports={version:"2.3.1",ucs2:{decode:m,encode:e=>String.fromCodePoint(...e)},decode:g,encode:f,toASCII:function(e){return d(e,(function(e){return r.test(e)?"xn--"+f(e):e}))},toUnicode:function(e){return d(e,(function(e){return i.test(e)?g(e.slice(4).toLowerCase()):e}))}}}}),UBe=VBe({"node_modules/requires-port/index.js"(e,a){a.exports=function(e,a){if(a=a.split(":")[0],!(e=+e))return!1;switch(a){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}}}),WBe=VBe({"node_modules/querystringify/index.js"(e){var a=Object.prototype.hasOwnProperty;function t(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(jFe){return null}}function n(e){try{return encodeURIComponent(e)}catch(jFe){return null}}e.stringify=function(e,t){t=t||"";var i,r,o=[];for(r in"string"!=typeof t&&(t="?"),e)if(a.call(e,r)){if((i=e[r])||null!=i&&!isNaN(i)||(i=""),r=n(r),i=n(i),null===r||null===i)continue;o.push(r+"="+i)}return o.length?t+o.join("&"):""},e.parse=function(e){for(var a,n=/([^=?#&]+)=?([^&]*)/g,i={};a=n.exec(e);){var r=t(a[1]),o=t(a[2]);null===r||null===o||r in i||(i[r]=o)}return i}}}),qBe=VBe({"node_modules/url-parse/index.js"(e,a){var t=UBe(),n=WBe(),i=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r=/[\n\r\t]/g,o=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,s=/:\d+$/,l=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function c(e){return(e||"").toString().replace(i,"")}var d=[["#","hash"],["?","query"],function(e,a){return p(a.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],m={hash:1,query:1};function h(e){var a;a="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t,n={},i=typeof(e=e||(a.location||{}));if("blob:"===e.protocol)n=new f(unescape(e.pathname),{});else if("string"===i)for(t in n=new f(e,{}),m)delete n[t];else if("object"===i){for(t in e)t in m||(n[t]=e[t]);void 0===n.slashes&&(n.slashes=o.test(e.href))}return n}function p(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function g(e,a){e=(e=c(e)).replace(r,""),a=a||{};var t,n=l.exec(e),i=n[1]?n[1].toLowerCase():"",o=!!n[2],s=!!n[3],u=0;return o?s?(t=n[2]+n[3]+n[4],u=n[2].length+n[3].length):(t=n[2]+n[4],u=n[2].length):s?(t=n[3]+n[4],u=n[3].length):t=n[4],"file:"===i?u>=2&&(t=t.slice(2)):p(i)?t=n[4]:i?o&&(t=t.slice(2)):u>=2&&p(a.protocol)&&(t=n[4]),{protocol:i,slashes:o||p(i),slashesCount:u,rest:t}}function f(e,a,i){if(e=(e=c(e)).replace(r,""),!(this instanceof f))return new f(e,a,i);var o,s,l,m,v,y,b=d.slice(),k=typeof a,S=this,w=0;for("object"!==k&&"string"!==k&&(i=a,a=null),i&&"function"!=typeof i&&(i=n.parse),o=!(s=g(e||"",a=h(a))).protocol&&!s.slashes,S.slashes=s.slashes||o&&a.slashes,S.protocol=s.protocol||a.protocol||"",e=s.rest,("file:"===s.protocol&&(2!==s.slashesCount||u.test(e))||!s.slashes&&(s.protocol||s.slashesCount<2||!p(S.protocol)))&&(b[3]=[/(.*)/,"pathname"]);w<b.length;w++)"function"!=typeof(m=b[w])?(y=m[1],(l=m[0])!=l?S[y]=e:"string"==typeof l?~(v="@"===l?e.lastIndexOf(l):e.indexOf(l))&&("number"==typeof m[2]?(S[y]=e.slice(0,v),e=e.slice(v+m[2])):(S[y]=e.slice(v),e=e.slice(0,v))):(v=l.exec(e))&&(S[y]=v[1],e=e.slice(0,v.index)),S[y]=S[y]||o&&m[3]&&a[y]||"",m[4]&&(S[y]=S[y].toLowerCase())):e=m(e,S);i&&(S.query=i(S.query)),o&&a.slashes&&"/"!==S.pathname.charAt(0)&&(""!==S.pathname||""!==a.pathname)&&(S.pathname=function(e,a){if(""===e)return a;for(var t=(a||"/").split("/").slice(0,-1).concat(e.split("/")),n=t.length,i=t[n-1],r=!1,o=0;n--;)"."===t[n]?t.splice(n,1):".."===t[n]?(t.splice(n,1),o++):o&&(0===n&&(r=!0),t.splice(n,1),o--);return r&&t.unshift(""),"."!==i&&".."!==i||t.push(""),t.join("/")}(S.pathname,a.pathname)),"/"!==S.pathname.charAt(0)&&p(S.protocol)&&(S.pathname="/"+S.pathname),t(S.port,S.protocol)||(S.host=S.hostname,S.port=""),S.username=S.password="",S.auth&&(~(v=S.auth.indexOf(":"))?(S.username=S.auth.slice(0,v),S.username=encodeURIComponent(decodeURIComponent(S.username)),S.password=S.auth.slice(v+1),S.password=encodeURIComponent(decodeURIComponent(S.password))):S.username=encodeURIComponent(decodeURIComponent(S.auth)),S.auth=S.password?S.username+":"+S.password:S.username),S.origin="file:"!==S.protocol&&p(S.protocol)&&S.host?S.protocol+"//"+S.host:"null",S.href=S.toString()}f.prototype={set:function(e,a,i){var r=this;switch(e){case"query":"string"==typeof a&&a.length&&(a=(i||n.parse)(a)),r[e]=a;break;case"port":r[e]=a,t(a,r.protocol)?a&&(r.host=r.hostname+":"+a):(r.host=r.hostname,r[e]="");break;case"hostname":r[e]=a,r.port&&(a+=":"+r.port),r.host=a;break;case"host":r[e]=a,s.test(a)?(a=a.split(":"),r.port=a.pop(),r.hostname=a.join(":")):(r.hostname=a,r.port="");break;case"protocol":r.protocol=a.toLowerCase(),r.slashes=!i;break;case"pathname":case"hash":if(a){var o="pathname"===e?"/":"#";r[e]=a.charAt(0)!==o?o+a:a}else r[e]=a;break;case"username":case"password":r[e]=encodeURIComponent(a);break;case"auth":var l=a.indexOf(":");~l?(r.username=a.slice(0,l),r.username=encodeURIComponent(decodeURIComponent(r.username)),r.password=a.slice(l+1),r.password=encodeURIComponent(decodeURIComponent(r.password))):r.username=encodeURIComponent(decodeURIComponent(a))}for(var u=0;u<d.length;u++){var c=d[u];c[4]&&(r[c[1]]=r[c[1]].toLowerCase())}return r.auth=r.password?r.username+":"+r.password:r.username,r.origin="file:"!==r.protocol&&p(r.protocol)&&r.host?r.protocol+"//"+r.host:"null",r.href=r.toString(),r},toString:function(e){e&&"function"==typeof e||(e=n.stringify);var a,t=this,i=t.host,r=t.protocol;r&&":"!==r.charAt(r.length-1)&&(r+=":");var o=r+(t.protocol&&t.slashes||p(t.protocol)?"//":"");return t.username?(o+=t.username,t.password&&(o+=":"+t.password),o+="@"):t.password?(o+=":"+t.password,o+="@"):"file:"!==t.protocol&&p(t.protocol)&&!i&&"/"!==t.pathname&&(o+="@"),(":"===i[i.length-1]||s.test(t.hostname)&&!t.port)&&(i+=":"),o+=i+t.pathname,(a="object"==typeof t.query?e(t.query):t.query)&&(o+="?"!==a.charAt(0)?"?"+a:a),t.hash&&(o+=t.hash),o}},f.extractProtocol=g,f.location=h,f.trimLeft=c,f.qs=n,a.exports=f}}),ZBe=VBe({"node_modules/psl/data/rules.json"(e,a){a.exports=["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac","org.ac","ad","nom.ad","ae","co.ae","net.ae","org.ae","sch.ae","ac.ae","gov.ae","mil.ae","aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","aircraft.aero","airline.aero","airport.aero","air-surveillance.aero","airtraffic.aero","air-traffic-control.aero","ambulance.aero","amusement.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","gov.af","com.af","org.af","net.af","edu.af","ag","com.ag","org.ag","net.ag","co.ag","nom.ag","ai","off.ai","com.ai","net.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","ed.ao","gv.ao","og.ao","co.ao","pb.ao","it.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","co.at","gv.at","or.at","sth.ac.at","au","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","com.az","net.az","int.az","gov.az","org.az","edu.az","info.az","pp.az","mil.az","name.az","pro.az","biz.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","bh","com.bh","edu.bh","net.bh","org.bh","gov.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","asso.bj","barreau.bj","gouv.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","org.bo","net.bo","mil.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","politica.bo","profesional.bo","plurinacional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","net.bs","org.bs","edu.bs","gov.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","com.bz","net.bz","org.bz","edu.bz","gov.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","org.ci","or.ci","com.ci","co.ci","edu.ci","ed.ci","ac.ci","net.ci","go.ci","asso.ci","aéroport.ci","int.ci","presse.ci","md.ci","gouv.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","net.cn","org.cn","mil.cn","公司.cn","网络.cn","網絡.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","hk.cn","mo.cn","tw.cn","co","arts.co","com.co","edu.co","firm.co","gov.co","info.co","int.co","mil.co","net.co","nom.co","org.co","rec.co","web.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","org.cu","net.cu","gov.cu","inf.cu","cv","com.cv","edu.cv","int.cv","nome.cv","org.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","com.dm","net.dm","org.dm","edu.dm","gov.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","org.dz","net.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","info.ec","net.ec","fin.ec","k12.ec","med.ec","pro.ec","org.ec","edu.ec","gov.ec","gob.ec","mil.ec","edu","ee","edu.ee","gov.ee","riik.ee","lib.ee","med.ee","com.ee","pri.ee","aip.ee","org.ee","fie.ee","eg","com.eg","edu.eg","eun.eg","gov.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","*.er","es","com.es","nom.es","org.es","gob.es","edu.es","et","com.et","gov.et","org.et","edu.et","biz.et","name.et","info.et","net.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","com.fm","edu.fm","net.fm","org.fm","fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","aeroport.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","ga","gb","edu.gd","gov.gd","gd","ge","com.ge","edu.ge","gov.ge","org.ge","mil.ge","net.ge","pvt.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","org.gh","mil.gh","gi","com.gi","ltd.gi","gov.gi","mod.gi","edu.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","org.gn","net.gn","gov","gp","com.gp","net.gp","mobi.gp","edu.gp","org.gp","asso.gp","gq","gr","com.gr","edu.gr","net.gr","org.gr","gov.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","公司.hk","教育.hk","敎育.hk","政府.hk","個人.hk","个��.hk","箇人.hk","網络.hk","网络.hk","组織.hk","網絡.hk","网絡.hk","组织.hk","組織.hk","組织.hk","hm","hn","com.hn","edu.hn","org.hn","net.hn","mil.hn","gob.hn","hr","iz.hr","from.hr","name.hr","com.hr","ht","com.ht","shop.ht","firm.ht","info.ht","adult.ht","net.ht","pro.ht","org.ht","med.ht","art.ht","coop.ht","pol.ht","asso.ht","edu.ht","rel.ht","gouv.ht","perso.ht","hu","co.hu","info.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","im","ac.im","co.im","com.im","ltd.co.im","net.im","org.im","plc.co.im","tt.im","tv.im","in","co.in","firm.in","net.in","org.in","gen.in","ind.in","nic.in","ac.in","edu.in","res.in","gov.in","mil.in","info","int","eu.int","io","com.io","iq","gov.iq","edu.iq","mil.iq","com.iq","org.iq","net.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","net.is","com.is","edu.is","gov.is","org.is","int.is","it","gov.it","edu.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentino.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","balsan.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano-altoadige.it","bolzano.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","bozen.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bulsan.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza-brianza.it","monza-e-della-brianza.it","monza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","suedtirol.it","südtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","com.jo","org.jo","net.jo","edu.jo","sch.jo","gov.jo","mil.jo","name.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","栃木.jp","愛知.jp","愛媛.jp","兵庫.jp","熊本.jp","茨城.jp","北海道.jp","千葉.jp","和歌山.jp","長崎.jp","長野.jp","新潟.jp","青森.jp","静岡.jp","東京.jp","石川.jp","埼玉.jp","三重.jp","京都.jp","佐賀.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岩手.jp","岐阜.jp","岡山.jp","島根.jp","広島.jp","徳島.jp","沖縄.jp","滋賀.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","!city.kawasaki.jp","!city.kitakyushu.jp","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","org.kg","net.kg","com.kg","edu.kg","gov.kg","mil.kg","*.kh","ki","edu.ki","biz.ki","net.ki","org.ki","gov.ki","info.ki","com.ki","km","org.km","nom.km","gov.km","prd.km","tm.km","edu.km","mil.km","ass.km","com.km","coop.km","asso.km","presse.km","medecin.km","notaires.km","pharmaciens.km","veterinaire.km","gouv.km","kn","net.kn","org.kn","edu.kn","gov.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","org.kz","edu.kz","net.kz","gov.kz","mil.kz","com.kz","la","int.la","net.la","info.la","edu.la","gov.la","per.la","com.la","org.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","com.lc","net.lc","co.lc","org.lc","edu.lc","gov.lc","li","lk","gov.lk","sch.lk","net.lk","int.lk","com.lk","org.lk","edu.lk","ngo.lk","soc.lk","web.lk","ltd.lk","assn.lk","grp.lk","hotel.lk","ac.lk","lr","com.lr","edu.lr","gov.lr","org.lr","net.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","com.lv","edu.lv","gov.lv","org.lv","mil.lv","id.lv","net.lv","asn.lv","conf.lv","ly","com.ly","net.ly","gov.ly","plc.ly","edu.ly","sch.ly","med.ly","org.ly","id.ly","ma","co.ma","net.ma","gov.ma","org.ma","ac.ma","press.ma","mc","tm.mc","asso.mc","md","me","co.me","net.me","org.me","edu.me","ac.me","gov.me","its.me","priv.me","mg","org.mg","nom.mg","gov.mg","prd.mg","tm.mg","edu.mg","mil.mg","com.mg","co.mg","mh","mil","mk","com.mk","org.mk","net.mk","edu.mk","gov.mk","inf.mk","name.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","gov.mn","edu.mn","org.mn","mo","com.mo","net.mo","org.mo","edu.mo","gov.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","com.mu","net.mu","org.mu","gov.mu","ac.mu","co.mu","or.mu","museum","academy.museum","agriculture.museum","air.museum","airguard.museum","alabama.museum","alaska.museum","amber.museum","ambulance.museum","american.museum","americana.museum","americanantiques.museum","americanart.museum","amsterdam.museum","and.museum","annefrank.museum","anthro.museum","anthropology.museum","antiques.museum","aquarium.museum","arboretum.museum","archaeological.museum","archaeology.museum","architecture.museum","art.museum","artanddesign.museum","artcenter.museum","artdeco.museum","arteducation.museum","artgallery.museum","arts.museum","artsandcrafts.museum","asmatart.museum","assassination.museum","assisi.museum","association.museum","astronomy.museum","atlanta.museum","austin.museum","australia.museum","automotive.museum","aviation.museum","axis.museum","badajoz.museum","baghdad.museum","bahn.museum","bale.museum","baltimore.museum","barcelona.museum","baseball.museum","basel.museum","baths.museum","bauern.museum","beauxarts.museum","beeldengeluid.museum","bellevue.museum","bergbau.museum","berkeley.museum","berlin.museum","bern.museum","bible.museum","bilbao.museum","bill.museum","birdart.museum","birthplace.museum","bonn.museum","boston.museum","botanical.museum","botanicalgarden.museum","botanicgarden.museum","botany.museum","brandywinevalley.museum","brasil.museum","bristol.museum","british.museum","britishcolumbia.museum","broadcast.museum","brunel.museum","brussel.museum","brussels.museum","bruxelles.museum","building.museum","burghof.museum","bus.museum","bushey.museum","cadaques.museum","california.museum","cambridge.museum","can.museum","canada.museum","capebreton.museum","carrier.museum","cartoonart.museum","casadelamoneda.museum","castle.museum","castres.museum","celtic.museum","center.museum","chattanooga.museum","cheltenham.museum","chesapeakebay.museum","chicago.museum","children.museum","childrens.museum","childrensgarden.museum","chiropractic.museum","chocolate.museum","christiansburg.museum","cincinnati.museum","cinema.museum","circus.museum","civilisation.museum","civilization.museum","civilwar.museum","clinton.museum","clock.museum","coal.museum","coastaldefence.museum","cody.museum","coldwar.museum","collection.museum","colonialwilliamsburg.museum","coloradoplateau.museum","columbia.museum","columbus.museum","communication.museum","communications.museum","community.museum","computer.museum","computerhistory.museum","comunicações.museum","contemporary.museum","contemporaryart.museum","convent.museum","copenhagen.museum","corporation.museum","correios-e-telecomunicações.museum","corvette.museum","costume.museum","countryestate.museum","county.museum","crafts.museum","cranbrook.museum","creation.museum","cultural.museum","culturalcenter.museum","culture.museum","cyber.museum","cymru.museum","dali.museum","dallas.museum","database.museum","ddr.museum","decorativearts.museum","delaware.museum","delmenhorst.museum","denmark.museum","depot.museum","design.museum","detroit.museum","dinosaur.museum","discovery.museum","dolls.museum","donostia.museum","durham.museum","eastafrica.museum","eastcoast.museum","education.museum","educational.museum","egyptian.museum","eisenbahn.museum","elburg.museum","elvendrell.museum","embroidery.museum","encyclopedic.museum","england.museum","entomology.museum","environment.museum","environmentalconservation.museum","epilepsy.museum","essex.museum","estate.museum","ethnology.museum","exeter.museum","exhibition.museum","family.museum","farm.museum","farmequipment.museum","farmers.museum","farmstead.museum","field.museum","figueres.museum","filatelia.museum","film.museum","fineart.museum","finearts.museum","finland.museum","flanders.museum","florida.museum","force.museum","fortmissoula.museum","fortworth.museum","foundation.museum","francaise.museum","frankfurt.museum","franziskaner.museum","freemasonry.museum","freiburg.museum","fribourg.museum","frog.museum","fundacio.museum","furniture.museum","gallery.museum","garden.museum","gateway.museum","geelvinck.museum","gemological.museum","geology.museum","georgia.museum","giessen.museum","glas.museum","glass.museum","gorge.museum","grandrapids.museum","graz.museum","guernsey.museum","halloffame.museum","hamburg.museum","handson.museum","harvestcelebration.museum","hawaii.museum","health.museum","heimatunduhren.museum","hellas.museum","helsinki.museum","hembygdsforbund.museum","heritage.museum","histoire.museum","historical.museum","historicalsociety.museum","historichouses.museum","historisch.museum","historisches.museum","history.museum","historyofscience.museum","horology.museum","house.museum","humanities.museum","illustration.museum","imageandsound.museum","indian.museum","indiana.museum","indianapolis.museum","indianmarket.museum","intelligence.museum","interactive.museum","iraq.museum","iron.museum","isleofman.museum","jamison.museum","jefferson.museum","jerusalem.museum","jewelry.museum","jewish.museum","jewishart.museum","jfk.museum","journalism.museum","judaica.museum","judygarland.museum","juedisches.museum","juif.museum","karate.museum","karikatur.museum","kids.museum","koebenhavn.museum","koeln.museum","kunst.museum","kunstsammlung.museum","kunstunddesign.museum","labor.museum","labour.museum","lajolla.museum","lancashire.museum","landes.museum","lans.museum","läns.museum","larsson.museum","lewismiller.museum","lincoln.museum","linz.museum","living.museum","livinghistory.museum","localhistory.museum","london.museum","losangeles.museum","louvre.museum","loyalist.museum","lucerne.museum","luxembourg.museum","luzern.museum","mad.museum","madrid.museum","mallorca.museum","manchester.museum","mansion.museum","mansions.museum","manx.museum","marburg.museum","maritime.museum","maritimo.museum","maryland.museum","marylhurst.museum","media.museum","medical.museum","medizinhistorisches.museum","meeres.museum","memorial.museum","mesaverde.museum","michigan.museum","midatlantic.museum","military.museum","mill.museum","miners.museum","mining.museum","minnesota.museum","missile.museum","missoula.museum","modern.museum","moma.museum","money.museum","monmouth.museum","monticello.museum","montreal.museum","moscow.museum","motorcycle.museum","muenchen.museum","muenster.museum","mulhouse.museum","muncie.museum","museet.museum","museumcenter.museum","museumvereniging.museum","music.museum","national.museum","nationalfirearms.museum","nationalheritage.museum","nativeamerican.museum","naturalhistory.museum","naturalhistorymuseum.museum","naturalsciences.museum","nature.museum","naturhistorisches.museum","natuurwetenschappen.museum","naumburg.museum","naval.museum","nebraska.museum","neues.museum","newhampshire.museum","newjersey.museum","newmexico.museum","newport.museum","newspaper.museum","newyork.museum","niepce.museum","norfolk.museum","north.museum","nrw.museum","nyc.museum","nyny.museum","oceanographic.museum","oceanographique.museum","omaha.museum","online.museum","ontario.museum","openair.museum","oregon.museum","oregontrail.museum","otago.museum","oxford.museum","pacific.museum","paderborn.museum","palace.museum","paleo.museum","palmsprings.museum","panama.museum","paris.museum","pasadena.museum","pharmacy.museum","philadelphia.museum","philadelphiaarea.museum","philately.museum","phoenix.museum","photography.museum","pilots.museum","pittsburgh.museum","planetarium.museum","plantation.museum","plants.museum","plaza.museum","portal.museum","portland.museum","portlligat.museum","posts-and-telecommunications.museum","preservation.museum","presidio.museum","press.museum","project.museum","public.museum","pubol.museum","quebec.museum","railroad.museum","railway.museum","research.museum","resistance.museum","riodejaneiro.museum","rochester.museum","rockart.museum","roma.museum","russia.museum","saintlouis.museum","salem.museum","salvadordali.museum","salzburg.museum","sandiego.museum","sanfrancisco.museum","santabarbara.museum","santacruz.museum","santafe.museum","saskatchewan.museum","satx.museum","savannahga.museum","schlesisches.museum","schoenbrunn.museum","schokoladen.museum","school.museum","schweiz.museum","science.museum","scienceandhistory.museum","scienceandindustry.museum","sciencecenter.museum","sciencecenters.museum","science-fiction.museum","sciencehistory.museum","sciences.museum","sciencesnaturelles.museum","scotland.museum","seaport.museum","settlement.museum","settlers.museum","shell.museum","sherbrooke.museum","sibenik.museum","silk.museum","ski.museum","skole.museum","society.museum","sologne.museum","soundandvision.museum","southcarolina.museum","southwest.museum","space.museum","spy.museum","square.museum","stadt.museum","stalbans.museum","starnberg.museum","state.museum","stateofdelaware.museum","station.museum","steam.museum","steiermark.museum","stjohn.museum","stockholm.museum","stpetersburg.museum","stuttgart.museum","suisse.museum","surgeonshall.museum","surrey.museum","svizzera.museum","sweden.museum","sydney.museum","tank.museum","tcm.museum","technology.museum","telekommunikation.museum","television.museum","texas.museum","textile.museum","theater.museum","time.museum","timekeeping.museum","topology.museum","torino.museum","touch.museum","town.museum","transport.museum","tree.museum","trolley.museum","trust.museum","trustee.museum","uhren.museum","ulm.museum","undersea.museum","university.museum","usa.museum","usantiques.museum","usarts.museum","uscountryestate.museum","usculture.museum","usdecorativearts.museum","usgarden.museum","ushistory.museum","ushuaia.museum","uslivinghistory.museum","utah.museum","uvic.museum","valley.museum","vantaa.museum","versailles.museum","viking.museum","village.museum","virginia.museum","virtual.museum","virtuel.museum","vlaanderen.museum","volkenkunde.museum","wales.museum","wallonie.museum","war.museum","washingtondc.museum","watchandclock.museum","watch-and-clock.museum","western.museum","westfalen.museum","whaling.museum","wildlife.museum","williamsburg.museum","windmill.museum","workshop.museum","york.museum","yorkshire.museum","yosemite.museum","youth.museum","zoological.museum","zoology.museum","ירושלים.museum","иком.museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","museum.mw","net.mw","org.mw","mx","com.mx","org.mx","gob.mx","edu.mx","net.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","info.na","pro.na","name.na","school.na","or.na","dr.na","us.na","mx.na","ca.na","in.na","cc.na","tv.na","ws.na","mobi.na","co.na","com.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","com.nf","net.nf","per.nf","rec.nf","web.nf","arts.nf","firm.nf","info.nf","other.nf","store.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","vgs.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","stat.no","dep.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","brumunddal.no","bryne.no","bronnoysund.no","brønnøysund.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","afjord.no","åfjord.no","agdenes.no","al.no","ål.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alaheadju.no","álaheadju.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andebu.no","andoy.no","andøy.no","andasuolo.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askvoll.no","askoy.no","askøy.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","balestrand.no","ballangen.no","balat.no","bálát.no","balsfjord.no","bahccavuotna.no","báhccavuotna.no","bamble.no","bardu.no","beardu.no","beiarn.no","bajddar.no","bájddar.no","baidar.no","báidár.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bearalvahki.no","bearalváhki.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","badaddja.no","bådåddjå.no","budejju.no","bokn.no","bremanger.no","bronnoy.no","brønnøy.no","bygland.no","bykle.no","barum.no","bærum.no","bo.telemark.no","bø.telemark.no","bo.nordland.no","bø.nordland.no","bievat.no","bievát.no","bomlo.no","bømlo.no","batsfjord.no","båtsfjord.no","bahcavuotna.no","báhcavuotna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","donna.no","dønna.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenes.no","evenassi.no","evenášši.no","evje-og-hornnes.no","farsund.no","fauske.no","fuossko.no","fuoisku.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","fla.no","flå.no","folldal.no","forsand.no","fosnes.no","frei.no","frogn.no","froland.no","frosta.no","frana.no","fræna.no","froya.no","frøya.no","fusa.no","fyresdal.no","forde.no","førde.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","kraanghke.no","kråanghke.no","grue.no","gulen.no","hadsel.no","halden.no","halsa.no","hamar.no","hamaroy.no","habmer.no","hábmer.no","hapmir.no","hápmir.no","hammerfest.no","hammarfeasta.no","hámmárfeasta.no","haram.no","hareid.no","harstad.no","hasvik.no","aknoluokta.no","ákŋoluokta.no","hattfjelldal.no","aarborte.no","haugesund.no","hemne.no","hemnes.no","hemsedal.no","heroy.more-og-romsdal.no","herøy.møre-og-romsdal.no","heroy.nordland.no","herøy.nordland.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","hornindal.no","horten.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","hagebostad.no","hægebostad.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","ha.no","hå.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","jevnaker.no","jondal.no","jolster.no","jølster.no","karasjok.no","karasjohka.no","kárášjohka.no","karlsoy.no","galsa.no","gálsá.no","karmoy.no","karmøy.no","kautokeino.no","guovdageaidnu.no","klepp.no","klabu.no","klæbu.no","kongsberg.no","kongsvinger.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvalsund.no","rahkkeravju.no","ráhkkerávju.no","kvam.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","kvafjord.no","kvæfjord.no","giehtavuoatna.no","kvanangen.no","kvænangen.no","navuotna.no","návuotna.no","kafjord.no","kåfjord.no","gaivuotna.no","gáivuotna.no","larvik.no","lavangen.no","lavagis.no","loabat.no","loabát.no","lebesby.no","davvesiida.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","leangaviika.no","leaŋgaviika.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindesnes.no","lindas.no","lindås.no","lom.no","loppa.no","lahppi.no","láhppi.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","ivgu.no","lardal.no","lerdal.no","lærdal.no","lodingen.no","lødingen.no","lorenskog.no","lørenskog.no","loten.no","løten.no","malvik.no","masoy.no","måsøy.no","muosat.no","muosát.no","mandal.no","marker.no","marnardal.no","masfjorden.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","moareke.no","moåreke.no","midsund.no","midtre-gauldal.no","modalen.no","modum.no","molde.no","moskenes.no","moss.no","mosvik.no","malselv.no","målselv.no","malatvuopmi.no","málatvuopmi.no","namdalseid.no","aejrie.no","namsos.no","namsskogan.no","naamesjevuemie.no","nååmesjevuemie.no","laakesvuemie.no","nannestad.no","narvik.no","narviika.no","naustdal.no","nedre-eiker.no","nes.akershus.no","nes.buskerud.no","nesna.no","nesodden.no","nesseby.no","unjarga.no","unjárga.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","davvenjarga.no","davvenjárga.no","nordre-land.no","nordreisa.no","raisa.no","ráisa.no","nore-og-uvdal.no","notodden.no","naroy.no","nærøy.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","os.hedmark.no","os.hordaland.no","osen.no","osteroy.no","osterøy.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","radoy.no","radøy.no","rakkestad.no","rana.no","ruovat.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","rissa.no","risor.no","risør.no","roan.no","rollag.no","rygge.no","ralingen.no","rælingen.no","rodoy.no","rødøy.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","rade.no","råde.no","salangen.no","siellak.no","saltdal.no","salat.no","sálát.no","sálat.no","samnanger.no","sande.more-og-romsdal.no","sande.møre-og-romsdal.no","sande.vestfold.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","sigdal.no","siljan.no","sirdal.no","skaun.no","skedsmo.no","ski.no","skien.no","skiptvet.no","skjervoy.no","skjervøy.no","skierva.no","skiervá.no","skjak.no","skjåk.no","skodje.no","skanland.no","skånland.no","skanit.no","skánit.no","smola.no","smøla.no","snillfjord.no","snasa.no","snåsa.no","snoasa.no","snaase.no","snåase.no","sogndal.no","sokndal.no","sola.no","solund.no","songdalen.no","sortland.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","omasvuotna.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","sogne.no","søgne.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","matta-varjjat.no","mátta-várjjat.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sorum.no","sørum.no","tana.no","deatnu.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","dielddanuorri.no","tjome.no","tjøme.no","tokke.no","tolga.no","torsken.no","tranoy.no","tranøy.no","tromso.no","tromsø.no","tromsa.no","romsa.no","trondheim.no","troandin.no","trysil.no","trana.no","træna.no","trogstad.no","trøgstad.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","divtasvuodna.no","divttasvuotna.no","tysnes.no","tysvar.no","tysvær.no","tonsberg.no","tønsberg.no","ullensaker.no","ullensvang.no","ulvik.no","utsira.no","vadso.no","vadsø.no","cahcesuolo.no","čáhcesuolo.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","vefsn.no","vaapste.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","volda.no","voss.no","varoy.no","værøy.no","vagan.no","vågan.no","voagat.no","vagsoy.no","vågsøy.no","vaga.no","vågå.no","valer.ostfold.no","våler.østfold.no","valer.hedmark.no","våler.hedmark.no","*.np","nr","biz.nr","info.nr","gov.nr","edu.nr","org.nr","net.nr","com.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","mil.nz","māori.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","ac.pa","gob.pa","com.pa","org.pa","sld.pa","edu.pa","net.pa","ing.pa","abo.pa","med.pa","nom.pa","pe","edu.pe","gob.pe","nom.pe","mil.pe","org.pe","com.pe","net.pe","pf","com.pf","org.pf","edu.pf","*.pg","ph","com.ph","net.ph","org.ph","gov.ph","edu.ph","ngo.ph","mil.ph","i.ph","pk","com.pk","net.pk","edu.pk","org.pk","fam.pk","biz.pk","web.pk","gov.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","pl","com.pl","net.pl","org.pl","aid.pl","agro.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","miasta.pl","media.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","ic.gov.pl","is.gov.pl","us.gov.pl","kmpsp.gov.pl","kppsp.gov.pl","kwpsp.gov.pl","psp.gov.pl","wskr.gov.pl","kwp.gov.pl","mw.gov.pl","ug.gov.pl","um.gov.pl","umig.gov.pl","ugim.gov.pl","upow.gov.pl","uw.gov.pl","starostwo.gov.pl","pa.gov.pl","po.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","so.gov.pl","sr.gov.pl","wsa.gov.pl","sko.gov.pl","uzs.gov.pl","wiih.gov.pl","winb.gov.pl","pinb.gov.pl","wios.gov.pl","witd.gov.pl","wzmiuw.gov.pl","piw.gov.pl","wiw.gov.pl","griw.gov.pl","wif.gov.pl","oum.gov.pl","sdn.gov.pl","zp.gov.pl","uppo.gov.pl","mup.gov.pl","wuoz.gov.pl","konsulat.gov.pl","oirm.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","kazimierz-dolny.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorze.pl","pomorskie.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","skoczow.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","gov.pn","co.pn","org.pn","edu.pn","net.pn","post","pr","com.pr","net.pr","org.pr","gov.pr","edu.pr","isla.pr","pro.pr","biz.pr","info.pr","name.pr","est.pr","prof.pr","ac.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","edu.ps","gov.ps","sec.ps","plo.ps","com.ps","org.ps","net.ps","pt","net.pt","gov.pt","org.pt","edu.pt","int.pt","publ.pt","com.pt","nome.pt","pw","co.pw","ne.pw","or.pw","ed.pw","go.pw","belau.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","nom.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","net.sa","org.sa","gov.sa","med.sa","pub.sa","edu.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","gov.sc","net.sc","org.sc","edu.sc","sd","com.sd","net.sd","org.sd","edu.sd","med.sd","tv.sd","gov.sd","info.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","net.sg","org.sg","gov.sg","edu.sg","per.sg","sh","com.sh","net.sh","gov.sh","org.sh","mil.sh","si","sj","sk","sl","com.sl","net.sl","edu.sl","gov.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","edu.sy","gov.sy","net.sy","mil.sy","com.sy","org.sy","sz","co.sz","ac.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","com.tm","co.tm","org.tm","net.tm","nom.tm","gov.tm","mil.tm","edu.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","gov.to","net.to","org.to","edu.to","mil.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","mil.tr","k12.tr","kep.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","co.tt","com.tt","org.tt","net.tt","biz.tt","info.tt","pro.tt","int.tt","coop.tt","jobs.tt","mobi.tt","travel.tt","museum.tt","aero.tt","name.tt","gov.tt","edu.tt","tv","tw","edu.tw","gov.tw","mil.tw","com.tw","net.tw","org.tw","idv.tw","game.tw","ebiz.tw","club.tw","網路.tw","組織.tw","商業.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","co.ug","or.ug","ac.ug","sc.ug","go.ug","ne.ug","com.ug","org.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","vi.us","vt.us","va.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.de.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.vi.us","k12.vt.us","k12.va.us","k12.wa.us","k12.wi.us","k12.wy.us","cc.ak.us","cc.al.us","cc.ar.us","cc.as.us","cc.az.us","cc.ca.us","cc.co.us","cc.ct.us","cc.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.vi.us","cc.vt.us","cc.va.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","lib.ak.us","lib.al.us","lib.ar.us","lib.as.us","lib.az.us","lib.ca.us","lib.co.us","lib.ct.us","lib.dc.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.vi.us","lib.vt.us","lib.va.us","lib.wa.us","lib.wi.us","lib.wy.us","pvt.k12.ma.us","chtr.k12.ma.us","paroch.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","net.vc","org.vc","gov.vc","mil.vc","edu.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","net.ws","org.ws","gov.ws","edu.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","公司.香港","教育.香港","政府.香港","個人.香港","網絡.香港","組織.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","пр.срб","орг.срб","обр.срб","од.срб","упр.срб","ак.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ศึกษา.ไทย","ธุรกิจ.ไทย","รัฐบาล.ไทย","ทหาร.ไทย","เน็ต.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","net.ye","mil.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","adac","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aws","axa","azure","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","bugatti","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","cbs","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","etisalat","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","guardian","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kinder","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","mutual","nab","nagoya","natura","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","northwesternmutual","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocher","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volkswagen","volvo","vote","voting","voto","voyage","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","诺基亚","食品","飞利浦","手机","ارامكو","العليان","اتصالات","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","cc.ua","inf.ua","ltd.ua","611.to","graphox.us","*.devcdnaccesso.com","adobeaemcloud.com","*.dev.adobeaemcloud.com","hlx.live","adobeaemcloud.net","hlx.page","hlx3.page","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","cloudfront.net","*.compute.amazonaws.com","*.compute-1.amazonaws.com","*.compute.amazonaws.com.cn","us-east-1.amazonaws.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com","*.elb.amazonaws.com.cn","awsglobalaccelerator.com","s3.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3.ca-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.eu-west-3.amazonaws.com","s3.us-east-2.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3-website.us-east-2.amazonaws.com","t3l3p0rt.net","tele.amune.org","apigee.io","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","backplaneapp.io","balena-devices.com","rs.ba","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","*.beget.app","betainabox.com","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","shop.brendly.rs","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","mycd.eu","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","ae.org","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.net","hu.net","jp.net","jpn.com","mex.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","za.bz","za.com","ar.com","hu.com","kr.com","no.com","qc.com","uy.com","africa.com","gr.com","in.net","web.in","us.org","co.com","aus.basketball","nz.basketball","radio.am","radio.fm","c.la","certmgr.org","cx.ua","discourse.group","discourse.team","cleverapps.io","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","clickrising.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","*.cloudera.site","pages.dev","trycloudflare.com","workers.dev","wnext.app","co.ca","*.otap.co","co.cz","c.cdn77.org","cdn77-ssl.net","r.cdn77.net","rsc.cdn77.org","ssl.origin.cdn77-secure.org","cloudns.asia","cloudns.biz","cloudns.club","cloudns.cc","cloudns.eu","cloudns.in","cloudns.info","cloudns.org","cloudns.pro","cloudns.pw","cloudns.us","cnpy.gdn","codeberg.page","co.nl","co.no","webhosting.be","hosting-cluster.nl","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dynamisches-dns.de","dnsupdater.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","realm.cz","*.cryptonomic.net","cupcake.is","curv.dev","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","cyon.link","cyon.site","fnwk.site","folionetwork.site","platform0.app","daplie.me","localhost.daplie.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","*.dapps.earth","*.bzz.dapps.earth","builtwithdark.com","demo.datadetect.com","instance.datadetect.com","edgestack.me","ddns5.com","debian.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","*.rss.my.id","*.diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","bip.sh","bitbridge.net","dy.fi","tunk.org","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","dyndns.biz","dyndns.info","dyndns.org","dyndns.tv","at-band-camp.net","ath.cx","barrel-of-knowledge.info","barrell-of-knowledge.info","better-than.tv","blogdns.com","blogdns.net","blogdns.org","blogsite.org","boldlygoingnowhere.org","broke-it.net","buyshouses.net","cechire.com","dnsalias.com","dnsalias.net","dnsalias.org","dnsdojo.com","dnsdojo.net","dnsdojo.org","does-it.net","doesntexist.com","doesntexist.org","dontexist.com","dontexist.net","dontexist.org","doomdns.com","doomdns.org","dvrdns.org","dyn-o-saur.com","dynalias.com","dynalias.net","dynalias.org","dynathome.net","dyndns.ws","endofinternet.net","endofinternet.org","endoftheinternet.org","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","for-better.biz","for-more.biz","for-our.info","for-some.biz","for-the.biz","forgot.her.name","forgot.his.name","from-ak.com","from-al.com","from-ar.com","from-az.net","from-ca.com","from-co.net","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-la.net","from-ma.com","from-md.com","from-me.org","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-ny.net","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","ftpaccess.cc","fuettertdasnetz.de","game-host.org","game-server.cc","getmyip.com","gets-it.net","go.dyndns.org","gotdns.com","gotdns.org","groks-the.info","groks-this.info","ham-radio-op.net","here-for-more.info","hobby-site.com","hobby-site.org","home.dyndns.org","homedns.org","homeftp.net","homeftp.org","homeip.net","homelinux.com","homelinux.net","homelinux.org","homeunix.com","homeunix.net","homeunix.org","iamallama.com","in-the-band.net","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bruinsfan.org","is-a-bulls-fan.com","is-a-candidate.org","is-a-caterer.com","is-a-celticsfan.org","is-a-chef.com","is-a-chef.net","is-a-chef.org","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-geek.net","is-a-geek.org","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-knight.org","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-linux-user.org","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-patsfan.org","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-soxfan.org","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-by.us","is-certified.com","is-found.org","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-lost.org","is-not-certified.com","is-saved.org","is-slick.com","is-uberleet.com","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","is-with-theband.com","isa-geek.com","isa-geek.net","isa-geek.org","isa-hockeynut.com","issmarterthanyou.com","isteingeek.de","istmein.de","kicks-ass.net","kicks-ass.org","knowsitall.info","land-4-sale.us","lebtimnetz.de","leitungsen.de","likes-pie.com","likescandy.com","merseine.nu","mine.nu","misconfused.org","mypets.ws","myphotos.cc","neat-url.com","office-on-the.net","on-the-web.tv","podzone.net","podzone.org","readmyblog.org","saves-the-whales.com","scrapper-site.net","scrapping.cc","selfip.biz","selfip.com","selfip.info","selfip.net","selfip.org","sells-for-less.com","sells-for-u.com","sells-it.net","sellsyourhome.org","servebbs.com","servebbs.net","servebbs.org","serveftp.net","serveftp.org","servegame.org","shacknet.nu","simple-url.com","space-to-rent.com","stuff-4-sale.org","stuff-4-sale.us","teaches-yoga.com","thruhere.net","traeumtgerade.de","webhop.biz","webhop.info","webhop.net","webhop.org","worse-than.tv","writesthisblog.com","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyndns1.de","dyn-ip24.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","definima.net","definima.io","ondigitalocean.app","*.digitaloceanspaces.com","bci.dnstrace.pro","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","blogsite.xyz","dynv6.net","e4.cz","eero.online","eero-stage.online","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","onred.one","staging.onred.one","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","mc.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","paris.eu.org","pl.eu.org","pt.eu.org","q-a.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","onfabrica.com","apps.fbsbx.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-terrarium.com","fastlylb.net","map.fastlylb.net","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","hosp.uk","mydobiss.com","fh-muenster.io","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fireweb.app","flap.id","onflashdrive.app","fldrv.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","forgeblocks.com","id.forgerock.io","framer.app","framercanvas.com","*.frusky.de","ravpage.co.il","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","campaign.gov.uk","service.gov.uk","api.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","ghost.io","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","cloudapps.digital","london.cloudapps.digital","pymnt.uk","homeoffice.gov.uk","ro.im","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","*.gateway.dev","cloud.goog","translate.goog","*.usercontent.goog","cloudfunctions.net","blogspot.ae","blogspot.al","blogspot.am","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.co.at","blogspot.co.id","blogspot.co.il","blogspot.co.ke","blogspot.co.nz","blogspot.co.uk","blogspot.co.za","blogspot.com","blogspot.com.ar","blogspot.com.au","blogspot.com.br","blogspot.com.by","blogspot.com.co","blogspot.com.cy","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.com.mt","blogspot.com.ng","blogspot.com.tr","blogspot.com.uy","blogspot.cv","blogspot.cz","blogspot.de","blogspot.dk","blogspot.fi","blogspot.fr","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.ie","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.mr","blogspot.mx","blogspot.my","blogspot.nl","blogspot.no","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.tw","blogspot.ug","blogspot.vn","goupile.fr","gov.nl","awsmppl.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","pages.it.hs-heilbronn.de","hepforge.org","herokuapp.com","herokussl.com","ravendb.cloud","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","homesklep.pl","secaas.hk","hoplix.shop","orx.biz","biz.gl","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","edu.scot","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","ibxos.it","iliadboxos.it","impertrixcdn.com","impertrix.com","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-dsl.net","in-dsl.org","in-vpn.de","in-vpn.net","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","iopsys.se","ipifony.net","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","mel.cloudlets.com.au","cloud.interhostsolutions.be","users.scale.virtualcloud.com.br","mycloud.by","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","amscompute.com","clicketcloud.com","dopaas.com","hidora.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","kilatiron.com","paas.massivegrid.com","jed.wafaicloud.com","lon.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","cloud-fr1.unispace.io","jc.neen.it","cloud.jelastic.open.tim.it","jcloud.kz","upaas.kazteleport.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","faststacks.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","jelastic.tsukaeru.net","sdscloud.pl","unicloud.pl","mircloud.ru","jelastic.regruhosting.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","ktistory.com","kapsi.fi","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","oya.to","kuleuven.cloud","ezproxy.kuleuven.be","co.krd","edu.krd","krellian.net","webthings.io","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","app.lmpm.com","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","*.user.localcert.dev","localzone.xyz","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","servers.run","lohmus.me","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.co.uk","barsyonline.co.uk","barsycenter.com","barsyonline.com","barsy.club","barsy.de","barsy.eu","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","cn.vu","mazeplay.com","mcpe.me","mcdir.me","mcdir.ru","mcpre.ru","vps.mcdir.ru","mediatech.by","mediatech.dev","hra.health","miniserver.com","memset.net","messerli.app","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azurewebsites.net","azure-mobile.net","cloudapp.net","azurestaticapps.net","1.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","csx.cc","mintere.site","forte.id","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","customer.mythic-beasts.com","caracal.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","pony.club","of.fashion","in.london","of.london","from.marketing","with.marketing","for.men","repair.men","and.mom","for.mom","for.one","under.one","for.sale","that.win","from.work","to.work","cloud.nospamproxy.com","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","dnsking.ch","mypi.co","n4t.co","001www.com","ddnslive.com","myiphost.com","forumz.info","16-b.it","32-b.it","64-b.it","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","crafting.xyz","zapto.xyz","nsupdate.info","nerdpol.ovh","blogsyte.com","brasilia.me","cable-modem.org","ciscofreak.com","collegefan.org","couchpotatofries.org","damnserver.com","ddns.me","ditchyourip.com","dnsfor.me","dnsiskinky.com","dvrcam.info","dynns.com","eating-organic.net","fantasyleague.cc","geekgalaxy.com","golffan.us","health-carereform.com","homesecuritymac.com","homesecuritypc.com","hopto.me","ilovecollege.info","loginto.me","mlbfan.org","mmafan.biz","myactivedirectory.com","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.com","mysecuritycamera.net","mysecuritycamera.org","net-freaks.com","nflfan.org","nhlfan.net","no-ip.ca","no-ip.co.uk","no-ip.net","noip.us","onthewifi.com","pgafan.net","point2this.com","pointto.us","privatizehealthinsurance.net","quicksytes.com","read-books.org","securitytactics.com","serveexchange.com","servehumour.com","servep2p.com","servesarcasm.com","stufftoread.com","ufcfan.org","unusualperson.com","workisboring.com","3utilities.com","bounceme.net","ddns.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveirc.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","stage.nodeart.io","pcloud.host","nyc.mn","static.observableusercontent.com","cya.gg","omg.lol","cloudycluster.net","omniwe.site","service.one","nid.io","opensocial.site","opencraft.hosting","orsites.com","operaunite.com","tech.orange","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.webpaas.ovh.net","*.hosting.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","*.paywhirl.com","bar0.net","bar1.net","bar2.net","rdv.to","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","lk3.ru","on-web.fr","bc.platform.sh","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qoto.io","qualifioapp.com","qbuser.com","cloudsite.builders","instances.spawn.cc","instantcloud.cn","ras.ru","qa2.com","qcx.io","*.sys.qcx.io","dev-myqnapcloud.com","alpha-myqnapcloud.com","myqnapcloud.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","g.vbrplsbx.io","*.on-k3s.io","*.on-rancher.cloud","*.on-rio.io","readthedocs.io","rhcloud.com","app.render.com","onrender.com","repl.co","id.repl.co","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","wellbeingzone.co.uk","adimo.co.uk","itcouldbewor.se","git-pages.rit.edu","rocky.page","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","sandcats.io","logoip.de","logoip.com","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","senseering.net","minisite.ms","magnet.page","biz.ua","co.ua","pp.ua","shiftcrypto.dev","shiftcrypto.io","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","bounty-full.com","alpha.bounty-full.com","beta.bounty-full.com","small-web.org","vp4.me","try-snowplow.com","srht.site","stackhero-network.com","musician.io","novecore.site","static.land","dev.static.land","sites.static.land","storebase.store","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","supabase.co","supabase.in","supabase.net","su.paba.se","*.s5y.io","*.sensiosite.cloud","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","vpnplus.to","direct.quickconnect.to","tabitorder.co.il","taifun-dns.de","beta.tailscale.net","ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.dev.thingdust.io","reservd.disrec.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","bloxcms.com","townnews-staging.com","tbits.me","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","*.transurl.nl","site.transip.me","tuxfamily.org","dd-dns.de","diskstation.eu","diskstation.org","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","typedream.app","pro.typeform.com","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","name.pm","sch.tf","biz.wf","sch.wf","org.yt","virtualuser.de","virtual-user.de","upli.io","urown.cloud","dnsupdate.info","lib.de.us","2038.io","vercel.app","vercel.dev","now.sh","router.management","v-info.info","voorloper.cloud","neko.am","nyaa.am","be.ax","cat.ax","es.ax","eu.ax","gg.ax","mc.ax","us.ax","xy.ax","nl.ci","xx.gl","app.gp","blog.gt","de.gt","to.gt","be.gy","cc.hn","blog.kg","io.kg","jp.kg","tv.kg","uk.kg","us.kg","de.ls","at.md","de.md","jp.md","to.md","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","*.vultrobjects.com","wafflecell.com","*.webhare.dev","reserve-online.net","reserve-online.com","bookonline.app","hotelwithflight.com","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","pages.wiardweb.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","wixsite.com","editorx.io","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","ybo.faith","yombo.me","homelink.one","ybo.party","ybo.review","ybo.science","ybo.trade","ynh.fr","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"]}}),$Be=VBe({"node_modules/psl/index.js"(e){var a=JBe(),t={};t.rules=ZBe().map((function(e){return{rule:e,suffix:e.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:"*"===e.charAt(0),exception:"!"===e.charAt(0)}})),t.endsWith=function(e,a){return-1!==e.indexOf(a,e.length-a.length)},t.findRule=function(e){var n=a.toASCII(e);return t.rules.reduce((function(e,i){return-1===i.punySuffix&&(i.punySuffix=a.toASCII(i.suffix)),t.endsWith(n,"."+i.punySuffix)||n===i.punySuffix?i:e}),null)},e.errorCodes={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},t.validate=function(e){var t=a.toASCII(e);if(t.length<1)return"DOMAIN_TOO_SHORT";if(t.length>255)return"DOMAIN_TOO_LONG";for(var n,i=t.split("."),r=0;r<i.length;++r){if(!(n=i[r]).length)return"LABEL_TOO_SHORT";if(n.length>63)return"LABEL_TOO_LONG";if("-"===n.charAt(0))return"LABEL_STARTS_WITH_DASH";if("-"===n.charAt(n.length-1))return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(n))return"LABEL_INVALID_CHARS"}},e.parse=function(n){if("string"!=typeof n)throw new TypeError("Domain name must be a string.");var i=n.slice(0).toLowerCase();"."===i.charAt(i.length-1)&&(i=i.slice(0,i.length-1));var r=t.validate(i);if(r)return{input:n,error:{message:e.errorCodes[r],code:r}};var o={input:n,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=i.split(".");if("local"===s[s.length-1])return o;var l=function(){return/xn--/.test(i)?(o.domain&&(o.domain=a.toASCII(o.domain)),o.subdomain&&(o.subdomain=a.toASCII(o.subdomain)),o):o},u=t.findRule(i);if(!u)return s.length<2?o:(o.tld=s.pop(),o.sld=s.pop(),o.domain=[o.sld,o.tld].join("."),s.length&&(o.subdomain=s.pop()),l());o.listed=!0;var c=u.suffix.split("."),d=s.slice(0,s.length-c.length);return u.exception&&d.push(c.shift()),o.tld=c.join("."),d.length?(u.wildcard&&(c.unshift(d.pop()),o.tld=c.join(".")),d.length?(o.sld=d.pop(),o.domain=[o.sld,o.tld].join("."),d.length&&(o.subdomain=d.join(".")),l()):l()):l()},e.get=function(a){return a&&e.parse(a).domain||null},e.isValid=function(a){var t=e.parse(a);return Boolean(t.domain&&t.listed)}}}),YBe=VBe({"node_modules/tough-cookie/lib/pubsuffix-psl.js"(e){var a=$Be(),t=["local","example","invalid","localhost","test"],n=["localhost","invalid"];e.getPublicSuffix=function(e,i={}){const r=e.split("."),o=r[r.length-1],s=!!i.ignoreError;if(!!i.allowSpecialUseDomain&&t.includes(o)){if(r.length>1){return`${r[r.length-2]}.${o}`}if(n.includes(o))return`${o}`}if(!s&&t.includes(o))throw new Error(`Cookie has domain set to the public suffix "${o}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`);return a.get(e)}}}),QBe=VBe({"node_modules/tough-cookie/lib/store.js"(e){e.Store=class{constructor(){this.synchronous=!1}findCookie(e,a,t,n){throw new Error("findCookie is not implemented")}findCookies(e,a,t,n){throw new Error("findCookies is not implemented")}putCookie(e,a){throw new Error("putCookie is not implemented")}updateCookie(e,a,t){throw new Error("updateCookie is not implemented")}removeCookie(e,a,t,n){throw new Error("removeCookie is not implemented")}removeCookies(e,a,t){throw new Error("removeCookies is not implemented")}removeAllCookies(e){throw new Error("removeAllCookies is not implemented")}getAllCookies(e){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}}}}),XBe=VBe({"node_modules/universalify/index.js"(e){e.fromCallback=function(e){return Object.defineProperty((function(){if("function"!=typeof arguments[arguments.length-1])return new Promise(((a,t)=>{arguments[arguments.length]=(e,n)=>{if(e)return t(e);a(n)},arguments.length++,e.apply(this,arguments)}));e.apply(this,arguments)}),"name",{value:e.name})},e.fromPromise=function(e){return Object.defineProperty((function(){const a=arguments[arguments.length-1];if("function"!=typeof a)return e.apply(this,arguments);delete arguments[arguments.length-1],arguments.length--,e.apply(this,arguments).then((e=>a(null,e)),a)}),"name",{value:e.name})}}}),eRe=VBe({"node_modules/tough-cookie/lib/permuteDomain.js"(e){var a=YBe();e.permuteDomain=function(e,t){const n=a.getPublicSuffix(e,{allowSpecialUseDomain:t});if(!n)return null;if(n==e)return[e];"."==e.slice(-1)&&(e=e.slice(0,-1));const i=e.slice(0,-(n.length+1)).split(".").reverse();let r=n;const o=[r];for(;i.length;)r=`${i.shift()}.${r}`,o.push(r);return o}}}),aRe=VBe({"node_modules/tough-cookie/lib/pathMatch.js"(e){e.pathMatch=function(e,a){if(a===e)return!0;if(0===e.indexOf(a)){if("/"===a.substr(-1))return!0;if("/"===e.substr(a.length,1))return!0}return!1}}}),tRe=VBe({"node_modules/tough-cookie/lib/utilHelper.js"(e){function a(){try{return GBe("util")}catch(jFe){return null}}function t(){return Symbol.for("nodejs.util.inspect.custom")}e.getUtilInspect=function(e,t={}){const n=(t.requireUtil||a)();return function(a,t,i){return n?n.inspect(a,t,i):e(a)}},e.getCustomInspectSymbol=function(e={}){return(e.lookupCustomInspectSymbol||t)()||function(e){const t=(e.requireUtil||a)();return t?t.inspect.custom:null}(e)}}}),nRe=VBe({"node_modules/tough-cookie/lib/memstore.js"(e){var{fromCallback:a}=XBe(),t=QBe().Store,n=eRe().permuteDomain,i=aRe().pathMatch,{getCustomInspectSymbol:r,getUtilInspect:o}=tRe(),s=class extends t{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null);const e=r();e&&(this[e]=this.inspect)}inspect(){return`{ idx: ${{inspect:o(l)}.inspect(this.idx,!1,2)} }`}findCookie(e,a,t,n){return n(null,this.idx[e]&&this.idx[e][a]?this.idx[e][a][t]||null:void 0)}findCookies(e,a,t,r){const o=[];if("function"==typeof t&&(r=t,t=!0),!e)return r(null,[]);let s;s=a?function(e){Object.keys(e).forEach((t=>{if(i(a,t)){const a=e[t];for(const e in a)o.push(a[e])}}))}:function(e){for(const a in e){const t=e[a];for(const e in t)o.push(t[e])}};const l=n(e,t)||[e],u=this.idx;l.forEach((e=>{const a=u[e];a&&s(a)})),r(null,o)}putCookie(e,a){this.idx[e.domain]||(this.idx[e.domain]=Object.create(null)),this.idx[e.domain][e.path]||(this.idx[e.domain][e.path]=Object.create(null)),this.idx[e.domain][e.path][e.key]=e,a(null)}updateCookie(e,a,t){this.putCookie(a,t)}removeCookie(e,a,t,n){this.idx[e]&&this.idx[e][a]&&this.idx[e][a][t]&&delete this.idx[e][a][t],n(null)}removeCookies(e,a,t){return this.idx[e]&&(a?delete this.idx[e][a]:delete this.idx[e]),t(null)}removeAllCookies(e){return this.idx=Object.create(null),e(null)}getAllCookies(e){const a=[],t=this.idx;Object.keys(t).forEach((e=>{Object.keys(t[e]).forEach((n=>{Object.keys(t[e][n]).forEach((i=>{null!==i&&a.push(t[e][n][i])}))}))})),a.sort(((e,a)=>(e.creationIndex||0)-(a.creationIndex||0))),e(null,a)}};function l(e){const a=Object.keys(e);if(0===a.length)return"[Object: null prototype] {}";let t="[Object: null prototype] {\n";return Object.keys(e).forEach(((n,i)=>{t+=function(e,a){const t=" ";let n=`${t}'${e}': [Object: null prototype] {\n`;return Object.keys(a).forEach(((e,t,i)=>{n+=function(e,a){const t=" ";let n=`${t}'${e}': [Object: null prototype] {\n`;return Object.keys(a).forEach(((e,t,i)=>{n+=` ${e}: ${a[e].inspect()}`,t<i.length-1&&(n+=","),n+="\n"})),n+=`${t}}`,n}(e,a[e]),t<i.length-1&&(n+=","),n+="\n"})),n+=`${t}}`,n}(n,e[n]),i<a.length-1&&(t+=","),t+="\n"})),t+="}",t}["findCookie","findCookies","putCookie","updateCookie","removeCookie","removeCookies","removeAllCookies","getAllCookies"].forEach((e=>{s.prototype[e]=a(s.prototype[e])})),e.MemoryCookieStore=s,e.inspectFallback=l}}),iRe=VBe({"node_modules/tough-cookie/lib/validators.js"(e){var a=Object.prototype.toString;function t(e){return"function"==typeof e}function n(e){return i(e)&&""!==e}function i(e){return"string"==typeof e||e instanceof String}function r(e){return"[object Object]"===a.call(e)}function o(e,a){try{return e instanceof a}catch(t){return!1}}var s=class extends Error{constructor(...e){super(...e)}};e.ParameterError=s,e.isFunction=t,e.isNonEmptyString=n,e.isDate=function(e){return o(e,Date)&&function(e){return"number"==typeof e&&e%1==0}(e.getTime())},e.isEmptyString=function(e){return""===e||e instanceof String&&""===e.toString()},e.isString=i,e.isObject=r,e.isUrlStringOrObject=function(e){return n(e)||r(e)&&"hostname"in e&&"pathname"in e&&"protocol"in e||o(e,URL)},e.validate=function(e,a,n){if(t(a)||(n=a,a=null),r(n)||(n={Error:"Failed Check"}),!e){if(!a)throw new s(n);a(new s(n))}}}}),rRe=VBe({"node_modules/tough-cookie/lib/version.js"(e,a){a.exports="4.1.4"}}),oRe=VBe({"node_modules/tough-cookie/lib/cookie.js"(e){var a=JBe(),t=qBe(),n=YBe(),i=QBe().Store,r=nRe().MemoryCookieStore,o=aRe().pathMatch,s=iRe(),l=rRe(),{fromCallback:u}=XBe(),{getCustomInspectSymbol:c}=tRe(),d=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/,m=/[\x00-\x1F]/,h=["\n","\r","\0"],p=/[\x20-\x3A\x3C-\x7E]+/,g=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/,f={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},v=2147483647e3,y='Invalid sameSiteContext option for getCookies(); expected one of "strict", "lax", or "none"';function b(e){s.validate(s.isNonEmptyString(e),e);const a=String(e).toLowerCase();return"none"===a||"lax"===a||"strict"===a?a:null}var k=Object.freeze({SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"}),S=/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-f\d]{1,4}:){7}(?:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,2}|:)|(?:[a-f\d]{1,4}:){4}(?:(?::[a-f\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,3}|:)|(?:[a-f\d]{1,4}:){3}(?:(?::[a-f\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,4}|:)|(?:[a-f\d]{1,4}:){2}(?:(?::[a-f\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,5}|:)|(?:[a-f\d]{1,4}:){1}(?:(?::[a-f\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,6}|:)|(?::(?:(?::[a-f\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,7}|:)))$)/,w="\n\\[?(?:\n(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|\n(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|\n(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|\n(?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|\n(?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:))\n)(?:%[0-9a-zA-Z]{1,})?\\]?\n".replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),A=new RegExp(`^${w}$`);function C(e,a,t,n){let i=0;for(;i<e.length;){const a=e.charCodeAt(i);if(a<=47||a>=58)break;i++}return i<a||i>t?null:n||i==e.length?parseInt(e.substr(0,i),10):null}function M(e){const a=e.split(":"),t=[0,0,0];if(3!==a.length)return null;for(let n=0;n<3;n++){const e=C(a[n],1,2,2==n);if(null===e)return null;t[n]=e}return t}function T(e){e=String(e).substr(0,3).toLowerCase();const a=f[e];return a>=0?a:null}function x(e){if(!e)return;const a=e.split(g);if(!a)return;let t=null,n=null,i=null,r=null,o=null,s=null;for(let l=0;l<a.length;l++){const e=a[l].trim();if(!e.length)continue;let u;null===i&&(u=M(e),u)?(t=u[0],n=u[1],i=u[2]):null!==r||(u=C(e,1,2,!0),null===u)?null!==o||(u=T(e),null===u)?null===s&&(u=C(e,2,4,!0),null!==u&&(s=u,s>=70&&s<=99?s+=1900:s>=0&&s<=69&&(s+=2e3))):o=u:r=u}return null===r||null===o||null===s||null===i||r<1||r>31||s<1601||t>23||n>59||i>59?void 0:new Date(Date.UTC(s,o,r,t,n,i))}function N(e){return s.validate(s.isDate(e),e),e.toUTCString()}function E(e){return null==e?null:(e=e.trim().replace(/^\./,""),A.test(e)&&(e=e.replace("[","").replace("]","")),a&&/[^\u0001-\u007f]/.test(e)&&(e=a.toASCII(e)),e.toLowerCase())}function _(e,a,t){if(null==e||null==a)return null;if(!1!==t&&(e=E(e),a=E(a)),e==a)return!0;const n=e.lastIndexOf(a);return!(n<=0)&&(e.length===a.length+n&&("."===e.substr(n-1,1)&&!S.test(e)))}function j(e){if(!e||"/"!==e.substr(0,1))return"/";if("/"===e)return e;const a=e.lastIndexOf("/");return 0===a?"/":e.slice(0,a)}function P(e,a){e=function(e){if(s.isEmptyString(e))return e;for(let a=0;a<h.length;a++){const t=e.indexOf(h[a]);-1!==t&&(e=e.substr(0,t))}return e}(e),s.validate(s.isString(e),e);let t,n,i=e.indexOf("=");if(a)0===i&&(i=(e=e.substr(1)).indexOf("="));else if(i<=0)return;if(i<=0?(t="",n=e.trim()):(t=e.substr(0,i).trim(),n=e.substr(i+1).trim()),m.test(t)||m.test(n))return;const r=new I;return r.key=t,r.value=n,r}function L(e,a){if(a&&"object"==typeof a||(a={}),s.isEmptyString(e)||!s.isString(e))return null;const t=(e=e.trim()).indexOf(";"),n=P(-1===t?e:e.substr(0,t),!!a.loose);if(!n)return;if(-1===t)return n;const i=e.slice(t+1).trim();if(0===i.length)return n;const r=i.split(";");for(;r.length;){const e=r.shift().trim();if(0===e.length)continue;const a=e.indexOf("=");let t,i;switch(-1===a?(t=e,i=null):(t=e.substr(0,a),i=e.substr(a+1)),t=t.trim().toLowerCase(),i&&(i=i.trim()),t){case"expires":if(i){const e=x(i);e&&(n.expires=e)}break;case"max-age":if(i&&/^-?[0-9]+$/.test(i)){const e=parseInt(i,10);n.setMaxAge(e)}break;case"domain":if(i){const e=i.trim().replace(/^\./,"");e&&(n.domain=e.toLowerCase())}break;case"path":n.path=i&&"/"===i[0]?i:null;break;case"secure":n.secure=!0;break;case"httponly":n.httpOnly=!0;break;case"samesite":switch(i?i.toLowerCase():""){case"strict":n.sameSite="strict";break;case"lax":n.sameSite="lax";break;case"none":n.sameSite="none";break;default:n.sameSite=void 0}break;default:n.extensions=n.extensions||[],n.extensions.push(e)}}return n}function B(e){let a;try{a=JSON.parse(e)}catch(jFe){return jFe}return a}function R(e){if(!e||s.isEmptyString(e))return null;let a;if("string"==typeof e){if(a=B(e),a instanceof Error)return null}else a=e;const t=new I;for(let n=0;n<I.serializableProperties.length;n++){const e=I.serializableProperties[n];void 0!==a[e]&&a[e]!==O[e]&&(t[e]="expires"===e||"creation"===e||"lastAccessed"===e?null===a[e]?null:"Infinity"==a[e]?"Infinity":new Date(a[e]):a[e])}return t}function D(e,a){s.validate(s.isObject(e),e),s.validate(s.isObject(a),a);let t=0;if(t=(a.path?a.path.length:0)-(e.path?e.path.length:0),0!==t)return t;return t=(e.creation?e.creation.getTime():v)-(a.creation?a.creation.getTime():v),0!==t||(t=e.creationIndex-a.creationIndex),t}function z(e){if(e instanceof Object)return e;try{e=decodeURI(e)}catch(EFe){}return t(e)}var O={key:"",value:"",expires:"Infinity",maxAge:null,domain:null,path:null,secure:!1,httpOnly:!1,extensions:null,hostOnly:null,pathIsDefault:null,creation:null,lastAccessed:null,sameSite:void 0},I=class e{constructor(a={}){const t=c();t&&(this[t]=this.inspect),Object.assign(this,O,a),this.creation=this.creation||new Date,Object.defineProperty(this,"creationIndex",{configurable:!1,enumerable:!1,writable:!0,value:++e.cookiesCreated})}inspect(){const e=Date.now(),a=null!=this.hostOnly?this.hostOnly:"?",t=this.creation?e-this.creation.getTime()+"ms":"?",n=this.lastAccessed?e-this.lastAccessed.getTime()+"ms":"?";return`Cookie="${this.toString()}; hostOnly=${a}; aAge=${n}; cAge=${t}"`}toJSON(){const a={};for(const t of e.serializableProperties)this[t]!==O[t]&&("expires"===t||"creation"===t||"lastAccessed"===t?a[t]=null===this[t]?null:"Infinity"==this[t]?"Infinity":this[t].toISOString():"maxAge"===t?null!==this[t]&&(a[t]=this[t]==1/0||this[t]==-1/0?this[t].toString():this[t]):this[t]!==O[t]&&(a[t]=this[t]));return a}clone(){return R(this.toJSON())}validate(){if(!d.test(this.value))return!1;if(!(this.expires==1/0||this.expires instanceof Date||x(this.expires)))return!1;if(null!=this.maxAge&&this.maxAge<=0)return!1;if(null!=this.path&&!p.test(this.path))return!1;const e=this.cdomain();if(e){if(e.match(/\.$/))return!1;if(null==n.getPublicSuffix(e))return!1}return!0}setExpires(e){this.expires=e instanceof Date?e:x(e)||"Infinity"}setMaxAge(e){this.maxAge=e===1/0||e===-1/0?e.toString():e}cookieString(){let e=this.value;return null==e&&(e=""),""===this.key?e:`${this.key}=${e}`}toString(){let a=this.cookieString();if(this.expires!=1/0&&(this.expires instanceof Date?a+=`; Expires=${N(this.expires)}`:a+=`; Expires=${this.expires}`),null!=this.maxAge&&this.maxAge!=1/0&&(a+=`; Max-Age=${this.maxAge}`),this.domain&&!this.hostOnly&&(a+=`; Domain=${this.domain}`),this.path&&(a+=`; Path=${this.path}`),this.secure&&(a+="; Secure"),this.httpOnly&&(a+="; HttpOnly"),this.sameSite&&"none"!==this.sameSite){const t=e.sameSiteCanonical[this.sameSite.toLowerCase()];a+=`; SameSite=${t||this.sameSite}`}return this.extensions&&this.extensions.forEach((e=>{a+=`; ${e}`})),a}TTL(e){if(null!=this.maxAge)return this.maxAge<=0?0:1e3*this.maxAge;let a=this.expires;return a!=1/0?(a instanceof Date||(a=x(a)||1/0),a==1/0?1/0:a.getTime()-(e||Date.now())):1/0}expiryTime(e){if(null!=this.maxAge){const a=this.maxAge<=0?-1/0:1e3*this.maxAge;return(e||this.creation||new Date).getTime()+a}return this.expires==1/0?1/0:this.expires.getTime()}expiryDate(e){const a=this.expiryTime(e);return a==1/0?new Date(v):a==-1/0?new Date(0):new Date(a)}isPersistent(){return null!=this.maxAge||this.expires!=1/0}canonicalizedDomain(){return null==this.domain?null:E(this.domain)}cdomain(){return this.canonicalizedDomain()}};function K(e){if(null!=e){const a=e.toLowerCase();switch(a){case k.STRICT:case k.SILENT:case k.DISABLED:return a}}return k.SILENT}I.cookiesCreated=0,I.parse=L,I.fromJSON=R,I.serializableProperties=Object.keys(O),I.sameSiteLevel={strict:3,lax:2,none:1},I.sameSiteCanonical={strict:"Strict",lax:"Lax"};var H=class e{constructor(e,a={rejectPublicSuffixes:!0}){"boolean"==typeof a&&(a={rejectPublicSuffixes:a}),s.validate(s.isObject(a),a),this.rejectPublicSuffixes=a.rejectPublicSuffixes,this.enableLooseMode=!!a.looseMode,this.allowSpecialUseDomain="boolean"!=typeof a.allowSpecialUseDomain||a.allowSpecialUseDomain,this.store=e||new r,this.prefixSecurity=K(a.prefixSecurity),this._cloneSync=F("clone"),this._importCookiesSync=F("_importCookies"),this.getCookiesSync=F("getCookies"),this.getCookieStringSync=F("getCookieString"),this.getSetCookieStringsSync=F("getSetCookieStrings"),this.removeAllCookiesSync=F("removeAllCookies"),this.setCookieSync=F("setCookie"),this.serializeSync=F("serialize")}setCookie(e,a,t,i){let r;if(s.validate(s.isUrlStringOrObject(a),i,t),s.isFunction(a))return(i=a)(new Error("No URL was specified"));const o=z(a);if(s.isFunction(t)&&(i=t,t={}),s.validate(s.isFunction(i),i),!s.isNonEmptyString(e)&&!s.isObject(e)&&e instanceof String&&0==e.length)return i(null);const l=E(o.hostname),u=t.loose||this.enableLooseMode;let c=null;if(t.sameSiteContext&&(c=b(t.sameSiteContext),!c))return i(new Error(y));if("string"==typeof e||e instanceof String){if(!(e=I.parse(e,{loose:u})))return r=new Error("Cookie failed to parse"),i(t.ignoreError?null:r)}else if(!(e instanceof I))return r=new Error("First argument to setCookie must be a Cookie object or string"),i(t.ignoreError?null:r);const d=t.now||new Date;if(this.rejectPublicSuffixes&&e.domain){if(null==n.getPublicSuffix(e.cdomain(),{allowSpecialUseDomain:this.allowSpecialUseDomain,ignoreError:t.ignoreError})&&!A.test(e.domain))return r=new Error("Cookie has domain set to a public suffix"),i(t.ignoreError?null:r)}if(e.domain){if(!_(l,e.cdomain(),!1))return r=new Error(`Cookie not in this host's domain. Cookie:${e.cdomain()} Request:${l}`),i(t.ignoreError?null:r);null==e.hostOnly&&(e.hostOnly=!1)}else e.hostOnly=!0,e.domain=l;if(e.path&&"/"===e.path[0]||(e.path=j(o.pathname),e.pathIsDefault=!0),!1===t.http&&e.httpOnly)return r=new Error("Cookie is HttpOnly and this isn't an HTTP API"),i(t.ignoreError?null:r);if("none"!==e.sameSite&&void 0!==e.sameSite&&c&&"none"===c)return r=new Error("Cookie is SameSite but this is a cross-origin request"),i(t.ignoreError?null:r);const m=this.prefixSecurity===k.SILENT;if(!(this.prefixSecurity===k.DISABLED)){let a,n=!1;if(!function(e){return s.validate(s.isObject(e),e),!e.key.startsWith("__Secure-")||e.secure}(e)?(n=!0,a="Cookie has __Secure prefix but Secure attribute is not set"):function(e){return s.validate(s.isObject(e)),!e.key.startsWith("__Host-")||e.secure&&e.hostOnly&&null!=e.path&&"/"===e.path}(e)||(n=!0,a="Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'"),n)return i(t.ignoreError||m?null:new Error(a))}const h=this.store;h.updateCookie||(h.updateCookie=function(e,a,t){this.putCookie(a,t)}),h.findCookie(e.domain,e.path,e.key,(function(a,n){if(a)return i(a);const r=function(a){if(a)return i(a);i(null,e)};if(n){if(!1===t.http&&n.httpOnly)return a=new Error("old Cookie is HttpOnly and this isn't an HTTP API"),i(t.ignoreError?null:a);e.creation=n.creation,e.creationIndex=n.creationIndex,e.lastAccessed=d,h.updateCookie(n,e,r)}else e.creation=e.lastAccessed=d,h.putCookie(e,r)}))}getCookies(e,a,t){s.validate(s.isUrlStringOrObject(e),t,e);const n=z(e);s.isFunction(a)&&(t=a,a={}),s.validate(s.isObject(a),t,a),s.validate(s.isFunction(t),t);const i=E(n.hostname),r=n.pathname||"/";let l=a.secure;null!=l||!n.protocol||"https:"!=n.protocol&&"wss:"!=n.protocol||(l=!0);let u=0;if(a.sameSiteContext){const e=b(a.sameSiteContext);if(u=I.sameSiteLevel[e],!u)return t(new Error(y))}let c=a.http;null==c&&(c=!0);const d=a.now||Date.now(),m=!1!==a.expire,h=!!a.allPaths,p=this.store;function g(e){if(e.hostOnly){if(e.domain!=i)return!1}else if(!_(i,e.domain,!1))return!1;if(!h&&!o(r,e.path))return!1;if(e.secure&&!l)return!1;if(e.httpOnly&&!c)return!1;if(u){if(I.sameSiteLevel[e.sameSite||"none"]>u)return!1}return!(m&&e.expiryTime()<=d)||(p.removeCookie(e.domain,e.path,e.key,(()=>{})),!1)}p.findCookies(i,h?null:r,this.allowSpecialUseDomain,((e,n)=>{if(e)return t(e);n=n.filter(g),!1!==a.sort&&(n=n.sort(D));const i=new Date;for(const a of n)a.lastAccessed=i;t(null,n)}))}getCookieString(...e){const a=e.pop();s.validate(s.isFunction(a),a);e.push((function(e,t){e?a(e):a(null,t.sort(D).map((e=>e.cookieString())).join("; "))})),this.getCookies.apply(this,e)}getSetCookieStrings(...e){const a=e.pop();s.validate(s.isFunction(a),a);e.push((function(e,t){e?a(e):a(null,t.map((e=>e.toString())))})),this.getCookies.apply(this,e)}serialize(e){s.validate(s.isFunction(e),e);let a=this.store.constructor.name;s.isObject(a)&&(a=null);const t={version:`tough-cookie@${l}`,storeType:a,rejectPublicSuffixes:!!this.rejectPublicSuffixes,enableLooseMode:!!this.enableLooseMode,allowSpecialUseDomain:!!this.allowSpecialUseDomain,prefixSecurity:K(this.prefixSecurity),cookies:[]};if(!this.store.getAllCookies||"function"!=typeof this.store.getAllCookies)return e(new Error("store does not support getAllCookies and cannot be serialized"));this.store.getAllCookies(((a,n)=>a?e(a):(t.cookies=n.map((e=>(delete(e=e instanceof I?e.toJSON():e).creationIndex,e))),e(null,t))))}toJSON(){return this.serializeSync()}_importCookies(e,a){let t=e.cookies;if(!t||!Array.isArray(t))return a(new Error("serialized jar has no cookies array"));t=t.slice();const n=e=>{if(e)return a(e);if(!t.length)return a(e,this);let i;try{i=R(t.shift())}catch(jFe){return a(jFe)}if(null===i)return n(null);this.store.putCookie(i,n)};n()}clone(a,t){1===arguments.length&&(t=a,a=null),this.serialize(((n,i)=>{if(n)return t(n);e.deserialize(i,a,t)}))}cloneSync(e){if(0===arguments.length)return this._cloneSync();if(!e.synchronous)throw new Error("CookieJar clone destination store is not synchronous; use async API instead.");return this._cloneSync(e)}removeAllCookies(e){s.validate(s.isFunction(e),e);const a=this.store;if("function"==typeof a.removeAllCookies&&a.removeAllCookies!==i.prototype.removeAllCookies)return a.removeAllCookies(e);a.getAllCookies(((t,n)=>{if(t)return e(t);if(0===n.length)return e(null);let i=0;const r=[];function o(a){if(a&&r.push(a),i++,i===n.length)return e(r.length?r[0]:null)}n.forEach((e=>{a.removeCookie(e.domain,e.path,e.key,o)}))}))}static deserialize(a,t,n){let i;if(3!==arguments.length&&(n=t,t=null),s.validate(s.isFunction(n),n),"string"==typeof a){if(i=B(a),i instanceof Error)return n(i)}else i=a;const r=new e(t,{rejectPublicSuffixes:i.rejectPublicSuffixes,looseMode:i.enableLooseMode,allowSpecialUseDomain:i.allowSpecialUseDomain,prefixSecurity:i.prefixSecurity});r._importCookies(i,(e=>{if(e)return n(e);n(null,r)}))}static deserializeSync(a,t){const n="string"==typeof a?JSON.parse(a):a,i=new e(t,{rejectPublicSuffixes:n.rejectPublicSuffixes,looseMode:n.enableLooseMode});if(!i.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");return i._importCookiesSync(n),i}};function F(e){return function(...a){if(!this.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");let t,n;if(this[e](...a,((e,a)=>{t=e,n=a})),t)throw t;return n}}H.fromJSON=H.deserializeSync,["_importCookies","clone","getCookies","getCookieString","getSetCookieStrings","removeAllCookies","serialize","setCookie"].forEach((e=>{H.prototype[e]=u(H.prototype[e])})),H.deserialize=u(H.deserialize),e.version=l,e.CookieJar=H,e.Cookie=I,e.Store=i,e.MemoryCookieStore=r,e.parseDate=x,e.formatDate=N,e.parse=L,e.fromJSON=R,e.domainMatch=_,e.defaultPath=j,e.pathMatch=o,e.getPublicSuffix=n.getPublicSuffix,e.cookieCompare=D,e.permuteDomain=eRe().permuteDomain,e.permutePath=function(e){if(s.validate(s.isString(e)),"/"===e)return["/"];const a=[e];for(;e.length>1;){const t=e.lastIndexOf("/");if(0===t)break;e=e.substr(0,t),a.push(e)}return a.push("/"),a},e.canonicalDomain=E,e.PrefixSecurityEnum=k,e.ParameterError=s.ParameterError}}),sRe=(RBe=oRe(),DBe=null!=RBe?zBe(HBe(RBe)):{},((e,a,t,n)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let i of KBe(a))FBe.call(e,i)||i===t||OBe(e,i,{get:()=>a[i],enumerable:!(n=IBe(a,i))||n.enumerable});return e})(OBe(DBe,"default",{value:RBe,enumerable:!0}),RBe)).default;
87
87
  /*! Bundled license information:
88
88
 
89
89
  tough-cookie/lib/pubsuffix-psl.js: