@sudobility/marketing-components 2.0.10 → 2.0.12

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,3 @@
1
- (function(C,I){typeof exports=="object"&&typeof module<"u"?I(exports,require("react"),require("@sudobility/components"),require("@sudobility/design")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components","@sudobility/design"],I):(C=typeof globalThis<"u"?globalThis:C||self,I(C.Components={},C.React,C.components,C.design))})(this,(function(C,I,E,z){"use strict";function tt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=tt(I);var K={exports:{}},J={};var Re;function rt(){if(Re)return J;Re=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,o,a){var l=null;if(a!==void 0&&(l=""+a),o.key!==void 0&&(l=""+o.key),"key"in o){a={};for(var u in o)u!=="key"&&(a[u]=o[u])}else a=o;return o=a.ref,{$$typeof:e,type:n,key:l,ref:o!==void 0?o:null,props:a}}return J.Fragment=t,J.jsx=r,J.jsxs=r,J}var G={};var Ee;function nt(){return Ee||(Ee=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===Gr?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case y:return"Fragment";case g:return"Profiler";case R:return"StrictMode";case D:return"Suspense";case F:return"SuspenseList";case V:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case v:return"Portal";case A:return c.displayName||"Context";case w:return(c._context.displayName||"Context")+".Consumer";case j:var x=c.render;return c=c.displayName,c||(c=x.displayName||x.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case W:return x=c.displayName||null,x!==null?x:e(c.type)||"Memo";case U:x=c._payload,c=c._init;try{return e(c(x))}catch{}}return null}function t(c){return""+c}function r(c){try{t(c);var x=!1}catch{x=!0}if(x){x=console;var S=x.error,P=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return S.call(x,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",P),t(c)}}function n(c){if(c===y)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===U)return"<...>";try{var x=e(c);return x?"<"+x+">":"<...>"}catch{return"<...>"}}function o(){var c=ye.A;return c===null?null:c.getOwner()}function a(){return Error("react-stack-top-frame")}function l(c){if(qe.call(c,"key")){var x=Object.getOwnPropertyDescriptor(c,"key").get;if(x&&x.isReactWarning)return!1}return c.key!==void 0}function u(c,x){function S(){Xe||(Xe=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",x))}S.isReactWarning=!0,Object.defineProperty(c,"key",{get:S,configurable:!0})}function s(){var c=e(this.type);return Ke[c]||(Ke[c]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),c=this.props.ref,c!==void 0?c:null}function m(c,x,S,P,oe,we){var N=S.ref;return c={$$typeof:k,type:c,key:x,props:S,_owner:P},(N!==void 0?N:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:s}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:oe}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:we}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function f(c,x,S,P,oe,we){var N=x.children;if(N!==void 0)if(P)if(qr(N)){for(P=0;P<N.length;P++)d(N[P]);Object.freeze&&Object.freeze(N)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else d(N);if(qe.call(x,"key")){N=e(c);var Y=Object.keys(x).filter(function(Xr){return Xr!=="key"});P=0<Y.length?"{key: someKey, "+Y.join(": ..., ")+": ...}":"{key: someKey}",et[N+P]||(Y=0<Y.length?"{"+Y.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
- let props = %s;
3
- <%s {...props} />
4
- React keys must be passed directly to JSX without using spread:
5
- let props = %s;
6
- <%s key={someKey} {...props} />`,P,N,Y,N),et[N+P]=!0)}if(N=null,S!==void 0&&(r(S),N=""+S),l(x)&&(r(x.key),N=""+x.key),"key"in x){S={};for(var ke in x)ke!=="key"&&(S[ke]=x[ke])}else S=x;return N&&u(S,typeof c=="function"?c.displayName||c.name||"Unknown":c),m(c,N,S,o(),oe,we)}function d(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===U&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===k}var b=I,k=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),w=Symbol.for("react.consumer"),A=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),F=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),V=Symbol.for("react.activity"),Gr=Symbol.for("react.client.reference"),ye=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,qe=Object.prototype.hasOwnProperty,qr=Array.isArray,ve=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var Xe,Ke={},Ze=b.react_stack_bottom_frame.bind(b,a)(),Qe=ve(n(a)),et={};G.Fragment=y,G.jsx=function(c,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return f(c,x,S,!1,P?Error("react-stack-top-frame"):Ze,P?ve(n(c)):Qe)},G.jsxs=function(c,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return f(c,x,S,!0,P?Error("react-stack-top-frame"):Ze,P?ve(n(c)):Qe)}})()),G}var Ce;function at(){return Ce||(Ce=1,process.env.NODE_ENV==="production"?K.exports=rt():K.exports=nt()),K.exports}var h=at();const ot=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"CrmDashboard",children:t||"CrmDashboard Component"}),lt=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UctaUbanner",children:t||"UctaUbanner Component"});function it({title:e,titleId:t,...r},n){return i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?i.createElement("title",{id:t},e):null,i.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const st=i.forwardRef(it),ut=({title:e,description:t,icon:r=st,iconVariant:n="success",size:o="md",className:a})=>{const l={primary:"bg-blue-400 text-blue-900",success:"bg-green-400 text-emerald-900",warning:"bg-yellow-400 text-yellow-900",info:"bg-cyan-400 text-cyan-900",gradient:"bg-gradient-to-br from-blue-400 to-purple-500 text-white"},s={sm:{container:"gap-2",icon:"p-1.5",iconSize:"h-4 w-4",title:z.textVariants.body.md(),description:z.textVariants.body.sm()},md:{container:"gap-3",icon:"p-2",iconSize:"h-5 w-5",title:z.textVariants.body.strong.md(),description:z.textVariants.body.md()},lg:{container:"gap-4",icon:"p-3",iconSize:"h-6 w-6",title:z.textVariants.heading.h4(),description:z.textVariants.body.md()}}[o];return h.jsxs("div",{className:E.cn("flex items-start",s.container,a),children:[h.jsx("div",{className:E.cn("rounded-full flex-shrink-0",s.icon,l[n]),children:h.jsx(r,{className:s.iconSize})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("h4",{className:s.title,children:e}),t&&h.jsx("p",{className:E.cn(s.description,"mt-1 text-gray-600 dark:text-gray-300"),children:t})]})]})},ct=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UfeatureUspotlight",children:t||"UfeatureUspotlight Component"}),dt=({badgeIcon:e,badgeText:t,badgeColor:r="blue",title:n,subtitle:o,description:a,primaryButton:l,secondaryButton:u,className:s,children:m})=>{const f="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",p={blue:"bg-blue-100 dark:bg-blue-900/30 border-blue-300 dark:border-blue-700 text-blue-800 dark:text-blue-200",green:"bg-green-100 dark:bg-green-900/30 border-green-300 dark:border-green-700 text-green-800 dark:text-green-200",purple:"bg-purple-100 dark:bg-purple-900/30 border-purple-300 dark:border-purple-700 text-purple-800 dark:text-purple-200",orange:"bg-orange-100 dark:bg-orange-900/30 border-orange-300 dark:border-orange-700 text-orange-800 dark:text-orange-200",pink:"bg-pink-100 dark:bg-pink-900/30 border-pink-300 dark:border-pink-700 text-pink-800 dark:text-pink-200",gray:"bg-gray-100 dark:bg-gray-900/30 border-gray-300 dark:border-gray-700 text-gray-800 dark:text-gray-200"}[r];return h.jsx("section",{className:E.cn("py-20",s),children:h.jsxs("div",{className:`${f} text-center`,children:[h.jsxs("div",{className:E.cn("inline-flex items-center border px-6 py-3 rounded-full mb-6",p),children:[e&&h.jsx("span",{className:"mr-3",children:e}),h.jsx("span",{className:"font-semibold",children:t})]}),h.jsxs("h1",{className:"text-4xl md:text-6xl font-bold text-gray-900 dark:text-gray-100 mb-6",children:[typeof n=="string"?h.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):n,o&&h.jsx("span",{className:"text-blue-600 dark:text-blue-400 block",children:o})]}),h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 max-w-4xl mx-auto leading-relaxed",children:a}),(l||u)&&h.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-8",children:[l&&(l.href?h.jsx("a",{href:l.href,className:E.cn("px-8 py-3 rounded-md bg-blue-600 text-white hover:bg-blue-700 transition-colors inline-block",l.className),children:l.text}):h.jsx("button",{onClick:l.onClick,className:E.cn("px-8 py-3 rounded-md bg-blue-600 text-white hover:bg-blue-700 transition-colors",l.className),children:l.text})),u&&(u.href?h.jsx("a",{href:u.href,className:E.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors inline-block",u.className),children:u.text}):h.jsx("button",{onClick:u.onClick,className:E.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors",u.className),children:u.text}))]}),m]})})};function _(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function L(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function le({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function ie(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function Se(e,t,r="/"){return ft(e,t,r,!1)}function ft(e,t,r,n){let o=typeof t=="string"?ie(t):t,a=M(o.pathname||"/",r);if(a==null)return null;let l=Pe(e);mt(l);let u=null;for(let s=0;u==null&&s<l.length;++s){let m=Et(a);u=kt(l[s],m,n)}return u}function Pe(e,t=[],r=[],n="",o=!1){let a=(l,u,s=o,m)=>{let f={relativePath:m===void 0?l.path||"":m,caseSensitive:l.caseSensitive===!0,childrenIndex:u,route:l};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(n)&&s)return;_(f.relativePath.startsWith(n),`Absolute route path "${f.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(n.length)}let d=O([n,f.relativePath]),p=r.concat(f);l.children&&l.children.length>0&&(_(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Pe(l.children,t,p,d,s)),!(l.path==null&&!l.index)&&t.push({path:d,score:vt(d,l.index),routesMeta:p})};return e.forEach((l,u)=>{if(l.path===""||!l.path?.includes("?"))a(l,u);else for(let s of Ne(l.path))a(l,u,!0,s)}),t}function Ne(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,o=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return o?[a,""]:[a];let l=Ne(n.join("/")),u=[];return u.push(...l.map(s=>s===""?a:[a,s].join("/"))),o&&u.push(...l),u.map(s=>e.startsWith("/")&&s===""?"/":s)}function mt(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:wt(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var ht=/^:[\w-]+$/,pt=3,gt=2,bt=1,xt=10,yt=-2,_e=e=>e==="*";function vt(e,t){let r=e.split("/"),n=r.length;return r.some(_e)&&(n+=yt),t&&(n+=gt),r.filter(o=>!_e(o)).reduce((o,a)=>o+(ht.test(a)?pt:a===""?bt:xt),n)}function wt(e,t){return e.length===t.length&&e.slice(0,-1).every((n,o)=>n===t[o])?e[e.length-1]-t[t.length-1]:0}function kt(e,t,r=!1){let{routesMeta:n}=e,o={},a="/",l=[];for(let u=0;u<n.length;++u){let s=n[u],m=u===n.length-1,f=a==="/"?t:t.slice(a.length)||"/",d=Z({path:s.relativePath,caseSensitive:s.caseSensitive,end:m},f),p=s.route;if(!d&&m&&r&&!n[n.length-1].route.index&&(d=Z({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},f)),!d)return null;Object.assign(o,d.params),l.push({params:o,pathname:O([a,d.pathname]),pathnameBase:Nt(O([a,d.pathnameBase])),route:p}),d.pathnameBase!=="/"&&(a=O([a,d.pathnameBase]))}return l}function Z(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Rt(e.path,e.caseSensitive,e.end),o=t.match(r);if(!o)return null;let a=o[0],l=a.replace(/(.)\/+$/,"$1"),u=o.slice(1);return{params:n.reduce((m,{paramName:f,isOptional:d},p)=>{if(f==="*"){let k=u[p]||"";l=a.slice(0,a.length-k.length).replace(/(.)\/+$/,"$1")}const b=u[p];return d&&!b?m[f]=void 0:m[f]=(b||"").replace(/%2F/g,"/"),m},{}),pathname:a,pathnameBase:l,pattern:e}}function Rt(e,t=!1,r=!0){L(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=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,u,s)=>(n.push({paramName:u,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),n]}function Et(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return L(!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 (${t}).`),e}}function M(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}var je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ct=e=>je.test(e);function St(e,t="/"){let{pathname:r,search:n="",hash:o=""}=typeof e=="string"?ie(e):e,a;if(r)if(Ct(r))a=r;else{if(r.includes("//")){let l=r;r=r.replace(/\/\/+/g,"/"),L(!1,`Pathnames cannot have embedded double slashes - normalizing ${l} -> ${r}`)}r.startsWith("/")?a=Te(r.substring(1),"/"):a=Te(r,t)}else a=t;return{pathname:a,search:_t(n),hash:jt(o)}}function Te(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?r.length>1&&r.pop():o!=="."&&r.push(o)}),r.length>1?r.join("/"):"/"}function se(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Pt(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Le(e){let t=Pt(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function Ue(e,t,r,n=!1){let o;typeof e=="string"?o=ie(e):(o={...e},_(!o.pathname||!o.pathname.includes("?"),se("?","pathname","search",o)),_(!o.pathname||!o.pathname.includes("#"),se("#","pathname","hash",o)),_(!o.search||!o.search.includes("#"),se("#","search","hash",o)));let a=e===""||o.pathname==="",l=a?"/":o.pathname,u;if(l==null)u=r;else{let d=t.length-1;if(!n&&l.startsWith("..")){let p=l.split("/");for(;p[0]==="..";)p.shift(),d-=1;o.pathname=p.join("/")}u=d>=0?t[d]:"/"}let s=St(o,u),m=l&&l!=="/"&&l.endsWith("/"),f=(a||l===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(m||f)&&(s.pathname+="/"),s}var O=e=>e.join("/").replace(/\/\/+/g,"/"),Nt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),_t=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,jt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Tt=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function Lt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ut(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Oe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function $e(e,t){let r=e;if(typeof r!="string"||!je.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,o=!1;if(Oe)try{let a=new URL(window.location.href),l=r.startsWith("//")?new URL(a.protocol+r):new URL(r),u=M(l.pathname,t);l.origin===a.origin&&u!=null?r=u+l.search+l.hash:o=!0}catch{L(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:o,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Ae=["POST","PUT","PATCH","DELETE"];new Set(Ae);var Ot=["GET",...Ae];new Set(Ot);var B=i.createContext(null);B.displayName="DataRouter";var Q=i.createContext(null);Q.displayName="DataRouterState";var $t=i.createContext(!1),De=i.createContext({isTransitioning:!1});De.displayName="ViewTransition";var At=i.createContext(new Map);At.displayName="Fetchers";var Dt=i.createContext(null);Dt.displayName="Await";var T=i.createContext(null);T.displayName="Navigation";var ue=i.createContext(null);ue.displayName="Location";var $=i.createContext({outlet:null,matches:[],isDataRoute:!1});$.displayName="Route";var ce=i.createContext(null);ce.displayName="RouteError";var Fe="REACT_ROUTER_ERROR",Ft="REDIRECT",It="ROUTE_ERROR_RESPONSE";function Mt(e){if(e.startsWith(`${Fe}:${Ft}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Wt(e){if(e.startsWith(`${Fe}:${It}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Tt(t.status,t.statusText,t.data)}catch{}}function zt(e,{relative:t}={}){_(ee(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=i.useContext(T),{hash:o,pathname:a,search:l}=q(e,{relative:t}),u=a;return r!=="/"&&(u=a==="/"?r:O([r,a])),n.createHref({pathname:u,search:l,hash:o})}function ee(){return i.useContext(ue)!=null}function H(){return _(ee(),"useLocation() may be used only in the context of a <Router> component."),i.useContext(ue).location}var Ie="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Me(e){i.useContext(T).static||i.useLayoutEffect(e)}function Ht(){let{isDataRoute:e}=i.useContext($);return e?rr():Vt()}function Vt(){_(ee(),"useNavigate() may be used only in the context of a <Router> component.");let e=i.useContext(B),{basename:t,navigator:r}=i.useContext(T),{matches:n}=i.useContext($),{pathname:o}=H(),a=JSON.stringify(Le(n)),l=i.useRef(!1);return Me(()=>{l.current=!0}),i.useCallback((s,m={})=>{if(L(l.current,Ie),!l.current)return;if(typeof s=="number"){r.go(s);return}let f=Ue(s,JSON.parse(a),o,m.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:O([t,f.pathname])),(m.replace?r.replace:r.push)(f,m.state,m)},[t,r,a,o,e])}i.createContext(null);function q(e,{relative:t}={}){let{matches:r}=i.useContext($),{pathname:n}=H(),o=JSON.stringify(Le(r));return i.useMemo(()=>Ue(e,JSON.parse(o),n,t==="path"),[e,o,n,t])}function Bt(e,t,r,n,o){_(ee(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=i.useContext(T),{matches:l}=i.useContext($),u=l[l.length-1],s=u?u.params:{},m=u?u.pathname:"/",f=u?u.pathnameBase:"/",d=u&&u.route;{let g=d&&d.path||"";He(m,!d||g.endsWith("*")||g.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${m}" (under <Route path="${g}">) 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.
1
+ (function(w,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react/jsx-runtime"),require("@sudobility/components"),require("@sudobility/design"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@sudobility/components","@sudobility/design","react"],h):(w=typeof globalThis<"u"?globalThis:w||self,h(w.Components={},w.ReactJSXRuntime,w.SudobilityComponents,w.SudobilityDesign,w.React))})(this,(function(w,h,k,$,K){"use strict";function Te(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=Te(K),De=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"CrmDashboard",children:t||"CrmDashboard Component"}),Fe=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UctaUbanner",children:t||"UctaUbanner Component"});function Ie({title:e,titleId:t,...r},n){return i.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:n,"aria-labelledby":t},r),e?i.createElement("title",{id:t},e):null,i.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"}))}const Oe=i.forwardRef(Ie),_e=({title:e,description:t,icon:r=Oe,iconVariant:n="success",size:o="md",className:a})=>{const l={primary:"bg-blue-400 text-blue-900",success:"bg-green-400 text-emerald-900",warning:"bg-yellow-400 text-yellow-900",info:"bg-cyan-400 text-cyan-900",gradient:"bg-gradient-to-br from-blue-400 to-purple-500 text-white"},s={sm:{container:"gap-2",icon:"p-1.5",iconSize:"h-4 w-4",title:$.textVariants.body.md(),description:$.textVariants.body.sm()},md:{container:"gap-3",icon:"p-2",iconSize:"h-5 w-5",title:$.textVariants.body.strong.md(),description:$.textVariants.body.md()},lg:{container:"gap-4",icon:"p-3",iconSize:"h-6 w-6",title:$.textVariants.heading.h4(),description:$.textVariants.body.md()}}[o];return h.jsxs("div",{className:k.cn("flex items-start",s.container,a),children:[h.jsx("div",{className:k.cn("rounded-full flex-shrink-0",s.icon,l[n]),children:h.jsx(r,{className:s.iconSize})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("h4",{className:s.title,children:e}),t&&h.jsx("p",{className:k.cn(s.description,"mt-1 text-gray-600 dark:text-gray-300"),children:t})]})]})},Me=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UfeatureUspotlight",children:t||"UfeatureUspotlight Component"}),je=({badgeIcon:e,badgeText:t,badgeColor:r="blue",title:n,subtitle:o,description:a,primaryButton:l,secondaryButton:u,className:s,children:d})=>{const f="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",m={blue:"bg-blue-100 dark:bg-blue-900/30 border-blue-300 dark:border-blue-700 text-blue-800 dark:text-blue-200",green:"bg-green-100 dark:bg-green-900/30 border-green-300 dark:border-green-700 text-green-800 dark:text-green-200",purple:"bg-purple-100 dark:bg-purple-900/30 border-purple-300 dark:border-purple-700 text-purple-800 dark:text-purple-200",orange:"bg-orange-100 dark:bg-orange-900/30 border-orange-300 dark:border-orange-700 text-orange-800 dark:text-orange-200",pink:"bg-pink-100 dark:bg-pink-900/30 border-pink-300 dark:border-pink-700 text-pink-800 dark:text-pink-200",gray:"bg-gray-100 dark:bg-gray-900/30 border-gray-300 dark:border-gray-700 text-gray-800 dark:text-gray-200"}[r];return h.jsx("section",{className:k.cn("py-20",s),children:h.jsxs("div",{className:`${f} text-center`,children:[h.jsxs("div",{className:k.cn("inline-flex items-center border px-6 py-3 rounded-full mb-6",m),children:[e&&h.jsx("span",{className:"mr-3",children:e}),h.jsx("span",{className:"font-semibold",children:t})]}),h.jsxs("h1",{className:"text-4xl md:text-6xl font-bold text-gray-900 dark:text-gray-100 mb-6",children:[typeof n=="string"?h.jsx("span",{dangerouslySetInnerHTML:{__html:n}}):n,o&&h.jsx("span",{className:"text-blue-600 dark:text-blue-400 block",children:o})]}),h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 max-w-4xl mx-auto leading-relaxed",children:a}),(l||u)&&h.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center mb-8",children:[l&&(l.href?h.jsx("a",{href:l.href,className:k.cn("px-8 py-3 rounded-md bg-blue-600 text-white hover:bg-blue-700 transition-colors inline-block",l.className),children:l.text}):h.jsx("button",{onClick:l.onClick,className:k.cn("px-8 py-3 rounded-md bg-blue-600 text-white hover:bg-blue-700 transition-colors",l.className),children:l.text})),u&&(u.href?h.jsx("a",{href:u.href,className:k.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors inline-block",u.className),children:u.text}):h.jsx("button",{onClick:u.onClick,className:k.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors",u.className),children:u.text}))]}),d]})})};function E(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function L(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Y({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function X(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function ue(e,t,r="/"){return Ae(e,t,r,!1)}function Ae(e,t,r,n){let o=typeof t=="string"?X(t):t,a=U(o.pathname||"/",r);if(a==null)return null;let l=ce(e);We(l);let u=null;for(let s=0;u==null&&s<l.length;++s){let d=Ze(a);u=Ye(l[s],d,n)}return u}function ce(e,t=[],r=[],n="",o=!1){let a=(l,u,s=o,d)=>{let f={relativePath:d===void 0?l.path||"":d,caseSensitive:l.caseSensitive===!0,childrenIndex:u,route:l};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(n)&&s)return;E(f.relativePath.startsWith(n),`Absolute route path "${f.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(n.length)}let c=N([n,f.relativePath]),m=r.concat(f);l.children&&l.children.length>0&&(E(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),ce(l.children,t,m,c,s)),!(l.path==null&&!l.index)&&t.push({path:c,score:qe(c,l.index),routesMeta:m})};return e.forEach((l,u)=>{if(l.path===""||!l.path?.includes("?"))a(l,u);else for(let s of de(l.path))a(l,u,!0,s)}),t}function de(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,o=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return o?[a,""]:[a];let l=de(n.join("/")),u=[];return u.push(...l.map(s=>s===""?a:[a,s].join("/"))),o&&u.push(...l),u.map(s=>e.startsWith("/")&&s===""?"/":s)}function We(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Ke(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var He=/^:[\w-]+$/,Be=3,ze=2,Ve=1,Je=10,Ge=-2,fe=e=>e==="*";function qe(e,t){let r=e.split("/"),n=r.length;return r.some(fe)&&(n+=Ge),t&&(n+=ze),r.filter(o=>!fe(o)).reduce((o,a)=>o+(He.test(a)?Be:a===""?Ve:Je),n)}function Ke(e,t){return e.length===t.length&&e.slice(0,-1).every((n,o)=>n===t[o])?e[e.length-1]-t[t.length-1]:0}function Ye(e,t,r=!1){let{routesMeta:n}=e,o={},a="/",l=[];for(let u=0;u<n.length;++u){let s=n[u],d=u===n.length-1,f=a==="/"?t:t.slice(a.length)||"/",c=H({path:s.relativePath,caseSensitive:s.caseSensitive,end:d},f),m=s.route;if(!c&&d&&r&&!n[n.length-1].route.index&&(c=H({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},f)),!c)return null;Object.assign(o,c.params),l.push({params:o,pathname:N([a,c.pathname]),pathnameBase:rt(N([a,c.pathnameBase])),route:m}),c.pathnameBase!=="/"&&(a=N([a,c.pathnameBase]))}return l}function H(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Xe(e.path,e.caseSensitive,e.end),o=t.match(r);if(!o)return null;let a=o[0],l=a.replace(/(.)\/+$/,"$1"),u=o.slice(1);return{params:n.reduce((d,{paramName:f,isOptional:c},m)=>{if(f==="*"){let C=u[m]||"";l=a.slice(0,a.length-C.length).replace(/(.)\/+$/,"$1")}const g=u[m];return c&&!g?d[f]=void 0:d[f]=(g||"").replace(/%2F/g,"/"),d},{}),pathname:a,pathnameBase:l,pattern:e}}function Xe(e,t=!1,r=!0){L(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=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,u,s)=>(n.push({paramName:u,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),n]}function Ze(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return L(!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 (${t}).`),e}}function U(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}var he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qe=e=>he.test(e);function et(e,t="/"){let{pathname:r,search:n="",hash:o=""}=typeof e=="string"?X(e):e,a;if(r)if(Qe(r))a=r;else{if(r.includes("//")){let l=r;r=r.replace(/\/\/+/g,"/"),L(!1,`Pathnames cannot have embedded double slashes - normalizing ${l} -> ${r}`)}r.startsWith("/")?a=me(r.substring(1),"/"):a=me(r,t)}else a=t;return{pathname:a,search:nt(n),hash:at(o)}}function me(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?r.length>1&&r.pop():o!=="."&&r.push(o)}),r.length>1?r.join("/"):"/"}function Z(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function tt(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function pe(e){let t=tt(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function ge(e,t,r,n=!1){let o;typeof e=="string"?o=X(e):(o={...e},E(!o.pathname||!o.pathname.includes("?"),Z("?","pathname","search",o)),E(!o.pathname||!o.pathname.includes("#"),Z("#","pathname","hash",o)),E(!o.search||!o.search.includes("#"),Z("#","search","hash",o)));let a=e===""||o.pathname==="",l=a?"/":o.pathname,u;if(l==null)u=r;else{let c=t.length-1;if(!n&&l.startsWith("..")){let m=l.split("/");for(;m[0]==="..";)m.shift(),c-=1;o.pathname=m.join("/")}u=c>=0?t[c]:"/"}let s=et(o,u),d=l&&l!=="/"&&l.endsWith("/"),f=(a||l===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(d||f)&&(s.pathname+="/"),s}var N=e=>e.join("/").replace(/\/\/+/g,"/"),rt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),nt=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,at=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,ot=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function lt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function it(e){return e.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var be=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ye(e,t){let r=e;if(typeof r!="string"||!he.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,o=!1;if(be)try{let a=new URL(window.location.href),l=r.startsWith("//")?new URL(a.protocol+r):new URL(r),u=U(l.pathname,t);l.origin===a.origin&&u!=null?r=u+l.search+l.hash:o=!0}catch{L(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:o,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var xe=["POST","PUT","PATCH","DELETE"];new Set(xe);var st=["GET",...xe];new Set(st);var O=i.createContext(null);O.displayName="DataRouter";var B=i.createContext(null);B.displayName="DataRouterState";var ut=i.createContext(!1),ve=i.createContext({isTransitioning:!1});ve.displayName="ViewTransition";var ct=i.createContext(new Map);ct.displayName="Fetchers";var dt=i.createContext(null);dt.displayName="Await";var S=i.createContext(null);S.displayName="Navigation";var Q=i.createContext(null);Q.displayName="Location";var P=i.createContext({outlet:null,matches:[],isDataRoute:!1});P.displayName="Route";var ee=i.createContext(null);ee.displayName="RouteError";var we="REACT_ROUTER_ERROR",ft="REDIRECT",ht="ROUTE_ERROR_RESPONSE";function mt(e){if(e.startsWith(`${we}:${ft}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function pt(e){if(e.startsWith(`${we}:${ht}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new ot(t.status,t.statusText,t.data)}catch{}}function gt(e,{relative:t}={}){E(z(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=i.useContext(S),{hash:o,pathname:a,search:l}=j(e,{relative:t}),u=a;return r!=="/"&&(u=a==="/"?r:N([r,a])),n.createHref({pathname:u,search:l,hash:o})}function z(){return i.useContext(Q)!=null}function T(){return E(z(),"useLocation() may be used only in the context of a <Router> component."),i.useContext(Q).location}var ke="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ce(e){i.useContext(S).static||i.useLayoutEffect(e)}function bt(){let{isDataRoute:e}=i.useContext(P);return e?Ut():yt()}function yt(){E(z(),"useNavigate() may be used only in the context of a <Router> component.");let e=i.useContext(O),{basename:t,navigator:r}=i.useContext(S),{matches:n}=i.useContext(P),{pathname:o}=T(),a=JSON.stringify(pe(n)),l=i.useRef(!1);return Ce(()=>{l.current=!0}),i.useCallback((s,d={})=>{if(L(l.current,ke),!l.current)return;if(typeof s=="number"){r.go(s);return}let f=ge(s,JSON.parse(a),o,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:N([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,a,o,e])}i.createContext(null);function j(e,{relative:t}={}){let{matches:r}=i.useContext(P),{pathname:n}=T(),o=JSON.stringify(pe(r));return i.useMemo(()=>ge(e,JSON.parse(o),n,t==="path"),[e,o,n,t])}function xt(e,t,r,n,o){E(z(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=i.useContext(S),{matches:l}=i.useContext(P),u=l[l.length-1],s=u?u.params:{},d=u?u.pathname:"/",f=u?u.pathnameBase:"/",c=u&&u.route;{let p=c&&c.path||"";Re(d,!c||p.endsWith("*")||p.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${p}">) 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
2
 
8
- Please change the parent <Route path="${g}"> to <Route path="${g==="/"?"*":`${g}/*`}">.`)}let p=H(),b;b=p;let k=b.pathname||"/",v=k;if(f!=="/"){let g=f.replace(/^\//,"").split("/");v="/"+k.replace(/^\//,"").split("/").slice(g.length).join("/")}let y=Se(e,{pathname:v});return L(d||y!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),L(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.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.`),Xt(y&&y.map(g=>Object.assign({},g,{params:Object.assign({},s,g.params),pathname:O([f,a.encodeLocation?a.encodeLocation(g.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:g.pathname]),pathnameBase:g.pathnameBase==="/"?f:O([f,a.encodeLocation?a.encodeLocation(g.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:g.pathnameBase])})),l,r,n,o)}function Yt(){let e=tr(),t=Lt(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},a={padding:"2px 4px",backgroundColor:n},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=i.createElement(i.Fragment,null,i.createElement("p",null,"💿 Hey developer 👋"),i.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",i.createElement("code",{style:a},"ErrorBoundary")," or"," ",i.createElement("code",{style:a},"errorElement")," prop on your route.")),i.createElement(i.Fragment,null,i.createElement("h2",null,"Unexpected Application Error!"),i.createElement("h3",{style:{fontStyle:"italic"}},t),r?i.createElement("pre",{style:o},r):null,l)}var Jt=i.createElement(Yt,null),We=class extends i.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,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=Wt(e.digest);r&&(e=r)}let t=e!==void 0?i.createElement($.Provider,{value:this.props.routeContext},i.createElement(ce.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?i.createElement(Gt,{error:e},t):t}};We.contextType=$t;var de=new WeakMap;function Gt({children:e,error:t}){let{basename:r}=i.useContext(T);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=Mt(t.digest);if(n){let o=de.get(t);if(o)throw o;let a=$e(n.location,r);if(Oe&&!de.get(t))if(a.isExternal||n.reloadDocument)window.location.href=a.absoluteURL||a.to;else{const l=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:n.replace}));throw de.set(t,l),l}return i.createElement("meta",{httpEquiv:"refresh",content:`0;url=${a.absoluteURL||a.to}`})}}return e}function qt({routeContext:e,match:t,children:r}){let n=i.useContext(B);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),i.createElement($.Provider,{value:e},r)}function Xt(e,t=[],r=null,n=null,o=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let a=e,l=r?.errors;if(l!=null){let f=a.findIndex(d=>d.route.id&&l?.[d.route.id]!==void 0);_(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),a=a.slice(0,Math.min(a.length,f+1))}let u=!1,s=-1;if(r)for(let f=0;f<a.length;f++){let d=a[f];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(s=f),d.route.id){let{loaderData:p,errors:b}=r,k=d.route.loader&&!p.hasOwnProperty(d.route.id)&&(!b||b[d.route.id]===void 0);if(d.route.lazy||k){u=!0,s>=0?a=a.slice(0,s+1):a=[a[0]];break}}}let m=r&&n?(f,d)=>{n(f,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Ut(r.matches),errorInfo:d})}:void 0;return a.reduceRight((f,d,p)=>{let b,k=!1,v=null,y=null;r&&(b=l&&d.route.id?l[d.route.id]:void 0,v=d.route.errorElement||Jt,u&&(s<0&&p===0?(He("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),k=!0,y=null):s===p&&(k=!0,y=d.route.hydrateFallbackElement||null)));let R=t.concat(a.slice(0,p+1)),g=()=>{let w;return b?w=v:k?w=y:d.route.Component?w=i.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=f,i.createElement(qt,{match:d,routeContext:{outlet:f,matches:R,isDataRoute:r!=null},children:w})};return r&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?i.createElement(We,{location:r.location,revalidation:r.revalidation,component:v,error:b,children:g(),routeContext:{outlet:null,matches:R,isDataRoute:!0},onError:m}):g()},null)}function fe(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Kt(e){let t=i.useContext(B);return _(t,fe(e)),t}function Zt(e){let t=i.useContext(Q);return _(t,fe(e)),t}function Qt(e){let t=i.useContext($);return _(t,fe(e)),t}function me(e){let t=Qt(e),r=t.matches[t.matches.length-1];return _(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function er(){return me("useRouteId")}function tr(){let e=i.useContext(ce),t=Zt("useRouteError"),r=me("useRouteError");return e!==void 0?e:t.errors?.[r]}function rr(){let{router:e}=Kt("useNavigate"),t=me("useNavigate"),r=i.useRef(!1);return Me(()=>{r.current=!0}),i.useCallback(async(o,a={})=>{L(r.current,Ie),r.current&&(typeof o=="number"?await e.navigate(o):await e.navigate(o,{fromRouteId:t,...a}))},[e,t])}var ze={};function He(e,t,r){!t&&!ze[e]&&(ze[e]=!0,L(!1,r))}i.memo(nr);function nr({routes:e,future:t,state:r,onError:n}){return Bt(e,void 0,r,n,t)}var te="get",re="application/x-www-form-urlencoded";function ne(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function ar(e){return ne(e)&&e.tagName.toLowerCase()==="button"}function or(e){return ne(e)&&e.tagName.toLowerCase()==="form"}function lr(e){return ne(e)&&e.tagName.toLowerCase()==="input"}function ir(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function sr(e,t){return e.button===0&&(!t||t==="_self")&&!ir(e)}var ae=null;function ur(){if(ae===null)try{new FormData(document.createElement("form"),0),ae=!1}catch{ae=!0}return ae}var cr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function he(e){return e!=null&&!cr.has(e)?(L(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${re}"`),null):e}function dr(e,t){let r,n,o,a,l;if(or(e)){let u=e.getAttribute("action");n=u?M(u,t):null,r=e.getAttribute("method")||te,o=he(e.getAttribute("enctype"))||re,a=new FormData(e)}else if(ar(e)||lr(e)&&(e.type==="submit"||e.type==="image")){let u=e.form;if(u==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||u.getAttribute("action");if(n=s?M(s,t):null,r=e.getAttribute("formmethod")||u.getAttribute("method")||te,o=he(e.getAttribute("formenctype"))||he(u.getAttribute("enctype"))||re,a=new FormData(u,e),!ur()){let{name:m,type:f,value:d}=e;if(f==="image"){let p=m?`${m}.`:"";a.append(`${p}x`,"0"),a.append(`${p}y`,"0")}else m&&a.append(m,d)}}else{if(ne(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=te,n=null,o=re,l=e}return a&&o==="text/plain"&&(l=a,a=void 0),{action:n,method:r.toLowerCase(),encType:o,formData:a,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function pe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function fr(e,t,r,n){let o=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${n}`:o.pathname=`${o.pathname}.${n}`:o.pathname==="/"?o.pathname=`_root.${n}`:t&&M(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${n}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${n}`,o}async function mr(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function hr(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 pr(e,t,r){let n=await Promise.all(e.map(async o=>{let a=t.routes[o.route.id];if(a){let l=await mr(a,r);return l.links?l.links():[]}return[]}));return yr(n.flat(1).filter(hr).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function Ve(e,t,r,n,o,a){let l=(s,m)=>r[m]?s.route.id!==r[m].route.id:!0,u=(s,m)=>r[m].pathname!==s.pathname||r[m].route.path?.endsWith("*")&&r[m].params["*"]!==s.params["*"];return a==="assets"?t.filter((s,m)=>l(s,m)||u(s,m)):a==="data"?t.filter((s,m)=>{let f=n.routes[s.route.id];if(!f||!f.hasLoader)return!1;if(l(s,m)||u(s,m))return!0;if(s.route.shouldRevalidate){let d=s.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function gr(e,t,{includeHydrateFallback:r}={}){return br(e.map(n=>{let o=t.routes[n.route.id];if(!o)return[];let a=[o.module];return o.clientActionModule&&(a=a.concat(o.clientActionModule)),o.clientLoaderModule&&(a=a.concat(o.clientLoaderModule)),r&&o.hydrateFallbackModule&&(a=a.concat(o.hydrateFallbackModule)),o.imports&&(a=a.concat(o.imports)),a}).flat(1))}function br(e){return[...new Set(e)]}function xr(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function yr(e,t){let r=new Set;return new Set(t),e.reduce((n,o)=>{let a=JSON.stringify(xr(o));return r.has(a)||(r.add(a),n.push({key:a,link:o})),n},[])}function Be(){let e=i.useContext(B);return pe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function vr(){let e=i.useContext(Q);return pe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ge=i.createContext(void 0);ge.displayName="FrameworkContext";function Ye(){let e=i.useContext(ge);return pe(e,"You must render this element inside a <HydratedRouter> element"),e}function wr(e,t){let r=i.useContext(ge),[n,o]=i.useState(!1),[a,l]=i.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:m,onMouseLeave:f,onTouchStart:d}=t,p=i.useRef(null);i.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let v=R=>{R.forEach(g=>{l(g.isIntersecting)})},y=new IntersectionObserver(v,{threshold:.5});return p.current&&y.observe(p.current),()=>{y.disconnect()}}},[e]),i.useEffect(()=>{if(n){let v=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(v)}}},[n]);let b=()=>{o(!0)},k=()=>{o(!1),l(!1)};return r?e!=="intent"?[a,p,{}]:[a,p,{onFocus:X(u,b),onBlur:X(s,k),onMouseEnter:X(m,b),onMouseLeave:X(f,k),onTouchStart:X(d,b)}]:[!1,p,{}]}function X(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function kr({page:e,...t}){let{router:r}=Be(),n=i.useMemo(()=>Se(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?i.createElement(Er,{page:e,matches:n,...t}):null}function Rr(e){let{manifest:t,routeModules:r}=Ye(),[n,o]=i.useState([]);return i.useEffect(()=>{let a=!1;return pr(e,t,r).then(l=>{a||o(l)}),()=>{a=!0}},[e,t,r]),n}function Er({page:e,matches:t,...r}){let n=H(),{future:o,manifest:a,routeModules:l}=Ye(),{basename:u}=Be(),{loaderData:s,matches:m}=vr(),f=i.useMemo(()=>Ve(e,t,m,a,n,"data"),[e,t,m,a,n]),d=i.useMemo(()=>Ve(e,t,m,a,n,"assets"),[e,t,m,a,n]),p=i.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let v=new Set,y=!1;if(t.forEach(g=>{let w=a.routes[g.route.id];!w||!w.hasLoader||(!f.some(A=>A.route.id===g.route.id)&&g.route.id in s&&l[g.route.id]?.shouldRevalidate||w.hasClientLoader?y=!0:v.add(g.route.id))}),v.size===0)return[];let R=fr(e,u,o.unstable_trailingSlashAwareDataRequests,"data");return y&&v.size>0&&R.searchParams.set("_routes",t.filter(g=>v.has(g.route.id)).map(g=>g.route.id).join(",")),[R.pathname+R.search]},[u,o.unstable_trailingSlashAwareDataRequests,s,n,a,f,t,e,l]),b=i.useMemo(()=>gr(d,a),[d,a]),k=Rr(d);return i.createElement(i.Fragment,null,p.map(v=>i.createElement("link",{key:v,rel:"prefetch",as:"fetch",href:v,...r})),b.map(v=>i.createElement("link",{key:v,rel:"modulepreload",href:v,...r})),k.map(({key:v,link:y})=>i.createElement("link",{key:v,nonce:r.nonce,...y})))}function Cr(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var Sr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Sr&&(window.__reactRouterVersion="7.12.0")}catch{}var Je=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,be=i.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:o,reloadDocument:a,replace:l,state:u,target:s,to:m,preventScrollReset:f,viewTransition:d,unstable_defaultShouldRevalidate:p,...b},k){let{basename:v,unstable_useTransitions:y}=i.useContext(T),R=typeof m=="string"&&Je.test(m),g=$e(m,v);m=g.to;let w=zt(m,{relative:o}),[A,j,D]=wr(n,b),F=jr(m,{replace:l,state:u,target:s,preventScrollReset:f,relative:o,viewTransition:d,unstable_defaultShouldRevalidate:p,unstable_useTransitions:y});function W(V){t&&t(V),V.defaultPrevented||F(V)}let U=i.createElement("a",{...b,...D,href:g.absoluteURL||w,onClick:g.isExternal||a?t:W,ref:Cr(k,j),target:s,"data-discover":!R&&r==="render"?"true":void 0});return A&&!R?i.createElement(i.Fragment,null,U,i.createElement(kr,{page:w})):U});be.displayName="Link";var Pr=i.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:o=!1,style:a,to:l,viewTransition:u,children:s,...m},f){let d=q(l,{relative:m.relative}),p=H(),b=i.useContext(Q),{navigator:k,basename:v}=i.useContext(T),y=b!=null&&$r(d)&&u===!0,R=k.encodeLocation?k.encodeLocation(d).pathname:d.pathname,g=p.pathname,w=b&&b.navigation&&b.navigation.location?b.navigation.location.pathname:null;r||(g=g.toLowerCase(),w=w?w.toLowerCase():null,R=R.toLowerCase()),w&&v&&(w=M(w,v)||w);const A=R!=="/"&&R.endsWith("/")?R.length-1:R.length;let j=g===R||!o&&g.startsWith(R)&&g.charAt(A)==="/",D=w!=null&&(w===R||!o&&w.startsWith(R)&&w.charAt(R.length)==="/"),F={isActive:j,isPending:D,isTransitioning:y},W=j?t:void 0,U;typeof n=="function"?U=n(F):U=[n,j?"active":null,D?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let V=typeof a=="function"?a(F):a;return i.createElement(be,{...m,"aria-current":W,className:U,ref:f,style:V,to:l,viewTransition:u},typeof s=="function"?s(F):s)});Pr.displayName="NavLink";var Nr=i.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:o,state:a,method:l=te,action:u,onSubmit:s,relative:m,preventScrollReset:f,viewTransition:d,unstable_defaultShouldRevalidate:p,...b},k)=>{let{unstable_useTransitions:v}=i.useContext(T),y=Ur(),R=Or(u,{relative:m}),g=l.toLowerCase()==="get"?"get":"post",w=typeof u=="string"&&Je.test(u),A=j=>{if(s&&s(j),j.defaultPrevented)return;j.preventDefault();let D=j.nativeEvent.submitter,F=D?.getAttribute("formmethod")||l,W=()=>y(D||j.currentTarget,{fetcherKey:t,method:F,navigate:r,replace:o,state:a,relative:m,preventScrollReset:f,viewTransition:d,unstable_defaultShouldRevalidate:p});v&&r!==!1?i.startTransition(()=>W()):W()};return i.createElement("form",{ref:k,method:g,action:R,onSubmit:n?s:A,...b,"data-discover":!w&&e==="render"?"true":void 0})});Nr.displayName="Form";function _r(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ge(e){let t=i.useContext(B);return _(t,_r(e)),t}function jr(e,{target:t,replace:r,state:n,preventScrollReset:o,relative:a,viewTransition:l,unstable_defaultShouldRevalidate:u,unstable_useTransitions:s}={}){let m=Ht(),f=H(),d=q(e,{relative:a});return i.useCallback(p=>{if(sr(p,t)){p.preventDefault();let b=r!==void 0?r:le(f)===le(d),k=()=>m(e,{replace:b,state:n,preventScrollReset:o,relative:a,viewTransition:l,unstable_defaultShouldRevalidate:u});s?i.startTransition(()=>k()):k()}},[f,m,d,r,n,t,e,o,a,l,u,s])}var Tr=0,Lr=()=>`__${String(++Tr)}__`;function Ur(){let{router:e}=Ge("useSubmit"),{basename:t}=i.useContext(T),r=er(),n=e.fetch,o=e.navigate;return i.useCallback(async(a,l={})=>{let{action:u,method:s,encType:m,formData:f,body:d}=dr(a,t);if(l.navigate===!1){let p=l.fetcherKey||Lr();await n(p,r,l.action||u,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:f,body:d,formMethod:l.method||s,formEncType:l.encType||m,flushSync:l.flushSync})}else await o(l.action||u,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:f,body:d,formMethod:l.method||s,formEncType:l.encType||m,replace:l.replace,state:l.state,fromRouteId:r,flushSync:l.flushSync,viewTransition:l.viewTransition})},[n,o,t,r])}function Or(e,{relative:t}={}){let{basename:r}=i.useContext(T),n=i.useContext($);_(n,"useFormAction must be used inside a RouteContext");let[o]=n.matches.slice(-1),a={...q(e||".",{relative:t})},l=H();if(e==null){a.search=l.search;let u=new URLSearchParams(a.search),s=u.getAll("index");if(s.some(f=>f==="")){u.delete("index"),s.filter(d=>d).forEach(d=>u.append("index",d));let f=u.toString();a.search=f?`?${f}`:""}}return(!e||e===".")&&o.route.index&&(a.search=a.search?a.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(a.pathname=a.pathname==="/"?r:O([r,a.pathname])),le(a)}function $r(e,{relative:t}={}){let r=i.useContext(De);_(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=Ge("useViewTransitionState"),o=q(e,{relative:t});if(!r.isTransitioning)return!1;let a=M(r.currentLocation.pathname,n)||r.currentLocation.pathname,l=M(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Z(o.pathname,l)!=null||Z(o.pathname,a)!=null}const Ar={primary:"text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 underline font-medium",secondary:"text-green-600 hover:text-green-800 dark:text-green-400 dark:hover:text-green-300 underline font-medium",subtle:"text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200 underline"},xe=({to:e,children:t,className:r,variant:n="primary"})=>h.jsx(be,{to:e,className:E.cn(Ar[n],r),"aria-label":typeof t=="string"?`Navigate to ${t}`:void 0,children:t}),Dr={gettingStarted:{documentation:"/document#getting-started",connect:"/connect",features:"/document#email-management"},benefits:{users:"/web3-users",projects:"/web3-projects",security:"/document#technical-details",nameService:"/document#name-service-subscription"},technical:{documentation:"/document",apiDocs:"/document#api-documentation",smartContracts:"/document#smart-contracts",security:"/document#technical-details"},integration:{projects:"/web3-projects",delegation:"/document#email-delegation",nameService:"/document#name-service-subscription",troubleshooting:"/document#troubleshooting"}},Fr=({cluster:e,context:t="",className:r})=>{const n=Dr[e],o={gettingStarted:{documentation:"Learn how it works",connect:"Get started now",features:"Explore features"},benefits:{users:"Benefits for users",projects:"For Web3 projects",security:"Security details",nameService:"ENS/SNS domains"},technical:{documentation:"Full documentation",apiDocs:"API reference",smartContracts:"Smart contract integration",security:"Technical security"},integration:{projects:"Integration examples",delegation:"Email delegation",nameService:"Domain setup",troubleshooting:"Troubleshooting guide"}};return h.jsx("span",{className:E.cn("text-sm text-gray-600 dark:text-gray-400",r),children:Object.entries(n).map(([a,l],u)=>h.jsxs(I.Fragment,{children:[h.jsx(xe,{to:l,variant:"primary",children:o[e][a]}),u<Object.keys(n).length-1&&" • "]},a))})},Ir=({title:e="Related:",links:t,className:r})=>h.jsxs("div",{className:E.cn("mt-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-800",r),children:[h.jsx("span",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mr-2",children:e}),t.map((n,o)=>h.jsxs(I.Fragment,{children:[h.jsx(xe,{to:n.url,variant:n.variant||"primary",children:n.text}),o<t.length-1&&" • "]},o))]}),Mr=(e,t)=>({homepage:[{text:"How it works",url:"/document#getting-started"},{text:"User benefits",url:"/web3-users"},{text:"For projects",url:"/web3-projects"}],documentation:[{text:"Get started",url:"/connect"},{text:"User guide",url:"/web3-users"},{text:"API docs",url:"/document#api-documentation"}],users:[{text:"Start now",url:"/connect"},{text:"Documentation",url:"/document"},{text:"For projects",url:"/web3-projects"}],projects:[{text:"API integration",url:"/document#api-documentation"},{text:"Smart contracts",url:"/document#smart-contracts"},{text:"User benefits",url:"/web3-users"}]})[e]||[],Wr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UlandingUbuilder",children:t||"UlandingUbuilder Component"}),zr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UnpsUsurvey",children:t||"UnpsUsurvey Component"}),Hr=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SalesReport",children:t||"SalesReport Component"}),Vr=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:t||"SubscriberList Component"}),Br=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UtestimonialUslider",children:t||"UtestimonialUslider Component"}),Yr=({title:e,description:t,useCases:r,columns:n=3,className:o})=>{const a="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",l={blue:"text-blue-600 dark:text-blue-400",green:"text-green-600 dark:text-green-400",purple:"text-purple-600 dark:text-purple-400",orange:"text-orange-600 dark:text-orange-400",pink:"text-pink-600 dark:text-pink-400",gray:"text-gray-600 dark:text-gray-400"},u={2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"};return h.jsx("section",{className:E.cn(z.ui.section.gradient,o),children:h.jsxs("div",{className:a,children:[(e||t)&&h.jsxs("div",{className:"text-center mb-12",children:[e&&h.jsx("h2",{className:"text-3xl font-bold text-gray-900 dark:text-white mb-4",children:e}),t&&h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",children:t})]}),h.jsx("div",{className:E.cn("grid gap-8",u[n]),children:r.map((s,m)=>{const f=s.color?l[s.color]:l.blue;return h.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl p-6 border border-gray-200 dark:border-gray-700 hover:shadow-lg transition-shadow",children:[h.jsx("div",{className:E.cn("flex-shrink-0 mb-4",f),children:s.icon}),h.jsx("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-3",children:s.title}),h.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-4",children:s.description}),s.examples&&s.examples.length>0&&h.jsxs("div",{children:[h.jsx("h4",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"Examples:"}),h.jsx("ul",{className:"space-y-1",children:s.examples.map((d,p)=>h.jsxs("li",{className:"flex items-start",children:[h.jsx("div",{className:E.cn("w-1.5 h-1.5 rounded-full mt-2 mr-2 flex-shrink-0",s.color?`bg-${s.color}-500`:"bg-blue-500")}),h.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:d})]},p))})]})]},m)})})]})})},Jr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UwelcomeUscreen",children:t||"UwelcomeUscreen Component"});C.CrmDashboard=ot,C.FeatureListItem=ut,C.HeroBannerWithBadge=dt,C.InternalLink=xe,C.RelatedLinks=Ir,C.SalesReport=Hr,C.SubscriberList=Vr,C.TopicClusterLinks=Fr,C.UctaUbanner=lt,C.UfeatureUspotlight=ct,C.UlandingUbuilder=Wr,C.UnpsUsurvey=zr,C.UseCaseGrid=Yr,C.UtestimonialUslider=Br,C.UwelcomeUscreen=Jr,C.generateContextualLinks=Mr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
3
+ Please change the parent <Route path="${p}"> to <Route path="${p==="/"?"*":`${p}/*`}">.`)}let m=T(),g;g=m;let C=g.pathname||"/",b=C;if(f!=="/"){let p=f.replace(/^\//,"").split("/");b="/"+C.replace(/^\//,"").split("/").slice(p.length).join("/")}let y=ue(e,{pathname:b});return L(c||y!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),L(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.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.`),Et(y&&y.map(p=>Object.assign({},p,{params:Object.assign({},s,p.params),pathname:N([f,a.encodeLocation?a.encodeLocation(p.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:p.pathname]),pathnameBase:p.pathnameBase==="/"?f:N([f,a.encodeLocation?a.encodeLocation(p.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:p.pathnameBase])})),l,r,n,o)}function vt(){let e=Pt(),t=lt(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},a={padding:"2px 4px",backgroundColor:n},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=i.createElement(i.Fragment,null,i.createElement("p",null,"💿 Hey developer 👋"),i.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",i.createElement("code",{style:a},"ErrorBoundary")," or"," ",i.createElement("code",{style:a},"errorElement")," prop on your route.")),i.createElement(i.Fragment,null,i.createElement("h2",null,"Unexpected Application Error!"),i.createElement("h3",{style:{fontStyle:"italic"}},t),r?i.createElement("pre",{style:o},r):null,l)}var wt=i.createElement(vt,null),Ee=class extends i.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,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=pt(e.digest);r&&(e=r)}let t=e!==void 0?i.createElement(P.Provider,{value:this.props.routeContext},i.createElement(ee.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?i.createElement(kt,{error:e},t):t}};Ee.contextType=ut;var te=new WeakMap;function kt({children:e,error:t}){let{basename:r}=i.useContext(S);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=mt(t.digest);if(n){let o=te.get(t);if(o)throw o;let a=ye(n.location,r);if(be&&!te.get(t))if(a.isExternal||n.reloadDocument)window.location.href=a.absoluteURL||a.to;else{const l=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:n.replace}));throw te.set(t,l),l}return i.createElement("meta",{httpEquiv:"refresh",content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Ct({routeContext:e,match:t,children:r}){let n=i.useContext(O);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),i.createElement(P.Provider,{value:e},r)}function Et(e,t=[],r=null,n=null,o=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let a=e,l=r?.errors;if(l!=null){let f=a.findIndex(c=>c.route.id&&l?.[c.route.id]!==void 0);E(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),a=a.slice(0,Math.min(a.length,f+1))}let u=!1,s=-1;if(r)for(let f=0;f<a.length;f++){let c=a[f];if((c.route.HydrateFallback||c.route.hydrateFallbackElement)&&(s=f),c.route.id){let{loaderData:m,errors:g}=r,C=c.route.loader&&!m.hasOwnProperty(c.route.id)&&(!g||g[c.route.id]===void 0);if(c.route.lazy||C){u=!0,s>=0?a=a.slice(0,s+1):a=[a[0]];break}}}let d=r&&n?(f,c)=>{n(f,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:it(r.matches),errorInfo:c})}:void 0;return a.reduceRight((f,c,m)=>{let g,C=!1,b=null,y=null;r&&(g=l&&c.route.id?l[c.route.id]:void 0,b=c.route.errorElement||wt,u&&(s<0&&m===0?(Re("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,y=null):s===m&&(C=!0,y=c.route.hydrateFallbackElement||null)));let v=t.concat(a.slice(0,m+1)),p=()=>{let x;return g?x=b:C?x=y:c.route.Component?x=i.createElement(c.route.Component,null):c.route.element?x=c.route.element:x=f,i.createElement(Ct,{match:c,routeContext:{outlet:f,matches:v,isDataRoute:r!=null},children:x})};return r&&(c.route.ErrorBoundary||c.route.errorElement||m===0)?i.createElement(Ee,{location:r.location,revalidation:r.revalidation,component:b,error:g,children:p(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:d}):p()},null)}function re(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function St(e){let t=i.useContext(O);return E(t,re(e)),t}function Rt(e){let t=i.useContext(B);return E(t,re(e)),t}function Lt(e){let t=i.useContext(P);return E(t,re(e)),t}function ne(e){let t=Lt(e),r=t.matches[t.matches.length-1];return E(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function Nt(){return ne("useRouteId")}function Pt(){let e=i.useContext(ee),t=Rt("useRouteError"),r=ne("useRouteError");return e!==void 0?e:t.errors?.[r]}function Ut(){let{router:e}=St("useNavigate"),t=ne("useNavigate"),r=i.useRef(!1);return Ce(()=>{r.current=!0}),i.useCallback(async(o,a={})=>{L(r.current,ke),r.current&&(typeof o=="number"?await e.navigate(o):await e.navigate(o,{fromRouteId:t,...a}))},[e,t])}var Se={};function Re(e,t,r){!t&&!Se[e]&&(Se[e]=!0,L(!1,r))}i.memo($t);function $t({routes:e,future:t,state:r,onError:n}){return xt(e,void 0,r,n,t)}var V="get",J="application/x-www-form-urlencoded";function G(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Tt(e){return G(e)&&e.tagName.toLowerCase()==="button"}function Dt(e){return G(e)&&e.tagName.toLowerCase()==="form"}function Ft(e){return G(e)&&e.tagName.toLowerCase()==="input"}function It(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ot(e,t){return e.button===0&&(!t||t==="_self")&&!It(e)}var q=null;function _t(){if(q===null)try{new FormData(document.createElement("form"),0),q=!1}catch{q=!0}return q}var Mt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ae(e){return e!=null&&!Mt.has(e)?(L(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${J}"`),null):e}function jt(e,t){let r,n,o,a,l;if(Dt(e)){let u=e.getAttribute("action");n=u?U(u,t):null,r=e.getAttribute("method")||V,o=ae(e.getAttribute("enctype"))||J,a=new FormData(e)}else if(Tt(e)||Ft(e)&&(e.type==="submit"||e.type==="image")){let u=e.form;if(u==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||u.getAttribute("action");if(n=s?U(s,t):null,r=e.getAttribute("formmethod")||u.getAttribute("method")||V,o=ae(e.getAttribute("formenctype"))||ae(u.getAttribute("enctype"))||J,a=new FormData(u,e),!_t()){let{name:d,type:f,value:c}=e;if(f==="image"){let m=d?`${d}.`:"";a.append(`${m}x`,"0"),a.append(`${m}y`,"0")}else d&&a.append(d,c)}}else{if(G(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=V,n=null,o=J,l=e}return a&&o==="text/plain"&&(l=a,a=void 0),{action:n,method:r.toLowerCase(),encType:o,formData:a,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function oe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function At(e,t,r,n){let o=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${n}`:o.pathname=`${o.pathname}.${n}`:o.pathname==="/"?o.pathname=`_root.${n}`:t&&U(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${n}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${n}`,o}async function Wt(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),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 Bt(e,t,r){let n=await Promise.all(e.map(async o=>{let a=t.routes[o.route.id];if(a){let l=await Wt(a,r);return l.links?l.links():[]}return[]}));return Gt(n.flat(1).filter(Ht).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function Le(e,t,r,n,o,a){let l=(s,d)=>r[d]?s.route.id!==r[d].route.id:!0,u=(s,d)=>r[d].pathname!==s.pathname||r[d].route.path?.endsWith("*")&&r[d].params["*"]!==s.params["*"];return a==="assets"?t.filter((s,d)=>l(s,d)||u(s,d)):a==="data"?t.filter((s,d)=>{let f=n.routes[s.route.id];if(!f||!f.hasLoader)return!1;if(l(s,d)||u(s,d))return!0;if(s.route.shouldRevalidate){let c=s.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof c=="boolean")return c}return!0}):[]}function zt(e,t,{includeHydrateFallback:r}={}){return Vt(e.map(n=>{let o=t.routes[n.route.id];if(!o)return[];let a=[o.module];return o.clientActionModule&&(a=a.concat(o.clientActionModule)),o.clientLoaderModule&&(a=a.concat(o.clientLoaderModule)),r&&o.hydrateFallbackModule&&(a=a.concat(o.hydrateFallbackModule)),o.imports&&(a=a.concat(o.imports)),a}).flat(1))}function Vt(e){return[...new Set(e)]}function Jt(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Gt(e,t){let r=new Set;return new Set(t),e.reduce((n,o)=>{let a=JSON.stringify(Jt(o));return r.has(a)||(r.add(a),n.push({key:a,link:o})),n},[])}function Ne(){let e=i.useContext(O);return oe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function qt(){let e=i.useContext(B);return oe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var le=i.createContext(void 0);le.displayName="FrameworkContext";function Pe(){let e=i.useContext(le);return oe(e,"You must render this element inside a <HydratedRouter> element"),e}function Kt(e,t){let r=i.useContext(le),[n,o]=i.useState(!1),[a,l]=i.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:d,onMouseLeave:f,onTouchStart:c}=t,m=i.useRef(null);i.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let b=v=>{v.forEach(p=>{l(p.isIntersecting)})},y=new IntersectionObserver(b,{threshold:.5});return m.current&&y.observe(m.current),()=>{y.disconnect()}}},[e]),i.useEffect(()=>{if(n){let b=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(b)}}},[n]);let g=()=>{o(!0)},C=()=>{o(!1),l(!1)};return r?e!=="intent"?[a,m,{}]:[a,m,{onFocus:A(u,g),onBlur:A(s,C),onMouseEnter:A(d,g),onMouseLeave:A(f,C),onTouchStart:A(c,g)}]:[!1,m,{}]}function A(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Yt({page:e,...t}){let{router:r}=Ne(),n=i.useMemo(()=>ue(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?i.createElement(Zt,{page:e,matches:n,...t}):null}function Xt(e){let{manifest:t,routeModules:r}=Pe(),[n,o]=i.useState([]);return i.useEffect(()=>{let a=!1;return Bt(e,t,r).then(l=>{a||o(l)}),()=>{a=!0}},[e,t,r]),n}function Zt({page:e,matches:t,...r}){let n=T(),{future:o,manifest:a,routeModules:l}=Pe(),{basename:u}=Ne(),{loaderData:s,matches:d}=qt(),f=i.useMemo(()=>Le(e,t,d,a,n,"data"),[e,t,d,a,n]),c=i.useMemo(()=>Le(e,t,d,a,n,"assets"),[e,t,d,a,n]),m=i.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let b=new Set,y=!1;if(t.forEach(p=>{let x=a.routes[p.route.id];!x||!x.hasLoader||(!f.some(D=>D.route.id===p.route.id)&&p.route.id in s&&l[p.route.id]?.shouldRevalidate||x.hasClientLoader?y=!0:b.add(p.route.id))}),b.size===0)return[];let v=At(e,u,o.unstable_trailingSlashAwareDataRequests,"data");return y&&b.size>0&&v.searchParams.set("_routes",t.filter(p=>b.has(p.route.id)).map(p=>p.route.id).join(",")),[v.pathname+v.search]},[u,o.unstable_trailingSlashAwareDataRequests,s,n,a,f,t,e,l]),g=i.useMemo(()=>zt(c,a),[c,a]),C=Xt(c);return i.createElement(i.Fragment,null,m.map(b=>i.createElement("link",{key:b,rel:"prefetch",as:"fetch",href:b,...r})),g.map(b=>i.createElement("link",{key:b,rel:"modulepreload",href:b,...r})),C.map(({key:b,link:y})=>i.createElement("link",{key:b,nonce:r.nonce,...y})))}function Qt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var er=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{er&&(window.__reactRouterVersion="7.12.0")}catch{}var Ue=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ie=i.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:o,reloadDocument:a,replace:l,state:u,target:s,to:d,preventScrollReset:f,viewTransition:c,unstable_defaultShouldRevalidate:m,...g},C){let{basename:b,unstable_useTransitions:y}=i.useContext(S),v=typeof d=="string"&&Ue.test(d),p=ye(d,b);d=p.to;let x=gt(d,{relative:o}),[D,R,F]=Kt(n,g),I=ar(d,{replace:l,state:u,target:s,preventScrollReset:f,relative:o,viewTransition:c,unstable_defaultShouldRevalidate:m,unstable_useTransitions:y});function _(W){t&&t(W),W.defaultPrevented||I(W)}let M=i.createElement("a",{...g,...F,href:p.absoluteURL||x,onClick:p.isExternal||a?t:_,ref:Qt(C,R),target:s,"data-discover":!v&&r==="render"?"true":void 0});return D&&!v?i.createElement(i.Fragment,null,M,i.createElement(Yt,{page:x})):M});ie.displayName="Link";var tr=i.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:o=!1,style:a,to:l,viewTransition:u,children:s,...d},f){let c=j(l,{relative:d.relative}),m=T(),g=i.useContext(B),{navigator:C,basename:b}=i.useContext(S),y=g!=null&&ur(c)&&u===!0,v=C.encodeLocation?C.encodeLocation(c).pathname:c.pathname,p=m.pathname,x=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(p=p.toLowerCase(),x=x?x.toLowerCase():null,v=v.toLowerCase()),x&&b&&(x=U(x,b)||x);const D=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let R=p===v||!o&&p.startsWith(v)&&p.charAt(D)==="/",F=x!=null&&(x===v||!o&&x.startsWith(v)&&x.charAt(v.length)==="/"),I={isActive:R,isPending:F,isTransitioning:y},_=R?t:void 0,M;typeof n=="function"?M=n(I):M=[n,R?"active":null,F?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let W=typeof a=="function"?a(I):a;return i.createElement(ie,{...d,"aria-current":_,className:M,ref:f,style:W,to:l,viewTransition:u},typeof s=="function"?s(I):s)});tr.displayName="NavLink";var rr=i.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:o,state:a,method:l=V,action:u,onSubmit:s,relative:d,preventScrollReset:f,viewTransition:c,unstable_defaultShouldRevalidate:m,...g},C)=>{let{unstable_useTransitions:b}=i.useContext(S),y=ir(),v=sr(u,{relative:d}),p=l.toLowerCase()==="get"?"get":"post",x=typeof u=="string"&&Ue.test(u),D=R=>{if(s&&s(R),R.defaultPrevented)return;R.preventDefault();let F=R.nativeEvent.submitter,I=F?.getAttribute("formmethod")||l,_=()=>y(F||R.currentTarget,{fetcherKey:t,method:I,navigate:r,replace:o,state:a,relative:d,preventScrollReset:f,viewTransition:c,unstable_defaultShouldRevalidate:m});b&&r!==!1?i.startTransition(()=>_()):_()};return i.createElement("form",{ref:C,method:p,action:v,onSubmit:n?s:D,...g,"data-discover":!x&&e==="render"?"true":void 0})});rr.displayName="Form";function nr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function $e(e){let t=i.useContext(O);return E(t,nr(e)),t}function ar(e,{target:t,replace:r,state:n,preventScrollReset:o,relative:a,viewTransition:l,unstable_defaultShouldRevalidate:u,unstable_useTransitions:s}={}){let d=bt(),f=T(),c=j(e,{relative:a});return i.useCallback(m=>{if(Ot(m,t)){m.preventDefault();let g=r!==void 0?r:Y(f)===Y(c),C=()=>d(e,{replace:g,state:n,preventScrollReset:o,relative:a,viewTransition:l,unstable_defaultShouldRevalidate:u});s?i.startTransition(()=>C()):C()}},[f,d,c,r,n,t,e,o,a,l,u,s])}var or=0,lr=()=>`__${String(++or)}__`;function ir(){let{router:e}=$e("useSubmit"),{basename:t}=i.useContext(S),r=Nt(),n=e.fetch,o=e.navigate;return i.useCallback(async(a,l={})=>{let{action:u,method:s,encType:d,formData:f,body:c}=jt(a,t);if(l.navigate===!1){let m=l.fetcherKey||lr();await n(m,r,l.action||u,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:f,body:c,formMethod:l.method||s,formEncType:l.encType||d,flushSync:l.flushSync})}else await o(l.action||u,{unstable_defaultShouldRevalidate:l.unstable_defaultShouldRevalidate,preventScrollReset:l.preventScrollReset,formData:f,body:c,formMethod:l.method||s,formEncType:l.encType||d,replace:l.replace,state:l.state,fromRouteId:r,flushSync:l.flushSync,viewTransition:l.viewTransition})},[n,o,t,r])}function sr(e,{relative:t}={}){let{basename:r}=i.useContext(S),n=i.useContext(P);E(n,"useFormAction must be used inside a RouteContext");let[o]=n.matches.slice(-1),a={...j(e||".",{relative:t})},l=T();if(e==null){a.search=l.search;let u=new URLSearchParams(a.search),s=u.getAll("index");if(s.some(f=>f==="")){u.delete("index"),s.filter(c=>c).forEach(c=>u.append("index",c));let f=u.toString();a.search=f?`?${f}`:""}}return(!e||e===".")&&o.route.index&&(a.search=a.search?a.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(a.pathname=a.pathname==="/"?r:N([r,a.pathname])),Y(a)}function ur(e,{relative:t}={}){let r=i.useContext(ve);E(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=$e("useViewTransitionState"),o=j(e,{relative:t});if(!r.isTransitioning)return!1;let a=U(r.currentLocation.pathname,n)||r.currentLocation.pathname,l=U(r.nextLocation.pathname,n)||r.nextLocation.pathname;return H(o.pathname,l)!=null||H(o.pathname,a)!=null}const cr={primary:"text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 underline font-medium",secondary:"text-green-600 hover:text-green-800 dark:text-green-400 dark:hover:text-green-300 underline font-medium",subtle:"text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200 underline"},se=({to:e,children:t,className:r,variant:n="primary"})=>h.jsx(ie,{to:e,className:k.cn(cr[n],r),"aria-label":typeof t=="string"?`Navigate to ${t}`:void 0,children:t}),dr={gettingStarted:{documentation:"/document#getting-started",connect:"/connect",features:"/document#email-management"},benefits:{users:"/web3-users",projects:"/web3-projects",security:"/document#technical-details",nameService:"/document#name-service-subscription"},technical:{documentation:"/document",apiDocs:"/document#api-documentation",smartContracts:"/document#smart-contracts",security:"/document#technical-details"},integration:{projects:"/web3-projects",delegation:"/document#email-delegation",nameService:"/document#name-service-subscription",troubleshooting:"/document#troubleshooting"}},fr=({cluster:e,context:t="",className:r})=>{const n=dr[e],o={gettingStarted:{documentation:"Learn how it works",connect:"Get started now",features:"Explore features"},benefits:{users:"Benefits for users",projects:"For Web3 projects",security:"Security details",nameService:"ENS/SNS domains"},technical:{documentation:"Full documentation",apiDocs:"API reference",smartContracts:"Smart contract integration",security:"Technical security"},integration:{projects:"Integration examples",delegation:"Email delegation",nameService:"Domain setup",troubleshooting:"Troubleshooting guide"}};return h.jsx("span",{className:k.cn("text-sm text-gray-600 dark:text-gray-400",r),children:Object.entries(n).map(([a,l],u)=>h.jsxs(K.Fragment,{children:[h.jsx(se,{to:l,variant:"primary",children:o[e][a]}),u<Object.keys(n).length-1&&" • "]},a))})},hr=({title:e="Related:",links:t,className:r})=>h.jsxs("div",{className:k.cn("mt-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-800",r),children:[h.jsx("span",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mr-2",children:e}),t.map((n,o)=>h.jsxs(K.Fragment,{children:[h.jsx(se,{to:n.url,variant:n.variant||"primary",children:n.text}),o<t.length-1&&" • "]},o))]}),mr=(e,t)=>({homepage:[{text:"How it works",url:"/document#getting-started"},{text:"User benefits",url:"/web3-users"},{text:"For projects",url:"/web3-projects"}],documentation:[{text:"Get started",url:"/connect"},{text:"User guide",url:"/web3-users"},{text:"API docs",url:"/document#api-documentation"}],users:[{text:"Start now",url:"/connect"},{text:"Documentation",url:"/document"},{text:"For projects",url:"/web3-projects"}],projects:[{text:"API integration",url:"/document#api-documentation"},{text:"Smart contracts",url:"/document#smart-contracts"},{text:"User benefits",url:"/web3-users"}]})[e]||[],pr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UlandingUbuilder",children:t||"UlandingUbuilder Component"}),gr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UnpsUsurvey",children:t||"UnpsUsurvey Component"}),br=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SalesReport",children:t||"SalesReport Component"}),yr=({className:e,children:t,disabled:r})=>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",r&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:t||"SubscriberList Component"}),xr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UtestimonialUslider",children:t||"UtestimonialUslider Component"}),vr=({title:e,description:t,useCases:r,columns:n=3,className:o})=>{const a="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",l={blue:"text-blue-600 dark:text-blue-400",green:"text-green-600 dark:text-green-400",purple:"text-purple-600 dark:text-purple-400",orange:"text-orange-600 dark:text-orange-400",pink:"text-pink-600 dark:text-pink-400",gray:"text-gray-600 dark:text-gray-400"},u={2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"};return h.jsx("section",{className:k.cn($.ui.section.gradient,o),children:h.jsxs("div",{className:a,children:[(e||t)&&h.jsxs("div",{className:"text-center mb-12",children:[e&&h.jsx("h2",{className:"text-3xl font-bold text-gray-900 dark:text-white mb-4",children:e}),t&&h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",children:t})]}),h.jsx("div",{className:k.cn("grid gap-8",u[n]),children:r.map((s,d)=>{const f=s.color?l[s.color]:l.blue;return h.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl p-6 border border-gray-200 dark:border-gray-700 hover:shadow-lg transition-shadow",children:[h.jsx("div",{className:k.cn("flex-shrink-0 mb-4",f),children:s.icon}),h.jsx("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-3",children:s.title}),h.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-4",children:s.description}),s.examples&&s.examples.length>0&&h.jsxs("div",{children:[h.jsx("h4",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"Examples:"}),h.jsx("ul",{className:"space-y-1",children:s.examples.map((c,m)=>h.jsxs("li",{className:"flex items-start",children:[h.jsx("div",{className:k.cn("w-1.5 h-1.5 rounded-full mt-2 mr-2 flex-shrink-0",s.color?`bg-${s.color}-500`:"bg-blue-500")}),h.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:c})]},m))})]})]},d)})})]})})},wr=({className:e,children:t,disabled:r=!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",r&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:r?void 0:n,role:"region","aria-label":"UwelcomeUscreen",children:t||"UwelcomeUscreen Component"});w.CrmDashboard=De,w.FeatureListItem=_e,w.HeroBannerWithBadge=je,w.InternalLink=se,w.RelatedLinks=hr,w.SalesReport=br,w.SubscriberList=yr,w.TopicClusterLinks=fr,w.UctaUbanner=Fe,w.UfeatureUspotlight=Me,w.UlandingUbuilder=pr,w.UnpsUsurvey=gr,w.UseCaseGrid=vr,w.UtestimonialUslider=xr,w.UwelcomeUscreen=wr,w.generateContextualLinks=mr,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/marketing-components",
3
- "version": "2.0.10",
3
+ "version": "2.0.12",
4
4
  "description": "marketing UI components for React",
5
5
  "type": "module",
6
6
  "main": "dist/index.umd.js",
@@ -60,9 +60,7 @@
60
60
  "eslint-plugin-react-hooks": "^7.0.0",
61
61
  "eslint-plugin-react-refresh": "^0.4.0",
62
62
  "jsdom": "^27.0.1",
63
- "prettier": "^3.6.2",
64
- "react": "^19.2.0",
65
- "react-dom": "^19.2.0",
63
+ "prettier": "^3.8.1",
66
64
  "react-router-dom": "^7.9.6",
67
65
  "tailwind-merge": "^3.3.1",
68
66
  "typescript": "^5.9.3",