proctoring-ui-3 1.0.0

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.
@@ -0,0 +1,493 @@
1
+ (function(V,j){typeof exports=="object"&&typeof module<"u"?j(exports,require("react"),require("react-i18next"),require("lucide-react"),require("react-router-dom"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-i18next","lucide-react","react-router-dom","react-dom"],j):(V=typeof globalThis<"u"?globalThis:V||self,j(V.UI3={},V.React,V.ReactI18Next,V.LucideReact,V.ReactRouterDOM,V.ReactDOM))})(this,function(V,j,Me,y,me,je){"use strict";var ye={exports:{}},fe={};/**
2
+ * @license React
3
+ * react-jsx-runtime.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var Oe;function Qe(){if(Oe)return fe;Oe=1;var a=j,s=Symbol.for("react.element"),o=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,h=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,b={key:!0,ref:!0,__self:!0,__source:!0};function c(x,k,N){var T,S={},E=null,$=null;N!==void 0&&(E=""+N),k.key!==void 0&&(E=""+k.key),k.ref!==void 0&&($=k.ref);for(T in k)n.call(k,T)&&!b.hasOwnProperty(T)&&(S[T]=k[T]);if(x&&x.defaultProps)for(T in k=x.defaultProps,k)S[T]===void 0&&(S[T]=k[T]);return{$$typeof:s,type:x,key:E,ref:$,props:S,_owner:h.current}}return fe.Fragment=o,fe.jsx=c,fe.jsxs=c,fe}var ve={};/**
10
+ * @license React
11
+ * react-jsx-runtime.development.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var Te;function Ze(){return Te||(Te=1,process.env.NODE_ENV!=="production"&&function(){var a=j,s=Symbol.for("react.element"),o=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),x=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),S=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),$=Symbol.for("react.offscreen"),P=Symbol.iterator,p="@@iterator";function F(t){if(t===null||typeof t!="object")return null;var r=P&&t[P]||t[p];return typeof r=="function"?r:null}var i=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function L(t){{for(var r=arguments.length,u=new Array(r>1?r-1:0),C=1;C<r;C++)u[C-1]=arguments[C];G("error",t,u)}}function G(t,r,u){{var C=i.ReactDebugCurrentFrame,U=C.getStackAddendum();U!==""&&(r+="%s",u=u.concat([U]));var K=u.map(function(I){return String(I)});K.unshift("Warning: "+r),Function.prototype.apply.call(console[t],console,K)}}var J=!1,W=!1,se=!1,re=!1,ee=!1,M;M=Symbol.for("react.module.reference");function Q(t){return!!(typeof t=="string"||typeof t=="function"||t===n||t===b||ee||t===h||t===N||t===T||re||t===$||J||W||se||typeof t=="object"&&t!==null&&(t.$$typeof===E||t.$$typeof===S||t.$$typeof===c||t.$$typeof===x||t.$$typeof===k||t.$$typeof===M||t.getModuleId!==void 0))}function d(t,r,u){var C=t.displayName;if(C)return C;var U=r.displayName||r.name||"";return U!==""?u+"("+U+")":u}function w(t){return t.displayName||"Context"}function _(t){if(t==null)return null;if(typeof t.tag=="number"&&L("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case n:return"Fragment";case o:return"Portal";case b:return"Profiler";case h:return"StrictMode";case N:return"Suspense";case T:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case x:var r=t;return w(r)+".Consumer";case c:var u=t;return w(u._context)+".Provider";case k:return d(t,t.render,"ForwardRef");case S:var C=t.displayName||null;return C!==null?C:_(t.type)||"Memo";case E:{var U=t,K=U._payload,I=U._init;try{return _(I(K))}catch{return null}}}return null}var A=Object.assign,H=0,m,D,X,ae,oe,l,f;function g(){}g.__reactDisabledLog=!0;function R(){{if(H===0){m=console.log,D=console.info,X=console.warn,ae=console.error,oe=console.group,l=console.groupCollapsed,f=console.groupEnd;var t={configurable:!0,enumerable:!0,value:g,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}H++}}function O(){{if(H--,H===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:A({},t,{value:m}),info:A({},t,{value:D}),warn:A({},t,{value:X}),error:A({},t,{value:ae}),group:A({},t,{value:oe}),groupCollapsed:A({},t,{value:l}),groupEnd:A({},t,{value:f})})}H<0&&L("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Y=i.ReactCurrentDispatcher,te;function ie(t,r,u){{if(te===void 0)try{throw Error()}catch(U){var C=U.stack.trim().match(/\n( *(at )?)/);te=C&&C[1]||""}return`
18
+ `+te+t}}var v=!1,de;{var xe=typeof WeakMap=="function"?WeakMap:Map;de=new xe}function ge(t,r){if(!t||v)return"";{var u=de.get(t);if(u!==void 0)return u}var C;v=!0;var U=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var K;K=Y.current,Y.current=null,R();try{if(r){var I=function(){throw Error()};if(Object.defineProperty(I.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(I,[])}catch(ne){C=ne}Reflect.construct(t,[],I)}else{try{I.call()}catch(ne){C=ne}t.call(I.prototype)}}else{try{throw Error()}catch(ne){C=ne}t()}}catch(ne){if(ne&&C&&typeof ne.stack=="string"){for(var z=ne.stack.split(`
19
+ `),le=C.stack.split(`
20
+ `),Z=z.length-1,q=le.length-1;Z>=1&&q>=0&&z[Z]!==le[q];)q--;for(;Z>=1&&q>=0;Z--,q--)if(z[Z]!==le[q]){if(Z!==1||q!==1)do if(Z--,q--,q<0||z[Z]!==le[q]){var ce=`
21
+ `+z[Z].replace(" at new "," at ");return t.displayName&&ce.includes("<anonymous>")&&(ce=ce.replace("<anonymous>",t.displayName)),typeof t=="function"&&de.set(t,ce),ce}while(Z>=1&&q>=0);break}}}finally{v=!1,Y.current=K,O(),Error.prepareStackTrace=U}var be=t?t.displayName||t.name:"",he=be?ie(be):"";return typeof t=="function"&&de.set(t,he),he}function vt(t,r,u){return ge(t,!1)}function gt(t){var r=t.prototype;return!!(r&&r.isReactComponent)}function ke(t,r,u){if(t==null)return"";if(typeof t=="function")return ge(t,gt(t));if(typeof t=="string")return ie(t);switch(t){case N:return ie("Suspense");case T:return ie("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case k:return vt(t.render);case S:return ke(t.type,r,u);case E:{var C=t,U=C._payload,K=C._init;try{return ke(K(U),r,u)}catch{}}}return""}var pe=Object.prototype.hasOwnProperty,ze={},Ae=i.ReactDebugCurrentFrame;function we(t){if(t){var r=t._owner,u=ke(t.type,t._source,r?r.type:null);Ae.setExtraStackFrame(u)}else Ae.setExtraStackFrame(null)}function pt(t,r,u,C,U){{var K=Function.call.bind(pe);for(var I in t)if(K(t,I)){var z=void 0;try{if(typeof t[I]!="function"){var le=Error((C||"React class")+": "+u+" type `"+I+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[I]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw le.name="Invariant Violation",le}z=t[I](r,I,C,u,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Z){z=Z}z&&!(z instanceof Error)&&(we(U),L("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",C||"React class",u,I,typeof z),we(null)),z instanceof Error&&!(z.message in ze)&&(ze[z.message]=!0,we(U),L("Failed %s type: %s",u,z.message),we(null))}}}var kt=Array.isArray;function Se(t){return kt(t)}function wt(t){{var r=typeof Symbol=="function"&&Symbol.toStringTag,u=r&&t[Symbol.toStringTag]||t.constructor.name||"Object";return u}}function jt(t){try{return Ie(t),!1}catch{return!0}}function Ie(t){return""+t}function $e(t){if(jt(t))return L("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",wt(t)),Ie(t)}var Ve=i.ReactCurrentOwner,yt={key:!0,ref:!0,__self:!0,__source:!0},We,Be;function Nt(t){if(pe.call(t,"ref")){var r=Object.getOwnPropertyDescriptor(t,"ref").get;if(r&&r.isReactWarning)return!1}return t.ref!==void 0}function St(t){if(pe.call(t,"key")){var r=Object.getOwnPropertyDescriptor(t,"key").get;if(r&&r.isReactWarning)return!1}return t.key!==void 0}function Ct(t,r){typeof t.ref=="string"&&Ve.current}function Et(t,r){{var u=function(){We||(We=!0,L("%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://reactjs.org/link/special-props)",r))};u.isReactWarning=!0,Object.defineProperty(t,"key",{get:u,configurable:!0})}}function Lt(t,r){{var u=function(){Be||(Be=!0,L("%s: `ref` 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://reactjs.org/link/special-props)",r))};u.isReactWarning=!0,Object.defineProperty(t,"ref",{get:u,configurable:!0})}}var _t=function(t,r,u,C,U,K,I){var z={$$typeof:s,type:t,key:r,ref:u,props:I,_owner:K};return z._store={},Object.defineProperty(z._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(z,"_self",{configurable:!1,enumerable:!1,writable:!1,value:C}),Object.defineProperty(z,"_source",{configurable:!1,enumerable:!1,writable:!1,value:U}),Object.freeze&&(Object.freeze(z.props),Object.freeze(z)),z};function Mt(t,r,u,C,U){{var K,I={},z=null,le=null;u!==void 0&&($e(u),z=""+u),St(r)&&($e(r.key),z=""+r.key),Nt(r)&&(le=r.ref,Ct(r,U));for(K in r)pe.call(r,K)&&!yt.hasOwnProperty(K)&&(I[K]=r[K]);if(t&&t.defaultProps){var Z=t.defaultProps;for(K in Z)I[K]===void 0&&(I[K]=Z[K])}if(z||le){var q=typeof t=="function"?t.displayName||t.name||"Unknown":t;z&&Et(I,q),le&&Lt(I,q)}return _t(t,z,le,U,C,Ve.current,I)}}var Ce=i.ReactCurrentOwner,He=i.ReactDebugCurrentFrame;function ue(t){if(t){var r=t._owner,u=ke(t.type,t._source,r?r.type:null);He.setExtraStackFrame(u)}else He.setExtraStackFrame(null)}var Ee;Ee=!1;function Le(t){return typeof t=="object"&&t!==null&&t.$$typeof===s}function Ue(){{if(Ce.current){var t=_(Ce.current.type);if(t)return`
22
+
23
+ Check the render method of \``+t+"`."}return""}}function Ot(t){return""}var Ye={};function Tt(t){{var r=Ue();if(!r){var u=typeof t=="string"?t:t.displayName||t.name;u&&(r=`
24
+
25
+ Check the top-level render call using <`+u+">.")}return r}}function Xe(t,r){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var u=Tt(r);if(Ye[u])return;Ye[u]=!0;var C="";t&&t._owner&&t._owner!==Ce.current&&(C=" It was passed a child from "+_(t._owner.type)+"."),ue(t),L('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',u,C),ue(null)}}function Ke(t,r){{if(typeof t!="object")return;if(Se(t))for(var u=0;u<t.length;u++){var C=t[u];Le(C)&&Xe(C,r)}else if(Le(t))t._store&&(t._store.validated=!0);else if(t){var U=F(t);if(typeof U=="function"&&U!==t.entries)for(var K=U.call(t),I;!(I=K.next()).done;)Le(I.value)&&Xe(I.value,r)}}}function Pt(t){{var r=t.type;if(r==null||typeof r=="string")return;var u;if(typeof r=="function")u=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===k||r.$$typeof===S))u=r.propTypes;else return;if(u){var C=_(r);pt(u,t.props,"prop",C,t)}else if(r.PropTypes!==void 0&&!Ee){Ee=!0;var U=_(r);L("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",U||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&L("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ft(t){{for(var r=Object.keys(t.props),u=0;u<r.length;u++){var C=r[u];if(C!=="children"&&C!=="key"){ue(t),L("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",C),ue(null);break}}t.ref!==null&&(ue(t),L("Invalid attribute `ref` supplied to `React.Fragment`."),ue(null))}}var Ge={};function Je(t,r,u,C,U,K){{var I=Q(t);if(!I){var z="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(z+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var le=Ot();le?z+=le:z+=Ue();var Z;t===null?Z="null":Se(t)?Z="array":t!==void 0&&t.$$typeof===s?(Z="<"+(_(t.type)||"Unknown")+" />",z=" Did you accidentally export a JSX literal instead of a component?"):Z=typeof t,L("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Z,z)}var q=Mt(t,r,u,U,K);if(q==null)return q;if(I){var ce=r.children;if(ce!==void 0)if(C)if(Se(ce)){for(var be=0;be<ce.length;be++)Ke(ce[be],t);Object.freeze&&Object.freeze(ce)}else L("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 Ke(ce,t)}if(pe.call(r,"key")){var he=_(t),ne=Object.keys(r).filter(function($t){return $t!=="key"}),_e=ne.length>0?"{key: someKey, "+ne.join(": ..., ")+": ...}":"{key: someKey}";if(!Ge[he+_e]){var It=ne.length>0?"{"+ne.join(": ..., ")+": ...}":"{}";L(`A props object containing a "key" prop is being spread into JSX:
26
+ let props = %s;
27
+ <%s {...props} />
28
+ React keys must be passed directly to JSX without using spread:
29
+ let props = %s;
30
+ <%s key={someKey} {...props} />`,_e,he,It,he),Ge[he+_e]=!0}}return t===n?Ft(q):Pt(q),q}}function Dt(t,r,u){return Je(t,r,u,!0)}function Rt(t,r,u){return Je(t,r,u,!1)}var zt=Rt,At=Dt;ve.Fragment=n,ve.jsx=zt,ve.jsxs=At}()),ve}process.env.NODE_ENV==="production"?ye.exports=Qe():ye.exports=Ze();var e=ye.exports;function qe({text:a,link:s,linkText:o,year:n,navigationItems:h=[]}){const{t:b}=Me.useTranslation("pages-product-page"),c=me.useNavigate(),x=me.useLocation(),k=[{icon:y.Home,label:"Dashboard",path:"/dashboard",key:"dashboard"},{icon:y.Calendar,label:"Calendar",path:"/calendar",key:"calendar"},{icon:y.Users,label:"Admins",path:"/admins",key:"admins"},{icon:y.Settings,label:"Settings",path:"/settings",key:"settings"}],N=h.length>0?h:k,T=S=>x.pathname===S;return e.jsxs(e.Fragment,{children:[e.jsxs("footer",{className:"hidden md:block relative overflow-hidden border-t transition-all duration-300 bg-gradient-to-r from-white via-violet-50/30 to-white border-slate-200/50 dark:bg-gradient-to-r dark:from-slate-800 dark:via-slate-900 dark:to-slate-800 dark:border-slate-700/50 shadow-sm",children:[e.jsx("div",{className:"absolute inset-0 w-full h-full opacity-5 bg-gradient-to-r from-violet-300 to-indigo-300 dark:bg-gradient-to-r dark:from-violet-500 dark:to-indigo-500"}),e.jsx("div",{className:"relative z-10 px-6 py-4",children:e.jsxs("div",{className:"max-w-7xl mx-auto flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-gradient-to-br from-violet-600 to-indigo-600 flex items-center justify-center shadow-md shadow-violet-200 dark:shadow-violet-900/50",children:e.jsx("svg",{className:"w-4 h-4 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})})}),e.jsxs("span",{className:"text-sm text-slate-600 dark:text-slate-400",children:["© ",n||new Date().getFullYear()]}),e.jsx("a",{href:s||"#",target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium transition-all duration-200 hover:scale-105 inline-block text-violet-600 hover:text-violet-700 dark:text-violet-400 dark:hover:text-violet-300",children:b("footer.text")})]}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsx("a",{href:"#",className:"text-sm font-medium transition-all duration-200 hover:scale-105 text-slate-600 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300",children:"Privacy"}),e.jsx("a",{href:"#",className:"text-sm font-medium transition-all duration-200 hover:scale-105 text-slate-600 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300",children:"Terms"}),e.jsxs("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:["Made with ",e.jsx(y.Heart,{className:"w-3 h-3 inline text-red-500 fill-red-500"})]})]})]})})]}),e.jsx("nav",{className:"md:hidden fixed bottom-0 left-0 right-0 z-50 safe-area-bottom",children:e.jsxs("div",{className:"relative backdrop-blur-2xl bg-white/90 dark:bg-slate-900/95 border-t border-slate-200/50 dark:border-slate-700/50 shadow-2xl",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-violet-50/30 to-transparent dark:from-violet-950/20 dark:to-transparent pointer-events-none"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-violet-500 to-transparent opacity-50"}),e.jsx("div",{className:"relative grid grid-cols-4 gap-1 px-2 py-2 pb-safe",children:N.map((S,E)=>{const $=S.icon,P=T(S.path);return e.jsxs("button",{onClick:()=>c(S.path),className:`relative flex flex-col items-center justify-center py-2 px-1 rounded-2xl transition-all duration-300 group ${P?"bg-gradient-to-br from-violet-500 to-indigo-600 shadow-lg shadow-violet-500/30":"hover:bg-slate-100 dark:hover:bg-slate-800/50 active:scale-95"}`,children:[P&&e.jsx("div",{className:"absolute -top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full bg-white shadow-lg shadow-white/50 animate-pulse"}),e.jsxs("div",{className:`relative mb-1 transition-transform duration-300 ${P?"scale-110":"group-hover:scale-110"}`,children:[e.jsx($,{className:`w-6 h-6 transition-colors duration-300 ${P?"text-white":"text-slate-600 dark:text-slate-400 group-hover:text-violet-600 dark:group-hover:text-violet-400"}`,strokeWidth:P?2.5:2}),P&&e.jsx("div",{className:"absolute inset-0 rounded-full bg-white/20 animate-ping"})]}),e.jsx("span",{className:`text-xs font-semibold transition-all duration-300 ${P?"text-white scale-105":"text-slate-600 dark:text-slate-400 group-hover:text-violet-600 dark:group-hover:text-violet-400"}`,children:S.label}),S.badge&&e.jsx("div",{className:"absolute top-1 right-2 w-2 h-2 rounded-full bg-red-500 border-2 border-white dark:border-slate-900 animate-pulse"})]},S.key||E)})}),e.jsx("div",{className:"h-safe-area-inset-bottom bg-white/50 dark:bg-slate-900/50"})]})}),e.jsx("style",{jsx:!0,children:`
31
+ .safe-area-bottom {
32
+ padding-bottom: env(safe-area-inset-bottom);
33
+ }
34
+ .pb-safe {
35
+ padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
36
+ }
37
+ .h-safe-area-inset-bottom {
38
+ height: env(safe-area-inset-bottom);
39
+ }
40
+ `})]})}const Pe=({user:a,onLogout:s,showEmail:o=!0})=>{const[n,h]=j.useState(!1),[b,c]=j.useState({top:0,right:0}),x=j.useRef(null),k=j.useRef(null);return j.useEffect(()=>{const N=T=>{x.current&&!x.current.contains(T.target)&&k.current&&!k.current.contains(T.target)&&h(!1)};return n&&document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[n]),e.jsxs(e.Fragment,{children:[e.jsxs("button",{ref:x,onClick:()=>{if(!n&&x.current){const N=x.current.getBoundingClientRect();c({top:N.bottom+6,right:window.innerWidth-N.right})}h(!n)},title:"Account",className:`p-2 sm:p-2.5 rounded-xl transition-all duration-200
41
+ bg-white hover:bg-slate-50 text-slate-700
42
+ border border-slate-200 shadow-sm
43
+ dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border-slate-600/50
44
+ hover:scale-105 active:scale-95
45
+ flex items-center gap-1`,children:[e.jsx(y.User,{className:"w-[18px] h-[18px]"}),e.jsx(y.ChevronDown,{className:`w-3 h-3 text-slate-400 transition-transform duration-200 ${n?"rotate-180":""}`})]}),n&&je.createPortal(e.jsxs("div",{ref:k,style:{top:b.top,right:b.right},className:`fixed w-48 rounded-xl border shadow-lg overflow-hidden z-[9999]
46
+ bg-white border-slate-200/60
47
+ dark:bg-slate-800 dark:border-slate-700/60
48
+ animate-in fade-in zoom-in-95 duration-150`,children:[((a==null?void 0:a.name)||(a==null?void 0:a.email))&&e.jsxs("div",{className:"px-3.5 py-3 border-b border-slate-100 dark:border-slate-700",children:[(a==null?void 0:a.name)&&e.jsx("p",{className:"text-sm font-semibold text-slate-800 dark:text-slate-200 truncate",children:a.name}),o&&(a==null?void 0:a.email)&&e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 truncate mt-0.5",children:a.email})]}),e.jsxs("button",{onClick:()=>{h(!1),s()},className:`w-full flex items-center gap-2 px-3.5 py-2.5
49
+ text-sm font-medium text-red-600 dark:text-red-400
50
+ hover:bg-red-50 dark:hover:bg-red-900/20
51
+ transition-colors duration-150`,children:[e.jsx(y.LogOut,{className:"w-4 h-4 flex-shrink-0"}),"Logout"]})]}),document.body)]})},et=({appIcon:a,appName:s,appShortName:o,appTagline:n,userName:h,userEmail:b,userRole:c,onLogout:x,navLinks:k=[],showAccessibility:N=!0,showUserInfo:T=!0,showLanguageSelector:S=!0,showThemeToggle:E=!0,showAppIcon:$=!0,showAppFullName:P=!0,showAppTagline:p=!1,showNavLinks:F=!1,rightContent:i})=>{var ie;const L=me.useLocation(),[G,J]=j.useState(localStorage.getItem("language")||"eng"),[W,se]=j.useState(!1),[re,ee]=j.useState(!1),[M,Q]=j.useState(16),[d,w]=j.useState(!1),[_,A]=j.useState(!1),[H,m]=j.useState(!1),[D,X]=j.useState(!1),[ae,oe]=j.useState(!1);j.useEffect(()=>{const v=localStorage.getItem("theme")||"light";m(v==="dark"),document.documentElement.classList.toggle("dark",v==="dark")},[]),j.useEffect(()=>{const v=()=>oe(window.scrollY>8);return window.addEventListener("scroll",v,{passive:!0}),()=>window.removeEventListener("scroll",v)},[]),j.useEffect(()=>{X(!1)},[L.pathname]);const l=()=>{m(v=>{const de=!v;return de?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light")),de})},f=v=>{J(v),localStorage.setItem("language",v),ee(!1)};j.useEffect(()=>{document.documentElement.style.fontSize=`${M}px`,document.body.style.filter=d?"grayscale(100%)":"none",document.body.style.fontFamily=_?"OpenDyslexic, Arial, sans-serif":"inherit"},[M,d,_]);const g={eng:{label:"English",disabled:!1},hin:{label:"Hindi",disabled:!1}},R=()=>{M<24&&Q(M+2)},O=()=>{M>12&&Q(M-2)},Y=()=>Q(16),te=v=>v==="/"?L.pathname==="/":L.pathname.startsWith(v);return e.jsxs(e.Fragment,{children:[e.jsxs("nav",{className:`
52
+ w-full sticky top-0 z-50 overflow-hidden
53
+ bg-white/95 dark:bg-slate-900/95 backdrop-blur-md
54
+ border-b border-slate-200/60 dark:border-slate-700/60
55
+ transition-all duration-300
56
+ ${ae?"shadow-xl shadow-slate-200/50 dark:shadow-slate-950/50":"shadow-sm shadow-slate-100/50 dark:shadow-slate-900/30"}
57
+ `,children:[e.jsx("div",{className:"absolute top-0 right-0 w-96 h-96 rounded-full blur-3xl opacity-20 bg-violet-300 dark:bg-violet-500 -translate-y-1/2 translate-x-1/2 pointer-events-none"}),e.jsx("div",{className:"absolute bottom-0 left-0 w-48 h-48 rounded-full blur-3xl opacity-20 bg-indigo-300 dark:bg-indigo-500 translate-y-1/2 -translate-x-1/2 pointer-events-none"}),e.jsxs("div",{className:"relative z-10 mx-auto px-3 sm:px-5 lg:px-6 py-2 sm:py-0",children:[e.jsxs("div",{className:"flex items-center justify-between h-14 sm:h-20",children:[e.jsxs("div",{className:"flex items-center gap-2 sm:gap-4 group flex-shrink-0",children:[$&&a&&e.jsx("div",{className:"w-8 h-8 sm:w-16 sm:h-16 flex items-center justify-center group-hover:scale-105 transition-transform duration-200",children:e.jsx("img",{src:a,alt:"Institution Logo",className:"h-8 sm:h-14 w-auto object-contain"})}),e.jsxs("div",{className:"flex flex-col leading-tight",children:[e.jsx("span",{className:"font-extrabold text-base sm:text-xl text-slate-900 dark:text-white sm:hidden tracking-tight",children:o||s}),e.jsxs("div",{className:"hidden sm:flex flex-col",children:[e.jsx("span",{className:"font-extrabold text-slate-900 dark:text-white tracking-tight text-lg lg:hidden",children:o||s}),P&&e.jsx("span",{className:"font-extrabold text-slate-900 dark:text-white tracking-tight hidden lg:block text-[17px] xl:text-lg leading-tight max-w-md",children:s}),p&&n&&e.jsx("span",{className:"mt-0.5 text-[10px] font-semibold tracking-[0.2em] text-violet-600 dark:text-violet-400 uppercase",children:n})]})]})]}),F&&k.length>0&&e.jsx("div",{className:"hidden md:flex items-center gap-2",children:k.map(v=>{var xe;return v!=null&&v.to?((xe=v==null?void 0:v.to)==null?void 0:xe.startsWith("http"))?e.jsx("a",{href:v.to,target:v.target||"_self",rel:"noopener noreferrer",className:"relative px-4 lg:px-5 py-2.5 rounded-xl text-sm font-semibold tracking-wide transition-all duration-200 text-slate-600 dark:text-slate-300 hover:text-violet-700 dark:hover:text-violet-400 hover:bg-violet-50/80 dark:hover:bg-slate-700/50",children:v.label},v.to):e.jsxs(me.Link,{to:v.to,target:v.target||"_self",rel:v.target==="_blank"?"noopener noreferrer":void 0,className:`relative px-4 lg:px-5 py-2.5 rounded-xl text-sm font-semibold tracking-wide transition-all duration-200 ${te(v.to)?"text-violet-700 dark:text-violet-400 bg-violet-50 dark:bg-violet-600/10 shadow-sm":"text-slate-600 dark:text-slate-300 hover:text-violet-700 dark:hover:text-violet-400 hover:bg-violet-50/80 dark:hover:bg-slate-700/50"}`,children:[v.label,te(v.to)&&e.jsx("span",{className:"absolute bottom-1 left-1/2 -translate-x-1/2 w-4 h-0.5 rounded-full bg-gradient-to-r from-violet-600 to-indigo-600"})]},v.to):null})}),e.jsxs("div",{className:"flex items-center gap-1.5 sm:gap-2",children:[i&&e.jsx("div",{className:"flex items-center",children:i}),N&&e.jsx("button",{onClick:()=>se(!0),className:"p-2 sm:p-2.5 rounded-xl transition-all duration-200 bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border-slate-600/50 hover:scale-105 active:scale-95",title:"Accessibility Settings",children:e.jsx("svg",{className:"w-4 h-4 sm:w-[18px] sm:h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"})})}),E&&e.jsx("button",{onClick:l,"aria-label":"Toggle theme",title:H?"Switch to Light Mode":"Switch to Dark Mode",className:"p-2 sm:p-2.5 rounded-xl transition-all duration-200 bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-yellow-400 dark:border-slate-600/50 hover:scale-105 active:scale-95",children:H?e.jsx("svg",{className:"w-4 h-4 sm:w-[18px] sm:h-[18px]",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})}):e.jsx("svg",{className:"w-4 h-4 sm:w-[18px] sm:h-[18px]",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"})})}),S&&e.jsxs("button",{onClick:()=>ee(!0),className:"hidden sm:flex items-center gap-2 px-4 py-2.5 rounded-xl bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border-slate-600/50 hover:scale-105 active:scale-95 transition-all duration-200",children:[e.jsx("svg",{className:"w-[18px] h-[18px]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 2a10 10 0 100 20 10 10 0 000-20zm0 0c2.5 2.5 4 6 4 10s-1.5 7.5-4 10m0-20C9.5 4.5 8 8 8 12s1.5 7.5 4 10m-9-10h18"})}),e.jsx("span",{className:"text-sm font-medium",children:(ie=g[G])==null?void 0:ie.label})]}),S&&e.jsx("button",{onClick:()=>ee(!0),className:"sm:hidden p-2 rounded-xl bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border-slate-600/50 hover:scale-105 active:scale-95 transition-all duration-200",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 2a10 10 0 100 20 10 10 0 000-20zm0 0c2.5 2.5 4 6 4 10s-1.5 7.5-4 10m0-20C9.5 4.5 8 8 8 12s1.5 7.5 4 10m-9-10h18"})})}),T&&e.jsx(Pe,{user:{name:h,email:b},onLogout:x,showEmail:!0}),F&&k.length>0&&e.jsx("button",{onClick:()=>X(v=>!v),"aria-label":D?"Close menu":"Open menu",className:"md:hidden p-2 rounded-xl transition-all duration-200 bg-white dark:bg-slate-700/50 border border-slate-200 dark:border-slate-600/50 text-slate-700 dark:text-slate-300 shadow-sm hover:scale-105 active:scale-95",children:D?e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}):e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})})]})]}),F&&D&&k.length>0&&e.jsx("div",{className:"md:hidden border-t border-slate-200 dark:border-slate-700 pb-3 animate-in slide-in-from-top-2 duration-200",children:e.jsx("div",{className:"flex flex-col gap-0.5 pt-2",children:k.map(v=>{var xe;return v!=null&&v.to?((xe=v==null?void 0:v.to)==null?void 0:xe.startsWith("http"))?e.jsx("a",{href:v.to,target:v.target||"_self",rel:"noopener noreferrer",className:"flex items-center justify-between px-3 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200 text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-700/50",children:v.label},v.to):e.jsxs(me.Link,{to:v.to,target:v.target||"_self",rel:v.target==="_blank"?"noopener noreferrer":void 0,className:`flex items-center justify-between px-3 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200 ${te(v.to)?"bg-violet-50 dark:bg-violet-600/10 text-violet-700 dark:text-violet-400":"text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-700/50"}`,children:[v.label,te(v.to)&&e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-gradient-to-r from-violet-600 to-indigo-600"})]},v.to):null})})})]})]}),W&&e.jsx("div",{className:"overflow-hidden overflow-x-hidden fixed top-0 right-0 left-0 z-50 flex justify-center items-center w-full h-full bg-gray-800 bg-opacity-50",children:e.jsx("div",{className:"relative p-4 w-full max-w-md",children:e.jsxs("div",{className:"relative rounded-2xl shadow-2xl bg-white border border-slate-200 dark:bg-gradient-to-br dark:from-slate-800 dark:to-slate-900 dark:border dark:border-slate-700",children:[e.jsxs("div",{className:"flex items-center justify-between p-5 border-b rounded-t-2xl border-slate-200 dark:border-slate-700 bg-gradient-to-r from-slate-50 to-violet-50/30 dark:bg-gradient-to-r dark:from-slate-800 dark:to-slate-900",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-violet-600 to-indigo-600 flex items-center justify-center",children:e.jsx("svg",{className:"w-5 h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"})})}),e.jsx("h3",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"Accessibility Settings"})]}),e.jsx("button",{onClick:()=>se(!1),className:"p-2 rounded-lg transition-colors text-slate-400 hover:bg-slate-100 hover:text-slate-900 dark:hover:bg-slate-700 dark:hover:text-white",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsxs("div",{className:"p-6 space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Font Size"}),e.jsxs("span",{className:"text-sm font-medium px-3 py-1 rounded-lg bg-violet-100 text-violet-700 border border-violet-200 dark:bg-violet-600/20 dark:text-violet-400 dark:border dark:border-violet-500/30",children:[M,"px"]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:O,className:"flex-1 py-3 px-4 rounded-xl font-semibold transition-all duration-200 bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300 dark:border dark:border-slate-600",children:"A-"}),e.jsx("button",{onClick:Y,className:"flex-1 py-3 px-4 rounded-xl font-semibold transition-all duration-200 bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300 dark:border dark:border-slate-600",children:"A"}),e.jsx("button",{onClick:R,className:"flex-1 py-3 px-4 rounded-xl font-semibold transition-all duration-200 bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300 dark:border dark:border-slate-600",children:"A+"})]})]}),e.jsx("div",{className:"border-t border-slate-200 dark:border-slate-700"}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Grayscale Mode"}),e.jsx("button",{onClick:()=>w(!d),className:`relative inline-flex h-7 w-12 items-center rounded-full transition-colors ${d?"bg-gradient-to-r from-violet-600 to-indigo-600":"bg-slate-300 dark:bg-slate-700"}`,children:e.jsx("span",{className:`inline-block h-5 w-5 transform rounded-full bg-white shadow-lg transition-transform ${d?"translate-x-6":"translate-x-1"}`})})]}),e.jsx("div",{className:"border-t border-slate-200 dark:border-slate-700"}),e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsx("label",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300",children:"Dyslexia-Friendly Font"}),e.jsx("button",{onClick:()=>A(!_),className:`relative inline-flex h-7 w-12 items-center rounded-full transition-colors ${_?"bg-gradient-to-r from-violet-600 to-indigo-600":"bg-slate-300 dark:bg-slate-700"}`,children:e.jsx("span",{className:`inline-block h-5 w-5 transform rounded-full bg-white shadow-lg transition-transform ${_?"translate-x-6":"translate-x-1"}`})})]})]}),e.jsx("div",{className:"flex p-5 border-t rounded-b border-slate-200 dark:border-slate-700",children:e.jsx("button",{onClick:()=>se(!1),className:"w-full py-3 px-5 text-sm font-semibold text-white bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-700 hover:to-indigo-700 rounded-xl shadow-lg transition-all duration-200",children:"Close"})})]})})}),re&&e.jsx("div",{className:"overflow-hidden overflow-x-hidden fixed top-0 right-0 left-0 z-50 flex justify-center items-center w-full h-full bg-gray-800 bg-opacity-50",children:e.jsx("div",{className:"relative p-4 w-full max-w-md",children:e.jsxs("div",{className:"relative rounded-2xl shadow-2xl bg-white border border-slate-200 dark:bg-gradient-to-br dark:from-slate-800 dark:to-slate-900 dark:border dark:border-slate-700",children:[e.jsxs("div",{className:"flex items-center justify-between p-5 border-b rounded-t-2xl border-slate-200 dark:border-slate-700 bg-gradient-to-r from-slate-50 to-violet-50/30 dark:bg-gradient-to-r dark:from-slate-800 dark:to-slate-900",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-gradient-to-br from-violet-600 to-indigo-600 flex items-center justify-center",children:e.jsx("svg",{className:"w-[18px] h-[18px] text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 2a10 10 0 100 20 10 10 0 000-20zm0 0c2.5 2.5 4 6 4 10s-1.5 7.5-4 10m0-20C9.5 4.5 8 8 8 12s1.5 7.5 4 10m-9-10h18"})})}),e.jsx("h3",{className:"text-lg font-bold text-slate-900 dark:text-white",children:"Select Language"})]}),e.jsx("button",{onClick:()=>ee(!1),className:"p-2 rounded-lg transition-colors text-slate-400 hover:bg-slate-100 hover:text-slate-900 dark:hover:bg-slate-700 dark:hover:text-white",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsx("div",{className:"p-5",children:e.jsx("ul",{className:"space-y-3",children:Object.keys(g).map(v=>e.jsx("li",{children:e.jsx("button",{onClick:()=>f(v),disabled:g[v].disabled,className:`w-full px-5 py-4 rounded-xl text-left font-semibold transition-all duration-200 ${v===G?"bg-gradient-to-r from-violet-600 to-indigo-600 text-white shadow-lg":"bg-slate-50 hover:bg-slate-100 text-slate-700 border border-slate-200 dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border dark:border-slate-600"} ${g[v].disabled?"opacity-50 cursor-not-allowed":"hover:scale-[1.02]"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{children:g[v].label}),v===G&&e.jsx("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})]})})},v))})}),e.jsx("div",{className:"flex p-5 border-t rounded-b border-slate-200 dark:border-slate-700",children:e.jsx("button",{onClick:()=>ee(!1),className:"w-full py-3 px-5 text-sm font-semibold text-white bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-700 hover:to-indigo-700 rounded-xl shadow-lg transition-all duration-200",children:"Close"})})]})})})]})},Fe=(a,s)=>{const o={},n=h=>{for(const b of h)if(b.subItems){const c=b.subItems.some(x=>x.path&&s.startsWith(x.path));n(b.subItems),c&&(o[b.name]=!0)}};return n(a),o},tt=({menuItems:a,user:s,onLogout:o,onNavigate:n})=>{const{t:h}=Me.useTranslation("pages-product-page"),[b,c]=j.useState(!1),x=j.useRef(null),k=me.useLocation(),[N,T]=j.useState(()=>Fe(a,k.pathname)),S=i=>T(L=>({...L,[i]:!L[i]})),E=i=>k.pathname===i;j.useEffect(()=>{T(i=>({...i,...Fe(a,k.pathname)}))},[k.pathname,a]),j.useEffect(()=>{const i=L=>{x.current&&!x.current.contains(L.target)&&c(!1)};return b&&document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[b]);const $="bg-violet-100 text-violet-700 dark:bg-violet-600/20 dark:text-violet-400",P="bg-violet-600 dark:bg-violet-400",p="bg-slate-300 group-hover:bg-violet-400 dark:bg-slate-600 dark:group-hover:bg-slate-500",F=({item:i,depth:L=0})=>{const G=!!i.path,J=E(i.path);return L===0?e.jsx("div",{children:G?e.jsx(me.Link,{to:i.path,onClick:()=>n==null?void 0:n(),children:e.jsxs("div",{className:`
58
+ flex items-center gap-2.5
59
+ px-3 py-2 rounded-xl cursor-pointer
60
+ transition-all duration-150 group
61
+ ${J?"bg-gradient-to-r from-violet-600 to-indigo-600 text-white shadow-sm shadow-violet-500/20":"text-slate-600 hover:bg-slate-100/80 hover:text-slate-900 dark:text-slate-400 dark:hover:bg-slate-700/50 dark:hover:text-white"}
62
+ `,children:[e.jsx("div",{className:`
63
+ w-6 h-6 rounded-lg flex items-center justify-center flex-shrink-0
64
+ ${J?"bg-white/20":"bg-slate-100 group-hover:bg-slate-200 dark:bg-slate-700/60 dark:group-hover:bg-slate-700"}
65
+ `,children:e.jsx(i.icon,{className:`w-3.5 h-3.5 ${J?"text-white":"text-slate-500 dark:text-slate-400"}`})}),e.jsx("span",{className:"text-sm font-medium leading-none",children:h(i.name)})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{onClick:()=>S(i.name),className:`
66
+ flex items-center justify-between
67
+ px-3 py-2 rounded-xl cursor-pointer
68
+ transition-all duration-150 group
69
+ ${N[i.name]?"bg-slate-100/80 text-slate-900 dark:bg-slate-700/40 dark:text-white":"text-slate-600 hover:bg-slate-100/80 hover:text-slate-900 dark:text-slate-400 dark:hover:bg-slate-700/50 dark:hover:text-white"}
70
+ `,children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:`
71
+ w-6 h-6 rounded-lg flex items-center justify-center flex-shrink-0
72
+ ${N[i.name]?"bg-violet-100 dark:bg-violet-600/20":"bg-slate-100 group-hover:bg-slate-200 dark:bg-slate-700/60 dark:group-hover:bg-slate-700"}
73
+ `,children:e.jsx(i.icon,{className:`w-3.5 h-3.5 ${N[i.name]?"text-violet-600 dark:text-violet-400":"text-slate-500 dark:text-slate-400"}`})}),e.jsx("span",{className:"text-sm font-semibold leading-none",children:h(i.name)})]}),e.jsx("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform duration-200
74
+ text-slate-400 dark:text-slate-500
75
+ ${N[i.name]?"rotate-90":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),i.subItems&&N[i.name]&&e.jsx("div",{className:"mt-0.5 ml-3.5 pl-3 space-y-0.5 border-l border-slate-200/70 dark:border-slate-700/70",children:i.subItems.map(W=>e.jsx(F,{item:W,depth:1},W.name))})]})}):e.jsx("div",{children:G?e.jsx(me.Link,{to:i.path,onClick:()=>n==null?void 0:n(),children:e.jsxs("div",{className:`
76
+ flex items-center gap-2
77
+ px-2.5 py-1.5 rounded-lg cursor-pointer
78
+ transition-all duration-150 group
79
+ ${J?$:"text-slate-500 hover:bg-slate-100/70 hover:text-slate-700 dark:text-slate-400 dark:hover:bg-slate-700/30 dark:hover:text-slate-300"}
80
+ `,children:[e.jsx("div",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-200
81
+ ${J?P:p}`}),e.jsx("span",{className:"text-[13px] font-medium",children:h(i.name)})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{onClick:()=>S(i.name),className:`
82
+ flex items-center justify-between
83
+ px-2.5 py-1.5 rounded-lg cursor-pointer
84
+ transition-all duration-150 group
85
+ ${N[i.name]?"bg-slate-100/70 text-slate-700 dark:bg-slate-700/30 dark:text-slate-300":"text-slate-500 hover:bg-slate-100/70 hover:text-slate-700 dark:text-slate-400 dark:hover:bg-slate-700/30 dark:hover:text-slate-300"}
86
+ `,children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-200
87
+ ${N[i.name]?P:p}`}),e.jsx("span",{className:"text-[13px] font-medium",children:h(i.name)})]}),e.jsx("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform duration-200
88
+ text-slate-400 dark:text-slate-500
89
+ ${N[i.name]?"rotate-90":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),i.subItems&&N[i.name]&&e.jsx("div",{className:"mt-0.5 ml-3 pl-2.5 space-y-0.5 border-l border-slate-200/70 dark:border-slate-700/70",children:i.subItems.map(W=>e.jsx(F,{item:W,depth:L+1},W.name))})]})})};return e.jsxs("div",{className:"h-full w-full flex pl-2.5 sm:pl-3.5 max-sm:pr-2.5 sm:max-sm:pr-3.5",children:[e.jsxs("div",{className:`
90
+ rounded-2xl overflow-hidden border w-full
91
+ transition-all duration-300 relative
92
+ bg-gradient-to-br from-white via-violet-50/20 to-white
93
+ border-slate-200/50 dark:border-slate-700/50
94
+ dark:from-slate-800 dark:to-slate-900
95
+ flex flex-col
96
+ `,children:[e.jsx("div",{className:`absolute top-0 right-0 w-48 h-48 rounded-full blur-3xl opacity-10
97
+ bg-violet-300 dark:bg-violet-500
98
+ -translate-y-1/2 translate-x-1/2 pointer-events-none`}),e.jsxs("div",{className:"relative z-10 flex flex-col h-full p-2.5 sm:p-3.5",children:[e.jsx("div",{className:"flex-shrink-0 mb-2.5 sm:mb-3.5",children:e.jsxs("div",{className:`flex items-center gap-2.5 px-3 py-2 rounded-xl sm:rounded-2xl border
99
+ bg-gradient-to-r from-violet-50 to-indigo-50 border-slate-200/50
100
+ dark:from-slate-700/50 dark:to-slate-800/60 dark:border-slate-600/50`,children:[e.jsx("div",{className:`w-7 h-7 rounded-lg flex-shrink-0
101
+ bg-gradient-to-br from-violet-600 to-indigo-600
102
+ flex items-center justify-center
103
+ shadow-sm shadow-violet-500/20`,children:e.jsx("svg",{className:"w-3.5 h-3.5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-bold text-slate-900 dark:text-white leading-tight",children:"Navigation"}),e.jsxs("p",{className:"text-[11px] text-slate-500 dark:text-slate-400 leading-none mt-0.5",children:[a.length," items"]})]})]})}),e.jsx("nav",{className:"flex-1 overflow-y-auto space-y-0.5 custom-scrollbar","aria-label":"Main navigation",children:a.map(i=>e.jsx(F,{item:i,depth:0},i.name))}),s&&e.jsxs("div",{ref:x,className:"flex-shrink-0 mt-2.5 sm:mt-3.5 pt-2.5 sm:pt-3.5 border-t border-slate-200/80 dark:border-slate-700/80",children:[b&&o&&e.jsx("div",{className:`
104
+ mb-1.5 rounded-xl overflow-hidden
105
+ bg-white dark:bg-slate-800
106
+ border border-red-100 dark:border-red-500/20
107
+ shadow-sm
108
+ animate-in slide-in-from-bottom-1 duration-150
109
+ `,children:e.jsxs("button",{onClick:()=>{o(),c(!1)},className:`
110
+ w-full flex items-center gap-2.5 px-3 py-2.5
111
+ text-[13px] font-medium text-red-500
112
+ hover:bg-red-50 dark:hover:bg-red-500/10
113
+ transition-colors duration-150
114
+ `,children:[e.jsx(y.LogOut,{className:"w-3.5 h-3.5 flex-shrink-0"}),"Sign out"]})}),e.jsxs("button",{onClick:()=>c(i=>!i),className:`
115
+ w-full flex items-center gap-2.5
116
+ px-2.5 py-2 rounded-xl border
117
+ transition-all duration-150
118
+ ${b?"bg-violet-50 border-violet-200/60 dark:bg-violet-900/20 dark:border-violet-700/40":"bg-slate-50/60 border-slate-200/50 hover:bg-violet-50 hover:border-violet-200/60 dark:bg-slate-800/40 dark:border-slate-700/50 dark:hover:bg-violet-900/20 dark:hover:border-violet-700/40"}
119
+ `,children:[e.jsx("div",{className:`
120
+ w-7 h-7 rounded-lg flex-shrink-0
121
+ bg-gradient-to-br from-violet-600 to-indigo-600
122
+ flex items-center justify-center shadow-sm shadow-violet-500/20
123
+ `,children:e.jsx(y.User,{className:"w-3.5 h-3.5 text-white"})}),e.jsxs("div",{className:"flex-1 text-left min-w-0",children:[e.jsx("p",{className:"text-[13px] font-semibold text-slate-900 dark:text-white truncate leading-none",children:s.username}),e.jsx("p",{className:"text-[11px] text-slate-400 dark:text-slate-500 truncate mt-0.5 leading-none",children:s.email})]}),e.jsx(y.ChevronDown,{className:`
124
+ w-3 h-3 flex-shrink-0 text-slate-400 dark:text-slate-500
125
+ transition-transform duration-200
126
+ ${b?"rotate-180":""}
127
+ `})]})]})]})]}),e.jsx("style",{children:`
128
+ .custom-scrollbar::-webkit-scrollbar { width: 3px; }
129
+ .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
130
+ .custom-scrollbar::-webkit-scrollbar-thumb { background: rgb(203 213 225 / 0.6); border-radius: 999px; }
131
+ .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgb(148 163 184); }
132
+ `})]})},at=({icon:a,title:s,subtitle:o,badge:n,actions:h,searchBar:b,onIconClick:c,iconTitle:x})=>e.jsxs("div",{className:`
133
+ flex-shrink-0 relative overflow-hidden
134
+ rounded-xl sm:rounded-2xl border
135
+ transition-all duration-300
136
+ bg-gradient-to-br from-violet-50 via-indigo-50 to-blue-50
137
+ border-slate-200/50
138
+ dark:bg-gradient-to-br dark:from-slate-800 dark:to-slate-900
139
+ dark:border-slate-700/50
140
+ `,children:[e.jsx("div",{className:`absolute top-0 right-0 w-64 h-64 rounded-full blur-3xl opacity-20
141
+ bg-violet-300 dark:bg-violet-500
142
+ -translate-y-1/2 translate-x-1/2 pointer-events-none`}),e.jsx("div",{className:`absolute bottom-0 left-0 w-48 h-48 rounded-full blur-3xl opacity-20
143
+ bg-indigo-300 dark:bg-indigo-500
144
+ translate-y-1/2 -translate-x-1/2 pointer-events-none`}),e.jsxs("div",{className:"relative z-10 px-4 py-3 sm:px-5 sm:py-3.5",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[a&&e.jsx("div",{className:`
145
+ flex-shrink-0 w-9 h-9 sm:w-10 sm:h-10
146
+ rounded-xl bg-gradient-to-br from-violet-600 to-indigo-600
147
+ flex items-center justify-center
148
+ shadow-md shadow-violet-200/40 dark:shadow-violet-900/30
149
+ transition-all duration-200
150
+ ${c?"cursor-pointer hover:scale-110 hover:shadow-lg active:scale-95":"hover:scale-105"}
151
+ `,onClick:c,title:x,role:c?"button":void 0,tabIndex:c?0:void 0,onKeyDown:c?k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),c())}:void 0,children:e.jsx(a,{className:"w-[18px] h-[18px] sm:w-5 sm:h-5 text-white"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h2",{className:`text-base sm:text-lg font-bold tracking-tight
152
+ text-slate-900 dark:text-white leading-tight truncate`,children:s}),n&&e.jsx("span",{className:`
153
+ inline-flex items-center px-2 py-0.5 rounded-full
154
+ text-[11px] font-semibold tracking-wide
155
+ bg-violet-100 text-violet-700
156
+ border border-violet-200/50
157
+ dark:bg-violet-600/50 dark:text-violet-400 dark:border-violet-500/30
158
+ `,children:n})]}),o&&e.jsx("p",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400 leading-snug truncate",children:o})]}),h&&e.jsx("div",{className:`
159
+ flex-shrink-0
160
+ flex items-center gap-1.5
161
+ overflow-x-auto sm:overflow-x-visible
162
+ scroll-smooth
163
+ pb-0.5 sm:pb-0
164
+ max-w-[calc(100vw-14rem)]
165
+ sm:max-w-none
166
+ sm:flex-wrap
167
+ [&::-webkit-scrollbar]:hidden
168
+ `,children:h})]}),b&&e.jsx("div",{className:"mt-3 pt-3 border-t border-slate-200/40 dark:border-slate-700/50",children:b})]})]}),st=({icon:a,onClick:s,title:o,variant:n="secondary",size:h="md"})=>{const b={secondary:`bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm
169
+ dark:bg-slate-700/50 dark:hover:bg-slate-700 dark:text-slate-300 dark:border-slate-600/50`,danger:`bg-white hover:bg-red-50 text-slate-500 hover:text-red-600 border border-slate-200 shadow-sm
170
+ dark:bg-slate-700/50 dark:hover:bg-red-900/20 dark:text-slate-400 dark:hover:text-red-400 dark:border-slate-600/50`,primary:`bg-violet-100 hover:bg-violet-200 text-violet-700 border border-violet-200 shadow-sm
171
+ dark:bg-violet-600/20 dark:hover:bg-violet-600/30 dark:text-violet-400 dark:border-violet-500/30`},c={sm:"p-1.5",md:"p-2 sm:p-2.5"},x={sm:"w-3.5 h-3.5",md:"w-4 h-4 sm:w-[18px] sm:h-[18px]"};return e.jsx("button",{onClick:s,title:o,"aria-label":o,className:`
172
+ rounded-xl transition-all duration-200
173
+ ${c[h]}
174
+ ${b[n]??b.secondary}
175
+ hover:scale-105 active:scale-95
176
+ `,children:e.jsx(a,{className:x[h]})})},rt=({children:a,icon:s,iconPosition:o="left",disabled:n=!1,onClick:h,variant:b="primary",loading:c=!1,size:x="md",className:k="",...N})=>{const T={sm:"px-3 py-1.5 text-xs rounded-lg gap-1.5",md:"px-4 py-2 sm:px-5 sm:py-2.5 text-sm rounded-xl gap-2",lg:"px-5 py-2.5 sm:px-6 sm:py-3 text-sm sm:text-base rounded-xl gap-2"},S={sm:"w-3.5 h-3.5",md:"w-4 h-4",lg:"w-4 h-4 sm:w-5 sm:h-5"},E={primary:n||c?"bg-violet-300 text-white cursor-not-allowed opacity-60 dark:bg-violet-800/50":"bg-gradient-to-r from-violet-600 to-indigo-600 text-white hover:from-violet-700 hover:to-indigo-700 shadow-md hover:shadow-lg hover:scale-105 active:scale-95",secondary:n||c?"bg-gray-200 text-gray-400 cursor-not-allowed opacity-60 dark:bg-gray-700 dark:text-gray-500":"bg-white text-slate-700 border border-slate-200 hover:bg-slate-50 dark:bg-slate-700/50 dark:text-slate-300 dark:border-slate-600 dark:hover:bg-slate-700 shadow-sm hover:shadow-md hover:scale-105 active:scale-95",danger:n||c?"bg-red-300 text-white cursor-not-allowed opacity-60 dark:bg-red-800/50":"bg-red-600 text-white hover:bg-red-700 shadow-md hover:shadow-lg hover:scale-105 active:scale-95"};return e.jsxs("button",{disabled:n||c,onClick:n||c?void 0:h,className:`
177
+ inline-flex items-center justify-center font-semibold whitespace-nowrap
178
+ transition-all duration-200
179
+ ${T[x]}
180
+ ${E[b]}
181
+ ${k}
182
+ `,...N,children:[s&&o==="left"&&!c&&e.jsx(s,{className:`${S[x]} flex-shrink-0`}),c&&e.jsx("span",{className:`${S[x]} flex-shrink-0 animate-spin rounded-full
183
+ border-2 border-white/30 border-t-white`}),e.jsx("span",{children:c?"Loading...":a}),s&&o==="right"&&!c&&e.jsx(s,{className:`${S[x]} flex-shrink-0`})]})},lt=({value:a,onChange:s,placeholder:o="Search...",onClear:n})=>e.jsxs("div",{className:"relative",children:[e.jsx("svg",{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400 dark:text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),e.jsx("input",{type:"text",placeholder:o,value:a,onChange:s,className:"w-full pl-12 pr-4 py-3 rounded-xl border transition-all duration-200 bg-white border-slate-200 text-slate-900 placeholder-slate-400 focus:border-violet-400 focus:bg-slate-50 dark:bg-slate-800/50 dark:border-slate-700 dark:text-white dark:placeholder-slate-500 dark:focus:border-violet-500 dark:focus:bg-slate-800 focus:outline-none focus:ring-2 focus:ring-violet-500/20"}),a&&n&&e.jsx("button",{onClick:n,className:"absolute right-4 top-1/2 -translate-y-1/2 p-1 rounded-lg transition-colors text-slate-400 hover:text-slate-600 hover:bg-slate-100 dark:text-slate-500 dark:hover:text-slate-300 dark:hover:bg-slate-700",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),nt=({columns:a,data:s,onSort:o,sortConfig:n,emptyMessage:h="No data found",emptyDescription:b="Try adjusting your filters or add new data",emptyIcon:c})=>s.length===0?e.jsx("div",{className:"h-full rounded-2xl border bg-white border-slate-200/50 dark:bg-slate-800/50 dark:border-slate-700/50 flex items-center justify-center",children:e.jsxs("div",{className:"text-center py-12 px-6",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-slate-100 dark:bg-slate-700 flex items-center justify-center mx-auto mb-4",children:c?e.jsx(c,{className:"w-8 h-8 text-slate-400 dark:text-slate-500"}):e.jsx("svg",{className:"w-8 h-8 text-slate-400 dark:text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4"})})}),e.jsx("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-300 mb-2",children:h}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:b})]})}):e.jsx("div",{className:"h-full rounded-2xl border bg-white border-slate-200/50 dark:bg-slate-800/50 dark:border-slate-700/50 flex flex-col overflow-hidden",children:e.jsx("div",{className:"flex-1 overflow-auto",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{className:"bg-slate-50 dark:bg-slate-800/50 sticky top-0 ",children:e.jsx("tr",{children:a.map(x=>e.jsx("th",{onClick:()=>x.sortable&&o&&o(x.key),className:`
184
+ px-6 py-4 text-left text-xs font-semibold text-slate-700 dark:text-slate-300 uppercase tracking-wider
185
+ ${x.sortable?"cursor-pointer select-none hover:bg-slate-100 dark:hover:bg-slate-700/50":""}
186
+ `,children:e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("span",{children:x.label}),x.sortable&&(n==null?void 0:n.key)===x.key&&e.jsx("span",{className:"text-violet-600 dark:text-violet-400",children:n.direction==="asc"?"↑":"↓"})]})},x.key))})}),e.jsx("tbody",{className:"divide-y divide-slate-200 dark:divide-slate-700",children:s.map((x,k)=>e.jsx("tr",{className:"hover:bg-slate-50 dark:hover:bg-slate-800/30 transition-colors",children:a.map(N=>e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm",children:N.render?N.render(x):x[N.key]},N.key))},x.id||k))})]})})}),ot=({icon:a,onClick:s,children:o,variant:n="primary",disabled:h=!1,title:b="",size:c="md"})=>{const x={primary:"bg-violet-100 text-violet-700 hover:bg-violet-200 border border-violet-200 dark:bg-violet-600/20 dark:text-violet-400 dark:hover:bg-violet-600/30 dark:border dark:border-violet-500/30",amber:"bg-amber-50 text-amber-700 border border-amber-200 hover:bg-amber-100 dark:bg-amber-900/20 dark:text-amber-300 dark:border-amber-700/40",emerald:"bg-emerald-50 text-emerald-700 border border-emerald-200 hover:bg-emerald-100 dark:bg-emerald-900/20 dark:text-emerald-300 dark:border-emerald-700/40",red:"bg-red-50 text-red-700 border border-red-200 hover:bg-red-100 dark:bg-red-900/20 dark:text-red-300 dark:border-red-700/40",teal:"bg-teal-50 text-teal-700 border border-teal-200 hover:bg-teal-100 dark:bg-teal-900/20 dark:text-teal-300 dark:border-teal-700/40",blue:"bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 dark:bg-blue-900/20 dark:text-blue-300 dark:border-blue-700/40",indigo:"bg-indigo-50 text-indigo-700 border border-indigo-200 hover:bg-indigo-100 dark:bg-indigo-900/20 dark:text-indigo-300 dark:border-indigo-700/40",pink:"bg-pink-50 text-pink-700 border border-pink-200 hover:bg-pink-100 dark:bg-pink-900/20 dark:text-pink-300 dark:border-pink-700/40",cyan:"bg-cyan-50 text-cyan-700 border border-cyan-200 hover:bg-cyan-100 dark:bg-cyan-900/20 dark:text-cyan-300 dark:border-cyan-700/40",orange:"bg-orange-50 text-orange-700 border border-orange-200 hover:bg-orange-100 dark:bg-orange-900/20 dark:text-orange-300 dark:border-orange-700/40",dark:"bg-slate-800 text-slate-100 border border-slate-700 hover:bg-slate-700 dark:bg-slate-700 dark:text-slate-100 dark:hover:bg-slate-600 dark:border-slate-600",ghost:"bg-transparent text-slate-600 border border-dashed border-slate-300 hover:bg-slate-50 dark:text-slate-400 dark:border-slate-600 dark:hover:bg-slate-800/50",rainbow:"action-btn-rainbow",disabled:"bg-slate-100/50 text-slate-400 border border-slate-200/50 cursor-not-allowed dark:bg-slate-800/30 dark:text-slate-500 dark:border-slate-700/50"},k={sm:"px-2.5 py-1.5 text-xs gap-1",md:"px-3 py-1.5 sm:px-3.5 sm:py-2 text-sm gap-1.5"},N=h?x.disabled:x[n]??x.primary;return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:`
187
+ @property --beam-angle {
188
+ syntax: '<angle>';
189
+ initial-value: 0deg;
190
+ inherits: false;
191
+ }
192
+
193
+ @keyframes beam-travel {
194
+ to { --beam-angle: 360deg; }
195
+ }
196
+
197
+ .action-btn-rainbow {
198
+ position: relative;
199
+ background: white;
200
+ color: #1e293b;
201
+ border: 2px solid #e2e8f0;
202
+ overflow: hidden;
203
+ z-index: 0;
204
+ }
205
+
206
+ /* blocks glow from bleeding into button interior */
207
+ .action-btn-rainbow::before {
208
+ content: '';
209
+ position: absolute;
210
+ inset: 0;
211
+ background: white;
212
+ border-radius: inherit;
213
+ z-index: 0;
214
+ }
215
+
216
+ /* moving beam on border */
217
+ .action-btn-rainbow::after {
218
+ content: '';
219
+ position: absolute;
220
+ inset: -1px;
221
+ border-radius: inherit;
222
+ background: conic-gradient(
223
+ from var(--beam-angle),
224
+ transparent 75%,
225
+ #a78bfa 82%,
226
+ #f472b6 88%,
227
+ #fbbf24 92%,
228
+ #34d399 96%,
229
+ transparent 100%
230
+ );
231
+ animation: beam-travel 2s linear infinite;
232
+ z-index: 1;
233
+ mask: linear-gradient(#fff 0 0) content-box,
234
+ linear-gradient(#fff 0 0);
235
+ mask-composite: exclude;
236
+ -webkit-mask: linear-gradient(#fff 0 0) content-box,
237
+ linear-gradient(#fff 0 0);
238
+ -webkit-mask-composite: destination-out;
239
+ padding: 3px;
240
+ }
241
+
242
+ /* text/icon above blocking layer */
243
+ .action-btn-rainbow > * {
244
+ position: relative;
245
+ z-index: 2;
246
+ }
247
+
248
+ .action-btn-rainbow:hover {
249
+ color: #000;
250
+ transform: scale(1.05);
251
+ border-color: #c4b5fd;
252
+ }
253
+
254
+ .dark .action-btn-rainbow {
255
+ background: #0f172a;
256
+ color: #e2e8f0;
257
+ border-color: #334155;
258
+ }
259
+
260
+ .dark .action-btn-rainbow::before {
261
+ background: #0f172a;
262
+ }
263
+
264
+ .dark .action-btn-rainbow:hover {
265
+ color: #fff;
266
+ border-color: #7c3aed;
267
+ }
268
+ `}),e.jsxs("button",{onClick:h?void 0:s,type:"button",title:b,disabled:h,className:`
269
+ inline-flex items-center justify-center relative
270
+ ${k[c]}
271
+ rounded-xl font-semibold whitespace-nowrap
272
+ transition-all duration-200
273
+ ${N}
274
+ ${h?"opacity-60":"active:scale-95"}
275
+ `,children:[a&&e.jsx(a,{className:"w-3.5 h-3.5 flex-shrink-0"}),o&&e.jsx("span",{children:o})]})]})},it=({isOpen:a,onClose:s,title:o,subtitle:n,icon:h,children:b,size:c="md",fullscreen:x=!1,hideHeader:k=!1})=>{if(j.useEffect(()=>{const S=E=>{E.key==="Escape"&&s()};return a&&(document.addEventListener("keydown",S),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",S),document.body.style.overflow="unset"}},[a,s]),!a)return null;const N={sm:"max-w-md",md:"max-w-2xl",lg:"max-w-4xl",xl:"max-w-6xl"},T=e.jsx("div",{className:`flex-shrink-0 px-4 py-3 sm:px-5 sm:py-4
276
+ bg-gradient-to-r from-violet-50 via-indigo-50 to-violet-50
277
+ dark:from-slate-700/50 dark:via-slate-800/50 dark:to-slate-700/50
278
+ border-b border-slate-200 dark:border-slate-700`,children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2.5 sm:gap-3 min-w-0",children:[h&&e.jsx("div",{className:`flex-shrink-0 w-9 h-9 sm:w-10 sm:h-10 rounded-xl
279
+ flex items-center justify-center
280
+ bg-gradient-to-br from-violet-600 to-indigo-600 shadow-lg`,children:e.jsx(h,{className:"w-[18px] h-[18px] sm:w-5 sm:h-5 text-white"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-sm sm:text-base font-bold text-slate-900 dark:text-white truncate",children:o}),n&&e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-0.5 truncate",children:n})]})]}),e.jsx("button",{onClick:s,className:`flex-shrink-0 p-1.5 rounded-lg border transition-all duration-200
281
+ text-slate-400
282
+ hover:bg-slate-100 hover:text-slate-900
283
+ border-slate-200 hover:border-slate-300
284
+ dark:border-slate-600 dark:hover:bg-slate-700
285
+ dark:hover:text-white dark:hover:border-slate-500
286
+ hover:scale-105 active:scale-95`,"aria-label":"Close modal",children:e.jsx(y.X,{className:"w-4 h-4"})})]})});return x?je.createPortal(e.jsxs("div",{className:"fixed inset-0 z-[11000] flex flex-col animate-in fade-in duration-200 bg-white dark:bg-slate-800",children:[!k&&T,e.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:b})]}),document.body):je.createPortal(e.jsxs("div",{className:"fixed inset-0 z-[11000] overflow-y-auto flex min-h-full items-center justify-center animate-in fade-in duration-200",children:[e.jsx("div",{className:"fixed inset-0 bg-slate-900/50 backdrop-blur-sm",onClick:s}),e.jsx("div",{className:`relative z-[11001] w-full ${N[c]} animate-in zoom-in-95 duration-200 my-auto`,children:e.jsxs("div",{className:`
287
+ rounded-xl sm:rounded-2xl border overflow-hidden
288
+ bg-white border-slate-200/50 shadow-2xl ml-2 mr-2
289
+ dark:bg-slate-800 dark:border-slate-700/50
290
+ flex flex-col max-h-[70dvh] sm:max-h-[80dvh]
291
+ `,children:[!k&&T,e.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto",children:b})]})})]}),document.body)},De=({checked:a=!1,onChange:s,disabled:o=!1,label:n,name:h,helpText:b})=>{const c=()=>{o||s(h,!a)};return e.jsxs("div",{className:"space-y-1.5",children:[n&&e.jsx("span",{className:"block text-sm font-semibold text-slate-700 dark:text-slate-300",children:n}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{type:"button",role:"switch","aria-checked":a,onClick:c,disabled:o,className:`
292
+ relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full
293
+ transition-all duration-200
294
+ ${a?"bg-gradient-to-r from-violet-600 to-indigo-600 shadow-md shadow-violet-200 dark:shadow-violet-900/30":"bg-slate-300 dark:bg-slate-600"}
295
+ ${o?"opacity-50 cursor-not-allowed":"cursor-pointer hover:scale-105 active:scale-95"}
296
+ focus:outline-none focus-visible:ring-2 focus-visible:ring-violet-500/30 focus-visible:ring-offset-2 dark:focus-visible:ring-offset-slate-800
297
+ `,children:e.jsx("span",{className:`
298
+ inline-block h-4 w-4 transform rounded-full bg-white shadow-md
299
+ transition-transform duration-200
300
+ ${a?"translate-x-6":"translate-x-1"}
301
+ `})}),e.jsx("span",{className:`text-sm font-medium ${a?"text-violet-700 dark:text-violet-400":"text-slate-500 dark:text-slate-400"}`,children:a?"Yes":"No"})]}),b&&e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 leading-snug",children:b})]})},Ne=({field:a,value:s,onChange:o,error:n,index:h,mode:b="create"})=>{var H;const[c,x]=j.useState(""),[k,N]=j.useState(!1),[T,S]=j.useState(!1),[E,$]=j.useState(null),[P,p]=j.useState(""),[F,i]=j.useState(!1),L=m=>{const D=m.target.value;o(a.name,D)},G=m=>{o(a.name,m),N(!1),x("")},J=()=>{N(!1),x(""),i(!1),$(null)},W=()=>{c.trim()&&(o(a.name,c.trim()),S(!0),N(!1),x(""))},se=(m,D)=>{D.preventDefault(),D.stopPropagation(),$(m),p(m.label),i(!0)},re=async m=>{m.preventDefault(),m.stopPropagation(),P.trim()&&E&&a.onEditRank&&await a.onEditRank(E.value,P.trim())&&(s===E.value&&o(a.name,E.value),i(!1),$(null),p(""))},ee=m=>{m.preventDefault(),m.stopPropagation(),i(!1),$(null),p("")},M=(()=>{if(!c)return a.options||[];const m=Array.isArray(a.options)?a.options:[];if(a.fuzzySearch&&typeof a.findFuzzyMatches=="function")try{return a.findFuzzyMatches(c,m,a.fuzzyThreshold||.5)}catch(D){return console.error("Fuzzy search error:",D),m.filter(X=>{var ae;return(ae=X.label)==null?void 0:ae.toLowerCase().includes(c.toLowerCase())})}return m.filter(D=>{var X;return(X=D.label)==null?void 0:X.toLowerCase().includes(c.toLowerCase())})||[]})(),Q=c.trim()&&a.fuzzySearch&&a.options&&typeof a.checkForDuplicateDesignation=="function"?a.checkForDuplicateDesignation(c,a.options,.8):null,d=Q&&Q.similarityScore===1,w=a.type==="select-or-custom"&&s&&!((H=a.options)!=null&&H.some(m=>m.value===s)),_=()=>{var D;if(!s)return a.placeholder;if(a.type==="select-or-custom"&&w)return s;const m=(D=a.options)==null?void 0:D.find(X=>X.value===s);return m?m.label:a.placeholder},A=()=>{var ae,oe;const m=a.icon,D=`
302
+ w-full px-3.5 py-2.5 rounded-xl border transition-all duration-200
303
+ bg-white dark:bg-slate-800 text-sm text-slate-900 dark:text-white
304
+ focus:outline-none focus:ring-2 focus:ring-violet-500/20 placeholder-slate-400
305
+ `,X=n?"border-red-300 dark:border-red-700 focus:border-red-500 focus:ring-red-500":"border-slate-300 dark:border-slate-600 focus:border-violet-500 focus:ring-violet-500";switch(a.type){case"select-or-custom":return T||w?e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("input",{type:"text",value:s,onChange:l=>o(a.name,l.target.value),placeholder:a.customPlaceholder||"Enter custom value",disabled:a.disabled,className:`${D} ${X} ${m?"pl-9 sm:pl-12":""} pr-32 disabled:opacity-50 disabled:cursor-not-allowed`}),e.jsx("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),S(!1),o(a.name,"")},className:"absolute right-3 top-1/2 -translate-y-1/2 px-3 py-1.5 text-xs font-semibold text-slate-600 hover:text-slate-900 dark:text-slate-400 dark:hover:text-white transition-colors rounded-lg hover:bg-slate-100 dark:hover:bg-slate-700",children:"Select Existing"})]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),a.disabled||N(!0)},disabled:a.disabled,className:` relative ${D} ${X} ${m?"pl-12":""} pr-4 text-left flex items-center justify-between disabled:opacity-50 disabled:cursor-not-allowed hover:border-violet-400 dark:hover:border-violet-500`,children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("span",{className:`${s?"":"text-slate-400"} truncate pr-2`,title:_(),children:_()}),e.jsx(y.ChevronDown,{className:"w-5 h-5 text-slate-400 "})]}),k&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-3 sm:p-4 bg-slate-900/50 backdrop-blur-sm animate-in fade-in duration-200",onMouseDown:l=>{l.target===l.currentTarget&&(l.preventDefault(),l.stopPropagation(),J())},children:e.jsx("div",{className:"relative w-full max-w-md animate-in zoom-in-95 duration-200",onMouseDown:l=>l.stopPropagation(),children:e.jsxs("div",{className:"rounded-2xl border overflow-hidden bg-white border-slate-200/50 shadow-2xl max-h-[70vh] sm:max-h-[80vh] dark:bg-slate-800 dark:border-slate-700/50 flex flex-col",children:[e.jsx("div",{className:`flex-shrink-0 px-4 py-3 sm:px-5 sm:py-4
306
+ bg-gradient-to-r from-violet-50 via-indigo-50 to-violet-50
307
+ dark:from-slate-700/50 dark:via-slate-800/50 dark:to-slate-700/50
308
+ border-b border-slate-200 dark:border-slate-700 rounded-t-2xl`,children:e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-sm sm:text-base font-bold text-slate-900 dark:text-white truncate",children:F?"Edit Rank Designation":a.modalTitle||a.label}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-0.5 truncate",children:F?`Editing: ${E==null?void 0:E.label}`:a.modalSubtitle||"Search existing or create new"})]}),e.jsx("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),J()},className:`flex-shrink-0 p-1.5 rounded-lg border transition-all duration-200
309
+ text-slate-400 hover:bg-slate-100 hover:text-slate-900
310
+ border-slate-200/50 hover:border-slate-300
311
+ dark:border-slate-700/50 dark:hover:bg-slate-700
312
+ dark:hover:text-white dark:hover:border-slate-500
313
+ hover:scale-105 active:scale-95`,children:e.jsx(y.X,{className:"w-4 h-4"})})]})}),F?e.jsxs("div",{className:"p-4 sm:p-5 space-y-3 sm:space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:`block text-xs font-semibold uppercase tracking-wide
314
+ text-slate-700 dark:text-slate-300 mb-1.5`,children:"Edit Rank Designation"}),e.jsx("input",{type:"text",value:P,onChange:l=>p(l.target.value),className:`w-full px-3 py-2.5 sm:px-4 sm:py-3 rounded-xl border
315
+ border-slate-200/50 dark:border-slate-700/50
316
+ bg-white dark:bg-slate-800
317
+ text-sm text-slate-900 dark:text-white
318
+ focus:border-violet-500 focus:ring-2 focus:ring-violet-500/20 transition-all`,placeholder:"Enter new rank name",autoFocus:!0})]}),e.jsxs("div",{className:"flex gap-2 sm:gap-3",children:[e.jsxs("button",{type:"button",onClick:ee,className:`flex-1 inline-flex items-center justify-center gap-2
319
+ px-3 py-2.5 sm:px-4 sm:py-3 rounded-xl
320
+ bg-white dark:bg-slate-700 hover:bg-slate-50 dark:hover:bg-slate-600
321
+ text-sm font-semibold text-slate-700 dark:text-slate-300
322
+ border border-slate-200/50 dark:border-slate-700/50
323
+ transition-all duration-200 hover:scale-105 active:scale-95 shadow-sm`,children:[e.jsx(y.X,{className:"w-4 h-4"})," Cancel"]}),e.jsxs("button",{type:"button",onClick:re,className:`flex-1 inline-flex items-center justify-center gap-2
324
+ px-3 py-2.5 sm:px-4 sm:py-3 rounded-xl
325
+ bg-gradient-to-r from-violet-600 to-indigo-600
326
+ hover:from-violet-700 hover:to-indigo-700
327
+ text-sm font-semibold text-white
328
+ shadow-md hover:shadow-lg
329
+ transition-all duration-200 hover:scale-105 active:scale-95`,children:[e.jsx(y.Save,{className:"w-4 h-4"})," Save Changes"]})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-4 border-b border-slate-200 dark:border-slate-700",children:e.jsxs("div",{className:"relative",children:[e.jsx(y.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400"}),e.jsx("input",{type:"text",value:c,onChange:l=>x(l.target.value),placeholder:a.fuzzySearch?"Search or type to create new...":"Search...",className:"w-full pl-10 pr-4 py-2.5 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 text-slate-900 dark:text-white placeholder-slate-400 focus:border-violet-500 focus:ring-2 focus:ring-violet-500/20 transition-all",autoFocus:!0})]})}),Q&&Q.similarityScore<1&&e.jsx("div",{className:"mx-4 mt-4 p-3 rounded-lg bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800/50",children:e.jsxs("div",{className:"flex items-start space-x-2",children:[e.jsx(y.AlertCircle,{className:"w-4 h-4 text-amber-600 dark:text-amber-400 flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"flex-1 text-xs",children:[e.jsx("p",{className:"font-semibold text-amber-900 dark:text-amber-300",children:"Similar designation found!"}),e.jsxs("p",{className:"text-amber-700 dark:text-amber-400 mt-1",children:["Similar rank found (",Q.scorePercentage,"% match). You can still create this if it's different."]})]})]})}),e.jsx("div",{className:"flex-1 overflow-y-auto p-2",children:c.trim()?e.jsxs(e.Fragment,{children:[M.length>0&&e.jsxs("div",{className:"space-y-1 mb-3",children:[e.jsx("p",{className:"px-4 py-2 text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wider",children:"Existing Options"}),M.map(l=>e.jsx("div",{className:"group relative",children:e.jsxs("button",{type:"button",onClick:f=>{f.preventDefault(),f.stopPropagation(),G(l.value)},className:`w-full text-left px-4 py-3 rounded-lg transition-all duration-200 flex items-center justify-between ${s===l.value?"bg-violet-100 dark:bg-violet-600/20 text-violet-900 dark:text-violet-300 font-semibold":"hover:bg-slate-100 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-300"}`,children:[e.jsx("span",{children:l.label}),e.jsxs("div",{className:"flex items-center gap-2",children:[a.fuzzySearch&&l.scorePercentage&&e.jsxs("span",{className:"inline-flex items-center px-2 py-0.5 rounded-md text-xs font-semibold bg-green-100 text-green-800 dark:bg-green-600/20 dark:text-green-400",children:[l.scorePercentage,"% match"]}),a.onEditRank&&!a.disabled&&e.jsx("button",{type:"button",onClick:f=>se(l,f),className:"opacity-0 group-hover:opacity-100 transition-opacity p-1.5 rounded-md hover:bg-white dark:hover:bg-slate-600 text-slate-500 hover:text-violet-600 dark:text-slate-400 dark:hover:text-violet-400",title:"Edit this rank",children:e.jsx(y.Edit,{className:"w-3.5 h-3.5"})})]})]})},l.value))]}),(!d||(Q==null?void 0:Q.similarityScore)<1)&&e.jsxs("div",{className:M.length>0?"border-t border-slate-200 dark:border-slate-700 pt-3":"",children:[e.jsx("p",{className:"px-4 py-2 text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wider",children:M.length>0?b==="edit"?"Or Update To":"Or Create New":"No matches found"}),e.jsx("div",{className:"px-2",children:e.jsx("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),W()},className:"w-full px-4 py-3 rounded-lg transition-all duration-200 bg-gradient-to-r from-violet-600 to-indigo-600 hover:from-violet-700 hover:to-indigo-700 text-white font-semibold shadow-lg hover:shadow-xl transform hover:-translate-y-0.5 min-w-0",children:e.jsxs("div",{className:"flex items-center justify-center space-x-2 min-w-0",children:[e.jsx(y.Sparkles,{className:"w-5 h-5 flex-shrink-0"}),e.jsxs("span",{className:"truncate",children:[b==="edit"?"Update to":"Create New",": ",c.trim()]})]})})})]})]}):e.jsx("div",{className:"space-y-1",children:a.options&&a.options.length>0?a.options.map(l=>e.jsx("div",{className:"group relative",children:e.jsx("button",{type:"button",onClick:f=>{f.preventDefault(),f.stopPropagation(),G(l.value)},className:`w-full text-left px-4 py-3 rounded-lg transition-all duration-200 break-words whitespace-normal ${s===l.value?"bg-violet-100 dark:bg-violet-600/20 text-violet-900 dark:text-violet-300 font-semibold":"hover:bg-slate-100 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-300"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"flex-1",children:l.label}),a.onEditRank&&!a.disabled&&e.jsx("button",{type:"button",onClick:f=>se(l,f),className:"opacity-0 group-hover:opacity-100 transition-opacity ml-2 p-1.5 rounded-md hover:bg-white dark:hover:bg-slate-600 text-slate-500 hover:text-violet-600 dark:text-slate-400 dark:hover:text-violet-400",title:"Edit this rank",children:e.jsx(y.Edit,{className:"w-3.5 h-3.5"})})]})})},l.value)):e.jsx("div",{className:"text-center py-8",children:e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"No options available"})})})})]}),e.jsx("div",{className:"flex-shrink-0 px-6 py-3 border-t border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-800/50",children:e.jsxs("p",{className:"text-xs text-slate-500 dark:text-slate-400 text-center",children:[!F&&(M?`${M.length} option${M.length!==1?"s":""} available`:""),F&&"Edit the rank designation and save changes"]})})]})})})]});case"select":return a.searchable?e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),a.disabled||N(!0)},disabled:a.disabled,className:`relative ${D} ${X} flex items-center justify-between ${m?"pl-12":""} pr-4 text-left disabled:opacity-50 disabled:cursor-not-allowed hover:border-violet-400 dark:hover:border-violet-500`,children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("span",{className:s?"text-slate-900 dark:text-white truncate":"text-slate-400",children:_()}),e.jsx(y.ChevronDown,{className:"w-5 h-5 text-slate-400"})]}),k&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-3 sm:p-4 bg-black/50 backdrop-blur-sm animate-in fade-in duration-200",onMouseDown:l=>{l.target===l.currentTarget&&(l.preventDefault(),l.stopPropagation(),J())},children:e.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-full max-w-md max-h-[70vh] sm:max-h-[80vh] flex flex-col border border-slate-200 dark:border-slate-700 animate-in zoom-in-95 duration-200",onMouseDown:l=>l.stopPropagation(),children:[e.jsxs("div",{className:`flex items-center justify-between gap-3
330
+ px-4 py-3 sm:px-5 sm:py-4
331
+ bg-gradient-to-r from-violet-50 via-indigo-50 to-violet-50
332
+ dark:from-slate-700/50 dark:via-slate-800/50 dark:to-slate-700/50
333
+ border-b border-slate-200 dark:border-slate-700 rounded-t-2xl`,children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"text-sm sm:text-base font-bold text-slate-900 dark:text-white",children:a.modalTitle||"Select Option"}),a.modalSubtitle&&e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-0.5",children:a.modalSubtitle})]}),e.jsx("button",{type:"button",onClick:l=>{l.preventDefault(),l.stopPropagation(),J()},className:`flex-shrink-0 p-1.5 rounded-lg border transition-all duration-200
334
+ text-slate-400 hover:bg-slate-100 hover:text-slate-900
335
+ border-slate-200/50 dark:border-slate-700/50
336
+ dark:hover:bg-slate-700 dark:hover:text-white`,children:e.jsx(y.X,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"p-4 border-b border-slate-200 dark:border-slate-700",children:e.jsxs("div",{className:"relative",children:[e.jsx(y.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400"}),e.jsx("input",{type:"text",value:c,onChange:l=>x(l.target.value),placeholder:"Search...",className:"w-full pl-10 pr-4 py-2.5 rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 text-slate-900 dark:text-white placeholder-slate-400 focus:border-violet-500 focus:ring-2 focus:ring-violet-500/20 transition-all",autoFocus:!0})]})}),e.jsx("div",{className:"flex-1 overflow-y-auto p-2",children:M.length>0?e.jsx("div",{className:"space-y-1",children:M.map(l=>e.jsx("button",{type:"button",onClick:f=>{f.preventDefault(),f.stopPropagation(),G(l.value)},className:`w-full text-left px-4 py-3 rounded-lg transition-all duration-200 break-all whitespace-normal ${s===l.value?"bg-violet-100 dark:bg-violet-600/20 text-violet-900 dark:text-violet-300 font-semibold":"hover:bg-slate-100 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-300"}`,children:l.label},l.value))}):e.jsx("div",{className:"text-center py-8",children:e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"No options found"})})})]})})]}):e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsxs("select",{value:s,onChange:L,disabled:a.disabled,className:`${D} ${X} ${m?"pl-12":""} pr-10 appearance-none cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-violet-500/20`,children:[e.jsx("option",{value:"",children:a.placeholder||"Select an option"}),(ae=a.options)==null?void 0:ae.map(l=>e.jsx("option",{value:l.value,children:l.label},l.value))]}),e.jsx(y.ChevronDown,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400 pointer-events-none"})]});case"date":case"number":return e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("input",{type:a.type,value:s,onChange:l=>o(a.name,l.target.value),disabled:a.disabled,min:a.min,max:a.max,step:a.step,className:`${D} ${X} ${m?"pl-12":""} disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-violet-500/20`})]});case"textarea":return a.isHtml?a.disabled?e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-3 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("div",{className:`${D} ${X} ${m?"pl-12":""} opacity-50 cursor-not-allowed prose prose-sm max-w-none [&>*]:my-0.5 [&>ul]:list-disc [&>ul]:pl-4 [&>ol]:list-decimal [&>ol]:pl-4`,style:{minHeight:`${(a.rows||4)*1.75+1.5}rem`},dangerouslySetInnerHTML:{__html:s||""}})]}):a.renderHtmlEditor?a.renderHtmlEditor({content:s||"",onChange:l=>o(a.name,l),height:a.height||200,rows:a.rows||4}):e.jsxs("div",{className:"p-3 bg-amber-50 text-amber-800 rounded-xl border border-amber-200 text-sm",children:["HTML Editor component not provided. Please pass ",e.jsx("code",{children:"renderHtmlEditor"})," to this field configuration."]}):e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-3 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("textarea",{value:s,onChange:l=>o(a.name,l.target.value),placeholder:a.placeholder,disabled:a.disabled,rows:a.rows||4,className:`${D} ${X} ${m?"pl-12":""} placeholder-slate-400 resize-none disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-violet-500/20`})]});case"checkbox":return e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("input",{type:"checkbox",checked:s||!1,onChange:l=>o(a.name,l.target.checked),disabled:a.disabled,className:"h-5 w-5 rounded border-slate-300 text-violet-600 focus:ring-violet-500 dark:border-slate-600 dark:bg-slate-700 disabled:opacity-50 disabled:cursor-not-allowed"}),e.jsx("span",{className:"text-sm font-medium text-slate-700 dark:text-slate-300",children:a.checkboxLabel||a.label})]});case"toggle":return e.jsx(De,{checked:s||!1,onChange:o,disabled:a.disabled,label:a.toggleLabel,name:a.name,helpText:a.helpText});case"radio":return e.jsx("div",{className:"flex flex-wrap items-center gap-3 sm:gap-6",children:(oe=a.options)==null?void 0:oe.map(l=>e.jsxs("label",{className:`flex items-center cursor-pointer ${a.disabled?"opacity-50 cursor-not-allowed":""}`,children:[e.jsx("input",{type:"radio",name:a.name,value:l.value,checked:s===l.value,onChange:f=>o(a.name,f.target.value),disabled:a.disabled,className:"h-4 w-4 text-violet-600 border-slate-300 focus:ring-2 focus:ring-violet-500 cursor-pointer disabled:cursor-not-allowed dark:border-slate-600 dark:bg-slate-700"}),e.jsx("span",{className:`ml-2 text-sm ${s===l.value?"font-medium text-violet-900 dark:text-violet-300":"text-slate-700 dark:text-slate-300"}`,children:l.label})]},l.value))});case"file":{const l=j.useRef(null),f=Array.isArray(s)?s:[];return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"relative flex items-center",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("div",{onClick:()=>{var g;return!a.disabled&&((g=l.current)==null?void 0:g.click())},className:`w-full px-4 py-3 rounded-xl border transition-all duration-200 bg-white dark:bg-slate-800 text-slate-900 dark:text-white ${m?"pl-12":"pl-4"} pr-14 cursor-pointer select-none ${a.disabled?"opacity-50 cursor-not-allowed border-slate-300 dark:border-slate-600":"border-slate-300 dark:border-slate-600 hover:border-violet-400 dark:hover:border-violet-500"} ${n?"border-red-300 dark:border-red-700":""}`,children:e.jsx("span",{className:"text-slate-400 dark:text-slate-500 text-sm",children:f.length>0?`${f.length} file${f.length!==1?"s":""} selected`:a.placeholder||"Select files to upload..."})}),e.jsx("button",{type:"button",disabled:a.disabled,onClick:()=>{var g;return(g=l.current)==null?void 0:g.click()},className:"absolute right-2 top-1/2 -translate-y-1/2 p-2 rounded-lg bg-violet-600 hover:bg-violet-700 active:bg-violet-800 disabled:opacity-50 disabled:cursor-not-allowed text-white transition-colors",title:"Browse files",children:e.jsx(y.Upload,{className:"w-4 h-4"})}),e.jsx("input",{ref:l,type:"file",accept:a.accept,multiple:a.multiple??!1,className:"hidden",onChange:g=>{a.onFilesSelected&&a.onFilesSelected(g.target.files),g.target.value=""}})]}),f.map(({tempId:g,file:R,documentName:O})=>e.jsxs("div",{className:"group flex items-center gap-3 px-4 py-3 rounded-xl border border-violet-200 dark:border-violet-700/40 bg-violet-50/50 dark:bg-violet-900/10 transition-colors",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg bg-violet-100 dark:bg-violet-900/30 flex items-center justify-center flex-shrink-0",children:e.jsx(y.File,{className:"w-4 h-4 text-violet-600 dark:text-violet-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-800 dark:text-slate-200 truncate",children:O||(R==null?void 0:R.name)}),(R==null?void 0:R.size)!==void 0&&e.jsx("p",{className:"text-xs text-violet-600 dark:text-violet-400 mt-0.5",children:R.size<1024*1024?`${(R.size/1024).toFixed(1)} KB`:`${(R.size/(1024*1024)).toFixed(2)} MB`})]}),a.onRemove&&e.jsx("button",{type:"button",onClick:()=>a.onRemove(g),className:"w-7 h-7 rounded-lg flex items-center justify-center text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 transition-all flex-shrink-0 opacity-60 sm:opacity-0 sm:group-hover:opacity-100",title:"Remove",children:e.jsx(y.Trash2,{className:"w-3.5 h-3.5"})})]},g))]})}case"text":case"email":case"password":default:return e.jsxs("div",{className:"relative",children:[m&&e.jsx("div",{className:"absolute left-3 sm:left-4 top-1/2 -translate-y-1/2 pointer-events-none",children:e.jsx(m,{className:"w-4 h-4 sm:w-5 sm:h-5 text-slate-400"})}),e.jsx("input",{type:a.type,value:a.displayValue??s??"",onChange:l=>o(a.name,l.target.value),placeholder:a.placeholder,disabled:a.disabled,className:`${D} ${X} ${m?"pl-12":""} placeholder-slate-400 disabled:opacity-50 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-violet-500/20`})]})}};return e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block",children:e.jsxs("span",{className:"text-sm font-semibold text-slate-700 dark:text-slate-300 flex items-center space-x-1",children:[e.jsx("span",{children:a.label}),a.required&&e.jsx("span",{className:"text-red-500 dark:text-red-400",children:"*"})]})}),e.jsx("div",{className:"mt-2",children:A()}),n&&e.jsxs("p",{className:"text-xs sm:text-sm text-red-600 dark:text-red-400 flex items-center gap-1.5 animate-in slide-in-from-top-1 duration-200",children:[e.jsx(y.AlertCircle,{className:"w-3.5 h-3.5 flex-shrink-0"}),e.jsx("span",{children:n})]}),a.helpText&&!n&&e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:a.helpText})]})},dt=({fields:a=[],initialData:s={},onSubmit:o,onCancel:n,onEdit:h,onFieldChange:b,submitButtonText:c="Submit",cancelButtonText:x="Cancel",editButtonText:k="Edit",showEditingBadge:N=!1,editingEntity:T="",helpText:S="All fields marked with * are required",isModal:E=!0,mode:$="edit",disabled:P=!1,renderCustomField:p})=>{const F=j.useRef(!0),[i,L]=j.useState(()=>{const d={};return(typeof a=="function"?a(s):a).forEach(_=>{d[_.name]=s[_.name]||""}),d}),[G,J]=j.useState({}),W=$==="view",se=W?!0:!E;j.useEffect(()=>{if(F.current){F.current=!1;return}if(s&&Object.keys(s).length>0&&s.id){const w={};(typeof a=="function"?a(i):a).forEach(A=>{w[A.name]=s[A.name]||""}),L(w)}},[s.id]);const re=typeof a=="function"?a(i):a,ee=(d,w)=>{if(W)return;const _={...i,[d]:w};L(_);const A={...G};delete A[d],re.forEach(H=>{var m;if((m=H.validation)!=null&&m.custom&&A[H.name]){const D=H.name===d?w:i[H.name];H.validation.custom(D,_)===!0&&delete A[H.name]}}),J(A),b&&b(d,w,_)},M=()=>{if(W)return!0;const d={};return re.forEach(w=>{const _=i[w.name],A=w.isHtml?!(_||"").replace(/<[^>]*>/g,"").trim():!_;if(w.required&&A){d[w.name]=`${w.label} is required`;return}if(w.validation&&_){const{minLength:H,maxLength:m,pattern:D,custom:X}=w.validation,ae=w.isHtml?(_||"").replace(/<[^>]*>/g,"").trim():_;if(H&&ae.length<H){d[w.name]=`Minimum ${H} characters required`;return}if(m&&ae.length>m){d[w.name]=`Maximum ${m} characters allowed`;return}if(D&&!D.test(_)){d[w.name]=w.validation.patternMessage||w.validation.message||"Invalid format";return}if(X){const oe=X(_,i);if(oe!==!0){d[w.name]=typeof oe=="string"?oe:w.validation.message||"Validation failed";return}}}}),J(d),Object.keys(d).length===0},Q=d=>{d.preventDefault(),!W&&M()&&o(i)};return e.jsxs("form",{onSubmit:Q,className:"flex flex-col h-full max-h-[75vh] sm:max-h-[70vh]",children:[e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 pt-4 sm:px-5 sm:pt-5",children:[W&&e.jsxs("div",{className:`mb-4 flex items-center gap-3 p-3 sm:p-3.5 rounded-xl
337
+ bg-blue-50 border border-blue-200
338
+ dark:bg-blue-600/10 dark:border-blue-500/30`,children:[e.jsx("div",{className:"flex-shrink-0 p-1.5 rounded-lg bg-blue-600 dark:bg-blue-500",children:e.jsx(y.Check,{className:"w-3.5 h-3.5 text-white"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white leading-tight",children:"View Mode"}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 leading-snug",children:"Read-only — no changes will be saved"})]})]}),!W&&N&&T&&e.jsxs("div",{className:`mb-4 flex items-center gap-3 p-3 sm:p-3.5 rounded-xl
339
+ bg-violet-50 border border-violet-200
340
+ dark:bg-violet-600/10 dark:border-violet-500/30`,children:[e.jsx("span",{className:"flex-shrink-0 w-2 h-2 rounded-full bg-violet-500 animate-pulse"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-white leading-tight",children:"Editing Mode"}),e.jsxs("p",{className:"text-xs text-slate-500 dark:text-slate-400 truncate",children:["Modifying:"," ",e.jsx("span",{className:"font-semibold text-violet-600 dark:text-violet-400",children:T})]})]})]}),e.jsx("div",{className:"space-y-4 pb-4",children:re.map((d,w)=>{const _=i[d.name],A=G[d.name];if(p){const H=p({field:d,value:_,error:A,index:w,mode:$,disabled:W||d.disabled||P,onChange:ee});if(H)return e.jsx("div",{children:H},d.name||w)}return e.jsx(Ne,{field:{...d,disabled:W||d.disabled||P},value:_,onChange:ee,error:A,mode:$},d.name||w)})})]}),e.jsxs("div",{className:`flex-shrink-0 bg-white dark:bg-slate-800
341
+ border-t border-slate-200 dark:border-slate-700
342
+ px-4 py-3 sm:px-5 sm:py-4`,children:[W?e.jsxs("div",{className:`flex ${E?"flex-col-reverse sm:flex-row":"flex-row"} gap-2.5`,children:[se&&n&&e.jsxs("button",{type:"button",onClick:n,className:`${E?"flex-1 sm:flex-none":"w-auto"}
343
+ flex items-center justify-center gap-2
344
+ px-4 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200
345
+ bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200
346
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300 dark:border-slate-600
347
+ hover:scale-[1.02] active:scale-[0.98]`,children:[e.jsx(y.X,{className:"w-4 h-4"}),e.jsx("span",{children:"Close"})]}),h&&e.jsxs("button",{type:"button",onClick:h,className:`${E?"flex-1":"w-auto"}
348
+ flex items-center justify-center gap-2
349
+ px-4 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200
350
+ bg-gradient-to-r from-violet-600 to-indigo-600
351
+ hover:from-violet-700 hover:to-indigo-700
352
+ text-white shadow-md hover:shadow-lg
353
+ hover:scale-[1.02] active:scale-[0.98]`,children:[e.jsx(y.Edit,{className:"w-4 h-4"}),e.jsx("span",{children:k})]})]}):e.jsxs("div",{className:`flex ${E?"flex-col-reverse sm:flex-row":"flex-row justify-start"} gap-2.5`,children:[n&&e.jsxs("button",{type:"button",onClick:n,disabled:P,className:`${E?"flex-1 sm:flex-none":"w-auto"}
354
+ flex items-center justify-center gap-2
355
+ px-4 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200
356
+ bg-slate-100 hover:bg-slate-200 text-slate-700 border border-slate-200
357
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300 dark:border-slate-600
358
+ disabled:opacity-50 disabled:cursor-not-allowed
359
+ hover:scale-[1.02] active:scale-[0.98]`,children:[e.jsx(y.X,{className:"w-4 h-4"}),e.jsx("span",{children:x})]}),e.jsxs("button",{type:"submit",disabled:P,className:`${E?"flex-1":"w-auto"}
360
+ flex items-center justify-center gap-2
361
+ px-4 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200
362
+ bg-gradient-to-r from-violet-600 to-indigo-600
363
+ hover:from-violet-700 hover:to-indigo-700
364
+ text-white shadow-md hover:shadow-lg
365
+ disabled:opacity-50 disabled:cursor-not-allowed
366
+ hover:scale-[1.02] active:scale-[0.98] disabled:hover:scale-100`,children:[P?e.jsx("span",{className:"w-4 h-4 rounded-full border-2 border-white/30 border-t-white animate-spin flex-shrink-0"}):e.jsx(y.Check,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{children:P?"Saving...":c})]})]}),!W&&S&&e.jsx("p",{className:"mt-2.5 text-xs text-slate-400 dark:text-slate-500 text-center",children:S})]})]})},Re=({isOpen:a,onClose:s,onSelect:o,options:n=[],selectedValue:h,title:b="Select Option",subtitle:c="Choose from the list below",icon:x,searchable:k=!0,searchPlaceholder:N="Search options..."})=>{const[T,S]=j.useState(""),E=j.useRef(null);j.useEffect(()=>{const p=F=>{F.key==="Escape"&&s()};return a&&(document.addEventListener("keydown",p),k&&E.current&&setTimeout(()=>{var F;return(F=E.current)==null?void 0:F.focus()},100)),()=>document.removeEventListener("keydown",p)},[a,s,k]);const $=T?n.filter(p=>p.label.toLowerCase().includes(T.toLowerCase())):n,P=p=>{o(p),s(),S("")};return a?e.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4 animate-in fade-in duration-200",children:[e.jsx("div",{className:"absolute inset-0 bg-slate-900/60 backdrop-blur-sm",onClick:s}),e.jsx("div",{className:"relative w-full max-w-md animate-in zoom-in-95 duration-200",children:e.jsxs("div",{className:"rounded-2xl border overflow-hidden bg-white border-slate-200/50 shadow-2xl dark:bg-slate-800 dark:border-slate-700/50 max-h-[80vh] flex flex-col",children:[e.jsxs("div",{className:"flex-shrink-0 px-6 py-5 bg-gradient-to-r from-violet-50 via-indigo-50 to-violet-50 border-b border-slate-200 dark:bg-gradient-to-r dark:from-slate-700/50 dark:via-slate-800/50 dark:to-slate-700/50 dark:border-slate-700",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[x&&e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-violet-600 to-indigo-600 shadow-lg",children:e.jsx(x,{className:"w-6 h-6 text-white"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-bold text-slate-900 dark:text-white",children:b}),c&&e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mt-0.5",children:c})]})]}),e.jsx("button",{onClick:s,className:"p-2 rounded-lg border transition-all duration-200 text-slate-400 hover:bg-slate-100 hover:text-slate-900 border-slate-300 hover:border-slate-400 dark:border-slate-600 dark:hover:bg-slate-700 dark:hover:text-white dark:hover:border-slate-500",children:e.jsx(y.X,{className:"w-5 h-5"})})]}),k&&e.jsxs("div",{className:"mt-4 relative",children:[e.jsx(y.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400 dark:text-slate-500"}),e.jsx("input",{ref:E,type:"text",value:T,onChange:p=>S(p.target.value),placeholder:N,className:`w-full pl-11 pr-4 py-3 rounded-xl border transition-all duration-200
367
+ bg-white border-slate-200 text-slate-900 placeholder-slate-400
368
+ focus:border-violet-400 focus:bg-slate-50
369
+ dark:bg-slate-700/50 dark:border-slate-600 dark:text-white dark:placeholder-slate-500
370
+ dark:focus:border-violet-500 dark:focus:bg-slate-700
371
+ focus:outline-none focus:ring-2 focus:ring-violet-500/20`})]})]}),e.jsx("div",{className:"flex-grow overflow-y-auto custom-scrollbar",children:$.length>0?e.jsx("div",{className:"p-3 space-y-1",children:$.map(p=>{const F=p.value===h;return e.jsxs("button",{type:"button",onClick:()=>P(p.value),className:`w-full px-4 py-3.5 rounded-xl text-left flex items-center justify-between transition-all duration-200 group
372
+ ${F?"bg-gradient-to-r from-violet-600 to-indigo-600 text-white shadow-lg shadow-violet-500/30 dark:shadow-violet-900/30":"text-slate-700 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-700/50"}`,children:[e.jsx("span",{className:"font-medium",children:p.label}),F&&e.jsx("div",{className:"w-6 h-6 rounded-full bg-white/20 flex items-center justify-center",children:e.jsx(y.Check,{className:"w-4 h-4 text-white"})})]},p.value)})}):e.jsxs("div",{className:"px-4 py-12 text-center",children:[e.jsx("div",{className:"w-16 h-16 mx-auto mb-4 rounded-full bg-slate-100 dark:bg-slate-700/50 flex items-center justify-center",children:e.jsx(y.Search,{className:"w-8 h-8 text-slate-400 dark:text-slate-500"})}),e.jsx("p",{className:"text-sm font-semibold text-slate-600 dark:text-slate-400",children:"No options found"}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-500 mt-1",children:"Try adjusting your search terms"})]})}),e.jsx("div",{className:"flex-shrink-0 px-6 py-3 border-t border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-800/50",children:e.jsxs("p",{className:"text-xs text-slate-500 dark:text-slate-400 text-center",children:[$.length," option",$.length!==1?"s":""," available"]})})]})})]}):null},ct=({value:a,onChange:s,options:o=[],placeholder:n="Select an option",label:h,icon:b,required:c=!1,disabled:x=!1,error:k,searchable:N=!0,name:T,modalTitle:S,modalSubtitle:E})=>{const[$,P]=j.useState(!1),p=o.find(L=>L.value===a),F=(p==null?void 0:p.label)||n,i=L=>{s(T,L)};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[h&&e.jsxs("label",{className:"flex items-center text-sm font-semibold text-slate-700 dark:text-slate-300",children:[b&&e.jsx(b,{className:"w-4 h-4 mr-2 text-violet-600 dark:text-violet-400"}),h,c&&e.jsx("span",{className:"text-red-500 ml-1",children:"*"})]}),e.jsxs("button",{type:"button",onClick:()=>!x&&P(!0),disabled:x,className:`w-full px-4 py-3 rounded-xl border transition-all duration-200 flex items-center justify-between text-left
373
+ ${k?"border-red-500 focus:border-red-500 focus:ring-red-500/20":"border-slate-200 focus:border-violet-400 dark:border-slate-600 dark:focus:border-violet-500"}
374
+ ${x?"opacity-50 cursor-not-allowed bg-slate-100 dark:bg-slate-800":"bg-slate-50 hover:bg-white dark:bg-slate-700/50 dark:hover:bg-slate-700 cursor-pointer"}
375
+ text-slate-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-violet-500/20`,children:[e.jsx("span",{className:`text-sm ${a?"":"text-slate-400 dark:text-slate-500"}`,children:F}),e.jsx(y.ChevronRight,{className:"w-5 h-5 text-slate-400 dark:text-slate-500"})]}),!k&&a&&e.jsxs("div",{className:"flex items-center space-x-2 mt-2",children:[e.jsx("div",{className:"w-5 h-5 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center",children:e.jsx(y.Check,{className:"w-3 h-3 text-green-600 dark:text-green-400"})}),e.jsx("span",{className:"text-xs text-green-600 dark:text-green-400 font-medium",children:"Selected"})]}),k&&e.jsx("p",{className:"text-xs text-red-500 flex items-center space-x-1 mt-1",children:e.jsx("span",{children:k})})]}),e.jsx(Re,{isOpen:$,onClose:()=>P(!1),onSelect:i,options:o,selectedValue:a,title:S||h||"Select Option",subtitle:E||`Choose from ${o.length} options`,icon:b,searchable:N})]})},xt=({steps:a=[],initialData:s={},onSubmit:o,onCancel:n,onEdit:h,onStepChange:b,submitButtonText:c="Submit",cancelButtonText:x="Cancel",editButtonText:k="Edit Record",showEditingBadge:N=!1,editingEntity:T="",helpText:S="All fields marked with * are required",isModal:E=!0,mode:$="create"})=>{var l;const P=j.useRef(null),[p,F]=j.useState(0),[i,L]=j.useState(()=>typeof window<"u"?window.innerWidth>=1024:!0),[G,J]=j.useState(()=>{const f=typeof a=="function"?a(s):a,g={};return f.forEach(R=>{R.fields&&R.fields.forEach(O=>{g[O.name]=s[O.name]||""})}),g}),[W,se]=j.useState({}),[re,ee]=j.useState(new Set([0])),M=$==="view",Q=$==="edit",d=typeof a=="function"?a(G):a;j.useEffect(()=>{b&&b(p,G)},[p,G,b]);const w=()=>{var f;(f=P.current)==null||f.scrollTo({top:0,behavior:"smooth"})},_=(f,g)=>{if(M)return;const O=d.flatMap(Y=>Y.fields||[]).find(Y=>Y.name===f);J(Y=>{const te={...Y,[f]:g};return O!=null&&O.resetFieldsOnChange&&O.resetFieldsOnChange.forEach(ie=>{te[ie]=""}),te}),W[f]&&se(Y=>({...Y,[f]:""})),O!=null&&O.onChange&&O.onChange(f,g)},A=f=>{if(M)return!0;const g={},R=d[f];if(R.customValidator){const O=R.customValidator(f,G);Object.assign(g,O)}return R.fields&&R.fields.length>0&&R.fields.forEach(O=>{const Y=G[O.name];if(O.required&&!Y){g[O.name]=`${O.label} is required`;return}if(Y&&O.validation){const{minLength:te,maxLength:ie,pattern:v,min:de,max:xe,custom:ge}=O.validation;te&&Y.length<te&&(g[O.name]=`Minimum ${te} characters required`),ie&&Y.length>ie&&(g[O.name]=`Maximum ${ie} characters allowed`),v&&!v.test(Y)&&(g[O.name]=O.validation.message||"Invalid format"),de!==void 0&&parseFloat(Y)<de&&(g[O.name]=O.validation.message||`Minimum value is ${de}`),xe!==void 0&&parseFloat(Y)>xe&&(g[O.name]=O.validation.message||`Maximum value is ${xe}`),ge&&!ge(Y)&&(g[O.name]=O.validation.message||"Validation failed")}}),se(g),Object.keys(g).length===0},H=f=>{if(f.preventDefault(),f.stopPropagation(),A(p)){const g=p+1;F(g),ee(R=>new Set([...R,g])),w()}},m=f=>{f.preventDefault(),f.stopPropagation(),F(g=>g-1),w()},D=f=>{if(typeof window<"u"&&window.innerWidth<1024&&L(!1),M){F(f),ee(g=>new Set([...g,f])),w();return}(re.has(f)||f===p+1)&&(f>p?A(p)&&(F(f),ee(g=>new Set([...g,f])),w()):(F(f),w()))},X=f=>{f.preventDefault(),!M&&A(p)&&o(G)},ae=p===d.length-1,oe=p===0;return e.jsxs("form",{onSubmit:X,className:"flex h-full overflow-hidden relative",children:[i&&e.jsx("div",{className:"lg:hidden absolute inset-0 z-20 bg-black/40 backdrop-blur-[1px]",onClick:()=>L(!1)}),e.jsxs("div",{className:`
376
+ overflow-hidden transition-all duration-300 ease-in-out
377
+ border-r border-slate-200 dark:border-slate-700
378
+ absolute z-30 h-full bg-white dark:bg-slate-800
379
+ lg:relative lg:flex-shrink-0 lg:z-auto lg:h-auto lg:bg-transparent dark:lg:bg-transparent
380
+ ${i?"w-52 lg:w-56":"w-0 lg:w-10"}
381
+ `,children:[!i&&e.jsxs("div",{className:"flex flex-col h-full items-center justify-between py-4 px-2 gap-3",children:[e.jsx("div",{className:"flex flex-col items-center gap-2 flex-1 justify-center",children:d.map((f,g)=>{const R=g===p,O=g<p;return e.jsx("button",{type:"button",onClick:()=>D(g),title:d[g].title,className:`
382
+ rounded-full transition-all duration-300 flex-shrink-0
383
+ ${O?"w-2 h-2 bg-emerald-500 shadow-sm":R?M?"w-2.5 h-2.5 bg-blue-500 shadow-md ring-2 ring-blue-300/40 dark:ring-blue-600/40":"w-2.5 h-2.5 bg-violet-500 shadow-md ring-2 ring-violet-300/40 dark:ring-violet-600/40":"w-2 h-2 bg-slate-300 dark:bg-slate-600 hover:bg-slate-400"}
384
+ `},g)})}),e.jsx("div",{className:"w-1 h-16 bg-slate-200/60 dark:bg-slate-700/60 rounded-full overflow-hidden",children:e.jsx("div",{className:`w-full rounded-full transition-all duration-500 ${M?"bg-blue-500":"bg-gradient-to-b from-violet-500 to-indigo-500"}`,style:{height:`${(p+1)/d.length*100}%`}})})]}),i&&e.jsxs("div",{className:"h-full flex flex-col px-3 sm:px-4 pt-4 pb-4 overflow-y-auto",children:[e.jsx("div",{className:"flex-1 space-y-1.5 mb-4",children:d.map((f,g)=>{const R=g===p,O=(M||re.has(g))&&g<p,Y=M?!0:re.has(g)||g===p+1,te=f.icon;return e.jsx("button",{type:"button",onClick:()=>Y&&D(g),disabled:!Y,className:`
385
+ w-full p-3 rounded-xl transition-all duration-200 text-left
386
+ ${R?M?"bg-gradient-to-r from-blue-600 to-cyan-600 text-white shadow-md scale-[1.01]":"bg-gradient-to-r from-violet-600 to-indigo-600 text-white shadow-md scale-[1.01]":O?"bg-white dark:bg-slate-800/50 border border-emerald-200 dark:border-emerald-500/30 hover:shadow-sm":Y?"bg-white dark:bg-slate-800/50 border border-slate-200 dark:border-slate-700 hover:shadow-sm":"bg-slate-100 dark:bg-slate-800/30 border border-slate-200 dark:border-slate-700 opacity-50 cursor-not-allowed"}
387
+ `,children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:`
388
+ w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0 transition-all
389
+ ${R?"bg-white/20":O?"bg-emerald-100 dark:bg-emerald-500/20":"bg-slate-100 dark:bg-slate-700"}
390
+ `,children:O&&!R?e.jsx(y.CheckCircle,{className:"w-4 h-4 text-emerald-600 dark:text-emerald-400"}):e.jsx(te,{className:`w-4 h-4 ${R?"text-white":Y?M?"text-blue-600 dark:text-blue-400":"text-violet-600 dark:text-violet-400":"text-slate-400 dark:text-slate-500"}`})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[e.jsxs("span",{className:`text-[10px] font-semibold uppercase tracking-wider ${R?"text-white/70":"text-slate-400 dark:text-slate-500"}`,children:[M?"§":"#",g+1]}),O&&!R&&!M&&e.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-[10px] font-semibold bg-emerald-100 text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-400",children:"✓"})]}),e.jsx("p",{className:`text-xs font-semibold truncate leading-tight ${R?"text-white":O?"text-slate-900 dark:text-white":Y?"text-slate-700 dark:text-slate-300":"text-slate-400 dark:text-slate-500"}`,children:f.title}),f.subtitle&&e.jsx("p",{className:`text-[10px] mt-0.5 line-clamp-1 leading-snug ${R?"text-white/75":"text-slate-400 dark:text-slate-500"}`,children:f.subtitle})]})]})},g)})}),!M&&S&&e.jsx("div",{className:"p-3 rounded-xl bg-blue-50 border border-blue-200 dark:bg-blue-900/20 dark:border-blue-800/30 flex-shrink-0",children:e.jsxs("p",{className:"text-[11px] text-slate-600 dark:text-slate-400 leading-relaxed",children:[e.jsx("span",{className:"font-semibold text-blue-600 dark:text-blue-400",children:"Tip: "}),S]})})]})]}),e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 relative",children:[e.jsxs("div",{className:`lg:hidden flex-shrink-0 flex items-center gap-2.5 px-3.5 py-2
391
+ border-b border-slate-200 dark:border-slate-700
392
+ bg-white dark:bg-slate-800`,children:[e.jsx("button",{type:"button",onClick:()=>L(!i),className:`p-2.5 rounded-lg border border-slate-200 dark:border-slate-600
393
+ bg-white dark:bg-slate-700 text-slate-500 dark:text-slate-400
394
+ hover:bg-violet-50 hover:border-violet-300 hover:text-violet-600
395
+ dark:hover:bg-violet-900/30 dark:hover:border-violet-600 dark:hover:text-violet-400
396
+ transition-all duration-200 active:scale-95`,"aria-label":"Toggle steps",children:i?e.jsx(y.ChevronLeft,{className:"w-4 h-4"}):e.jsx(y.ChevronRight,{className:"w-4 h-4"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-xs font-semibold text-slate-700 dark:text-slate-300 truncate",children:d[p].title}),e.jsxs("p",{className:`text-[10px] font-medium ${M?"text-blue-500":"text-violet-500"}`,children:[M?"Section":"Step"," ",p+1,"/",d.length]})]}),e.jsx("div",{className:"w-16 h-1.5 bg-slate-200 dark:bg-slate-700 rounded-full overflow-hidden flex-shrink-0",children:e.jsx("div",{className:`h-1.5 rounded-full transition-all duration-300 ${M?"bg-blue-500":"bg-gradient-to-r from-violet-500 to-indigo-500"}`,style:{width:`${(p+1)/d.length*100}%`}})})]}),e.jsx("button",{type:"button",onClick:()=>L(!i),className:`hidden lg:flex absolute left-0 top-5 -translate-x-[1.625rem] z-20
397
+ w-6 h-6 lg:w-7 lg:h-7 rounded-full
398
+ bg-white dark:bg-slate-800
399
+ border border-slate-200 dark:border-slate-600
400
+ shadow-md hover:shadow-lg
401
+ items-center justify-center
402
+ hover:bg-violet-50 dark:hover:bg-violet-900/30
403
+ hover:border-violet-300 dark:hover:border-violet-600
404
+ hover:scale-110 active:scale-95
405
+ transition-all duration-200 group`,"aria-label":i?"Collapse steps":"Expand steps",children:i?e.jsx(y.ChevronLeft,{className:"w-3 h-3 lg:w-3.5 lg:h-3.5 text-slate-400 group-hover:text-violet-500 transition-colors"}):e.jsx(y.ChevronRight,{className:"w-3 h-3 lg:w-3.5 lg:h-3.5 text-slate-400 group-hover:text-violet-500 transition-colors"})}),e.jsx("div",{ref:P,className:"flex-1 min-h-0 overflow-y-auto px-3.5 sm:px-5 lg:px-6 py-4 sm:py-5",children:e.jsx("div",{className:"space-y-4 sm:space-y-5 w-full",children:d[p].customRender?M&&d[p].customViewRender?e.jsx("div",{className:"w-full",children:typeof d[p].customViewRender=="function"?d[p].customViewRender():d[p].customViewRender}):e.jsx("div",{className:"w-full",children:typeof d[p].customRender=="function"?d[p].customRender({formData:G,errors:W,handleChange:_,mode:$}):d[p].customRender}):(l=d[p].fields)==null?void 0:l.map((f,g)=>e.jsx(Ne,{index:g,field:{...f,disabled:M||f.disabled},value:G[f.name],onChange:_,error:W[f.name],mode:$},f.name||g))})}),e.jsx("div",{className:`flex-shrink-0 px-4 py-3 sm:px-5 sm:py-3.5
406
+ border-t border-slate-200 dark:border-slate-700
407
+ bg-white dark:bg-slate-800`,children:e.jsxs("div",{className:"flex items-center justify-between gap-2.5",children:[oe?e.jsx("div",{}):e.jsxs("button",{type:"button",onClick:m,className:`inline-flex items-center gap-2 px-3.5 py-2.5 sm:px-4 sm:py-2.5
408
+ rounded-xl text-sm font-semibold transition-all duration-200
409
+ bg-white hover:bg-slate-50 text-slate-700
410
+ border border-slate-200 dark:border-slate-600
411
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300
412
+ shadow-sm hover:shadow-md hover:scale-105 active:scale-95`,children:[e.jsx(y.ChevronLeft,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:Q?void 0:"hidden sm:inline",children:"Previous"})]}),e.jsx("div",{className:"flex-1"}),e.jsx("div",{className:"flex items-center gap-2",children:M?e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:n,className:`hidden sm:inline-flex items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
413
+ rounded-xl text-sm font-semibold transition-all duration-200
414
+ bg-white hover:bg-slate-50 text-slate-700
415
+ border border-slate-200 dark:border-slate-600
416
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300
417
+ shadow-sm hover:shadow-md hover:scale-105 active:scale-95`,children:[e.jsx(y.X,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:"Close"})]}),!ae&&e.jsxs("button",{type:"button",onClick:H,className:`inline-flex items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
418
+ rounded-xl text-sm font-semibold transition-all duration-200
419
+ bg-white hover:bg-slate-50 text-slate-700
420
+ border border-slate-200 dark:border-slate-600
421
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300
422
+ shadow-sm hover:shadow-md hover:scale-105 active:scale-95`,children:[e.jsx("span",{className:"hidden sm:inline",children:"Next"}),e.jsx(y.ChevronRight,{className:"w-4 h-4 flex-shrink-0"})]}),h&&e.jsxs("button",{type:"button",onClick:h,className:`inline-flex items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
423
+ rounded-xl text-sm font-semibold transition-all duration-200
424
+ bg-gradient-to-r from-violet-600 to-indigo-600
425
+ hover:from-violet-700 hover:to-indigo-700
426
+ text-white shadow-md hover:shadow-lg
427
+ hover:scale-105 active:scale-95`,children:[e.jsx(y.Edit,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:k}),e.jsx("span",{className:"sm:hidden",children:"Edit"})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:n,className:`
428
+ items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
429
+ rounded-xl text-sm font-semibold transition-all duration-200
430
+ bg-white hover:bg-slate-50 text-slate-700
431
+ border border-slate-200 dark:border-slate-600
432
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300
433
+ shadow-sm hover:shadow-md hover:scale-105 active:scale-95
434
+ ${Q?"hidden sm:inline-flex":"inline-flex"}
435
+ `,children:[e.jsx(y.X,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{className:"hidden sm:inline",children:x})]}),ae?e.jsxs("button",{type:"submit",className:`inline-flex items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
436
+ rounded-xl text-sm font-semibold transition-all duration-200
437
+ bg-gradient-to-r from-violet-600 to-indigo-600
438
+ hover:from-violet-700 hover:to-indigo-700
439
+ text-white shadow-md hover:shadow-lg
440
+ hover:scale-105 active:scale-95`,children:[e.jsx(y.Check,{className:"w-4 h-4 flex-shrink-0"}),e.jsx("span",{children:c})]}):e.jsxs("button",{type:"button",onClick:H,className:`inline-flex items-center gap-1.5 px-3.5 py-2.5 sm:px-4 sm:py-2.5
441
+ rounded-xl text-sm font-semibold transition-all duration-200
442
+ bg-white hover:bg-slate-50 text-slate-700
443
+ border border-slate-200 dark:border-slate-600
444
+ dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-300
445
+ shadow-sm hover:shadow-md hover:scale-105 active:scale-95`,children:[e.jsx("span",{children:"Next"}),e.jsx(y.ChevronRight,{className:"w-4 h-4 flex-shrink-0"})]})]})})]})})]})]})},mt=({header:a,error:s=null,errorDescription:o=null,onErrorClose:n,children:h,loading:b=!1,loadingMessage:c="Loading data..."})=>e.jsx("div",{className:"h-full w-full flex flex-col overflow-hidden p-2.5 sm:p-3.5",children:e.jsxs("div",{className:"flex flex-col gap-2.5 sm:gap-3 h-full overflow-hidden",children:[a&&e.jsx("div",{className:"flex-shrink-0",children:a}),s&&e.jsx("div",{className:`
446
+ flex-shrink-0 rounded-xl border overflow-hidden
447
+ bg-red-50 border-red-200/70 shadow-sm
448
+ dark:bg-red-900/20 dark:border-red-800/40
449
+ animate-in slide-in-from-top-2 duration-200
450
+ `,children:e.jsx("div",{className:"px-3.5 py-2.5 sm:px-4 sm:py-3",children:e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:`
451
+ flex-shrink-0 w-7 h-7 sm:w-8 sm:h-8 rounded-lg mt-0.5
452
+ bg-red-100 dark:bg-red-800/30
453
+ flex items-center justify-center
454
+ `,children:e.jsx(y.AlertTriangle,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4 text-red-600 dark:text-red-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-red-800 dark:text-red-300 leading-snug",children:s}),o&&e.jsx("p",{className:"mt-0.5 text-xs text-red-700/80 dark:text-red-400 leading-relaxed",children:o})]}),n&&e.jsx("button",{onClick:n,className:`flex-shrink-0 p-2 rounded-lg mt-0.5
455
+ text-red-400 transition-all duration-200
456
+ hover:bg-red-100 hover:text-red-600
457
+ dark:hover:bg-red-800/50 dark:hover:text-red-300
458
+ hover:scale-105 active:scale-95`,"aria-label":"Dismiss error",children:e.jsx(y.X,{className:"w-3.5 h-3.5"})})]})})}),e.jsx("div",{className:"flex-grow min-h-0 overflow-y-auto",children:b?e.jsx("div",{className:`
459
+ h-full flex items-center justify-center
460
+ rounded-xl sm:rounded-2xl border
461
+ bg-white border-slate-200/60 shadow-sm
462
+ dark:bg-slate-800/50 dark:border-slate-700/50
463
+ `,children:e.jsxs("div",{className:"flex flex-col items-center gap-3 px-6 py-10",children:[e.jsxs("div",{className:"relative w-9 h-9",children:[e.jsx("div",{className:"absolute inset-0 rounded-full border-[2.5px] border-slate-200 dark:border-slate-700"}),e.jsx("div",{className:`absolute inset-0 rounded-full border-[2.5px] border-transparent
464
+ border-t-violet-600 dark:border-t-violet-400 animate-spin`})]}),e.jsx("div",{className:"flex items-center gap-1",children:[0,120,240].map(x=>e.jsx("span",{className:`w-1 h-1 rounded-full bg-gradient-to-r from-violet-500 to-indigo-500
465
+ animate-bounce`,style:{animationDelay:`${x}ms`}},x))}),e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400",children:c})]})}):h})]})}),ht=({message:a="Loading...",supportingMessage:s=!1,title:o="Loading Data",className:n="",size:h="lg"})=>{const b={sm:"h-7 w-7 border-2",md:"h-9 w-9 border-[3px]",lg:"h-10 w-10 sm:h-12 sm:w-12 border-[3px] sm:border-[4px]",xl:"h-12 w-12 sm:h-16 sm:w-16 border-[4px]"};return e.jsxs("div",{className:`flex flex-col items-center justify-center h-full w-full text-center px-4 ${n}`,children:[e.jsx("div",{className:`animate-spin rounded-full ${b[h]}
466
+ border-slate-200 border-t-violet-500 border-r-violet-500 mb-4`}),e.jsx("div",{className:"flex items-center gap-1 mb-3",children:[0,120,240].map(c=>e.jsx("span",{className:"w-1 h-1 rounded-full bg-gradient-to-r from-violet-500 to-indigo-500 animate-bounce",style:{animationDelay:`${c}ms`}},c))}),e.jsx("h3",{className:"text-sm sm:text-base font-semibold text-slate-900 dark:text-slate-200 mb-1",children:o}),e.jsx("p",{className:"text-xs sm:text-sm text-slate-500 dark:text-slate-400 max-w-xs",children:s||a})]})},ut=({error:a,errorDescription:s,onClose:o})=>a?e.jsx("div",{className:`mx-4 mt-3 sm:mx-5 sm:mt-4 rounded-xl border
467
+ border-red-200 bg-red-50
468
+ dark:bg-red-900/20 dark:border-red-800/50
469
+ animate-in slide-in-from-top-1 duration-200`,children:e.jsx("div",{className:"px-3.5 py-3 sm:px-4",children:e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:`flex-shrink-0 w-7 h-7 rounded-lg mt-0.5
470
+ bg-red-100 dark:bg-red-800/30
471
+ flex items-center justify-center`,children:e.jsx(y.AlertTriangle,{className:"w-3.5 h-3.5 text-red-600 dark:text-red-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-red-800 dark:text-red-300 leading-snug",children:a}),s&&e.jsx("p",{className:"mt-0.5 text-xs text-red-700/80 dark:text-red-400 leading-relaxed",children:s})]}),o&&e.jsx("button",{type:"button",onClick:o,"aria-label":"Close error",className:`flex-shrink-0 p-1 rounded-lg mt-0.5 transition-all duration-200
472
+ text-red-400
473
+ hover:bg-red-100 hover:text-red-600
474
+ dark:hover:bg-red-800/50 dark:hover:text-red-300
475
+ hover:scale-105 active:scale-95`,children:e.jsx(y.X,{className:"w-3.5 h-3.5"})})]})})}):null,bt=({content:a,className:s="",emptyText:o=null,size:n="md"})=>{if(!a||!a.replace(/<[^>]*>/g,"").trim())return o?e.jsx("span",{className:"text-slate-400 dark:text-slate-500 text-sm italic",children:o}):null;const h={xs:"prose-xs text-xs",sm:"prose-sm text-sm",md:"prose-base text-base"}[n]||"prose-sm text-sm";return e.jsx("div",{className:`
476
+ prose ${h} max-w-none
477
+ text-slate-700 dark:text-slate-300
478
+
479
+ [&>*]:my-0.5
480
+ [&>p]:m-0
481
+
482
+ [&>h1]:text-2xl [&>h1]:font-bold [&>h1]:mt-2
483
+ [&>h2]:text-xl [&>h2]:font-semibold [&>h2]:mt-2
484
+ [&>h3]:text-lg [&>h3]:font-semibold
485
+ [&>h4]:text-base [&>h4]:font-semibold
486
+
487
+ [&>ul]:list-disc [&>ul]:pl-4
488
+ [&>ol]:list-decimal [&>ol]:pl-4
489
+
490
+ [&>strong]:font-semibold
491
+
492
+ ${s}
493
+ `,dangerouslySetInnerHTML:{__html:a}})};let B=null;const ft=({items:a=[],onReorder:s,onDropFrom:o,onDropTo:n,listId:h="default",disabled:b=!1,renderItem:c,className:x="",dropZoneClassName:k="",activeDropZoneClassName:N="",children:T,footer:S=null})=>{const E=j.useRef(null),[$,P]=j.useState(null),[p,F]=j.useState(!1),[i,L]=j.useState(null);j.useEffect(()=>{const d=()=>{B&&(B=null,L(null),P(null),F(!1),E.current=null)};return document.addEventListener("dragend",d),()=>document.removeEventListener("dragend",d)},[]);const G=(d,w)=>{E.current=w,L(a[w].id),B={listId:h,index:w,item:a[w]},d.dataTransfer.effectAllowed="move"},J=(d,w)=>{d.preventDefault(),(B==null?void 0:B.listId)===h&&P(w)},W=()=>{E.current=null,L(null),P(null),F(!1),B=null},se=d=>{d.preventDefault(),!b&&(B==null?void 0:B.listId)!==h&&F(!0)},re=d=>{d.currentTarget.contains(d.relatedTarget)||(F(!1),(B==null?void 0:B.listId)===h&&P(null))},ee=(d,w)=>{if(d.preventDefault(),d.stopPropagation(),!!B){if(B.listId===h){const _=E.current;if(_===w){W();return}const A=[...a],[H]=A.splice(_,1);A.splice(w,0,H),s==null||s(A)}else o==null||o({item:B.item,fromListId:B.listId,toIndex:w}),n==null||n({item:B.item,fromIndex:B.index});W()}},M=d=>{if(d.preventDefault(),!!B){if(B.listId===h){W();return}o==null||o({item:B.item,fromListId:B.listId,toIndex:a.length}),n==null||n({item:B.item,fromIndex:B.index}),W()}},Q=p&&!b&&(B==null?void 0:B.listId)!==h;return e.jsxs("div",{className:`${k} ${Q?N:""} ${x}`,onDragOver:b?void 0:se,onDragLeave:b?void 0:re,onDrop:b?void 0:M,children:[a.length===0?T:a.map((d,w)=>{const _=i===d.id,A=(B==null?void 0:B.listId)===h&&$===w&&i!==d.id;return c(d,w,b?{}:{draggable:!0,onDragStart:m=>G(m,w),onDragEnter:m=>J(m,w),onDragEnd:W,onDrop:m=>ee(m,w)},_,A)}),S]})};V.ActionButton=ot,V.DataTable=nt,V.DragDropList=ft,V.DynamicForm=dt,V.DynamicFormMultiStep=xt,V.Footer=qe,V.FormField=Ne,V.HtmlContent=bt,V.IconButton=st,V.Loader=ht,V.ManagerLayout=mt,V.Modal=it,V.ModalErrorAlert=ut,V.Navbar=et,V.PageHeader=at,V.PrimaryButton=rt,V.SearchInput=lt,V.SelectModal=Re,V.SelectModalField=ct,V.Sidebar=tt,V.Toggle=De,V.UserMenu=Pe,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});