adminizer 4.3.0-build.76 → 4.3.0-build.78

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.
Files changed (102) hide show
  1. package/assets/add-DSapOiv0.js +1 -0
  2. package/assets/add-form-C04ZI5LT.js +1 -0
  3. package/assets/add-group-DWR7SBTO.js +1 -0
  4. package/assets/add-group-form-CyRwxTs3.js +1 -0
  5. package/assets/add-user-acATGxUL.js +1 -0
  6. package/assets/add-user-form-yp020h4r.js +1 -0
  7. package/assets/app-layout-BmT5KQwc.js +1 -0
  8. package/assets/app-shell-xEVbINZV.js +1 -0
  9. package/assets/app-sidebar-4lm9f_CG.js +1 -0
  10. package/assets/app-sidebar-header-CxXmzszq.js +1 -0
  11. package/assets/app.js +1640 -5786
  12. package/assets/breadcrumbs-livOfa2Z.js +1 -0
  13. package/assets/catalog-CG_EB2kz.js +6 -0
  14. package/assets/dashboard-CsmJfdLb.js +3 -0
  15. package/assets/date-picker-By3kj-Rx.js +1 -0
  16. package/assets/del-modal-DlcbcdR5.js +1 -0
  17. package/assets/dynamic-controls-PxBg8yMz.js +1 -0
  18. package/assets/{field-renderer-BP9UmRzN.js → field-renderer-Bp1lfm0v.js} +136 -136
  19. package/assets/form-CSTeMDf5.js +1 -0
  20. package/assets/form-CxHRGp7p.js +1 -0
  21. package/assets/geo-json-CCgjEQfu.js +4 -0
  22. package/assets/handsontable-D6MvFmcM.js +281 -0
  23. package/assets/home-D00XjLjD.js +2 -0
  24. package/assets/icon-ButfCBrt.js +1 -0
  25. package/assets/init-user-L-oxFTOv.js +1 -0
  26. package/assets/input-error-CHsDLcK0.js +1 -0
  27. package/assets/jsoneditor-CBqATVR0.js +3833 -0
  28. package/assets/list-4TOTsjqE.js +1 -0
  29. package/assets/list-table-vIvydJV2.js +22 -0
  30. package/assets/login-DLMJ6l_r.js +1 -0
  31. package/assets/manifest.json +298 -108
  32. package/assets/material-icon-sXk4BK-N.js +1 -0
  33. package/assets/media-manager-ASGJ4PcS.js +14 -0
  34. package/assets/module-mxngd2cA.js +1 -0
  35. package/assets/monaco-B1uVVM7f.js +11 -0
  36. package/assets/nav-footer-DbGCtmmN.js +1 -0
  37. package/assets/nav-main-BcWhl71g.js +1 -0
  38. package/assets/nav-user-BN2veV3l.js +1 -0
  39. package/assets/notification-BEfA5sT6.js +1 -0
  40. package/assets/pagination-render-BceTnewI.js +1 -0
  41. package/assets/register-C_W_hOmq.js +1 -0
  42. package/assets/tabs-CgZW_LLn.js +1 -0
  43. package/assets/theme-switcher-D1G6OSMc.js +1 -0
  44. package/assets/toast-editor-CfgZXoQZ.js +845 -0
  45. package/assets/user-info-BrWerGLc.js +1 -0
  46. package/assets/user-menu-content-D61_auxX.js +1 -0
  47. package/assets/vendor-DoC2WAmd.js +17 -0
  48. package/assets/welcome-FHRCdke0.js +1 -0
  49. package/package.json +1 -1
  50. package/ui/components/VanillaJSONEditor.d.ts +2 -0
  51. package/ui/components/VanillaJSONEditor.js +101 -0
  52. package/ui/components/handsontable.d.ts +10 -0
  53. package/ui/components/handsontable.js +51 -0
  54. package/ui/components/monaco-editor.d.ts +11 -0
  55. package/ui/components/monaco-editor.js +57 -0
  56. package/ui/hooks/form-state.d.ts +4 -0
  57. package/ui/hooks/form-state.js +45 -0
  58. package/ui/hooks/use-appearance.d.ts +7 -0
  59. package/ui/hooks/use-appearance.js +76 -0
  60. package/ui/hooks/use-window-size.d.ts +5 -0
  61. package/ui/hooks/use-window-size.js +21 -0
  62. package/assets/add-CCznNk7p.js +0 -1
  63. package/assets/add-form-Cujvebyq.js +0 -1
  64. package/assets/add-group-KxM-aCt4.js +0 -1
  65. package/assets/add-group-form-BrDR-i0l.js +0 -1
  66. package/assets/add-user-form-CrfboTix.js +0 -1
  67. package/assets/add-user-uiWxY8Il.js +0 -1
  68. package/assets/app-layout-DlouPwk2.js +0 -1
  69. package/assets/app-shell-B969C0PB.js +0 -1
  70. package/assets/app-sidebar-DBaEEAgj.js +0 -1
  71. package/assets/app-sidebar-header-DAKTYE0g.js +0 -1
  72. package/assets/breadcrumbs-DHQ3AkEO.js +0 -1
  73. package/assets/catalog-Dt5pVGyH.js +0 -6
  74. package/assets/dashboard-SxHpjYT5.js +0 -3
  75. package/assets/date-picker--zSt9NKp.js +0 -1
  76. package/assets/del-modal-B73-X7Bm.js +0 -1
  77. package/assets/dynamic-controls-CSVVCONh.js +0 -1
  78. package/assets/form-NLJGRnF1.js +0 -1
  79. package/assets/form-lSJpGHTy.js +0 -1
  80. package/assets/geo-json-Dq8ViYH4.js +0 -4
  81. package/assets/home-C5a2kMDP.js +0 -2
  82. package/assets/icon-BbhNOU2o.js +0 -1
  83. package/assets/init-user--zYviDj5.js +0 -1
  84. package/assets/input-error-1aQ9bwyz.js +0 -1
  85. package/assets/list-D-3gH3Qy.js +0 -1
  86. package/assets/list-table-D6PqwSh1.js +0 -22
  87. package/assets/login-BQhUl8bB.js +0 -1
  88. package/assets/material-icon-8nTeT-mJ.js +0 -1
  89. package/assets/media-manager-D1nqMyHv.js +0 -14
  90. package/assets/module-DvUc6HiL.js +0 -1
  91. package/assets/nav-footer-xpg-_O5z.js +0 -1
  92. package/assets/nav-main-FLS_mh3K.js +0 -1
  93. package/assets/nav-user-CfXR0Kcu.js +0 -1
  94. package/assets/notification-DsrY4egH.js +0 -1
  95. package/assets/pagination-render-rZ5_6g0n.js +0 -1
  96. package/assets/register-DQ_hsYCS.js +0 -1
  97. package/assets/tabs-DD2mZktY.js +0 -1
  98. package/assets/theme-switcher-BKpJx2Op.js +0 -1
  99. package/assets/toast-editor-CexR_aza.js +0 -845
  100. package/assets/user-info-obJxhBMF.js +0 -1
  101. package/assets/user-menu-content-Bs0bmqDB.js +0 -1
  102. package/assets/welcome-DOcJbFZS.js +0 -1
@@ -0,0 +1 @@
1
+ import{j as a,bq as i,br as l,bs as o}from"./app.js";import{r as c}from"./monaco-B1uVVM7f.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./handsontable-D6MvFmcM.js";function m(){return c.useCallback(r=>{const t=r.trim().split(" ");if(t.length===0)return"";if(t.length===1)return t[0].charAt(0).toUpperCase();const s=t[0].charAt(0),n=t[t.length-1].charAt(0);return`${s}${n}`.toUpperCase()},[])}function f({user:e,showEmail:r=!1}){const t=m();return a.jsxs(a.Fragment,{children:[a.jsxs(i,{className:"h-8 w-8 overflow-hidden rounded-full",children:[a.jsx(l,{src:e.avatar,alt:e.login}),a.jsx(o,{className:"rounded-lg bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white",children:t(e.login)})]}),a.jsxs("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[a.jsx("span",{className:"truncate font-medium",children:e.login}),r&&a.jsx("span",{className:"text-muted-foreground truncate text-xs",children:e.email})]})]})}export{f as UserInfo};
@@ -0,0 +1 @@
1
+ import{j as e,bt as n,aI as a,aH as l,U as i,bu as m}from"./app.js";import{UserInfo as c}from"./user-info-BrWerGLc.js";import{r as p}from"./monaco-B1uVVM7f.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./handsontable-D6MvFmcM.js";function u(){return p.useCallback(()=>{document.body.style.removeProperty("pointer-events")},[])}function g({user:t,logout:r,logoutBtn:o}){const s=u();return e.jsxs(e.Fragment,{children:[e.jsx(n,{className:"p-0 font-normal",children:e.jsx("div",{className:"flex items-center gap-2 px-1 py-1.5 text-left text-sm",children:e.jsx(c,{user:t,showEmail:!0})})}),e.jsx(a,{}),e.jsx(l,{asChild:!0,children:e.jsxs(i,{className:"block w-full cursor-pointer",method:"get",href:r,as:"button",onClick:s,children:[e.jsx(m,{className:"mr-2"}),o]})})]})}export{g as UserMenuContent};
@@ -0,0 +1,17 @@
1
+ var ne=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ue(y){return y&&y.__esModule&&Object.prototype.hasOwnProperty.call(y,"default")?y.default:y}function oe(y){if(Object.prototype.hasOwnProperty.call(y,"__esModule"))return y;var v=y.default;if(typeof v=="function"){var d=function l(){return this instanceof l?Reflect.construct(v,arguments,this.constructor):v.apply(this,arguments)};d.prototype=v.prototype}else d={};return Object.defineProperty(d,"__esModule",{value:!0}),Object.keys(y).forEach(function(l){var T=Object.getOwnPropertyDescriptor(y,l);Object.defineProperty(d,l,T.get?T:{enumerable:!0,get:function(){return y[l]}})}),d}var L={exports:{}},o={};/**
2
+ * @license React
3
+ * react.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and 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 z;function ee(){if(z)return o;z=1;var y=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),w=Symbol.for("react.consumer"),R=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),i=Symbol.for("react.suspense"),t=Symbol.for("react.memo"),c=Symbol.for("react.lazy"),E=Symbol.iterator;function A(e){return e===null||typeof e!="object"?null:(e=E&&e[E]||e["@@iterator"],typeof e=="function"?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$=Object.assign,U={};function S(e,r,n){this.props=e,this.context=r,this.refs=U,this.updater=n||h}S.prototype.isReactComponent={},S.prototype.setState=function(e,r){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,r,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function I(){}I.prototype=S.prototype;function N(e,r,n){this.props=e,this.context=r,this.refs=U,this.updater=n||h}var j=N.prototype=new I;j.constructor=N,$(j,S.prototype),j.isPureReactComponent=!0;var Y=Array.isArray,a={H:null,A:null,T:null,S:null,V:null},k=Object.prototype.hasOwnProperty;function D(e,r,n,u,f,p){return n=p.ref,{$$typeof:y,type:e,key:r,ref:n!==void 0?n:null,props:p}}function X(e,r){return D(e.type,r,void 0,void 0,void 0,e.props)}function H(e){return typeof e=="object"&&e!==null&&e.$$typeof===y}function Q(e){var r={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return r[n]})}var q=/\/+/g;function b(e,r){return typeof e=="object"&&e!==null&&e.key!=null?Q(""+e.key):r.toString(36)}function x(){}function Z(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(x,x):(e.status="pending",e.then(function(r){e.status==="pending"&&(e.status="fulfilled",e.value=r)},function(r){e.status==="pending"&&(e.status="rejected",e.reason=r)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function C(e,r,n,u,f){var p=typeof e;(p==="undefined"||p==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(p){case"bigint":case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case y:case v:s=!0;break;case c:return s=e._init,C(s(e._payload),r,n,u,f)}}if(s)return f=f(e),s=u===""?"."+b(e,0):u,Y(f)?(n="",s!=null&&(n=s.replace(q,"$&/")+"/"),C(f,r,n,"",function(F){return F})):f!=null&&(H(f)&&(f=X(f,n+(f.key==null||e&&e.key===f.key?"":(""+f.key).replace(q,"$&/")+"/")+s)),r.push(f)),1;s=0;var m=u===""?".":u+":";if(Y(e))for(var _=0;_<e.length;_++)u=e[_],p=m+b(u,_),s+=C(u,r,n,p,f);else if(_=A(e),typeof _=="function")for(e=_.call(e),_=0;!(u=e.next()).done;)u=u.value,p=m+b(u,_++),s+=C(u,r,n,p,f);else if(p==="object"){if(typeof e.then=="function")return C(Z(e),r,n,u,f);throw r=String(e),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return s}function P(e,r,n){if(e==null)return e;var u=[],f=0;return C(e,u,"","",function(p){return r.call(n,p,f++)}),u}function J(e){if(e._status===-1){var r=e._result;r=r(),r.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=r)}if(e._status===1)return e._result.default;throw e._result}var G=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var r=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(r))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function V(){}return o.Children={map:P,forEach:function(e,r,n){P(e,function(){r.apply(this,arguments)},n)},count:function(e){var r=0;return P(e,function(){r++}),r},toArray:function(e){return P(e,function(r){return r})||[]},only:function(e){if(!H(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},o.Component=S,o.Fragment=d,o.Profiler=T,o.PureComponent=N,o.StrictMode=l,o.Suspense=i,o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,o.__COMPILER_RUNTIME={__proto__:null,c:function(e){return a.H.useMemoCache(e)}},o.cache=function(e){return function(){return e.apply(null,arguments)}},o.cloneElement=function(e,r,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var u=$({},e.props),f=e.key,p=void 0;if(r!=null)for(s in r.ref!==void 0&&(p=void 0),r.key!==void 0&&(f=""+r.key),r)!k.call(r,s)||s==="key"||s==="__self"||s==="__source"||s==="ref"&&r.ref===void 0||(u[s]=r[s]);var s=arguments.length-2;if(s===1)u.children=n;else if(1<s){for(var m=Array(s),_=0;_<s;_++)m[_]=arguments[_+2];u.children=m}return D(e.type,f,void 0,void 0,p,u)},o.createContext=function(e){return e={$$typeof:R,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:w,_context:e},e},o.createElement=function(e,r,n){var u,f={},p=null;if(r!=null)for(u in r.key!==void 0&&(p=""+r.key),r)k.call(r,u)&&u!=="key"&&u!=="__self"&&u!=="__source"&&(f[u]=r[u]);var s=arguments.length-2;if(s===1)f.children=n;else if(1<s){for(var m=Array(s),_=0;_<s;_++)m[_]=arguments[_+2];f.children=m}if(e&&e.defaultProps)for(u in s=e.defaultProps,s)f[u]===void 0&&(f[u]=s[u]);return D(e,p,void 0,void 0,null,f)},o.createRef=function(){return{current:null}},o.forwardRef=function(e){return{$$typeof:O,render:e}},o.isValidElement=H,o.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:J}},o.memo=function(e,r){return{$$typeof:t,type:e,compare:r===void 0?null:r}},o.startTransition=function(e){var r=a.T,n={};a.T=n;try{var u=e(),f=a.S;f!==null&&f(n,u),typeof u=="object"&&u!==null&&typeof u.then=="function"&&u.then(V,G)}catch(p){G(p)}finally{a.T=r}},o.unstable_useCacheRefresh=function(){return a.H.useCacheRefresh()},o.use=function(e){return a.H.use(e)},o.useActionState=function(e,r,n){return a.H.useActionState(e,r,n)},o.useCallback=function(e,r){return a.H.useCallback(e,r)},o.useContext=function(e){return a.H.useContext(e)},o.useDebugValue=function(){},o.useDeferredValue=function(e,r){return a.H.useDeferredValue(e,r)},o.useEffect=function(e,r,n){var u=a.H;if(typeof n=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return u.useEffect(e,r)},o.useId=function(){return a.H.useId()},o.useImperativeHandle=function(e,r,n){return a.H.useImperativeHandle(e,r,n)},o.useInsertionEffect=function(e,r){return a.H.useInsertionEffect(e,r)},o.useLayoutEffect=function(e,r){return a.H.useLayoutEffect(e,r)},o.useMemo=function(e,r){return a.H.useMemo(e,r)},o.useOptimistic=function(e,r){return a.H.useOptimistic(e,r)},o.useReducer=function(e,r,n){return a.H.useReducer(e,r,n)},o.useRef=function(e){return a.H.useRef(e)},o.useState=function(e){return a.H.useState(e)},o.useSyncExternalStore=function(e,r,n){return a.H.useSyncExternalStore(e,r,n)},o.useTransition=function(){return a.H.useTransition()},o.version="19.1.0",o}var K;function te(){return K||(K=1,L.exports=ee()),L.exports}var M={exports:{}},g={};/**
10
+ * @license React
11
+ * react-dom.production.js
12
+ *
13
+ * Copyright (c) Meta Platforms, Inc. and 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 B;function re(){if(B)return g;B=1;var y=te();function v(i){var t="https://react.dev/errors/"+i;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var c=2;c<arguments.length;c++)t+="&args[]="+encodeURIComponent(arguments[c])}return"Minified React error #"+i+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function d(){}var l={d:{f:d,r:function(){throw Error(v(522))},D:d,C:d,L:d,m:d,X:d,S:d,M:d},p:0,findDOMNode:null},T=Symbol.for("react.portal");function w(i,t,c){var E=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:E==null?null:""+E,children:i,containerInfo:t,implementation:c}}var R=y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function O(i,t){if(i==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}return g.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,g.createPortal=function(i,t){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(v(299));return w(i,t,null,c)},g.flushSync=function(i){var t=R.T,c=l.p;try{if(R.T=null,l.p=2,i)return i()}finally{R.T=t,l.p=c,l.d.f()}},g.preconnect=function(i,t){typeof i=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,l.d.C(i,t))},g.prefetchDNS=function(i){typeof i=="string"&&l.d.D(i)},g.preinit=function(i,t){if(typeof i=="string"&&t&&typeof t.as=="string"){var c=t.as,E=O(c,t.crossOrigin),A=typeof t.integrity=="string"?t.integrity:void 0,h=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;c==="style"?l.d.S(i,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:E,integrity:A,fetchPriority:h}):c==="script"&&l.d.X(i,{crossOrigin:E,integrity:A,fetchPriority:h,nonce:typeof t.nonce=="string"?t.nonce:void 0})}},g.preinitModule=function(i,t){if(typeof i=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var c=O(t.as,t.crossOrigin);l.d.M(i,{crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&l.d.M(i)},g.preload=function(i,t){if(typeof i=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var c=t.as,E=O(c,t.crossOrigin);l.d.L(i,c,{crossOrigin:E,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}},g.preloadModule=function(i,t){if(typeof i=="string")if(t){var c=O(t.as,t.crossOrigin);l.d.m(i,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:c,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else l.d.m(i)},g.requestFormReset=function(i){l.d.r(i)},g.unstable_batchedUpdates=function(i,t){return i(t)},g.useFormState=function(i,t,c){return R.H.useFormState(i,t,c)},g.useFormStatus=function(){return R.H.useHostTransitionStatus()},g.version="19.1.0",g}var W;function ie(){if(W)return M.exports;W=1;function y(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(y)}catch(v){console.error(v)}}return y(),M.exports=re(),M.exports}export{ie as a,oe as b,ne as c,ue as g,te as r};
@@ -0,0 +1 @@
1
+ import{q as o,j as t}from"./app.js";import{A as p}from"./app-layout-BmT5KQwc.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";import"./app-shell-xEVbINZV.js";import"./app-sidebar-4lm9f_CG.js";import"./nav-main-BcWhl71g.js";import"./material-icon-sXk4BK-N.js";import"./app-sidebar-header-CxXmzszq.js";import"./breadcrumbs-livOfa2Z.js";import"./nav-user-BN2veV3l.js";import"./user-info-BrWerGLc.js";import"./user-menu-content-D61_auxX.js";import"./theme-switcher-D1G6OSMc.js";import"./icon-ButfCBrt.js";const i=[];function N(){const r=o();return t.jsx(p,{breadcrumbs:i,children:t.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[r.props.title&&t.jsx("div",{className:"text-3xl mb-8",children:r.props.title}),t.jsx("div",{className:"text-3xl mb-8",children:"Adminizer"}),r.props.text&&t.jsx("div",{dangerouslySetInnerHTML:{__html:r.props.text}})]})})}export{N as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "adminizer",
3
3
  "type": "module",
4
- "version": "4.3.0-build.76",
4
+ "version": "4.3.0-build.78",
5
5
  "main": "index.js",
6
6
  "exports": {
7
7
  ".": "./index.js",
@@ -0,0 +1,2 @@
1
+ import { JSONEditorPropsOptional } from 'vanilla-jsoneditor';
2
+ export default function VanillaJSONEditor(props: JSONEditorPropsOptional & Record<string, any>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createJSONEditor, createAjvValidator } from 'vanilla-jsoneditor';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { useAppearance } from "@/hooks/use-appearance";
5
+ import { setFieldError } from "@/hooks/form-state";
6
+ export default function VanillaJSONEditor(props) {
7
+ const refContainer = useRef(null);
8
+ const refEditor = useRef(null);
9
+ const refPrevProps = useRef(props);
10
+ const { appearance } = useAppearance();
11
+ const [theme, setTheme] = useState('');
12
+ useEffect(() => {
13
+ if (appearance === 'dark') {
14
+ setTheme('jse-theme-dark');
15
+ }
16
+ else {
17
+ setTheme('');
18
+ }
19
+ }, [appearance]);
20
+ useEffect(() => {
21
+ const validator = props.schema ? createAjvValidator({ schema: props.schema }) : undefined;
22
+ const content = props.content ? { json: props.content } : props.json ? { json: props.json } : undefined;
23
+ refEditor.current = createJSONEditor({
24
+ target: refContainer.current,
25
+ props: {
26
+ ...props,
27
+ validator,
28
+ content,
29
+ onChange: (content, previousContent, status) => {
30
+ if (validator) {
31
+ const isEmpty = content.json === undefined;
32
+ const validationError = isEmpty
33
+ ? ['error']
34
+ : status.contentErrors?.validationErrors;
35
+ setFieldError(props.name, !!validationError?.length, 'Error validation JSON schema');
36
+ }
37
+ if (props.onChange) {
38
+ props.onChange(content, previousContent, status);
39
+ }
40
+ }
41
+ }
42
+ });
43
+ // Trigger onChange manually
44
+ if (refEditor.current) {
45
+ // Get the current content
46
+ const currentContent = refEditor.current.get();
47
+ // Validate the content
48
+ const validationResult = refEditor.current.validate();
49
+ // @ts-ignore
50
+ const hasErrors = !!validationResult?.validationErrors?.length;
51
+ if (props.onChange) {
52
+ props.onChange(currentContent,
53
+ //@ts-ignore
54
+ undefined, {
55
+ contentErrors: validationResult,
56
+ patchResult: undefined,
57
+ isUndo: false,
58
+ isRedo: false,
59
+ isValid: !hasErrors
60
+ });
61
+ }
62
+ // Set the error state
63
+ setFieldError(props.name, hasErrors, 'Error validation JSON schema');
64
+ }
65
+ return () => {
66
+ // destroy editor
67
+ if (refEditor.current) {
68
+ refEditor.current.destroy();
69
+ refEditor.current = null;
70
+ }
71
+ };
72
+ }, []);
73
+ // update props
74
+ useEffect(() => {
75
+ if (refEditor.current) {
76
+ // only pass the props that actually changed
77
+ // since the last time to prevent syncing issues
78
+ const changedProps = filterUnchangedProps(props, refPrevProps.current);
79
+ refEditor.current.updateProps(changedProps);
80
+ refPrevProps.current = props;
81
+ }
82
+ }, [props]);
83
+ return _jsx("div", { className: `vanilla-jsoneditor-react ${theme} ${props.disabled ? 'pointer-events-none opacity-50 cursor-not-allowed' : ''}`, ref: refContainer });
84
+ }
85
+ function filterUnchangedProps(props, prevProps) {
86
+ const changedProps = {};
87
+ for (const [key, value] of Object.entries(props)) {
88
+ if (key === 'content') {
89
+ const currentJson = value?.json;
90
+ // @ts-ignore
91
+ const prevJson = prevProps[key]?.json;
92
+ if (JSON.stringify(currentJson) !== JSON.stringify(prevJson)) {
93
+ changedProps[key] = value;
94
+ }
95
+ }
96
+ else if (value !== prevProps[key]) {
97
+ changedProps[key] = value;
98
+ }
99
+ }
100
+ return changedProps;
101
+ }
@@ -0,0 +1,10 @@
1
+ import { GridSettings } from "handsontable/settings";
2
+ import { RowObject } from "handsontable/common";
3
+ interface TableProps {
4
+ config: GridSettings;
5
+ data?: any[][] | RowObject[] | undefined;
6
+ onChange: (data: any) => void;
7
+ disabled?: boolean;
8
+ }
9
+ declare const HandsonTable: ({ config, data, onChange, disabled }: TableProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default HandsonTable;
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { HotTable, HotColumn } from '@handsontable/react';
3
+ import { registerAllModules } from 'handsontable/registry';
4
+ import { useCallback, useEffect, useRef, useState } from 'react';
5
+ import { useAppearance } from "@/hooks/use-appearance";
6
+ import { registerLanguageDictionary, deDE, enUS, esMX, frFR, itIT, jaJP, koKR, nlNL, plPL, ptBR, ruRU, zhCN } from 'handsontable/i18n';
7
+ registerAllModules();
8
+ const languageDictionaries = {
9
+ 'de': deDE,
10
+ 'en': enUS,
11
+ 'es': esMX,
12
+ 'fr': frFR,
13
+ 'it': itIT,
14
+ 'ja': jaJP,
15
+ 'ko': koKR,
16
+ 'nl': nlNL,
17
+ 'pl': plPL,
18
+ 'pt': ptBR,
19
+ 'ru': ruRU,
20
+ 'zh': zhCN,
21
+ };
22
+ const docLang = document.documentElement.lang;
23
+ const lang = languageDictionaries[docLang] ?? languageDictionaries['en'];
24
+ registerLanguageDictionary(lang);
25
+ const HandsonTable = ({ config, data = [], onChange, disabled }) => {
26
+ const { appearance } = useAppearance();
27
+ const [theme, setTheme] = useState('ht-theme-main');
28
+ const handleChange = useCallback((_changes, source) => {
29
+ if (source === 'loadData') {
30
+ return;
31
+ }
32
+ const hotData = hotTableRef.current?.hotInstance?.getSourceData();
33
+ onChange(hotData);
34
+ }, []);
35
+ const hotTableRef = useRef(null);
36
+ useEffect(() => {
37
+ if (hotTableRef.current) {
38
+ hotTableRef.current.hotInstance.loadData(data);
39
+ }
40
+ }, [data]);
41
+ useEffect(() => {
42
+ if (appearance === 'dark') {
43
+ setTheme('ht-theme-main-dark');
44
+ }
45
+ else {
46
+ setTheme('ht-theme-main');
47
+ }
48
+ }, [appearance]);
49
+ return (_jsx(HotTable, { className: disabled ? 'pointer-events-none opacity-50' : '', themeName: theme, language: lang.languageCode, ref: hotTableRef, ...config, afterChange: handleChange, children: config.columns.map((item) => (_jsx(HotColumn, { data: item.data, ...item }, item.data))) }));
50
+ };
51
+ export default HandsonTable;
@@ -0,0 +1,11 @@
1
+ import { FC } from "react";
2
+ interface MonacoEditorProps {
3
+ onChange: (value: string) => void;
4
+ value: string;
5
+ options: {
6
+ language: string;
7
+ };
8
+ disabled?: boolean;
9
+ }
10
+ declare const MonacoEditor: FC<MonacoEditorProps>;
11
+ export default MonacoEditor;
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Editor from '@monaco-editor/react';
3
+ import { useEffect, useRef, useState } from "react";
4
+ import { useAppearance } from "@/hooks/use-appearance";
5
+ import useWindowSize from "@/hooks/use-window-size";
6
+ const MonacoEditor = ({ onChange, value, options, disabled }) => {
7
+ const { appearance } = useAppearance();
8
+ const [theme, setTheme] = useState('light');
9
+ const editorRef = useRef(null);
10
+ const editorWrapperRef = useRef(null);
11
+ const { width } = useWindowSize();
12
+ // Device type detection
13
+ const isMobile = width < 768;
14
+ const isTablet = width >= 768 && width < 1024;
15
+ const handleEditorChange = (value) => {
16
+ onChange(value);
17
+ };
18
+ const handleEditorDidMount = (editor) => {
19
+ editorRef.current = editor;
20
+ updateEditorOptions();
21
+ };
22
+ const updateEditorOptions = () => {
23
+ if (!editorRef.current)
24
+ return;
25
+ const options = {
26
+ minimap: { enabled: !isMobile },
27
+ fontSize: isMobile ? 12 : isTablet ? 13 : 14,
28
+ lineNumbers: isMobile ? 'off' : 'on',
29
+ lineDecorationsWidth: isMobile ? 5 : 10,
30
+ scrollBeyondLastLine: !isMobile,
31
+ wordWrap: isMobile ? 'on' : 'bounded',
32
+ renderWhitespace: isMobile ? 'none' : 'selection',
33
+ padding: { top: isMobile ? 8 : 16, bottom: isMobile ? 8 : 16 }
34
+ };
35
+ editorRef.current.updateOptions(options);
36
+ editorWrapperRef.current?.classList.add('overflow-hidden');
37
+ // Small delay to ensure that the editor has been fully rendered
38
+ setTimeout(() => {
39
+ editorRef.current?.layout();
40
+ editorWrapperRef.current?.classList.remove('overflow-hidden');
41
+ }, 100);
42
+ };
43
+ useEffect(() => {
44
+ setTheme(appearance === 'dark' ? 'vs-dark' : 'light');
45
+ }, [appearance]);
46
+ useEffect(() => {
47
+ updateEditorOptions();
48
+ }, [width]);
49
+ // Вычисляем высоту редактора
50
+ const editorHeight = isMobile ? '300px' : isTablet ? '400px' : '500px';
51
+ return (_jsx("div", { className: `border rounded-lg ${isMobile ? 'p-1' : 'p-2'}`, ref: editorWrapperRef, children: _jsx(Editor, { height: editorHeight, language: options.language, value: value, theme: theme, options: {
52
+ automaticLayout: true,
53
+ ...(isMobile && { wordWrap: 'on' }),
54
+ minimap: { enabled: !isMobile }
55
+ }, onChange: handleEditorChange, onMount: handleEditorDidMount, className: `transition-all duration-200 ease-in-out ${disabled ? 'pointer-events-none opacity-50 cursor-not-allowed' : ''}` }) }));
56
+ };
57
+ export default MonacoEditor;
@@ -0,0 +1,4 @@
1
+ export declare const setFieldError: (fieldName: string, hasError: boolean, message?: string) => void;
2
+ export declare const getFieldError: (fieldName: string) => string | undefined;
3
+ export declare const hasFormErrors: () => boolean;
4
+ export declare const resetFormErrors: () => void;
@@ -0,0 +1,45 @@
1
+ const formState = {
2
+ errors: {},
3
+ };
4
+ const formStateProxy = new Proxy(formState, {
5
+ set(target, property, value) {
6
+ if (property === 'errors') {
7
+ if (Object.keys(value).length === 0) {
8
+ // Reset all errors
9
+ target.errors = {};
10
+ }
11
+ else {
12
+ // Update specific errors
13
+ target.errors = { ...target.errors, ...value };
14
+ }
15
+ // console.debug('Form errors updated:', target.errors);
16
+ // window.dispatchEvent(new CustomEvent('formStateChanged'));
17
+ }
18
+ return true;
19
+ },
20
+ });
21
+ export const setFieldError = (fieldName, hasError, message) => {
22
+ if (!hasError) {
23
+ // If clearing error, remove it from the errors object
24
+ const { [fieldName]: _, ...rest } = formStateProxy.errors;
25
+ formStateProxy.errors = rest;
26
+ }
27
+ else {
28
+ formStateProxy.errors = {
29
+ ...formStateProxy.errors,
30
+ [fieldName]: {
31
+ hasError: true,
32
+ message
33
+ },
34
+ };
35
+ }
36
+ };
37
+ export const getFieldError = (fieldName) => {
38
+ return formStateProxy.errors[fieldName]?.message;
39
+ };
40
+ export const hasFormErrors = () => {
41
+ return Object.values(formStateProxy.errors).some(error => error.hasError);
42
+ };
43
+ export const resetFormErrors = () => {
44
+ formStateProxy.errors = {};
45
+ };
@@ -0,0 +1,7 @@
1
+ export type Appearance = 'light' | 'dark' | 'system';
2
+ export declare function initializeTheme(): void;
3
+ export declare function useAppearance(): {
4
+ readonly appearance: Appearance;
5
+ readonly updateAppearance: (mode: Appearance) => void;
6
+ readonly isThemeChanging: boolean;
7
+ };
@@ -0,0 +1,76 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ const prefersDark = () => {
3
+ if (typeof window === 'undefined') {
4
+ return false;
5
+ }
6
+ return window.matchMedia('(prefers-color-scheme: dark)').matches;
7
+ };
8
+ const setCookie = (name, value, days = 365) => {
9
+ if (typeof document === 'undefined') {
10
+ return;
11
+ }
12
+ const maxAge = days * 24 * 60 * 60;
13
+ document.cookie = `${name}=${value};path=/;max-age=${maxAge};SameSite=Lax`;
14
+ };
15
+ const applyTheme = (appearance) => {
16
+ const isDark = appearance === 'dark' || (appearance === 'system' && prefersDark());
17
+ document.documentElement.classList.toggle('dark', isDark);
18
+ };
19
+ const mediaQuery = () => {
20
+ if (typeof window === 'undefined') {
21
+ return null;
22
+ }
23
+ return window.matchMedia('(prefers-color-scheme: dark)');
24
+ };
25
+ const handleSystemThemeChange = () => {
26
+ const currentAppearance = localStorage.getItem('appearance');
27
+ applyTheme(currentAppearance || 'light');
28
+ };
29
+ export function initializeTheme() {
30
+ const savedAppearance = localStorage.getItem('appearance') || 'system';
31
+ applyTheme(savedAppearance);
32
+ // Add the event listener for system theme changes...
33
+ mediaQuery()?.addEventListener('change', handleSystemThemeChange);
34
+ }
35
+ export function useAppearance() {
36
+ const [appearance, setAppearance] = useState('system');
37
+ const [isThemeChanging, setIsThemeChanging] = useState(false);
38
+ const updateAppearance = useCallback((mode) => {
39
+ setIsThemeChanging(true);
40
+ setAppearance(mode);
41
+ localStorage.setItem('appearance', mode);
42
+ setCookie('appearance', mode);
43
+ applyTheme(mode);
44
+ // Trigger custom event for current tab
45
+ setTimeout(() => {
46
+ setIsThemeChanging(false);
47
+ window.dispatchEvent(new Event('appearanceChanged'));
48
+ }, 0);
49
+ }, []);
50
+ useEffect(() => {
51
+ const savedAppearance = localStorage.getItem('appearance');
52
+ updateAppearance(savedAppearance || 'system');
53
+ // Listen for localStorage changes (from other tabs)
54
+ const handleStorageChange = (e) => {
55
+ if (e.key === 'appearance') {
56
+ const newAppearance = e.newValue;
57
+ setAppearance(newAppearance);
58
+ applyTheme(newAppearance);
59
+ }
60
+ };
61
+ // Listen for custom event (from current tab)
62
+ const handleAppearanceChange = () => {
63
+ const savedAppearance = localStorage.getItem('appearance');
64
+ setAppearance(savedAppearance);
65
+ applyTheme(savedAppearance);
66
+ };
67
+ window.addEventListener('storage', handleStorageChange);
68
+ window.addEventListener('appearanceChanged', handleAppearanceChange);
69
+ return () => {
70
+ window.removeEventListener('storage', handleStorageChange);
71
+ window.removeEventListener('appearanceChanged', handleAppearanceChange);
72
+ mediaQuery()?.removeEventListener('change', handleSystemThemeChange);
73
+ };
74
+ }, [updateAppearance]);
75
+ return { appearance, updateAppearance, isThemeChanging };
76
+ }
@@ -0,0 +1,5 @@
1
+ declare const useWindowSize: () => {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ export default useWindowSize;
@@ -0,0 +1,21 @@
1
+ import { useEffect, useState } from "react";
2
+ const useWindowSize = () => {
3
+ const [windowSize, setWindowSize] = useState({
4
+ width: typeof window !== 'undefined' ? window.innerWidth : 1024,
5
+ height: typeof window !== 'undefined' ? window.innerHeight : 768,
6
+ });
7
+ useEffect(() => {
8
+ if (typeof window === 'undefined')
9
+ return;
10
+ const handleResize = () => {
11
+ setWindowSize({
12
+ width: window.innerWidth,
13
+ height: window.innerHeight,
14
+ });
15
+ };
16
+ window.addEventListener('resize', handleResize);
17
+ return () => window.removeEventListener('resize', handleResize);
18
+ }, []);
19
+ return windowSize;
20
+ };
21
+ export default useWindowSize;
@@ -1 +0,0 @@
1
- import{c as p,q as i,j as m}from"./app.js";import{A as s}from"./app-layout-DlouPwk2.js";import e from"./add-form-Cujvebyq.js";import"./app-shell-B969C0PB.js";import"./app-sidebar-DBaEEAgj.js";import"./nav-main-FLS_mh3K.js";import"./material-icon-8nTeT-mJ.js";import"./app-sidebar-header-DAKTYE0g.js";import"./breadcrumbs-DHQ3AkEO.js";import"./nav-user-CfXR0Kcu.js";import"./user-info-obJxhBMF.js";import"./user-menu-content-Bs0bmqDB.js";import"./theme-switcher-BKpJx2Op.js";import"./icon-BbhNOU2o.js";import"./field-renderer-BP9UmRzN.js";import"./dynamic-controls-CSVVCONh.js";import"./input-error-1aQ9bwyz.js";const a=[];function L(){const t=p.c(2),r=i();let o;return t[0]!==r?(o=m.jsx(s,{breadcrumbs:a,children:m.jsx(e,{page:r,catalog:!1})}),t[0]=r,t[1]=o):o=t[1],o}export{L as default};
@@ -1 +0,0 @@
1
- import{r as f,c as L,j as t,b as O,V as z,W as A,X as M,aQ as D,Y as J,a3 as U,bI as S,B as E,a1 as K,aP as Q,bJ as R,L as $,bK as k,f as X,i as Y,s as q}from"./app.js";import{Icon as P}from"./icon-BbhNOU2o.js";import{F as V}from"./field-renderer-BP9UmRzN.js";import I from"./input-error-1aQ9bwyz.js";import"./dynamic-controls-CSVVCONh.js";var F=new Map,C=new WeakMap,T=0,G=void 0;function H(s){return s?(C.has(s)||(T+=1,C.set(s,T.toString())),C.get(s)):"0"}function W(s){return Object.keys(s).sort().filter(e=>s[e]!==void 0).map(e=>`${e}_${e==="root"?H(s.root):s[e]}`).toString()}function Z(s){const e=W(s);let n=F.get(e);if(!n){const c=new Map;let l;const i=new IntersectionObserver(o=>{o.forEach(a=>{var d;const m=a.isIntersecting&&l.some(u=>a.intersectionRatio>=u);s.trackVisibility&&typeof a.isVisible>"u"&&(a.isVisible=m),(d=c.get(a.target))==null||d.forEach(u=>{u(m,a)})})},s);l=i.thresholds||(Array.isArray(s.threshold)?s.threshold:[s.threshold||0]),n={id:e,observer:i,elements:c},F.set(e,n)}return n}function _(s,e,n={},c=G){if(typeof window.IntersectionObserver>"u"&&c!==void 0){const d=s.getBoundingClientRect();return e(c,{isIntersecting:c,target:s,intersectionRatio:typeof n.threshold=="number"?n.threshold:0,time:0,boundingClientRect:d,intersectionRect:d,rootBounds:d}),()=>{}}const{id:l,observer:i,elements:o}=Z(n),a=o.get(s)||[];return o.has(s)||o.set(s,a),a.push(e),i.observe(s),function(){a.splice(a.indexOf(e),1),a.length===0&&(o.delete(s),i.unobserve(s)),o.size===0&&(i.disconnect(),F.delete(l))}}function ee({threshold:s,delay:e,trackVisibility:n,rootMargin:c,root:l,triggerOnce:i,skip:o,initialInView:a,fallbackInView:d,onChange:m}={}){var u;const[p,j]=f.useState(null),h=f.useRef(m),[x,N]=f.useState({inView:!!a,entry:void 0});h.current=m,f.useEffect(()=>{if(o||!p)return;let b;return b=_(p,(r,g)=>{N({inView:r,entry:g}),h.current&&h.current(r,g),g.isIntersecting&&i&&b&&(b(),b=void 0)},{root:l,rootMargin:c,threshold:s,trackVisibility:n,delay:e},d),()=>{b&&b()}},[Array.isArray(s)?s.toString():s,p,l,c,i,o,n,d,e]);const w=(u=x.entry)==null?void 0:u.target,y=f.useRef(void 0);!p&&w&&!i&&!o&&y.current!==w&&(y.current=w,N({inView:!!a,entry:void 0}));const v=[j,x.inView,x.entry];return v.ref=v[0],v.inView=v[1],v.entry=v[2],v}const B=f.memo(s=>{const e=L.c(8),{field:n}=s,c=`${n.type}-${n.name}`;let l;e[0]!==n.label||e[1]!==c?(l=t.jsx(O,{htmlFor:c,children:n.label}),e[0]=n.label,e[1]=c,e[2]=l):l=e[2];let i;e[3]!==n.tooltip?(i=n.tooltip&&t.jsx(z,{children:t.jsxs(A,{children:[t.jsx(M,{onClick:te,children:t.jsx(P,{iconNode:D,className:"text-primary w-5 h-5 cursor-pointer"})}),t.jsx(J,{align:"center",side:"top",className:"z-[1002]",children:t.jsx("p",{children:n.tooltip})})]})}),e[3]=n.tooltip,e[4]=i):i=e[4];let o;return e[5]!==l||e[6]!==i?(o=t.jsxs("div",{className:"flex gap-3",children:[l,i]}),e[5]=l,e[6]=i,e[7]=o):o=e[7],o}),se=f.memo(s=>{const e=L.c(12),{field:n,value:c,onChange:l,processing:i,notFound:o,search:a}=s;let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d={triggerOnce:!0,rootMargin:"100px 0px"},e[0]=d):d=e[0];const[m,u]=ee(d);let p;e[1]!==n||e[2]!==u||e[3]!==o||e[4]!==l||e[5]!==i||e[6]!==a||e[7]!==c?(p=u?t.jsx(V,{field:n,value:c,onChange:l,notFound:o,search:a,processing:i}):t.jsx(q,{className:"w-full h-[250px] rounded-sm"}),e[1]=n,e[2]=u,e[3]=o,e[4]=l,e[5]=i,e[6]=a,e[7]=c,e[8]=p):p=e[8];let j;return e[9]!==m||e[10]!==p?(j=t.jsx("div",{ref:m,className:"grid gap-4 w-full",children:p}),e[9]=m,e[10]=p,e[11]=j):j=e[11],j}),ce=({page:s,catalog:e,callback:n,openNewWindow:c,openNewWindowLabel:l,isNavigation:i})=>{const{fields:o,btnBack:a,view:d,notFound:m}=s.props,{data:u,setData:p,post:j,processing:h}=U({...Object.fromEntries(o.map(r=>[r.name,r.value??void 0])),jsonPopupCatalog:e}),[x,N]=f.useState(!1),[w,y]=f.useState(c??!1);f.useEffect(()=>(y(c??!1),S(),p({...Object.fromEntries(o.map(r=>[r.name,r.value??void 0])),jsonPopupCatalog:e}),()=>S()),[o,e,c]);const v=f.useCallback((r,g)=>{p(r,g)},[]),b=async r=>{if(r.preventDefault(),e){N(!0);const g=await Y.post(s.props.postLink,u);g.status===200&&n&&(i?n(g.data.record,w):n(g.data.record))}else j(s.props.postLink)};return t.jsxs("div",{className:"p-4 w-full",children:[!e&&t.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[t.jsx(E,{className:"w-fit",asChild:!0,children:t.jsxs(K,{href:a.link,preserveScroll:!0,children:[t.jsx(P,{iconNode:Q}),a.title]})}),t.jsxs(E,{variant:"green",type:"submit",className:"w-fit lg:hidden",form:"addUserForm",disabled:x||h||s.props.view||R(),children:[x||h&&t.jsx($,{className:"h-4 w-4 animate-spin"}),s.props.btnSave.title]})]}),t.jsx("form",{id:"addUserForm",onSubmit:b,className:d?"cursor-not-allowed":"",children:t.jsxs("div",{className:`grid lg:grid-cols-[1fr_150px] gap-4 max-w-[1144px] pb-8 ${e?"lg:grid-cols-[1fr_200px]":"lg:grid-cols-[1fr_150px]"}`,children:[t.jsx("div",{className:"flex flex-col gap-10",children:o.map(r=>t.jsx("div",{className:`grid gap-4 w-full ${d?"pointer-events-none":""}`,children:r.type==="markdown"||r.type==="table"||r.type==="jsonEditor"||r.type==="codeEditor"||r.type==="geoJson"?t.jsxs(t.Fragment,{children:[t.jsx(B,{field:r}),t.jsx(I,{message:k(`${r.type}-${r.name}`)}),t.jsx(se,{field:r,value:u[r.name],onChange:v,processing:x||h||d,notFound:m,search:s.props.search})]}):t.jsxs(t.Fragment,{children:[t.jsx(B,{field:r}),t.jsx(I,{message:k(`${r.type}-${r.name}`)}),t.jsx(V,{field:r,value:u[r.name],onChange:v,processing:x||h||d,notFound:m,search:s.props.search})]})},r.name))}),t.jsxs("div",{className:`p-4 rounded-md h-fit sticky shadow ${e?"top-0 grid gap-4":"top-[84px] hidden lg:block"}`,children:[i&&t.jsxs("div",{className:"flex gap-4 items-center",children:[t.jsx(X,{id:"targetBlank",checked:w,onCheckedChange:r=>y(!!r),className:"cursor-pointer size-5"}),t.jsx(O,{htmlFor:"targetBlank",children:l})]}),t.jsxs(E,{variant:"green",type:"submit",className:"w-fit",disabled:x||h||s.props.view||R(),children:[(x||h)&&t.jsx($,{className:"h-4 w-4 animate-spin"}),s.props.btnSave.title]})]})]})})]})};function te(s){return s.preventDefault()}export{B as LabelRenderer,se as LazyField,ce as default};
@@ -1 +0,0 @@
1
- import{c as m,j as t}from"./app.js";import{A as p}from"./app-layout-DlouPwk2.js";import i from"./add-group-form-BrDR-i0l.js";import"./app-shell-B969C0PB.js";import"./app-sidebar-DBaEEAgj.js";import"./nav-main-FLS_mh3K.js";import"./material-icon-8nTeT-mJ.js";import"./app-sidebar-header-DAKTYE0g.js";import"./breadcrumbs-DHQ3AkEO.js";import"./nav-user-CfXR0Kcu.js";import"./user-info-obJxhBMF.js";import"./user-menu-content-Bs0bmqDB.js";import"./theme-switcher-BKpJx2Op.js";import"./icon-BbhNOU2o.js";const e=[];function E(){const r=m.c(1);let o;return r[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(p,{breadcrumbs:e,children:t.jsx(i,{})}),r[0]=o):o=r[0],o}export{E as default};
@@ -1 +0,0 @@
1
- import{q as D,a3 as q,r as L,j as s,B as y,a1 as O,aP as S,L as z,b as j,I as E,c as M,f as P,V as R,W as U,X as $,aQ as A,Y as G}from"./app.js";import{Icon as B}from"./icon-BbhNOU2o.js";const I=L.memo(t=>{const e=M.c(20),{field:l,disabled:h,value:c,onCheckedChange:u,tooltip:f}=t;let x;e[0]!==l.name||e[1]!==u?(x=g=>{u(l.name,g)},e[0]=l.name,e[1]=u,e[2]=x):x=e[2];const o=x;let n;e[3]!==h||e[4]!==l.name||e[5]!==o||e[6]!==c?(n=s.jsx(P,{id:l.name,className:"cursor-pointer size-5",disabled:h,checked:c,onCheckedChange:o}),e[3]=h,e[4]=l.name,e[5]=o,e[6]=c,e[7]=n):n=e[7];let r;e[8]!==l.label||e[9]!==l.name?(r=s.jsx(j,{className:"cursor-pointer",htmlFor:l.name,children:l.label}),e[8]=l.label,e[9]=l.name,e[10]=r):r=e[10];let p;e[11]!==l.tooltip||e[12]!==f?(p=f&&s.jsx(R,{children:s.jsxs(U,{children:[s.jsx($,{onClick:H,children:s.jsx(B,{iconNode:A,className:"text-primary w-5 h-5 cursor-pointer"})}),s.jsx(G,{align:"center",side:"top",children:s.jsx("p",{children:l.tooltip})})]})}),e[11]=l.tooltip,e[12]=f,e[13]=p):p=e[13];let d;e[14]!==r||e[15]!==p?(d=s.jsxs("div",{className:"flex gap-3",children:[r,p]}),e[14]=r,e[15]=p,e[16]=d):d=e[16];let m;return e[17]!==n||e[18]!==d?(m=s.jsxs("div",{className:"flex gap-3 items-center",children:[n,d]}),e[17]=n,e[18]=d,e[19]=m):m=e[19],m});function V(){var d,m,g,b,v,C,N,k,w,F,T;const t=D(),{fields:e,groupedTokens:l,users:h}=t.props,{data:c,setData:u,clearErrors:f,post:x,processing:o}=q({...Object.fromEntries(e.map(a=>[a.name,a.value])),...Object.fromEntries(h.map(a=>[a.name,a.value])),...Object.fromEntries(l.flatMap(a=>a.fields.map(i=>[i.name,i.value])))}),n=a=>t.props.fields.find(i=>i.name===a),r=L.useCallback((a,i)=>{f(),u(a,i)},[]),p=a=>{a.preventDefault(),x(t.props.postLink)};return s.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[s.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[s.jsx(y,{className:"mb-3 w-fit",asChild:!0,children:s.jsxs(O,{href:t.props.btnBack.link,children:[s.jsx(B,{iconNode:S}),t.props.btnBack.title]})}),s.jsxs(y,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:o||t.props.view,children:[o&&s.jsx(z,{className:"h-4 w-4 animate-spin"}),t.props.btnSave.title]})]}),s.jsx("form",{id:"addUserForm",onSubmit:p,className:`${t.props.view?"cursor-not-allowed":""}`,children:s.jsxs("div",{className:"flex flex-col gap-6 max-w-[1144px]",children:[s.jsx("h2",{className:"font-bold text-xl",children:t.props.head}),s.jsxs("div",{className:"grid gap-4",children:[s.jsx(j,{htmlFor:(d=n("name"))==null?void 0:d.name,children:(m=n("name"))==null?void 0:m.label}),s.jsx(E,{id:(g=n("name"))==null?void 0:g.name,type:"text",required:!0,tabIndex:1,autoComplete:(b=n("name"))==null?void 0:b.name,value:c.name,onChange:a=>r("name",a.target.value),disabled:o||t.props.view,placeholder:(v=n("name"))==null?void 0:v.label})]}),s.jsxs("div",{className:"grid gap-4",children:[s.jsx(j,{htmlFor:(C=n("description"))==null?void 0:C.name,children:(N=n("description"))==null?void 0:N.label}),s.jsx(E,{id:(k=n("description"))==null?void 0:k.name,type:"text",required:!0,tabIndex:1,autoComplete:(w=n("description"))==null?void 0:w.name,value:c.description,onChange:a=>r("description",a.target.value),disabled:o||t.props.view,placeholder:(F=n("description"))==null?void 0:F.label})]}),t.props.users.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"font-bold text-xl",children:t.props.userHead}),t.props.users.map(a=>s.jsx(I,{field:a,disabled:o||t.props.view,value:c[a.name],onCheckedChange:r},a.name))]}),s.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 gap-4",children:((T=t.props.groupedTokens)==null?void 0:T.length)>0&&t.props.groupedTokens.map(a=>s.jsxs("div",{className:"grid gap-4 content-start justify-between",children:[s.jsx("h2",{className:"font-bold text-xl mt-3",children:a.header}),a.fields.map(i=>s.jsx(I,{field:i,disabled:o||t.props.view,value:c[i.name],onCheckedChange:r,tooltip:!0},i.name))]},a.header))})]})})]})}function H(t){return t.preventDefault()}export{V as default};
@@ -1 +0,0 @@
1
- import{c as pl,q as cl,r as sl,a3 as ml,j as l,B as hs,a1 as ll,b as n,I as Te,f as gs,l as tl,S as al,d as rl,k as il,aP as fl,L as xl,X as ul,aQ as hl,V as gl,W as jl,Y as vl,h as nl,i as wl}from"./app.js";import{Icon as ol}from"./icon-BbhNOU2o.js";import bl from"./input-error-1aQ9bwyz.js";import Nl from"./material-icon-8nTeT-mJ.js";function Al(){var js,vs,ws,bs,Ns,Cs,Ps,ks,ys,Fs,Us,zs,Ss,Is,As,Es,Ts,Bs,Ls,qs,Vs,_s,Ds,Hs,Ms,Os,Rs,$s,Js,Qs,Ws,Xs,Ys,Gs,Ks,Zs,el;const e=pl.c(260),t=cl(),[Re,dl]=sl.useState(),{fields:$e,groups:Je,auth:Qe}=t.props;let p;e[0]!==$e?(p=Object.fromEntries($e.map(Fl)),e[0]=$e,e[1]=p):p=e[1];let c;e[2]!==Je?(c=Object.fromEntries(Je.map(yl)),e[2]=Je,e[3]=c):c=e[3];let Be;e[4]!==p||e[5]!==c?(Be={...p,...c},e[4]=p,e[5]=c,e[6]=Be):Be=e[6];const{data:i,setData:We,errors:Xe,setError:Ye,clearErrors:Ge,post:Ke,processing:o}=ml(Be);let Le,qe;e[7]===Symbol.for("react.memo_cache_sentinel")?(Le=()=>{(async()=>{const d=await wl.get(`${window.routePrefix}/get-timezones`);dl(d.data.timezones)})()},qe=[],e[7]=Le,e[8]=qe):(Le=e[7],qe=e[8]),sl.useEffect(Le,qe);let Ve;e[9]!==t.props.fields?(Ve=r=>t.props.fields.find(d=>d.name===r),e[9]=t.props.fields,e[10]=Ve):Ve=e[10];const s=Ve;let _e;e[11]!==i.repeatUserPassword||e[12]!==i.userPassword||e[13]!==t.props.passwordError||e[14]!==t.props.postLink||e[15]!==Ke||e[16]!==Ye?(_e=r=>{if(r.preventDefault(),i.userPassword!==i.repeatUserPassword){Ye("repeatUserPassword",t.props.passwordError);return}Ke(t.props.postLink)},e[11]=i.repeatUserPassword,e[12]=i.userPassword,e[13]=t.props.passwordError,e[14]=t.props.postLink,e[15]=Ke,e[16]=Ye,e[17]=_e):_e=e[17];const Ze=_e;let De;e[18]!==Ge||e[19]!==We?(De=(r,d)=>{Ge(),We(r,d)},e[18]=Ge,e[19]=We,e[20]=De):De=e[20];const a=De;let He;e[21]===Symbol.for("react.memo_cache_sentinel")?(He=l.jsx(ol,{iconNode:fl}),e[21]=He):He=e[21];let m;e[22]!==t.props.btnBack.link||e[23]!==t.props.btnBack.title?(m=l.jsx(hs,{className:"mb-3 w-fit",asChild:!0,children:l.jsxs(ll,{href:t.props.btnBack.link,children:[He,t.props.btnBack.title]})}),e[22]=t.props.btnBack.link,e[23]=t.props.btnBack.title,e[24]=m):m=e[24];const es=o||t.props.view;let f;e[25]!==o?(f=o&&l.jsx(xl,{className:"h-4 w-4 animate-spin"}),e[25]=o,e[26]=f):f=e[26];let x;e[27]!==t.props.btnSave.title||e[28]!==es||e[29]!==f?(x=l.jsxs(hs,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:es,children:[f,t.props.btnSave.title]}),e[27]=t.props.btnSave.title,e[28]=es,e[29]=f,e[30]=x):x=e[30];let u;e[31]!==x||e[32]!==m?(u=l.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[m,x]}),e[31]=x,e[32]=m,e[33]=u):u=e[33];const ss=t.props.view?"cursor-not-allowed":"";let h;e[34]!==t.props.head?(h=l.jsx("h2",{className:"font-bold text-xl",children:t.props.head}),e[34]=t.props.head,e[35]=h):h=e[35];let g;e[36]!==s?(g=(js=s("login"))==null?void 0:js.name,e[36]=s,e[37]=g):g=e[37];let j;e[38]!==s?(j=(vs=s("login"))==null?void 0:vs.label,e[38]=s,e[39]=j):j=e[39];let v;e[40]!==g||e[41]!==j?(v=l.jsx(n,{htmlFor:g,children:j}),e[40]=g,e[41]=j,e[42]=v):v=e[42];let w;e[43]!==s?(w=(ws=s("login"))==null?void 0:ws.name,e[43]=s,e[44]=w):w=e[44];const ls=i.login;let b;e[45]!==a?(b=r=>a("login",r.target.value),e[45]=a,e[46]=b):b=e[46];const ts=o||t.props.view;let N;e[47]!==s?(N=(bs=s("login"))==null?void 0:bs.label,e[47]=s,e[48]=N):N=e[48];let C;e[49]!==w||e[50]!==ls||e[51]!==b||e[52]!==ts||e[53]!==N?(C=l.jsx(Te,{id:w,type:"text",required:!0,tabIndex:1,autoComplete:"username",value:ls,onChange:b,disabled:ts,placeholder:N}),e[49]=w,e[50]=ls,e[51]=b,e[52]=ts,e[53]=N,e[54]=C):C=e[54];let P;e[55]!==v||e[56]!==C?(P=l.jsxs("div",{className:"grid gap-4",children:[v,C]}),e[55]=v,e[56]=C,e[57]=P):P=e[57];let k;e[58]!==s?(k=(Ns=s("fullName"))==null?void 0:Ns.name,e[58]=s,e[59]=k):k=e[59];let y;e[60]!==s?(y=(Cs=s("fullName"))==null?void 0:Cs.label,e[60]=s,e[61]=y):y=e[61];let F;e[62]!==k||e[63]!==y?(F=l.jsx(n,{htmlFor:k,children:y}),e[62]=k,e[63]=y,e[64]=F):F=e[64];let U;e[65]!==s?(U=(Ps=s("fullName"))==null?void 0:Ps.name,e[65]=s,e[66]=U):U=e[66];const as=i.fullName;let z;e[67]!==a?(z=r=>a("fullName",r.target.value),e[67]=a,e[68]=z):z=e[68];const rs=o||t.props.view;let S;e[69]!==s?(S=(ks=s("fullName"))==null?void 0:ks.label,e[69]=s,e[70]=S):S=e[70];let I;e[71]!==U||e[72]!==as||e[73]!==z||e[74]!==rs||e[75]!==S?(I=l.jsx(Te,{id:U,type:"text",required:!0,tabIndex:1,autoComplete:"additional-name",value:as,onChange:z,disabled:rs,placeholder:S}),e[71]=U,e[72]=as,e[73]=z,e[74]=rs,e[75]=S,e[76]=I):I=e[76];let A;e[77]!==F||e[78]!==I?(A=l.jsxs("div",{className:"grid gap-4",children:[F,I]}),e[77]=F,e[78]=I,e[79]=A):A=e[79];let E;e[80]!==s?(E=(ys=s("email"))==null?void 0:ys.name,e[80]=s,e[81]=E):E=e[81];let T;e[82]!==s?(T=(Fs=s("email"))==null?void 0:Fs.label,e[82]=s,e[83]=T):T=e[83];let B;e[84]!==E||e[85]!==T?(B=l.jsx(n,{htmlFor:E,children:T}),e[84]=E,e[85]=T,e[86]=B):B=e[86];let L;e[87]!==s?(L=(Us=s("email"))==null?void 0:Us.name,e[87]=s,e[88]=L):L=e[88];const is=i.email;let q;e[89]!==a?(q=r=>a("email",r.target.value),e[89]=a,e[90]=q):q=e[90];const os=o||t.props.view;let V;e[91]!==s?(V=(zs=s("email"))==null?void 0:zs.label,e[91]=s,e[92]=V):V=e[92];let _;e[93]!==L||e[94]!==is||e[95]!==q||e[96]!==os||e[97]!==V?(_=l.jsx(Te,{id:L,type:"email",required:!0,tabIndex:1,autoComplete:"email",value:is,onChange:q,disabled:os,placeholder:V}),e[93]=L,e[94]=is,e[95]=q,e[96]=os,e[97]=V,e[98]=_):_=e[98];let D;e[99]!==B||e[100]!==_?(D=l.jsxs("div",{className:"grid gap-4",children:[B,_]}),e[99]=B,e[100]=_,e[101]=D):D=e[101];let H;e[102]!==P||e[103]!==A||e[104]!==D?(H=l.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[P,A,D]}),e[102]=P,e[103]=A,e[104]=D,e[105]=H):H=e[105];let M;e[106]!==s?(M=(Ss=s("timezone"))==null?void 0:Ss.name,e[106]=s,e[107]=M):M=e[107];let O;e[108]!==s?(O=(Is=s("timezone"))==null?void 0:Is.label,e[108]=s,e[109]=O):O=e[109];let R;e[110]!==M||e[111]!==O?(R=l.jsx(n,{htmlFor:M,children:O}),e[110]=M,e[111]=O,e[112]=R):R=e[112];let $;e[113]!==a?($=r=>a("timezone",r),e[113]=a,e[114]=$):$=e[114];const ns=i.timezone,ds=o||t.props.view;let J;e[115]!==s?(J=(As=s("timezone"))==null?void 0:As.name,e[115]=s,e[116]=J):J=e[116];let Q;e[117]!==J?(Q=l.jsx(al,{className:"w-full cursor-pointer",children:l.jsx(rl,{placeholder:J})}),e[117]=J,e[118]=Q):Q=e[118];let W;e[119]!==Re?(W=Re??[],e[119]=Re,e[120]=W):W=e[120];let X;e[121]!==W?(X=W.map(kl),e[121]=W,e[122]=X):X=e[122];let Y;e[123]!==X?(Y=l.jsx(il,{children:X}),e[123]=X,e[124]=Y):Y=e[124];let G;e[125]!==$||e[126]!==ns||e[127]!==ds||e[128]!==Q||e[129]!==Y?(G=l.jsxs(tl,{onValueChange:$,defaultValue:ns,disabled:ds,children:[Q,Y]}),e[125]=$,e[126]=ns,e[127]=ds,e[128]=Q,e[129]=Y,e[130]=G):G=e[130];let K;e[131]!==R||e[132]!==G?(K=l.jsxs("div",{className:"grid gap-4",children:[R,G]}),e[131]=R,e[132]=G,e[133]=K):K=e[133];let Z;e[134]!==i.date||e[135]!==s||e[136]!==a||e[137]!==o?(Z=s("date")&&l.jsxs("div",{className:"grid gap-4",children:[l.jsx(n,{htmlFor:(Es=s("date"))==null?void 0:Es.name,children:(Ts=s("date"))==null?void 0:Ts.label}),l.jsx(Te,{id:(Bs=s("date"))==null?void 0:Bs.name,type:"date",className:"max-w-fit",tabIndex:1,value:i.date,onChange:r=>a("date",r.target.value),disabled:o})]}),e[134]=i.date,e[135]=s,e[136]=a,e[137]=o,e[138]=Z):Z=e[138];let ee;e[139]!==i.isAdmin||e[140]!==s||e[141]!==a||e[142]!==t.props.view||e[143]!==o?(ee=s("isAdmin")&&l.jsxs("div",{className:"grid gap-4",children:[l.jsx(n,{className:"cursor-pointer",htmlFor:(Ls=s("isAdmin"))==null?void 0:Ls.name,children:(qs=s("isAdmin"))==null?void 0:qs.label}),l.jsx(gs,{id:(Vs=s("isAdmin"))==null?void 0:Vs.name,className:"cursor-pointer size-5",disabled:o||t.props.view,checked:i.isAdmin,onCheckedChange:r=>a("isAdmin",r)})]}),e[139]=i.isAdmin,e[140]=s,e[141]=a,e[142]=t.props.view,e[143]=o,e[144]=ee):ee=e[144];let se;e[145]!==i.isConfirmed||e[146]!==s||e[147]!==a||e[148]!==t.props.view||e[149]!==o?(se=s("isConfirmed")&&l.jsxs("div",{className:"grid gap-4",children:[l.jsx(n,{className:"cursor-pointer",htmlFor:(_s=s("isConfirmed"))==null?void 0:_s.name,children:(Ds=s("isConfirmed"))==null?void 0:Ds.label}),l.jsx(gs,{id:(Hs=s("isConfirmed"))==null?void 0:Hs.name,className:"cursor-pointer size-5",disabled:o||t.props.view,checked:i.isConfirmed,onCheckedChange:r=>a("isConfirmed",r)})]}),e[145]=i.isConfirmed,e[146]=s,e[147]=a,e[148]=t.props.view,e[149]=o,e[150]=se):se=e[150];let le;e[151]!==ee||e[152]!==se?(le=l.jsxs("div",{className:"flex gap-6",children:[ee,se]}),e[151]=ee,e[152]=se,e[153]=le):le=e[153];let te;e[154]!==Z||e[155]!==le?(te=l.jsxs("div",{className:"flex flex-col md:flex-row justify-start gap-4 xl:justify-between items-start md:items-center",children:[Z,le]}),e[154]=Z,e[155]=le,e[156]=te):te=e[156];let ae;e[157]!==i.locale||e[158]!==s||e[159]!==a||e[160]!==t.props.locales||e[161]!==t.props.view||e[162]!==o?(ae=s("locale")&&l.jsxs("div",{className:"grid gap-4",children:[l.jsx(n,{htmlFor:(Ms=s("locale"))==null?void 0:Ms.name,children:(Os=s("locale"))==null?void 0:Os.label}),l.jsxs(tl,{onValueChange:r=>a("locale",r),defaultValue:i.locale,disabled:o||t.props.view,children:[l.jsx(al,{className:"w-full cursor-pointer",children:l.jsx(rl,{placeholder:(Rs=s("locale"))==null?void 0:Rs.name})}),l.jsx(il,{children:(t.props.locales??[]).map(Pl)})]})]}),e[157]=i.locale,e[158]=s,e[159]=a,e[160]=t.props.locales,e[161]=t.props.view,e[162]=o,e[163]=ae):ae=e[163];let re;e[164]!==K||e[165]!==te||e[166]!==ae?(re=l.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[K,te,ae]}),e[164]=K,e[165]=te,e[166]=ae,e[167]=re):re=e[167];let ie;e[168]!==H||e[169]!==re?(ie=l.jsxs("div",{className:"flex-col xl:flex-row flex gap-16",children:[H,re]}),e[168]=H,e[169]=re,e[170]=ie):ie=e[170];let oe;e[171]!==Qe.user.isAdministrator||e[172]!==i.login||e[173]!==t.props.userPretend?(oe=Qe.user.isAdministrator&&l.jsx(hs,{className:"w-fit",asChild:!0,variant:"outline",children:l.jsxs(ll,{href:t.props.userPretend.postLink,method:"post",data:{login:i.login,pretend:!0},children:[l.jsx(Nl,{name:"masks",className:"!text-[18px]"}),t.props.userPretend.label]})}),e[171]=Qe.user.isAdministrator,e[172]=i.login,e[173]=t.props.userPretend,e[174]=oe):oe=e[174];let ne;e[175]!==s?(ne=($s=s("userPassword"))==null?void 0:$s.label,e[175]=s,e[176]=ne):ne=e[176];let de;e[177]!==ne?(de=l.jsx("label",{className:"font-bold text-xl",children:ne}),e[177]=ne,e[178]=de):de=e[178];let Me;e[179]===Symbol.for("react.memo_cache_sentinel")?(Me=l.jsx(ul,{onClick:Cl,children:l.jsx(ol,{iconNode:hl,className:"text-primary w-5 h-5 cursor-pointer"})}),e[179]=Me):Me=e[179];let pe;e[180]!==s?(pe=(Js=s("userPassword"))==null?void 0:Js.tooltip,e[180]=s,e[181]=pe):pe=e[181];let ce;e[182]!==pe?(ce=l.jsx(gl,{children:l.jsxs(jl,{children:[Me,l.jsx(vl,{align:"center",side:"top",children:l.jsx("p",{children:pe})})]})}),e[182]=pe,e[183]=ce):ce=e[183];let me;e[184]!==de||e[185]!==ce?(me=l.jsxs("div",{className:"flex gap-3",children:[de,ce]}),e[184]=de,e[185]=ce,e[186]=me):me=e[186];let fe;e[187]!==s?(fe=(Qs=s("userPassword"))==null?void 0:Qs.name,e[187]=s,e[188]=fe):fe=e[188];let xe;e[189]!==s?(xe=(Ws=s("userPassword"))==null?void 0:Ws.label,e[189]=s,e[190]=xe):xe=e[190];let ue;e[191]!==fe||e[192]!==xe?(ue=l.jsx(n,{htmlFor:fe,children:xe}),e[191]=fe,e[192]=xe,e[193]=ue):ue=e[193];let he;e[194]!==s?(he=(Xs=s("userPassword"))==null?void 0:Xs.name,e[194]=s,e[195]=he):he=e[195];const ps=!t.props.edit,cs=i.password;let ge;e[196]!==a?(ge=r=>a("userPassword",r.target.value),e[196]=a,e[197]=ge):ge=e[197];const ms=o||t.props.view;let je;e[198]!==s?(je=(Ys=s("userPassword"))==null?void 0:Ys.label,e[198]=s,e[199]=je):je=e[199];let ve;e[200]!==he||e[201]!==ps||e[202]!==cs||e[203]!==ge||e[204]!==ms||e[205]!==je?(ve=l.jsx(Te,{id:he,type:"password",required:ps,tabIndex:1,autoComplete:"new-password",value:cs,onChange:ge,disabled:ms,placeholder:je}),e[200]=he,e[201]=ps,e[202]=cs,e[203]=ge,e[204]=ms,e[205]=je,e[206]=ve):ve=e[206];let we;e[207]!==ue||e[208]!==ve?(we=l.jsxs("div",{className:"grid gap-4 col-span-1",children:[ue,ve]}),e[207]=ue,e[208]=ve,e[209]=we):we=e[209];let be;e[210]!==s?(be=(Gs=s("repeatUserPassword"))==null?void 0:Gs.name,e[210]=s,e[211]=be):be=e[211];let Ne;e[212]!==s?(Ne=(Ks=s("repeatUserPassword"))==null?void 0:Ks.label,e[212]=s,e[213]=Ne):Ne=e[213];let Ce;e[214]!==be||e[215]!==Ne?(Ce=l.jsx(n,{htmlFor:be,children:Ne}),e[214]=be,e[215]=Ne,e[216]=Ce):Ce=e[216];let Pe;e[217]!==s?(Pe=(Zs=s("repeatUserPassword"))==null?void 0:Zs.name,e[217]=s,e[218]=Pe):Pe=e[218];const fs=!t.props.edit,xs=i.repeatUserPassword;let ke;e[219]!==a?(ke=r=>a("repeatUserPassword",r.target.value),e[219]=a,e[220]=ke):ke=e[220];const us=o||t.props.view;let ye;e[221]!==s?(ye=(el=s("repeatUserPassword"))==null?void 0:el.label,e[221]=s,e[222]=ye):ye=e[222];let Fe;e[223]!==Pe||e[224]!==fs||e[225]!==xs||e[226]!==ke||e[227]!==us||e[228]!==ye?(Fe=l.jsx(Te,{id:Pe,type:"password",required:fs,tabIndex:1,autoComplete:"new-password",value:xs,onChange:ke,disabled:us,placeholder:ye}),e[223]=Pe,e[224]=fs,e[225]=xs,e[226]=ke,e[227]=us,e[228]=ye,e[229]=Fe):Fe=e[229];let Ue;e[230]!==Xe.repeatUserPassword?(Ue=l.jsx(bl,{message:Xe.repeatUserPassword}),e[230]=Xe.repeatUserPassword,e[231]=Ue):Ue=e[231];let ze;e[232]!==Ce||e[233]!==Fe||e[234]!==Ue?(ze=l.jsxs("div",{className:"grid gap-4 col-span-1 col-start-1",children:[Ce,Fe,Ue]}),e[232]=Ce,e[233]=Fe,e[234]=Ue,e[235]=ze):ze=e[235];let Se;e[236]!==we||e[237]!==ze?(Se=l.jsxs("div",{className:"grid grid-col-1 lg:grid-cols-2 grid-rows-2 gap-x-16 gap-y-6",children:[we,ze]}),e[236]=we,e[237]=ze,e[238]=Se):Se=e[238];let Ie;e[239]!==i||e[240]!==a||e[241]!==t.props.groupHead||e[242]!==t.props.groups||e[243]!==t.props.view||e[244]!==o?(Ie=t.props.groups.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("h2",{className:"font-bold text-xl",children:t.props.groupHead}),l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-5 xl:grid-cols-6 gap-4",children:t.props.groups.map(r=>l.jsxs("div",{className:"grid gap-4",children:[l.jsx(n,{className:"cursor-pointer",htmlFor:r.name,children:r.label}),l.jsx(gs,{id:r.name,disabled:o||t.props.view,className:"cursor-pointer size-5",checked:i[r.name],onCheckedChange:d=>a(r.name,d)})]},r.name))})]}),e[239]=i,e[240]=a,e[241]=t.props.groupHead,e[242]=t.props.groups,e[243]=t.props.view,e[244]=o,e[245]=Ie):Ie=e[245];let Ae;e[246]!==h||e[247]!==ie||e[248]!==oe||e[249]!==me||e[250]!==Se||e[251]!==Ie?(Ae=l.jsxs("div",{className:"flex flex-col gap-10 max-w-[1144px]",children:[h,ie,oe,me,Se,Ie]}),e[246]=h,e[247]=ie,e[248]=oe,e[249]=me,e[250]=Se,e[251]=Ie,e[252]=Ae):Ae=e[252];let Ee;e[253]!==Ze||e[254]!==Ae||e[255]!==ss?(Ee=l.jsx("form",{id:"addUserForm",onSubmit:Ze,className:ss,children:Ae}),e[253]=Ze,e[254]=Ae,e[255]=ss,e[256]=Ee):Ee=e[256];let Oe;return e[257]!==Ee||e[258]!==u?(Oe=l.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[u,Ee]}),e[257]=Ee,e[258]=u,e[259]=Oe):Oe=e[259],Oe}function Cl(e){return e.preventDefault()}function Pl(e){return l.jsx(nl,{value:e.value,children:e.label},e.value)}function kl(e){return l.jsx(nl,{value:e.value,children:e.label},e.value)}function yl(e){return[e.name,e.value]}function Fl(e){return[e.name,e.value]}export{Al as default};
@@ -1 +0,0 @@
1
- import{c as m,j as t}from"./app.js";import{A as i}from"./app-layout-DlouPwk2.js";import p from"./add-user-form-CrfboTix.js";import"./app-shell-B969C0PB.js";import"./app-sidebar-DBaEEAgj.js";import"./nav-main-FLS_mh3K.js";import"./material-icon-8nTeT-mJ.js";import"./app-sidebar-header-DAKTYE0g.js";import"./breadcrumbs-DHQ3AkEO.js";import"./nav-user-CfXR0Kcu.js";import"./user-info-obJxhBMF.js";import"./user-menu-content-Bs0bmqDB.js";import"./theme-switcher-BKpJx2Op.js";import"./icon-BbhNOU2o.js";import"./input-error-1aQ9bwyz.js";const e=[];function R(){const o=m.c(1);let r;return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(i,{breadcrumbs:e,children:t.jsx(p,{})}),o[0]=r):r=o[0],r}export{R as default};
@@ -1 +0,0 @@
1
- import{r as b,c as x,q as j,j as a,a0 as u,am as h}from"./app.js";import A from"./app-shell-B969C0PB.js";import{AppSidebar as S}from"./app-sidebar-DBaEEAgj.js";import{A as N,N as v}from"./app-sidebar-header-DAKTYE0g.js";const y=b.memo(m=>{const e=x.c(14),{children:r,breadcrumbs:t,className:i}=m;let s;e[0]!==t?(s=t===void 0?[]:t,e[0]=t,e[1]=s):s=e[1];const o=s,f=j().props.title;let l;e[2]!==f?(l=a.jsx(u,{title:f}),e[2]=f,e[3]=l):l=e[3];let n;e[4]===Symbol.for("react.memo_cache_sentinel")?(n=a.jsx(S,{}),e[4]=n):n=e[4];let c;e[5]!==o?(c=a.jsx(N,{breadcrumbs:o}),e[5]=o,e[6]=c):c=e[6];let p;e[7]!==r||e[8]!==i||e[9]!==c?(p=a.jsxs(h,{className:i,children:[c,r]}),e[7]=r,e[8]=i,e[9]=c,e[10]=p):p=e[10];let d;return e[11]!==l||e[12]!==p?(d=a.jsxs(A,{variant:"sidebar",children:[l,n,p]}),e[11]=l,e[12]=p,e[13]=d):d=e[13],d}),$=b.memo(m=>{const e=x.c(10);let r,t,i,s;e[0]!==m?({children:t,className:i,breadcrumbs:r,...s}=m,e[0]=m,e[1]=r,e[2]=t,e[3]=i,e[4]=s):(r=e[1],t=e[2],i=e[3],s=e[4]);let o;return e[5]!==r||e[6]!==t||e[7]!==i||e[8]!==s?(o=a.jsx(v,{children:a.jsx(y,{breadcrumbs:r,className:i,...s,children:t})}),e[5]=r,e[6]=t,e[7]=i,e[8]=s,e[9]=o):o=e[9],o});export{$ as A};
@@ -1 +0,0 @@
1
- import{r as i,c as p,j as l,aR as u}from"./app.js";const S=i.memo(c=>{const e=p.c(6),{children:n,variant:o}=c,d=o===void 0?"header":o,[r,f]=i.useState(h);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=t=>{f(t),typeof window<"u"&&localStorage.setItem("sidebar",String(t))},e[0]=a):a=e[0];const m=a;if(d==="header"){let t;return e[1]!==n?(t=l.jsx("div",{className:"flex min-h-screen w-full flex-col",children:n}),e[1]=n,e[2]=t):t=e[2],t}let s;return e[3]!==n||e[4]!==r?(s=l.jsx(u,{defaultOpen:r,open:r,onOpenChange:m,children:n}),e[3]=n,e[4]=r,e[5]=s):s=e[5],s});function h(){return typeof window<"u"?localStorage.getItem("sidebar")!=="false":!0}export{S as default};
@@ -1 +0,0 @@
1
- import{c as D,q as F,j as s,aX as G,aY as H,C as B,aZ as $,a_ as R,a$ as J,b0 as M,b1 as w,b2 as U,b3 as V,b4 as X,b5 as Y,b6 as T,a1 as v,b7 as E,b8 as q,b9 as y,ba as z,bb as A,bc as Z,B as _,bd as K,be as L,bf as O,bg as P,bh as Q}from"./app.js";import{NavMain as W}from"./nav-main-FLS_mh3K.js";import r from"./material-icon-8nTeT-mJ.js";function ne(){const e=D.c(41),a=F(),k=`w-full ${a.props.section?"":"pointer-events-none"}`;let f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(r,{name:"rocket_launch",className:"!text-[18px]"}),e[0]=f):f=e[0];let l;e[1]!==a.props.brand?(l=s.jsx("span",{className:"group-data-[state=collapsed]:hidden",children:a.props.brand}),e[1]=a.props.brand,e[2]=l):l=e[2];let n;e[3]!==a.props.section?(n=a.props.section&&s.jsx(G,{className:"ml-auto group-data-[state=collapsed]:hidden"}),e[3]=a.props.section,e[4]=n):n=e[4];let i;e[5]!==l||e[6]!==n?(i=s.jsxs("div",{children:[f,l,n]}),e[5]=l,e[6]=n,e[7]=i):i=e[7];let t;e[8]!==k||e[9]!==i?(t=s.jsx(Z,{asChild:!0,className:"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground rounded-md",children:s.jsx(y,{asChild:!0,children:s.jsx(_,{variant:"ghost",asChild:!0,className:k,children:i})})}),e[8]=k,e[9]=i,e[10]=t):t=e[10];let c;e[11]!==a.props.section?(c=a.props.section&&s.jsx(H,{side:"right",className:"z-[1003]",children:a.props.section.map(ee)}),e[11]=a.props.section,e[12]=c):c=e[12];let p;e[13]!==t||e[14]!==c?(p=s.jsx(K,{className:"p-0 shadow-none border-none bg-transparent hidden md:block",children:s.jsxs(L,{children:[t,c]})}),e[13]=t,e[14]=c,e[15]=p):p=e[15];let N;e[16]===Symbol.for("react.memo_cache_sentinel")?(N=s.jsx(r,{name:"rocket_launch",className:"!text-[18px]"}),e[16]=N):N=e[16];let d;e[17]!==a.props.brand?(d=s.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:a.props.brand}),e[17]=a.props.brand,e[18]=d):d=e[18];let o;e[19]!==a.props.section?(o=a.props.section&&s.jsx(B,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"}),e[19]=a.props.section,e[20]=o):o=e[20];let x;e[21]!==o||e[22]!==d?(x=s.jsx(q,{asChild:!0,children:s.jsxs(y,{children:[N,d,o]})}),e[21]=o,e[22]=d,e[23]=x):x=e[23];let h;e[24]!==a.props.section?(h=a.props.section&&s.jsx($,{children:s.jsx(R,{children:a.props.section&&a.props.section.map(S)})}),e[24]=a.props.section,e[25]=h):h=e[25];let j;e[26]!==x||e[27]!==h?(j=s.jsx(O,{className:"px-2 py-0 block md:hidden",children:s.jsx(M,{children:s.jsx(E,{asChild:!0,className:"group/collapsible",children:s.jsxs(w,{children:[x,h]})})})}),e[26]=x,e[27]=h,e[28]=j):j=e[28];let m;e[29]!==a.props.brand||e[30]!==j||e[31]!==p?(m=s.jsx(J,{children:s.jsx(M,{children:s.jsxs(w,{children:[p,j]},a.props.brand)})}),e[29]=a.props.brand,e[30]=j,e[31]=p,e[32]=m):m=e[32];let b;e[33]!==a.props.menu?(b=s.jsx(U,{children:s.jsx(W,{items:a.props.menu})}),e[33]=a.props.menu,e[34]=b):b=e[34];const C=a.props.showVersion&&"v.4.3.0";let u;e[35]!==C?(u=s.jsx(P,{children:s.jsx("div",{className:"text-center opacity-70",children:C})}),e[35]=C,e[36]=u):u=e[36];let g;return e[37]!==m||e[38]!==b||e[39]!==u?(g=s.jsxs(Q,{collapsible:"icon",variant:"inset",children:[m,b,u]}),e[37]=m,e[38]=b,e[39]=u,e[40]=g):g=e[40],g}function S(e){return e.subItems?s.jsx(M,{children:s.jsx(E,{asChild:!0,className:"group/collapsible-sub",children:s.jsxs(w,{children:[s.jsx(q,{asChild:!0,children:s.jsxs(y,{children:[s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.title}),s.jsx(B,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible-sub:rotate-90"})]})}),s.jsx($,{children:s.jsx(R,{children:e.subItems.map(I)})})]})})},e.id):s.jsx(z,{children:s.jsx(A,{asChild:!0,children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}):s.jsxs(v,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function I(e){return s.jsx(z,{children:s.jsx(A,{asChild:!0,children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}):s.jsxs(v,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function ee(e){return s.jsx("div",{children:e.subItems?s.jsxs(V,{children:[s.jsxs(X,{className:"flex gap-2 items-center cursor-pointer",children:[s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}),s.jsx(Y,{children:e.subItems.map(se)})]}):s.jsx(T,{children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]}):s.jsxs(v,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function se(e){return s.jsx(T,{children:e.type==="blank"?s.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]},e.id):s.jsxs(v,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&s.jsx(r,{name:e.icon,className:"!text-[18px]"}),s.jsx("span",{className:"hover:underline",children:e.title})]},e.id)},e.id)}export{ne as AppSidebar};
@@ -1 +0,0 @@
1
- import{r as h,j as e,i as N,aS as S,y as C,B as v,aT as M,A as E,E as _,aU as $,W as T,X as A,aa as P,Y as D,u as I,aV as R,a1 as k,L as B,c as z,aW as L}from"./app.js";import{Breadcrumbs as O}from"./breadcrumbs-DHQ3AkEO.js";import{NavUser as H}from"./nav-user-CfXR0Kcu.js";import{ThemeSwitcher as J}from"./theme-switcher-BKpJx2Op.js";import F from"./material-icon-8nTeT-mJ.js";const b=h.createContext(void 0),Q=({children:d})=>{const[s,f]=h.useState([]),[x,i]=h.useState([]),[u,n]=h.useState(!1),l=async()=>{try{const r=await N.get(`${window.routePrefix}/api/notifications`,{params:{unreadOnly:!0,limit:4}});f(r.data)}catch(r){console.error("Error fetching bell notifications:",r)}},t=async()=>{await l()},m=async r=>{n(!0);try{const o=r?`${window.routePrefix}/api/notifications/${r}`:`${window.routePrefix}/api/notifications`,a=await N.get(o);return i(a.data),a.data}catch(o){return console.error("Error fetching all notifications:",o),[]}finally{n(!1)}};h.useEffect(()=>{l();const r=new EventSource(`${window.routePrefix}/api/notifications/stream`);return r.addEventListener("connected",o=>{const a=JSON.parse(o.data);console.log("Connected event:",a)}),r.addEventListener("notification",o=>{const a=JSON.parse(o.data);f(c=>[a,...c.filter(p=>p.id!==a.id)].slice(0,4)),i(c=>[a,...c.filter(p=>p.id!==a.id)])}),r.onerror=()=>{console.error("SSE connection error")},()=>r.close()},[]);const j=async(r,o)=>{try{await N.put(`${window.routePrefix}/api/notifications/${r}/${o}/read`,{}),i(a=>a.map(c=>c.id===o?{...c,read:!0}:c)),await l()}catch(a){throw console.error("Error marking as read:",a),a}},w=s.filter(r=>!r.read).length;return e.jsx(b.Provider,{value:{bellNotifications:s,allNotifications:x,unreadCount:w,markAsRead:j,fetchAllNotifications:m,loading:u,refreshBellNotifications:t},children:d})},U=()=>{const d=h.useContext(b);if(d===void 0)throw new Error("useNotifications must be used within a NotificationProvider");return d};function V(){const{bellNotifications:d,markAsRead:s,unreadCount:f,refreshBellNotifications:x}=U(),[i,u]=h.useState(!1),n=async(t,m)=>{u(!0);try{await s(t,m),await x()}catch(j){console.error("Error marking as read:",j)}finally{u(!1)}},l=t=>{const m=new Date,j=new Date(t),w=m.getTime()-j.getTime(),r=Math.floor(w/1e3),o=new Intl.RelativeTimeFormat("en",{numeric:"auto"});if(r<60)return o.format(-r,"second");const a=Math.floor(r/60);if(a<60)return o.format(-a,"minute");const c=Math.floor(a/60);if(c<24)return o.format(-c,"hour");const p=Math.floor(c/24);if(p<30)return o.format(-p,"day");const g=Math.floor(p/30);if(g<12)return o.format(-g,"month");const y=Math.floor(g/12);return o.format(-y,"year")};return e.jsxs(S,{children:[e.jsx(C,{asChild:!0,className:"cursor-pointer data-[state=open]:bg-sidebar-accent",children:e.jsxs(v,{variant:"ghost",className:"relative",children:[e.jsx(M,{}),f>0&&e.jsx("div",{className:"absolute top-1.5 right-1.5 size-1.5 rounded-full bg-destructive"})]})}),e.jsxs(E,{className:"z-[1002] p-2",align:"end",onCloseAutoFocus:t=>t.preventDefault(),children:[e.jsx(_,{className:`${i?"opacity-50 pointer-events-none":""}`,children:d.length===0?e.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No notifications"}):d.map(t=>e.jsxs("div",{children:[e.jsx($,{asChild:!0,className:"cursor-pointer",onSelect:m=>{m.preventDefault(),I.visit(`${window.routePrefix}/notifications?type=${t.notificationClass}`)},children:e.jsxs("div",{className:"grid grid-cols-[32px_250px] grid-rows-[auto_1fr] items-start gap-x-4 gap-y-2",children:[t.icon?e.jsx(F,{name:t.icon.icon,style:{color:t.icon.iconColor},className:"!text-[32px]"}):e.jsx("div",{}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"font-medium",children:t.title}),e.jsx("span",{className:"truncate",children:t.message})]}),e.jsxs("div",{className:"col-start-2 flex justify-between flex-nowrap items-center",children:[e.jsxs("div",{className:"flex flex-nowrap gap-2 items-center",children:[t.notificationClass==="general"?e.jsx("div",{className:"font-medium",children:"Info"}):e.jsx("div",{className:"font-medium",children:"Activity"}),e.jsx("span",{children:"●"}),e.jsx("div",{children:l(t.createdAt)})]}),e.jsxs(T,{children:[e.jsx(A,{asChild:!0,children:e.jsx(v,{variant:"ghost",size:"icon",className:"size-4",onClick:m=>{m.stopPropagation(),n(t.notificationClass,t.id)},children:e.jsx(P,{className:"text-primary"})})}),e.jsx(D,{side:"left",className:"z-[1003]",children:e.jsx("p",{children:"Make read"})})]})]})]})}),e.jsx(R,{})]},t.id))}),e.jsx(v,{variant:"secondary",asChild:!0,children:e.jsxs(k,{href:`${window.routePrefix}/notifications?type=general`,className:`w-full ${i?"opacity-50 pointer-events-none":""}`,children:["View All",i&&e.jsx(B,{className:"h-4 w-4 animate-spin"})]})})]})]})}function W(d){const s=z.c(8),{breadcrumbs:f}=d;let x;s[0]!==f?(x=f===void 0?[]:f,s[0]=f,s[1]=x):x=s[1];const i=x;let u;s[2]===Symbol.for("react.memo_cache_sentinel")?(u=e.jsx(L,{className:"-ml-1"}),s[2]=u):u=s[2];let n;s[3]!==i?(n=e.jsxs("div",{className:"flex items-center gap-2",children:[u,e.jsx(O,{breadcrumbs:i})]}),s[3]=i,s[4]=n):n=s[4];let l;s[5]===Symbol.for("react.memo_cache_sentinel")?(l=e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx(J,{}),e.jsx(V,{}),e.jsx(H,{})]}),s[5]=l):l=s[5];let t;return s[6]!==n?(t=e.jsx("header",{className:"border-sidebar-border/50 flex h-16 shrink-0 items-center gap-2 border-b px-6 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12 md:px-4",children:e.jsxs("div",{className:"flex justify-between w-full",children:[n,l]})}),s[6]=n,s[7]=t):t=s[7],t}const Z=Object.freeze(Object.defineProperty({__proto__:null,AppSidebarHeader:W},Symbol.toStringTag,{value:"Module"}));export{W as A,Q as N,Z as a,U as u};
@@ -1 +0,0 @@
1
- import{c as d,j as r,bi as m,bj as b,r as u,bk as h,bl as x,bm as j,a1 as o,bn as p}from"./app.js";function f(l){const e=d.c(4),{breadcrumbs:t}=l;let s;e[0]!==t?(s=t.length>0&&r.jsx(m,{children:r.jsx(b,{children:t.map((c,n)=>{const i=n===t.length-1;return r.jsxs(u.Fragment,{children:[r.jsx(h,{children:i?r.jsx(x,{children:c.title}):r.jsx(j,{asChild:!0,children:r.jsx(o,{href:c.href,children:c.title})})}),!i&&r.jsx(p,{})]},n)})})}),e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=r.jsx(r.Fragment,{children:s}),e[2]=s,e[3]=a):a=e[3],a}export{f as Breadcrumbs};