@sudobility/email-components 1.1.0 → 2.0.1

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
@@ -1,8 +1,8 @@
1
- (function(C,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react/jsx-runtime"),require("@sudobility/components"),require("react"),require("@heroicons/react/24/outline"),require("@sudobility/design")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@sudobility/components","react","@heroicons/react/24/outline","@sudobility/design"],h):(C=typeof globalThis<"u"?globalThis:C||self,h(C.EmailComponents={},C.ReactJSXRuntime,C.SudobilityComponents,C.React,C.HeroiconsOutline,C.SudobilityDesign))})(this,(function(C,h,k,M,G,ce){"use strict";function De(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=De(M),Ue=({className:e,children:r,disabled:t})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"AbTestEmail",children:r||"AbTestEmail Component"}),Oe={evm:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300",solana:"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-300",bitcoin:"bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-300",other:"bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-300"},Be={sm:"text-xs px-2 py-0.5",md:"text-sm px-2.5 py-0.5",lg:"text-base px-3 py-1"},Me=({chainType:e,size:r="md"})=>h.jsx("span",{className:k.cn("inline-flex items-center rounded-full font-medium",Oe[e],Be[r]),children:e.toUpperCase()}),je=({className:e,children:r,disabled:t})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"ContactCard",children:r||"ContactCard Component"}),We=e=>e?e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`:"",de=({type:e,addressType:r})=>{if(e==="primary")return h.jsx(k.ChainBadge,{chainType:r==="solana"?"solana":"evm",size:"sm"});const t=()=>e.toUpperCase(),n=()=>{switch(e){case"ens":return"bg-green-50 text-green-700 border-green-200 dark:bg-green-900/10 dark:text-green-300 dark:border-green-800";case"sns":return"bg-orange-50 text-orange-700 border-orange-200 dark:bg-orange-900/10 dark:text-orange-300 dark:border-orange-800";default:return"bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-900/10 dark:text-gray-300 dark:border-gray-800"}};return h.jsx("span",{className:k.cn("inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium border",n()),children:t()})},Ve=({domainEmails:e,isExpanded:r,selectedAccount:t,onAccountSelect:n,onAccountSettings:a})=>{const l=M.useRef(null),[o,s]=M.useState(void 0);return M.useEffect(()=>{if(l.current){const i=l.current.scrollHeight;s(r?i+8:0)}},[r,e]),h.jsx("div",{className:"overflow-hidden transition-all duration-300 ease-in-out",style:{height:o!==void 0?`${o}px`:"auto"},children:h.jsx("div",{ref:l,className:"ml-6 mt-2 space-y-1",children:e.map(i=>h.jsxs("button",{onClick:()=>n(i.address),className:k.cn("w-full flex items-center justify-between text-left px-3 py-2 rounded-lg transition-colors h-[44px]",ce.textVariants.body.sm(),t===i.address?"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"hover:bg-gray-100 dark:hover:bg-gray-700"),children:[h.jsx("span",{className:"truncate flex-1",children:i.name}),h.jsx(de,{type:i.type,addressType:i.addressType})]},i.address))})})},_e=({walletGroups:e,selectedAccount:r,expandedWallets:t,onAccountSelect:n,onToggleWallet:a,onAccountSettings:l,className:o=""})=>h.jsx("nav",{className:k.cn("space-y-1",o),children:e.map(s=>h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>n(s.primaryEmail.address),className:k.cn("w-full flex items-center justify-between text-left px-3 py-2 rounded-lg transition-colors h-[44px]",ce.textVariants.body.sm(),r===s.primaryEmail.address&&s.domainEmails.length===0?"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"hover:bg-gray-100 dark:hover:bg-gray-700"),style:s.customColor?{backgroundColor:s.customColor}:void 0,children:[h.jsxs("div",{className:"flex items-center flex-1 min-w-0",children:[h.jsx("span",{className:"truncate flex-1",children:We(s.walletAddress)}),h.jsx(de,{type:s.primaryEmail.type,addressType:s.addressType})]}),s.domainEmails.length>0&&h.jsx("div",{onClick:i=>{i.stopPropagation(),a(s.walletAddress)},className:"p-1 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors cursor-pointer",role:"button",tabIndex:0,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),i.stopPropagation(),a(s.walletAddress))},children:h.jsx(G.ChevronRightIcon,{className:k.cn("h-4 w-4 text-gray-500 transition-transform duration-300 ease-in-out",t.includes(s.walletAddress)?"rotate-90":"rotate-0")})})]}),s.domainEmails.length>0&&h.jsx(Ve,{domainEmails:s.domainEmails,isExpanded:t.includes(s.walletAddress),selectedAccount:r,onAccountSelect:n,onAccountSettings:l})]},s.walletAddress))}),He=({className:e,children:r,disabled:t})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"EmailAnalytics",children:r||"EmailAnalytics Component"}),ze=({className:e,children:r,disabled:t})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"EmailCampaign",children:r||"EmailCampaign Component"}),Y=({label:e,value:r,onChange:t,placeholder:n,required:a=!1,error:l,className:o=""})=>h.jsxs("div",{className:o,children:[h.jsxs(k.Label,{htmlFor:e.toLowerCase(),className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[e," ",a&&h.jsx("span",{className:"text-red-500",children:"*"})]}),h.jsx("input",{id:e.toLowerCase(),type:"email",value:r,onChange:s=>t(s.target.value),placeholder:n,className:`
1
+ (function(C,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react/jsx-runtime"),require("@sudobility/components"),require("react"),require("@heroicons/react/24/outline"),require("@sudobility/design")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@sudobility/components","react","@heroicons/react/24/outline","@sudobility/design"],h):(C=typeof globalThis<"u"?globalThis:C||self,h(C.EmailComponents={},C.ReactJSXRuntime,C.SudobilityComponents,C.React,C.HeroiconsOutline,C.SudobilityDesign))})(this,(function(C,h,E,B,G,ce){"use strict";function De(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=De(B),Ue=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:r||"SubscriberList Component"}),Oe=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"AbTestEmail",children:r||"AbTestEmail Component"}),Me=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"ContactCard",children:r||"ContactCard Component"}),Be=e=>e?e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`:"",de=({type:e,addressType:r})=>{if(e==="primary")return h.jsx(E.ChainBadge,{chainType:r==="solana"?"solana":"evm",size:"sm"});const t=()=>e.toUpperCase(),n=()=>{switch(e){case"ens":return"bg-green-50 text-green-700 border-green-200 dark:bg-green-900/10 dark:text-green-300 dark:border-green-800";case"sns":return"bg-orange-50 text-orange-700 border-orange-200 dark:bg-orange-900/10 dark:text-orange-300 dark:border-orange-800";default:return"bg-gray-50 text-gray-700 border-gray-200 dark:bg-gray-900/10 dark:text-gray-300 dark:border-gray-800"}};return h.jsx("span",{className:E.cn("inline-flex items-center px-2.5 py-0.5 rounded-md text-xs font-medium border",n()),children:t()})},je=({domainEmails:e,isExpanded:r,selectedAccount:t,onAccountSelect:n,onAccountSettings:a})=>{const l=B.useRef(null),[o,s]=B.useState(void 0);return B.useEffect(()=>{if(l.current){const i=l.current.scrollHeight;s(r?i+8:0)}},[r,e]),h.jsx("div",{className:"overflow-hidden transition-all duration-300 ease-in-out",style:{height:o!==void 0?`${o}px`:"auto"},children:h.jsx("div",{ref:l,className:"ml-6 mt-2 space-y-1",children:e.map(i=>h.jsxs("button",{onClick:()=>n(i.address),className:E.cn("w-full flex items-center justify-between text-left px-3 py-2 rounded-lg transition-colors h-[44px]",ce.textVariants.body.sm(),t===i.address?"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"hover:bg-gray-100 dark:hover:bg-gray-700"),children:[h.jsx("span",{className:"truncate flex-1",children:i.name}),h.jsx(de,{type:i.type,addressType:i.addressType})]},i.address))})})},We=({walletGroups:e,selectedAccount:r,expandedWallets:t,onAccountSelect:n,onToggleWallet:a,onAccountSettings:l,className:o=""})=>h.jsx("nav",{className:E.cn("space-y-1",o),children:e.map(s=>h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>n(s.primaryEmail.address),className:E.cn("w-full flex items-center justify-between text-left px-3 py-2 rounded-lg transition-colors h-[44px]",ce.textVariants.body.sm(),r===s.primaryEmail.address&&s.domainEmails.length===0?"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300":"hover:bg-gray-100 dark:hover:bg-gray-700"),style:s.customColor?{backgroundColor:s.customColor}:void 0,children:[h.jsxs("div",{className:"flex items-center flex-1 min-w-0",children:[h.jsx("span",{className:"truncate flex-1",children:Be(s.walletAddress)}),h.jsx(de,{type:s.primaryEmail.type,addressType:s.addressType})]}),s.domainEmails.length>0&&h.jsx("div",{onClick:i=>{i.stopPropagation(),a(s.walletAddress)},className:"p-1 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors cursor-pointer",role:"button",tabIndex:0,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),i.stopPropagation(),a(s.walletAddress))},children:h.jsx(G.ChevronRightIcon,{className:E.cn("h-4 w-4 text-gray-500 transition-transform duration-300 ease-in-out",t.includes(s.walletAddress)?"rotate-90":"rotate-0")})})]}),s.domainEmails.length>0&&h.jsx(je,{domainEmails:s.domainEmails,isExpanded:t.includes(s.walletAddress),selectedAccount:r,onAccountSelect:n,onAccountSettings:l})]},s.walletAddress))}),Ve=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"EmailAnalytics",children:r||"EmailAnalytics Component"}),_e=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"EmailCampaign",children:r||"EmailCampaign Component"}),Y=({label:e,value:r,onChange:t,placeholder:n,required:a=!1,error:l,className:o=""})=>h.jsxs("div",{className:o,children:[h.jsxs(E.Label,{htmlFor:e.toLowerCase(),className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[e," ",a&&h.jsx("span",{className:"text-red-500",children:"*"})]}),h.jsx("input",{id:e.toLowerCase(),type:"email",value:r,onChange:s=>t(s.target.value),placeholder:n,className:`
2
2
  mt-1 block w-full px-3 py-2 border rounded-md shadow-sm
3
3
  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500
4
4
  dark:bg-gray-800 dark:border-gray-600 dark:text-white
5
5
  ${l?"border-red-300 focus:ring-red-500 focus:border-red-500":"border-gray-300 dark:border-gray-600"}
6
- `}),l&&h.jsx("p",{className:"mt-1 text-sm text-red-600 dark:text-red-400",children:l})]}),X=({isVisible:e,onToggle:r,showLabel:t,hideLabel:n,...a})=>{const l=e?n:t;return h.jsxs("div",{children:[h.jsxs("button",{type:"button",onClick:r,className:"flex items-center text-sm text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 mb-2",children:[e?h.jsx(G.ChevronUpIcon,{className:"h-4 w-4 mr-1"}):h.jsx(G.ChevronDownIcon,{className:"h-4 w-4 mr-1"}),l]}),e&&h.jsx(Y,{...a})]})},Ke=({to:e,onToChange:r,cc:t="",onCcChange:n,bcc:a="",onBccChange:l,showCc:o=!1,showBcc:s=!1,onToggleCc:i,onToggleBcc:c,errors:d={},className:f="",labels:m={},placeholders:g={}})=>{const b={to:"To",cc:"CC",bcc:"BCC",addCc:"Add CC",removeCc:"Remove CC",addBcc:"Add BCC",removeBcc:"Remove BCC"},x={to:"recipient@example.com",cc:"cc@example.com",bcc:"bcc@example.com"},p={...b,...m},y={...x,...g};return h.jsxs("div",{className:`space-y-4 ${f}`,children:[h.jsx(Y,{label:p.to,value:e,onChange:r,placeholder:y.to,required:!0,error:d.to}),i&&n&&h.jsx(X,{label:p.cc,value:t,onChange:n,placeholder:y.cc,error:d.cc,isVisible:o,onToggle:i,showLabel:p.addCc,hideLabel:p.removeCc}),c&&l&&h.jsx(X,{label:p.bcc,value:a,onChange:l,placeholder:y.bcc,error:d.bcc,isVisible:s,onToggle:c,showLabel:p.addBcc,hideLabel:p.removeBcc})]})},Je=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UemailUtemplate",children:r||"UemailUtemplate Component"});function E(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function P(e,r){if(!e){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function Q({pathname:e="/",search:r="",hash:t=""}){return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function Z(e){let r={};if(e){let t=e.indexOf("#");t>=0&&(r.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(r.search=e.substring(n),e=e.substring(0,n)),e&&(r.pathname=e)}return r}function fe(e,r,t="/"){return qe(e,r,t,!1)}function qe(e,r,t,n){let a=typeof r=="string"?Z(r):r,l=R(a.pathname||"/",t);if(l==null)return null;let o=he(e);Ge(o);let s=null;for(let i=0;s==null&&i<o.length;++i){let c=ot(l);s=at(o[i],c,n)}return s}function he(e,r=[],t=[],n="",a=!1){let l=(o,s,i=a,c)=>{let d={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(n)&&i)return;E(d.relativePath.startsWith(n),`Absolute route path "${d.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(n.length)}let f=N([n,d.relativePath]),m=t.concat(d);o.children&&o.children.length>0&&(E(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),he(o.children,r,m,f,i)),!(o.path==null&&!o.index)&&r.push({path:f,score:rt(f,o.index),routesMeta:m})};return e.forEach((o,s)=>{if(o.path===""||!o.path?.includes("?"))l(o,s);else for(let i of me(o.path))l(o,s,!0,i)}),r}function me(e){let r=e.split("/");if(r.length===0)return[];let[t,...n]=r,a=t.endsWith("?"),l=t.replace(/\?$/,"");if(n.length===0)return a?[l,""]:[l];let o=me(n.join("/")),s=[];return s.push(...o.map(i=>i===""?l:[l,i].join("/"))),a&&s.push(...o),s.map(i=>e.startsWith("/")&&i===""?"/":i)}function Ge(e){e.sort((r,t)=>r.score!==t.score?t.score-r.score:nt(r.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var Ye=/^:[\w-]+$/,Xe=3,Qe=2,Ze=1,et=10,tt=-2,pe=e=>e==="*";function rt(e,r){let t=e.split("/"),n=t.length;return t.some(pe)&&(n+=tt),r&&(n+=Qe),t.filter(a=>!pe(a)).reduce((a,l)=>a+(Ye.test(l)?Xe:l===""?Ze:et),n)}function nt(e,r){return e.length===r.length&&e.slice(0,-1).every((n,a)=>n===r[a])?e[e.length-1]-r[r.length-1]:0}function at(e,r,t=!1){let{routesMeta:n}=e,a={},l="/",o=[];for(let s=0;s<n.length;++s){let i=n[s],c=s===n.length-1,d=l==="/"?r:r.slice(l.length)||"/",f=j({path:i.relativePath,caseSensitive:i.caseSensitive,end:c},d),m=i.route;if(!f&&c&&t&&!n[n.length-1].route.index&&(f=j({path:i.relativePath,caseSensitive:i.caseSensitive,end:!1},d)),!f)return null;Object.assign(a,f.params),o.push({params:a,pathname:N([l,f.pathname]),pathnameBase:dt(N([l,f.pathnameBase])),route:m}),f.pathnameBase!=="/"&&(l=N([l,f.pathnameBase]))}return o}function j(e,r){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=lt(e.path,e.caseSensitive,e.end),a=r.match(t);if(!a)return null;let l=a[0],o=l.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce((c,{paramName:d,isOptional:f},m)=>{if(d==="*"){let b=s[m]||"";o=l.slice(0,l.length-b.length).replace(/(.)\/+$/,"$1")}const g=s[m];return f&&!g?c[d]=void 0:c[d]=(g||"").replace(/%2F/g,"/"),c},{}),pathname:l,pathnameBase:o,pattern:e}}function lt(e,r=!1,t=!0){P(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,i)=>(n.push({paramName:s,isOptional:i!=null}),i?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,r?void 0:"i"),n]}function ot(e){try{return e.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return P(!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 (${r}).`),e}}function R(e,r){if(r==="/")return e;if(!e.toLowerCase().startsWith(r.toLowerCase()))return null;let t=r.endsWith("/")?r.length-1:r.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}var it=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,st=e=>it.test(e);function ut(e,r="/"){let{pathname:t,search:n="",hash:a=""}=typeof e=="string"?Z(e):e,l;if(t)if(st(t))l=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),P(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?l=ge(t.substring(1),"/"):l=ge(t,r)}else l=r;return{pathname:l,search:ft(n),hash:ht(a)}}function ge(e,r){let t=r.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?t.length>1&&t.pop():a!=="."&&t.push(a)}),t.length>1?t.join("/"):"/"}function ee(e,r,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${r}\` 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 ct(e){return e.filter((r,t)=>t===0||r.route.path&&r.route.path.length>0)}function be(e){let r=ct(e);return r.map((t,n)=>n===r.length-1?t.pathname:t.pathnameBase)}function ye(e,r,t,n=!1){let a;typeof e=="string"?a=Z(e):(a={...e},E(!a.pathname||!a.pathname.includes("?"),ee("?","pathname","search",a)),E(!a.pathname||!a.pathname.includes("#"),ee("#","pathname","hash",a)),E(!a.search||!a.search.includes("#"),ee("#","search","hash",a)));let l=e===""||a.pathname==="",o=l?"/":a.pathname,s;if(o==null)s=t;else{let f=r.length-1;if(!n&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),f-=1;a.pathname=m.join("/")}s=f>=0?r[f]:"/"}let i=ut(a,s),c=o&&o!=="/"&&o.endsWith("/"),d=(l||o===".")&&t.endsWith("/");return!i.pathname.endsWith("/")&&(c||d)&&(i.pathname+="/"),i}var N=e=>e.join("/").replace(/\/\/+/g,"/"),dt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ft=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,ht=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function mt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ve=["POST","PUT","PATCH","DELETE"];new Set(ve);var pt=["GET",...ve];new Set(pt);var T=u.createContext(null);T.displayName="DataRouter";var W=u.createContext(null);W.displayName="DataRouterState",u.createContext(!1);var xe=u.createContext({isTransitioning:!1});xe.displayName="ViewTransition";var gt=u.createContext(new Map);gt.displayName="Fetchers";var bt=u.createContext(null);bt.displayName="Await";var S=u.createContext(null);S.displayName="Navigation";var te=u.createContext(null);te.displayName="Location";var $=u.createContext({outlet:null,matches:[],isDataRoute:!1});$.displayName="Route";var re=u.createContext(null);re.displayName="RouteError";function yt(e,{relative:r}={}){E(V(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=u.useContext(S),{hash:a,pathname:l,search:o}=U(e,{relative:r}),s=l;return t!=="/"&&(s=l==="/"?t:N([t,l])),n.createHref({pathname:s,search:o,hash:a})}function V(){return u.useContext(te)!=null}function A(){return E(V(),"useLocation() may be used only in the context of a <Router> component."),u.useContext(te).location}var we="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ce(e){u.useContext(S).static||u.useLayoutEffect(e)}function vt(){let{isDataRoute:e}=u.useContext($);return e?Ft():xt()}function xt(){E(V(),"useNavigate() may be used only in the context of a <Router> component.");let e=u.useContext(T),{basename:r,navigator:t}=u.useContext(S),{matches:n}=u.useContext($),{pathname:a}=A(),l=JSON.stringify(be(n)),o=u.useRef(!1);return Ce(()=>{o.current=!0}),u.useCallback((i,c={})=>{if(P(o.current,we),!o.current)return;if(typeof i=="number"){t.go(i);return}let d=ye(i,JSON.parse(l),a,c.relative==="path");e==null&&r!=="/"&&(d.pathname=d.pathname==="/"?r:N([r,d.pathname])),(c.replace?t.replace:t.push)(d,c.state,c)},[r,t,l,a,e])}u.createContext(null);function U(e,{relative:r}={}){let{matches:t}=u.useContext($),{pathname:n}=A(),a=JSON.stringify(be(t));return u.useMemo(()=>ye(e,JSON.parse(a),n,r==="path"),[e,a,n,r])}function wt(e,r,t,n,a){E(V(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:l}=u.useContext(S),{matches:o}=u.useContext($),s=o[o.length-1],i=s?s.params:{},c=s?s.pathname:"/",d=s?s.pathnameBase:"/",f=s&&s.route;{let v=f&&f.path||"";Ee(c,!f||v.endsWith("*")||v.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${v}">) 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.
6
+ `}),l&&h.jsx("p",{className:"mt-1 text-sm text-red-600 dark:text-red-400",children:l})]}),X=({isVisible:e,onToggle:r,showLabel:t,hideLabel:n,...a})=>{const l=e?n:t;return h.jsxs("div",{children:[h.jsxs("button",{type:"button",onClick:r,className:"flex items-center text-sm text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 mb-2",children:[e?h.jsx(G.ChevronUpIcon,{className:"h-4 w-4 mr-1"}):h.jsx(G.ChevronDownIcon,{className:"h-4 w-4 mr-1"}),l]}),e&&h.jsx(Y,{...a})]})},He=({to:e,onToChange:r,cc:t="",onCcChange:n,bcc:a="",onBccChange:l,showCc:o=!1,showBcc:s=!1,onToggleCc:i,onToggleBcc:c,errors:d={},className:f="",labels:m={},placeholders:g={}})=>{const y={to:"To",cc:"CC",bcc:"BCC",addCc:"Add CC",removeCc:"Remove CC",addBcc:"Add BCC",removeBcc:"Remove BCC"},x={to:"recipient@example.com",cc:"cc@example.com",bcc:"bcc@example.com"},p={...y,...m},b={...x,...g};return h.jsxs("div",{className:`space-y-4 ${f}`,children:[h.jsx(Y,{label:p.to,value:e,onChange:r,placeholder:b.to,required:!0,error:d.to}),i&&n&&h.jsx(X,{label:p.cc,value:t,onChange:n,placeholder:b.cc,error:d.cc,isVisible:o,onToggle:i,showLabel:p.addCc,hideLabel:p.removeCc}),c&&l&&h.jsx(X,{label:p.bcc,value:a,onChange:l,placeholder:b.bcc,error:d.bcc,isVisible:s,onToggle:c,showLabel:p.addBcc,hideLabel:p.removeBcc})]})},ze=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UemailUtemplate",children:r||"UemailUtemplate Component"});function k(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function P(e,r){if(!e){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function Q({pathname:e="/",search:r="",hash:t=""}){return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function Z(e){let r={};if(e){let t=e.indexOf("#");t>=0&&(r.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(r.search=e.substring(n),e=e.substring(0,n)),e&&(r.pathname=e)}return r}function fe(e,r,t="/"){return Ke(e,r,t,!1)}function Ke(e,r,t,n){let a=typeof r=="string"?Z(r):r,l=R(a.pathname||"/",t);if(l==null)return null;let o=he(e);Je(o);let s=null;for(let i=0;s==null&&i<o.length;++i){let c=at(l);s=rt(o[i],c,n)}return s}function he(e,r=[],t=[],n="",a=!1){let l=(o,s,i=a,c)=>{let d={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(n)&&i)return;k(d.relativePath.startsWith(n),`Absolute route path "${d.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(n.length)}let f=S([n,d.relativePath]),m=t.concat(d);o.children&&o.children.length>0&&(k(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),he(o.children,r,m,f,i)),!(o.path==null&&!o.index)&&r.push({path:f,score:et(f,o.index),routesMeta:m})};return e.forEach((o,s)=>{if(o.path===""||!o.path?.includes("?"))l(o,s);else for(let i of me(o.path))l(o,s,!0,i)}),r}function me(e){let r=e.split("/");if(r.length===0)return[];let[t,...n]=r,a=t.endsWith("?"),l=t.replace(/\?$/,"");if(n.length===0)return a?[l,""]:[l];let o=me(n.join("/")),s=[];return s.push(...o.map(i=>i===""?l:[l,i].join("/"))),a&&s.push(...o),s.map(i=>e.startsWith("/")&&i===""?"/":i)}function Je(e){e.sort((r,t)=>r.score!==t.score?t.score-r.score:tt(r.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var qe=/^:[\w-]+$/,Ge=3,Ye=2,Xe=1,Qe=10,Ze=-2,pe=e=>e==="*";function et(e,r){let t=e.split("/"),n=t.length;return t.some(pe)&&(n+=Ze),r&&(n+=Ye),t.filter(a=>!pe(a)).reduce((a,l)=>a+(qe.test(l)?Ge:l===""?Xe:Qe),n)}function tt(e,r){return e.length===r.length&&e.slice(0,-1).every((n,a)=>n===r[a])?e[e.length-1]-r[r.length-1]:0}function rt(e,r,t=!1){let{routesMeta:n}=e,a={},l="/",o=[];for(let s=0;s<n.length;++s){let i=n[s],c=s===n.length-1,d=l==="/"?r:r.slice(l.length)||"/",f=j({path:i.relativePath,caseSensitive:i.caseSensitive,end:c},d),m=i.route;if(!f&&c&&t&&!n[n.length-1].route.index&&(f=j({path:i.relativePath,caseSensitive:i.caseSensitive,end:!1},d)),!f)return null;Object.assign(a,f.params),o.push({params:a,pathname:S([l,f.pathname]),pathnameBase:ut(S([l,f.pathnameBase])),route:m}),f.pathnameBase!=="/"&&(l=S([l,f.pathnameBase]))}return o}function j(e,r){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=nt(e.path,e.caseSensitive,e.end),a=r.match(t);if(!a)return null;let l=a[0],o=l.replace(/(.)\/+$/,"$1"),s=a.slice(1);return{params:n.reduce((c,{paramName:d,isOptional:f},m)=>{if(d==="*"){let y=s[m]||"";o=l.slice(0,l.length-y.length).replace(/(.)\/+$/,"$1")}const g=s[m];return f&&!g?c[d]=void 0:c[d]=(g||"").replace(/%2F/g,"/"),c},{}),pathname:l,pathnameBase:o,pattern:e}}function nt(e,r=!1,t=!0){P(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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,s,i)=>(n.push({paramName:s,isOptional:i!=null}),i?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,r?void 0:"i"),n]}function at(e){try{return e.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return P(!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 (${r}).`),e}}function R(e,r){if(r==="/")return e;if(!e.toLowerCase().startsWith(r.toLowerCase()))return null;let t=r.endsWith("/")?r.length-1:r.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}var lt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ot=e=>lt.test(e);function it(e,r="/"){let{pathname:t,search:n="",hash:a=""}=typeof e=="string"?Z(e):e,l;if(t)if(ot(t))l=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),P(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?l=ge(t.substring(1),"/"):l=ge(t,r)}else l=r;return{pathname:l,search:ct(n),hash:dt(a)}}function ge(e,r){let t=r.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?t.length>1&&t.pop():a!=="."&&t.push(a)}),t.length>1?t.join("/"):"/"}function ee(e,r,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${r}\` 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 st(e){return e.filter((r,t)=>t===0||r.route.path&&r.route.path.length>0)}function ye(e){let r=st(e);return r.map((t,n)=>n===r.length-1?t.pathname:t.pathnameBase)}function be(e,r,t,n=!1){let a;typeof e=="string"?a=Z(e):(a={...e},k(!a.pathname||!a.pathname.includes("?"),ee("?","pathname","search",a)),k(!a.pathname||!a.pathname.includes("#"),ee("#","pathname","hash",a)),k(!a.search||!a.search.includes("#"),ee("#","search","hash",a)));let l=e===""||a.pathname==="",o=l?"/":a.pathname,s;if(o==null)s=t;else{let f=r.length-1;if(!n&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),f-=1;a.pathname=m.join("/")}s=f>=0?r[f]:"/"}let i=it(a,s),c=o&&o!=="/"&&o.endsWith("/"),d=(l||o===".")&&t.endsWith("/");return!i.pathname.endsWith("/")&&(c||d)&&(i.pathname+="/"),i}var S=e=>e.join("/").replace(/\/\/+/g,"/"),ut=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ct=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,dt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function ft(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ve=["POST","PUT","PATCH","DELETE"];new Set(ve);var ht=["GET",...ve];new Set(ht);var T=u.createContext(null);T.displayName="DataRouter";var W=u.createContext(null);W.displayName="DataRouterState",u.createContext(!1);var xe=u.createContext({isTransitioning:!1});xe.displayName="ViewTransition";var mt=u.createContext(new Map);mt.displayName="Fetchers";var pt=u.createContext(null);pt.displayName="Await";var N=u.createContext(null);N.displayName="Navigation";var te=u.createContext(null);te.displayName="Location";var $=u.createContext({outlet:null,matches:[],isDataRoute:!1});$.displayName="Route";var re=u.createContext(null);re.displayName="RouteError";function gt(e,{relative:r}={}){k(V(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=u.useContext(N),{hash:a,pathname:l,search:o}=U(e,{relative:r}),s=l;return t!=="/"&&(s=l==="/"?t:S([t,l])),n.createHref({pathname:s,search:o,hash:a})}function V(){return u.useContext(te)!=null}function A(){return k(V(),"useLocation() may be used only in the context of a <Router> component."),u.useContext(te).location}var we="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ce(e){u.useContext(N).static||u.useLayoutEffect(e)}function yt(){let{isDataRoute:e}=u.useContext($);return e?Rt():bt()}function bt(){k(V(),"useNavigate() may be used only in the context of a <Router> component.");let e=u.useContext(T),{basename:r,navigator:t}=u.useContext(N),{matches:n}=u.useContext($),{pathname:a}=A(),l=JSON.stringify(ye(n)),o=u.useRef(!1);return Ce(()=>{o.current=!0}),u.useCallback((i,c={})=>{if(P(o.current,we),!o.current)return;if(typeof i=="number"){t.go(i);return}let d=be(i,JSON.parse(l),a,c.relative==="path");e==null&&r!=="/"&&(d.pathname=d.pathname==="/"?r:S([r,d.pathname])),(c.replace?t.replace:t.push)(d,c.state,c)},[r,t,l,a,e])}u.createContext(null);function U(e,{relative:r}={}){let{matches:t}=u.useContext($),{pathname:n}=A(),a=JSON.stringify(ye(t));return u.useMemo(()=>be(e,JSON.parse(a),n,r==="path"),[e,a,n,r])}function vt(e,r,t,n,a){k(V(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:l}=u.useContext(N),{matches:o}=u.useContext($),s=o[o.length-1],i=s?s.params:{},c=s?s.pathname:"/",d=s?s.pathnameBase:"/",f=s&&s.route;{let v=f&&f.path||"";ke(c,!f||v.endsWith("*")||v.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${v}">) 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.
7
7
 
8
- Please change the parent <Route path="${v}"> to <Route path="${v==="/"?"*":`${v}/*`}">.`)}let m=A(),g;g=m;let b=g.pathname||"/",x=b;if(d!=="/"){let v=d.replace(/^\//,"").split("/");x="/"+b.replace(/^\//,"").split("/").slice(v.length).join("/")}let p=fe(e,{pathname:x});return P(f||p!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),P(p==null||p[p.length-1].route.element!==void 0||p[p.length-1].route.Component!==void 0||p[p.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.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.`),Pt(p&&p.map(v=>Object.assign({},v,{params:Object.assign({},i,v.params),pathname:N([d,l.encodeLocation?l.encodeLocation(v.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?d:N([d,l.encodeLocation?l.encodeLocation(v.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:v.pathnameBase])})),o,t,n,a)}function Ct(){let e=At(),r=mt(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)",a={padding:"0.5rem",backgroundColor:n},l={padding:"2px 4px",backgroundColor:n},o=null;return console.error("Error handled by React Router default ErrorBoundary:",e),o=u.createElement(u.Fragment,null,u.createElement("p",null,"💿 Hey developer 👋"),u.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",u.createElement("code",{style:l},"ErrorBoundary")," or"," ",u.createElement("code",{style:l},"errorElement")," prop on your route.")),u.createElement(u.Fragment,null,u.createElement("h2",null,"Unexpected Application Error!"),u.createElement("h3",{style:{fontStyle:"italic"}},r),t?u.createElement("pre",{style:a},t):null,o)}var kt=u.createElement(Ct,null),Et=class extends u.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,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){this.props.onError?this.props.onError(e,r):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?u.createElement($.Provider,{value:this.props.routeContext},u.createElement(re.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Lt({routeContext:e,match:r,children:t}){let n=u.useContext(T);return n&&n.static&&n.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=r.route.id),u.createElement($.Provider,{value:e},t)}function Pt(e,r=[],t=null,n=null,a=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(r.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let l=e,o=t?.errors;if(o!=null){let d=l.findIndex(f=>f.route.id&&o?.[f.route.id]!==void 0);E(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),l=l.slice(0,Math.min(l.length,d+1))}let s=!1,i=-1;if(t)for(let d=0;d<l.length;d++){let f=l[d];if((f.route.HydrateFallback||f.route.hydrateFallbackElement)&&(i=d),f.route.id){let{loaderData:m,errors:g}=t,b=f.route.loader&&!m.hasOwnProperty(f.route.id)&&(!g||g[f.route.id]===void 0);if(f.route.lazy||b){s=!0,i>=0?l=l.slice(0,i+1):l=[l[0]];break}}}let c=t&&n?(d,f)=>{n(d,{location:t.location,params:t.matches?.[0]?.params??{},errorInfo:f})}:void 0;return l.reduceRight((d,f,m)=>{let g,b=!1,x=null,p=null;t&&(g=o&&f.route.id?o[f.route.id]:void 0,x=f.route.errorElement||kt,s&&(i<0&&m===0?(Ee("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),b=!0,p=null):i===m&&(b=!0,p=f.route.hydrateFallbackElement||null)));let y=r.concat(l.slice(0,m+1)),v=()=>{let w;return g?w=x:b?w=p:f.route.Component?w=u.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,u.createElement(Lt,{match:f,routeContext:{outlet:d,matches:y,isDataRoute:t!=null},children:w})};return t&&(f.route.ErrorBoundary||f.route.errorElement||m===0)?u.createElement(Et,{location:t.location,revalidation:t.revalidation,component:x,error:g,children:v(),routeContext:{outlet:null,matches:y,isDataRoute:!0},onError:c}):v()},null)}function ne(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Nt(e){let r=u.useContext(T);return E(r,ne(e)),r}function St(e){let r=u.useContext(W);return E(r,ne(e)),r}function $t(e){let r=u.useContext($);return E(r,ne(e)),r}function ae(e){let r=$t(e),t=r.matches[r.matches.length-1];return E(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function Rt(){return ae("useRouteId")}function At(){let e=u.useContext(re),r=St("useRouteError"),t=ae("useRouteError");return e!==void 0?e:r.errors?.[t]}function Ft(){let{router:e}=Nt("useNavigate"),r=ae("useNavigate"),t=u.useRef(!1);return Ce(()=>{t.current=!0}),u.useCallback(async(a,l={})=>{P(t.current,we),t.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:r,...l}))},[e,r])}var ke={};function Ee(e,r,t){!r&&!ke[e]&&(ke[e]=!0,P(!1,t))}u.memo(Tt);function Tt({routes:e,future:r,state:t,unstable_onError:n}){return wt(e,void 0,t,n,r)}var _="get",H="application/x-www-form-urlencoded";function z(e){return e!=null&&typeof e.tagName=="string"}function It(e){return z(e)&&e.tagName.toLowerCase()==="button"}function Dt(e){return z(e)&&e.tagName.toLowerCase()==="form"}function Ut(e){return z(e)&&e.tagName.toLowerCase()==="input"}function Ot(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Bt(e,r){return e.button===0&&(!r||r==="_self")&&!Ot(e)}var K=null;function Mt(){if(K===null)try{new FormData(document.createElement("form"),0),K=!1}catch{K=!0}return K}var jt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function le(e){return e!=null&&!jt.has(e)?(P(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${H}"`),null):e}function Wt(e,r){let t,n,a,l,o;if(Dt(e)){let s=e.getAttribute("action");n=s?R(s,r):null,t=e.getAttribute("method")||_,a=le(e.getAttribute("enctype"))||H,l=new FormData(e)}else if(It(e)||Ut(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let i=e.getAttribute("formaction")||s.getAttribute("action");if(n=i?R(i,r):null,t=e.getAttribute("formmethod")||s.getAttribute("method")||_,a=le(e.getAttribute("formenctype"))||le(s.getAttribute("enctype"))||H,l=new FormData(s,e),!Mt()){let{name:c,type:d,value:f}=e;if(d==="image"){let m=c?`${c}.`:"";l.append(`${m}x`,"0"),l.append(`${m}y`,"0")}else c&&l.append(c,f)}}else{if(z(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=_,n=null,a=H,o=e}return l&&a==="text/plain"&&(o=l,l=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:l,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function oe(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function Vt(e,r,t){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${t}`:r&&R(n.pathname,r)==="/"?n.pathname=`${r.replace(/\/$/,"")}/_root.${t}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${t}`,n}async function _t(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ht(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function zt(e,r,t){let n=await Promise.all(e.map(async a=>{let l=r.routes[a.route.id];if(l){let o=await _t(l,t);return o.links?o.links():[]}return[]}));return Gt(n.flat(1).filter(Ht).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Le(e,r,t,n,a,l){let o=(i,c)=>t[c]?i.route.id!==t[c].route.id:!0,s=(i,c)=>t[c].pathname!==i.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==i.params["*"];return l==="assets"?r.filter((i,c)=>o(i,c)||s(i,c)):l==="data"?r.filter((i,c)=>{let d=n.routes[i.route.id];if(!d||!d.hasLoader)return!1;if(o(i,c)||s(i,c))return!0;if(i.route.shouldRevalidate){let f=i.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:i.params,defaultShouldRevalidate:!0});if(typeof f=="boolean")return f}return!0}):[]}function Kt(e,r,{includeHydrateFallback:t}={}){return Jt(e.map(n=>{let a=r.routes[n.route.id];if(!a)return[];let l=[a.module];return a.clientActionModule&&(l=l.concat(a.clientActionModule)),a.clientLoaderModule&&(l=l.concat(a.clientLoaderModule)),t&&a.hydrateFallbackModule&&(l=l.concat(a.hydrateFallbackModule)),a.imports&&(l=l.concat(a.imports)),l}).flat(1))}function Jt(e){return[...new Set(e)]}function qt(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function Gt(e,r){let t=new Set;return new Set(r),e.reduce((n,a)=>{let l=JSON.stringify(qt(a));return t.has(l)||(t.add(l),n.push({key:l,link:a})),n},[])}function Pe(){let e=u.useContext(T);return oe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Yt(){let e=u.useContext(W);return oe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ie=u.createContext(void 0);ie.displayName="FrameworkContext";function Ne(){let e=u.useContext(ie);return oe(e,"You must render this element inside a <HydratedRouter> element"),e}function Xt(e,r){let t=u.useContext(ie),[n,a]=u.useState(!1),[l,o]=u.useState(!1),{onFocus:s,onBlur:i,onMouseEnter:c,onMouseLeave:d,onTouchStart:f}=r,m=u.useRef(null);u.useEffect(()=>{if(e==="render"&&o(!0),e==="viewport"){let x=y=>{y.forEach(v=>{o(v.isIntersecting)})},p=new IntersectionObserver(x,{threshold:.5});return m.current&&p.observe(m.current),()=>{p.disconnect()}}},[e]),u.useEffect(()=>{if(n){let x=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(x)}}},[n]);let g=()=>{a(!0)},b=()=>{a(!1),o(!1)};return t?e!=="intent"?[l,m,{}]:[l,m,{onFocus:O(s,g),onBlur:O(i,b),onMouseEnter:O(c,g),onMouseLeave:O(d,b),onTouchStart:O(f,g)}]:[!1,m,{}]}function O(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function Qt({page:e,...r}){let{router:t}=Pe(),n=u.useMemo(()=>fe(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?u.createElement(er,{page:e,matches:n,...r}):null}function Zt(e){let{manifest:r,routeModules:t}=Ne(),[n,a]=u.useState([]);return u.useEffect(()=>{let l=!1;return zt(e,r,t).then(o=>{l||a(o)}),()=>{l=!0}},[e,r,t]),n}function er({page:e,matches:r,...t}){let n=A(),{manifest:a,routeModules:l}=Ne(),{basename:o}=Pe(),{loaderData:s,matches:i}=Yt(),c=u.useMemo(()=>Le(e,r,i,a,n,"data"),[e,r,i,a,n]),d=u.useMemo(()=>Le(e,r,i,a,n,"assets"),[e,r,i,a,n]),f=u.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let b=new Set,x=!1;if(r.forEach(y=>{let v=a.routes[y.route.id];!v||!v.hasLoader||(!c.some(w=>w.route.id===y.route.id)&&y.route.id in s&&l[y.route.id]?.shouldRevalidate||v.hasClientLoader?x=!0:b.add(y.route.id))}),b.size===0)return[];let p=Vt(e,o,"data");return x&&b.size>0&&p.searchParams.set("_routes",r.filter(y=>b.has(y.route.id)).map(y=>y.route.id).join(",")),[p.pathname+p.search]},[o,s,n,a,c,r,e,l]),m=u.useMemo(()=>Kt(d,a),[d,a]),g=Zt(d);return u.createElement(u.Fragment,null,f.map(b=>u.createElement("link",{key:b,rel:"prefetch",as:"fetch",href:b,...t})),m.map(b=>u.createElement("link",{key:b,rel:"modulepreload",href:b,...t})),g.map(({key:b,link:x})=>u.createElement("link",{key:b,nonce:t.nonce,...x})))}function tr(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var Se=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Se&&(window.__reactRouterVersion="7.9.6")}catch{}var $e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,se=u.forwardRef(function({onClick:r,discover:t="render",prefetch:n="none",relative:a,reloadDocument:l,replace:o,state:s,target:i,to:c,preventScrollReset:d,viewTransition:f,...m},g){let{basename:b}=u.useContext(S),x=typeof c=="string"&&$e.test(c),p,y=!1;if(typeof c=="string"&&x&&(p=c,Se))try{let L=new URL(window.location.href),D=c.startsWith("//")?new URL(L.protocol+c):new URL(c),Ie=R(D.pathname,b);D.origin===L.origin&&Ie!=null?c=Ie+D.search+D.hash:y=!0}catch{P(!1,`<Link to="${c}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let v=yt(c,{relative:a}),[w,I,F]=Xt(n,m),J=lr(c,{replace:o,state:s,target:i,preventScrollReset:d,relative:a,viewTransition:f});function B(L){r&&r(L),L.defaultPrevented||J(L)}let q=u.createElement("a",{...m,...F,href:p||v,onClick:y||l?r:B,ref:tr(g,I),target:i,"data-discover":!x&&t==="render"?"true":void 0});return w&&!x?u.createElement(u.Fragment,null,q,u.createElement(Qt,{page:v})):q});se.displayName="Link";var rr=u.forwardRef(function({"aria-current":r="page",caseSensitive:t=!1,className:n="",end:a=!1,style:l,to:o,viewTransition:s,children:i,...c},d){let f=U(o,{relative:c.relative}),m=A(),g=u.useContext(W),{navigator:b,basename:x}=u.useContext(S),p=g!=null&&cr(f)&&s===!0,y=b.encodeLocation?b.encodeLocation(f).pathname:f.pathname,v=m.pathname,w=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(v=v.toLowerCase(),w=w?w.toLowerCase():null,y=y.toLowerCase()),w&&x&&(w=R(w,x)||w);const I=y!=="/"&&y.endsWith("/")?y.length-1:y.length;let F=v===y||!a&&v.startsWith(y)&&v.charAt(I)==="/",J=w!=null&&(w===y||!a&&w.startsWith(y)&&w.charAt(y.length)==="/"),B={isActive:F,isPending:J,isTransitioning:p},q=F?r:void 0,L;typeof n=="function"?L=n(B):L=[n,F?"active":null,J?"pending":null,p?"transitioning":null].filter(Boolean).join(" ");let D=typeof l=="function"?l(B):l;return u.createElement(se,{...c,"aria-current":q,className:L,ref:d,style:D,to:o,viewTransition:s},typeof i=="function"?i(B):i)});rr.displayName="NavLink";var nr=u.forwardRef(({discover:e="render",fetcherKey:r,navigate:t,reloadDocument:n,replace:a,state:l,method:o=_,action:s,onSubmit:i,relative:c,preventScrollReset:d,viewTransition:f,...m},g)=>{let b=sr(),x=ur(s,{relative:c}),p=o.toLowerCase()==="get"?"get":"post",y=typeof s=="string"&&$e.test(s),v=w=>{if(i&&i(w),w.defaultPrevented)return;w.preventDefault();let I=w.nativeEvent.submitter,F=I?.getAttribute("formmethod")||o;b(I||w.currentTarget,{fetcherKey:r,method:F,navigate:t,replace:a,state:l,relative:c,preventScrollReset:d,viewTransition:f})};return u.createElement("form",{ref:g,method:p,action:x,onSubmit:n?i:v,...m,"data-discover":!y&&e==="render"?"true":void 0})});nr.displayName="Form";function ar(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Re(e){let r=u.useContext(T);return E(r,ar(e)),r}function lr(e,{target:r,replace:t,state:n,preventScrollReset:a,relative:l,viewTransition:o}={}){let s=vt(),i=A(),c=U(e,{relative:l});return u.useCallback(d=>{if(Bt(d,r)){d.preventDefault();let f=t!==void 0?t:Q(i)===Q(c);s(e,{replace:f,state:n,preventScrollReset:a,relative:l,viewTransition:o})}},[i,s,c,t,n,r,e,a,l,o])}var or=0,ir=()=>`__${String(++or)}__`;function sr(){let{router:e}=Re("useSubmit"),{basename:r}=u.useContext(S),t=Rt();return u.useCallback(async(n,a={})=>{let{action:l,method:o,encType:s,formData:i,body:c}=Wt(n,r);if(a.navigate===!1){let d=a.fetcherKey||ir();await e.fetch(d,t,a.action||l,{preventScrollReset:a.preventScrollReset,formData:i,body:c,formMethod:a.method||o,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||l,{preventScrollReset:a.preventScrollReset,formData:i,body:c,formMethod:a.method||o,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function ur(e,{relative:r}={}){let{basename:t}=u.useContext(S),n=u.useContext($);E(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),l={...U(e||".",{relative:r})},o=A();if(e==null){l.search=o.search;let s=new URLSearchParams(l.search),i=s.getAll("index");if(i.some(d=>d==="")){s.delete("index"),i.filter(f=>f).forEach(f=>s.append("index",f));let d=s.toString();l.search=d?`?${d}`:""}}return(!e||e===".")&&a.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(l.pathname=l.pathname==="/"?t:N([t,l.pathname])),Q(l)}function cr(e,{relative:r}={}){let t=u.useContext(xe);E(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=Re("useViewTransitionState"),a=U(e,{relative:r});if(!t.isTransitioning)return!1;let l=R(t.currentLocation.pathname,n)||t.currentLocation.pathname,o=R(t.nextLocation.pathname,n)||t.nextLocation.pathname;return j(a.pathname,o)!=null||j(a.pathname,l)!=null}function Ae(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(t=Ae(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function dr(){for(var e,r,t=0,n="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=Ae(e))&&(n&&(n+=" "),n+=r);return n}const Fe=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Te=dr,ue=(e,r)=>t=>{var n;if(r?.variants==null)return Te(e,t?.class,t?.className);const{variants:a,defaultVariants:l}=r,o=Object.keys(a).map(c=>{const d=t?.[c],f=l?.[c];if(d===null)return null;const m=Fe(d)||Fe(f);return a[c][m]}),s=t&&Object.entries(t).reduce((c,d)=>{let[f,m]=d;return m===void 0||(c[f]=m),c},{}),i=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((c,d)=>{let{class:f,className:m,...g}=d;return Object.entries(g).every(b=>{let[x,p]=b;return Array.isArray(p)?p.includes({...l,...s}[x]):{...l,...s}[x]===p})?[...c,f,m]:c},[]);return Te(e,o,i,t?.class,t?.className)},fr=ue("border-b transition-all duration-200",{variants:{variant:{default:"bg-gradient-to-r from-green-100 to-blue-100 dark:from-green-900/20 dark:to-blue-900/20 border-green-200 dark:border-green-700",compact:"bg-green-50 dark:bg-green-900/10 border-green-200 dark:border-green-800",minimal:"bg-gray-50 dark:bg-gray-900/50 border-gray-200 dark:border-gray-700",vibrant:"bg-gradient-to-r from-blue-600 to-purple-600 border-blue-700"},size:{default:"py-4",compact:"py-3",large:"py-6"}},defaultVariants:{variant:"default",size:"default"}}),hr=ue("font-semibold",{variants:{variant:{default:"text-green-800 dark:text-green-200",compact:"text-green-700 dark:text-green-300",minimal:"text-gray-700 dark:text-gray-300",vibrant:"text-white"}},defaultVariants:{variant:"default"}}),mr=ue("inline-flex items-center justify-center px-6 py-2 rounded-lg font-medium transition-all duration-200 hover:transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-offset-2",{variants:{variant:{default:"bg-gradient-to-r from-green-600 to-blue-600 hover:from-green-700 hover:to-blue-700 text-white focus:ring-green-500",compact:"bg-green-600 hover:bg-green-700 text-white focus:ring-green-500",minimal:"bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500",vibrant:"bg-white hover:bg-gray-100 text-blue-600 hover:text-blue-700 focus:ring-white"}},defaultVariants:{variant:"default"}}),pr=({className:e,variant:r="default",size:t="default",message:n="Get Your Free Email Address - Start Using Web3 Email Today",ctaText:a="Get Free Email",ctaLink:l="/connect",showBadge:o=!0,badgeText:s="FREE",onDismiss:i,isDismissible:c=!1,dismissAriaLabel:d="Dismiss banner"})=>h.jsx("div",{className:k.cn(fr({variant:r,size:t}),e),children:h.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:h.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 text-center relative",children:[c&&i&&h.jsx("button",{onClick:i,className:"absolute right-0 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-black/10 dark:hover:bg-white/10 transition-colors","aria-label":d,children:h.jsx("svg",{className:"w-4 h-4 text-current opacity-60",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsxs("div",{className:"flex items-center",children:[o&&h.jsx("div",{className:k.cn("text-xs font-bold px-3 py-1 rounded-full mr-3 transition-colors",r==="vibrant"?"bg-white text-blue-600":"bg-green-500 text-white"),children:s}),h.jsx("span",{className:k.cn(hr({variant:r})),children:n})]}),h.jsx(se,{to:l,className:k.cn(mr({variant:r})),children:a})]})})}),gr=({children:e,required:r,className:t,...n})=>h.jsxs("label",{className:k.cn("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",t),...n,children:[e,r&&h.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),br=({className:e,children:r,disabled:t})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:r||"SubscriberList Component"}),yr=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:k.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UsubscriptionUplan",children:r||"UsubscriptionUplan Component"});C.AbTestEmail=Ue,C.ChainBadge=Me,C.CollapsibleEmailField=X,C.ContactCard=je,C.EmailAccountsList=_e,C.EmailAnalytics=He,C.EmailCampaign=ze,C.EmailInputField=Y,C.EmailInputGroup=Ke,C.FreeEmailBanner=pr,C.Label=gr,C.SubscriberList=br,C.UemailUtemplate=Je,C.UsubscriptionUplan=yr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
8
+ Please change the parent <Route path="${v}"> to <Route path="${v==="/"?"*":`${v}/*`}">.`)}let m=A(),g;g=m;let y=g.pathname||"/",x=y;if(d!=="/"){let v=d.replace(/^\//,"").split("/");x="/"+y.replace(/^\//,"").split("/").slice(v.length).join("/")}let p=fe(e,{pathname:x});return P(f||p!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),P(p==null||p[p.length-1].route.element!==void 0||p[p.length-1].route.Component!==void 0||p[p.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.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.`),kt(p&&p.map(v=>Object.assign({},v,{params:Object.assign({},i,v.params),pathname:S([d,l.encodeLocation?l.encodeLocation(v.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?d:S([d,l.encodeLocation?l.encodeLocation(v.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:v.pathnameBase])})),o,t,n,a)}function xt(){let e=$t(),r=ft(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)",a={padding:"0.5rem",backgroundColor:n},l={padding:"2px 4px",backgroundColor:n},o=null;return console.error("Error handled by React Router default ErrorBoundary:",e),o=u.createElement(u.Fragment,null,u.createElement("p",null,"💿 Hey developer 👋"),u.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",u.createElement("code",{style:l},"ErrorBoundary")," or"," ",u.createElement("code",{style:l},"errorElement")," prop on your route.")),u.createElement(u.Fragment,null,u.createElement("h2",null,"Unexpected Application Error!"),u.createElement("h3",{style:{fontStyle:"italic"}},r),t?u.createElement("pre",{style:a},t):null,o)}var wt=u.createElement(xt,null),Ct=class extends u.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,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){this.props.onError?this.props.onError(e,r):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?u.createElement($.Provider,{value:this.props.routeContext},u.createElement(re.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Et({routeContext:e,match:r,children:t}){let n=u.useContext(T);return n&&n.static&&n.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=r.route.id),u.createElement($.Provider,{value:e},t)}function kt(e,r=[],t=null,n=null,a=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(r.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let l=e,o=t?.errors;if(o!=null){let d=l.findIndex(f=>f.route.id&&o?.[f.route.id]!==void 0);k(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),l=l.slice(0,Math.min(l.length,d+1))}let s=!1,i=-1;if(t)for(let d=0;d<l.length;d++){let f=l[d];if((f.route.HydrateFallback||f.route.hydrateFallbackElement)&&(i=d),f.route.id){let{loaderData:m,errors:g}=t,y=f.route.loader&&!m.hasOwnProperty(f.route.id)&&(!g||g[f.route.id]===void 0);if(f.route.lazy||y){s=!0,i>=0?l=l.slice(0,i+1):l=[l[0]];break}}}let c=t&&n?(d,f)=>{n(d,{location:t.location,params:t.matches?.[0]?.params??{},errorInfo:f})}:void 0;return l.reduceRight((d,f,m)=>{let g,y=!1,x=null,p=null;t&&(g=o&&f.route.id?o[f.route.id]:void 0,x=f.route.errorElement||wt,s&&(i<0&&m===0?(ke("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,p=null):i===m&&(y=!0,p=f.route.hydrateFallbackElement||null)));let b=r.concat(l.slice(0,m+1)),v=()=>{let w;return g?w=x:y?w=p:f.route.Component?w=u.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,u.createElement(Et,{match:f,routeContext:{outlet:d,matches:b,isDataRoute:t!=null},children:w})};return t&&(f.route.ErrorBoundary||f.route.errorElement||m===0)?u.createElement(Ct,{location:t.location,revalidation:t.revalidation,component:x,error:g,children:v(),routeContext:{outlet:null,matches:b,isDataRoute:!0},onError:c}):v()},null)}function ne(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Lt(e){let r=u.useContext(T);return k(r,ne(e)),r}function Pt(e){let r=u.useContext(W);return k(r,ne(e)),r}function St(e){let r=u.useContext($);return k(r,ne(e)),r}function ae(e){let r=St(e),t=r.matches[r.matches.length-1];return k(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function Nt(){return ae("useRouteId")}function $t(){let e=u.useContext(re),r=Pt("useRouteError"),t=ae("useRouteError");return e!==void 0?e:r.errors?.[t]}function Rt(){let{router:e}=Lt("useNavigate"),r=ae("useNavigate"),t=u.useRef(!1);return Ce(()=>{t.current=!0}),u.useCallback(async(a,l={})=>{P(t.current,we),t.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:r,...l}))},[e,r])}var Ee={};function ke(e,r,t){!r&&!Ee[e]&&(Ee[e]=!0,P(!1,t))}u.memo(At);function At({routes:e,future:r,state:t,unstable_onError:n}){return vt(e,void 0,t,n,r)}var _="get",H="application/x-www-form-urlencoded";function z(e){return e!=null&&typeof e.tagName=="string"}function Ft(e){return z(e)&&e.tagName.toLowerCase()==="button"}function Tt(e){return z(e)&&e.tagName.toLowerCase()==="form"}function It(e){return z(e)&&e.tagName.toLowerCase()==="input"}function Dt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ut(e,r){return e.button===0&&(!r||r==="_self")&&!Dt(e)}var K=null;function Ot(){if(K===null)try{new FormData(document.createElement("form"),0),K=!1}catch{K=!0}return K}var Mt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function le(e){return e!=null&&!Mt.has(e)?(P(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${H}"`),null):e}function Bt(e,r){let t,n,a,l,o;if(Tt(e)){let s=e.getAttribute("action");n=s?R(s,r):null,t=e.getAttribute("method")||_,a=le(e.getAttribute("enctype"))||H,l=new FormData(e)}else if(Ft(e)||It(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let i=e.getAttribute("formaction")||s.getAttribute("action");if(n=i?R(i,r):null,t=e.getAttribute("formmethod")||s.getAttribute("method")||_,a=le(e.getAttribute("formenctype"))||le(s.getAttribute("enctype"))||H,l=new FormData(s,e),!Ot()){let{name:c,type:d,value:f}=e;if(d==="image"){let m=c?`${c}.`:"";l.append(`${m}x`,"0"),l.append(`${m}y`,"0")}else c&&l.append(c,f)}}else{if(z(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=_,n=null,a=H,o=e}return l&&a==="text/plain"&&(o=l,l=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:l,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function oe(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function jt(e,r,t){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${t}`:r&&R(n.pathname,r)==="/"?n.pathname=`${r.replace(/\/$/,"")}/_root.${t}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${t}`,n}async function Wt(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Vt(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function _t(e,r,t){let n=await Promise.all(e.map(async a=>{let l=r.routes[a.route.id];if(l){let o=await Wt(l,t);return o.links?o.links():[]}return[]}));return Jt(n.flat(1).filter(Vt).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Le(e,r,t,n,a,l){let o=(i,c)=>t[c]?i.route.id!==t[c].route.id:!0,s=(i,c)=>t[c].pathname!==i.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==i.params["*"];return l==="assets"?r.filter((i,c)=>o(i,c)||s(i,c)):l==="data"?r.filter((i,c)=>{let d=n.routes[i.route.id];if(!d||!d.hasLoader)return!1;if(o(i,c)||s(i,c))return!0;if(i.route.shouldRevalidate){let f=i.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:i.params,defaultShouldRevalidate:!0});if(typeof f=="boolean")return f}return!0}):[]}function Ht(e,r,{includeHydrateFallback:t}={}){return zt(e.map(n=>{let a=r.routes[n.route.id];if(!a)return[];let l=[a.module];return a.clientActionModule&&(l=l.concat(a.clientActionModule)),a.clientLoaderModule&&(l=l.concat(a.clientLoaderModule)),t&&a.hydrateFallbackModule&&(l=l.concat(a.hydrateFallbackModule)),a.imports&&(l=l.concat(a.imports)),l}).flat(1))}function zt(e){return[...new Set(e)]}function Kt(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function Jt(e,r){let t=new Set;return new Set(r),e.reduce((n,a)=>{let l=JSON.stringify(Kt(a));return t.has(l)||(t.add(l),n.push({key:l,link:a})),n},[])}function Pe(){let e=u.useContext(T);return oe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function qt(){let e=u.useContext(W);return oe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ie=u.createContext(void 0);ie.displayName="FrameworkContext";function Se(){let e=u.useContext(ie);return oe(e,"You must render this element inside a <HydratedRouter> element"),e}function Gt(e,r){let t=u.useContext(ie),[n,a]=u.useState(!1),[l,o]=u.useState(!1),{onFocus:s,onBlur:i,onMouseEnter:c,onMouseLeave:d,onTouchStart:f}=r,m=u.useRef(null);u.useEffect(()=>{if(e==="render"&&o(!0),e==="viewport"){let x=b=>{b.forEach(v=>{o(v.isIntersecting)})},p=new IntersectionObserver(x,{threshold:.5});return m.current&&p.observe(m.current),()=>{p.disconnect()}}},[e]),u.useEffect(()=>{if(n){let x=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(x)}}},[n]);let g=()=>{a(!0)},y=()=>{a(!1),o(!1)};return t?e!=="intent"?[l,m,{}]:[l,m,{onFocus:O(s,g),onBlur:O(i,y),onMouseEnter:O(c,g),onMouseLeave:O(d,y),onTouchStart:O(f,g)}]:[!1,m,{}]}function O(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function Yt({page:e,...r}){let{router:t}=Pe(),n=u.useMemo(()=>fe(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?u.createElement(Qt,{page:e,matches:n,...r}):null}function Xt(e){let{manifest:r,routeModules:t}=Se(),[n,a]=u.useState([]);return u.useEffect(()=>{let l=!1;return _t(e,r,t).then(o=>{l||a(o)}),()=>{l=!0}},[e,r,t]),n}function Qt({page:e,matches:r,...t}){let n=A(),{manifest:a,routeModules:l}=Se(),{basename:o}=Pe(),{loaderData:s,matches:i}=qt(),c=u.useMemo(()=>Le(e,r,i,a,n,"data"),[e,r,i,a,n]),d=u.useMemo(()=>Le(e,r,i,a,n,"assets"),[e,r,i,a,n]),f=u.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let y=new Set,x=!1;if(r.forEach(b=>{let v=a.routes[b.route.id];!v||!v.hasLoader||(!c.some(w=>w.route.id===b.route.id)&&b.route.id in s&&l[b.route.id]?.shouldRevalidate||v.hasClientLoader?x=!0:y.add(b.route.id))}),y.size===0)return[];let p=jt(e,o,"data");return x&&y.size>0&&p.searchParams.set("_routes",r.filter(b=>y.has(b.route.id)).map(b=>b.route.id).join(",")),[p.pathname+p.search]},[o,s,n,a,c,r,e,l]),m=u.useMemo(()=>Ht(d,a),[d,a]),g=Xt(d);return u.createElement(u.Fragment,null,f.map(y=>u.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...t})),m.map(y=>u.createElement("link",{key:y,rel:"modulepreload",href:y,...t})),g.map(({key:y,link:x})=>u.createElement("link",{key:y,nonce:t.nonce,...x})))}function Zt(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var Ne=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ne&&(window.__reactRouterVersion="7.9.6")}catch{}var $e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,se=u.forwardRef(function({onClick:r,discover:t="render",prefetch:n="none",relative:a,reloadDocument:l,replace:o,state:s,target:i,to:c,preventScrollReset:d,viewTransition:f,...m},g){let{basename:y}=u.useContext(N),x=typeof c=="string"&&$e.test(c),p,b=!1;if(typeof c=="string"&&x&&(p=c,Ne))try{let L=new URL(window.location.href),D=c.startsWith("//")?new URL(L.protocol+c):new URL(c),Ie=R(D.pathname,y);D.origin===L.origin&&Ie!=null?c=Ie+D.search+D.hash:b=!0}catch{P(!1,`<Link to="${c}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let v=gt(c,{relative:a}),[w,I,F]=Gt(n,m),J=nr(c,{replace:o,state:s,target:i,preventScrollReset:d,relative:a,viewTransition:f});function M(L){r&&r(L),L.defaultPrevented||J(L)}let q=u.createElement("a",{...m,...F,href:p||v,onClick:b||l?r:M,ref:Zt(g,I),target:i,"data-discover":!x&&t==="render"?"true":void 0});return w&&!x?u.createElement(u.Fragment,null,q,u.createElement(Yt,{page:v})):q});se.displayName="Link";var er=u.forwardRef(function({"aria-current":r="page",caseSensitive:t=!1,className:n="",end:a=!1,style:l,to:o,viewTransition:s,children:i,...c},d){let f=U(o,{relative:c.relative}),m=A(),g=u.useContext(W),{navigator:y,basename:x}=u.useContext(N),p=g!=null&&sr(f)&&s===!0,b=y.encodeLocation?y.encodeLocation(f).pathname:f.pathname,v=m.pathname,w=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(v=v.toLowerCase(),w=w?w.toLowerCase():null,b=b.toLowerCase()),w&&x&&(w=R(w,x)||w);const I=b!=="/"&&b.endsWith("/")?b.length-1:b.length;let F=v===b||!a&&v.startsWith(b)&&v.charAt(I)==="/",J=w!=null&&(w===b||!a&&w.startsWith(b)&&w.charAt(b.length)==="/"),M={isActive:F,isPending:J,isTransitioning:p},q=F?r:void 0,L;typeof n=="function"?L=n(M):L=[n,F?"active":null,J?"pending":null,p?"transitioning":null].filter(Boolean).join(" ");let D=typeof l=="function"?l(M):l;return u.createElement(se,{...c,"aria-current":q,className:L,ref:d,style:D,to:o,viewTransition:s},typeof i=="function"?i(M):i)});er.displayName="NavLink";var tr=u.forwardRef(({discover:e="render",fetcherKey:r,navigate:t,reloadDocument:n,replace:a,state:l,method:o=_,action:s,onSubmit:i,relative:c,preventScrollReset:d,viewTransition:f,...m},g)=>{let y=or(),x=ir(s,{relative:c}),p=o.toLowerCase()==="get"?"get":"post",b=typeof s=="string"&&$e.test(s),v=w=>{if(i&&i(w),w.defaultPrevented)return;w.preventDefault();let I=w.nativeEvent.submitter,F=I?.getAttribute("formmethod")||o;y(I||w.currentTarget,{fetcherKey:r,method:F,navigate:t,replace:a,state:l,relative:c,preventScrollReset:d,viewTransition:f})};return u.createElement("form",{ref:g,method:p,action:x,onSubmit:n?i:v,...m,"data-discover":!b&&e==="render"?"true":void 0})});tr.displayName="Form";function rr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Re(e){let r=u.useContext(T);return k(r,rr(e)),r}function nr(e,{target:r,replace:t,state:n,preventScrollReset:a,relative:l,viewTransition:o}={}){let s=yt(),i=A(),c=U(e,{relative:l});return u.useCallback(d=>{if(Ut(d,r)){d.preventDefault();let f=t!==void 0?t:Q(i)===Q(c);s(e,{replace:f,state:n,preventScrollReset:a,relative:l,viewTransition:o})}},[i,s,c,t,n,r,e,a,l,o])}var ar=0,lr=()=>`__${String(++ar)}__`;function or(){let{router:e}=Re("useSubmit"),{basename:r}=u.useContext(N),t=Nt();return u.useCallback(async(n,a={})=>{let{action:l,method:o,encType:s,formData:i,body:c}=Bt(n,r);if(a.navigate===!1){let d=a.fetcherKey||lr();await e.fetch(d,t,a.action||l,{preventScrollReset:a.preventScrollReset,formData:i,body:c,formMethod:a.method||o,formEncType:a.encType||s,flushSync:a.flushSync})}else await e.navigate(a.action||l,{preventScrollReset:a.preventScrollReset,formData:i,body:c,formMethod:a.method||o,formEncType:a.encType||s,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function ir(e,{relative:r}={}){let{basename:t}=u.useContext(N),n=u.useContext($);k(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),l={...U(e||".",{relative:r})},o=A();if(e==null){l.search=o.search;let s=new URLSearchParams(l.search),i=s.getAll("index");if(i.some(d=>d==="")){s.delete("index"),i.filter(f=>f).forEach(f=>s.append("index",f));let d=s.toString();l.search=d?`?${d}`:""}}return(!e||e===".")&&a.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(l.pathname=l.pathname==="/"?t:S([t,l.pathname])),Q(l)}function sr(e,{relative:r}={}){let t=u.useContext(xe);k(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=Re("useViewTransitionState"),a=U(e,{relative:r});if(!t.isTransitioning)return!1;let l=R(t.currentLocation.pathname,n)||t.currentLocation.pathname,o=R(t.nextLocation.pathname,n)||t.nextLocation.pathname;return j(a.pathname,o)!=null||j(a.pathname,l)!=null}function Ae(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(t=Ae(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function ur(){for(var e,r,t=0,n="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=Ae(e))&&(n&&(n+=" "),n+=r);return n}const Fe=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Te=ur,ue=(e,r)=>t=>{var n;if(r?.variants==null)return Te(e,t?.class,t?.className);const{variants:a,defaultVariants:l}=r,o=Object.keys(a).map(c=>{const d=t?.[c],f=l?.[c];if(d===null)return null;const m=Fe(d)||Fe(f);return a[c][m]}),s=t&&Object.entries(t).reduce((c,d)=>{let[f,m]=d;return m===void 0||(c[f]=m),c},{}),i=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((c,d)=>{let{class:f,className:m,...g}=d;return Object.entries(g).every(y=>{let[x,p]=y;return Array.isArray(p)?p.includes({...l,...s}[x]):{...l,...s}[x]===p})?[...c,f,m]:c},[]);return Te(e,o,i,t?.class,t?.className)},cr=ue("border-b transition-all duration-200",{variants:{variant:{default:"bg-gradient-to-r from-green-100 to-blue-100 dark:from-green-900/20 dark:to-blue-900/20 border-green-200 dark:border-green-700",compact:"bg-green-50 dark:bg-green-900/10 border-green-200 dark:border-green-800",minimal:"bg-gray-50 dark:bg-gray-900/50 border-gray-200 dark:border-gray-700",vibrant:"bg-gradient-to-r from-blue-600 to-purple-600 border-blue-700"},size:{default:"py-4",compact:"py-3",large:"py-6"}},defaultVariants:{variant:"default",size:"default"}}),dr=ue("font-semibold",{variants:{variant:{default:"text-green-800 dark:text-green-200",compact:"text-green-700 dark:text-green-300",minimal:"text-gray-700 dark:text-gray-300",vibrant:"text-white"}},defaultVariants:{variant:"default"}}),fr=ue("inline-flex items-center justify-center px-6 py-2 rounded-lg font-medium transition-all duration-200 hover:transform hover:scale-105 focus:outline-none focus:ring-2 focus:ring-offset-2",{variants:{variant:{default:"bg-gradient-to-r from-green-600 to-blue-600 hover:from-green-700 hover:to-blue-700 text-white focus:ring-green-500",compact:"bg-green-600 hover:bg-green-700 text-white focus:ring-green-500",minimal:"bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500",vibrant:"bg-white hover:bg-gray-100 text-blue-600 hover:text-blue-700 focus:ring-white"}},defaultVariants:{variant:"default"}}),hr=({className:e,variant:r="default",size:t="default",message:n="Get Your Free Email Address - Start Using Web3 Email Today",ctaText:a="Get Free Email",ctaLink:l="/connect",showBadge:o=!0,badgeText:s="FREE",onDismiss:i,isDismissible:c=!1,dismissAriaLabel:d="Dismiss banner"})=>h.jsx("div",{className:E.cn(cr({variant:r,size:t}),e),children:h.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:h.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 text-center relative",children:[c&&i&&h.jsx("button",{onClick:i,className:"absolute right-0 top-1/2 -translate-y-1/2 p-1 rounded-full hover:bg-black/10 dark:hover:bg-white/10 transition-colors","aria-label":d,children:h.jsx("svg",{className:"w-4 h-4 text-current opacity-60",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h.jsxs("div",{className:"flex items-center",children:[o&&h.jsx("div",{className:E.cn("text-xs font-bold px-3 py-1 rounded-full mr-3 transition-colors",r==="vibrant"?"bg-white text-blue-600":"bg-green-500 text-white"),children:s}),h.jsx("span",{className:E.cn(dr({variant:r})),children:n})]}),h.jsx(se,{to:l,className:E.cn(fr({variant:r})),children:a})]})})}),mr=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UsubscriptionUplan",children:r||"UsubscriptionUplan Component"});C.AbTestEmail=Oe,C.CollapsibleEmailField=X,C.ContactCard=Me,C.EmailAccountsList=We,C.EmailAnalytics=Ve,C.EmailCampaign=_e,C.EmailInputField=Y,C.EmailInputGroup=He,C.FreeEmailBanner=hr,C.SubscriberList=Ue,C.UemailUtemplate=ze,C.UsubscriptionUplan=mr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/email-components",
3
- "version": "1.1.0",
3
+ "version": "2.0.1",
4
4
  "description": "Email marketing and management UI components for React",
5
5
  "type": "module",
6
6
  "main": "dist/index.umd.js",
@@ -36,7 +36,7 @@
36
36
  "license": "MIT",
37
37
  "peerDependencies": {
38
38
  "@heroicons/react": "^2.2.0",
39
- "@sudobility/components": "^3.0.0",
39
+ "@sudobility/components": "^4.0.0",
40
40
  "@sudobility/design": "^1.1.3",
41
41
  "react": "^18.0.0 || ^19.0.0",
42
42
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- export type ChainType = 'evm' | 'solana' | 'bitcoin' | 'other';
3
- export interface ChainBadgeProps {
4
- chainType: ChainType;
5
- size?: 'sm' | 'md' | 'lg';
6
- }
7
- export declare const ChainBadge: React.FC<ChainBadgeProps>;
8
- //# sourceMappingURL=chain-badge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-badge.d.ts","sourceRoot":"","sources":["../src/chain-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAiBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAehD,CAAC"}
package/dist/label.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { default as React } from 'react';
2
- export interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
3
- children: React.ReactNode;
4
- required?: boolean;
5
- }
6
- export declare const Label: React.FC<LabelProps>;
7
- //# sourceMappingURL=label.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../src/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC7E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAkBtC,CAAC"}