@nocios/crudify-components 2.0.26 → 2.0.32

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.
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk6ONAT4QUjs = require('./chunk-6ONAT4QU.js');var _chunkNSV6ECYOjs = require('./chunk-NSV6ECYO.js');var _chunkCR5KJUSTjs = require('./chunk-CR5KJUST.js');var ge={es:{},en:{}},Ss= exports.b =()=>Object.keys(ge),Es= exports.c =e=>ge[e]||ge.es;var _crudifysdk = require('@nocios/crudify-sdk'); var _crudifysdk2 = _interopRequireDefault(_crudifysdk);var ro="crudify_translations_",wt=3600*1e3;function oo(e){let r=0;for(let o=0;o<e.length;o++){let t=e.charCodeAt(o);r=(r<<5)-r+t,r=r&r}return Math.abs(r).toString(36)}var mr=class e{constructor(){this.enableDebug=!1;this.initializationPromise=null;this.isInitialized=!1}static getInstance(){return e.instance||(e.instance=new e),e.instance}setDebug(r){this.enableDebug=r}async ensureCrudifyInitialized(r,o){if(!this.isInitialized)return this.initializationPromise?(this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Waiting for crudify initialization..."),this.initializationPromise):(this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Initializing crudify SDK..."),this.initializationPromise=(async()=>{try{let t=_crudifysdk2.default.getTokenData();if(t&&t.endpoint){this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Crudify already initialized"),this.isInitialized=!0;return}_crudifysdk2.default.config(o);let i=await _crudifysdk2.default.init(r,this.enableDebug?"debug":"none");if(i.success===!1)throw new Error(`Failed to initialize crudify: ${JSON.stringify(i.errors||"Unknown error")}`);this.isInitialized=!0,this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Crudify SDK initialized successfully")}catch(t){throw _chunkCR5KJUSTjs.a.error("[TranslationService] Failed to initialize crudify",t instanceof Error?t:{message:String(t)}),this.initializationPromise=null,t}})(),this.initializationPromise)}async fetchTranslations(r){let{apiKey:o,featureKeys:t,crudifyEnv:i="stg",urlTranslations:n}=r;this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] fetchTranslations called with:",{apiKeyHash:oo(o),crudifyEnv:i,featureKeys:t,hasUrlTranslations:!!n});let l=this.getFromCache(o),a=l?this.isCacheExpired(l):!0;if(l&&!a)return this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Using cached translations"),this.mergeWithUrlTranslations(l.data.translations,n);try{await this.ensureCrudifyInitialized(o,i)}catch(u){return _chunkCR5KJUSTjs.a.error("[TranslationService] Failed to initialize crudify",u instanceof Error?u:{message:String(u)}),l?(_chunkCR5KJUSTjs.a.warn("[TranslationService] Using expired cache (init failed)"),this.mergeWithUrlTranslations(l.data.translations,n)):(_chunkCR5KJUSTjs.a.warn("[TranslationService] Using critical bundle (init failed)"),this.getCriticalTranslationsOnly())}try{this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Fetching from API via crudify SDK");let u=await this.fetchFromAPI(t);this.hasDataChanged(l,u)||!l?this.saveToCache(o,u):this.refreshCacheTimestamp(o);let d=this.mergeWithUrlTranslations(u.translations,n);return this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Translations loaded:",{languages:Object.keys(d),keysCount:d[Object.keys(d)[0]]?Object.keys(d[Object.keys(d)[0]]).length:0}),d}catch(u){return _chunkCR5KJUSTjs.a.error("[TranslationService] API fetch failed",u instanceof Error?u:{message:String(u)}),l?(_chunkCR5KJUSTjs.a.warn("[TranslationService] Using expired cache as fallback"),this.mergeWithUrlTranslations(l.data.translations,n)):(_chunkCR5KJUSTjs.a.warn("[TranslationService] Using critical bundle translations"),this.getCriticalTranslationsOnly())}}async fetchFromAPI(r){let o=await _crudifysdk2.default.getTranslation(r);if(!o.success)throw new Error(`Crudify API error: ${o.errors?JSON.stringify(o.errors):"Unknown error"}`);if(!o.data)throw new Error("No translation data in response");return o.data}mergeWithUrlTranslations(r,o){if(!o||Object.keys(o).length===0)return r;let t={};return Object.keys(r).forEach(i=>{t[i]={...r[i],...o}}),t}hasDataChanged(r,o){if(!r||r.data.timestamp!==o.timestamp)return!0;let t=this.hashData(o.translations);return r.dataHash!==t}hashData(r){let o=JSON.stringify(r),t=0;for(let i=0;i<o.length;i++){let n=o.charCodeAt(i);t=(t<<5)-t+n,t=t&t}return t.toString(36)}saveToCache(r,o){try{let t=this.getCacheKey(r),i={data:o,cachedAt:Date.now(),dataHash:this.hashData(o.translations)};localStorage.setItem(t,JSON.stringify(i)),this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Saved to cache:",{cacheKey:t})}catch(t){_chunkCR5KJUSTjs.a.error("[TranslationService] Failed to save cache",t instanceof Error?t:{message:String(t)})}}getFromCache(r){try{let o=this.getCacheKey(r),t=localStorage.getItem(o);return t?JSON.parse(t):null}catch(o){return _chunkCR5KJUSTjs.a.error("[TranslationService] Failed to read cache",o instanceof Error?o:{message:String(o)}),null}}refreshCacheTimestamp(r){try{let o=this.getFromCache(r);if(o){o.cachedAt=Date.now();let t=this.getCacheKey(r);localStorage.setItem(t,JSON.stringify(o))}}catch(o){_chunkCR5KJUSTjs.a.error("[TranslationService] Failed to refresh cache timestamp",o instanceof Error?o:{message:String(o)})}}isCacheExpired(r){return Date.now()-r.cachedAt>wt}hasValidCache(r){let o=this.getFromCache(r);return o?!this.isCacheExpired(o):!1}getCacheKey(r){return`${ro}${oo(r)}`}getCriticalTranslationsOnly(){return ge}invalidateCache(r){let o=this.getCacheKey(r);localStorage.removeItem(o),this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Cache invalidated:",{cacheKey:o})}async prefetchTranslations(r){try{await this.fetchTranslations(r),this.enableDebug&&_chunkCR5KJUSTjs.a.debug("[TranslationService] Prefetch completed")}catch(o){_chunkCR5KJUSTjs.a.error("[TranslationService] Prefetch failed",o instanceof Error?o:{message:String(o)})}}clearAllCaches(){try{let o=Object.keys(localStorage).filter(t=>t.startsWith(ro));o.forEach(t=>localStorage.removeItem(t)),this.enableDebug&&_chunkCR5KJUSTjs.a.debug(`[TranslationService] Cleared ${o.length} cache entries`)}catch(r){_chunkCR5KJUSTjs.a.error("[TranslationService] Failed to clear caches",r instanceof Error?r:{message:String(r)})}}},Ze= exports.e =mr.getInstance();var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _jsxruntime = require('react/jsx-runtime');var Qe=null,fr=!1,so=_react.createContext.call(void 0, null);function no(e,r,o){return{...e,...r,...o||{}}}function Tt(e,r,o,t,i){_react.useEffect.call(void 0, ()=>{if(!t||!e||!r)return;let n=o||typeof window<"u"&&window.i18next||typeof window<"u"&&window.i18n;if(!n||!n.addResourceBundle){i&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] i18next not found, skipping auto-sync");return}i&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Auto-syncing translations with i18next",{languages:Object.keys(e),currentLanguage:r}),Object.keys(e).forEach(l=>{e[l]&&Object.keys(e[l]).length>0&&(n.addResourceBundle(l,"translation",e[l],!0,!0),i&&_chunkCR5KJUSTjs.a.debug(`[TranslationsProvider] Synced ${Object.keys(e[l]).length} keys for language: ${l}`))}),n.language!==r&&n.changeLanguage&&(n.changeLanguage(r),i&&_chunkCR5KJUSTjs.a.debug(`[TranslationsProvider] Changed i18next language to: ${r}`))},[e,r,o,t,i])}var Ms=({children:e,apiKey:r,crudifyEnv:o="prod",featureKeys:t,language:i="es",devTranslations:n,translationUrl:l,enableDebug:a=!1,skipAutoInit:u=!0,autoSyncI18n:h=!0,i18nInstance:d,loadingFallback:b,waitForInitialLoad:w=!0})=>{let c=_react.useMemo.call(void 0, ()=>_chunkCR5KJUSTjs.d.call(void 0, {publicApiKey:r,env:o,featureKeys:t,enableDebug:a}),[r,o,t,a]),s=c.publicApiKey||"",y=c.env||o||"prod",p=c.featureKeys||t,[m,f]=_react.useState.call(void 0, {}),[v,E]=_react.useState.call(void 0, !0),[z,g]=_react.useState.call(void 0, !0),[C,I]=_react.useState.call(void 0, null),[L,Y]=_react.useState.call(void 0, void 0),[le,ee]=_react.useState.call(void 0, !1),ne=_react.useCallback.call(void 0, async()=>{if(!s){a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] No apiKey - skipping translation fetch"),E(!1),g(!1);return}if(le){a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Skipping reload - using fallback translations");return}if(Ze.hasValidCache(s)&&z&&(a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Valid cache found - not blocking initial render"),g(!1)),fr&&Qe){a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Fetch already in progress, waiting for existing promise");try{let S=await Qe;f(S),E(!1);return}catch (e2){a&&_chunkCR5KJUSTjs.a.warn("[TranslationsProvider] Global fetch failed, retrying")}}fr=!0,E(!0),I(null);let V;if(l)try{a&&_chunkCR5KJUSTjs.a.debug(`[TranslationsProvider] Fetching translations from URL: ${l}`);let S=await fetch(l);if(!S.ok)throw new Error(`Failed to fetch translations: ${S.statusText}`);V=await S.json(),Y(V),a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] URL translations loaded:",{keysCount:V?Object.keys(V).length:0})}catch(S){_chunkCR5KJUSTjs.a.error("[TranslationsProvider] Failed to load URL translations",S instanceof Error?S:{message:String(S)}),V=void 0,Y(void 0)}let Z=(async()=>{try{Ze.setDebug(a);let S=await Ze.fetchTranslations({apiKey:s,crudifyEnv:y,featureKeys:p,urlTranslations:V}),P={};return Object.keys(S).forEach(H=>{let ie=ge[H]||{},re=S[H]||{};P[H]=no(ie,re,n)}),a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Loaded translations:",{languages:Object.keys(P),keysCount:Object.keys(P[i]||{}).length}),P}catch(S){_chunkCR5KJUSTjs.a.error("[TranslationsProvider] Failed to load",S instanceof Error?S:{message:String(S)}),I(S instanceof Error?S.message:String(S)),ee(!0);let P={};return Object.keys(ge).forEach(H=>{let ie=ge[H],re=V||L||{};P[H]=no(ie,re,n)}),a&&_chunkCR5KJUSTjs.a.debug("[TranslationsProvider] Using fallback translations (critical + URL)"),P}})();Qe=Z;try{let S=await Z;f(S)}finally{E(!1),g(!1),fr=!1,setTimeout(()=>{Qe=null},1e3)}},[s,y,p,l,n,a,i,le]);_react.useEffect.call(void 0, ()=>{ne();let W=setInterval(ne,3600*1e3);return()=>clearInterval(W)},[ne]);let Oe=_react.useMemo.call(void 0, ()=>(W,V)=>{let S=(m[i]||{})[W];if(!S){let P=Object.keys(m);for(let H of P)if(m[H][W]){S=m[H][W];break}}return S||(a&&_chunkCR5KJUSTjs.a.warn(`[TranslationsProvider] Missing translation: "${W}"`),S=W),V&&typeof S=="string"&&Object.entries(V).forEach(([P,H])=>{let ie=new RegExp(`{{${P}}}`,"g");S=S.replace(ie,String(H))}),S},[m,i,a]);Tt(m,i,d,h,a);let Ie={t:Oe,language:i,availableLanguages:Object.keys(m),translations:m,isLoading:v,error:C,refreshTranslations:ne};return s?w&&z&&v?b||_jsxruntime.jsx.call(void 0, "div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:_jsxruntime.jsx.call(void 0, "div",{children:"Loading translations..."})}):_jsxruntime.jsx.call(void 0, so.Provider,{value:Ie,children:e}):(a&&_chunkCR5KJUSTjs.a.warn("[TranslationsProvider] No API key available. Skipping translations. Provide apiKey via props or ensure cookies are set by Lambda."),_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}))},Me= exports.g =()=>{let e=_react.useContext.call(void 0, so);if(!e)throw new Error("useTranslations must be used within TranslationsProvider");return e};var St=/^[a-zA-Z0-9\-_./\?=&%#]+$/,Et=[/^https?:\/\//i,/^ftp:\/\//i,/^\/\//,/javascript:/i,/data:/i,/vbscript:/i,/about:/i,/\.\.\//,/\.\.\\/,/%2e%2e%2f/i,/%2e%2e%5c/i,/%2f%2f/i,/%5c%5c/i,/[\x00-\x1f\x7f-\x9f]/,/\\/],ao= exports.h =(e,r="/")=>{if(!e||typeof e!="string")return r;let o=e.trim();if(!o)return r;if(!o.startsWith("/"))return _chunkCR5KJUSTjs.a.warn("Open redirect blocked (relative path)",{path:e}),r;if(!St.test(o))return _chunkCR5KJUSTjs.a.warn("Open redirect blocked (invalid characters)",{path:e}),r;let t=o.toLowerCase();for(let n of Et)if(n.test(t))return _chunkCR5KJUSTjs.a.warn("Open redirect blocked (dangerous pattern)",{path:e}),r;let i=o.split("?")[0].split("/").filter(Boolean);if(i.length===0)return o;for(let n of i)if(n===".."||n.includes(":")||n.length>100)return _chunkCR5KJUSTjs.a.warn("Open redirect blocked (suspicious path part)",{part:n}),r;return o},kt=[/^files\.nocios\.link$/,/^files\.crudia\.com$/,/^[a-z0-9][a-z0-9-]*\.nocios\.link$/,/^[a-z0-9][a-z0-9-]*\.crudia\.com$/],lo= exports.i =(e,r="/")=>{if(!e||typeof e!="string")return r;let o=e.trim();if(!o)return r;if(o.startsWith("/"))return ao(o,r);try{if(o.includes("..")||o.includes("//",8))return _chunkCR5KJUSTjs.a.warn("Redirect blocked (dangerous path pattern)",{url:o}),r;let t=new URL(o);if(t.protocol!=="https:")return _chunkCR5KJUSTjs.a.warn("Redirect blocked (non-HTTPS protocol)",{url:o}),r;let i=t.hostname.toLowerCase();return kt.some(l=>l.test(i))?o:(_chunkCR5KJUSTjs.a.warn("Redirect blocked (untrusted domain)",{url:o,hostname:i}),r)}catch (e3){return _chunkCR5KJUSTjs.a.warn("Redirect blocked (invalid URL)",{url:o}),r}},Vs= exports.j =(e,r="/")=>{try{let t=(typeof e=="string"?new URLSearchParams(e):e).get("redirect");if(!t)return r;let i=decodeURIComponent(t);return ao(i,r)}catch(o){return _chunkCR5KJUSTjs.a.warn("Error parsing redirect parameter",o instanceof Error?{errorMessage:o.message}:{message:String(o)}),r}};var _material = require('@mui/material');var _CheckCircle = require('@mui/icons-material/CheckCircle'); var _CheckCircle2 = _interopRequireDefault(_CheckCircle);var _RadioButtonUnchecked = require('@mui/icons-material/RadioButtonUnchecked'); var _RadioButtonUnchecked2 = _interopRequireDefault(_RadioButtonUnchecked);var Ft=({message:e,valid:r})=>_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",alignItems:"center",gap:.5,py:.25},children:[r?_jsxruntime.jsx.call(void 0, _CheckCircle2.default,{sx:{fontSize:16,color:"success.main"}}):_jsxruntime.jsx.call(void 0, _RadioButtonUnchecked2.default,{sx:{fontSize:16,color:"text.disabled"}}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",sx:{color:r?"success.main":"text.secondary",transition:"color 0.2s ease"},children:e})]}),Dt=({requirements:e,show:r=!0})=>!r||e.length===0?null:_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mt:.5,mb:1,px:.5},children:e.map((o,t)=>_jsxruntime.jsx.call(void 0, Ft,{message:o.message,valid:o.valid},t))}),uo= exports.k =Dt;var _t=/[A-Z]/,zt=/[a-z]/,Ot=/[0-9]/,Ut=/[!@#$%^&*()_+\-=\[\]{}|;:,.<>?]/,Mt=/^[A-Za-z0-9]+$/;function po(e,r){return r.map(o=>{let t=!0;switch(o.type){case"minLength":t=e.length>=Number(_nullishCoalesce(o.value, () => (0)));break;case"alphanumeric":t=e.length>0&&Mt.test(e);break;case"uppercase":t=_t.test(e);break;case"lowercase":t=zt.test(e);break;case"number":t=Ot.test(e);break;case"special":t=Ut.test(e);break;default:t=!0}return{message:o.message,valid:t,enforce:!!o.enforce}})}function go(e){return e.filter(r=>r.enforce).every(r=>r.valid)}var mo=[{type:"minLength",value:8,message:"passwordRequirements.minLength",enforce:!0},{type:"uppercase",message:"passwordRequirements.uppercase",enforce:!0},{type:"lowercase",message:"passwordRequirements.lowercase",enforce:!0},{type:"number",message:"passwordRequirements.number",enforce:!0},{type:"special",message:"passwordRequirements.special",enforce:!0}];var fo=(e,r)=>{let[o,t]=_react.useState.call(void 0, {}),[i,n]=_react.useState.call(void 0, !1),[l,a]=_react.useState.call(void 0, null);return _react.useEffect.call(void 0, ()=>{if(r&&Object.keys(r).length>0){t(r),n(!1),a(null);return}if(!e){t({}),n(!1),a(null);return}let u=!1;return n(!0),a(null),fetch(e).then(h=>{if(!h.ok)throw new Error(`Failed to load translations: ${h.status}`);return h.json()}).then(h=>{u||(t(h),n(!1))}).catch(h=>{u||(_chunkCR5KJUSTjs.a.error("[I18nProvider] Failed to load translations from URL",h instanceof Error?h:{message:String(h),url:e}),a(h instanceof Error?h.message:String(h)),t({}),n(!1))}),()=>{u=!0}},[e,r]),{translations:o,loading:i,error:l}};var ho=_react.createContext.call(void 0, null),Vt=()=>{try{return Me()}catch (e4){return null}},$t=(e,r)=>{if(r.includes(".")){let o=r.split(".").reduce((t,i)=>t&&typeof t=="object"?t[i]:void 0,e);if(o!==void 0)return o}if(e&&e[r])return e[r]},bo=({children:e,translations:r,translationsUrl:o,language:t="en"})=>{let n=_optionalChain([Vt, 'call', _2 => _2(), 'optionalAccess', _3 => _3.translations, 'optionalAccess', _4 => _4[t]])||{},{translations:l,loading:a}=fo(o,r),u=_react.useMemo.call(void 0, ()=>({...n,...l,...r||{}}),[n,l,r]),h=_react.useMemo.call(void 0, ()=>(b,w)=>{let c=$t(u,b);return c==null&&(c=b),w&&typeof c=="string"&&Object.entries(w).forEach(([s,y])=>{c=c.replace(new RegExp(`{{${s}}}`,"g"),y)}),typeof c=="string"?c:b},[u]),d=_react.useMemo.call(void 0, ()=>({t:h,language:t}),[h,t]);return a?_jsxruntime.jsx.call(void 0, "div",{children:"Loading translations..."}):_jsxruntime.jsx.call(void 0, ho.Provider,{value:d,children:e})},oe=()=>{let e=_react.useContext.call(void 0, ho);if(!e)throw new Error("useTranslation must be used within I18nProvider");return e};var xo={currentScreen:"login",searchParams:{},formData:{username:"",password:"",email:"",code:"",newPassword:"",confirmPassword:""},loading:!1,errors:{global:[]},emailSent:!1,codeAlreadyExists:!1,codeValidated:!1,fromCodeVerification:!1,config:{}};function Xt(e,r){switch(r.type){case"SET_SCREEN":let o={...e,currentScreen:r.payload.screen,searchParams:r.payload.params||e.searchParams,errors:{global:[]}},t=new URLSearchParams(o.searchParams),i=t.toString()?`?${t.toString()}`:window.location.pathname;try{window.history.replaceState({},"",i)}catch (e5){}return o;case"SET_SEARCH_PARAMS":return{...e,searchParams:r.payload};case"CLEAR_SEARCH_PARAMS":return{...e,searchParams:{}};case"UPDATE_FORM_DATA":return{...e,formData:{...e.formData,...r.payload},errors:{...e.errors,...Object.keys(r.payload).reduce((n,l)=>({...n,[l]:void 0}),{})}};case"SET_LOADING":return{...e,loading:r.payload};case"SET_ERRORS":return{...e,errors:{...e.errors,...r.payload}};case"CLEAR_ERRORS":return{...e,errors:{global:[]}};case"SET_EMAIL_SENT":return{...e,emailSent:r.payload};case"SET_CODE_ALREADY_EXISTS":return{...e,codeAlreadyExists:r.payload};case"SET_CODE_VALIDATED":return{...e,codeValidated:r.payload};case"SET_FROM_CODE_VERIFICATION":return{...e,fromCodeVerification:r.payload};case"RESET_FORM":return{...e,formData:xo.formData,errors:{global:[]},loading:!1,emailSent:!1,codeAlreadyExists:!1,codeValidated:!1,fromCodeVerification:!1};case"INIT_CONFIG":return{...e,config:r.payload};default:return e}}var wo=_react.createContext.call(void 0, void 0),Co=({children:e,initialScreen:r="login",config:o,autoReadFromCookies:t=!0})=>{let[i,n]=_react.useReducer.call(void 0, Xt,{...xo,currentScreen:r});_react.useEffect.call(void 0, ()=>{n({type:"INIT_CONFIG",payload:(()=>{let s={};if(t)try{let y=_chunkCR5KJUSTjs.b.call(void 0, );y.configSource!=="none"&&y.logo&&(s.logo=y.logo)}catch(y){_chunkCR5KJUSTjs.a.error("Error reading configuration",y instanceof Error?y:{message:String(y)})}return{publicApiKey:_optionalChain([o, 'optionalAccess', _5 => _5.publicApiKey]),env:_optionalChain([o, 'optionalAccess', _6 => _6.env]),appName:_optionalChain([o, 'optionalAccess', _7 => _7.appName]),logo:_optionalChain([o, 'optionalAccess', _8 => _8.logo])||s.logo,loginActions:_optionalChain([o, 'optionalAccess', _9 => _9.loginActions])}})()})},[o,t]),_react.useEffect.call(void 0, ()=>{let c=new URLSearchParams(window.location.search),s={};c.forEach((y,p)=>{s[p]=y}),Object.keys(s).length>0&&n({type:"SET_SEARCH_PARAMS",payload:s}),r==="checkCode"&&s.email&&n({type:"UPDATE_FORM_DATA",payload:{email:s.email,code:s.code||""}}),r==="resetPassword"&&s.link&&n({type:"SET_SEARCH_PARAMS",payload:s})},[r]),_react.useEffect.call(void 0, ()=>{let c=_chunkCR5KJUSTjs.f.subscribe(s=>{(s.type==="LOGOUT"||s.type==="SESSION_EXPIRED")&&(_chunkCR5KJUSTjs.a.debug("LoginStateProvider: Clearing state due to auth event",{type:s.type}),n({type:"CLEAR_SEARCH_PARAMS"}),n({type:"RESET_FORM"}))});return()=>c()},[]);let l=(c,s)=>{n({type:"SET_SCREEN",payload:{screen:c,params:s}})},a=c=>{n({type:"UPDATE_FORM_DATA",payload:c})},u=(c,s)=>{n({type:"SET_ERRORS",payload:{[c]:s}})},h=()=>{n({type:"CLEAR_ERRORS"})},d=c=>{n({type:"SET_LOADING",payload:c})},b=_react.useCallback.call(void 0, ()=>{n({type:"CLEAR_SEARCH_PARAMS"})},[]),w={state:i,dispatch:n,setScreen:l,updateFormData:a,setFieldError:u,clearErrors:h,setLoading:d,clearSearchParams:b};return _jsxruntime.jsx.call(void 0, wo.Provider,{value:w,children:e})},rr=()=>{let e=_react.useContext.call(void 0, wo);if(e===void 0)throw new Error("useLoginState must be used within a LoginStateProvider");return e};var on=({onScreenChange:e,onExternalNavigate:r,onLoginSuccess:o,onError:t,redirectUrl:i="/"})=>{let{state:n,updateFormData:l,setFieldError:a,clearErrors:u,setLoading:h}=rr(),{login:d}=_chunk6ONAT4QUjs.l.call(void 0, ),b=oe(),{t:w}=b,c="i18n"in b?b.i18n:void 0,s=_react.useRef.call(void 0, null),y=_chunkCR5KJUSTjs.p.call(void 0, w,{currentLanguage:_optionalChain([c, 'optionalAccess', _10 => _10.language]),enableDebug:!1}),p=()=>{if(n.searchParams.redirect)try{let g=decodeURIComponent(n.searchParams.redirect);return lo(g,i||"/")}catch (e6){}return i||"/"};_react.useEffect.call(void 0, ()=>{let g=setTimeout(()=>{s.current&&s.current.focus()},100);return()=>clearTimeout(g)},[]);let m=g=>y.translateError({code:g.code,message:g.message,field:g.field}),f=async()=>{if(!n.loading){if(!n.formData.username.trim()){a("username",w("login.usernameRequired"));return}if(!n.formData.password.trim()){a("password",w("login.passwordRequired"));return}u(),h(!0);try{let g=await d(n.formData.username,n.formData.password);if(h(!1),g.success){let C=p();o&&o(g.data,C)}else{let C=g.rawResponse||g;v(C)}}catch(g){h(!1);let I=_chunkNSV6ECYOjs.g.call(void 0, g).map(m);a("global",I),t&&t(I.join(", "))}}},v=g=>{let C=_chunkNSV6ECYOjs.g.call(void 0, g),I=[];C.forEach(L=>{L.field?a(L.field,m(L)):I.push(m(L))}),I.length>0&&a("global",I)};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"form",noValidate:!0,onSubmit:g=>{g.preventDefault(),f()},onKeyDown:g=>{g.key==="Enter"&&!n.loading&&(g.preventDefault(),f())},sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"email",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:w("login.usernameOrEmailLabel")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"email",name:"email",type:"email",value:n.formData.username,disabled:n.loading,onChange:g=>l({username:g.target.value}),error:!!n.errors.username,helperText:n.errors.username,autoComplete:"email",placeholder:w("login.usernameOrEmailPlaceholder"),inputRef:s,required:!0})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"password",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:w("login.passwordLabel")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"password",name:"password",type:"password",value:n.formData.password,disabled:n.loading,onChange:g=>l({password:g.target.value}),error:!!n.errors.password,helperText:n.errors.password,autoComplete:"current-password",placeholder:w("login.passwordPlaceholder"),required:!0})]}),_optionalChain([n, 'access', _11 => _11.config, 'access', _12 => _12.loginActions, 'optionalAccess', _13 => _13.includes, 'call', _14 => _14("forgotPassword")])&&_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:()=>{_optionalChain([e, 'optionalCall', _15 => _15("forgotPassword",n.searchParams)])},variant:"body2",color:"secondary",children:w("login.forgotPasswordLink")})}),_jsxruntime.jsx.call(void 0, _material.Button,{disabled:n.loading,type:"submit",fullWidth:!0,variant:"contained",color:"primary",sx:{mt:1,mb:2},children:n.loading?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:20}):w("login.loginButton")})]}),_jsxruntime.jsx.call(void 0, _material.Box,{children:n.errors.global&&n.errors.global.length>0&&n.errors.global.map((g,C)=>_jsxruntime.jsx.call(void 0, _material.Alert,{variant:"filled",sx:{mt:2},severity:"error",children:_jsxruntime.jsx.call(void 0, "div",{children:g})},C))}),_optionalChain([n, 'access', _16 => _16.config, 'access', _17 => _17.loginActions, 'optionalAccess', _18 => _18.includes, 'call', _19 => _19("createUser")])&&_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",align:"center",sx:{color:"text.secondary",mt:3},children:[w("login.noAccountPrompt")," ",_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:()=>{let C=`/public/users/create${Object.keys(n.searchParams).length>0?`?${new URLSearchParams(n.searchParams).toString()}`:""}`;_optionalChain([r, 'optionalCall', _20 => _20(C)])},fontWeight:"medium",color:"secondary",children:w("login.signUpLink")})]})]})},To=on;var dn=({onScreenChange:e,onError:r})=>{let{crudify:o}=_chunk6ONAT4QUjs.j.call(void 0, ),[t,i]=_react.useState.call(void 0, ""),[n,l]=_react.useState.call(void 0, !1),[a,u]=_react.useState.call(void 0, []),[h,d]=_react.useState.call(void 0, null),[b,w]=_react.useState.call(void 0, !1),[c,s]=_react.useState.call(void 0, !1),y=_react.useRef.call(void 0, null),{t:p}=oe();_react.useEffect.call(void 0, ()=>{y.current&&!b&&!c&&y.current.focus()},[b,c]);let m=C=>{let I=[`errors.auth.${C.code}`,`errors.data.${C.code}`,`errors.system.${C.code}`,`errors.${C.code}`,`forgotPassword.${C.code.toLowerCase()}`];for(let L of I){let Y=p(L);if(Y!==L)return Y}return C.message||p("base.errors.errorUnknown")},f=C=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(C),v=async()=>{if(!(n||!o)){if(u([]),d(null),!t){d(p("errors.REQUIRED",{field:p("base.fields.email")}));return}if(!f(t)){d(p("base.errors.invalidEmail"));return}l(!0);try{let C=[{operation:"requestPasswordReset",data:{email:t}}],I=await o.transaction(C);if(I.success)I.data&&I.data.existingCodeValid?s(!0):w(!0);else{let Y=_chunkNSV6ECYOjs.g.call(void 0, I).map(m);u(Y)}}catch(C){let L=_chunkNSV6ECYOjs.g.call(void 0, C).map(m);u(L),r&&r(L.join(", "))}finally{l(!1)}}},E=()=>{_optionalChain([e, 'optionalCall', _21 => _21("login")])},z=()=>{if(b||c){_optionalChain([e, 'optionalCall', _22 => _22("checkCode",{email:t})]);return}if(!t){d(p("errors.REQUIRED",{field:p("base.fields.email")}));return}if(!f(t)){d(p("base.errors.invalidEmail"));return}_optionalChain([e, 'optionalCall', _23 => _23("checkCode",{email:t})])};return b||c?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{width:"100%",display:"flex",flexDirection:"column",gap:2,textAlign:"center"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h5",component:"h1",sx:{mb:1,fontWeight:600},children:p(c?"forgotPassword.codeAlreadyExistsMessage":"forgotPassword.emailSentMessage")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{color:c?"success.main":"grey.600"},children:p("forgotPassword.checkEmailInstructions")})]}),_jsxruntime.jsx.call(void 0, _material.Button,{type:"button",onClick:z,fullWidth:!0,variant:"contained",color:"primary",sx:{mt:2,mb:2},children:p("forgotPassword.enterCodeLink")}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:E,variant:"body2",color:"secondary",children:p("base.btn.back")})})]})}):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"form",noValidate:!0,onSubmit:C=>{C.preventDefault(),v()},sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h5",component:"h1",sx:{mb:1,fontWeight:600},children:p("forgotPassword.title")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{color:"grey.600"},children:p("forgotPassword.instructions")})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"email",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:p("base.fields.email")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"email",name:"email",type:"email",value:t,disabled:n,onChange:C=>i(C.target.value),error:!!h,helperText:h,autoComplete:"email",placeholder:p("forgotPassword.emailPlaceholder"),required:!0,autoFocus:!0,inputRef:y})]}),_jsxruntime.jsx.call(void 0, _material.Button,{disabled:n,type:"submit",fullWidth:!0,variant:"contained",color:"primary",sx:{mt:2,mb:2},children:n?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:20}):p("forgotPassword.sendCodeButton")}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",gap:2},children:[_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:E,variant:"body2",color:"secondary",children:p("base.btn.back")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{color:"grey.400"},children:"\u2022"}),_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:z,variant:"body2",color:"secondary",children:p("login.alreadyHaveCodeLink")})]})]}),_jsxruntime.jsx.call(void 0, _material.Box,{children:a.length>0&&a.map((C,I)=>_jsxruntime.jsx.call(void 0, _material.Alert,{variant:"filled",sx:{mt:2},severity:"error",children:C},I))})]})},Eo=dn;var _Visibility = require('@mui/icons-material/Visibility'); var _Visibility2 = _interopRequireDefault(_Visibility);var _VisibilityOff = require('@mui/icons-material/VisibilityOff'); var _VisibilityOff2 = _interopRequireDefault(_VisibilityOff);var gn=({onScreenChange:e,onError:r,searchParams:o,onResetSuccess:t,passwordRules:i})=>{let{crudify:n}=_chunk6ONAT4QUjs.j.call(void 0, ),[l,a]=_react.useState.call(void 0, ""),[u,h]=_react.useState.call(void 0, ""),[d,b]=_react.useState.call(void 0, !1),[w,c]=_react.useState.call(void 0, []),[s,y]=_react.useState.call(void 0, null),[p,m]=_react.useState.call(void 0, null),[f,v]=_react.useState.call(void 0, ""),[E,z]=_react.useState.call(void 0, ""),[g,C]=_react.useState.call(void 0, !1),[I,L]=_react.useState.call(void 0, !0),[Y,le]=_react.useState.call(void 0, !1),[ee,ne]=_react.useState.call(void 0, null),[Oe,Ie]=_react.useState.call(void 0, !1),[W,V]=_react.useState.call(void 0, !1),[Z,S]=_react.useState.call(void 0, !1),{t:P}=oe(),H=_react.useMemo.call(void 0, ()=>(i||mo).map(D=>({...D,message:P(D.message)})),[i,P]),ie=_react.useMemo.call(void 0, ()=>po(l,H),[l,H]),re=_react.useMemo.call(void 0, ()=>go(ie),[ie]),Ue=l===u,Re=k=>{let D=[`errors.auth.${k.code}`,`errors.data.${k.code}`,`errors.system.${k.code}`,`errors.${k.code}`,`resetPassword.${k.code.toLowerCase()}`];for(let M of D){let q=P(M);if(q!==M)return q}return k.message||P("base.errors.errorUnknown")},Ae=k=>o?o instanceof URLSearchParams?o.get(k):o[k]||null:null;_react.useEffect.call(void 0, ()=>{if(o){if(o){let k=Ae("fromCodeVerification"),D=Ae("email"),M=Ae("code");if(k==="true"&&D&&M){v(D),z(M),C(!0),le(!0),L(!1);return}let q=Ae("link");if(q)try{let G=decodeURIComponent(q),[X,ye]=G.split("/");if(X&&ye&&X.length===6){z(X),v(ye),C(!1),ne({email:ye,code:X});return}}catch (e7){}if(D&&M){v(D),z(M),C(!1),ne({email:D,code:M});return}}c([P("resetPassword.invalidCode")]),L(!1),setTimeout(()=>_optionalChain([e, 'optionalCall', _24 => _24("forgotPassword")]),3e3)}},[o,n,P,e]),_react.useEffect.call(void 0, ()=>{n&&ee&&!Oe&&(Ie(!0),(async(D,M)=>{try{let q=[{operation:"validatePasswordResetCode",data:{email:D,codePassword:M}}],G=await n.transaction(q);if(G.data&&Array.isArray(G.data)){let X=G.data[0];if(X&&X.response&&X.response.status==="OK"){le(!0);return}}if(G.success)le(!0);else{let ye=_chunkNSV6ECYOjs.g.call(void 0, G).map(Re);c(ye),setTimeout(()=>_optionalChain([e, 'optionalCall', _25 => _25("forgotPassword")]),3e3)}}catch(q){let X=_chunkNSV6ECYOjs.g.call(void 0, q).map(Re);c(X),setTimeout(()=>_optionalChain([e, 'optionalCall', _26 => _26("forgotPassword")]),3e3)}finally{L(!1),ne(null),Ie(!1)}})(ee.email,ee.code))},[n,ee,P,e]);let Xe=async()=>{if(d||!n)return;c([]),y(null),m(null);let k=!1;if(l?re||(y(P("resetPassword.passwordRequirementsNotMet")),k=!0):(y(P("resetPassword.newPasswordRequired")),k=!0),u?Ue||(m(P("resetPassword.passwordsDoNotMatch")),k=!0):(m(P("resetPassword.confirmPasswordRequired")),k=!0),!k){b(!0);try{let D=[{operation:"validateAndResetPassword",data:{email:f,codePassword:E,newPassword:l}}],M=await n.transaction(D);if(M.success)c([]),setTimeout(()=>{_optionalChain([t, 'optionalCall', _27 => _27()])},1e3);else{let G=_chunkNSV6ECYOjs.g.call(void 0, M).map(Re);c(G)}}catch(D){let q=_chunkNSV6ECYOjs.g.call(void 0, D).map(Re);c(q),r&&r(q.join(", "))}b(!1)}},Or=()=>{g?_optionalChain([e, 'optionalCall', _28 => _28("checkCode",{email:f})]):_optionalChain([e, 'optionalCall', _29 => _29("forgotPassword")])};return I?_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"300px"},children:_jsxruntime.jsx.call(void 0, _material.CircularProgress,{})}):Y?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"form",noValidate:!0,sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h5",component:"h1",sx:{mb:1,fontWeight:600},children:P("resetPassword.title")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{color:"grey.600"},children:P("resetPassword.instructions")})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"newPassword",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:P("base.fields.password")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"newPassword",name:"newPassword",type:W?"text":"password",value:l,disabled:d,onChange:k=>a(k.target.value),error:!!s,helperText:s,autoComplete:"new-password",placeholder:P("base.fields.confirmPassword"),required:!0,InputProps:{endAdornment:_jsxruntime.jsx.call(void 0, _material.InputAdornment,{position:"end",children:_jsxruntime.jsx.call(void 0, _material.Tooltip,{title:P(W?"base.btn.hidePassword":"base.btn.showPassword"),children:_jsxruntime.jsx.call(void 0, "span",{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{"aria-label":P(W?"base.btn.hidePassword":"base.btn.showPassword"),onClick:()=>V(!W),edge:"end",size:"small",disabled:d,children:W?_jsxruntime.jsx.call(void 0, _VisibilityOff2.default,{}):_jsxruntime.jsx.call(void 0, _Visibility2.default,{})})})})})}}),_jsxruntime.jsx.call(void 0, uo,{requirements:ie,show:l.length>0})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"confirmPassword",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:P("resetPassword.confirmPasswordLabel")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"confirmPassword",name:"confirmPassword",type:Z?"text":"password",value:u,disabled:d,onChange:k=>h(k.target.value),error:!!p,helperText:p,autoComplete:"new-password",placeholder:P("resetPassword.confirmPasswordPlaceholder"),required:!0,InputProps:{endAdornment:_jsxruntime.jsx.call(void 0, _material.InputAdornment,{position:"end",children:_jsxruntime.jsx.call(void 0, _material.Tooltip,{title:P(Z?"base.btn.hidePassword":"base.btn.showPassword"),children:_jsxruntime.jsx.call(void 0, "span",{children:_jsxruntime.jsx.call(void 0, _material.IconButton,{"aria-label":P(Z?"base.btn.hidePassword":"base.btn.showPassword"),onClick:()=>S(!Z),edge:"end",size:"small",disabled:d,children:Z?_jsxruntime.jsx.call(void 0, _VisibilityOff2.default,{}):_jsxruntime.jsx.call(void 0, _Visibility2.default,{})})})})})}})]}),_jsxruntime.jsx.call(void 0, _material.Button,{disabled:d||!re||!Ue||!l||!u,type:"button",onClick:Xe,fullWidth:!0,variant:"contained",color:"primary",sx:{mt:2,mb:2},children:d?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:20}):P("resetPassword.resetPasswordButton")}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:Or,variant:"body2",color:"secondary",children:P("base.btn.back")})})]}),_jsxruntime.jsx.call(void 0, _material.Box,{children:w.length>0&&w.map((k,D)=>_jsxruntime.jsx.call(void 0, _material.Alert,{variant:"filled",sx:{mt:2},severity:"error",children:k},D))})]}):_jsxruntime.jsx.call(void 0, _material.Box,{children:w.length>0&&w.map((k,D)=>_jsxruntime.jsx.call(void 0, _material.Alert,{variant:"filled",sx:{mt:2},severity:"error",children:k},D))})},Oo=gn;var Cn=({onScreenChange:e,onError:r,searchParams:o})=>{let{crudify:t}=_chunk6ONAT4QUjs.j.call(void 0, ),[i,n]=_react.useState.call(void 0, ""),[l,a]=_react.useState.call(void 0, !1),[u,h]=_react.useState.call(void 0, []),[d,b]=_react.useState.call(void 0, null),[w,c]=_react.useState.call(void 0, ""),s=_react.useRef.call(void 0, null),{t:y}=oe(),p=g=>o?o instanceof URLSearchParams?o.get(g):o[g]||null:null,m=g=>{let C=[`errors.auth.${g.code}`,`errors.data.${g.code}`,`errors.system.${g.code}`,`errors.${g.code}`,`checkCode.${g.code.toLowerCase()}`];for(let I of C){let L=y(I);if(L!==I)return L}return g.message||y("base.errors.errorUnknown")};_react.useEffect.call(void 0, ()=>{let g=p("email");g?c(g):_optionalChain([e, 'optionalCall', _30 => _30("forgotPassword")])},[o,e]),_react.useEffect.call(void 0, ()=>{s.current&&s.current.focus()},[]);let f=async()=>{if(!(l||!t)){if(h([]),b(null),!i){b(y("checkCode.codeRequired"));return}if(i.length!==6){b(y("checkCode.codeRequired"));return}a(!0);try{let g=[{operation:"validatePasswordResetCode",data:{email:w,codePassword:i}}],C=await t.transaction(g);if(C.success)_optionalChain([e, 'optionalCall', _31 => _31("resetPassword",{email:w,code:i,fromCodeVerification:"true"})]);else{let L=_chunkNSV6ECYOjs.g.call(void 0, C).map(m);h(L),a(!1)}}catch(g){let I=_chunkNSV6ECYOjs.g.call(void 0, g).map(m);h(I),a(!1),r&&r(I.join(", "))}}},v=()=>{_optionalChain([e, 'optionalCall', _32 => _32("forgotPassword")])},E=g=>{let C=g.target.value.replace(/\D/g,"").slice(0,6);n(C)};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"form",noValidate:!0,onSubmit:g=>{g.preventDefault(),f()},sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:2},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h5",component:"h1",sx:{mb:1,fontWeight:600},children:y("checkCode.title")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{color:"grey.600"},children:y("checkCode.instructions")})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",component:"label",htmlFor:"code",sx:{display:"block",fontWeight:500,color:"grey.700",mb:.5},children:y("checkCode.codeLabel")}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,id:"code",name:"code",type:"text",value:i,disabled:l,onChange:E,error:!!d,helperText:d,placeholder:y("checkCode.codePlaceholder"),inputProps:{maxLength:6,style:{textAlign:"center",fontSize:"1.5rem",letterSpacing:"0.4rem"}},required:!0,autoFocus:!0,inputRef:s})]}),_jsxruntime.jsx.call(void 0, _material.Button,{disabled:l||i.length!==6,type:"submit",fullWidth:!0,variant:"contained",color:"primary",sx:{mt:2,mb:2},children:l?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:20}):y("checkCode.verifyButton")}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:_jsxruntime.jsx.call(void 0, _material.Link,{sx:{cursor:"pointer"},onClick:v,variant:"body2",color:"secondary",children:y("base.btn.back")})})]}),_jsxruntime.jsx.call(void 0, _material.Box,{children:u.length>0&&u.map((g,C)=>_jsxruntime.jsx.call(void 0, _material.Alert,{sx:{mt:2},severity:"error",children:g},C))})]})},Mo=Cn;var Ho=({children:e,fallback:r})=>{let{isLoading:o,error:t,isInitialized:i}=_chunk6ONAT4QUjs.j.call(void 0, ),{t:n}=oe();return o?r||_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",gap:2},children:[_jsxruntime.jsx.call(void 0, _material.CircularProgress,{}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",children:n("login.initializing")!=="login.initializing"?n("login.initializing"):"Initializing..."})]}):t?_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"error",sx:{mt:2},children:_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",children:[n("login.initializationError")!=="login.initializationError"?n("login.initializationError"):"Initialization error",":"," ",t]})}):i?_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}):_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"warning",sx:{mt:2},children:_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",children:n("login.notInitialized")!=="login.notInitialized"?n("login.notInitialized"):"System not initialized"})})};var kn=({onScreenChange:e,onExternalNavigate:r,onLoginSuccess:o,onError:t,redirectUrl:i="/",passwordRules:n})=>{let{t:l}=oe(),{state:a,setScreen:u}=rr(),{config:h}=_chunk6ONAT4QUjs.l.call(void 0, ),{showNotification:d}=_chunk6ONAT4QUjs.g.call(void 0, ),b=(c,s)=>{let y=s;c==="login"?y={}:c==="forgotPassword"&&!s&&(y={}),u(c,y),_optionalChain([e, 'optionalCall', _33 => _33(c,y)])},w=()=>{let c={onScreenChange:b,onExternalNavigate:r,onError:t,redirectUrl:i};switch(a.currentScreen){case"forgotPassword":return _jsxruntime.jsx.call(void 0, Eo,{...c});case"checkCode":return _jsxruntime.jsx.call(void 0, Mo,{...c,searchParams:a.searchParams});case"resetPassword":return _jsxruntime.jsx.call(void 0, Oo,{...c,searchParams:a.searchParams,passwordRules:n,onResetSuccess:()=>{let s=l("resetPassword.successMessage");d(s,"success"),b("login")}});default:return _jsxruntime.jsx.call(void 0, To,{...c,onLoginSuccess:o})}};return _jsxruntime.jsxs.call(void 0, Ho,{children:[_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"center",mb:3},children:_jsxruntime.jsx.call(void 0, "img",{src:h.logo||"https://logos.crudia.com/nocios-default.png",alt:l("login.logoAlt"),style:{width:"100%",maxWidth:"150px",height:"auto"},onError:c=>{let s=c.target;s.src="https://logos.crudia.com/nocios-default.png"}})}),!h.logo&&h.appName&&_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h6",component:"h1",sx:{textAlign:"center",mb:2},children:h.appName}),w()]})},In=({translations:e,translationsUrl:r,language:o="en",initialScreen:t="login",autoReadFromCookies:i=!0,...n})=>{let{config:l}=_chunk6ONAT4QUjs.l.call(void 0, );return _jsxruntime.jsx.call(void 0, bo,{translations:e,translationsUrl:r,language:o,children:_jsxruntime.jsx.call(void 0, _chunk6ONAT4QUjs.i,{config:l,children:_jsxruntime.jsx.call(void 0, Co,{config:l,initialScreen:t,autoReadFromCookies:i,children:_jsxruntime.jsx.call(void 0, kn,{...n})})})})},pl= exports.o =In;var _iconsmaterial = require('@mui/icons-material');var qn=({showExtendedData:e=!0,showProfileCard:r=!0,autoRefresh:o=!0})=>{let{userProfile:t,loading:i,error:n,extendedData:l,refreshProfile:a}=_chunk6ONAT4QUjs.n.call(void 0, {autoFetch:o,retryOnError:!0,maxRetries:3}),[u,h]=_react.useState.call(void 0, !1);if(i)return _jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",justifyContent:"center",alignItems:"center",p:3,children:[_jsxruntime.jsx.call(void 0, _material.CircularProgress,{}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{ml:2},children:"Cargando perfil de usuario..."})]});if(n)return _jsxruntime.jsxs.call(void 0, _material.Alert,{severity:"error",action:_jsxruntime.jsx.call(void 0, _material.IconButton,{color:"inherit",size:"small",onClick:a,children:_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",children:"Reintentar"})}),children:["Error al cargar el perfil: ",n]});if(!t)return _jsxruntime.jsx.call(void 0, _material.Alert,{severity:"warning",children:"No se encontr\xF3 informaci\xF3n del usuario"});let d=_optionalChain([l, 'optionalAccess', _34 => _34.displayData])||{},b=_optionalChain([l, 'optionalAccess', _35 => _35.totalFields])||0,w=f=>{if(!f)return"No disponible";try{return new Date(f).toLocaleString("es-ES",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}catch (e8){return f}},c=(f,v)=>v==null?"No disponible":typeof v=="boolean"?v?"S\xED":"No":Array.isArray(v)?v.length>0?v.join(", "):"Ninguno":typeof v=="object"?JSON.stringify(v,null,2):String(v),s=[{key:"id",label:"ID",icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Badge,{})},{key:"email",label:"Email",icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Email,{})},{key:"username",label:"Usuario",icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Person,{})},{key:"fullName",label:"Nombre completo",icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.AccountCircle,{})},{key:"role",label:"Rol",icon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Security,{})}],y=[{key:"firstName",label:"Nombre"},{key:"lastName",label:"Apellido"},{key:"isActive",label:"Activo"},{key:"lastLogin",label:"\xDAltimo login"},{key:"createdAt",label:"Creado"},{key:"updatedAt",label:"Actualizado"}],p=[...s.map(f=>f.key),...y.map(f=>f.key),"permissions"],m=Object.keys(d).filter(f=>!p.includes(f)).map(f=>({key:f,label:f}));return _jsxruntime.jsxs.call(void 0, _material.Box,{children:[r&&_jsxruntime.jsx.call(void 0, _material.Card,{sx:{mb:2},children:_jsxruntime.jsxs.call(void 0, _material.CardContent,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",alignItems:"center",mb:2,children:[_jsxruntime.jsx.call(void 0, _material.Avatar,{src:d.avatar,sx:{width:56,height:56,mr:2},children:_optionalChain([d, 'access', _36 => _36.fullName, 'optionalAccess', _37 => _37[0]])||_optionalChain([d, 'access', _38 => _38.username, 'optionalAccess', _39 => _39[0]])||_optionalChain([d, 'access', _40 => _40.email, 'optionalAccess', _41 => _41[0]])}),_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h6",children:d.fullName||d.username||d.email}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",children:d.role||"Usuario"}),d.isActive!==void 0&&_jsxruntime.jsx.call(void 0, _material.Chip,{label:d.isActive?"Activo":"Inactivo",color:d.isActive?"success":"error",size:"small",sx:{mt:.5}})]})]}),_jsxruntime.jsx.call(void 0, _material.Box,{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(250px, 1fr))",gap:2,children:s.map(({key:f,label:v,icon:E})=>d[f]?_jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",alignItems:"center",children:[_jsxruntime.jsx.call(void 0, _material.Box,{sx:{mr:1,color:"text.secondary"},children:E}),_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",color:"text.secondary",children:v}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",children:c(f,d[f])})]})]},f):null)}),d.permissions&&Array.isArray(d.permissions)&&d.permissions.length>0&&_jsxruntime.jsxs.call(void 0, _material.Box,{mt:2,children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",color:"text.secondary",display:"block",children:"Permisos"}),_jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",flexWrap:"wrap",gap:.5,mt:.5,children:[d.permissions.slice(0,5).map((f,v)=>_jsxruntime.jsx.call(void 0, _material.Chip,{label:f,size:"small",variant:"outlined"},v)),d.permissions.length>5&&_jsxruntime.jsx.call(void 0, _material.Chip,{label:`+${d.permissions.length-5} m\xE1s`,size:"small"})]})]})]})}),e&&_jsxruntime.jsx.call(void 0, _material.Card,{children:_jsxruntime.jsxs.call(void 0, _material.CardContent,{children:[_jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2,children:[_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"h6",display:"flex",alignItems:"center",children:[_jsxruntime.jsx.call(void 0, _iconsmaterial.Info,{sx:{mr:1}}),"Informaci\xF3n Detallada"]}),_jsxruntime.jsx.call(void 0, _material.Chip,{label:`${b} campos totales`,size:"small"})]}),_jsxruntime.jsxs.call(void 0, _material.List,{dense:!0,children:[y.map(({key:f,label:v})=>d[f]!==void 0&&_jsxruntime.jsxs.call(void 0, _material.ListItem,{divider:!0,children:[_jsxruntime.jsx.call(void 0, _material.ListItemIcon,{children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Schedule,{fontSize:"small"})}),_jsxruntime.jsx.call(void 0, _material.ListItemText,{primary:v,secondary:f.includes("At")||f.includes("Login")?w(d[f]):c(f,d[f])})]},f)),m.length>0&&_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{my:1}}),_jsxruntime.jsx.call(void 0, _material.ListItem,{children:_jsxruntime.jsx.call(void 0, _material.ListItemText,{primary:_jsxruntime.jsxs.call(void 0, _material.Box,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"subtitle2",children:["Campos Personalizados (",m.length,")"]}),_jsxruntime.jsx.call(void 0, _material.IconButton,{size:"small",onClick:()=>h(!u),children:u?_jsxruntime.jsx.call(void 0, _iconsmaterial.ExpandLess,{}):_jsxruntime.jsx.call(void 0, _iconsmaterial.ExpandMore,{})})]})})}),_jsxruntime.jsx.call(void 0, _material.Collapse,{in:u,children:m.map(({key:f,label:v})=>_jsxruntime.jsx.call(void 0, _material.ListItem,{sx:{pl:4},children:_jsxruntime.jsx.call(void 0, _material.ListItemText,{primary:v,secondary:c(f,d[f])})},f))})]})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{mt:2,display:"flex",justifyContent:"space-between",alignItems:"center",children:[_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"caption",color:"text.secondary",children:["\xDAltima actualizaci\xF3n: ",w(d.updatedAt)]}),_jsxruntime.jsx.call(void 0, _material.IconButton,{size:"small",onClick:a,disabled:i,children:_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",children:"Actualizar"})})]})]})})]})},Gn= exports.p =qn;var Ko=["create","read","update","delete"],qo= exports.r =["create","read","update","delete"];var _reacti18next = require('react-i18next');var ni=({value:e,onChange:r,availableFields:o,error:t,disabled:i=!1})=>{let{t:n}=_reacti18next.useTranslation.call(void 0, ),[l,a]=_react.useState.call(void 0, "custom"),[u,h]=_react.useState.call(void 0, !1),d=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{u&&_optionalChain([d, 'access', _42 => _42.current, 'optionalAccess', _43 => _43.scrollIntoView, 'call', _44 => _44({behavior:"smooth",block:"start"})])},[u]);let b=_react.useRef.call(void 0, !1);_react.useEffect.call(void 0, ()=>{let p=e||{allow:[],owner_allow:[],deny:[]},m=new Set(o),f=(p.allow||[]).filter(g=>m.has(g)),v=(p.owner_allow||[]).filter(g=>m.has(g)),E=(p.deny||[]).filter(g=>m.has(g));o.forEach(g=>{!f.includes(g)&&!v.includes(g)&&!E.includes(g)&&E.push(g)});let z={allow:f,owner_allow:v,deny:E};JSON.stringify(z)!==JSON.stringify(p)&&r(z),f.length===o.length?a("all"):E.length===o.length?a("none"):a("custom")},[o,e]);let w=()=>{b.current=!0,r({allow:[...o],owner_allow:[],deny:[]}),a("all"),setTimeout(()=>{b.current=!1},0)},c=()=>{b.current=!0,r({allow:[],owner_allow:[],deny:[...o]}),a("none"),setTimeout(()=>{b.current=!1},0)},s=p=>_optionalChain([e, 'optionalAccess', _45 => _45.allow, 'optionalAccess', _46 => _46.includes, 'call', _47 => _47(p)])?"allow":_optionalChain([e, 'optionalAccess', _48 => _48.owner_allow, 'optionalAccess', _49 => _49.includes, 'call', _50 => _50(p)])?"owner_allow":"deny",y=(p,m)=>{b.current=!0;let f=new Set(_optionalChain([e, 'optionalAccess', _51 => _51.allow])||[]),v=new Set(_optionalChain([e, 'optionalAccess', _52 => _52.owner_allow])||[]),E=new Set(_optionalChain([e, 'optionalAccess', _53 => _53.deny])||[]);f.delete(p),v.delete(p),E.delete(p),m==="allow"&&f.add(p),m==="owner_allow"&&v.add(p),m==="deny"&&E.add(p),r({allow:Array.from(f),owner_allow:Array.from(v),deny:Array.from(E)}),a("custom"),setTimeout(()=>{b.current=!1},0)};return o.length===0?_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{mb:1},children:n("publicPolicies.fields.conditions.label")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{fontStyle:"italic"},children:n("publicPolicies.fields.conditions.noFieldsAvailable")}),t&&_jsxruntime.jsx.call(void 0, _material.FormHelperText,{error:!0,sx:{mt:1},children:t})]}):_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{mb:2},children:n("publicPolicies.fields.conditions.label")}),_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",spacing:1,alignItems:"center",sx:{mb:u?3:1},children:[_jsxruntime.jsx.call(void 0, _material.Button,{variant:l==="all"?"contained":"outlined",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.SelectAll,{}),onClick:w,disabled:i,size:"small",sx:{minWidth:120,...l==="all"&&{backgroundColor:"#16a34a","&:hover":{backgroundColor:"#15803d"}}},children:n("publicPolicies.fields.conditions.allFields")}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:l==="none"?"contained":"outlined",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.ClearAll,{}),onClick:c,disabled:i,size:"small",sx:{minWidth:120,...l==="none"&&{backgroundColor:"#cf222e","&:hover":{backgroundColor:"#bc1f2c"}}},children:n("publicPolicies.fields.conditions.noFields")}),_jsxruntime.jsx.call(void 0, _material.Box,{sx:{display:"flex",alignItems:"center",px:1.5,py:.35,borderRadius:"999px",backgroundColor:"#f3f4f6",border:"1px solid #d1d9e0"},children:_jsxruntime.jsx.call(void 0, _material.FormControlLabel,{control:_jsxruntime.jsx.call(void 0, _material.Switch,{size:"small",checked:u,onChange:()=>h(p=>!p),disabled:i,color:"primary",sx:{transform:"scale(1.15)",transformOrigin:"center",m:0}}),label:n("publicPolicies.fields.conditions.customEdit"),labelPlacement:"end",sx:{ml:0,".MuiFormControlLabel-label":{fontSize:"0.75rem"}}})})]}),u&&_jsxruntime.jsxs.call(void 0, _material.Box,{ref:d,sx:{p:2,border:"1px solid #d1d9e0",borderRadius:1,backgroundColor:"#f6f8fa"},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{mb:2},children:n("publicPolicies.fields.conditions.help")}),_jsxruntime.jsx.call(void 0, _material.Stack,{spacing:1,children:o.map(p=>{let m=s(p);return _jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",spacing:1,alignItems:"center",children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",sx:{minWidth:100,fontFamily:"monospace"},children:p}),_jsxruntime.jsxs.call(void 0, _material.ToggleButtonGroup,{value:m,exclusive:!0,size:"small",children:[_jsxruntime.jsxs.call(void 0, _material.ToggleButton,{value:"allow",onClick:()=>y(p,"allow"),disabled:i,sx:{px:2,color:m==="allow"?"#ffffff":"#6b7280",backgroundColor:m==="allow"?"#16a34a":"#f3f4f6",borderColor:m==="allow"?"#16a34a":"#d1d5db","&:hover":{backgroundColor:m==="allow"?"#15803d":"#e5e7eb",borderColor:m==="allow"?"#15803d":"#9ca3af"},"&.Mui-selected":{backgroundColor:"#16a34a",color:"#ffffff","&:hover":{backgroundColor:"#15803d"}}},children:[_jsxruntime.jsx.call(void 0, _iconsmaterial.CheckCircle,{sx:{fontSize:16,mr:.5}}),n("publicPolicies.fields.conditions.states.allow")]}),_jsxruntime.jsx.call(void 0, _material.ToggleButton,{value:"owner_allow",onClick:()=>y(p,"owner_allow"),disabled:i,sx:{px:2,color:m==="owner_allow"?"#ffffff":"#6b7280",backgroundColor:m==="owner_allow"?"#0ea5e9":"#f3f4f6",borderColor:m==="owner_allow"?"#0ea5e9":"#d1d5db","&:hover":{backgroundColor:m==="owner_allow"?"#0284c7":"#e5e7eb",borderColor:m==="owner_allow"?"#0284c7":"#9ca3af"},"&.Mui-selected":{backgroundColor:"#0ea5e9",color:"#ffffff","&:hover":{backgroundColor:"#0284c7"}}},children:n("publicPolicies.fields.conditions.states.ownerAllow")}),_jsxruntime.jsxs.call(void 0, _material.ToggleButton,{value:"deny",onClick:()=>y(p,"deny"),disabled:i,sx:{px:2,color:m==="deny"?"#ffffff":"#6b7280",backgroundColor:m==="deny"?"#dc2626":"#f3f4f6",borderColor:m==="deny"?"#dc2626":"#d1d5db","&:hover":{backgroundColor:m==="deny"?"#b91c1c":"#e5e7eb",borderColor:m==="deny"?"#b91c1c":"#9ca3af"},"&.Mui-selected":{backgroundColor:"#dc2626",color:"#ffffff","&:hover":{backgroundColor:"#b91c1c"}}},children:[_jsxruntime.jsx.call(void 0, _iconsmaterial.Cancel,{sx:{fontSize:16,mr:.5}}),n("publicPolicies.fields.conditions.states.deny")]})]})]},p)})})]}),t&&_jsxruntime.jsx.call(void 0, _material.FormHelperText,{error:!0,sx:{mt:1},children:t})]})},Ir=ni;var hi=_react.forwardRef.call(void 0, ({policy:e,onChange:r,onRemove:o,availableFields:t,isSubmitting:i=!1,usedActions:n,error:l},a)=>{let{t:u}=_reacti18next.useTranslation.call(void 0, ),h=new Set(Array.from(n||[]));h.delete(e.action);let d=Ko.map(b=>({value:b,label:u(`publicPolicies.fields.action.options.${b}`)}));return _jsxruntime.jsxs.call(void 0, _material.Paper,{ref:a,sx:{p:3,border:"1px solid #d1d9e0",borderRadius:2,position:"relative",backgroundColor:"#ffffff"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",mb:3},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"subtitle1",sx:{fontWeight:600,color:"#111418",fontSize:"1rem"},children:u("publicPolicies.policyTitle")}),_jsxruntime.jsx.call(void 0, _material.IconButton,{onClick:o,size:"small",disabled:i,"aria-label":u("publicPolicies.removePolicy"),sx:{color:"#656d76","&:hover":{color:"#cf222e",backgroundColor:"rgba(207, 34, 46, 0.1)"}},children:_jsxruntime.jsx.call(void 0, _iconsmaterial.Delete,{})})]}),_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:1,children:[_jsxruntime.jsx.call(void 0, _material.Stack,{direction:{xs:"column",md:"row"},spacing:2,children:_jsxruntime.jsx.call(void 0, _material.Box,{sx:{flex:1,minWidth:200},children:_jsxruntime.jsxs.call(void 0, _material.FormControl,{fullWidth:!0,children:[_jsxruntime.jsx.call(void 0, _material.InputLabel,{children:u("publicPolicies.fields.action.label")}),_jsxruntime.jsx.call(void 0, _material.Select,{value:e.action,label:u("publicPolicies.fields.action.label"),disabled:i,onChange:b=>{let w=b.target.value,c={...e,action:w};w==="delete"?(c.permission="deny",delete c.fields):(c.fields={allow:[],owner_allow:[],deny:t},delete c.permission),r(c)},sx:{backgroundColor:"#ffffff","&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#8c959f"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#0969da",borderWidth:2}},children:d.map(b=>{let w=h.has(b.value);return _jsxruntime.jsx.call(void 0, _material.MenuItem,{value:b.value,disabled:w,children:b.label},b.value)})}),l&&_jsxruntime.jsx.call(void 0, _material.FormHelperText,{error:!0,children:l})]})})}),e.action==="delete"?_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{mb:2},children:u("publicPolicies.fields.conditions.label")}),_jsxruntime.jsxs.call(void 0, _material.Stack,{direction:"row",spacing:1,sx:{mb:1},children:[_jsxruntime.jsx.call(void 0, _material.Button,{variant:e.permission==="*"?"contained":"outlined",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.SelectAll,{}),onClick:()=>r({...e,permission:"*"}),disabled:i,size:"small",sx:{minWidth:140,whiteSpace:"nowrap",...e.permission==="*"&&{backgroundColor:"#16a34a","&:hover":{backgroundColor:"#15803d"}}},children:u("publicPolicies.fields.conditions.allFields")}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:e.permission==="owner"?"contained":"outlined",onClick:()=>r({...e,permission:"owner"}),disabled:i,size:"small",sx:{minWidth:140,whiteSpace:"nowrap",...e.permission==="owner"&&{backgroundColor:"#0ea5e9","&:hover":{backgroundColor:"#0284c7"}}},children:u("publicPolicies.fields.conditions.states.ownerAllow")}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:e.permission==="deny"?"contained":"outlined",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.ClearAll,{}),onClick:()=>r({...e,permission:"deny"}),disabled:i,size:"small",sx:{minWidth:140,whiteSpace:"nowrap",...e.permission==="deny"&&{backgroundColor:"#cf222e","&:hover":{backgroundColor:"#bc1f2c"}}},children:u("publicPolicies.fields.conditions.noFields")})]})]}):_jsxruntime.jsx.call(void 0, Ir,{value:e.fields||{allow:[],owner_allow:[],deny:[]},onChange:b=>r({...e,fields:b}),availableFields:t,disabled:i}),_jsxruntime.jsx.call(void 0, _material.Paper,{variant:"outlined",sx:{p:2,backgroundColor:"#f9fafb"},children:e.action==="delete"?_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"span",sx:{color:e.permission==="*"?"#16a34a":e.permission==="owner"?"#0ea5e9":"#dc2626"},children:[u("publicPolicies.fields.conditions.states.allow"),":"]})," ",e.permission||"-"]}):_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:.5,divider:_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{borderColor:"#e5e7eb"}}),children:[_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"span",sx:{color:"#16a34a"},children:[u("publicPolicies.fields.conditions.states.allow"),":"]})," ",(_optionalChain([e, 'optionalAccess', _54 => _54.fields, 'optionalAccess', _55 => _55.allow])||[]).join(", ")||"-"]}),_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"span",sx:{color:"#0ea5e9"},children:[u("publicPolicies.fields.conditions.states.ownerAllow"),":"]})," ",(_optionalChain([e, 'optionalAccess', _56 => _56.fields, 'optionalAccess', _57 => _57.owner_allow])||[]).join(", ")||"-"]}),_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary"},children:[_jsxruntime.jsxs.call(void 0, _material.Box,{component:"span",sx:{color:"#dc2626"},children:[u("publicPolicies.fields.conditions.states.deny"),":"]})," ",(_optionalChain([e, 'optionalAccess', _58 => _58.fields, 'optionalAccess', _59 => _59.deny])||[]).join(", ")||"-"]})]})})]})]})}),Lr=hi;var Ti=()=>typeof globalThis<"u"&&_optionalChain([globalThis, 'access', _60 => _60.crypto, 'optionalAccess', _61 => _61.randomUUID])?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,Ri=({policies:e,onChange:r,availableFields:o,errors:t,isSubmitting:i=!1})=>{let{t:n}=_reacti18next.useTranslation.call(void 0, ),l=_react.useRef.call(void 0, {}),a=new Set((e||[]).map(s=>s.action).filter(Boolean)),u=qo.filter(s=>!a.has(s)),h=u.length>0,d=()=>{let s=u[0]||"create",y={id:Ti(),action:s};s==="delete"?y.permission="deny":y.fields={allow:[],owner_allow:[],deny:o};let p=[...e||[],y];r(p),setTimeout(()=>{let m=p.length-1,f=l.current[m];f&&f.scrollIntoView({behavior:"smooth",block:"center"})},100)},b=s=>{let y=[...e];y.splice(s,1),r(y)},w=(()=>{if(!t)return null;if(typeof t=="string")return t;let s=t._error;return typeof s=="string"?s:null})(),c=new Set((e||[]).map(s=>s.action));return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _material.Divider,{sx:{borderColor:"#e0e4e7"}}),_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Box,{display:"flex",justifyContent:"space-between",alignItems:"center",mb:3,children:_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h6",sx:{fontWeight:600,color:"#111418",mb:1},children:n("publicPolicies.title")}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",sx:{fontSize:"0.875rem"},children:n("publicPolicies.description")})]})}),w&&_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"error",sx:{mb:3},children:w}),_jsxruntime.jsxs.call(void 0, _material.Stack,{spacing:3,children:[(e||[]).length===0?_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"info",children:n("publicPolicies.noPolicies")}):e.map((s,y)=>_jsxruntime.jsx.call(void 0, Lr,{ref:p=>{l.current[y]=p},policy:s,onChange:p=>{let m=[...e];m[y]=p,r(m)},onRemove:()=>b(y),availableFields:o,isSubmitting:i,usedActions:c,error:typeof t=="object"&&t!==null&&!("_error"in t)&&s.id in t?t[s.id]:void 0},s.id)),h&&_jsxruntime.jsx.call(void 0, _material.Box,{children:_jsxruntime.jsx.call(void 0, _material.Button,{type:"button",variant:"outlined",startIcon:_jsxruntime.jsx.call(void 0, _iconsmaterial.Add,{}),onClick:d,disabled:i,sx:{borderColor:"#d0d7de",color:"#656d76","&:hover":{borderColor:"#8c959f",backgroundColor:"transparent"}},children:n("publicPolicies.addPolicy")})})]})]})]})},Jl= exports.s =Ri;function tc(){let[e,r]=_react.useState.call(void 0, ""),[o,t]=_react.useState.call(void 0, ""),[i,n]=_react.useState.call(void 0, !1),{isAuthenticated:l,isLoading:a,error:u,login:h,logout:d,refreshTokens:b,clearError:w,isExpiringSoon:c,expiresIn:s}=_chunk6ONAT4QUjs.l.call(void 0, ),y=async f=>{if(f.preventDefault(),!e||!o)return;(await h(e,o)).success&&(r(""),t(""),n(!1))},p=async()=>{await d()},m=async()=>{await b()};return l?_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{maxWidth:600,mx:"auto",p:3},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h4",gutterBottom:!0,children:"Welcome! \u{1F389}"}),_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"success",sx:{mb:3},children:"You are successfully logged in with Refresh Token Pattern enabled"}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{mb:3,p:2,bgcolor:"background.paper",border:1,borderColor:"divider",borderRadius:1},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h6",gutterBottom:!0,children:"Token Status"}),_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"body2",color:"text.secondary",children:["Access Token expires in: ",Math.round(s/1e3/60)," minutes"]}),c&&_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"warning",sx:{mt:1},children:"Token expires soon - automatic refresh will happen"})]}),_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",gap:2,flexWrap:"wrap"},children:[_jsxruntime.jsx.call(void 0, _material.Button,{variant:"contained",onClick:m,disabled:a,startIcon:a?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:16}):null,children:"Refresh Tokens"}),_jsxruntime.jsx.call(void 0, _material.Button,{variant:"outlined",color:"error",onClick:p,disabled:a,children:"Logout"})]}),u&&_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"error",sx:{mt:2},onClose:w,children:u})]}):_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{maxWidth:400,mx:"auto",p:3},children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"h4",gutterBottom:!0,align:"center",children:"Login with Refresh Tokens"}),_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"info",sx:{mb:3},children:"This demo shows the new Refresh Token Pattern with automatic session management"}),i?_jsxruntime.jsxs.call(void 0, "form",{onSubmit:y,children:[_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,label:"Email",type:"email",value:e,onChange:f=>r(f.target.value),margin:"normal",required:!0,autoComplete:"email"}),_jsxruntime.jsx.call(void 0, _material.TextField,{fullWidth:!0,label:"Password",type:"password",value:o,onChange:f=>t(f.target.value),margin:"normal",required:!0,autoComplete:"current-password"}),_jsxruntime.jsx.call(void 0, _material.Button,{type:"submit",fullWidth:!0,variant:"contained",size:"large",disabled:a,startIcon:a?_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:16}):null,sx:{mt:3,mb:2},children:a?"Logging in...":"Login"})]}):_jsxruntime.jsx.call(void 0, _material.Button,{fullWidth:!0,variant:"contained",size:"large",onClick:()=>n(!0),sx:{mt:2},children:"Show Login Form"}),u&&_jsxruntime.jsx.call(void 0, _material.Alert,{severity:"error",sx:{mt:2},onClose:w,children:u})]})}function nc(){let{isAuthenticated:e,isLoading:r,isExpiringSoon:o,expiresIn:t}=_chunk6ONAT4QUjs.l.call(void 0, );return r?_jsxruntime.jsxs.call(void 0, _material.Box,{sx:{display:"flex",alignItems:"center",gap:1},children:[_jsxruntime.jsx.call(void 0, _material.CircularProgress,{size:16}),_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",children:"Loading session..."})]}):e?_jsxruntime.jsxs.call(void 0, _material.Box,{children:[_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",color:"success.main",children:"\u2713 Authenticated"}),o&&_jsxruntime.jsxs.call(void 0, _material.Typography,{variant:"caption",color:"warning.main",display:"block",children:["\u26A0 Token expires in ",Math.round(t/1e3/60)," min"]})]}):_jsxruntime.jsx.call(void 0, _material.Typography,{variant:"caption",color:"text.secondary",children:"Not logged in"})}var _TextField = require('@mui/material/TextField'); var _TextField2 = _interopRequireDefault(_TextField);var _CircularProgress = require('@mui/material/CircularProgress'); var _CircularProgress2 = _interopRequireDefault(_CircularProgress);var _InputAdornment = require('@mui/material/InputAdornment'); var _InputAdornment2 = _interopRequireDefault(_InputAdornment);var _IconButton = require('@mui/material/IconButton'); var _IconButton2 = _interopRequireDefault(_IconButton);var _Refresh = require('@mui/icons-material/Refresh'); var _Refresh2 = _interopRequireDefault(_Refresh);var Li=e=>e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/javascript:/gi,"").replace(/on\w+\s*=/gi,"").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,""),Fi=({html:e})=>_jsxruntime.jsx.call(void 0, "span",{dangerouslySetInnerHTML:{__html:Li(e)}}),gc= exports.v =({config:e,value:r,onChange:o,label:t,error:i=!1,helperText:n,readOnly:l=!1,disabled:a=!1})=>{let{value:u,loading:h,error:d,regenerate:b}=_chunk6ONAT4QUjs.o.call(void 0, e,{autoFetch:!r,onSuccess:m=>{_optionalChain([o, 'optionalCall', _62 => _62(m)])}}),w=r||u,c=i||!!d,s=d||n,y=c&&s&&(s.toLowerCase().includes("duplicate")||s.toLowerCase().includes("duplicado")||s.toLowerCase().includes("duplicada")||s.toLowerCase().includes("unique")||s.toLowerCase().includes("\xFAnico")||s.toLowerCase().includes("unico")||s.toLowerCase().includes("\xFAnica")||s.toLowerCase().includes("unica")||s.toLowerCase().includes("already exists")||s.toLowerCase().includes("ya existe")||s.toLowerCase().includes("e11000"));return _jsxruntime.jsx.call(void 0, _TextField2.default,{label:t,fullWidth:!0,value:w,error:c,helperText:s?_jsxruntime.jsx.call(void 0, Fi,{html:s}):" ",disabled:a,InputProps:{readOnly:!0,startAdornment:h?_jsxruntime.jsx.call(void 0, _InputAdornment2.default,{position:"start",children:_jsxruntime.jsx.call(void 0, _CircularProgress2.default,{size:20})}):void 0,endAdornment:y&&!h?_jsxruntime.jsx.call(void 0, _InputAdornment2.default,{position:"end",children:_jsxruntime.jsx.call(void 0, _IconButton2.default,{edge:"end",onClick:async()=>{!a&&!h&&await b()},disabled:a,size:"small",color:"error","aria-label":"regenerar c\xF3digo",title:"Regenerar c\xF3digo",children:_jsxruntime.jsx.call(void 0, _Refresh2.default,{})})}):void 0}})};var _Box = require('@mui/material/Box'); var _Box2 = _interopRequireDefault(_Box);var _Typography = require('@mui/material/Typography'); var _Typography2 = _interopRequireDefault(_Typography);var _LinearProgress = require('@mui/material/LinearProgress'); var _LinearProgress2 = _interopRequireDefault(_LinearProgress);var _Chip = require('@mui/material/Chip'); var _Chip2 = _interopRequireDefault(_Chip);var _Paper = require('@mui/material/Paper'); var _Paper2 = _interopRequireDefault(_Paper);var _List = require('@mui/material/List'); var _List2 = _interopRequireDefault(_List);var _ListItem = require('@mui/material/ListItem'); var _ListItem2 = _interopRequireDefault(_ListItem);var _ListItemText = require('@mui/material/ListItemText'); var _ListItemText2 = _interopRequireDefault(_ListItemText);var _ListItemSecondaryAction = require('@mui/material/ListItemSecondaryAction'); var _ListItemSecondaryAction2 = _interopRequireDefault(_ListItemSecondaryAction);var _FormHelperText = require('@mui/material/FormHelperText'); var _FormHelperText2 = _interopRequireDefault(_FormHelperText);var _Dialog = require('@mui/material/Dialog'); var _Dialog2 = _interopRequireDefault(_Dialog);var _DialogTitle = require('@mui/material/DialogTitle'); var _DialogTitle2 = _interopRequireDefault(_DialogTitle);var _DialogContent = require('@mui/material/DialogContent'); var _DialogContent2 = _interopRequireDefault(_DialogContent);var _DialogActions = require('@mui/material/DialogActions'); var _DialogActions2 = _interopRequireDefault(_DialogActions);var _Button = require('@mui/material/Button'); var _Button2 = _interopRequireDefault(_Button);var _CloudUpload = require('@mui/icons-material/CloudUpload'); var _CloudUpload2 = _interopRequireDefault(_CloudUpload);var _InsertDriveFile = require('@mui/icons-material/InsertDriveFile'); var _InsertDriveFile2 = _interopRequireDefault(_InsertDriveFile);var _Image = require('@mui/icons-material/Image'); var _Image2 = _interopRequireDefault(_Image);var _PictureAsPdf = require('@mui/icons-material/PictureAsPdf'); var _PictureAsPdf2 = _interopRequireDefault(_PictureAsPdf);var _Delete = require('@mui/icons-material/Delete'); var _Delete2 = _interopRequireDefault(_Delete);var _Restore = require('@mui/icons-material/Restore'); var _Restore2 = _interopRequireDefault(_Restore);var _Error = require('@mui/icons-material/Error'); var _Error2 = _interopRequireDefault(_Error);var _BrokenImage = require('@mui/icons-material/BrokenImage'); var _BrokenImage2 = _interopRequireDefault(_BrokenImage);var Qi=e=>e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/javascript:/gi,"").replace(/on\w+\s*=/gi,"").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,""),es=e=>{if(e===0)return"0 B";let r=1024,o=["B","KB","MB","GB"],t=Math.floor(Math.log(e)/Math.log(r));return`${parseFloat((e/Math.pow(r,t)).toFixed(1))} ${o[t]}`},rs=e=>e.startsWith("image/")?_jsxruntime.jsx.call(void 0, _Image2.default,{color:"primary"}):e==="application/pdf"?_jsxruntime.jsx.call(void 0, _PictureAsPdf2.default,{color:"error"}):_jsxruntime.jsx.call(void 0, _InsertDriveFile2.default,{color:"action"}),os=(e,r)=>{switch(e){case"completed":return _jsxruntime.jsx.call(void 0, _CheckCircle2.default,{color:"success",fontSize:"small"});case"error":return _jsxruntime.jsx.call(void 0, _Error2.default,{color:"error",fontSize:"small"});case"uploading":case"pending":return _jsxruntime.jsx.call(void 0, _CircularProgress2.default,{size:16});case"removing":return _jsxruntime.jsx.call(void 0, _CircularProgress2.default,{size:16,color:"error"});case"pendingDeletion":return _jsxruntime.jsx.call(void 0, _Chip2.default,{label:r("base.file.pendingDeletion"),size:"small",color:"warning",variant:"outlined",sx:{fontSize:"0.65rem",height:20}});default:return null}},ts=({file:e,baseUrl:r,disabled:o,onRemove:t,onRestore:i,onRetry:n})=>{let{t:l}=Me(),[a,u]=_react.useState.call(void 0, !1),h=e.status==="pendingDeletion",d=!o&&e.status!=="uploading"&&e.status!=="removing"&&!h,b=!o&&h,w=!o&&e.status==="error"&&e.file,c=e.contentType.startsWith("image/"),s=e.visibility==="public"||_optionalChain([e, 'access', _63 => _63.filePath, 'optionalAccess', _64 => _64.startsWith, 'call', _65 => _65("public/")])||_optionalChain([e, 'access', _66 => _66.filePath, 'optionalAccess', _67 => _67.startsWith, 'call', _68 => _68(r)]),p=!e.filePath||!s?null:e.filePath.startsWith("http://")||e.filePath.startsWith("https://")||e.filePath.startsWith(r)?e.filePath:`${r}${e.filePath}`,m=e.status==="completed"&&p,f=()=>c&&m&&!a?_jsxruntime.jsx.call(void 0, _Box2.default,{component:m?"a":"div",href:p||void 0,target:"_blank",rel:"noopener noreferrer",sx:{width:48,height:48,borderRadius:1,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"grey.100",border:"1px solid",borderColor:"divider",cursor:m?"pointer":"default",transition:"all 0.2s ease",flexShrink:0,"&:hover":m?{borderColor:"primary.main",transform:"scale(1.05)"}:{}},children:_jsxruntime.jsx.call(void 0, "img",{src:p,alt:e.name,style:{width:"100%",height:"100%",objectFit:"cover"},onError:()=>u(!0)})}):_jsxruntime.jsx.call(void 0, _Box2.default,{component:m?"a":"div",href:p||void 0,target:"_blank",rel:"noopener noreferrer",sx:{width:48,height:48,borderRadius:1,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"grey.50",border:"1px solid",borderColor:"divider",cursor:m?"pointer":"default",transition:"all 0.2s ease",flexShrink:0,textDecoration:"none","&:hover":m?{borderColor:"primary.main",bgcolor:"action.hover"}:{}},children:rs(e.contentType)});return _jsxruntime.jsxs.call(void 0, _ListItem2.default,{sx:{borderRadius:1,mb:.5,bgcolor:e.status==="error"?"error.lighter":"background.paper",border:"1px solid",borderColor:e.status==="error"?"error.light":"divider",gap:1.5},children:[f(),_jsxruntime.jsx.call(void 0, _ListItemText2.default,{primary:_jsxruntime.jsxs.call(void 0, _Box2.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"body2",noWrap:!0,sx:{maxWidth:200,overflow:"hidden",textOverflow:"ellipsis",textDecoration:h?"line-through":"none",opacity:h?.6:1},children:e.name}),os(e.status,l)]}),secondary:_jsxruntime.jsxs.call(void 0, _Box2.default,{sx:{opacity:h?.6:1},children:[e.size>0&&_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"caption",color:"text.secondary",children:es(e.size)}),e.status==="uploading"&&_jsxruntime.jsx.call(void 0, _LinearProgress2.default,{variant:"determinate",value:e.progress,sx:{mt:.5,height:4,borderRadius:2}}),e.status==="error"&&e.errorMessage&&_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"caption",color:"error",display:"block",children:e.errorMessage}),m&&_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"caption",color:"primary",display:"block",component:"a",href:p||void 0,target:"_blank",rel:"noopener noreferrer",sx:{cursor:"pointer",textDecoration:"underline","&:hover":{textDecoration:"none"}},children:l(c?"base.file.clickToPreview":"base.file.clickToDownload")})]})}),_jsxruntime.jsxs.call(void 0, _ListItemSecondaryAction2.default,{children:[w&&_jsxruntime.jsx.call(void 0, _IconButton2.default,{edge:"end",size:"small",onClick:()=>n(e.id),color:"primary",title:l("base.file.restore"),children:_jsxruntime.jsx.call(void 0, _Refresh2.default,{fontSize:"small"})}),b&&_jsxruntime.jsx.call(void 0, _IconButton2.default,{edge:"end",size:"small",onClick:()=>i(e.id),color:"primary",title:l("base.file.restore"),children:_jsxruntime.jsx.call(void 0, _Restore2.default,{fontSize:"small"})}),d&&_jsxruntime.jsx.call(void 0, _IconButton2.default,{edge:"end",size:"small",onClick:()=>t(e.id),color:"error",title:l("base.file.delete"),children:_jsxruntime.jsx.call(void 0, _Delete2.default,{fontSize:"small"})})]})]})};var Gc=({label:e,accept:r,maxFileSize:o=10*1024*1024,multiple:t=!1,maxFiles:i,minFiles:n=0,required:l=!1,disabled:a=!1,error:u=!1,helperText:h,onChange:d,onValidation:b,initialFiles:w,placeholder:c,showFileList:s=!0,visibility:y="private",showPreview:p=!0,baseUrl:m,onDeletionHandlersReady:f,mode:v="create"})=>{let{t:E}=Me(),z=_react.useRef.call(void 0, null),[g,C]=_react.useState.call(void 0, !1),[I,L]=_react.useState.call(void 0, !1),[Y,le]=_react.useState.call(void 0, null),[ee,ne]=_react.useState.call(void 0, !1),Oe=t?i:1,Ie=l?Math.max(n,1):n,W={acceptedTypes:r,maxFileSize:o,maxFiles:Oe,minFiles:Ie,visibility:y,mode:v,onFilesChange:F=>{let ce=F.filter(Je=>Je.status==="completed"&&Je.filePath).map(Je=>{let gr=Je.filePath;return gr.startsWith("/")?gr:`/${gr}`});_optionalChain([d, 'optionalCall', _69 => _69(ce)])}},{files:V,isUploading:Z,addFiles:S,removeFile:P,restoreFile:H,retryUpload:ie,isValid:re,validationError:Ue,validationErrorKey:Re,validationErrorParams:Ae,initializeFiles:Xe,isTouched:Or,markAsTouched:k,isSubmitted:D,markAsSubmitted:M,getPreviewUrl:q,commitDeletions:G,restorePendingDeletions:X,hasPendingDeletions:ye,deleteFileImmediately:Ur,activeFiles:Ts,activeFileCount:dt,waitForUploads:Mr,completedFilePaths:Nr}=_chunk6ONAT4QUjs.r.call(void 0, W),Wr=_react.useCallback.call(void 0, ()=>Nr,[Nr]),Hr=_react.useRef.call(void 0, !1);_react2.default.useEffect(()=>{w&&w.length>0&&!Hr.current&&(Hr.current=!0,Xe(w,m))},[w,Xe,m]),_react2.default.useEffect(()=>{_optionalChain([b, 'optionalCall', _70 => _70(re,Ue)])},[re,Ue,b]),_react2.default.useEffect(()=>{_optionalChain([f, 'optionalCall', _71 => _71({commitDeletions:G,restorePendingDeletions:X,hasPendingDeletions:ye,markAsSubmitted:M,isValid:re,isUploading:Z,waitForUploads:Mr,getCompletedFilePaths:Wr})])},[f,G,X,ye,M,re,Z,Mr,Wr]);let ut=_react.useCallback.call(void 0, F=>{k();let ce=F.target.files;ce&&ce.length>0&&S(ce),z.current&&(z.current.value="")},[S,k]),pt=_react.useCallback.call(void 0, ()=>{a||_optionalChain([z, 'access', _72 => _72.current, 'optionalAccess', _73 => _73.click, 'call', _74 => _74()])},[a]),gt=_react.useCallback.call(void 0, F=>{F.preventDefault(),F.stopPropagation(),a||C(!0)},[a]),mt=_react.useCallback.call(void 0, F=>{F.preventDefault(),F.stopPropagation(),C(!1)},[]),ft=_react.useCallback.call(void 0, F=>{if(F.preventDefault(),F.stopPropagation(),C(!1),a)return;k();let ce=F.dataTransfer.files;ce&&ce.length>0&&S(ce)},[a,S,k]),yt=_react.useCallback.call(void 0, async F=>{(await P(F)).needsConfirmation&&(le(F),L(!0))},[P]),ht=_react.useCallback.call(void 0, async()=>{if(Y){ne(!0);try{let F=await Ur(Y);F.success||_chunkCR5KJUSTjs.a.error("Error deleting file",{error:F.error})}finally{ne(!1),L(!1),le(null)}}},[Y,Ur]),Vr=_react.useCallback.call(void 0, ()=>{L(!1),le(null)},[]),bt=_optionalChain([r, 'optionalAccess', _75 => _75.join, 'call', _76 => _76(",")])||"",xt=!a&&(t||dt===0),$r=D&&!re,pr=u||$r,jr=h||($r&&Re?E(Re,Ae):null);return _jsxruntime.jsxs.call(void 0, _Box2.default,{sx:{width:"100%"},children:[e&&_jsxruntime.jsxs.call(void 0, _Typography2.default,{variant:"body2",sx:{mb:1,fontWeight:500,color:pr?"error.main":"text.primary"},children:[e,l&&_jsxruntime.jsx.call(void 0, "span",{style:{color:"red"},children:" *"})]}),_jsxruntime.jsx.call(void 0, "input",{ref:z,type:"file",accept:bt,multiple:t,onChange:ut,disabled:a,style:{display:"none"}}),xt&&_jsxruntime.jsxs.call(void 0, _Paper2.default,{variant:"outlined",onClick:pt,onDragOver:gt,onDragLeave:mt,onDrop:ft,sx:{p:3,textAlign:"center",cursor:a?"not-allowed":"pointer",borderStyle:"dashed",borderWidth:2,borderColor:g?"primary.main":pr?"error.main":"divider",bgcolor:g?"primary.lighter":a?"action.disabledBackground":"background.paper",transition:"all 0.2s ease","&:hover":a?{}:{borderColor:"primary.main",bgcolor:"action.hover"}},children:[_jsxruntime.jsx.call(void 0, _CloudUpload2.default,{sx:{fontSize:48,color:g?"primary.main":a?"action.disabled":"action.active",mb:1}}),_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"body2",color:a?"text.disabled":"text.secondary",children:c||E(g?"base.file.dropHere":"base.file.dragOrClick")}),r&&r.length>0&&!g&&_jsxruntime.jsx.call(void 0, _Box2.default,{sx:{mt:1,display:"flex",gap:.5,justifyContent:"center",flexWrap:"wrap"},children:r.map(F=>_jsxruntime.jsx.call(void 0, _Chip2.default,{label:_optionalChain([F, 'access', _77 => _77.split, 'call', _78 => _78("/"), 'access', _79 => _79[1], 'optionalAccess', _80 => _80.toUpperCase, 'call', _81 => _81()])||F,size:"small",variant:"outlined",sx:{fontSize:"0.7rem"}},F))})]}),s&&V.length>0&&_jsxruntime.jsx.call(void 0, _List2.default,{dense:!0,sx:{mt:1,p:0},children:V.map(F=>_jsxruntime.jsx.call(void 0, ts,{file:F,baseUrl:m,disabled:a,onRemove:yt,onRestore:H,onRetry:ie},F.id))}),Z&&_jsxruntime.jsxs.call(void 0, _Box2.default,{sx:{display:"flex",alignItems:"center",gap:1,mt:1},children:[_jsxruntime.jsx.call(void 0, _CircularProgress2.default,{size:16}),_jsxruntime.jsx.call(void 0, _Typography2.default,{variant:"caption",color:"text.secondary",children:E("base.file.uploading")})]}),jr&&_jsxruntime.jsx.call(void 0, _FormHelperText2.default,{error:pr,sx:{mt:.5},dangerouslySetInnerHTML:{__html:Qi(jr)}}),_jsxruntime.jsxs.call(void 0, _Dialog2.default,{open:I,onClose:ee?void 0:Vr,children:[_jsxruntime.jsx.call(void 0, _DialogTitle2.default,{children:E("base.file.confirmDelete.title")}),_jsxruntime.jsx.call(void 0, _DialogContent2.default,{children:_jsxruntime.jsx.call(void 0, _Typography2.default,{children:E("base.file.confirmDelete.message")})}),_jsxruntime.jsxs.call(void 0, _DialogActions2.default,{children:[_jsxruntime.jsx.call(void 0, _Button2.default,{onClick:Vr,disabled:ee,children:E("base.file.confirmDelete.cancel")}),_jsxruntime.jsx.call(void 0, _Button2.default,{onClick:ht,color:"error",variant:"contained",disabled:ee,startIcon:ee?_jsxruntime.jsx.call(void 0, _CircularProgress2.default,{size:16,color:"inherit"}):void 0,children:E(ee?"base.file.deleting":"base.file.confirmDelete.confirm")})]})]})]})};var _editor = require('@mdxeditor/editor');require('@mdxeditor/editor/style.css');var nd=({label:e,value:r="",onChange:o,required:t=!1,disabled:i=!1,error:n=!1,helperText:l,placeholder:a="Write here...",minHeight:u=200,maxHeight:h=500})=>{let d=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{d.current&&d.current.getMarkdown()!==r&&d.current.setMarkdown(r||"")},[r]);let b=_react.useCallback.call(void 0, w=>{_optionalChain([o, 'optionalCall', _82 => _82(w)])},[o]);return _jsxruntime.jsxs.call(void 0, _Box2.default,{sx:{width:"100%"},children:[e&&_jsxruntime.jsxs.call(void 0, _Typography2.default,{component:"label",sx:{display:"block",mb:.5,fontSize:"0.875rem",fontWeight:500,color:n?"error.main":"text.primary"},children:[e,t&&_jsxruntime.jsx.call(void 0, _Typography2.default,{component:"span",color:"error.main",sx:{ml:.5},children:"*"})]}),_jsxruntime.jsx.call(void 0, _Box2.default,{sx:{border:1,borderColor:n?"error.main":"divider",borderRadius:1,overflow:"hidden",opacity:i?.6:1,pointerEvents:i?"none":"auto","& .mdxeditor":{minHeight:u,maxHeight:h,overflow:"auto"},"& .mdxeditor-toolbar":{borderBottom:1,borderColor:"divider",backgroundColor:"background.default"},"& .mdxeditor-root-contenteditable":{padding:2,minHeight:u-50}},children:_jsxruntime.jsx.call(void 0, _editor.MDXEditor,{ref:d,markdown:r||"",onChange:b,placeholder:a,readOnly:i,plugins:[_editor.headingsPlugin.call(void 0, ),_editor.listsPlugin.call(void 0, ),_editor.quotePlugin.call(void 0, ),_editor.thematicBreakPlugin.call(void 0, ),_editor.markdownShortcutPlugin.call(void 0, ),_editor.linkPlugin.call(void 0, ),_editor.linkDialogPlugin.call(void 0, ),_editor.tablePlugin.call(void 0, ),_editor.toolbarPlugin.call(void 0, {toolbarContents:()=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _editor.UndoRedo,{}),_jsxruntime.jsx.call(void 0, _editor.Separator,{}),_jsxruntime.jsx.call(void 0, _editor.BoldItalicUnderlineToggles,{}),_jsxruntime.jsx.call(void 0, _editor.Separator,{}),_jsxruntime.jsx.call(void 0, _editor.BlockTypeSelect,{}),_jsxruntime.jsx.call(void 0, _editor.Separator,{}),_jsxruntime.jsx.call(void 0, _editor.ListsToggle,{}),_jsxruntime.jsx.call(void 0, _editor.Separator,{}),_jsxruntime.jsx.call(void 0, _editor.CreateLink,{}),_jsxruntime.jsx.call(void 0, _editor.InsertTable,{})]})})]})}),l&&_jsxruntime.jsx.call(void 0, _FormHelperText2.default,{error:n,sx:{mx:0,mt:.5},children:l}),!l&&_jsxruntime.jsx.call(void 0, _FormHelperText2.default,{sx:{mx:0,mt:.5},children:"\xA0"})]})};exports.a = ge; exports.b = Ss; exports.c = Es; exports.d = mr; exports.e = Ze; exports.f = Ms; exports.g = Me; exports.h = ao; exports.i = lo; exports.j = Vs; exports.k = uo; exports.l = po; exports.m = go; exports.n = mo; exports.o = pl; exports.p = Gn; exports.q = Ko; exports.r = qo; exports.s = Jl; exports.t = tc; exports.u = nc; exports.v = gc; exports.w = Gc; exports.x = nd;