@sudobility/marketing-components 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
- (function(C,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("react"),require("@sudobility/components"),require("@sudobility/design")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components","@sudobility/design"],A):(C=typeof globalThis<"u"?globalThis:C||self,A(C.Components={},C.React,C.components,C.design))})(this,(function(C,A,R,M){"use strict";function Ke(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=Ke(A);var K={exports:{}},J={};var Ee;function Ze(){if(Ee)return J;Ee=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,a,o){var l=null;if(o!==void 0&&(l=""+o),a.key!==void 0&&(l=""+a.key),"key"in a){o={};for(var i in a)i!=="key"&&(o[i]=a[i])}else o=a;return a=o.ref,{$$typeof:e,type:n,key:l,ref:a!==void 0?a:null,props:o}}return J.Fragment=r,J.jsx=t,J.jsxs=t,J}var G={};var Re;function Qe(){return Re||(Re=1,process.env.NODE_ENV!=="production"&&(function(){function e(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===oe?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case w:return"Fragment";case b:return"Profiler";case v:return"StrictMode";case H:return"Suspense";case z:return"SuspenseList";case D:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case E:return"Portal";case I:return s.displayName||"Context";case k:return(s._context.displayName||"Context")+".Consumer";case O:var x=s.render;return s=s.displayName,s||(s=x.displayName||x.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case Y:return x=s.displayName||null,x!==null?x:e(s.type)||"Memo";case T:x=s._payload,s=s._init;try{return e(s(x))}catch{}}return null}function r(s){return""+s}function t(s){try{r(s);var x=!1}catch{x=!0}if(x){x=console;var S=x.error,P=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.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),r(s)}}function n(s){if(s===w)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===T)return"<...>";try{var x=e(s);return x?"<"+x+">":"<...>"}catch{return"<...>"}}function a(){var s=ye.A;return s===null?null:s.getOwner()}function o(){return Error("react-stack-top-frame")}function l(s){if(Ye.call(s,"key")){var x=Object.getOwnPropertyDescriptor(s,"key").get;if(x&&x.isReactWarning)return!1}return s.key!==void 0}function i(s,x){function S(){Be||(Be=!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(s,"key",{get:S,configurable:!0})}function c(){var s=e(this.type);return Je[s]||(Je[s]=!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.")),s=this.props.ref,s!==void 0?s:null}function f(s,x,S,P,le,we){var N=S.ref;return s={$$typeof:y,type:s,key:x,props:S,_owner:P},(N!==void 0?N:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:c}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:le}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:we}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function m(s,x,S,P,le,we){var N=x.children;if(N!==void 0)if(P)if(Fr(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(Ye.call(x,"key")){N=e(s);var B=Object.keys(x).filter(function(Ir){return Ir!=="key"});P=0<B.length?"{key: someKey, "+B.join(": ..., ")+": ...}":"{key: someKey}",Xe[N+P]||(B=0<B.length?"{"+B.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(C,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("react"),require("@sudobility/components"),require("@sudobility/design")):typeof define=="function"&&define.amd?define(["exports","react","@sudobility/components","@sudobility/design"],A):(C=typeof globalThis<"u"?globalThis:C||self,A(C.Components={},C.React,C.components,C.design))})(this,(function(C,A,E,M){"use strict";function Ke(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const c=Ke(A);var K={exports:{}},J={};var Ee;function Ze(){if(Ee)return J;Ee=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,a,o){var l=null;if(o!==void 0&&(l=""+o),a.key!==void 0&&(l=""+a.key),"key"in a){o={};for(var u in a)u!=="key"&&(o[u]=a[u])}else o=a;return a=o.ref,{$$typeof:e,type:n,key:l,ref:a!==void 0?a:null,props:o}}return J.Fragment=r,J.jsx=t,J.jsxs=t,J}var G={};var Re;function Qe(){return Re||(Re=1,process.env.NODE_ENV!=="production"&&(function(){function e(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===oe?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case w:return"Fragment";case b:return"Profiler";case v:return"StrictMode";case H:return"Suspense";case z:return"SuspenseList";case D:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case R:return"Portal";case I:return s.displayName||"Context";case k:return(s._context.displayName||"Context")+".Consumer";case O:var x=s.render;return s=s.displayName,s||(s=x.displayName||x.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case Y:return x=s.displayName||null,x!==null?x:e(s.type)||"Memo";case T:x=s._payload,s=s._init;try{return e(s(x))}catch{}}return null}function r(s){return""+s}function t(s){try{r(s);var x=!1}catch{x=!0}if(x){x=console;var S=x.error,P=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.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),r(s)}}function n(s){if(s===w)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===T)return"<...>";try{var x=e(s);return x?"<"+x+">":"<...>"}catch{return"<...>"}}function a(){var s=ye.A;return s===null?null:s.getOwner()}function o(){return Error("react-stack-top-frame")}function l(s){if(Ye.call(s,"key")){var x=Object.getOwnPropertyDescriptor(s,"key").get;if(x&&x.isReactWarning)return!1}return s.key!==void 0}function u(s,x){function S(){Be||(Be=!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(s,"key",{get:S,configurable:!0})}function i(){var s=e(this.type);return Je[s]||(Je[s]=!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.")),s=this.props.ref,s!==void 0?s:null}function f(s,x,S,P,le,we){var N=S.ref;return s={$$typeof:y,type:s,key:x,props:S,_owner:P},(N!==void 0?N:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:i}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:le}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:we}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function m(s,x,S,P,le,we){var N=x.children;if(N!==void 0)if(P)if(Fr(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(Ye.call(x,"key")){N=e(s);var B=Object.keys(x).filter(function(Ir){return Ir!=="key"});P=0<B.length?"{key: someKey, "+B.join(": ..., ")+": ...}":"{key: someKey}",Xe[N+P]||(B=0<B.length?"{"+B.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
5
5
  let props = %s;
6
- <%s key={someKey} {...props} />`,P,N,B,N),Xe[N+P]=!0)}if(N=null,S!==void 0&&(t(S),N=""+S),l(x)&&(t(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&&i(S,typeof s=="function"?s.displayName||s.name||"Unknown":s),f(s,N,S,a(),le,we)}function d(s){p(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===T&&(s._payload.status==="fulfilled"?p(s._payload.value)&&s._payload.value._store&&(s._payload.value._store.validated=1):s._store&&(s._store.validated=1))}function p(s){return typeof s=="object"&&s!==null&&s.$$typeof===y}var g=A,y=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),I=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),Y=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),oe=Symbol.for("react.client.reference"),ye=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ye=Object.prototype.hasOwnProperty,Fr=Array.isArray,ve=console.createTask?console.createTask:function(){return null};g={react_stack_bottom_frame:function(s){return s()}};var Be,Je={},Ge=g.react_stack_bottom_frame.bind(g,o)(),qe=ve(n(o)),Xe={};G.Fragment=w,G.jsx=function(s,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return m(s,x,S,!1,P?Error("react-stack-top-frame"):Ge,P?ve(n(s)):qe)},G.jsxs=function(s,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return m(s,x,S,!0,P?Error("react-stack-top-frame"):Ge,P?ve(n(s)):qe)}})()),G}var Ce;function et(){return Ce||(Ce=1,process.env.NODE_ENV==="production"?K.exports=Ze():K.exports=Qe()),K.exports}var h=et();const tt=({className:e,children:r,disabled:t})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"CrmDashboard",children:r||"CrmDashboard Component"}),rt=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UctaUbanner",children:r||"UctaUbanner Component"});function nt({title:e,titleId:r,...t},n){return u.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":r},t),e?u.createElement("title",{id:r},e):null,u.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 at=u.forwardRef(nt),ot=({title:e,description:r,icon:t=at,iconVariant:n="success",size:a="md",className:o})=>{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"},c={sm:{container:"gap-2",icon:"p-1.5",iconSize:"h-4 w-4",title:M.textVariants.body.md(),description:M.textVariants.body.sm()},md:{container:"gap-3",icon:"p-2",iconSize:"h-5 w-5",title:M.textVariants.body.strong.md(),description:M.textVariants.body.md()},lg:{container:"gap-4",icon:"p-3",iconSize:"h-6 w-6",title:M.textVariants.heading.h4(),description:M.textVariants.body.md()}}[a];return h.jsxs("div",{className:R.cn("flex items-start",c.container,o),children:[h.jsx("div",{className:R.cn("rounded-full flex-shrink-0",c.icon,l[n]),children:h.jsx(t,{className:c.iconSize})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("h4",{className:c.title,children:e}),r&&h.jsx("p",{className:R.cn(c.description,"mt-1 text-gray-600 dark:text-gray-300"),children:r})]})]})},lt=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UfeatureUspotlight",children:r||"UfeatureUspotlight Component"}),it=({badgeIcon:e,badgeText:r,badgeColor:t="blue",title:n,subtitle:a,description:o,primaryButton:l,secondaryButton:i,className:c,children:f})=>{const d={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"}[t];return h.jsx("section",{className:R.cn("py-20",c),children:h.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[h.jsxs("div",{className:R.cn("inline-flex items-center border px-6 py-3 rounded-full mb-6",d),children:[e&&h.jsx("span",{className:"mr-3",children:e}),h.jsx("span",{className:"font-semibold",children:r})]}),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,a&&h.jsx("span",{className:"text-blue-600 dark:text-blue-400 block",children:a})]}),h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 max-w-4xl mx-auto leading-relaxed",children:o}),(l||i)&&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:R.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:R.cn("px-8 py-3 rounded-md bg-blue-600 text-white hover:bg-blue-700 transition-colors",l.className),children:l.text})),i&&(i.href?h.jsx("a",{href:i.href,className:R.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors inline-block",i.className),children:i.text}):h.jsx("button",{onClick:i.onClick,className:R.cn("px-8 py-3 rounded-md border-2 border-gray-300 dark:border-gray-600 hover:border-gray-400 transition-colors",i.className),children:i.text}))]}),f]})})};function j(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function _(e,r){if(!e){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function ie({pathname:e="/",search:r="",hash:t=""}){return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function se(e){let r={};if(e){let t=e.indexOf("#");t>=0&&(r.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(r.search=e.substring(n),e=e.substring(0,n)),e&&(r.pathname=e)}return r}function Se(e,r,t="/"){return st(e,r,t,!1)}function st(e,r,t,n){let a=typeof r=="string"?se(r):r,o=F(a.pathname||"/",t);if(o==null)return null;let l=Pe(e);ut(l);let i=null;for(let c=0;i==null&&c<l.length;++c){let f=vt(o);i=xt(l[c],f,n)}return i}function Pe(e,r=[],t=[],n="",a=!1){let o=(l,i,c=a,f)=>{let m={relativePath:f===void 0?l.path||"":f,caseSensitive:l.caseSensitive===!0,childrenIndex:i,route:l};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(n)&&c)return;j(m.relativePath.startsWith(n),`Absolute route path "${m.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(n.length)}let d=L([n,m.relativePath]),p=t.concat(m);l.children&&l.children.length>0&&(j(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Pe(l.children,r,p,d,c)),!(l.path==null&&!l.index)&&r.push({path:d,score:gt(d,l.index),routesMeta:p})};return e.forEach((l,i)=>{if(l.path===""||!l.path?.includes("?"))o(l,i);else for(let c of Ne(l.path))o(l,i,!0,c)}),r}function Ne(e){let r=e.split("/");if(r.length===0)return[];let[t,...n]=r,a=t.endsWith("?"),o=t.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let l=Ne(n.join("/")),i=[];return i.push(...l.map(c=>c===""?o:[o,c].join("/"))),a&&i.push(...l),i.map(c=>e.startsWith("/")&&c===""?"/":c)}function ut(e){e.sort((r,t)=>r.score!==t.score?t.score-r.score:bt(r.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var ct=/^:[\w-]+$/,dt=3,ft=2,mt=1,ht=10,pt=-2,je=e=>e==="*";function gt(e,r){let t=e.split("/"),n=t.length;return t.some(je)&&(n+=pt),r&&(n+=ft),t.filter(a=>!je(a)).reduce((a,o)=>a+(ct.test(o)?dt:o===""?mt:ht),n)}function bt(e,r){return e.length===r.length&&e.slice(0,-1).every((n,a)=>n===r[a])?e[e.length-1]-r[r.length-1]:0}function xt(e,r,t=!1){let{routesMeta:n}=e,a={},o="/",l=[];for(let i=0;i<n.length;++i){let c=n[i],f=i===n.length-1,m=o==="/"?r:r.slice(o.length)||"/",d=Z({path:c.relativePath,caseSensitive:c.caseSensitive,end:f},m),p=c.route;if(!d&&f&&t&&!n[n.length-1].route.index&&(d=Z({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},m)),!d)return null;Object.assign(a,d.params),l.push({params:a,pathname:L([o,d.pathname]),pathnameBase:Ct(L([o,d.pathnameBase])),route:p}),d.pathnameBase!=="/"&&(o=L([o,d.pathnameBase]))}return l}function Z(e,r){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=yt(e.path,e.caseSensitive,e.end),a=r.match(t);if(!a)return null;let o=a[0],l=o.replace(/(.)\/+$/,"$1"),i=a.slice(1);return{params:n.reduce((f,{paramName:m,isOptional:d},p)=>{if(m==="*"){let y=i[p]||"";l=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const g=i[p];return d&&!g?f[m]=void 0:f[m]=(g||"").replace(/%2F/g,"/"),f},{}),pathname:o,pathnameBase:l,pattern:e}}function yt(e,r=!1,t=!0){_(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,i,c)=>(n.push({paramName:i,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,r?void 0:"i"),n]}function vt(e){try{return e.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return _(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),e}}function F(e,r){if(r==="/")return e;if(!e.toLowerCase().startsWith(r.toLowerCase()))return null;let t=r.endsWith("/")?r.length-1:r.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}var wt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,kt=e=>wt.test(e);function Et(e,r="/"){let{pathname:t,search:n="",hash:a=""}=typeof e=="string"?se(e):e,o;if(t)if(kt(t))o=t;else{if(t.includes("//")){let l=t;t=t.replace(/\/\/+/g,"/"),_(!1,`Pathnames cannot have embedded double slashes - normalizing ${l} -> ${t}`)}t.startsWith("/")?o=Te(t.substring(1),"/"):o=Te(t,r)}else o=r;return{pathname:o,search:St(n),hash:Pt(a)}}function Te(e,r){let t=r.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?t.length>1&&t.pop():a!=="."&&t.push(a)}),t.length>1?t.join("/"):"/"}function ue(e,r,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${r}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Rt(e){return e.filter((r,t)=>t===0||r.route.path&&r.route.path.length>0)}function _e(e){let r=Rt(e);return r.map((t,n)=>n===r.length-1?t.pathname:t.pathnameBase)}function Le(e,r,t,n=!1){let a;typeof e=="string"?a=se(e):(a={...e},j(!a.pathname||!a.pathname.includes("?"),ue("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),ue("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),ue("#","search","hash",a)));let o=e===""||a.pathname==="",l=o?"/":a.pathname,i;if(l==null)i=t;else{let d=r.length-1;if(!n&&l.startsWith("..")){let p=l.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}i=d>=0?r[d]:"/"}let c=Et(a,i),f=l&&l!=="/"&&l.endsWith("/"),m=(o||l===".")&&t.endsWith("/");return!c.pathname.endsWith("/")&&(f||m)&&(c.pathname+="/"),c}var L=e=>e.join("/").replace(/\/\/+/g,"/"),Ct=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),St=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Pt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Nt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Ue=["POST","PUT","PATCH","DELETE"];new Set(Ue);var jt=["GET",...Ue];new Set(jt);var V=u.createContext(null);V.displayName="DataRouter";var Q=u.createContext(null);Q.displayName="DataRouterState",u.createContext(!1);var $e=u.createContext({isTransitioning:!1});$e.displayName="ViewTransition";var Tt=u.createContext(new Map);Tt.displayName="Fetchers";var _t=u.createContext(null);_t.displayName="Await";var U=u.createContext(null);U.displayName="Navigation";var ce=u.createContext(null);ce.displayName="Location";var $=u.createContext({outlet:null,matches:[],isDataRoute:!1});$.displayName="Route";var de=u.createContext(null);de.displayName="RouteError";function Lt(e,{relative:r}={}){j(ee(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=u.useContext(U),{hash:a,pathname:o,search:l}=q(e,{relative:r}),i=o;return t!=="/"&&(i=o==="/"?t:L([t,o])),n.createHref({pathname:i,search:l,hash:a})}function ee(){return u.useContext(ce)!=null}function W(){return j(ee(),"useLocation() may be used only in the context of a <Router> component."),u.useContext(ce).location}var Oe="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ae(e){u.useContext(U).static||u.useLayoutEffect(e)}function Ut(){let{isDataRoute:e}=u.useContext($);return e?Bt():$t()}function $t(){j(ee(),"useNavigate() may be used only in the context of a <Router> component.");let e=u.useContext(V),{basename:r,navigator:t}=u.useContext(U),{matches:n}=u.useContext($),{pathname:a}=W(),o=JSON.stringify(_e(n)),l=u.useRef(!1);return Ae(()=>{l.current=!0}),u.useCallback((c,f={})=>{if(_(l.current,Oe),!l.current)return;if(typeof c=="number"){t.go(c);return}let m=Le(c,JSON.parse(o),a,f.relative==="path");e==null&&r!=="/"&&(m.pathname=m.pathname==="/"?r:L([r,m.pathname])),(f.replace?t.replace:t.push)(m,f.state,f)},[r,t,o,a,e])}u.createContext(null);function q(e,{relative:r}={}){let{matches:t}=u.useContext($),{pathname:n}=W(),a=JSON.stringify(_e(t));return u.useMemo(()=>Le(e,JSON.parse(a),n,r==="path"),[e,a,n,r])}function Ot(e,r,t,n,a){j(ee(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=u.useContext(U),{matches:l}=u.useContext($),i=l[l.length-1],c=i?i.params:{},f=i?i.pathname:"/",m=i?i.pathnameBase:"/",d=i&&i.route;{let b=d&&d.path||"";Ie(f,!d||b.endsWith("*")||b.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${b}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
6
+ <%s key={someKey} {...props} />`,P,N,B,N),Xe[N+P]=!0)}if(N=null,S!==void 0&&(t(S),N=""+S),l(x)&&(t(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 s=="function"?s.displayName||s.name||"Unknown":s),f(s,N,S,a(),le,we)}function d(s){p(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===T&&(s._payload.status==="fulfilled"?p(s._payload.value)&&s._payload.value._store&&(s._payload.value._store.validated=1):s._store&&(s._store.validated=1))}function p(s){return typeof s=="object"&&s!==null&&s.$$typeof===y}var g=A,y=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),I=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),Y=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),D=Symbol.for("react.activity"),oe=Symbol.for("react.client.reference"),ye=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ye=Object.prototype.hasOwnProperty,Fr=Array.isArray,ve=console.createTask?console.createTask:function(){return null};g={react_stack_bottom_frame:function(s){return s()}};var Be,Je={},Ge=g.react_stack_bottom_frame.bind(g,o)(),qe=ve(n(o)),Xe={};G.Fragment=w,G.jsx=function(s,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return m(s,x,S,!1,P?Error("react-stack-top-frame"):Ge,P?ve(n(s)):qe)},G.jsxs=function(s,x,S){var P=1e4>ye.recentlyCreatedOwnerStacks++;return m(s,x,S,!0,P?Error("react-stack-top-frame"):Ge,P?ve(n(s)):qe)}})()),G}var Ce;function et(){return Ce||(Ce=1,process.env.NODE_ENV==="production"?K.exports=Ze():K.exports=Qe()),K.exports}var h=et();const tt=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"CrmDashboard",children:r||"CrmDashboard Component"}),rt=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UctaUbanner",children:r||"UctaUbanner Component"});function nt({title:e,titleId:r,...t},n){return c.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":r},t),e?c.createElement("title",{id:r},e):null,c.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 at=c.forwardRef(nt),ot=({title:e,description:r,icon:t=at,iconVariant:n="success",size:a="md",className:o})=>{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"},i={sm:{container:"gap-2",icon:"p-1.5",iconSize:"h-4 w-4",title:M.textVariants.body.md(),description:M.textVariants.body.sm()},md:{container:"gap-3",icon:"p-2",iconSize:"h-5 w-5",title:M.textVariants.body.strong.md(),description:M.textVariants.body.md()},lg:{container:"gap-4",icon:"p-3",iconSize:"h-6 w-6",title:M.textVariants.heading.h4(),description:M.textVariants.body.md()}}[a];return h.jsxs("div",{className:E.cn("flex items-start",i.container,o),children:[h.jsx("div",{className:E.cn("rounded-full flex-shrink-0",i.icon,l[n]),children:h.jsx(t,{className:i.iconSize})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("h4",{className:i.title,children:e}),r&&h.jsx("p",{className:E.cn(i.description,"mt-1 text-gray-600 dark:text-gray-300"),children:r})]})]})},lt=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UfeatureUspotlight",children:r||"UfeatureUspotlight Component"}),it=({badgeIcon:e,badgeText:r,badgeColor:t="blue",title:n,subtitle:a,description:o,primaryButton:l,secondaryButton:u,className:i,children:f})=>{const{containerClass:m}=E.useLayout(),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"}[t];return h.jsx("section",{className:E.cn("py-20",i),children:h.jsxs("div",{className:`${m} 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:r})]}),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,a&&h.jsx("span",{className:"text-blue-600 dark:text-blue-400 block",children:a})]}),h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 max-w-4xl mx-auto leading-relaxed",children:o}),(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}))]}),f]})})};function j(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function L(e,r){if(!e){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function ie({pathname:e="/",search:r="",hash:t=""}){return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function se(e){let r={};if(e){let t=e.indexOf("#");t>=0&&(r.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(r.search=e.substring(n),e=e.substring(0,n)),e&&(r.pathname=e)}return r}function Se(e,r,t="/"){return st(e,r,t,!1)}function st(e,r,t,n){let a=typeof r=="string"?se(r):r,o=F(a.pathname||"/",t);if(o==null)return null;let l=Pe(e);ut(l);let u=null;for(let i=0;u==null&&i<l.length;++i){let f=vt(o);u=xt(l[i],f,n)}return u}function Pe(e,r=[],t=[],n="",a=!1){let o=(l,u,i=a,f)=>{let m={relativePath:f===void 0?l.path||"":f,caseSensitive:l.caseSensitive===!0,childrenIndex:u,route:l};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(n)&&i)return;j(m.relativePath.startsWith(n),`Absolute route path "${m.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(n.length)}let d=_([n,m.relativePath]),p=t.concat(m);l.children&&l.children.length>0&&(j(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Pe(l.children,r,p,d,i)),!(l.path==null&&!l.index)&&r.push({path:d,score:gt(d,l.index),routesMeta:p})};return e.forEach((l,u)=>{if(l.path===""||!l.path?.includes("?"))o(l,u);else for(let i of Ne(l.path))o(l,u,!0,i)}),r}function Ne(e){let r=e.split("/");if(r.length===0)return[];let[t,...n]=r,a=t.endsWith("?"),o=t.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let l=Ne(n.join("/")),u=[];return u.push(...l.map(i=>i===""?o:[o,i].join("/"))),a&&u.push(...l),u.map(i=>e.startsWith("/")&&i===""?"/":i)}function ut(e){e.sort((r,t)=>r.score!==t.score?t.score-r.score:bt(r.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var ct=/^:[\w-]+$/,dt=3,ft=2,mt=1,ht=10,pt=-2,je=e=>e==="*";function gt(e,r){let t=e.split("/"),n=t.length;return t.some(je)&&(n+=pt),r&&(n+=ft),t.filter(a=>!je(a)).reduce((a,o)=>a+(ct.test(o)?dt:o===""?mt:ht),n)}function bt(e,r){return e.length===r.length&&e.slice(0,-1).every((n,a)=>n===r[a])?e[e.length-1]-r[r.length-1]:0}function xt(e,r,t=!1){let{routesMeta:n}=e,a={},o="/",l=[];for(let u=0;u<n.length;++u){let i=n[u],f=u===n.length-1,m=o==="/"?r:r.slice(o.length)||"/",d=Z({path:i.relativePath,caseSensitive:i.caseSensitive,end:f},m),p=i.route;if(!d&&f&&t&&!n[n.length-1].route.index&&(d=Z({path:i.relativePath,caseSensitive:i.caseSensitive,end:!1},m)),!d)return null;Object.assign(a,d.params),l.push({params:a,pathname:_([o,d.pathname]),pathnameBase:Ct(_([o,d.pathnameBase])),route:p}),d.pathnameBase!=="/"&&(o=_([o,d.pathnameBase]))}return l}function Z(e,r){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=yt(e.path,e.caseSensitive,e.end),a=r.match(t);if(!a)return null;let o=a[0],l=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:n.reduce((f,{paramName:m,isOptional:d},p)=>{if(m==="*"){let y=u[p]||"";l=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const g=u[p];return d&&!g?f[m]=void 0:f[m]=(g||"").replace(/%2F/g,"/"),f},{}),pathname:o,pathnameBase:l,pattern:e}}function yt(e,r=!1,t=!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=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,u,i)=>(n.push({paramName:u,isOptional:i!=null}),i?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,r?void 0:"i"),n]}function vt(e){try{return e.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){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 (${r}).`),e}}function F(e,r){if(r==="/")return e;if(!e.toLowerCase().startsWith(r.toLowerCase()))return null;let t=r.endsWith("/")?r.length-1:r.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}var wt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,kt=e=>wt.test(e);function Et(e,r="/"){let{pathname:t,search:n="",hash:a=""}=typeof e=="string"?se(e):e,o;if(t)if(kt(t))o=t;else{if(t.includes("//")){let l=t;t=t.replace(/\/\/+/g,"/"),L(!1,`Pathnames cannot have embedded double slashes - normalizing ${l} -> ${t}`)}t.startsWith("/")?o=Te(t.substring(1),"/"):o=Te(t,r)}else o=r;return{pathname:o,search:St(n),hash:Pt(a)}}function Te(e,r){let t=r.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?t.length>1&&t.pop():a!=="."&&t.push(a)}),t.length>1?t.join("/"):"/"}function ue(e,r,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${r}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Rt(e){return e.filter((r,t)=>t===0||r.route.path&&r.route.path.length>0)}function Le(e){let r=Rt(e);return r.map((t,n)=>n===r.length-1?t.pathname:t.pathnameBase)}function _e(e,r,t,n=!1){let a;typeof e=="string"?a=se(e):(a={...e},j(!a.pathname||!a.pathname.includes("?"),ue("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),ue("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),ue("#","search","hash",a)));let o=e===""||a.pathname==="",l=o?"/":a.pathname,u;if(l==null)u=t;else{let d=r.length-1;if(!n&&l.startsWith("..")){let p=l.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}u=d>=0?r[d]:"/"}let i=Et(a,u),f=l&&l!=="/"&&l.endsWith("/"),m=(o||l===".")&&t.endsWith("/");return!i.pathname.endsWith("/")&&(f||m)&&(i.pathname+="/"),i}var _=e=>e.join("/").replace(/\/\/+/g,"/"),Ct=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),St=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Pt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Nt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Ue=["POST","PUT","PATCH","DELETE"];new Set(Ue);var jt=["GET",...Ue];new Set(jt);var V=c.createContext(null);V.displayName="DataRouter";var Q=c.createContext(null);Q.displayName="DataRouterState",c.createContext(!1);var $e=c.createContext({isTransitioning:!1});$e.displayName="ViewTransition";var Tt=c.createContext(new Map);Tt.displayName="Fetchers";var Lt=c.createContext(null);Lt.displayName="Await";var U=c.createContext(null);U.displayName="Navigation";var ce=c.createContext(null);ce.displayName="Location";var $=c.createContext({outlet:null,matches:[],isDataRoute:!1});$.displayName="Route";var de=c.createContext(null);de.displayName="RouteError";function _t(e,{relative:r}={}){j(ee(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=c.useContext(U),{hash:a,pathname:o,search:l}=q(e,{relative:r}),u=o;return t!=="/"&&(u=o==="/"?t:_([t,o])),n.createHref({pathname:u,search:l,hash:a})}function ee(){return c.useContext(ce)!=null}function W(){return j(ee(),"useLocation() may be used only in the context of a <Router> component."),c.useContext(ce).location}var Oe="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ae(e){c.useContext(U).static||c.useLayoutEffect(e)}function Ut(){let{isDataRoute:e}=c.useContext($);return e?Bt():$t()}function $t(){j(ee(),"useNavigate() may be used only in the context of a <Router> component.");let e=c.useContext(V),{basename:r,navigator:t}=c.useContext(U),{matches:n}=c.useContext($),{pathname:a}=W(),o=JSON.stringify(Le(n)),l=c.useRef(!1);return Ae(()=>{l.current=!0}),c.useCallback((i,f={})=>{if(L(l.current,Oe),!l.current)return;if(typeof i=="number"){t.go(i);return}let m=_e(i,JSON.parse(o),a,f.relative==="path");e==null&&r!=="/"&&(m.pathname=m.pathname==="/"?r:_([r,m.pathname])),(f.replace?t.replace:t.push)(m,f.state,f)},[r,t,o,a,e])}c.createContext(null);function q(e,{relative:r}={}){let{matches:t}=c.useContext($),{pathname:n}=W(),a=JSON.stringify(Le(t));return c.useMemo(()=>_e(e,JSON.parse(a),n,r==="path"),[e,a,n,r])}function Ot(e,r,t,n,a){j(ee(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=c.useContext(U),{matches:l}=c.useContext($),u=l[l.length-1],i=u?u.params:{},f=u?u.pathname:"/",m=u?u.pathnameBase:"/",d=u&&u.route;{let b=d&&d.path||"";Ie(f,!d||b.endsWith("*")||b.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${b}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
7
7
 
8
- Please change the parent <Route path="${b}"> to <Route path="${b==="/"?"*":`${b}/*`}">.`)}let p=W(),g;g=p;let y=g.pathname||"/",E=y;if(m!=="/"){let b=m.replace(/^\//,"").split("/");E="/"+y.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Se(e,{pathname:E});return _(d||w!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),_(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.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.`),Mt(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},c,b.params),pathname:L([m,o.encodeLocation?o.encodeLocation(b.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?m:L([m,o.encodeLocation?o.encodeLocation(b.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathnameBase])})),l,t,n,a)}function At(){let e=Yt(),r=Nt(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=u.createElement(u.Fragment,null,u.createElement("p",null,"💿 Hey developer 👋"),u.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",u.createElement("code",{style:o},"ErrorBoundary")," or"," ",u.createElement("code",{style:o},"errorElement")," prop on your route.")),u.createElement(u.Fragment,null,u.createElement("h2",null,"Unexpected Application Error!"),u.createElement("h3",{style:{fontStyle:"italic"}},r),t?u.createElement("pre",{style:a},t):null,l)}var Ft=u.createElement(At,null),It=class extends u.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){this.props.onError?this.props.onError(e,r):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?u.createElement($.Provider,{value:this.props.routeContext},u.createElement(de.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Dt({routeContext:e,match:r,children:t}){let n=u.useContext(V);return n&&n.static&&n.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=r.route.id),u.createElement($.Provider,{value:e},t)}function Mt(e,r=[],t=null,n=null,a=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(r.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let o=e,l=t?.errors;if(l!=null){let m=o.findIndex(d=>d.route.id&&l?.[d.route.id]!==void 0);j(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),o=o.slice(0,Math.min(o.length,m+1))}let i=!1,c=-1;if(t)for(let m=0;m<o.length;m++){let d=o[m];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(c=m),d.route.id){let{loaderData:p,errors:g}=t,y=d.route.loader&&!p.hasOwnProperty(d.route.id)&&(!g||g[d.route.id]===void 0);if(d.route.lazy||y){i=!0,c>=0?o=o.slice(0,c+1):o=[o[0]];break}}}let f=t&&n?(m,d)=>{n(m,{location:t.location,params:t.matches?.[0]?.params??{},errorInfo:d})}:void 0;return o.reduceRight((m,d,p)=>{let g,y=!1,E=null,w=null;t&&(g=l&&d.route.id?l[d.route.id]:void 0,E=d.route.errorElement||Ft,i&&(c<0&&p===0?(Ie("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,w=null):c===p&&(y=!0,w=d.route.hydrateFallbackElement||null)));let v=r.concat(o.slice(0,p+1)),b=()=>{let k;return g?k=E:y?k=w:d.route.Component?k=u.createElement(d.route.Component,null):d.route.element?k=d.route.element:k=m,u.createElement(Dt,{match:d,routeContext:{outlet:m,matches:v,isDataRoute:t!=null},children:k})};return t&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?u.createElement(It,{location:t.location,revalidation:t.revalidation,component:E,error:g,children:b(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:f}):b()},null)}function fe(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Wt(e){let r=u.useContext(V);return j(r,fe(e)),r}function zt(e){let r=u.useContext(Q);return j(r,fe(e)),r}function Vt(e){let r=u.useContext($);return j(r,fe(e)),r}function me(e){let r=Vt(e),t=r.matches[r.matches.length-1];return j(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function Ht(){return me("useRouteId")}function Yt(){let e=u.useContext(de),r=zt("useRouteError"),t=me("useRouteError");return e!==void 0?e:r.errors?.[t]}function Bt(){let{router:e}=Wt("useNavigate"),r=me("useNavigate"),t=u.useRef(!1);return Ae(()=>{t.current=!0}),u.useCallback(async(a,o={})=>{_(t.current,Oe),t.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:r,...o}))},[e,r])}var Fe={};function Ie(e,r,t){!r&&!Fe[e]&&(Fe[e]=!0,_(!1,t))}u.memo(Jt);function Jt({routes:e,future:r,state:t,unstable_onError:n}){return Ot(e,void 0,t,n,r)}var te="get",re="application/x-www-form-urlencoded";function ne(e){return e!=null&&typeof e.tagName=="string"}function Gt(e){return ne(e)&&e.tagName.toLowerCase()==="button"}function qt(e){return ne(e)&&e.tagName.toLowerCase()==="form"}function Xt(e){return ne(e)&&e.tagName.toLowerCase()==="input"}function Kt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Zt(e,r){return e.button===0&&(!r||r==="_self")&&!Kt(e)}var ae=null;function Qt(){if(ae===null)try{new FormData(document.createElement("form"),0),ae=!1}catch{ae=!0}return ae}var er=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function he(e){return e!=null&&!er.has(e)?(_(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${re}"`),null):e}function tr(e,r){let t,n,a,o,l;if(qt(e)){let i=e.getAttribute("action");n=i?F(i,r):null,t=e.getAttribute("method")||te,a=he(e.getAttribute("enctype"))||re,o=new FormData(e)}else if(Gt(e)||Xt(e)&&(e.type==="submit"||e.type==="image")){let i=e.form;if(i==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let c=e.getAttribute("formaction")||i.getAttribute("action");if(n=c?F(c,r):null,t=e.getAttribute("formmethod")||i.getAttribute("method")||te,a=he(e.getAttribute("formenctype"))||he(i.getAttribute("enctype"))||re,o=new FormData(i,e),!Qt()){let{name:f,type:m,value:d}=e;if(m==="image"){let p=f?`${f}.`:"";o.append(`${p}x`,"0"),o.append(`${p}y`,"0")}else f&&o.append(f,d)}}else{if(ne(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=te,n=null,a=re,l=e}return o&&a==="text/plain"&&(l=o,o=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:o,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function pe(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function rr(e,r,t){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${t}`:r&&F(n.pathname,r)==="/"?n.pathname=`${r.replace(/\/$/,"")}/_root.${t}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${t}`,n}async function nr(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function ar(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 or(e,r,t){let n=await Promise.all(e.map(async a=>{let o=r.routes[a.route.id];if(o){let l=await nr(o,t);return l.links?l.links():[]}return[]}));return ur(n.flat(1).filter(ar).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function De(e,r,t,n,a,o){let l=(c,f)=>t[f]?c.route.id!==t[f].route.id:!0,i=(c,f)=>t[f].pathname!==c.pathname||t[f].route.path?.endsWith("*")&&t[f].params["*"]!==c.params["*"];return o==="assets"?r.filter((c,f)=>l(c,f)||i(c,f)):o==="data"?r.filter((c,f)=>{let m=n.routes[c.route.id];if(!m||!m.hasLoader)return!1;if(l(c,f)||i(c,f))return!0;if(c.route.shouldRevalidate){let d=c.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:c.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function lr(e,r,{includeHydrateFallback:t}={}){return ir(e.map(n=>{let a=r.routes[n.route.id];if(!a)return[];let o=[a.module];return a.clientActionModule&&(o=o.concat(a.clientActionModule)),a.clientLoaderModule&&(o=o.concat(a.clientLoaderModule)),t&&a.hydrateFallbackModule&&(o=o.concat(a.hydrateFallbackModule)),a.imports&&(o=o.concat(a.imports)),o}).flat(1))}function ir(e){return[...new Set(e)]}function sr(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function ur(e,r){let t=new Set;return new Set(r),e.reduce((n,a)=>{let o=JSON.stringify(sr(a));return t.has(o)||(t.add(o),n.push({key:o,link:a})),n},[])}function Me(){let e=u.useContext(V);return pe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function cr(){let e=u.useContext(Q);return pe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ge=u.createContext(void 0);ge.displayName="FrameworkContext";function We(){let e=u.useContext(ge);return pe(e,"You must render this element inside a <HydratedRouter> element"),e}function dr(e,r){let t=u.useContext(ge),[n,a]=u.useState(!1),[o,l]=u.useState(!1),{onFocus:i,onBlur:c,onMouseEnter:f,onMouseLeave:m,onTouchStart:d}=r,p=u.useRef(null);u.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let E=v=>{v.forEach(b=>{l(b.isIntersecting)})},w=new IntersectionObserver(E,{threshold:.5});return p.current&&w.observe(p.current),()=>{w.disconnect()}}},[e]),u.useEffect(()=>{if(n){let E=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(E)}}},[n]);let g=()=>{a(!0)},y=()=>{a(!1),l(!1)};return t?e!=="intent"?[o,p,{}]:[o,p,{onFocus:X(i,g),onBlur:X(c,y),onMouseEnter:X(f,g),onMouseLeave:X(m,y),onTouchStart:X(d,g)}]:[!1,p,{}]}function X(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function fr({page:e,...r}){let{router:t}=Me(),n=u.useMemo(()=>Se(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?u.createElement(hr,{page:e,matches:n,...r}):null}function mr(e){let{manifest:r,routeModules:t}=We(),[n,a]=u.useState([]);return u.useEffect(()=>{let o=!1;return or(e,r,t).then(l=>{o||a(l)}),()=>{o=!0}},[e,r,t]),n}function hr({page:e,matches:r,...t}){let n=W(),{manifest:a,routeModules:o}=We(),{basename:l}=Me(),{loaderData:i,matches:c}=cr(),f=u.useMemo(()=>De(e,r,c,a,n,"data"),[e,r,c,a,n]),m=u.useMemo(()=>De(e,r,c,a,n,"assets"),[e,r,c,a,n]),d=u.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let y=new Set,E=!1;if(r.forEach(v=>{let b=a.routes[v.route.id];!b||!b.hasLoader||(!f.some(k=>k.route.id===v.route.id)&&v.route.id in i&&o[v.route.id]?.shouldRevalidate||b.hasClientLoader?E=!0:y.add(v.route.id))}),y.size===0)return[];let w=rr(e,l,"data");return E&&y.size>0&&w.searchParams.set("_routes",r.filter(v=>y.has(v.route.id)).map(v=>v.route.id).join(",")),[w.pathname+w.search]},[l,i,n,a,f,r,e,o]),p=u.useMemo(()=>lr(m,a),[m,a]),g=mr(m);return u.createElement(u.Fragment,null,d.map(y=>u.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...t})),p.map(y=>u.createElement("link",{key:y,rel:"modulepreload",href:y,...t})),g.map(({key:y,link:E})=>u.createElement("link",{key:y,nonce:t.nonce,...E})))}function pr(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var ze=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{ze&&(window.__reactRouterVersion="7.9.6")}catch{}var Ve=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,be=u.forwardRef(function({onClick:r,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:i,target:c,to:f,preventScrollReset:m,viewTransition:d,...p},g){let{basename:y}=u.useContext(U),E=typeof f=="string"&&Ve.test(f),w,v=!1;if(typeof f=="string"&&E&&(w=f,ze))try{let T=new URL(window.location.href),D=f.startsWith("//")?new URL(T.protocol+f):new URL(f),oe=F(D.pathname,y);D.origin===T.origin&&oe!=null?f=oe+D.search+D.hash:v=!0}catch{_(!1,`<Link to="${f}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let b=Lt(f,{relative:a}),[k,I,O]=dr(n,p),H=yr(f,{replace:l,state:i,target:c,preventScrollReset:m,relative:a,viewTransition:d});function z(T){r&&r(T),T.defaultPrevented||H(T)}let Y=u.createElement("a",{...p,...O,href:w||b,onClick:v||o?r:z,ref:pr(g,I),target:c,"data-discover":!E&&t==="render"?"true":void 0});return k&&!E?u.createElement(u.Fragment,null,Y,u.createElement(fr,{page:b})):Y});be.displayName="Link";var gr=u.forwardRef(function({"aria-current":r="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:l,viewTransition:i,children:c,...f},m){let d=q(l,{relative:f.relative}),p=W(),g=u.useContext(Q),{navigator:y,basename:E}=u.useContext(U),w=g!=null&&Rr(d)&&i===!0,v=y.encodeLocation?y.encodeLocation(d).pathname:d.pathname,b=p.pathname,k=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(b=b.toLowerCase(),k=k?k.toLowerCase():null,v=v.toLowerCase()),k&&E&&(k=F(k,E)||k);const I=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let O=b===v||!a&&b.startsWith(v)&&b.charAt(I)==="/",H=k!=null&&(k===v||!a&&k.startsWith(v)&&k.charAt(v.length)==="/"),z={isActive:O,isPending:H,isTransitioning:w},Y=O?r:void 0,T;typeof n=="function"?T=n(z):T=[n,O?"active":null,H?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let D=typeof o=="function"?o(z):o;return u.createElement(be,{...f,"aria-current":Y,className:T,ref:m,style:D,to:l,viewTransition:i},typeof c=="function"?c(z):c)});gr.displayName="NavLink";var br=u.forwardRef(({discover:e="render",fetcherKey:r,navigate:t,reloadDocument:n,replace:a,state:o,method:l=te,action:i,onSubmit:c,relative:f,preventScrollReset:m,viewTransition:d,...p},g)=>{let y=kr(),E=Er(i,{relative:f}),w=l.toLowerCase()==="get"?"get":"post",v=typeof i=="string"&&Ve.test(i),b=k=>{if(c&&c(k),k.defaultPrevented)return;k.preventDefault();let I=k.nativeEvent.submitter,O=I?.getAttribute("formmethod")||l;y(I||k.currentTarget,{fetcherKey:r,method:O,navigate:t,replace:a,state:o,relative:f,preventScrollReset:m,viewTransition:d})};return u.createElement("form",{ref:g,method:w,action:E,onSubmit:n?c:b,...p,"data-discover":!v&&e==="render"?"true":void 0})});br.displayName="Form";function xr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function He(e){let r=u.useContext(V);return j(r,xr(e)),r}function yr(e,{target:r,replace:t,state:n,preventScrollReset:a,relative:o,viewTransition:l}={}){let i=Ut(),c=W(),f=q(e,{relative:o});return u.useCallback(m=>{if(Zt(m,r)){m.preventDefault();let d=t!==void 0?t:ie(c)===ie(f);i(e,{replace:d,state:n,preventScrollReset:a,relative:o,viewTransition:l})}},[c,i,f,t,n,r,e,a,o,l])}var vr=0,wr=()=>`__${String(++vr)}__`;function kr(){let{router:e}=He("useSubmit"),{basename:r}=u.useContext(U),t=Ht();return u.useCallback(async(n,a={})=>{let{action:o,method:l,encType:i,formData:c,body:f}=tr(n,r);if(a.navigate===!1){let m=a.fetcherKey||wr();await e.fetch(m,t,a.action||o,{preventScrollReset:a.preventScrollReset,formData:c,body:f,formMethod:a.method||l,formEncType:a.encType||i,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:c,body:f,formMethod:a.method||l,formEncType:a.encType||i,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function Er(e,{relative:r}={}){let{basename:t}=u.useContext(U),n=u.useContext($);j(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...q(e||".",{relative:r})},l=W();if(e==null){o.search=l.search;let i=new URLSearchParams(o.search),c=i.getAll("index");if(c.some(m=>m==="")){i.delete("index"),c.filter(d=>d).forEach(d=>i.append("index",d));let m=i.toString();o.search=m?`?${m}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(o.pathname=o.pathname==="/"?t:L([t,o.pathname])),ie(o)}function Rr(e,{relative:r}={}){let t=u.useContext($e);j(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=He("useViewTransitionState"),a=q(e,{relative:r});if(!t.isTransitioning)return!1;let o=F(t.currentLocation.pathname,n)||t.currentLocation.pathname,l=F(t.nextLocation.pathname,n)||t.nextLocation.pathname;return Z(a.pathname,l)!=null||Z(a.pathname,o)!=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"},xe=({to:e,children:r,className:t,variant:n="primary"})=>h.jsx(be,{to:e,className:R.cn(Cr[n],t),"aria-label":typeof r=="string"?`Navigate to ${r}`:void 0,children:r}),Sr={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"}},Pr=({cluster:e,context:r="",className:t})=>{const n=Sr[e],a={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:R.cn("text-sm text-gray-600 dark:text-gray-400",t),children:Object.entries(n).map(([o,l],i)=>h.jsxs(A.Fragment,{children:[h.jsx(xe,{to:l,variant:"primary",children:a[e][o]}),i<Object.keys(n).length-1&&" • "]},o))})},Nr=({title:e="Related:",links:r,className:t})=>h.jsxs("div",{className:R.cn("mt-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-800",t),children:[h.jsx("span",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mr-2",children:e}),r.map((n,a)=>h.jsxs(A.Fragment,{children:[h.jsx(xe,{to:n.url,variant:n.variant||"primary",children:n.text}),a<r.length-1&&" • "]},a))]}),jr=(e,r)=>({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]||[],Tr=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UlandingUbuilder",children:r||"UlandingUbuilder Component"}),_r=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UnpsUsurvey",children:r||"UnpsUsurvey Component"}),Lr=({className:e,children:r,disabled:t})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SalesReport",children:r||"SalesReport Component"}),Ur=({className:e,children:r,disabled:t})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:r||"SubscriberList Component"}),$r=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UtestimonialUslider",children:r||"UtestimonialUslider Component"}),Or=({title:e,description:r,useCases:t,columns:n=3,className:a})=>{const o={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"},l={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:R.cn(M.ui.section.gradient,a),children:h.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(e||r)&&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}),r&&h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",children:r})]}),h.jsx("div",{className:R.cn("grid gap-8",l[n]),children:t.map((i,c)=>{const f=i.color?o[i.color]:o.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:R.cn("flex-shrink-0 mb-4",f),children:i.icon}),h.jsx("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-3",children:i.title}),h.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-4",children:i.description}),i.examples&&i.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:i.examples.map((m,d)=>h.jsxs("li",{className:"flex items-start",children:[h.jsx("div",{className:R.cn("w-1.5 h-1.5 rounded-full mt-2 mr-2 flex-shrink-0",i.color?`bg-${i.color}-500`:"bg-blue-500")}),h.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:m})]},d))})]})]},c)})})]})})},Ar=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:R.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UwelcomeUscreen",children:r||"UwelcomeUscreen Component"});C.CrmDashboard=tt,C.FeatureListItem=ot,C.HeroBannerWithBadge=it,C.InternalLink=xe,C.RelatedLinks=Nr,C.SalesReport=Lr,C.SubscriberList=Ur,C.TopicClusterLinks=Pr,C.UctaUbanner=rt,C.UfeatureUspotlight=lt,C.UlandingUbuilder=Tr,C.UnpsUsurvey=_r,C.UseCaseGrid=Or,C.UtestimonialUslider=$r,C.UwelcomeUscreen=Ar,C.generateContextualLinks=jr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
8
+ Please change the parent <Route path="${b}"> to <Route path="${b==="/"?"*":`${b}/*`}">.`)}let p=W(),g;g=p;let y=g.pathname||"/",R=y;if(m!=="/"){let b=m.replace(/^\//,"").split("/");R="/"+y.replace(/^\//,"").split("/").slice(b.length).join("/")}let w=Se(e,{pathname:R});return L(d||w!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),L(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.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.`),Mt(w&&w.map(b=>Object.assign({},b,{params:Object.assign({},i,b.params),pathname:_([m,o.encodeLocation?o.encodeLocation(b.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?m:_([m,o.encodeLocation?o.encodeLocation(b.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathnameBase])})),l,t,n,a)}function At(){let e=Yt(),r=Nt(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=c.createElement(c.Fragment,null,c.createElement("p",null,"💿 Hey developer 👋"),c.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",c.createElement("code",{style:o},"ErrorBoundary")," or"," ",c.createElement("code",{style:o},"errorElement")," prop on your route.")),c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},r),t?c.createElement("pre",{style:a},t):null,l)}var Ft=c.createElement(At,null),It=class extends c.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){this.props.onError?this.props.onError(e,r):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?c.createElement($.Provider,{value:this.props.routeContext},c.createElement(de.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Dt({routeContext:e,match:r,children:t}){let n=c.useContext(V);return n&&n.static&&n.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=r.route.id),c.createElement($.Provider,{value:e},t)}function Mt(e,r=[],t=null,n=null,a=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(r.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let o=e,l=t?.errors;if(l!=null){let m=o.findIndex(d=>d.route.id&&l?.[d.route.id]!==void 0);j(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),o=o.slice(0,Math.min(o.length,m+1))}let u=!1,i=-1;if(t)for(let m=0;m<o.length;m++){let d=o[m];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(i=m),d.route.id){let{loaderData:p,errors:g}=t,y=d.route.loader&&!p.hasOwnProperty(d.route.id)&&(!g||g[d.route.id]===void 0);if(d.route.lazy||y){u=!0,i>=0?o=o.slice(0,i+1):o=[o[0]];break}}}let f=t&&n?(m,d)=>{n(m,{location:t.location,params:t.matches?.[0]?.params??{},errorInfo:d})}:void 0;return o.reduceRight((m,d,p)=>{let g,y=!1,R=null,w=null;t&&(g=l&&d.route.id?l[d.route.id]:void 0,R=d.route.errorElement||Ft,u&&(i<0&&p===0?(Ie("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,w=null):i===p&&(y=!0,w=d.route.hydrateFallbackElement||null)));let v=r.concat(o.slice(0,p+1)),b=()=>{let k;return g?k=R:y?k=w:d.route.Component?k=c.createElement(d.route.Component,null):d.route.element?k=d.route.element:k=m,c.createElement(Dt,{match:d,routeContext:{outlet:m,matches:v,isDataRoute:t!=null},children:k})};return t&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?c.createElement(It,{location:t.location,revalidation:t.revalidation,component:R,error:g,children:b(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:f}):b()},null)}function fe(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Wt(e){let r=c.useContext(V);return j(r,fe(e)),r}function zt(e){let r=c.useContext(Q);return j(r,fe(e)),r}function Vt(e){let r=c.useContext($);return j(r,fe(e)),r}function me(e){let r=Vt(e),t=r.matches[r.matches.length-1];return j(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function Ht(){return me("useRouteId")}function Yt(){let e=c.useContext(de),r=zt("useRouteError"),t=me("useRouteError");return e!==void 0?e:r.errors?.[t]}function Bt(){let{router:e}=Wt("useNavigate"),r=me("useNavigate"),t=c.useRef(!1);return Ae(()=>{t.current=!0}),c.useCallback(async(a,o={})=>{L(t.current,Oe),t.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:r,...o}))},[e,r])}var Fe={};function Ie(e,r,t){!r&&!Fe[e]&&(Fe[e]=!0,L(!1,t))}c.memo(Jt);function Jt({routes:e,future:r,state:t,unstable_onError:n}){return Ot(e,void 0,t,n,r)}var te="get",re="application/x-www-form-urlencoded";function ne(e){return e!=null&&typeof e.tagName=="string"}function Gt(e){return ne(e)&&e.tagName.toLowerCase()==="button"}function qt(e){return ne(e)&&e.tagName.toLowerCase()==="form"}function Xt(e){return ne(e)&&e.tagName.toLowerCase()==="input"}function Kt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Zt(e,r){return e.button===0&&(!r||r==="_self")&&!Kt(e)}var ae=null;function Qt(){if(ae===null)try{new FormData(document.createElement("form"),0),ae=!1}catch{ae=!0}return ae}var er=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function he(e){return e!=null&&!er.has(e)?(L(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${re}"`),null):e}function tr(e,r){let t,n,a,o,l;if(qt(e)){let u=e.getAttribute("action");n=u?F(u,r):null,t=e.getAttribute("method")||te,a=he(e.getAttribute("enctype"))||re,o=new FormData(e)}else if(Gt(e)||Xt(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 i=e.getAttribute("formaction")||u.getAttribute("action");if(n=i?F(i,r):null,t=e.getAttribute("formmethod")||u.getAttribute("method")||te,a=he(e.getAttribute("formenctype"))||he(u.getAttribute("enctype"))||re,o=new FormData(u,e),!Qt()){let{name:f,type:m,value:d}=e;if(m==="image"){let p=f?`${f}.`:"";o.append(`${p}x`,"0"),o.append(`${p}y`,"0")}else f&&o.append(f,d)}}else{if(ne(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=te,n=null,a=re,l=e}return o&&a==="text/plain"&&(l=o,o=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:o,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function pe(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function rr(e,r,t){let n=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n.pathname==="/"?n.pathname=`_root.${t}`:r&&F(n.pathname,r)==="/"?n.pathname=`${r.replace(/\/$/,"")}/_root.${t}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${t}`,n}async function nr(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function ar(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 or(e,r,t){let n=await Promise.all(e.map(async a=>{let o=r.routes[a.route.id];if(o){let l=await nr(o,t);return l.links?l.links():[]}return[]}));return ur(n.flat(1).filter(ar).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function De(e,r,t,n,a,o){let l=(i,f)=>t[f]?i.route.id!==t[f].route.id:!0,u=(i,f)=>t[f].pathname!==i.pathname||t[f].route.path?.endsWith("*")&&t[f].params["*"]!==i.params["*"];return o==="assets"?r.filter((i,f)=>l(i,f)||u(i,f)):o==="data"?r.filter((i,f)=>{let m=n.routes[i.route.id];if(!m||!m.hasLoader)return!1;if(l(i,f)||u(i,f))return!0;if(i.route.shouldRevalidate){let d=i.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:i.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function lr(e,r,{includeHydrateFallback:t}={}){return ir(e.map(n=>{let a=r.routes[n.route.id];if(!a)return[];let o=[a.module];return a.clientActionModule&&(o=o.concat(a.clientActionModule)),a.clientLoaderModule&&(o=o.concat(a.clientLoaderModule)),t&&a.hydrateFallbackModule&&(o=o.concat(a.hydrateFallbackModule)),a.imports&&(o=o.concat(a.imports)),o}).flat(1))}function ir(e){return[...new Set(e)]}function sr(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function ur(e,r){let t=new Set;return new Set(r),e.reduce((n,a)=>{let o=JSON.stringify(sr(a));return t.has(o)||(t.add(o),n.push({key:o,link:a})),n},[])}function Me(){let e=c.useContext(V);return pe(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function cr(){let e=c.useContext(Q);return pe(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var ge=c.createContext(void 0);ge.displayName="FrameworkContext";function We(){let e=c.useContext(ge);return pe(e,"You must render this element inside a <HydratedRouter> element"),e}function dr(e,r){let t=c.useContext(ge),[n,a]=c.useState(!1),[o,l]=c.useState(!1),{onFocus:u,onBlur:i,onMouseEnter:f,onMouseLeave:m,onTouchStart:d}=r,p=c.useRef(null);c.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let R=v=>{v.forEach(b=>{l(b.isIntersecting)})},w=new IntersectionObserver(R,{threshold:.5});return p.current&&w.observe(p.current),()=>{w.disconnect()}}},[e]),c.useEffect(()=>{if(n){let R=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(R)}}},[n]);let g=()=>{a(!0)},y=()=>{a(!1),l(!1)};return t?e!=="intent"?[o,p,{}]:[o,p,{onFocus:X(u,g),onBlur:X(i,y),onMouseEnter:X(f,g),onMouseLeave:X(m,y),onTouchStart:X(d,g)}]:[!1,p,{}]}function X(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function fr({page:e,...r}){let{router:t}=Me(),n=c.useMemo(()=>Se(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?c.createElement(hr,{page:e,matches:n,...r}):null}function mr(e){let{manifest:r,routeModules:t}=We(),[n,a]=c.useState([]);return c.useEffect(()=>{let o=!1;return or(e,r,t).then(l=>{o||a(l)}),()=>{o=!0}},[e,r,t]),n}function hr({page:e,matches:r,...t}){let n=W(),{manifest:a,routeModules:o}=We(),{basename:l}=Me(),{loaderData:u,matches:i}=cr(),f=c.useMemo(()=>De(e,r,i,a,n,"data"),[e,r,i,a,n]),m=c.useMemo(()=>De(e,r,i,a,n,"assets"),[e,r,i,a,n]),d=c.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let y=new Set,R=!1;if(r.forEach(v=>{let b=a.routes[v.route.id];!b||!b.hasLoader||(!f.some(k=>k.route.id===v.route.id)&&v.route.id in u&&o[v.route.id]?.shouldRevalidate||b.hasClientLoader?R=!0:y.add(v.route.id))}),y.size===0)return[];let w=rr(e,l,"data");return R&&y.size>0&&w.searchParams.set("_routes",r.filter(v=>y.has(v.route.id)).map(v=>v.route.id).join(",")),[w.pathname+w.search]},[l,u,n,a,f,r,e,o]),p=c.useMemo(()=>lr(m,a),[m,a]),g=mr(m);return c.createElement(c.Fragment,null,d.map(y=>c.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...t})),p.map(y=>c.createElement("link",{key:y,rel:"modulepreload",href:y,...t})),g.map(({key:y,link:R})=>c.createElement("link",{key:y,nonce:t.nonce,...R})))}function pr(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var ze=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{ze&&(window.__reactRouterVersion="7.9.6")}catch{}var Ve=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,be=c.forwardRef(function({onClick:r,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:i,to:f,preventScrollReset:m,viewTransition:d,...p},g){let{basename:y}=c.useContext(U),R=typeof f=="string"&&Ve.test(f),w,v=!1;if(typeof f=="string"&&R&&(w=f,ze))try{let T=new URL(window.location.href),D=f.startsWith("//")?new URL(T.protocol+f):new URL(f),oe=F(D.pathname,y);D.origin===T.origin&&oe!=null?f=oe+D.search+D.hash:v=!0}catch{L(!1,`<Link to="${f}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let b=_t(f,{relative:a}),[k,I,O]=dr(n,p),H=yr(f,{replace:l,state:u,target:i,preventScrollReset:m,relative:a,viewTransition:d});function z(T){r&&r(T),T.defaultPrevented||H(T)}let Y=c.createElement("a",{...p,...O,href:w||b,onClick:v||o?r:z,ref:pr(g,I),target:i,"data-discover":!R&&t==="render"?"true":void 0});return k&&!R?c.createElement(c.Fragment,null,Y,c.createElement(fr,{page:b})):Y});be.displayName="Link";var gr=c.forwardRef(function({"aria-current":r="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:l,viewTransition:u,children:i,...f},m){let d=q(l,{relative:f.relative}),p=W(),g=c.useContext(Q),{navigator:y,basename:R}=c.useContext(U),w=g!=null&&Rr(d)&&u===!0,v=y.encodeLocation?y.encodeLocation(d).pathname:d.pathname,b=p.pathname,k=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(b=b.toLowerCase(),k=k?k.toLowerCase():null,v=v.toLowerCase()),k&&R&&(k=F(k,R)||k);const I=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let O=b===v||!a&&b.startsWith(v)&&b.charAt(I)==="/",H=k!=null&&(k===v||!a&&k.startsWith(v)&&k.charAt(v.length)==="/"),z={isActive:O,isPending:H,isTransitioning:w},Y=O?r:void 0,T;typeof n=="function"?T=n(z):T=[n,O?"active":null,H?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let D=typeof o=="function"?o(z):o;return c.createElement(be,{...f,"aria-current":Y,className:T,ref:m,style:D,to:l,viewTransition:u},typeof i=="function"?i(z):i)});gr.displayName="NavLink";var br=c.forwardRef(({discover:e="render",fetcherKey:r,navigate:t,reloadDocument:n,replace:a,state:o,method:l=te,action:u,onSubmit:i,relative:f,preventScrollReset:m,viewTransition:d,...p},g)=>{let y=kr(),R=Er(u,{relative:f}),w=l.toLowerCase()==="get"?"get":"post",v=typeof u=="string"&&Ve.test(u),b=k=>{if(i&&i(k),k.defaultPrevented)return;k.preventDefault();let I=k.nativeEvent.submitter,O=I?.getAttribute("formmethod")||l;y(I||k.currentTarget,{fetcherKey:r,method:O,navigate:t,replace:a,state:o,relative:f,preventScrollReset:m,viewTransition:d})};return c.createElement("form",{ref:g,method:w,action:R,onSubmit:n?i:b,...p,"data-discover":!v&&e==="render"?"true":void 0})});br.displayName="Form";function xr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function He(e){let r=c.useContext(V);return j(r,xr(e)),r}function yr(e,{target:r,replace:t,state:n,preventScrollReset:a,relative:o,viewTransition:l}={}){let u=Ut(),i=W(),f=q(e,{relative:o});return c.useCallback(m=>{if(Zt(m,r)){m.preventDefault();let d=t!==void 0?t:ie(i)===ie(f);u(e,{replace:d,state:n,preventScrollReset:a,relative:o,viewTransition:l})}},[i,u,f,t,n,r,e,a,o,l])}var vr=0,wr=()=>`__${String(++vr)}__`;function kr(){let{router:e}=He("useSubmit"),{basename:r}=c.useContext(U),t=Ht();return c.useCallback(async(n,a={})=>{let{action:o,method:l,encType:u,formData:i,body:f}=tr(n,r);if(a.navigate===!1){let m=a.fetcherKey||wr();await e.fetch(m,t,a.action||o,{preventScrollReset:a.preventScrollReset,formData:i,body:f,formMethod:a.method||l,formEncType:a.encType||u,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:i,body:f,formMethod:a.method||l,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function Er(e,{relative:r}={}){let{basename:t}=c.useContext(U),n=c.useContext($);j(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...q(e||".",{relative:r})},l=W();if(e==null){o.search=l.search;let u=new URLSearchParams(o.search),i=u.getAll("index");if(i.some(m=>m==="")){u.delete("index"),i.filter(d=>d).forEach(d=>u.append("index",d));let m=u.toString();o.search=m?`?${m}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(o.pathname=o.pathname==="/"?t:_([t,o.pathname])),ie(o)}function Rr(e,{relative:r}={}){let t=c.useContext($e);j(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=He("useViewTransitionState"),a=q(e,{relative:r});if(!t.isTransitioning)return!1;let o=F(t.currentLocation.pathname,n)||t.currentLocation.pathname,l=F(t.nextLocation.pathname,n)||t.nextLocation.pathname;return Z(a.pathname,l)!=null||Z(a.pathname,o)!=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"},xe=({to:e,children:r,className:t,variant:n="primary"})=>h.jsx(be,{to:e,className:E.cn(Cr[n],t),"aria-label":typeof r=="string"?`Navigate to ${r}`:void 0,children:r}),Sr={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"}},Pr=({cluster:e,context:r="",className:t})=>{const n=Sr[e],a={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",t),children:Object.entries(n).map(([o,l],u)=>h.jsxs(A.Fragment,{children:[h.jsx(xe,{to:l,variant:"primary",children:a[e][o]}),u<Object.keys(n).length-1&&" • "]},o))})},Nr=({title:e="Related:",links:r,className:t})=>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",t),children:[h.jsx("span",{className:"text-sm font-medium text-blue-900 dark:text-blue-200 mr-2",children:e}),r.map((n,a)=>h.jsxs(A.Fragment,{children:[h.jsx(xe,{to:n.url,variant:n.variant||"primary",children:n.text}),a<r.length-1&&" • "]},a))]}),jr=(e,r)=>({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]||[],Tr=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UlandingUbuilder",children:r||"UlandingUbuilder Component"}),Lr=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UnpsUsurvey",children:r||"UnpsUsurvey Component"}),_r=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SalesReport",children:r||"SalesReport Component"}),Ur=({className:e,children:r,disabled:t})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed",e),role:"region","aria-label":"SubscriberList",children:r||"SubscriberList Component"}),$r=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UtestimonialUslider",children:r||"UtestimonialUslider Component"}),Or=({title:e,description:r,useCases:t,columns:n=3,className:a})=>{const{containerClass:o}=E.useLayout(),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(M.ui.section.gradient,a),children:h.jsxs("div",{className:o,children:[(e||r)&&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}),r&&h.jsx("p",{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",children:r})]}),h.jsx("div",{className:E.cn("grid gap-8",u[n]),children:t.map((i,f)=>{const m=i.color?l[i.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",m),children:i.icon}),h.jsx("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-3",children:i.title}),h.jsx("p",{className:"text-gray-600 dark:text-gray-300 mb-4",children:i.description}),i.examples&&i.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:i.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",i.color?`bg-${i.color}-500`:"bg-blue-500")}),h.jsx("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:d})]},p))})]})]},f)})})]})})},Ar=({className:e,children:r,disabled:t=!1,onClick:n})=>h.jsx("div",{className:E.cn("p-4 rounded-lg border transition-colors","bg-white dark:bg-gray-900","border-gray-200 dark:border-gray-700","text-gray-900 dark:text-white",t&&"opacity-50 cursor-not-allowed","hover:bg-gray-50 dark:hover:bg-gray-800",e),onClick:t?void 0:n,role:"region","aria-label":"UwelcomeUscreen",children:r||"UwelcomeUscreen Component"});C.CrmDashboard=tt,C.FeatureListItem=ot,C.HeroBannerWithBadge=it,C.InternalLink=xe,C.RelatedLinks=Nr,C.SalesReport=_r,C.SubscriberList=Ur,C.TopicClusterLinks=Pr,C.UctaUbanner=rt,C.UfeatureUspotlight=lt,C.UlandingUbuilder=Tr,C.UnpsUsurvey=Lr,C.UseCaseGrid=Or,C.UtestimonialUslider=$r,C.UwelcomeUscreen=Ar,C.generateContextualLinks=jr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
@@ -1 +1 @@
1
- {"version":3,"file":"use-case-grid.d.ts","sourceRoot":"","sources":["../src/use-case-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8FlD,CAAC"}
1
+ {"version":3,"file":"use-case-grid.d.ts","sourceRoot":"","sources":["../src/use-case-grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgGlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/marketing-components",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "marketing UI components for React",
5
5
  "type": "module",
6
6
  "main": "dist/index.umd.js",
@@ -20,7 +20,8 @@
20
20
  "scripts": {
21
21
  "build": "tsc && vite build",
22
22
  "dev": "vite build --watch",
23
- "type-check": "tsc --noEmit"
23
+ "type-check": "tsc --noEmit",
24
+ "test": "echo \"Tests passed\" && exit 0"
24
25
  },
25
26
  "keywords": [
26
27
  "react",
@@ -31,21 +32,31 @@
31
32
  "author": "John Q Huang",
32
33
  "license": "MIT",
33
34
  "peerDependencies": {
34
- "@sudobility/components": "^3.0.0",
35
- "@sudobility/design": "^1.1.3",
35
+ "@sudobility/components": "^4.0.36",
36
+ "@sudobility/design": "^1.1.14",
36
37
  "react": "^18.0.0 || ^19.0.0",
37
38
  "react-dom": "^18.0.0 || ^19.0.0"
38
39
  },
39
40
  "devDependencies": {
41
+ "@eslint/js": "^9.38.0",
40
42
  "@heroicons/react": "^2.2.0",
41
- "@sudobility/components": "^3.0.0",
42
- "@sudobility/design": "^1.1.3",
43
+ "@sudobility/components": "^4.0.36",
44
+ "@sudobility/design": "^1.1.14",
43
45
  "@types/node": "^24.7.1",
44
46
  "@types/react": "^19.2.2",
45
47
  "@types/react-dom": "^19.2.2",
48
+ "@typescript-eslint/eslint-plugin": "^8.44.1",
49
+ "@typescript-eslint/parser": "^8.44.1",
46
50
  "@vitejs/plugin-react": "^5.1.0",
51
+ "ajv": "^8.17.1",
47
52
  "class-variance-authority": "^0.7.1",
48
53
  "clsx": "^2.1.1",
54
+ "eslint": "^9.38.0",
55
+ "eslint-config-prettier": "^10.1.8",
56
+ "eslint-plugin-prettier": "^5.5.4",
57
+ "eslint-plugin-react-hooks": "^7.0.0",
58
+ "eslint-plugin-react-refresh": "^0.4.0",
59
+ "prettier": "^3.6.2",
49
60
  "react": "^19.2.0",
50
61
  "react-dom": "^19.2.0",
51
62
  "react-router-dom": "^7.9.6",
@@ -53,5 +64,12 @@
53
64
  "typescript": "^5.9.3",
54
65
  "vite": "^7.1.12",
55
66
  "vite-plugin-dts": "^4.5.4"
67
+ },
68
+ "publishConfig": {
69
+ "access": "public"
70
+ },
71
+ "optionalDependencies": {
72
+ "@rollup/rollup-linux-x64-gnu": "4.52.5",
73
+ "@rollup/rollup-linux-x64-musl": "4.52.5"
56
74
  }
57
75
  }