react-luminus-components 1.2.34 → 1.2.36

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 (32) hide show
  1. package/dist/.vite/manifest.json +42 -59
  2. package/dist/EventType-Dodj1wMo.cjs +1 -0
  3. package/dist/EventType-SEEDuisM.js +636 -0
  4. package/dist/SimpleTooltip-MhGCEWts.js +5 -0
  5. package/dist/{SimpleTooltip-CjMfPKvQ.cjs → SimpleTooltip-OE_cbcNU.cjs} +1 -1
  6. package/dist/{UserAvatarToggle-Dq9Xmfcp.js → UserAvatarToggle-CH7OqxNp.js} +2104 -2001
  7. package/dist/UserAvatarToggle-rzyVxLmG.cjs +253 -0
  8. package/dist/components/common/HomeDashboard/comps/FreeSpaceWidget/FreeSpaceWidget.d.ts +4 -1
  9. package/dist/components/common/HomeDashboard/comps/WidgetPicker/WidgetPicker.d.ts +11 -0
  10. package/dist/contexts.cjs.js +1 -1
  11. package/dist/contexts.es.js +205 -776
  12. package/dist/hooks.cjs.js +1 -1
  13. package/dist/hooks.es.js +103 -99
  14. package/dist/layout.cjs.js +1 -1
  15. package/dist/layout.es.js +43 -43
  16. package/dist/main.cjs.js +1 -1
  17. package/dist/main.es.js +1240 -1285
  18. package/dist/models/texts/HomeDashboardTexts.d.ts +1 -0
  19. package/dist/style.css +1 -1
  20. package/dist/{useConfirm-QOAtP0re.cjs → useConfirm-9zGqmWEb.cjs} +1 -1
  21. package/dist/{useConfirm-akv7w_iA.js → useConfirm-B3BI8PzR.js} +3 -3
  22. package/dist/usePermissions-CO93mmCn.cjs +1 -0
  23. package/dist/usePermissions-DVO-znuB.js +13 -0
  24. package/package.json +1 -1
  25. package/dist/EventType-DO8vvA6X.cjs +0 -1
  26. package/dist/EventType-ZylDtXuB.js +0 -63
  27. package/dist/SimpleTooltip-Bp0AmtP_.js +0 -5
  28. package/dist/Typography-DbHYaPxW.js +0 -36
  29. package/dist/Typography-Plu1Wa0_.cjs +0 -1
  30. package/dist/UserAvatarToggle-DEb7Klk7.cjs +0 -253
  31. package/dist/usePermissions-CQVgatvt.js +0 -12
  32. package/dist/usePermissions-zYTcBjf7.cjs +0 -1
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
+ import { DashboardWidget, HomeDashboardTexts } from '@models/index';
2
3
  type Props = {
4
+ availableWidgets: DashboardWidget[];
3
5
  onAdd: (widgetId: number) => void;
6
+ texts: HomeDashboardTexts;
4
7
  };
5
- declare const FreeSpaceWidget: ({ onAdd }: Props) => import("react").JSX.Element;
8
+ declare const FreeSpaceWidget: ({ availableWidgets, onAdd, texts }: Props) => import("react").JSX.Element;
6
9
  export default FreeSpaceWidget;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { DashboardWidget, HomeDashboardTexts } from '@models/index';
3
+ type Props = {
4
+ show: boolean;
5
+ widgets: DashboardWidget[];
6
+ handleClose: () => void;
7
+ onWidgetPicked: (widgetId: number) => void;
8
+ texts: HomeDashboardTexts;
9
+ };
10
+ declare const WidgetPicker: ({ show, widgets, handleClose, onWidgetPicked, texts }: Props) => import("react").JSX.Element;
11
+ export default WidgetPicker;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./UserAvatarToggle-DEb7Klk7.cjs"),a=require("react"),Ce=require("./useConfirm-QOAtP0re.cjs"),_e=require("./Typography-Plu1Wa0_.cjs"),m=require("./EventType-DO8vvA6X.cjs"),Ue=require("react-dom");function De(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const o=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(n,s,o.get?o:{enumerable:!0,get:()=>t[s]})}}return n.default=t,Object.freeze(n)}const R=De(a),Fe=t=>R.forwardRef((n,s)=>e.jsxRuntimeExports.jsx("div",{...n,ref:s,className:e.classNames(n.className,t)})),We={"aria-label":e.PropTypes.string,onClick:e.PropTypes.func,variant:e.PropTypes.oneOf(["white"])},fe=R.forwardRef(({className:t,variant:n,"aria-label":s="Close",...o},r)=>e.jsxRuntimeExports.jsx("button",{ref:r,type:"button",className:e.classNames("btn-close",n&&`btn-close-${n}`,t),"aria-label":s,...o}));fe.displayName="CloseButton";fe.propTypes=We;var Y;function ge(t){if((!Y&&Y!==0||t)&&e.canUseDOM){var n=document.createElement("div");n.style.position="absolute",n.style.top="-9999px",n.style.width="50px",n.style.height="50px",n.style.overflow="scroll",document.body.appendChild(n),Y=n.offsetWidth-n.clientWidth,document.body.removeChild(n)}return Y}function ue(t){t===void 0&&(t=e.ownerDocument());try{var n=t.activeElement;return!n||!n.nodeName?null:n}catch{return t.body}}function He(t=document){const n=t.defaultView;return Math.abs(n.innerWidth-t.documentElement.clientWidth)}const ve=m.dataAttr("modal-open");class pe{constructor({ownerDocument:n,handleContainerOverflow:s=!0,isRTL:o=!1}={}){this.handleContainerOverflow=s,this.isRTL=o,this.modals=[],this.ownerDocument=n}getScrollbarWidth(){return He(this.ownerDocument)}getElement(){return(this.ownerDocument||document).body}setModalAttributes(n){}removeModalAttributes(n){}setContainerStyle(n){const s={overflow:"hidden"},o=this.isRTL?"paddingLeft":"paddingRight",r=this.getElement();n.style={overflow:r.style.overflow,[o]:r.style[o]},n.scrollBarWidth&&(s[o]=`${parseInt(e.style(r,o)||"0",10)+n.scrollBarWidth}px`),r.setAttribute(ve,""),e.style(r,s)}reset(){[...this.modals].forEach(n=>this.remove(n))}removeContainerStyle(n){const s=this.getElement();s.removeAttribute(ve),Object.assign(s.style,n.style)}add(n){let s=this.modals.indexOf(n);return s!==-1||(s=this.modals.length,this.modals.push(n),this.setModalAttributes(n),s!==0)||(this.state={scrollBarWidth:this.getScrollbarWidth(),style:{}},this.handleContainerOverflow&&this.setContainerStyle(this.state)),s}remove(n){const s=this.modals.indexOf(n);s!==-1&&(this.modals.splice(s,1),!this.modals.length&&this.handleContainerOverflow&&this.removeContainerStyle(this.state),this.removeModalAttributes(n))}isTopModal(n){return!!this.modals.length&&this.modals[this.modals.length-1]===n}}const Ke=["show","role","className","style","children","backdrop","keyboard","onBackdropClick","onEscapeKeyDown","transition","runTransition","backdropTransition","runBackdropTransition","autoFocus","enforceFocus","restoreFocus","restoreFocusOptions","renderDialog","renderBackdrop","manager","container","onShow","onHide","onExit","onExited","onExiting","onEnter","onEntering","onEntered"];function $e(t,n){if(t==null)return{};var s={},o=Object.keys(t),r,i;for(i=0;i<o.length;i++)r=o[i],!(n.indexOf(r)>=0)&&(s[r]=t[r]);return s}let de;function qe(t){return de||(de=new pe({ownerDocument:t==null?void 0:t.document})),de}function ze(t){const n=e.useWindow(),s=t||qe(n),o=a.useRef({dialog:null,backdrop:null});return Object.assign(o.current,{add:()=>s.add(o.current),remove:()=>s.remove(o.current),isTopModal:()=>s.isTopModal(o.current),setDialogRef:a.useCallback(r=>{o.current.dialog=r},[]),setBackdropRef:a.useCallback(r=>{o.current.backdrop=r},[])})}const Te=a.forwardRef((t,n)=>{let{show:s=!1,role:o="dialog",className:r,style:i,children:c,backdrop:l=!0,keyboard:d=!0,onBackdropClick:x,onEscapeKeyDown:h,transition:p,runTransition:E,backdropTransition:v,runBackdropTransition:Z,autoFocus:F=!0,enforceFocus:ee=!0,restoreFocus:S=!0,restoreFocusOptions:te,renderDialog:W,renderBackdrop:ne=f=>e.jsxRuntimeExports.jsx("div",Object.assign({},f)),manager:se,container:oe,onShow:H,onHide:L=()=>{},onExit:re,onExited:P,onExiting:K,onEnter:$,onEntering:q,onEntered:z}=t,ae=$e(t,Ke);const C=e.useWindow(),N=e.useWaitForDOMRef(oe),g=ze(se),ie=e.useMounted(),G=m.usePrevious(s),[b,k]=a.useState(!s),y=a.useRef(null);a.useImperativeHandle(n,()=>g,[g]),e.canUseDOM&&!G&&s&&(y.current=ue(C==null?void 0:C.document)),s&&b&&k(!1);const T=e.useEventCallback(()=>{if(g.add(),w.current=e.listen(document,"keydown",ce),_.current=e.listen(document,"focus",()=>setTimeout(le),!0),H&&H(),F){var f,X;const D=ue((f=(X=g.dialog)==null?void 0:X.ownerDocument)!=null?f:C==null?void 0:C.document);g.dialog&&D&&!e.contains(g.dialog,D)&&(y.current=D,g.dialog.focus())}}),B=e.useEventCallback(()=>{if(g.remove(),w.current==null||w.current(),_.current==null||_.current(),S){var f;(f=y.current)==null||f.focus==null||f.focus(te),y.current=null}});a.useEffect(()=>{!s||!N||T()},[s,N,T]),a.useEffect(()=>{b&&B()},[b,B]),e.useWillUnmount(()=>{B()});const le=e.useEventCallback(()=>{if(!ee||!ie()||!g.isTopModal())return;const f=ue(C==null?void 0:C.document);g.dialog&&f&&!e.contains(g.dialog,f)&&g.dialog.focus()}),V=e.useEventCallback(f=>{f.target===f.currentTarget&&(x==null||x(f),l===!0&&L())}),ce=e.useEventCallback(f=>{d&&e.isEscKey(f)&&g.isTopModal()&&(h==null||h(f),f.defaultPrevented||L())}),_=a.useRef(),w=a.useRef(),Q=(...f)=>{k(!0),P==null||P(...f)};if(!N)return null;const M=Object.assign({role:o,ref:g.setDialogRef,"aria-modal":o==="dialog"?!0:void 0},ae,{style:i,className:r,tabIndex:-1});let U=W?W(M):e.jsxRuntimeExports.jsx("div",Object.assign({},M,{children:R.cloneElement(c,{role:"document"})}));U=e.renderTransition(p,E,{unmountOnExit:!0,mountOnEnter:!0,appear:!0,in:!!s,onExit:re,onExiting:K,onExited:Q,onEnter:$,onEntering:q,onEntered:z,children:U});let I=null;return l&&(I=ne({ref:g.setBackdropRef,onClick:V}),I=e.renderTransition(v,Z,{in:!!s,appear:!0,mountOnEnter:!0,unmountOnExit:!0,children:I})),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:Ue.createPortal(e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[I,U]}),N)})});Te.displayName="Modal";const Ge=Object.assign(Te,{Manager:pe});function Ve(t,n){t.classList?t.classList.add(n):e.hasClass(t,n)||(typeof t.className=="string"?t.className=t.className+" "+n:t.setAttribute("class",(t.className&&t.className.baseVal||"")+" "+n))}function Re(t,n){return t.replace(new RegExp("(^|\\s)"+n+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function Qe(t,n){t.classList?t.classList.remove(n):typeof t.className=="string"?t.className=Re(t.className,n):t.setAttribute("class",Re(t.className&&t.className.baseVal||"",n))}const A={FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"};class Xe extends pe{adjustAndStore(n,s,o){const r=s.style[n];s.dataset[n]=r,e.style(s,{[n]:`${parseFloat(e.style(s,n))+o}px`})}restore(n,s){const o=s.dataset[n];o!==void 0&&(delete s.dataset[n],e.style(s,{[n]:o}))}setContainerStyle(n){super.setContainerStyle(n);const s=this.getElement();if(Ve(s,"modal-open"),!n.scrollBarWidth)return;const o=this.isRTL?"paddingLeft":"paddingRight",r=this.isRTL?"marginLeft":"marginRight";m.qsa(s,A.FIXED_CONTENT).forEach(i=>this.adjustAndStore(o,i,n.scrollBarWidth)),m.qsa(s,A.STICKY_CONTENT).forEach(i=>this.adjustAndStore(r,i,-n.scrollBarWidth)),m.qsa(s,A.NAVBAR_TOGGLER).forEach(i=>this.adjustAndStore(r,i,n.scrollBarWidth))}removeContainerStyle(n){super.removeContainerStyle(n);const s=this.getElement();Qe(s,"modal-open");const o=this.isRTL?"paddingLeft":"paddingRight",r=this.isRTL?"marginLeft":"marginRight";m.qsa(s,A.FIXED_CONTENT).forEach(i=>this.restore(o,i)),m.qsa(s,A.STICKY_CONTENT).forEach(i=>this.restore(r,i)),m.qsa(s,A.NAVBAR_TOGGLER).forEach(i=>this.restore(r,i))}}let me;function Ye(t){return me||(me=new Xe(t)),me}const be=R.forwardRef(({className:t,bsPrefix:n,as:s="div",...o},r)=>(n=e.useBootstrapPrefix(n,"modal-body"),e.jsxRuntimeExports.jsx(s,{ref:r,className:e.classNames(t,n),...o})));be.displayName="ModalBody";const je=R.createContext({onHide(){}}),xe=R.forwardRef(({bsPrefix:t,className:n,contentClassName:s,centered:o,size:r,fullscreen:i,children:c,scrollable:l,...d},x)=>{t=e.useBootstrapPrefix(t,"modal");const h=`${t}-dialog`,p=typeof i=="string"?`${t}-fullscreen-${i}`:`${t}-fullscreen`;return e.jsxRuntimeExports.jsx("div",{...d,ref:x,className:e.classNames(h,n,r&&`${t}-${r}`,o&&`${h}-centered`,l&&`${h}-scrollable`,i&&p),children:e.jsxRuntimeExports.jsx("div",{className:e.classNames(`${t}-content`,s),children:c})})});xe.displayName="ModalDialog";const Se=R.forwardRef(({className:t,bsPrefix:n,as:s="div",...o},r)=>(n=e.useBootstrapPrefix(n,"modal-footer"),e.jsxRuntimeExports.jsx(s,{ref:r,className:e.classNames(t,n),...o})));Se.displayName="ModalFooter";const Je=R.forwardRef(({closeLabel:t="Close",closeVariant:n,closeButton:s=!1,onHide:o,children:r,...i},c)=>{const l=a.useContext(je),d=e.useEventCallback(()=>{l==null||l.onHide(),o==null||o()});return e.jsxRuntimeExports.jsxs("div",{ref:c,...i,children:[r,s&&e.jsxRuntimeExports.jsx(fe,{"aria-label":t,variant:n,onClick:d})]})}),Ne=R.forwardRef(({bsPrefix:t,className:n,closeLabel:s="Close",closeButton:o=!1,...r},i)=>(t=e.useBootstrapPrefix(t,"modal-header"),e.jsxRuntimeExports.jsx(Je,{ref:i,...r,className:e.classNames(n,t),closeLabel:s,closeButton:o})));Ne.displayName="ModalHeader";const Ze=Fe("h4"),ke=R.forwardRef(({className:t,bsPrefix:n,as:s=Ze,...o},r)=>(n=e.useBootstrapPrefix(n,"modal-title"),e.jsxRuntimeExports.jsx(s,{ref:r,className:e.classNames(t,n),...o})));ke.displayName="ModalTitle";function et(t){return e.jsxRuntimeExports.jsx(e.Fade,{...t,timeout:null})}function tt(t){return e.jsxRuntimeExports.jsx(e.Fade,{...t,timeout:null})}const we=R.forwardRef(({bsPrefix:t,className:n,style:s,dialogClassName:o,contentClassName:r,children:i,dialogAs:c=xe,"data-bs-theme":l,"aria-labelledby":d,"aria-describedby":x,"aria-label":h,show:p=!1,animation:E=!0,backdrop:v=!0,keyboard:Z=!0,onEscapeKeyDown:F,onShow:ee,onHide:S,container:te,autoFocus:W=!0,enforceFocus:ne=!0,restoreFocus:se=!0,restoreFocusOptions:oe,onEntered:H,onExit:L,onExiting:re,onEnter:P,onEntering:K,onExited:$,backdropClassName:q,manager:z,...ae},C)=>{const[N,g]=a.useState({}),[ie,G]=a.useState(!1),b=a.useRef(!1),k=a.useRef(!1),y=a.useRef(null),[T,B]=e.useCallbackRef(),le=e.useMergedRefs(C,B),V=e.useEventCallback(S),ce=e.useIsRTL();t=e.useBootstrapPrefix(t,"modal");const _=a.useMemo(()=>({onHide:V}),[V]);function w(){return z||Ye({isRTL:ce})}function Q(u){if(!e.canUseDOM)return;const O=w().getScrollbarWidth()>0,he=u.scrollHeight>e.ownerDocument(u).documentElement.clientHeight;g({paddingRight:O&&!he?ge():void 0,paddingLeft:!O&&he?ge():void 0})}const M=e.useEventCallback(()=>{T&&Q(T.dialog)});e.useWillUnmount(()=>{e.removeEventListener(window,"resize",M),y.current==null||y.current()});const U=()=>{b.current=!0},I=u=>{b.current&&T&&u.target===T.dialog&&(k.current=!0),b.current=!1},f=()=>{G(!0),y.current=e.transitionEnd(T.dialog,()=>{G(!1)})},X=u=>{u.target===u.currentTarget&&f()},D=u=>{if(v==="static"){X(u);return}if(k.current||u.target!==u.currentTarget){k.current=!1;return}S==null||S()},Me=u=>{Z?F==null||F(u):(u.preventDefault(),v==="static"&&f())},Ie=(u,O)=>{u&&Q(u),P==null||P(u,O)},Oe=u=>{y.current==null||y.current(),L==null||L(u)},Ae=(u,O)=>{K==null||K(u,O),e.addEventListener(window,"resize",M)},Le=u=>{u&&(u.style.display=""),$==null||$(u),e.removeEventListener(window,"resize",M)},Pe=a.useCallback(u=>e.jsxRuntimeExports.jsx("div",{...u,className:e.classNames(`${t}-backdrop`,q,!E&&"show")}),[E,q,t]),Ee={...s,...N};Ee.display="block";const Be=u=>e.jsxRuntimeExports.jsx("div",{role:"dialog",...u,style:Ee,className:e.classNames(n,t,ie&&`${t}-static`,!E&&"show"),onClick:v?D:void 0,onMouseUp:I,"data-bs-theme":l,"aria-label":h,"aria-labelledby":d,"aria-describedby":x,children:e.jsxRuntimeExports.jsx(c,{...ae,onMouseDown:U,className:o,contentClassName:r,children:i})});return e.jsxRuntimeExports.jsx(je.Provider,{value:_,children:e.jsxRuntimeExports.jsx(Ge,{show:p,ref:le,backdrop:v,container:te,keyboard:!0,autoFocus:W,enforceFocus:ne,restoreFocus:se,restoreFocusOptions:oe,onEscapeKeyDown:Me,onShow:ee,onHide:S,onEnter:Ie,onEntering:Ae,onEntered:H,onExit:Oe,onExiting:re,onExited:Le,manager:w(),transition:E?et:void 0,backdropTransition:E?tt:void 0,renderBackdrop:Pe,renderDialog:Be})})});we.displayName="Modal";const j=Object.assign(we,{Body:be,Header:Ne,Title:ke,Footer:Se,Dialog:xe,TRANSITION_DURATION:300,BACKDROP_TRANSITION_DURATION:150}),nt=()=>{const{confirmTexts:t}=a.useContext(e.LuminusComponentsContext),{isShown:n,text:s,onFinish:o}=Ce.usePrompt(),{options:r}=a.useContext(e.PromptContext),[i,c]=a.useState(r.defaultValue??""),l=a.useCallback(()=>{o(null)},[o]),d=a.useCallback(()=>{o(i)},[o,i]);a.useEffect(()=>{n===!0&&c(r.defaultValue??"")},[n,r.defaultValue]);const x=a.useMemo(()=>({value:i,onChange:h=>c(h.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[i]);return e.jsxRuntimeExports.jsxs(j,{show:n,size:"sm",centered:!0,onHide:l,children:[e.jsxRuntimeExports.jsx(j.Header,{children:e.jsxRuntimeExports.jsx(j.Title,{children:s})}),e.jsxRuntimeExports.jsxs(j.Body,{children:[r.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...x,rows:5}):void 0,r.input==="input"?e.jsxRuntimeExports.jsx("input",{...x,type:r.type}):void 0]}),e.jsxRuntimeExports.jsxs(j.Footer,{children:[e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-secondary",onClick:l,children:t.cancel}),e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-primary ml",onClick:d,disabled:r.required&&!i,children:t.confirm})]})]})},st=({children:t})=>{const[n,s]=a.useState(!1),[o,r]=a.useState(""),[i,c]=a.useState({input:"textarea",type:"text"}),l=a.useRef(()=>{}),d=a.useCallback(p=>{r(p),s(!0)},[]),x=a.useCallback(()=>{s(!1)},[]),h=a.useMemo(()=>({isShown:n,text:o,showPrompt:d,hidePrompt:x,resolveRef:l,options:i,setOptions:c}),[n,o,d,x,i]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:h,children:[t,e.jsxRuntimeExports.jsx(nt,{})]})},ot=({children:t})=>{const[n,s]=a.useState(!1),[o,r]=a.useState(""),i=a.useCallback(d=>{s(!0),r(d)},[]),c=a.useCallback(()=>{s(!1)},[]),l=a.useMemo(()=>({show:n,text:o,showConfirm:i,hideConfirm:c}),[n,o,i,c]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:l,children:[e.jsxRuntimeExports.jsx(ft,{}),t]})},rt=({cookieDomain:t,axiosInstance:n,LinkComponent:s,NavigateComponent:o,language:r,axiosTexts:i,confirmTexts:c,formValidationTexts:l,homeDashboardTexts:d,formSubmitTexts:x,appSearchTexts:h,customSelectTexts:p,children:E})=>{const v=a.useMemo(()=>({axiosInstance:n,cookieDomain:t,LinkComponent:s,NavigateComponent:o,language:r,axiosTexts:i,confirmTexts:c,formValidationTexts:l,homeDashboardTexts:d,formSubmitTexts:x,appSearchTexts:h,customSelectTexts:p}),[n,t,s,o,r,i,c,l,d,x,h,p]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:v,children:e.jsxRuntimeExports.jsx(ot,{children:e.jsxRuntimeExports.jsxs(st,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),E]})})})},at=({children:t})=>{const[n,s]=a.useState(!1),[o]=a.useState(new Set),r=a.useCallback(l=>{o.add(l),s(!0)},[o]),i=a.useCallback(l=>{o.delete(l),o.size===0&&s(!1)},[o]),c=a.useMemo(()=>({isLoading:n,startLoading:r,stopLoading:i}),[n,r,i]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:c,children:[n&&e.jsxRuntimeExports.jsx(m.Loading,{}),t]})};/*! @azure/msal-browser v3.14.0 2024-05-07 */class it{static getInteractionStatusFromEvent(n,s){switch(n.eventType){case m.EventType.LOGIN_START:return e.InteractionStatus.Login;case m.EventType.SSO_SILENT_START:return e.InteractionStatus.SsoSilent;case m.EventType.ACQUIRE_TOKEN_START:if(n.interactionType===e.InteractionType.Redirect||n.interactionType===e.InteractionType.Popup)return e.InteractionStatus.AcquireToken;break;case m.EventType.HANDLE_REDIRECT_START:return e.InteractionStatus.HandleRedirect;case m.EventType.LOGOUT_START:return e.InteractionStatus.Logout;case m.EventType.SSO_SILENT_SUCCESS:case m.EventType.SSO_SILENT_FAILURE:if(s&&s!==e.InteractionStatus.SsoSilent)break;return e.InteractionStatus.None;case m.EventType.LOGOUT_END:if(s&&s!==e.InteractionStatus.Logout)break;return e.InteractionStatus.None;case m.EventType.HANDLE_REDIRECT_END:if(s&&s!==e.InteractionStatus.HandleRedirect)break;return e.InteractionStatus.None;case m.EventType.LOGIN_SUCCESS:case m.EventType.LOGIN_FAILURE:case m.EventType.ACQUIRE_TOKEN_SUCCESS:case m.EventType.ACQUIRE_TOKEN_FAILURE:case m.EventType.RESTORE_FROM_BFCACHE:if(n.interactionType===e.InteractionType.Redirect||n.interactionType===e.InteractionType.Popup){if(s&&s!==e.InteractionStatus.Login&&s!==e.InteractionStatus.AcquireToken)break;return e.InteractionStatus.None}break}return null}}/*! @azure/msal-react v2.0.16 2024-05-07 */const lt="@azure/msal-react",ye="2.0.16";/*! @azure/msal-react v2.0.16 2024-05-07 */const J={UNBLOCK_INPROGRESS:"UNBLOCK_INPROGRESS",EVENT:"EVENT"},ct=(t,n)=>{const{type:s,payload:o}=n;let r=t.inProgress;switch(s){case J.UNBLOCK_INPROGRESS:t.inProgress===e.InteractionStatus.Startup&&(r=e.InteractionStatus.None,o.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"));break;case J.EVENT:const c=o.message,l=it.getInteractionStatusFromEvent(c,t.inProgress);l&&(o.logger.info(`MsalProvider - ${c.eventType} results in setting inProgress from ${t.inProgress} to ${l}`),r=l);break;default:throw new Error(`Unknown action type: ${s}`)}const i=o.instance.getAllAccounts();return r!==t.inProgress&&!e.accountArraysAreEqual(i,t.accounts)?{...t,inProgress:r,accounts:i}:r!==t.inProgress?{...t,inProgress:r}:e.accountArraysAreEqual(i,t.accounts)?t:{...t,accounts:i}};function ut({instance:t,children:n}){a.useEffect(()=>{t.initializeWrapperLibrary(e.WrapperSKU.React,ye)},[t]);const s=a.useMemo(()=>t.getLogger().clone(lt,ye),[t]),[o,r]=a.useReducer(ct,void 0,()=>({inProgress:e.InteractionStatus.Startup,accounts:t.getAllAccounts()}));a.useEffect(()=>{const c=t.addEventCallback(l=>{r({payload:{instance:t,logger:s,message:l},type:J.EVENT})});return s.verbose(`MsalProvider - Registered event callback with id: ${c}`),t.initialize().then(()=>{t.handleRedirectPromise().catch(()=>{}).finally(()=>{r({payload:{instance:t,logger:s},type:J.UNBLOCK_INPROGRESS})})}).catch(()=>{}),()=>{c&&(s.verbose(`MsalProvider - Removing event callback ${c}`),t.removeEventCallback(c))}},[t,s]);const i={instance:t,inProgress:o.inProgress,accounts:o.accounts,logger:s};return a.createElement(e.MsalContext.Provider,{value:i},n)}const dt=({children:t})=>{const n=e.useAxios(),{msalInstance:s}=a.useContext(e.AuthContext),o=a.useCallback(()=>{const p=localStorage.getItem("user")??null;return p?JSON.parse(p):null},[]),[r,i]=a.useState(o()),c=a.useCallback(async p=>{let E=null;return await n.get("/user/detail",p?{headers:{Authorization:`Bearer ${p}`}}:void 0).then(v=>{E=v.data}).catch(()=>{E=null}),localStorage.setItem("user",JSON.stringify(E)),E},[n]),l=a.useCallback(()=>{localStorage.removeItem("user")},[]),d=a.useCallback(async p=>{const E=await c(p);return E?(i(E),!0):!1},[c]),x=a.useCallback(()=>{l(),i(null)},[l]),h=a.useMemo(()=>({user:r,loginUser:d,logoutUser:x}),[r,d,x]);return a.useEffect(()=>{i(o())},[o]),a.useEffect(()=>{if(s){const p=s.addEventCallback(E=>{if(E.eventType===m.EventType.ACQUIRE_TOKEN_SUCCESS&&E.payload){const v=E.payload;d(v.accessToken).catch(()=>x())}});return()=>{p&&s.removeEventCallback(p)}}return()=>{}},[s,d,x]),e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:h,children:t})},mt=({...t})=>{const{cookieDomain:n}=a.useContext(e.LuminusComponentsContext),[,s]=e.useCookies(["Authorization"]),[o,r]=a.useState(null),i=a.useMemo(()=>({useMsal:t.useMsal??!1,storedToken:(o==null?void 0:o.token)??null,msalInstance:t.useMsal?t.msalInstance??null:null,msalScopes:t.useMsal?t.msalScopes??[]:[]}),[t,o]);return a.useEffect(()=>{if(t.useMsal){const c=t.msalInstance.addEventCallback(l=>{if(l.eventType===m.EventType.LOGIN_SUCCESS||l.eventType===m.EventType.ACQUIRE_TOKEN_SUCCESS&&l.payload){const d=l.payload,x=d.account;t.msalInstance.setActiveAccount(x);const h=d.accessToken,p=d.expiresOn;r({token:h,expiresOn:p})}});return()=>{c&&t.msalInstance.removeEventCallback(c)}}return()=>{}},[t]),a.useEffect(()=>{o&&s("Authorization",o.token,{path:"/",secure:!0,sameSite:"none",domain:n,expires:o.expiresOn??void 0})},[o,n,s]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:i,children:t.useMsal?e.jsxRuntimeExports.jsx(ut,{instance:t.msalInstance,children:t.children}):t.children})},ft=()=>{const{confirmTexts:t}=a.useContext(e.LuminusComponentsContext),{onConfirm:n,onCancel:s,text:o,show:r}=Ce.useConfirm();return e.jsxRuntimeExports.jsx(j,{show:r,size:"sm",centered:!0,onHide:s,children:e.jsxRuntimeExports.jsxs(j.Body,{children:[e.jsxRuntimeExports.jsx("div",{className:"mb-5 text-center",children:e.jsxRuntimeExports.jsx(_e.Typography,{variant:"h6",children:o})}),e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-secondary w-100",onClick:s,children:t.no}),e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-primary w-100 ml",onClick:n,children:t.yes})]})]})})};exports.AuthContext=e.AuthContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=mt;exports.LoadingProvider=at;exports.LuminusComponentsProvider=rt;exports.UserProvider=dt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./UserAvatarToggle-rzyVxLmG.cjs"),n=require("react"),f=require("./useConfirm-9zGqmWEb.cjs");require("react-hook-form");const l=require("./EventType-Dodj1wMo.cjs"),v=()=>{const{confirmTexts:t}=n.useContext(e.LuminusComponentsContext),{isShown:r,text:s,onFinish:o}=f.usePrompt(),{options:a}=n.useContext(e.PromptContext),[c,u]=n.useState(a.defaultValue??""),i=n.useCallback(()=>{o(null)},[o]),d=n.useCallback(()=>{o(c)},[o,c]);n.useEffect(()=>{r===!0&&u(a.defaultValue??"")},[r,a.defaultValue]);const E=n.useMemo(()=>({value:c,onChange:C=>u(C.currentTarget.value),className:"w-100",autoFocus:!0,tabIndex:0}),[c]);return e.jsxRuntimeExports.jsxs(l.Modal,{show:r,size:"sm",centered:!0,onHide:i,children:[e.jsxRuntimeExports.jsx(l.Modal.Header,{children:e.jsxRuntimeExports.jsx(l.Modal.Title,{children:s})}),e.jsxRuntimeExports.jsxs(l.Modal.Body,{children:[a.input==="textarea"?e.jsxRuntimeExports.jsx("textarea",{...E,rows:5}):void 0,a.input==="input"?e.jsxRuntimeExports.jsx("input",{...E,type:a.type}):void 0]}),e.jsxRuntimeExports.jsxs(l.Modal.Footer,{children:[e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-secondary",onClick:i,children:t.cancel}),e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-primary ml",onClick:d,disabled:a.required&&!c,children:t.confirm})]})]})},y=({children:t})=>{const[r,s]=n.useState(!1),[o,a]=n.useState(""),[c,u]=n.useState({input:"textarea",type:"text"}),i=n.useRef(()=>{}),d=n.useCallback(x=>{a(x),s(!0)},[]),E=n.useCallback(()=>{s(!1)},[]),C=n.useMemo(()=>({isShown:r,text:o,showPrompt:d,hidePrompt:E,resolveRef:i,options:c,setOptions:u}),[r,o,d,E,c]);return e.jsxRuntimeExports.jsxs(e.PromptContext.Provider,{value:C,children:[t,e.jsxRuntimeExports.jsx(v,{})]})},T=({children:t})=>{const[r,s]=n.useState(!1),[o,a]=n.useState(""),c=n.useCallback(d=>{s(!0),a(d)},[]),u=n.useCallback(()=>{s(!1)},[]),i=n.useMemo(()=>({show:r,text:o,showConfirm:c,hideConfirm:u}),[r,o,c,u]);return e.jsxRuntimeExports.jsxs(e.ConfirmContext.Provider,{value:i,children:[e.jsxRuntimeExports.jsx(L,{}),t]})},g=({cookieDomain:t,axiosInstance:r,LinkComponent:s,NavigateComponent:o,language:a,axiosTexts:c,confirmTexts:u,formValidationTexts:i,homeDashboardTexts:d,formSubmitTexts:E,appSearchTexts:C,customSelectTexts:x,children:m})=>{const p=n.useMemo(()=>({axiosInstance:r,cookieDomain:t,LinkComponent:s,NavigateComponent:o,language:a,axiosTexts:c,confirmTexts:u,formValidationTexts:i,homeDashboardTexts:d,formSubmitTexts:E,appSearchTexts:C,customSelectTexts:x}),[r,t,s,o,a,c,u,i,d,E,C,x]);return e.jsxRuntimeExports.jsx(e.LuminusComponentsContext.Provider,{value:p,children:e.jsxRuntimeExports.jsx(T,{children:e.jsxRuntimeExports.jsxs(y,{children:[e.jsxRuntimeExports.jsx(e.Ie,{}),m]})})})},I=({children:t})=>{const[r,s]=n.useState(!1),[o]=n.useState(new Set),a=n.useCallback(i=>{o.add(i),s(!0)},[o]),c=n.useCallback(i=>{o.delete(i),o.size===0&&s(!1)},[o]),u=n.useMemo(()=>({isLoading:r,startLoading:a,stopLoading:c}),[r,a,c]);return e.jsxRuntimeExports.jsxs(e.LoadingContext.Provider,{value:u,children:[r&&e.jsxRuntimeExports.jsx(l.Loading,{}),t]})};/*! @azure/msal-browser v3.14.0 2024-05-07 */class h{static getInteractionStatusFromEvent(r,s){switch(r.eventType){case l.EventType.LOGIN_START:return e.InteractionStatus.Login;case l.EventType.SSO_SILENT_START:return e.InteractionStatus.SsoSilent;case l.EventType.ACQUIRE_TOKEN_START:if(r.interactionType===e.InteractionType.Redirect||r.interactionType===e.InteractionType.Popup)return e.InteractionStatus.AcquireToken;break;case l.EventType.HANDLE_REDIRECT_START:return e.InteractionStatus.HandleRedirect;case l.EventType.LOGOUT_START:return e.InteractionStatus.Logout;case l.EventType.SSO_SILENT_SUCCESS:case l.EventType.SSO_SILENT_FAILURE:if(s&&s!==e.InteractionStatus.SsoSilent)break;return e.InteractionStatus.None;case l.EventType.LOGOUT_END:if(s&&s!==e.InteractionStatus.Logout)break;return e.InteractionStatus.None;case l.EventType.HANDLE_REDIRECT_END:if(s&&s!==e.InteractionStatus.HandleRedirect)break;return e.InteractionStatus.None;case l.EventType.LOGIN_SUCCESS:case l.EventType.LOGIN_FAILURE:case l.EventType.ACQUIRE_TOKEN_SUCCESS:case l.EventType.ACQUIRE_TOKEN_FAILURE:case l.EventType.RESTORE_FROM_BFCACHE:if(r.interactionType===e.InteractionType.Redirect||r.interactionType===e.InteractionType.Popup){if(s&&s!==e.InteractionStatus.Login&&s!==e.InteractionStatus.AcquireToken)break;return e.InteractionStatus.None}break}return null}}/*! @azure/msal-react v2.0.16 2024-05-07 */const j="@azure/msal-react",S="2.0.16";/*! @azure/msal-react v2.0.16 2024-05-07 */const R={UNBLOCK_INPROGRESS:"UNBLOCK_INPROGRESS",EVENT:"EVENT"},b=(t,r)=>{const{type:s,payload:o}=r;let a=t.inProgress;switch(s){case R.UNBLOCK_INPROGRESS:t.inProgress===e.InteractionStatus.Startup&&(a=e.InteractionStatus.None,o.logger.info("MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'"));break;case R.EVENT:const u=o.message,i=h.getInteractionStatusFromEvent(u,t.inProgress);i&&(o.logger.info(`MsalProvider - ${u.eventType} results in setting inProgress from ${t.inProgress} to ${i}`),a=i);break;default:throw new Error(`Unknown action type: ${s}`)}const c=o.instance.getAllAccounts();return a!==t.inProgress&&!e.accountArraysAreEqual(c,t.accounts)?{...t,inProgress:a,accounts:c}:a!==t.inProgress?{...t,inProgress:a}:e.accountArraysAreEqual(c,t.accounts)?t:{...t,accounts:c}};function P({instance:t,children:r}){n.useEffect(()=>{t.initializeWrapperLibrary(e.WrapperSKU.React,S)},[t]);const s=n.useMemo(()=>t.getLogger().clone(j,S),[t]),[o,a]=n.useReducer(b,void 0,()=>({inProgress:e.InteractionStatus.Startup,accounts:t.getAllAccounts()}));n.useEffect(()=>{const u=t.addEventCallback(i=>{a({payload:{instance:t,logger:s,message:i},type:R.EVENT})});return s.verbose(`MsalProvider - Registered event callback with id: ${u}`),t.initialize().then(()=>{t.handleRedirectPromise().catch(()=>{}).finally(()=>{a({payload:{instance:t,logger:s},type:R.UNBLOCK_INPROGRESS})})}).catch(()=>{}),()=>{u&&(s.verbose(`MsalProvider - Removing event callback ${u}`),t.removeEventCallback(u))}},[t,s]);const c={instance:t,inProgress:o.inProgress,accounts:o.accounts,logger:s};return n.createElement(e.MsalContext.Provider,{value:c},r)}const k=({children:t})=>{const r=e.useAxios(),{msalInstance:s}=n.useContext(e.AuthContext),o=n.useCallback(()=>{const x=localStorage.getItem("user")??null;return x?JSON.parse(x):null},[]),[a,c]=n.useState(o()),u=n.useCallback(async x=>{let m=null;return await r.get("/user/detail",x?{headers:{Authorization:`Bearer ${x}`}}:void 0).then(p=>{m=p.data}).catch(()=>{m=null}),localStorage.setItem("user",JSON.stringify(m)),m},[r]),i=n.useCallback(()=>{localStorage.removeItem("user")},[]),d=n.useCallback(async x=>{const m=await u(x);return m?(c(m),!0):!1},[u]),E=n.useCallback(()=>{i(),c(null)},[i]),C=n.useMemo(()=>({user:a,loginUser:d,logoutUser:E}),[a,d,E]);return n.useEffect(()=>{c(o())},[o]),n.useEffect(()=>{if(s){const x=s.addEventCallback(m=>{if(m.eventType===l.EventType.ACQUIRE_TOKEN_SUCCESS&&m.payload){const p=m.payload;d(p.accessToken).catch(()=>E())}});return()=>{x&&s.removeEventCallback(x)}}return()=>{}},[s,d,E]),e.jsxRuntimeExports.jsx(e.UserContext.Provider,{value:C,children:t})},A=({...t})=>{const{cookieDomain:r}=n.useContext(e.LuminusComponentsContext),[,s]=e.useCookies(["Authorization"]),[o,a]=n.useState(null),c=n.useMemo(()=>({useMsal:t.useMsal??!1,storedToken:(o==null?void 0:o.token)??null,msalInstance:t.useMsal?t.msalInstance??null:null,msalScopes:t.useMsal?t.msalScopes??[]:[]}),[t,o]);return n.useEffect(()=>{if(t.useMsal){const u=t.msalInstance.addEventCallback(i=>{if(i.eventType===l.EventType.LOGIN_SUCCESS||i.eventType===l.EventType.ACQUIRE_TOKEN_SUCCESS&&i.payload){const d=i.payload,E=d.account;t.msalInstance.setActiveAccount(E);const C=d.accessToken,x=d.expiresOn;a({token:C,expiresOn:x})}});return()=>{u&&t.msalInstance.removeEventCallback(u)}}return()=>{}},[t]),n.useEffect(()=>{o&&s("Authorization",o.token,{path:"/",secure:!0,sameSite:"none",domain:r,expires:o.expiresOn??void 0})},[o,r,s]),e.jsxRuntimeExports.jsx(e.AuthContext.Provider,{value:c,children:t.useMsal?e.jsxRuntimeExports.jsx(P,{instance:t.msalInstance,children:t.children}):t.children})},L=()=>{const{confirmTexts:t}=n.useContext(e.LuminusComponentsContext),{onConfirm:r,onCancel:s,text:o,show:a}=f.useConfirm();return e.jsxRuntimeExports.jsx(l.Modal,{show:a,size:"sm",centered:!0,onHide:s,children:e.jsxRuntimeExports.jsxs(l.Modal.Body,{children:[e.jsxRuntimeExports.jsx("div",{className:"mb-5 text-center",children:e.jsxRuntimeExports.jsx(e.Typography,{variant:"h6",children:o})}),e.jsxRuntimeExports.jsxs("div",{className:"w-100 d-flex gap-5",children:[e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-secondary w-100",onClick:s,children:t.no}),e.jsxRuntimeExports.jsx("button",{type:"button",className:"btn btn-primary w-100 ml",onClick:r,children:t.yes})]})]})})};exports.AuthContext=e.AuthContext;exports.LoadingContext=e.LoadingContext;exports.LuminusComponentsContext=e.LuminusComponentsContext;exports.UserContext=e.UserContext;exports.AuthProvider=A;exports.LoadingProvider=I;exports.LuminusComponentsProvider=g;exports.UserProvider=k;