@prefabs.tech/vue3-user 0.24.0 → 0.24.1

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.
@@ -29,4 +29,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
29
29
  * LICENSE.md file in the root directory of this source tree.
30
30
  *
31
31
  * @license MIT
32
- */function Yl(){return!0}const FC=Symbol("merge-proxy"),qC={get(e,t,a){return t===FC?a:e.get(t)},has(e,t){return e.has(t)},set:Yl,deleteProperty:Yl,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Yl,deleteProperty:Yl}},ownKeys(e){return e.keys()}};function Yi(e){return"value"in e?e.value:e}function wn(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return new Proxy({get(n){for(let o=t.length-1;o>=0;o--){const l=Yi(t[o])[n];if(l!==void 0)return l}},has(n){for(let o=t.length-1;o>=0;o--)if(n in Yi(t[o]))return!0;return!1},keys(){const n=[];for(let o=0;o<t.length;o++)n.push(...Object.keys(Yi(t[o])));return[...Array.from(new Set(n))]}},qC)}const Wi=r.defineComponent({props:["render","props"],setup:e=>()=>typeof e.render=="function"||typeof e.render=="object"?r.h(e.render,e.props):e.render});function bm(e){return wn(e,{data:r.unref(e.data)})}function UC(e){const t=r.isRef(e.data),a=wn({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(l,s){return t?{...l,...s}:wn(l,s)}},t?bm(e):e),n=PC(a);if(t){const l=r.shallowRef(e.data);r.watch(l,()=>{n.setState(s=>({...s,data:l.value}))},{immediate:!0})}const o=r.ref(n.initialState);return r.watchEffect(()=>{n.setOptions(l=>{var s;const u=new Proxy({},{get:(i,d)=>o.value[d]});return wn(l,t?bm(e):e,{state:wn(u,(s=e.state)!=null?s:{}),onStateChange:i=>{i instanceof Function?o.value=i(o.value):o.value=i,e.onStateChange==null||e.onStateChange(i)}})})}),n}var Le=(e=>(e.BETWEEN="between",e.CONTAINS="contains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.GREATER_THAN="greaterThan",e.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",e.IN="in",e.IS_EMPTY="isEmpty",e.IS_NOT_EMPTY="isNotEmpty",e.IS_NOT_NULL="isNotNull",e.IS_NULL="isNull",e.LESS_THAN="lessThan",e.LESS_THAN_OR_EQUAL="lessThanOrEqual",e.LIKE="like",e.NOT_BETWEEN="notBetween",e.NOT_EQUAL="notEqual",e.NOT_IN="notIn",e.NOT_LIKE="notLike",e.STARTS_WITH="startsWith",e))(Le||{}),ft=(e=>(e.BETWEEN="bt",e.CONTAINS="ct",e.EMPTY="empty",e.ENDS_WITH="ew",e.EQUALS="eq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.IN="in",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NULL="null",e.STARTS_WITH="sw",e))(ft||{});const HC={class:"pagination"},GC={key:0,class:"items-per-page-control"},zC=["value"],YC=["value"],WC={key:1,class:"page-input-control"},ZC={key:2,class:"pagination-buttons-wrapper"},KC={key:0},XC={key:1},jC={key:1},QC={key:3},JC={name:"TablePagination"},eA=r.defineComponent({...JC,props:{currentPage:{required:!0,type:Number},defaultItemsPerPage:{default:void 0,type:Number},inputDebounceTime:{default:void 0,type:Number},itemsPerPageControlLabel:{default:"Items per page",type:String},itemsPerPageOptions:{default:()=>[5,10,20,30],type:Array},pageInputLabel:{default:"Go to page:",type:String},showFirstLastButtons:{default:!0,type:Boolean},showItemsPerPageControl:{default:!0,type:Boolean},showPageButtons:{default:!1,type:Boolean},showPageInput:{type:Boolean,default:!1},showPreviousNextButtons:{default:!0,type:Boolean},totalItems:{required:!0,type:Number}},emits:["update:currentPage","update:itemsPerPage"],setup(e,{emit:t}){const a=e,n=t,o=r.ref(a.defaultItemsPerPage||a.itemsPerPageOptions[0]),l=r.computed(()=>Math.ceil(a.totalItems/o.value)),s=r.computed(()=>Array.from({length:l.value},(d,f)=>f+1)),u=d=>{const f=parseInt(d.target.value,10);o.value=f,n("update:itemsPerPage",o.value)},i=d=>{const f=parseInt(d.toString(),10)-1;!isNaN(f)&&f>=0&&f<l.value&&n("update:currentPage",f)};return(d,f)=>(r.openBlock(),r.createElementBlock("div",HC,[e.showItemsPerPageControl?(r.openBlock(),r.createElementBlock("div",GC,[r.createElementVNode("span",null,r.toDisplayString(e.itemsPerPageControlLabel),1),r.createElementVNode("select",{value:o.value,onChange:u},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.itemsPerPageOptions,c=>(r.openBlock(),r.createElementBlock("option",{key:`items-per-page-option-${c}`,value:c},r.toDisplayString(c),9,YC))),128))],40,zC)])):r.createCommentVNode("",!0),l.value>1&&e.showPageInput?(r.openBlock(),r.createElementBlock("div",WC,[r.createElementVNode("span",null,r.toDisplayString(e.pageInputLabel),1),r.createVNode(r.unref(he.DebouncedInput),{type:"number","debounce-time":e.inputDebounceTime,"onUpdate:modelValue":i},null,8,["debounce-time"])])):r.createCommentVNode("",!0),l.value>1?(r.openBlock(),r.createElementBlock("div",ZC,[e.showFirstLastButtons||e.showPreviousNextButtons?(r.openBlock(),r.createElementBlock("div",KC,[e.showFirstLastButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,disabled:!(e.currentPage>0),class:"first-page",size:"small",onClick:f[0]||(f[0]=c=>d.$emit("update:currentPage",0))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-double-left"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0),e.showPreviousNextButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:1,disabled:!(e.currentPage>0),class:"previous-page",size:"small",onClick:f[1]||(f[1]=c=>d.$emit("update:currentPage",e.currentPage-1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-left"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",null,[e.showPageButtons?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(s.value,c=>(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:`page-button-${c}`,class:r.normalizeClass(`page-button ${c===e.currentPage+1?"active":""}`),label:`${c}`,size:"small",onClick:p=>d.$emit("update:currentPage",c-1)},null,8,["class","label","onClick"]))),128)):(r.openBlock(),r.createElementBlock("span",XC,r.toDisplayString(`${e.currentPage+1} / ${l.value}`),1))]),e.showFirstLastButtons||e.showPreviousNextButtons?(r.openBlock(),r.createElementBlock("div",jC,[e.showPreviousNextButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,disabled:!(e.currentPage<l.value-1),class:"next-page",size:"small",onClick:f[2]||(f[2]=c=>d.$emit("update:currentPage",e.currentPage+1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-right"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0),e.showFirstLastButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:1,disabled:!(e.currentPage<l.value-1),class:"last-page",size:"small",onClick:f[3]||(f[3]=c=>d.$emit("update:currentPage",l.value-1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-double-right"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])):(r.openBlock(),r.createElementBlock("span",QC,r.toDisplayString(`${e.currentPage+1} / ${l.value}`),1))]))}}),Wl=0,tA=[10,20,30],rA=10,wm="table",vm={day:"2-digit",month:"2-digit",year:"numeric"},aA={...vm,hour:"2-digit",minute:"2-digit",hour12:!1},Sm=({value:e,locale:t="en-GB",formatOptions:a})=>typeof e!="number"||isNaN(e)?e:new Intl.NumberFormat(t,a).format(e),nA=(e,t,a)=>he.formatDate(e,t,a??vm),oA=(e,t,a)=>he.formatDateTime(e,t,a??aA),vn=e=>{switch(e){case Le.CONTAINS:return{operator:ft.CONTAINS};case Le.STARTS_WITH:return{operator:ft.STARTS_WITH};case Le.ENDS_WITH:return{operator:ft.ENDS_WITH};case Le.EQUALS:return{operator:ft.EQUALS};case Le.NOT_EQUAL:return{operator:ft.EQUALS,not:!0};case Le.GREATER_THAN:return{operator:ft.GREATER_THAN};case Le.GREATER_THAN_OR_EQUAL:return{operator:ft.GREATER_THAN_OR_EQUAL};case Le.LESS_THAN:return{operator:ft.LESS_THAN};case Le.LESS_THAN_OR_EQUAL:return{operator:ft.LESS_THAN_OR_EQUAL};case Le.IS_NULL:return{operator:ft.NULL};case Le.IS_NOT_NULL:return{operator:ft.NULL,not:!0};case Le.IS_EMPTY:return{operator:ft.EMPTY};case Le.IS_NOT_EMPTY:return{operator:ft.EMPTY,not:!0};case Le.LIKE:return{operator:ft.LIKE};case Le.NOT_LIKE:return{operator:ft.LIKE,not:!0};case Le.IN:return{operator:ft.IN};case Le.NOT_IN:return{operator:ft.IN,not:!0};case Le.BETWEEN:return{operator:ft.BETWEEN};case Le.NOT_BETWEEN:return{operator:ft.BETWEEN,not:!0};default:throw new Error(`Unhandled filter function: ${e}`)}},_m=e=>{switch(e){case!1:return"ASC";case!0:return"DESC";default:return""}},Zi=({align:e,dataType:t})=>e||(t=="other"?"center":t=="number"||t=="currency"?"right":"left"),km=e=>{const t=e.value.filter(a=>Am(a));return t.length<1?null:e.filterFn===Le.BETWEEN?t.length>1?{key:e.id,...vn(e.filterFn),value:t.slice(0,2).join(",")}:null:e.filterFn&&!iA(e.filterFn)?{key:e.id,...vn(e.filterFn),value:t[0]}:{key:e.id,...vn(e.filterFn||Le.IN),value:t.join(",")}},lA=(e,t,a)=>{const n=()=>{if(!t||t.length===0)return null;const u=t.filter(i=>Array.isArray(i.value)?i.value.filter(d=>Am(d)).length>0:typeof i.value=="string"?i.value.trim()!=="":i.value!=null);return u.length===0?null:u.length===1?Array.isArray(u[0].value)?km(u[0]):{key:u[0].id,...vn(u[0].filterFn||Le.CONTAINS),value:String(u[0].value)}:{AND:u.map(i=>Array.isArray(i.value)?km(i):{key:i.id,...vn(i.filterFn||Le.CONTAINS),value:String(i.value)})}},o=()=>!a||a&&Object.keys(a).length===0?null:a.pageSize,l=()=>!a||a&&Object.keys(a).length===0?null:a.pageIndex*a.pageSize,s=()=>!e||e.length===0?null:e.length>1?e.map(u=>({key:u.id,direction:_m(u.desc)})):[{key:e[0].id,direction:_m(e[0].desc)}];return{filter:n(),limit:o(),sort:s(),offset:l()}},sA=(e,t)=>{try{const a=t.getItem(`${wm}-${e}`);return a&&JSON.parse(a)}catch(a){console.log("[Dz table] Could not restore table state",a)}return null},Cm=(e,t,a)=>{try{a.setItem(`${wm}-${e}`,JSON.stringify(t))}catch(n){console.log("[Dz table] Could not store table state",n)}},iA=e=>[Le.IN,Le.NOT_IN,Le.BETWEEN,Le.NOT_BETWEEN].includes(e),Am=e=>e!=null,uA=["data-id","data-selected"],dA=["data-label","data-align"],cA={key:1},fA=["colspan"],pA={name:"TableBody"},mA=r.defineComponent({...pA,props:{customFormatters:{default:()=>({}),type:Object},emptyTableMessage:{default:"No results.",type:String},enableRowSelection:Boolean,locale:{default:void 0,type:String},table:{required:!0,type:Object}},setup(e){const t=e,a=o=>{const l=o.getContext(),s=o.column.columnDef.dateOptions,u=o.column.columnDef.numberOptions,i=o.column.columnDef.cell;return{props:l,render:(()=>{const d={number:c=>Sm({value:Number(c),locale:u?.locale??t.locale,formatOptions:u?.formatOptions}),date:c=>nA(c,s?.locale??t.locale,s?.formatOptions),datetime:c=>oA(c,s?.locale??t.locale,s?.formatOptions),currency:c=>Sm({value:Number(c),locale:u?.locale??t.locale,formatOptions:{style:"currency",currency:"USD",...u?.formatOptions&&u.formatOptions}}),...t.customFormatters},f=o.column.columnDef.dataType||"text";return d?.[f]?.(l.getValue())||i})()}},n=o=>{const l=o.column.columnDef.tooltip;return typeof l=="string"?l:typeof l=="function"?l(o):o.getValue()};return(o,l)=>(r.openBlock(),r.createElementBlock("tbody",null,[e.table.getRowModel().rows?.length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.table.getRowModel().rows,s=>(r.openBlock(),r.createElementBlock("tr",{key:`table-row-${s.id}`,"data-id":s.id,"data-selected":e.enableRowSelection?s.getIsSelected():void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.getVisibleCells(),u=>(r.openBlock(),r.createElementBlock("td",{key:`table-data-${s.id}-${u.id}`,class:r.normalizeClass([u.column.id?`cell-${u.column.id}`:""]),"data-label":u.column.id,"data-align":r.unref(Zi)({align:u.column.columnDef.align,dataType:u.column.columnDef.dataType}),style:r.normalizeStyle({width:u.column.columnDef.width,maxWidth:u.column.columnDef.maxWidth,minWidth:u.column.columnDef.minWidth})},[u.column.columnDef.tooltip?(r.openBlock(),r.createBlock(r.unref(he.Tooltip),r.mergeProps({key:0,ref_for:!0},u.column.columnDef.tooltipOptions),{content:r.withCtx(()=>[typeof u.column.columnDef.tooltip=="function"&&typeof n(u)!="string"?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n(u)),{key:0})):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(n(u)),1)],64))]),default:r.withCtx(()=>[r.createVNode(r.unref(Wi),r.mergeProps({ref_for:!0},a(u)),null,16)]),_:2},1040)):(r.openBlock(),r.createBlock(r.unref(Wi),r.mergeProps({key:1,ref_for:!0},a(u)),null,16))],14,dA))),128))],8,uA))),128)):(r.openBlock(),r.createElementBlock("tr",cA,[r.createElementVNode("td",{colspan:e.table.getAllColumns()?.length,class:"empty-table"},r.toDisplayString(e.emptyTableMessage),9,fA)]))]))}}),gA={key:0,class:"data-actions"},hA={key:0},yA={key:0},bA={key:0},wA={name:"TableDataActions"},vA=r.defineComponent({...wA,props:{actions:{type:Array,required:!0},autoModeCount:{default:1,type:Number},data:{default:()=>({}),type:Object},displayActions:{default:!0,type:[Boolean,Function]},mode:{default:void 0,type:String,validator:e=>["auto","buttons","dropdown"].includes(e)}},emits:["action:select"],setup(e,{emit:t}){const a=e,n=t,o=r.ref(!1),l=r.ref(),s=r.computed(()=>a.actions.map(m=>({...m,display:typeof m.display=="function"?m.display(a.data):m.display??!0,disabled:typeof m.disabled=="function"?m.disabled(a.data):m.disabled})).filter(m=>m.display)),u=r.computed(()=>{const m=l.value?.confirmationOptions;if(m)return typeof m=="function"?m(a.data):m}),i=r.computed(()=>(typeof a.displayActions=="function"?a.displayActions(a.data):a.displayActions)&&s.value?.length),d=r.computed(()=>s.value?.length&&a.mode==="buttons"||a.mode==="auto"&&s.value?.length<=a.autoModeCount),f=r.computed(()=>s.value?.length&&a.mode==="dropdown"||a.mode==="auto"&&s.value?.length>a.autoModeCount),c=()=>{o.value=!1,n("action:select",l.value)},p=m=>{l.value=m,m?.requireConfirmationModal?o.value=!0:n("action:select",l.value)};return(m,y)=>i.value?(r.openBlock(),r.createElementBlock("div",gA,[d.value?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(s.value,(h,g)=>(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),r.mergeProps({ref_for:!0},h,{key:`mode-button-${g}`,class:h.class,disabled:h.disabled,"icon-left":h.icon,label:h.icon?"":h.label,title:h.label,rounded:"",variant:"textOnly",onClick:b=>p(h)}),null,16,["class","disabled","icon-left","label","title","onClick"]))),128)):f.value?(r.openBlock(),r.createBlock(r.unref(he.Dropdown),{key:1,menu:s.value,onSelect:p},{default:r.withCtx(()=>[r.renderSlot(m.$slots,"trigger",{},()=>[r.createVNode(r.unref(Na),{icon:"prime:cog",width:"22"})])]),_:3},8,["menu"])):r.createCommentVNode("",!0),r.renderSlot(m.$slots,"confirmationModal",{},()=>[o.value?(r.openBlock(),r.createBlock(r.unref(he.ConfirmationModal),{key:0,"onOn:close":y[0]||(y[0]=h=>o.value=!1),"onOn:confirm":c},r.createSlots({_:2},[u.value?.header?{name:"header",fn:r.withCtx(()=>[typeof u.value?.header=="string"?(r.openBlock(),r.createElementBlock("p",hA,r.toDisplayString(u.value?.header),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.header),{key:1}))]),key:"0"}:void 0,u.value?.body?{name:"message",fn:r.withCtx(()=>[typeof u.value?.body=="string"?(r.openBlock(),r.createElementBlock("p",yA,r.toDisplayString(u.value?.body),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.body),{key:1}))]),key:"1"}:void 0,u.value?.footer?{name:"footer",fn:r.withCtx(()=>[typeof u.value?.footer=="string"?(r.openBlock(),r.createElementBlock("p",bA,r.toDisplayString(u.value?.footer),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.footer),{key:1}))]),key:"2"}:void 0]),1024)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)}}),SA=["colSpan","data-align","onClick"],_A={key:0,class:"sort-state"},kA={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},CA={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},AA={key:1,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},RA={key:0,class:"header-row filters"},MA=["data-align"],xA={key:3,class:"number-range-filter"},EA={name:"TableHeader"},IA=r.defineComponent({...EA,props:{highlightActiveColumn:Boolean,inputDebounceTime:{default:void 0,type:Number},isFilterRowVisible:{default:!1,type:Boolean},table:{required:!0,type:Object}},setup(e){const t=e,a=s=>t.highlightActiveColumn&&(s.getIsSorted()==="asc"||s.getIsSorted()==="desc"||s.getIsFiltered())?"highlight":"",n=s=>s.getFilterValue(),o=s=>s?.length?s.map((u,i)=>{const d=String(u.getDate()).padStart(2,"0"),f=String(u.getMonth()+1).padStart(2,"0"),c=i===0?"00:00:00":"23:59:59";return`${u.getFullYear()}-${f}-${d} ${c}`}).filter(u=>u!==null):null,l=(s,u,i)=>{const d=s.getFilterValue(),f=Array.isArray(d)?[...d]:[void 0,void 0];f[u]=i!==void 0?Number(i):void 0;const c=f.some(p=>p!==void 0);s.setFilterValue(c?f:[])};return(s,u)=>(r.openBlock(),r.createElementBlock("thead",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.table.getHeaderGroups(),i=>(r.openBlock(),r.createElementBlock("tr",{key:i.id,class:"header-row"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.headers,d=>(r.openBlock(),r.createElementBlock("th",{key:`table-header-${d.id}`,class:r.normalizeClass([a(d.column),`column-${d.id}`,d.column.columnDef.enableSorting?"sortable":""]),colSpan:d.colSpan,"data-align":r.unref(Zi)({align:d.column.columnDef.align,dataType:d.column.columnDef.dataType}),style:r.normalizeStyle({width:d.column.columnDef.width,maxWidth:d.column.columnDef.maxWidth,minWidth:d.column.columnDef.minWidth}),onClick:f=>d.column.getCanSort()?d.column.getToggleSortingHandler()?.(f):null},[d.isPlaceholder?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(r.unref(Wi),{props:d.getContext(),render:d.column.columnDef.header},null,8,["props","render"]),d.column.columnDef.enableSorting?(r.openBlock(),r.createElementBlock("span",_A,[!d.column.getIsSorted()&&d.column.getCanSort()?(r.openBlock(),r.createElementBlock("svg",kA,u[0]||(u[0]=[r.createElementVNode("path",{d:"M18 10.75H6a.74.74 0 0 1-.69-.46a.75.75 0 0 1 .16-.82l6-6a.75.75 0 0 1 1.06 0l6 6a.75.75 0 0 1 .16.82a.74.74 0 0 1-.69.46M7.81 9.25h8.38L12 5.06ZM12 20.75a.74.74 0 0 1-.53-.22l-6-6a.75.75 0 0 1-.16-.82a.74.74 0 0 1 .69-.46h12a.74.74 0 0 1 .69.46a.75.75 0 0 1-.16.82l-6 6a.74.74 0 0 1-.53.22m-4.19-6L12 18.94l4.19-4.19Z",fill:"currentColor"},null,-1)]))):r.createCommentVNode("",!0),d.column.getIsSorted()&&d.column.getCanSort()?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[d.column.getIsSorted()==="asc"?(r.openBlock(),r.createElementBlock("svg",CA,u[1]||(u[1]=[r.createElementVNode("path",{d:"M12.53 7.97a.75.75 0 0 0-1.06 0l-7 7A.75.75 0 0 0 5 16.25h14a.75.75 0 0 0 .53-1.28z",fill:"currentColor"},null,-1)]))):(r.openBlock(),r.createElementBlock("svg",AA,u[2]||(u[2]=[r.createElementVNode("path",{d:"M5 7.75a.75.75 0 0 0-.53 1.28l7 7a.75.75 0 0 0 1.06 0l7-7A.75.75 0 0 0 19 7.75z",fill:"currentColor"},null,-1)])))],64)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],64))],14,SA))),128))]))),128)),e.isFilterRowVisible?(r.openBlock(),r.createElementBlock("tr",RA,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.table.getVisibleLeafColumns(),i=>(r.openBlock(),r.createElementBlock("th",{key:`table-filter-${i.id}`,class:r.normalizeClass([a(i),i.id?`column-${i.id}`:"",i.columnDef.className||"",i.getCanFilter()?`filter ${i.columnDef.meta?.filterVariant}`:""]),"data-align":r.unref(Zi)({align:i.columnDef.align,dataType:i.columnDef.dataType}),style:r.normalizeStyle({width:i.columnDef.width,maxWidth:i.columnDef.maxWidth,minWidth:i.columnDef.minWidth})},[i.getCanFilter()?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[i.columnDef.customFilterComponent?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.columnDef.customFilterComponent(i)),{key:0})):i.columnDef.meta?.filterVariant==="multiselect"||i.columnDef.meta?.filterVariant==="select"?(r.openBlock(),r.createBlock(r.unref(Ja),{key:1,"model-value":n(i),options:i.columnDef.meta?.filterOptions||[],placeholder:i.columnDef.filterPlaceholder,name:`multiselect-filter-${i.columnDef.accessorKey}`,multiple:i.columnDef.meta?.filterVariant==="multiselect","enable-tooltip":"","onUpdate:modelValue":d=>i.setFilterValue(d)},null,8,["model-value","options","placeholder","name","multiple","onUpdate:modelValue"])):i.columnDef.meta?.filterVariant==="dateRange"?(r.openBlock(),r.createBlock(r.unref(xp),{key:2,"model-value":n(i),placeholder:i.columnDef.filterPlaceholder,name:"`date-range-${column.columnDef.accessorKey}`",range:"",teleport:"","onUpdate:modelValue":d=>i.setFilterValue(o(d))},null,8,["model-value","placeholder","onUpdate:modelValue"])):i.columnDef.meta?.filterVariant==="range"?(r.openBlock(),r.createElementBlock("div",xA,[r.createVNode(r.unref(gi),{"model-value":Array.isArray(n(i))&&n(i)[0]!==null?Number(n(i)[0]):void 0,placeholder:i.columnDef.filterPlaceholder?.split(",")[0],name:"`range-${column.columnDef.accessorKey}-start`","onUpdate:modelValue":d=>l(i,0,d)},null,8,["model-value","placeholder","onUpdate:modelValue"]),r.createVNode(r.unref(gi),{"model-value":Array.isArray(n(i))&&n(i)[1]!==null?Number(n(i)[1]):void 0,placeholder:i.columnDef.filterPlaceholder?.split(",")[1]??i.columnDef.filterPlaceholder,name:"`range-${column.columnDef.accessorKey}-end`","onUpdate:modelValue":d=>l(i,1,d)},null,8,["model-value","placeholder","onUpdate:modelValue"])])):(r.openBlock(),r.createBlock(r.unref(he.DebouncedInput),{key:4,id:`input-filter-${i.id}`,"debounce-time":e.inputDebounceTime,"model-value":typeof n(i)=="string"?String(n(i)):"",placeholder:i.columnDef.filterPlaceholder,"onUpdate:modelValue":d=>i.setFilterValue(d)},null,8,["id","debounce-time","model-value","placeholder","onUpdate:modelValue"]))],64)):r.createCommentVNode("",!0)],14,MA))),128))])):r.createCommentVNode("",!0)]))}}),PA={class:"toolbar"},BA={name:"TableToolbar"},DA=r.defineComponent({...BA,props:{columnActionButtonLabel:{default:"Columns",type:String},hasActionsColumn:Boolean,hasSelectionColumn:Boolean,resetButtonLabel:{default:"Reset all",type:String},showColumnAction:Boolean,showResetButton:Boolean,table:{required:!0,type:Object}},emits:["on:drag","on:reset"],setup(e,{emit:t}){const a=e,n=t,o=r.computed(()=>a.table.getAllLeafColumns().filter(s=>s.id!=="select"&&s.id!=="actions").map((s,u)=>({id:u,data:s,render:i=>{let d=i.columnDef.header;return typeof i.columnDef.header=="function"&&(d=i.columnDef.header()),r.h(Fr,{label:d,modelValue:i.getIsVisible(),name:i.columnDef.accessorKey,"onUpdate:modelValue":()=>i.toggleVisibility()})}}))),l=s=>{const u=[...a.hasSelectionColumn?["select"]:[],...s.map(i=>String(i?.data?.id)),...a.hasActionsColumn?["actions"]:[]];n("on:drag",u)};return(s,u)=>(r.openBlock(),r.createElementBlock("div",PA,[e.showResetButton?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,label:e.resetButtonLabel,variant:"outlined",severity:"secondary",onClick:u[0]||(u[0]=i=>s.$emit("on:reset"))},null,8,["label"])):r.createCommentVNode("",!0),e.showColumnAction?(r.openBlock(),r.createBlock(r.unref(he.Popup),{key:1,position:"bottom"},{content:r.withCtx(()=>[r.createVNode(r.unref(he.SortableList),{list:o.value,onOnDrag:l},null,8,["list"])]),default:r.withCtx(()=>[r.createVNode(r.unref(he.ButtonElement),{label:e.columnActionButtonLabel,variant:"outlined",severity:"secondary"},null,8,["label"])]),_:1})):r.createCommentVNode("",!0),r.renderSlot(s.$slots,"default")]))}}),$A=["id"],NA={key:0,class:"loading-overlay"},TA=["data-align"],OA={class:"table-wrapper"},VA={key:0},LA={name:"DataTable"},Ki=r.defineComponent({...LA,props:{actionsMode:{default:"auto",type:String,validator:e=>["auto","buttons","dropdown"].includes(e)},autoModeCount:{default:1,type:Number},dataActionMenu:{default:()=>[],type:Array},columnActionButtonLabel:{default:void 0,type:String},columnsData:{type:Array,default:()=>[]},customFormatters:{default:()=>({}),type:Object},data:{type:Array,default:()=>[]},displayActions:{default:!0,type:[Boolean,Function]},emptyTableMessage:{default:void 0,type:String},enableRowSelection:{default:!1,type:Boolean},enableSortingRemoval:{default:!1,type:Boolean},highlightActiveHeaderColumn:Boolean,id:{default:void 0,type:String},initialFilters:{default:()=>[],type:Array},initialSorting:{default:()=>[],type:Array},inputDebounceTime:{default:void 0,type:Number},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},paginated:{default:!0,type:Boolean},paginationOptions:{default:()=>({}),type:Object},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},resetButtonLabel:{default:void 0,type:String},rowPerPage:{default:rA,type:Number},rowPerPageOptions:{default:()=>tA,type:Array},showColumnAction:Boolean,showResetButton:Boolean,tableOptions:{default:()=>({}),type:Object},titleInfo:{default:void 0,type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:select","change:rowSelection","update:request"],setup(e,{emit:t}){const a=e,n=t,o=[],l=r.ref(a.initialFilters),s=r.ref([]),u=r.ref({}),i=r.ref({pageIndex:Wl,pageSize:a.paginated?a.rowPerPage:a.data.length}),d=r.ref({}),f=r.ref(a.initialSorting),c=r.computed(()=>a.columnsData.some(C=>C.enableColumnFilter)),p=r.computed(()=>({columnFilters:l.value,columnOrder:s.value,columnVisibility:u.value,pagination:i.value,sorting:f.value})),m=r.computed(()=>he.getStorage(a.persistStateStorage)),y=r.computed(()=>a.isServerTable?a.totalRecords:g.value.getFilteredRowModel().rows?.length),h=r.computed(()=>g.value.getSelectedRowModel().rows.map(C=>C.original)),g=r.computed(()=>UC({columns:o,state:{columnFilters:l.value,columnOrder:s.value?.length?s.value:a.visibleColumns,columnVisibility:u.value,pagination:i.value,rowSelection:d.value,get sorting(){return f.value}},onColumnFiltersChange:C=>{l.value=typeof C=="function"?C(l.value):C,Array.isArray(l.value)||(l.value=[]),i.value.pageIndex=Wl,a.isServerTable&&(l.value=a.columnsData.filter(A=>A.enableColumnFilter&&(a.visibleColumns.includes(String(A.accessorKey??A.id))||!a.visibleColumns.length)).map(A=>{if(A.meta?.filterVariant==="range"){const E=l.value.find(W=>W?.id===A.accessorKey)?.value,[I,B]=E||[],$=A.meta?.serverFilterFn||(typeof I=="number"&&typeof B=="number"&&I<=B?Le.BETWEEN:typeof I=="number"&&!B?Le.GREATER_THAN_OR_EQUAL:typeof B=="number"?Le.LESS_THAN_OR_EQUAL:null);return $&&E?.length?{filterFn:$,id:A.accessorKey,value:E}:void 0}else return{filterFn:A?.meta?.serverFilterFn,id:A.accessorKey,value:l.value.find(E=>E.id===A.accessorKey)?.value}}).filter(Boolean),b())},onColumnVisibilityChange:C=>{u.value=typeof C=="function"?C(u.value):C},onPaginationChange:C=>{i.value=typeof C=="function"?C(i.value):C,a.isServerTable&&b()},onRowSelectionChange:C=>{d.value=typeof C=="function"?C(d.value):C,n("change:rowSelection",h.value)},onSortingChange:C=>{f.value=typeof C=="function"?C(f.value):C,i.value.pageIndex=Wl,a.isServerTable&&b()},columnResizeMode:"onChange",data:a.data,enableSortingRemoval:a.enableSortingRemoval,getCoreRowModel:BC(),getFilteredRowModel:OC(),getPaginationRowModel:VC(),getSortedRowModel:LC(),manualFiltering:a.isServerTable,manualSorting:a.isServerTable,manualPagination:a.isServerTable,...a.tableOptions}));r.watch([l,s,u,i,f],()=>{a.persistState&&a.id&&Cm(a.id,p.value,m.value)});const b=()=>{const C=lA(f.value,l.value,i.value);n("update:request",C)},w=()=>{l.value=a.initialFilters,s.value=[],u.value={},i.value={pageIndex:Wl,pageSize:a.paginated?a.rowPerPage:a.data.length},f.value=a.initialSorting},v=()=>{if(a.enableRowSelection&&o.push({accessorKey:"select",header:({table:C})=>r.h(Fr,{"aria-label":"Select all",modelValue:C.getIsAllPageRowsSelected(),"onUpdate:modelValue":()=>C.toggleAllPageRowsSelected(!C.getIsAllPageRowsSelected())}),cell:({row:C})=>r.h(Fr,{"aria-label":"Select row",modelValue:C.getIsSelected(),"onUpdate:modelValue":()=>C.toggleSelected(!C.getIsSelected())}),align:"center",enableColumnFilter:!1,enableSorting:!1}),a.columnsData.forEach(C=>{a.visibleColumns.length&&!a.visibleColumns.includes(String(C.accessorKey??C.id))||(C.meta?.filterVariant==="multiselect"&&!C.filterFn?C.filterFn=(A,E,I)=>!I||I.length===0?A:I.some(B=>A.getValue(E)==B):C.meta?.filterVariant==="select"&&!C.filterFn?C.filterFn=(A,E,I)=>I===void 0||I.length===0?!0:String(I)===String(A.getValue(E)):C.meta?.filterVariant==="dateRange"&&!C.filterFn?C.filterFn=(A,E,I)=>{if(I?.length){const B=new Date(I[1]).setHours(23,59,59,999),$=new Date(A.getValue(E)),W=new Date(I[0]).setHours(0,0,0,0);return $.getTime()>=W&&$.getTime()<=B}return!0}:C.meta?.filterVariant==="range"&&(C.filterFn=(A,E,I)=>{if(!Array.isArray(I))return!0;const[B,$]=I,W=A.getValue(E);return B&&$?W>=B&&W<=$:B?W>=B:$?W<=$:!0}),o.push({...C,enableColumnFilter:C.enableColumnFilter??!1,enableSorting:C.enableSorting??!1}))}),a.dataActionMenu?.length&&o.push({accessorKey:"actions",align:"center",enableColumnFilter:!1,enableSorting:!1,header:()=>r.h(Na,{icon:"prime:cog",width:"24"}),cell:({row:C})=>r.h(vA,{actions:a.dataActionMenu,autoModeCount:a.autoModeCount,data:C.original,displayActions:a.displayActions,mode:a.actionsMode,"onAction:select":A=>n("action:select",{action:A?.key||A?.label,data:C.original})})}),a.persistState&&!a.id)throw new Error('Id is required when prop "persistState" is true');k(),a.isServerTable&&b()},k=()=>{if(!a.persistState||!a.id)return;const C=sA(a.id,m.value);C&&(l.value=C.columnFilters,s.value=C.columnOrder,u.value=C.columnVisibility,f.value=C.sorting,a.rowPerPageOptions.includes(C.pagination.pageSize)&&(i.value=C.pagination)),Cm(a.id,p.value,m.value)};return v(),(C,A)=>(r.openBlock(),r.createElementBlock("div",{id:e.id,class:"table-container"},[e.isLoading?(r.openBlock(),r.createElementBlock("div",NA,[r.createVNode(r.unref(he.LoadingIcon),{class:"loading-icon"})])):r.createCommentVNode("",!0),e.titleInfo?(r.openBlock(),r.createElementBlock("span",{key:1,"data-align":e.titleInfo.align||"center"},r.toDisplayString(e.titleInfo.text),9,TA)):r.createCommentVNode("",!0),e.showColumnAction||e.showResetButton||C.$slots.toolbar?(r.openBlock(),r.createBlock(DA,{key:2,"column-action-button-label":e.columnActionButtonLabel,"has-actions-column":!!e.dataActionMenu.length,"has-selection-column":e.enableRowSelection,"reset-button-label":e.resetButtonLabel,"show-column-action":e.showColumnAction,"show-reset-button":e.showResetButton,table:g.value,"onOn:reset":w,"onOn:drag":A[0]||(A[0]=E=>s.value=E)},{default:r.withCtx(()=>[r.renderSlot(C.$slots,"toolbar")]),_:3},8,["column-action-button-label","has-actions-column","has-selection-column","reset-button-label","show-column-action","show-reset-button","table"])):r.createCommentVNode("",!0),r.createElementVNode("div",OA,[r.createElementVNode("table",{style:r.normalizeStyle(`width: ${g.value.getCenterTotalSize()}`)},[r.createVNode(IA,{"highlight-active-column":e.highlightActiveHeaderColumn,"input-debounce-time":e.inputDebounceTime,"is-filter-row-visible":c.value,table:g.value},null,8,["highlight-active-column","input-debounce-time","is-filter-row-visible","table"]),r.createVNode(mA,{"custom-formatters":e.customFormatters,"empty-table-message":e.emptyTableMessage,locale:e.locale,table:g.value},null,8,["custom-formatters","empty-table-message","locale","table"]),C.$slots.footer?(r.openBlock(),r.createElementBlock("tfoot",VA,[r.renderSlot(C.$slots,"footer")])):r.createCommentVNode("",!0)],4)]),(e.isServerTable||e.paginated)&&y.value>0?r.renderSlot(C.$slots,"pagination",{key:3},()=>[r.createVNode(eA,r.mergeProps(e.paginationOptions,{"current-page":i.value.pageIndex,"default-items-per-page":i.value.pageSize,"items-per-page-options":e.rowPerPageOptions,"total-items":y.value,"onUpdate:currentPage":g.value.setPageIndex,"onUpdate:itemsPerPage":g.value.setPageSize}),null,16,["current-page","default-items-per-page","items-per-page-options","total-items","onUpdate:currentPage","onUpdate:itemsPerPage"])]):r.createCommentVNode("",!0)],8,$A))}}),Rm=async(e,t)=>{const a=await ze(t).post("/roles",e,{withCredentials:!0});if(a.data.status===Or)throw new Error(a.data.message);return a.data},Mm=async(e,t)=>{const a=await ze(t).delete("/roles",{params:{role:qg(e)}});if(a.data.status===Or)throw new Error(a.data.message);return a.data},xm=async e=>await ze(e).get("permissions"),Em=async e=>{const t=await ze(e).get("roles");return{...t.data,roles:t.data.roles.map((a,n)=>({...a,id:n}))}},Im=async(e,t)=>{const a=await ze(t).put("/roles/permissions",e,{withCredentials:!0});if(a.data.status===Or)throw new Error(a.data.message);return a.data},Pm=bt.defineStore("roles",()=>({createRole:async(l,s)=>await Rm(l,s),deleteRole:async(l,s)=>await Mm(l,s),getPermissions:async l=>await xm(l),getRoles:async l=>await Em(l),updateRolePermissions:async(l,s)=>await Im(l,s)})),FA={class:"role-form"},qA={name:"RoleForm"},UA=r.defineComponent({...qA,props:{loading:Boolean,role:{default:void 0,type:Object}},emits:["cancel","submit"],setup(e){const t=e,a=We.useConfig(),n=Pm(),{getPermissions:o}=n,l=Be(),{t:s}=xe.useI18n({messages:l}),u=r.ref({}),i=r.ref([]),d=Ue.z.array(Ue.z.string().nullable()).refine(p=>p!=null).optional(),f=Ue.z.string().max(255,{message:s("roles.form.messages.invalidRole")}).nonempty({message:s("roles.form.messages.invalidRole")});return r.watch(()=>t.role,()=>{u.value=t.role||{role:"",permissions:[]}},{immediate:!0}),(async()=>{const p=await o(a?.apiBaseUrl);i.value=p?.data?.permissions?.map(m=>({label:m,value:m}))})(),(p,m)=>(r.openBlock(),r.createElementBlock("div",FA,[r.createVNode(r.unref(mn),{onSubmit:m[3]||(m[3]=y=>p.$emit("submit",u.value))},{default:r.withCtx(()=>[r.createVNode(r.unref(Da),{modelValue:u.value.role,"onUpdate:modelValue":m[0]||(m[0]=y=>u.value.role=y),disabled:!!e.role,label:r.unref(s)("roles.form.label.role"),schema:r.unref(f),name:"role",type:"text"},null,8,["modelValue","disabled","label","schema"]),r.createVNode(r.unref(Ja),{modelValue:u.value.permissions,"onUpdate:modelValue":m[1]||(m[1]=y=>u.value.permissions=y),label:r.unref(s)("roles.form.label.permissions"),options:i.value,placeholder:r.unref(s)("roles.form.placeholder.permissions"),schema:r.unref(d),multiple:"",name:"permissions"},null,8,["modelValue","label","options","placeholder","schema"]),r.createVNode(r.unref(hr),{"cancel-label":r.unref(s)("roles.form.actions.cancel"),"submit-label":e.role?r.unref(s)("roles.form.actions.update"):r.unref(s)("roles.form.actions.create"),loading:e.loading,onCancel:m[2]||(m[2]=y=>p.$emit("cancel"))},null,8,["cancel-label","submit-label","loading"])]),_:1})]))}}),HA={name:"RolesTable"},GA=r.defineComponent({...HA,props:{isLoading:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)}},setup(e){const t=We.useConfig(),a=Be(),{locale:n,t:o}=xe.useI18n({messages:a}),l=Pm(),{createRole:s,deleteRole:u,getRoles:i,updateRolePermissions:d}=l,f=r.ref(),c=r.ref(!1),p=r.ref(),m=r.ref([]),y=r.ref(!1),h=[{key:"editRole",label:o("roles.table.actions.updatePermissions")},{class:"danger",confirmationOptions:{body:o("roles.table.confirmation.deleteRole.message"),header:o("roles.table.confirmation.deleteRole.header")},key:"deleteRole",label:o("roles.table.actions.deleteRole"),requireConfirmationModal:!0}],g=[{accessorKey:"role",header:o("roles.table.columns.roles")},{accessorKey:"permissions",header:o("roles.table.columns.permissions"),cell:({getValue:I})=>I()?.sort().map(($,W)=>r.h(he.BadgeComponent,{key:$+"-"+W,label:$,severity:"success",style:{marginTop:"0.1rem",marginBottom:"0.1rem",marginRight:"1rem"}}))}],b=I=>{switch(I.action){case"editRole":C(I.data);break;case"deleteRole":k(I.data);break}},w=()=>{f.value=void 0,y.value=!1,p.value={role:"",permissions:[]}},v=()=>{y.value=!0,p.value=void 0},k=async I=>{await u(I?.role,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.table.messages.delete.success"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:o("roles.table.messages.delete.error"),type:"error"})})},C=I=>{p.value=I,y.value=!0},A=async I=>{c.value=!0;try{p.value?await d(I,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.form.messages.update.success"),type:"success"})}):await s(I,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.form.messages.add.success"),type:"success"})}),y.value=!1}catch(B){!p.value&&B?.response?.data?.name===ag?f.value=o("roles.form.messages.add.roleAlreadyExists"):f.value=o(p.value?"roles.form.messages.update.error":"roles.form.messages.add.error")}finally{c.value=!1}},E=async()=>{await i(t?.apiBaseUrl).then(I=>{m.value=I?.roles||[]})};return E(),(I,B)=>{const $=r.resolveComponent("Page");return r.openBlock(),r.createBlock($,{title:r.unref(o)("roles.title")},{toolbar:r.withCtx(()=>[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(o)("roles.table.actions.addRole"),"icon-left":"pi pi-plus",onClick:v},null,8,["label"])]),default:r.withCtx(()=>[r.createVNode(r.unref(Ki),{id:"roles-table","columns-data":g,data:m.value,"data-action-menu":h,"empty-table-message":r.unref(o)("roles.table.emptyMessage"),locale:String(r.unref(n)),paginated:!1,"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,class:"table-roles","is-loading":e.isLoading,"is-server-table":"","onAction:select":b},null,8,["data","empty-table-message","locale","persist-state","persist-state-storage","is-loading"]),r.createVNode(r.unref(he.Modal),{show:y.value,class:"role-modal","onOn:close":w},{header:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(p.value?r.unref(o)("roles.form.label.update"):r.unref(o)("roles.form.label.add")),1)]),default:r.withCtx(()=>[f.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:f.value,"enable-close":"",severity:"danger",onClose:B[0]||(B[0]=W=>f.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(UA,{loading:c.value,role:p.value,onCancel:w,onSubmit:A},null,8,["loading","role"])]),_:1},8,["show"])]),_:1},8,["title"])}}}),zA={class:"links"},YA={name:"Signup"},WA=r.defineComponent({...YA,setup(e){const t=Be(),{t:a}=xe.useI18n({messages:t}),n=Ne(),{signup:o}=n,{user:l}=bt.storeToRefs(n),s=ut.useRouter(),u=r.ref(),i=r.ref(!1),d=async f=>{i.value=!0,await o(f).catch(c=>{u.value=c.message}).finally(()=>{i.value=!1}),l.value&&s.hasRoute("home")&&s.push({name:"home"}).then(()=>{Pe.emit("notify",{text:a("user.signup.messages.success"),type:"success"})})};return(f,c)=>{const p=r.resolveComponent("router-link");return r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(a)("user.signup.title"),class:"auth signup"},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:r.unref(a)(`user.signup.errors.${u.value}`),"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=m=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.renderSlot(f.$slots,"instructions"),r.createVNode(Nl,{loading:i.value,onSubmit:d},null,8,["loading"]),r.createElementVNode("div",zA,[r.createVNode(p,{to:{name:"login"},class:"login"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(r.unref(a)("user.signup.links.login")),1)]),_:1}),r.createVNode(p,{to:{name:"resetPasswordRequest"},class:"reset"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(r.unref(a)("user.signup.links.forgotPassword")),1)]),_:1})])]),_:3},8,["title"])}}}),ZA={name:"SignupFirstUser"},KA=r.defineComponent({...ZA,setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o=ut.useRouter(),l=Ne(),{getIsFirstUser:s,signUpFirstUser:u}=l,{user:i}=bt.storeToRefs(l),d=r.ref(),f=r.ref(!1),c=async m=>{f.value=!0,await u(m,t.apiBaseUrl).then(()=>{Pe.emit("notify",{text:n("user.firstUser.signup.messages.success"),type:"success"}),i.value&&o.hasRoute("home")?o.push({name:"home"}):(Pe.emit("notify",{text:n("user.firstUser.login.messages.error"),type:"error"}),o.hasRoute("login")&&o.push({name:"login"}))}).catch(()=>{d.value=n("user.firstUser.signup.messages.error")}).finally(()=>{f.value=!1})};return(async()=>{f.value=!0;try{!(await s(t.apiBaseUrl))?.signUp&&o.hasRoute("login")&&o.push({name:"login"})}catch{d.value=n("user.signup.errors.SOMETHING_WRONG")}finally{f.value=!1}})(),(m,y)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{loading:f.value,title:r.unref(n)("user.firstUser.title"),centered:"",class:"auth signup"},{default:r.withCtx(()=>[d.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:d.value,"enable-close":"",severity:"danger",onClose:y[0]||(y[0]=h=>d.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(Nl,{loading:f.value,onSubmit:c},null,8,["loading"])]),_:1},8,["loading","title"]))}}),XA={name:"VerifyEmail"},jA=r.defineComponent({...XA,setup(e){const t=We.useConfig(),a=ut.useRoute(),n=Be(),{t:o}=xe.useI18n({messages:n}),{user:l,setUser:s,verifyEmail:u}=Ne(),i=r.ref(!1),d=r.ref(),f=r.computed(()=>{if(i.value)return o("user.emailVerification.messages.verifyingEmail");let c="";switch(d.value){case Qt.OK:c=o("user.emailVerification.messages.verify.success");break;case Qt.EMAIL_VERIFICATION_INVALID_TOKEN_ERROR:c=o("user.emailVerification.messages.verify.invalidToken");break;default:c=o("user.emailVerification.messages.resend.error")}return c});return r.onMounted(()=>{if(l){i.value=!0;const c=typeof a.query.token=="string"?a.query.token:typeof a.params.token=="string"?a.params.token:void 0;u(c).then(async p=>{if(d.value=p.status,d.value===Qt.OK){const m=await du(t.apiBaseUrl);Pe.emit("notify",{text:o("user.emailVerification.messages.verify.success"),type:"success"}),s(m.data)}else Pe.emit("notify",{text:o("user.emailVerification.messages.verify.invalidToken"),type:"error"})}).catch(()=>{Pe.emit("notify",{text:o("user.emailVerification.messages.resend.error"),type:"error"})}).finally(()=>{i.value=!1})}}),(c,p)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{loading:i.value,title:r.unref(o)("user.emailVerification.verifyEmail"),centered:"",class:"email-verification"},{default:r.withCtx(()=>[r.createElementVNode("p",null,r.toDisplayString(f.value),1)]),_:1},8,["loading","title"]))}}),Ft={acceptInvitation:{component:d_,name:"acceptInvitation",path:"/signup/token/:token?"},facebook:{component:pu,name:"authFacebookCallback",path:"/auth/callback/facebook"},google:{component:pu,name:"authGoogleCallback",path:"/auth/callback/google"},login:{component:C_,name:"login",path:"/login"},profile:{meta:{authenticated:!0},component:Op,name:"profile",path:"/profile"},roles:{meta:{authenticated:!0},component:GA,name:"roles",path:"/roles"},signup:{component:WA,name:"signup",path:"/signup"},signupFirstUser:{component:KA,name:"signupFirstUser",path:"/signup-first-user"},passwordReset:{component:x_,name:"resetPassword",path:"/reset-password/:token?"},passwordResetRequest:{component:L_,name:"resetPasswordRequest",path:"/reset-password-request"},verifyEmail:{meta:{authenticated:!0},component:jA,name:"verifyEmail",path:"/verify-email"},verifyEmailReminder:{meta:{authenticated:!0},component:m_,name:"verifyEmailReminder",path:"/verify-email-reminder"}},qt=(e,t)=>({...e,...t}),QA=(e,t)=>{const a=t?.routes;e.addRoute(qt(Ft.facebook,a?.facebook)),e.addRoute(qt(Ft.google,a?.google)),e.addRoute(qt(Ft.login,a?.login)),a?.signup?.disabled||e.addRoute(qt(Ft.signup,a?.signup)),a?.signup?.disabled&&!a?.signupFirstUser?.disabled&&e.addRoute(qt(Ft.signupFirstUser,a?.signupFirstUser)),e.addRoute(qt(Ft.passwordReset,a?.passwordReset)),e.addRoute(qt(Ft.passwordResetRequest,a?.passwordResetRequest)),e.addRoute(qt(Ft.profile,a?.profile)),e.addRoute(qt(Ft.roles,a?.roles)),e.addRoute(qt(Ft.acceptInvitation,a?.acceptInvitation)),t?.features?.signUp?.emailVerification&&(e.addRoute(qt(Ft.verifyEmail,a?.verifyEmail)),e.addRoute(qt(Ft.verifyEmailReminder,a?.verifyEmailReminder)))},Zl=e=>{const t=e.getRoutes().filter(a=>a.meta?.display!==void 0);for(const a of t){if(!a.name)continue;const n=a.meta,o=Ne(),{user:l}=bt.storeToRefs(o),{getUser:s}=o;l.value||(l.value=s());let u=typeof n.display=="boolean"?n.display:!0;typeof n.display=="function"&&l.value&&(u=n.display(l.value)),u||e.removeRoute(a.name)}},JA=e=>{e.beforeEach((t,a,n)=>{const o=Ne(),{user:l}=bt.storeToRefs(o),s=["acceptInvitation","login","signup","signupFirstUser","resetPassword","resetPasswordRequest"],u=t.name;l.value&&s.includes(u)?n({name:"profile"}):n()})},eR=(e,t)=>{e.beforeEach(async a=>{const n=a.meta,o=Ne(),l=!!t?.features?.signUp?.emailVerification,s=a.name,u=["verifyEmail","verifyEmailReminder"],{user:i}=bt.storeToRefs(o),{getUser:d}=o;if(i.value||(i.value=await d()),i.value?.thirdParty&&t?.socialLogins?.includes(i.value?.thirdParty?.id),n.authenticated&&!i.value&&(sessionStorage.setItem("redirectAfterLogin",a.fullPath),e.hasRoute("login")&&e.push({name:"login"})),n.authenticated&&l&&i.value){let p=o.isEmailVerified;if(p===!1&&![...u,"profile"].includes(s)&&e.hasRoute("verifyEmailReminder")){e.push({name:"verifyEmailReminder"});return}else p&&u[1]===s&&e.hasRoute("home")&&e.push({name:"home"})}const f=!!i.value?.isProfileCompleted,c=i.value?.isProfileCompleted!==void 0;n.authenticated&&c&&!f&&![...u,"profile"].includes(s)&&e.hasRoute("profile")&&e.push({name:"profile"})})},tR=(e,t)=>{QA(e,t),Zl(e),eR(e,t),JA(e)},rR={name:"ChangePassword"},aR=r.defineComponent({...rR,setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o=Ne(),{changePassword:l}=o,s=ut.useRouter(),u=r.ref(),i=r.ref(!1),d=async f=>{i.value=!0,await l(f,t?.apiBaseUrl).then(c=>{c&&s.hasRoute("home")&&s.push({name:"home"}).then(()=>Pe.emit("notify",{text:n("user.changePassword.messages.success"),type:"success"}))}).catch(c=>{u.value=c.message}),i.value=!1};return(f,c)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(n)("user.changePassword.title"),class:"auth change-password"},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:r.unref(n)(`user.changePassword.errors.${u.value}`),"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=p=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.renderSlot(f.$slots,"instructions"),r.createVNode(bi,{loading:i.value,onSubmit:d},null,8,["loading"])]),_:3},8,["title"]))}}),nR={name:"ProfilePage"},oR=r.defineComponent({...nR,setup(e){const t=Be(),{t:a}=xe.useI18n({messages:t});return(n,o)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(a)("user.profile.title"),class:"profile"},{default:r.withCtx(()=>[r.createVNode(yi),r.createVNode(wi,null,{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3})]),_:3},8,["title"]))}}),lR={class:"trigger"},sR={class:"email"},iR={class:"dropdown"},uR={name:"DropdownUserMenu"},Bm=r.defineComponent({...uR,props:{user:{required:!0,type:Object},userMenuItems:{default:()=>[],type:Array}},emits:["logout","select:menu"],setup(e){const t=r.ref(!1),a=Be(),{t:n}=xe.useI18n({messages:a}),o=e,l=()=>{t.value=!t.value},s=r.ref(null);return Fm.onClickOutside(s,u=>{t.value=!1}),(u,i)=>{const d=r.resolveComponent("router-link");return r.openBlock(),r.createElementBlock("nav",{ref_key:"dzangolabVueUserUserMenu",ref:s,class:r.normalizeClass(["user-menu-dropdown",{expanded:t.value}]),onClick:l},[r.createElementVNode("div",lR,[r.renderSlot(u.$slots,"userMenuTrigger",{},()=>[r.createElementVNode("span",sR,r.toDisplayString(e.user?.email),1)]),i[3]||(i[3]=r.createElementVNode("span",{class:"toggle"},[r.createElementVNode("svg",{"aria-label":"open user menu",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{"clip-rule":"evenodd","fill-rule":"evenodd",d:"M12 7C12.2652 7 12.5196 7.10536 12.7071 7.29289L19.7071 14.2929C20.0976 14.6834 20.0976 15.3166 19.7071 15.7071C19.3166 16.0976 18.6834 16.0976 18.2929 15.7071L12 9.41421L5.70711 15.7071C5.31658 16.0976 4.68342 16.0976 4.29289 15.7071C3.90237 15.3166 3.90237 14.6834 4.29289 14.2929L11.2929 7.29289C11.4804 7.10536 11.7348 7 12 7Z",fill:"currentColor"})])],-1))]),r.createElementVNode("ul",iR,[r.createElementVNode("li",{onClick:i[0]||(i[0]=f=>u.$emit("select:menu"))},[r.createVNode(d,{to:{name:"profile"}},{default:r.withCtx(()=>[i[4]||(i[4]=r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 12.25a3.75 3.75 0 1 1 3.75-3.75A3.75 3.75 0 0 1 12 12.25m0-6a2.25 2.25 0 1 0 2.25 2.25A2.25 2.25 0 0 0 12 6.25m7 13a.76.76 0 0 1-.75-.75c0-1.95-1.06-3.25-6.25-3.25s-6.25 1.3-6.25 3.25a.75.75 0 0 1-1.5 0c0-4.75 5.43-4.75 7.75-4.75s7.75 0 7.75 4.75a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(n)("app.header.menu.profile")),1)]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(o.userMenuItems,f=>(r.openBlock(),r.createElementBlock("li",{key:f.route,onClick:i[1]||(i[1]=c=>u.$emit("select:menu"))},[r.createVNode(d,{to:{name:f.route}},{default:r.withCtx(()=>[r.createElementVNode("i",{class:r.normalizeClass(f.icon+" menu-icon")},null,2),r.createTextVNode(" "+r.toDisplayString(f.label),1)]),_:2},1032,["to"])]))),128)),r.createElementVNode("li",{class:"option",onClick:i[2]||(i[2]=f=>[u.$emit("logout"),u.$emit("select:menu")])},[i[5]||(i[5]=r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 21A9 9 0 0 1 5.64 5.64a.74.74 0 0 1 1.06 0a.75.75 0 0 1 0 1.06a7.5 7.5 0 1 0 10.6 10.6a7.48 7.48 0 0 0 0-10.6a.75.75 0 0 1 0-1.06a.74.74 0 0 1 1.06 0A9 9 0 0 1 12 21",fill:"currentColor"}),r.createElementVNode("path",{d:"M12 12.75a.76.76 0 0 1-.75-.75V4a.75.75 0 0 1 1.5 0v8a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(n)("app.header.menu.logout")),1)])])],2)}}}),dR={class:"invitation-form"},cR={name:"InvitationForm"},Dm=r.defineComponent({...cR,props:{apps:{default:()=>[],type:Array},appSchema:{default:Ue.z.coerce.number({invalid_type_error:"Please select at least one valid option"}).gte(1,"Please select at least one valid option"),required:!1,type:Object},expiresAfterSchema:{default:Ue.z.coerce.number({invalid_type_error:"Expiry days is required"}).gte(1,"please provide valid days"),required:!1,type:Object},expiresAtSchema:{default:Ue.z.coerce.date().min(new Date(new Date().setHours(0,0,0,0)),{message:"Please provide a present or future date"}),required:!1,type:Object},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},invitationData:{default:()=>({}),type:Object},roles:{default:()=>[],type:Array},roleSchema:{default:Ue.z.string({invalid_type_error:"Please select at least one valid option"}),required:!1,type:Object},submitLabel:{default:"Invite user",type:String}},emits:["cancel","submit"],setup(e,{emit:t}){const a=e,n=t,o=Be(),{t:l}=xe.useI18n({messages:o}),s=r.ref(),u=r.ref({}),i=r.computed(()=>{let m=a.apps||[];const y=window.location.origin,h=m.find(b=>b.origin===y);return h&&(m=m.filter(b=>b.origin!==y),m=[{...h,name:l("user.invitation.thisApp")},...m]),m.map(b=>b.label?{value:b.id,label:b.label}:{value:b.id,label:b.name})}),d=r.computed(()=>u.value?.appId?a.apps?.find(m=>m.id===Number(u.value.appId))?.supportedRoles.map(m=>({label:m.name,value:m.name})):a.roles?.map(m=>({label:m.name,value:m.name}))||[]),f=()=>{u.value.role=void 0},c=()=>{u.value?.expiresAt&&(u.value.expiresAt=new Date(u.value.expiresAt).toISOString()),n("submit",u.value)};return(()=>{if(u.value=a.invitationData,a.expiryMode==="days"&&u.value?.expiresAt){const m=new Date,h=new Date(u.value?.expiresAt).getTime()-m.getTime();s.value=Math.round(h/(24*60*60*1e3))}})(),(m,y)=>(r.openBlock(),r.createElementBlock("div",dR,[r.createVNode(r.unref(mn),{onSubmit:c},{default:r.withCtx(()=>[r.createVNode(r.unref(pn),{modelValue:u.value.email,"onUpdate:modelValue":y[0]||(y[0]=h=>u.value.email=h),label:"Email"},null,8,["modelValue"]),e.apps?.length?(r.openBlock(),r.createBlock(r.unref(Ja),{key:0,modelValue:u.value.appId,"onUpdate:modelValue":[y[1]||(y[1]=h=>u.value.appId=h),f],"has-sorted-options":!1,options:i.value,schema:e.appSchema,label:"App",name:"app",placeholder:"Select app"},null,8,["modelValue","options","schema"])):r.createCommentVNode("",!0),e.apps?.length||e.roles?.length?(r.openBlock(),r.createBlock(r.unref(Ja),{key:1,modelValue:u.value.role,"onUpdate:modelValue":y[2]||(y[2]=h=>u.value.role=h),disabled:!d.value?.length,options:d.value||[],schema:e.roleSchema,label:"Role",name:"role",placeholder:"Select role"},null,8,["modelValue","disabled","options","schema"])):r.createCommentVNode("",!0),e.expiryMode==="calendar"?(r.openBlock(),r.createBlock(r.unref(xp),{key:2,modelValue:u.value.expiresAt,"onUpdate:modelValue":y[3]||(y[3]=h=>u.value.expiresAt=h),schema:e.expiresAtSchema,label:"Expires at",name:"expires-at"},null,8,["modelValue","schema"])):e.expiryMode==="days"?(r.openBlock(),r.createBlock(r.unref(NS),{key:3,modelValue:s.value,"onUpdate:modelValue":y[4]||(y[4]=h=>s.value=h),schema:e.expiresAfterSchema,label:"Expires after",name:"expires-after","onUpdate:date":y[5]||(y[5]=h=>u.value.expiresAt=h)},null,8,["modelValue","schema"])):r.createCommentVNode("",!0),r.createVNode(r.unref(hr),{"submit-label":e.submitLabel,onCancel:y[6]||(y[6]=h=>m.$emit("cancel"))},null,8,["submit-label"])]),_:1})]))}}),fR={name:"InvitationModal"},Xi=r.defineComponent({...fR,props:{apps:{default:()=>[],type:Array},appSchema:{default:void 0,required:!1,type:Object},dismissOnClickOut:{default:!1,type:Boolean},expiresAfterSchema:{default:void 0,required:!1,type:Object},expiresAtSchema:{default:void 0,required:!1,type:Object},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},invitationData:{default:()=>({}),type:Object},roles:{default:()=>[],type:Array},roleSchema:{default:void 0,required:!1,type:Object},show:{default:!1,type:Boolean},submitLabel:{default:void 0,type:String},title:{default:"",type:String}},emits:["on:close","submit"],setup(e,{emit:t}){const a=t,n=()=>{a("on:close")},o=l=>{a("submit",l)};return(l,s)=>(r.openBlock(),r.createBlock(r.unref(he.Modal),{"dismiss-on-click-out":e.dismissOnClickOut,show:e.show,title:e.title,class:"invitation-modal","onOn:close":n},{default:r.withCtx(()=>[r.createVNode(Dm,{apps:e.apps,"app-schema":e.appSchema,"expires-after-schema":e.expiresAfterSchema,"expires-at-schema":e.expiresAtSchema,"expiry-mode":e.expiryMode,"invitation-data":e.invitationData,roles:e.roles,"role-schema":e.roleSchema,"submit-label":e.submitLabel,onCancel:n,onSubmit:o},null,8,["apps","app-schema","expires-after-schema","expires-at-schema","expiry-mode","invitation-data","roles","role-schema","submit-label"])]),_:1},8,["dismiss-on-click-out","show","title"]))}}),pR={className:"table-actions"},mR={name:"InvitationTable"},gR=r.defineComponent({...mR,props:{appFilterOptions:{default:()=>[],type:Array},apps:{default:()=>[],type:Array},columnsData:{default:()=>[],type:Array},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},id:{default:"invitation-table",type:String},initialSorting:{default:()=>[],type:Array},invitationModalTitle:{default:"",type:String},invitations:{default:()=>[],type:Array},isLoading:Boolean,isServerTable:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},roleFilterOptions:{default:()=>[],type:Array},roles:{default:()=>[],type:Array},showInviteAction:{default:!0,type:Boolean},statutsFilterOptions:{default:()=>[],type:Array},submitLabel:{default:void 0,type:String},tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:delete","action:resend","action:revoke","on:closeInvitation","on:submitInvitation","update:request"],setup(e,{expose:t,emit:a}){const n=e,o=a,l=Be(),{locale:s,t:u}=xe.useI18n({messages:l}),i=r.ref(!1),d=r.computed(()=>[{confirmationOptions:{body:u("user.invitation.table.confirmation.resend.message"),header:u("user.invitation.table.confirmation.header")},disabled:w=>!!w.acceptedAt||!!w.revokedAt||m(w.expiresAt),icon:"pi pi-replay",key:"resend",label:u("user.invitation.table.actions.resend"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:u("user.invitation.table.confirmation.revoke.message"),header:u("user.invitation.table.confirmation.header")},disabled:w=>!!w.acceptedAt||!!w.revokedAt||m(w.expiresAt),icon:"pi pi-times",key:"revoke",label:u("user.invitation.table.actions.revoke"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:u("user.invitation.table.confirmation.delete.message"),header:u("user.invitation.table.confirmation.header")},icon:"pi pi-trash",key:"delete",label:u("user.invitation.table.actions.delete"),requireConfirmationModal:!0}]),f=r.computed(()=>{const w=n.apps??[];return new Map(w.map(v=>[v.id,v.name]))}),c=r.computed(()=>[{accessorKey:"email",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:u("user.invitation.table.placeholder.search"),header:u("user.invitation.table.defaultColumns.email")},{align:"center",accessorKey:"appId",cell:({row:w})=>f.value?.get(w.original.appId)||"-",enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.app"),meta:{filterOptions:n.appFilterOptions.length?n.appFilterOptions:f.value?Array.from(f.value.entries()).map(([w,v])=>({label:v,value:w})):[],filterVariant:"multiselect"},filterPlaceholder:u("user.invitation.table.placeholder.app"),sortingFn:(w,v,k)=>{const C=f.value.get(w.original.appId)||"",A=f.value.get(v.original.appId)||"";return C.localeCompare(A)}},{align:"center",accessorKey:"role",cell:({getValue:w,row:v})=>{const k=v?.roles;if(Array.isArray(k))return k.map((A,E)=>r.h(he.BadgeComponent,{label:A,severity:A===Jr?"primary":"success",fullWidth:!0,key:A+E}));const C=w();return r.h(he.BadgeComponent,{label:C,severity:C===Jr?"primary":"success",fullWidth:!0})},enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.role"),meta:{filterVariant:"multiselect",filterOptions:n.roleFilterOptions.length?n.roleFilterOptions:[{label:u("user.table.role.admin"),value:Jr},{label:u("user.table.role.superadmin"),value:ou},{label:u("user.table.role.user"),value:lu}]},filterPlaceholder:u("user.invitation.table.placeholder.role")},{accessorFn:w=>(w?.invitedBy?.givenName?w?.invitedBy?.givenName:"")+(w?.invitedBy?.middleNames?" "+w?.invitedBy?.middleNames:"")+(w?.invitedBy?.surname?" "+w?.invitedBy?.surname:"")||"-",accessorKey:"invitedBy",cell:({getValue:w})=>w(),enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.invitedBy"),filterPlaceholder:u("user.invitation.table.placeholder.search")},{accessorKey:"expiresAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.expiresAt"),meta:{filterVariant:"dateRange",serverFilterFn:"between"},filterPlaceholder:u("user.invitation.table.placeholder.date")},{align:"center",accessorKey:"status",enableColumnFilter:!0,enableSorting:!n.isServerTable,filterFn:(w,v,k)=>{const{acceptedAt:C,revokedAt:A,expiresAt:E}=w.original;if(!k||k.length===0)return!0;let I=au;return C?I=tu:A?I=nu:m(E)&&(I=ru),k.includes(I)},header:u("user.invitation.table.defaultColumns.status"),cell:({row:w})=>{const{acceptedAt:v,revokedAt:k,expiresAt:C}=w.original,A=y(w),E=v?"success":k?"danger":m(C)?"secondary":"warning";return r.h(he.BadgeComponent,{label:A,severity:E})},meta:{filterVariant:"multiselect",filterOptions:n.statutsFilterOptions.length?n.statutsFilterOptions:[{label:u("user.invitation.table.status.accepted"),value:tu},{label:u("user.invitation.table.status.revoked"),value:nu},{label:u("user.invitation.table.status.expired"),value:ru},{label:u("user.invitation.table.status.pending"),value:au}]},filterPlaceholder:u("user.invitation.table.placeholder.status"),sortingFn:(w,v,k)=>y(w).localeCompare(y(v))}]),p=r.computed(()=>[...c.value.map(w=>{const v=n.columnsData.find(k=>k.accessorKey===w.accessorKey);return v?{...w,...v}:w}),...n.columnsData.filter(w=>!c.value.some(v=>v.accessorKey===w.accessorKey))]),m=w=>!!(w&&new Date(w)<new Date),y=w=>{const{acceptedAt:v,expiresAt:k,revokedAt:C}=w.original;return v?u("user.invitation.table.status.accepted"):C?u("user.invitation.table.status.revoked"):m(k)?u("user.invitation.table.status.expired"):u("user.invitation.table.status.pending")},h=w=>{switch(w.action){case"delete":o("action:delete",w.data);break;case"resend":o("action:resend",w.data);break;case"revoke":o("action:revoke",w.data);break}},g=()=>{i.value=!1,o("on:closeInvitation")},b=w=>{o("update:request",w)};return t({showModal:i}),(w,v)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createVNode(r.unref(he.LoadingPage),{loading:e.isLoading},null,8,["loading"]),e.isLoading?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(r.unref(Ki),r.mergeProps({key:0},e.tableOptions,{id:e.id,"columns-data":p.value,data:e.invitations,"data-action-menu":d.value,"empty-table-message":r.unref(u)("user.invitation.table.emptyMessage"),"initial-sorting":e.initialSorting,"is-server-table":e.isServerTable,locale:String(r.unref(s)),"pagination-options":{pageInputLabel:r.unref(u)("user.invitation.table.pagination.pageInputLabel"),itemsPerPageControlLabel:r.unref(u)("user.invitation.table.pagination.rowsPerPage")},"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-invitations","onAction:select":h,"onUpdate:request":b}),r.createSlots({_:2},[e.showInviteAction?{name:"toolbar",fn:r.withCtx(()=>[r.createElementVNode("div",pR,[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(u)("user.invitation.table.inviteUser"),onClick:v[0]||(v[0]=k=>i.value=!0)},{iconLeft:r.withCtx(()=>v[2]||(v[2]=[r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 12.25a3.75 3.75 0 1 1 3.75-3.75A3.75 3.75 0 0 1 12 12.25m0-6a2.25 2.25 0 1 0 2.25 2.25A2.25 2.25 0 0 0 12 6.25m7 13a.76.76 0 0 1-.75-.75c0-1.95-1.06-3.25-6.25-3.25s-6.25 1.3-6.25 3.25a.75.75 0 0 1-1.5 0c0-4.75 5.43-4.75 7.75-4.75s7.75 0 7.75 4.75a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)])),_:1},8,["label"]),r.createVNode(Xi,{apps:e.apps,"expiry-mode":e.expiryMode,roles:e.roles,show:i.value,"submit-label":e.submitLabel,title:e.invitationModalTitle,"onOn:close":g,onSubmit:v[1]||(v[1]=k=>w.$emit("on:submitInvitation",k))},null,8,["apps","expiry-mode","roles","show","submit-label","title"])])]),key:"0"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-server-table","locale","pagination-options","persist-state","persist-state-storage","total-records","visible-columns"]))],64))}}),hR={name:"ResetPasswordModal"},yR=r.defineComponent({...hR,props:{errorMessage:{default:void 0,type:String},loading:Boolean,show:Boolean,userAuthorizedApps:{default:()=>[],type:Array}},emits:["hide:modal","submit"],setup(e,{expose:t,emit:a}){const n=e,o=a,l=Be(),{t:s}=xe.useI18n({messages:l}),u=r.ref(n.errorMessage),i=r.ref();r.watch(()=>n.errorMessage,()=>u.value=n.errorMessage);const d=f=>{o("submit",f)};return t({resetForm:()=>i.value=void 0}),(f,c)=>(r.openBlock(),r.createBlock(r.unref(he.Modal),{class:"password-reset-email-modal",show:e.show,title:r.unref(s)("user.passwordReset.modal.placeholder.selectApp"),size:"auto","onOn:close":c[2]||(c[2]=p=>f.$emit("hide:modal"))},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:u.value,"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=p=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(r.unref(mn),{onSubmit:d},{default:r.withCtx(()=>[r.createVNode(r.unref(Ja),{modelValue:i.value,"onUpdate:modelValue":c[1]||(c[1]=p=>i.value=p),options:e.userAuthorizedApps,placeholder:r.unref(s)("user.passwordReset.modal.placeholder.selectApp"),name:"appId"},null,8,["modelValue","options","placeholder"]),r.createVNode(r.unref(he.ButtonElement),{label:r.unref(s)("user.passwordReset.modal.label.send"),loading:e.loading,type:"submit"},null,8,["label","loading"])]),_:1})]),_:1},8,["show","title"]))}}),bR={name:"SignInUpMenu"},$m=r.defineComponent({...bR,emits:["select:menu"],setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o={name:n("user.menu.signup"),route:"signup"},l={name:n("user.menu.signin"),route:"login"},s=r.computed(()=>t?.user?.routes?.signup.disabled?[l]:[l,o]);return(u,i)=>(r.openBlock(),r.createBlock(r.unref(he.ResponsiveMenu),{routes:s.value,onChangeRoute:i[0]||(i[0]=d=>u.$emit("select:menu"))},null,8,["routes"]))}}),wR={name:"UserMenu"},Kl=r.defineComponent({...wR,props:{userMenuItems:{type:Array,default:()=>[]}},emits:["select:menu"],setup(e,{emit:t}){const a=We.useConfig(),n=Ne(),{user:o}=bt.storeToRefs(n),{logout:l}=n,s=ut.useRouter(),u=t,i=async()=>{const d=a.user?.logoutRedirectRoute||"login";await l(),s.hasRoute(d)&&s.push({name:d}),u("select:menu")};return(d,f)=>r.unref(o)?(r.openBlock(),r.createBlock(Bm,{key:0,class:"user-menu",user:r.unref(o),"user-menu-items":e.userMenuItems,"onSelect:menu":f[0]||(f[0]=c=>d.$emit("select:menu")),onLogout:i},r.createSlots({_:2},[d.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(d.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user","user-menu-items"])):(r.openBlock(),r.createBlock($m,{key:1,class:"user-menu","onSelect:menu":f[1]||(f[1]=c=>d.$emit("select:menu"))}))}}),vR={className:"table-actions"},SR={name:"UsersTable"},_R=r.defineComponent({...SR,props:{apps:{default:()=>[],type:Array},columnsData:{default:()=>[],type:Array},dataActionMenu:{default:void 0,type:[Array,Function]},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},id:{default:"users-table",type:String},initialSorting:{default:()=>[],type:Array},invitationModalTitle:{default:"",type:String},isLoading:Boolean,isServerTable:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},roles:{default:()=>[],type:Array},showInviteAction:{default:!0,type:Boolean},submitLabel:{default:void 0,type:String},tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},users:{default:()=>[],type:Array},visibleColumns:{default:()=>[],type:Array}},emits:["action:custom","fetch:users","on:closeInvitation","on:submitInvitation","update:request"],setup(e,{expose:t,emit:a}){const n=We.useConfig(),o=Be(),{locale:l,t:s}=xe.useI18n({messages:o}),u=Ne(),{addInvitation:i,disableUser:d,enableUser:f}=u,c=e,p=a,m=[{accessorKey:"email",enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.email")},{accessorFn:I=>I.name?.trim()?I.name:(I.givenName?I.givenName:"")+(I.middleNames?" "+I.middleNames:"")+(I.surname?" "+I.surname:"")||"-",accessorKey:"name",cell:({getValue:I})=>I(),enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"",header:s("user.table.defaultColumns.name")},{align:"center",accessorKey:"roles",cell:({getValue:I,row:B})=>{const $=B.original?.roles;if(Array.isArray($))return $.map((ae,me)=>r.h(he.BadgeComponent,{label:ae,severity:ae===Jr?"primary":"success",fullWidth:!0,key:ae+me}));const W=I();return r.h(he.BadgeComponent,{label:W,severity:W===Jr?"primary":"success",fullWidth:!0})},enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.roles"),meta:{filterVariant:"multiselect",filterOptions:[{value:Jr,label:s("user.table.role.admin")},{value:ou,label:s("user.table.role.superadmin")},{value:lu,label:s("user.table.role.user")}]}},{accessorKey:"signedUpAt",header:s("user.table.defaultColumns.signedUpAt"),dataType:"date",enableColumnFilter:!0,enableSorting:!0,meta:{filterVariant:"dateRange",serverFilterFn:"between"}},{align:"center",accessorKey:"disabled",cell:({row:I})=>r.h(he.BadgeComponent,{label:I.original.disabled?s("user.table.status.disabled"):s("user.table.status.enabled"),severity:I.original.disabled?"danger":"success"}),enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.status"),meta:{filterVariant:"select",filterOptions:[{label:s("user.table.status.enabled"),value:!1},{label:s("user.table.status.disabled"),value:!0}]}}],y=r.ref(!1),h=r.toRef(u.user),g=r.computed(()=>{const I=[{confirmationOptions:{body:s("user.table.confirmation.enableUser.message"),header:s("user.table.confirmation.header")},disabled:B=>!B.disabled,display:B=>B.id!==h.value?.id,icon:"pi pi-check",key:"enableUser",label:s("user.table.actions.enableUser"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:s("user.table.confirmation.disableUser.message"),header:s("user.table.confirmation.header")},disabled:B=>!!B.disabled,display:B=>B.id!==h.value?.id,icon:"pi pi-times",key:"disableUser",label:s("user.table.actions.disableUser"),requireConfirmationModal:!0}];return c.dataActionMenu?typeof c.dataActionMenu=="function"?c.dataActionMenu(I):c.dataActionMenu:I}),b=r.computed(()=>[...m.map(I=>{const B=c.columnsData.find($=>$.accessorKey===I.accessorKey);return B?{...I,...B}:I}),...c.columnsData.filter(I=>!m.some(B=>B.accessorKey===I.accessorKey))]),w=I=>{switch(I.action){case"enableUser":C(I.data?.id);break;case"disableUser":k(I.data?.id);break;default:p("action:custom",I);break}},v=()=>{y.value=!1,p("on:closeInvitation")},k=async I=>{await d(I,n.apiBaseUrl).then(async B=>{B?.data?.status===uu?(p("fetch:users"),Pe.emit("notify",{text:s("user.messages.disable.success"),type:"success"})):Pe.emit("notify",{text:s("user.messages.disable.error"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.messages.disable.error"),type:"error"})})},C=async I=>{await f(I,n.apiBaseUrl).then(async B=>{B?.data?.status===uu?(p("fetch:users"),Pe.emit("notify",{text:s("user.messages.enable.success"),type:"success"})):Pe.emit("notify",{text:s("user.messages.enable.error"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.messages.enable.error"),type:"error"})})},A=async I=>{await i(I,n.apiBaseUrl).then(B=>{B&&Pe.emit("notify",{text:s("user.invitation.messages.invite.success"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.invitation.messages.invite.error"),type:"error"})}),y.value=!1},E=I=>{p("update:request",I)};return t({showModal:y}),(I,B)=>(r.openBlock(),r.createBlock(r.unref(Ki),r.mergeProps(e.tableOptions,{id:e.id,"columns-data":b.value,data:e.users,"data-action-menu":g.value,"empty-table-message":r.unref(s)("user.table.emptyMessage"),"initial-sorting":e.initialSorting,"is-loading":e.isLoading,"is-server-table":e.isServerTable,locale:String(r.unref(l)),"pagination-options":{pageInputLabel:r.unref(s)("user.table.pagination.pageInputLabel"),itemsPerPageControlLabel:r.unref(s)("user.table.pagination.rowsPerPage")},"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-users","actions-mode":"dropdown","onAction:select":w,"onUpdate:request":E}),r.createSlots({_:2},[e.showInviteAction?{name:"toolbar",fn:r.withCtx(()=>[r.createElementVNode("div",vR,[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(s)("user.table.inviteUser"),onClick:B[0]||(B[0]=$=>y.value=!0)},null,8,["label"]),r.createVNode(Xi,{apps:e.apps,"expiry-mode":e.expiryMode,roles:e.roles,show:y.value,"submit-label":e.submitLabel,title:e.invitationModalTitle,"onOn:close":v,onSubmit:A},null,8,["apps","expiry-mode","roles","show","submit-label","title"])])]),key:"0"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-loading","is-server-table","locale","pagination-options","persist-state","persist-state-storage","total-records","visible-columns"]))}}),kR={name:"BasicLayout"},CR=r.defineComponent({...kR,props:{noLocaleSwitcher:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n,user:o}=We.useConfig(),l=r.ref(),s=r.computed(()=>a.value?o&&o?.routes?.home?o.routes.home:"profile":n&&n?.homeRoute?n.homeRoute:void 0),u=ut.useRouter(),i=r.computed(()=>(n?.mainMenu??[]).filter(c=>{const p=u.getRoutes().find(m=>m.name===c.route);return p?a.value?!0:!p.meta?.authenticated:!1})),d=r.computed(()=>n?.userMenu||[]);return r.watchEffect(()=>{a.value&&Zl(u)}),(f,c)=>(r.openBlock(),r.createBlock(r.unref(Qr.BasicLayout),{"aria-expanded":l.value?.expanded},{header:r.withCtx(()=>[r.createVNode(r.unref(Qr.AppHeader),{ref_key:"appHeader",ref:l,"no-locale-switcher":e.noLocaleSwitcher,"no-toggle":""},{logo:r.withCtx(()=>[r.createVNode(r.unref(Qr.Logo),{route:s.value},null,8,["route"])]),addon:r.withCtx(()=>[r.renderSlot(f.$slots,"addon")]),menu:r.withCtx(()=>[r.createVNode(r.unref(Qr.MainMenu),{class:"main-menu",routes:i.value,onClose:c[0]||(c[0]=p=>l.value.expanded=!1)},null,8,["routes"])]),userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":d.value,"onSelect:menu":c[1]||(c[1]=p=>l.value.expanded=!1)},r.createSlots({_:2},[f.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(f.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items"])):r.createCommentVNode("",!0)]),_:3},8,["no-locale-switcher"])]),default:r.withCtx(()=>[r.renderSlot(f.$slots,"default")]),_:3},8,["aria-expanded"]))}}),AR={name:"SidebarHeaderLayout"},RR=r.defineComponent({...AR,props:{collapsible:{default:!0,type:Boolean},noLocaleSwitcher:Boolean,noSidebar:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean},userMenuLocation:{default:"sidebar",type:String,validator:e=>["header","sidebar"].includes(e)}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n}=We.useConfig(),o=ut.useRouter(),l=r.ref(),s=r.computed(()=>{let i=n?.mainMenu||[];return i=i.filter(d=>{const f=(p,m=!0)=>{const y=o.getRoutes().find(h=>h.name===p);return!(!y||!m&&y.meta?.authenticated)};return((p,m=!0)=>f(p.route,m)?!0:p.children?.some(y=>f(y.route,m))??!1)(d,!!a.value)}),i.map(d=>({hide:d?.hide,icon:d?.icon,name:d.name,routeName:d.route,shortName:d?.shortName,children:d.children?.map(f=>({hide:f?.hide,icon:f?.icon,name:f.name,routeName:f.route,shortName:f?.shortName}))}))}),u=r.computed(()=>n?.userMenu||[]);return r.watchEffect(()=>{a.value&&Zl(o)}),(i,d)=>(r.openBlock(),r.createBlock(r.unref(Qr.SidebarHeaderLayout),{ref_key:"prefabsTechLayout",ref:l,collapsible:e.collapsible,menu:s.value,"no-locale-switcher":e.noLocaleSwitcher,"no-sidebar":e.noSidebar,"user-menu-location":e.userMenuLocation},{header:r.withCtx(()=>[r.renderSlot(i.$slots,"header")]),locales:r.withCtx(()=>[r.renderSlot(i.$slots,"locales")]),userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":u.value,"onSelect:menu":l.value?.onSelectMenu},r.createSlots({_:2},[i.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(i.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items","onSelect:menu"])):r.createCommentVNode("",!0)]),afterNavLinks:r.withCtx(()=>[r.renderSlot(i.$slots,"afterNavLinks")]),afterSidebarMenu:r.withCtx(()=>[r.renderSlot(i.$slots,"afterSidebarMenu")]),footer:r.withCtx(()=>[r.renderSlot(i.$slots,"footer")]),default:r.withCtx(()=>[r.renderSlot(i.$slots,"default")]),_:3},8,["collapsible","menu","no-locale-switcher","no-sidebar","user-menu-location"]))}}),MR={name:"SidebarOnlyLayout"},xR=r.defineComponent({...MR,props:{noLocaleSwitcher:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n}=We.useConfig(),o=ut.useRouter(),l=r.computed(()=>{let u=n?.mainMenu||[];return u=u.filter(i=>{const d=(c,p=!0)=>{const m=o.getRoutes().find(y=>y.name===c);return!(!m||!p&&m.meta?.authenticated)};return((c,p=!0)=>d(c.route,p)?!0:c.children?.some(m=>d(m.route,p))??!1)(i,!!a.value)}),u.map(i=>({hide:i?.hide,icon:i?.icon,name:i.name,routeName:i.route,shortName:i?.shortName,children:i.children?.map(d=>({hide:d?.hide,icon:d?.icon,name:d.name,routeName:d.route,shortName:d?.shortName}))}))}),s=r.computed(()=>n?.userMenu||[]);return r.watchEffect(()=>{a.value&&Zl(o)}),(u,i)=>(r.openBlock(),r.createBlock(r.unref(Qr.SidebarOnlyLayout),{menu:l.value,"no-locale-switcher":e.noLocaleSwitcher},{userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":s.value},r.createSlots({_:2},[u.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(u.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items"])):r.createCommentVNode("",!0)]),afterNavLinks:r.withCtx(()=>[r.renderSlot(u.$slots,"afterNavLinks")]),afterSidebarMenu:r.withCtx(()=>[r.renderSlot(u.$slots,"afterSidebarMenu")]),locales:r.withCtx(()=>[r.renderSlot(u.$slots,"locales")]),default:r.withCtx(()=>[r.renderSlot(u.$slots,"default")]),_:3},8,["menu","no-locale-switcher"]))}}),Nm=Symbol.for("dzangolab.vue-user.translations"),Pe=qm(),ER={install:(e,t)=>{if(tR(t.router,t.config?.user),t?.config?.user?.features?.authProvider!=="laravel-passport"&&Og(t.config),t?.config?.user?.features?.signUp?.emailVerification){const{getVerificationStatus:n,logout:o}=Ne();n().catch(l=>{l.status===ng&&o()})}Vg(t.config);const a=t?.translations?xe.prependMessages(Jl,t.translations):Jl;e.provide(Nm,a),e.provide("dzangolabVueUserTerms",t?.termsComponent),t&&t.notification&&Pe.on("notify",n=>{t.notification?.(n)})}},Be=()=>r.inject(Nm,Jl);be.AccountInfo=yi,be.BasicLayout=CR,be.ChangePassword=aR,be.ChangePasswordForm=bi,be.DropdownUserMenu=Bm,be.InvitationForm=Dm,be.InvitationModal=Xi,be.InvitationTable=gR,be.LoginForm=Bp,be.PasswordResetForm=Dp,be.PasswordResetRequestForm=$p,be.ProfileForm=wi,be.ProfilePage=oR,be.ProfileTabsPage=Op,be.ResetPasswordModal=yR,be.SidebarHeaderLayout=RR,be.SidebarOnlyLayout=xR,be.SignInUpMenu=$m,be.SignupForm=Nl,be.TermsAndConditions=Pp,be.UpdateEmailForm=Np,be.UpdateEmailModal=Tp,be.UserMenu=Kl,be.UsersTable=_R,be.client=ze,be.createRole=Rm,be.default=ER,be.deleteRole=Mm,be.emitter=Pe,be.getPermissions=xm,be.getRoles=Em,be.updateRolePermissions=Im,be.useTranslations=Be,be.userStore=Ne,Object.defineProperties(be,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
32
+ */function Yl(){return!0}const FC=Symbol("merge-proxy"),qC={get(e,t,a){return t===FC?a:e.get(t)},has(e,t){return e.has(t)},set:Yl,deleteProperty:Yl,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Yl,deleteProperty:Yl}},ownKeys(e){return e.keys()}};function Yi(e){return"value"in e?e.value:e}function wn(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return new Proxy({get(n){for(let o=t.length-1;o>=0;o--){const l=Yi(t[o])[n];if(l!==void 0)return l}},has(n){for(let o=t.length-1;o>=0;o--)if(n in Yi(t[o]))return!0;return!1},keys(){const n=[];for(let o=0;o<t.length;o++)n.push(...Object.keys(Yi(t[o])));return[...Array.from(new Set(n))]}},qC)}const Wi=r.defineComponent({props:["render","props"],setup:e=>()=>typeof e.render=="function"||typeof e.render=="object"?r.h(e.render,e.props):e.render});function bm(e){return wn(e,{data:r.unref(e.data)})}function UC(e){const t=r.isRef(e.data),a=wn({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(l,s){return t?{...l,...s}:wn(l,s)}},t?bm(e):e),n=PC(a);if(t){const l=r.shallowRef(e.data);r.watch(l,()=>{n.setState(s=>({...s,data:l.value}))},{immediate:!0})}const o=r.ref(n.initialState);return r.watchEffect(()=>{n.setOptions(l=>{var s;const u=new Proxy({},{get:(i,d)=>o.value[d]});return wn(l,t?bm(e):e,{state:wn(u,(s=e.state)!=null?s:{}),onStateChange:i=>{i instanceof Function?o.value=i(o.value):o.value=i,e.onStateChange==null||e.onStateChange(i)}})})}),n}var Le=(e=>(e.BETWEEN="between",e.CONTAINS="contains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.GREATER_THAN="greaterThan",e.GREATER_THAN_OR_EQUAL="greaterThanOrEqual",e.IN="in",e.IS_EMPTY="isEmpty",e.IS_NOT_EMPTY="isNotEmpty",e.IS_NOT_NULL="isNotNull",e.IS_NULL="isNull",e.LESS_THAN="lessThan",e.LESS_THAN_OR_EQUAL="lessThanOrEqual",e.LIKE="like",e.NOT_BETWEEN="notBetween",e.NOT_EQUAL="notEqual",e.NOT_IN="notIn",e.NOT_LIKE="notLike",e.STARTS_WITH="startsWith",e))(Le||{}),ft=(e=>(e.BETWEEN="bt",e.CONTAINS="ct",e.EMPTY="empty",e.ENDS_WITH="ew",e.EQUALS="eq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.IN="in",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NULL="null",e.STARTS_WITH="sw",e))(ft||{});const HC={class:"pagination"},GC={key:0,class:"items-per-page-control"},zC=["value"],YC=["value"],WC={key:1,class:"page-input-control"},ZC={key:2,class:"pagination-buttons-wrapper"},KC={key:0},XC={key:1},jC={key:1},QC={key:3},JC={name:"TablePagination"},eA=r.defineComponent({...JC,props:{currentPage:{required:!0,type:Number},defaultItemsPerPage:{default:void 0,type:Number},inputDebounceTime:{default:void 0,type:Number},itemsPerPageControlLabel:{default:"Items per page",type:String},itemsPerPageOptions:{default:()=>[5,10,20,30],type:Array},pageInputLabel:{default:"Go to page:",type:String},showFirstLastButtons:{default:!0,type:Boolean},showItemsPerPageControl:{default:!0,type:Boolean},showPageButtons:{default:!1,type:Boolean},showPageInput:{type:Boolean,default:!1},showPreviousNextButtons:{default:!0,type:Boolean},totalItems:{required:!0,type:Number}},emits:["update:currentPage","update:itemsPerPage"],setup(e,{emit:t}){const a=e,n=t,o=r.ref(a.defaultItemsPerPage||a.itemsPerPageOptions[0]),l=r.computed(()=>Math.ceil(a.totalItems/o.value)),s=r.computed(()=>Array.from({length:l.value},(d,f)=>f+1)),u=d=>{const f=parseInt(d.target.value,10);o.value=f,n("update:itemsPerPage",o.value)},i=d=>{const f=parseInt(d.toString(),10)-1;!isNaN(f)&&f>=0&&f<l.value&&n("update:currentPage",f)};return(d,f)=>(r.openBlock(),r.createElementBlock("div",HC,[e.showItemsPerPageControl?(r.openBlock(),r.createElementBlock("div",GC,[r.createElementVNode("span",null,r.toDisplayString(e.itemsPerPageControlLabel),1),r.createElementVNode("select",{value:o.value,onChange:u},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.itemsPerPageOptions,c=>(r.openBlock(),r.createElementBlock("option",{key:`items-per-page-option-${c}`,value:c},r.toDisplayString(c),9,YC))),128))],40,zC)])):r.createCommentVNode("",!0),l.value>1&&e.showPageInput?(r.openBlock(),r.createElementBlock("div",WC,[r.createElementVNode("span",null,r.toDisplayString(e.pageInputLabel),1),r.createVNode(r.unref(he.DebouncedInput),{type:"number","debounce-time":e.inputDebounceTime,"onUpdate:modelValue":i},null,8,["debounce-time"])])):r.createCommentVNode("",!0),l.value>1?(r.openBlock(),r.createElementBlock("div",ZC,[e.showFirstLastButtons||e.showPreviousNextButtons?(r.openBlock(),r.createElementBlock("div",KC,[e.showFirstLastButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,disabled:!(e.currentPage>0),class:"first-page",size:"small",onClick:f[0]||(f[0]=c=>d.$emit("update:currentPage",0))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-double-left"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0),e.showPreviousNextButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:1,disabled:!(e.currentPage>0),class:"previous-page",size:"small",onClick:f[1]||(f[1]=c=>d.$emit("update:currentPage",e.currentPage-1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-left"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0),r.createElementVNode("div",null,[e.showPageButtons?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(s.value,c=>(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:`page-button-${c}`,class:r.normalizeClass(`page-button ${c===e.currentPage+1?"active":""}`),label:`${c}`,size:"small",onClick:p=>d.$emit("update:currentPage",c-1)},null,8,["class","label","onClick"]))),128)):(r.openBlock(),r.createElementBlock("span",XC,r.toDisplayString(`${e.currentPage+1} / ${l.value}`),1))]),e.showFirstLastButtons||e.showPreviousNextButtons?(r.openBlock(),r.createElementBlock("div",jC,[e.showPreviousNextButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,disabled:!(e.currentPage<l.value-1),class:"next-page",size:"small",onClick:f[2]||(f[2]=c=>d.$emit("update:currentPage",e.currentPage+1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-right"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0),e.showFirstLastButtons?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:1,disabled:!(e.currentPage<l.value-1),class:"last-page",size:"small",onClick:f[3]||(f[3]=c=>d.$emit("update:currentPage",l.value-1))},{iconLeft:r.withCtx(()=>[r.createVNode(r.unref(Na),{icon:"prime:angle-double-right"})]),_:1},8,["disabled"])):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)])):(r.openBlock(),r.createElementBlock("span",QC,r.toDisplayString(`${e.currentPage+1} / ${l.value}`),1))]))}}),Wl=0,tA=[10,20,30],rA=10,wm="table",vm={day:"2-digit",month:"2-digit",year:"numeric"},aA={...vm,hour:"2-digit",minute:"2-digit",hour12:!1},Sm=({value:e,locale:t="en-GB",formatOptions:a})=>typeof e!="number"||isNaN(e)?e:new Intl.NumberFormat(t,a).format(e),nA=(e,t,a)=>he.formatDate(e,t,a??vm),oA=(e,t,a)=>he.formatDateTime(e,t,a??aA),vn=e=>{switch(e){case Le.CONTAINS:return{operator:ft.CONTAINS};case Le.STARTS_WITH:return{operator:ft.STARTS_WITH};case Le.ENDS_WITH:return{operator:ft.ENDS_WITH};case Le.EQUALS:return{operator:ft.EQUALS};case Le.NOT_EQUAL:return{operator:ft.EQUALS,not:!0};case Le.GREATER_THAN:return{operator:ft.GREATER_THAN};case Le.GREATER_THAN_OR_EQUAL:return{operator:ft.GREATER_THAN_OR_EQUAL};case Le.LESS_THAN:return{operator:ft.LESS_THAN};case Le.LESS_THAN_OR_EQUAL:return{operator:ft.LESS_THAN_OR_EQUAL};case Le.IS_NULL:return{operator:ft.NULL};case Le.IS_NOT_NULL:return{operator:ft.NULL,not:!0};case Le.IS_EMPTY:return{operator:ft.EMPTY};case Le.IS_NOT_EMPTY:return{operator:ft.EMPTY,not:!0};case Le.LIKE:return{operator:ft.LIKE};case Le.NOT_LIKE:return{operator:ft.LIKE,not:!0};case Le.IN:return{operator:ft.IN};case Le.NOT_IN:return{operator:ft.IN,not:!0};case Le.BETWEEN:return{operator:ft.BETWEEN};case Le.NOT_BETWEEN:return{operator:ft.BETWEEN,not:!0};default:throw new Error(`Unhandled filter function: ${e}`)}},_m=e=>{switch(e){case!1:return"ASC";case!0:return"DESC";default:return""}},Zi=({align:e,dataType:t})=>e||(t=="other"?"center":t=="number"||t=="currency"?"right":"left"),km=e=>{const t=e.value.filter(a=>Am(a));return t.length<1?null:e.filterFn===Le.BETWEEN?t.length>1?{key:e.id,...vn(e.filterFn),value:t.slice(0,2).join(",")}:null:e.filterFn&&!iA(e.filterFn)?{key:e.id,...vn(e.filterFn),value:t[0]}:{key:e.id,...vn(e.filterFn||Le.IN),value:t.join(",")}},lA=(e,t,a)=>{const n=()=>{if(!t||t.length===0)return null;const u=t.filter(i=>Array.isArray(i.value)?i.value.filter(d=>Am(d)).length>0:typeof i.value=="string"?i.value.trim()!=="":i.value!=null);return u.length===0?null:u.length===1?Array.isArray(u[0].value)?km(u[0]):{key:u[0].id,...vn(u[0].filterFn||Le.CONTAINS),value:String(u[0].value)}:{AND:u.map(i=>Array.isArray(i.value)?km(i):{key:i.id,...vn(i.filterFn||Le.CONTAINS),value:String(i.value)})}},o=()=>!a||a&&Object.keys(a).length===0?null:a.pageSize,l=()=>!a||a&&Object.keys(a).length===0?null:a.pageIndex*a.pageSize,s=()=>!e||e.length===0?null:e.length>1?e.map(u=>({key:u.id,direction:_m(u.desc)})):[{key:e[0].id,direction:_m(e[0].desc)}];return{filter:n(),limit:o(),sort:s(),offset:l()}},sA=(e,t)=>{try{const a=t.getItem(`${wm}-${e}`);return a&&JSON.parse(a)}catch(a){console.log("[Dz table] Could not restore table state",a)}return null},Cm=(e,t,a)=>{try{a.setItem(`${wm}-${e}`,JSON.stringify(t))}catch(n){console.log("[Dz table] Could not store table state",n)}},iA=e=>[Le.IN,Le.NOT_IN,Le.BETWEEN,Le.NOT_BETWEEN].includes(e),Am=e=>e!=null,uA=["data-id","data-selected"],dA=["data-label","data-align"],cA={key:1},fA=["colspan"],pA={name:"TableBody"},mA=r.defineComponent({...pA,props:{customFormatters:{default:()=>({}),type:Object},emptyTableMessage:{default:"No results.",type:String},enableRowSelection:Boolean,locale:{default:void 0,type:String},table:{required:!0,type:Object}},setup(e){const t=e,a=o=>{const l=o.getContext(),s=o.column.columnDef.dateOptions,u=o.column.columnDef.numberOptions,i=o.column.columnDef.cell;return{props:l,render:(()=>{const d={number:c=>Sm({value:Number(c),locale:u?.locale??t.locale,formatOptions:u?.formatOptions}),date:c=>nA(c,s?.locale??t.locale,s?.formatOptions),datetime:c=>oA(c,s?.locale??t.locale,s?.formatOptions),currency:c=>Sm({value:Number(c),locale:u?.locale??t.locale,formatOptions:{style:"currency",currency:"USD",...u?.formatOptions&&u.formatOptions}}),...t.customFormatters},f=o.column.columnDef.dataType||"text";return d?.[f]?.(l.getValue())||i})()}},n=o=>{const l=o.column.columnDef.tooltip;return typeof l=="string"?l:typeof l=="function"?l(o):o.getValue()};return(o,l)=>(r.openBlock(),r.createElementBlock("tbody",null,[e.table.getRowModel().rows?.length?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(e.table.getRowModel().rows,s=>(r.openBlock(),r.createElementBlock("tr",{key:`table-row-${s.id}`,"data-id":s.id,"data-selected":e.enableRowSelection?s.getIsSelected():void 0},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.getVisibleCells(),u=>(r.openBlock(),r.createElementBlock("td",{key:`table-data-${s.id}-${u.id}`,class:r.normalizeClass([u.column.id?`cell-${u.column.id}`:""]),"data-label":u.column.id,"data-align":r.unref(Zi)({align:u.column.columnDef.align,dataType:u.column.columnDef.dataType}),style:r.normalizeStyle({width:u.column.columnDef.width,maxWidth:u.column.columnDef.maxWidth,minWidth:u.column.columnDef.minWidth})},[u.column.columnDef.tooltip?(r.openBlock(),r.createBlock(r.unref(he.Tooltip),r.mergeProps({key:0,ref_for:!0},u.column.columnDef.tooltipOptions),{content:r.withCtx(()=>[typeof u.column.columnDef.tooltip=="function"&&typeof n(u)!="string"?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n(u)),{key:0})):(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[r.createTextVNode(r.toDisplayString(n(u)),1)],64))]),default:r.withCtx(()=>[r.createVNode(r.unref(Wi),r.mergeProps({ref_for:!0},a(u)),null,16)]),_:2},1040)):(r.openBlock(),r.createBlock(r.unref(Wi),r.mergeProps({key:1,ref_for:!0},a(u)),null,16))],14,dA))),128))],8,uA))),128)):(r.openBlock(),r.createElementBlock("tr",cA,[r.createElementVNode("td",{colspan:e.table.getAllColumns()?.length,class:"empty-table"},r.toDisplayString(e.emptyTableMessage),9,fA)]))]))}}),gA={key:0,class:"data-actions"},hA={key:0},yA={key:0},bA={key:0},wA={name:"TableDataActions"},vA=r.defineComponent({...wA,props:{actions:{type:Array,required:!0},autoModeCount:{default:1,type:Number},data:{default:()=>({}),type:Object},displayActions:{default:!0,type:[Boolean,Function]},mode:{default:void 0,type:String,validator:e=>["auto","buttons","dropdown"].includes(e)}},emits:["action:select"],setup(e,{emit:t}){const a=e,n=t,o=r.ref(!1),l=r.ref(),s=r.computed(()=>a.actions.map(m=>({...m,display:typeof m.display=="function"?m.display(a.data):m.display??!0,disabled:typeof m.disabled=="function"?m.disabled(a.data):m.disabled})).filter(m=>m.display)),u=r.computed(()=>{const m=l.value?.confirmationOptions;if(m)return typeof m=="function"?m(a.data):m}),i=r.computed(()=>(typeof a.displayActions=="function"?a.displayActions(a.data):a.displayActions)&&s.value?.length),d=r.computed(()=>s.value?.length&&a.mode==="buttons"||a.mode==="auto"&&s.value?.length<=a.autoModeCount),f=r.computed(()=>s.value?.length&&a.mode==="dropdown"||a.mode==="auto"&&s.value?.length>a.autoModeCount),c=()=>{o.value=!1,n("action:select",l.value)},p=m=>{l.value=m,m?.requireConfirmationModal?o.value=!0:n("action:select",l.value)};return(m,y)=>i.value?(r.openBlock(),r.createElementBlock("div",gA,[d.value?(r.openBlock(!0),r.createElementBlock(r.Fragment,{key:0},r.renderList(s.value,(h,g)=>(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),r.mergeProps({ref_for:!0},h,{key:`mode-button-${g}`,class:h.class,disabled:h.disabled,"icon-left":h.icon,label:h.icon?"":h.label,title:h.label,rounded:"",variant:"textOnly",onClick:b=>p(h)}),null,16,["class","disabled","icon-left","label","title","onClick"]))),128)):f.value?(r.openBlock(),r.createBlock(r.unref(he.Dropdown),{key:1,menu:s.value,onSelect:p},{default:r.withCtx(()=>[r.renderSlot(m.$slots,"trigger",{},()=>[r.createVNode(r.unref(Na),{icon:"prime:cog",width:"22"})])]),_:3},8,["menu"])):r.createCommentVNode("",!0),r.renderSlot(m.$slots,"confirmationModal",{},()=>[o.value?(r.openBlock(),r.createBlock(r.unref(he.ConfirmationModal),{key:0,"onOn:close":y[0]||(y[0]=h=>o.value=!1),"onOn:confirm":c},r.createSlots({_:2},[u.value?.header?{name:"header",fn:r.withCtx(()=>[typeof u.value?.header=="string"?(r.openBlock(),r.createElementBlock("p",hA,r.toDisplayString(u.value?.header),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.header),{key:1}))]),key:"0"}:void 0,u.value?.body?{name:"message",fn:r.withCtx(()=>[typeof u.value?.body=="string"?(r.openBlock(),r.createElementBlock("p",yA,r.toDisplayString(u.value?.body),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.body),{key:1}))]),key:"1"}:void 0,u.value?.footer?{name:"footer",fn:r.withCtx(()=>[typeof u.value?.footer=="string"?(r.openBlock(),r.createElementBlock("p",bA,r.toDisplayString(u.value?.footer),1)):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(u.value?.footer),{key:1}))]),key:"2"}:void 0]),1024)):r.createCommentVNode("",!0)])])):r.createCommentVNode("",!0)}}),SA=["colSpan","data-align","onClick"],_A={key:0,class:"sort-state"},kA={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},CA={key:0,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},AA={key:1,class:"sort-icon",height:"16",viewBox:"0 0 24 24",width:"16",xmlns:"http://www.w3.org/2000/svg"},RA={key:0,class:"header-row filters"},MA=["data-align"],xA={key:3,class:"number-range-filter"},EA={name:"TableHeader"},IA=r.defineComponent({...EA,props:{highlightActiveColumn:Boolean,inputDebounceTime:{default:void 0,type:Number},isFilterRowVisible:{default:!1,type:Boolean},table:{required:!0,type:Object}},setup(e){const t=e,a=s=>t.highlightActiveColumn&&(s.getIsSorted()==="asc"||s.getIsSorted()==="desc"||s.getIsFiltered())?"highlight":"",n=s=>s.getFilterValue(),o=s=>s?.length?s.map((u,i)=>{const d=String(u.getDate()).padStart(2,"0"),f=String(u.getMonth()+1).padStart(2,"0"),c=i===0?"00:00:00":"23:59:59";return`${u.getFullYear()}-${f}-${d} ${c}`}).filter(u=>u!==null):null,l=(s,u,i)=>{const d=s.getFilterValue(),f=Array.isArray(d)?[...d]:[void 0,void 0];f[u]=i!==void 0?Number(i):void 0;const c=f.some(p=>p!==void 0);s.setFilterValue(c?f:[])};return(s,u)=>(r.openBlock(),r.createElementBlock("thead",null,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.table.getHeaderGroups(),i=>(r.openBlock(),r.createElementBlock("tr",{key:i.id,class:"header-row"},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(i.headers,d=>(r.openBlock(),r.createElementBlock("th",{key:`table-header-${d.id}`,class:r.normalizeClass([a(d.column),`column-${d.id}`,d.column.columnDef.enableSorting?"sortable":""]),colSpan:d.colSpan,"data-align":r.unref(Zi)({align:d.column.columnDef.align,dataType:d.column.columnDef.dataType}),style:r.normalizeStyle({width:d.column.columnDef.width,maxWidth:d.column.columnDef.maxWidth,minWidth:d.column.columnDef.minWidth}),onClick:f=>d.column.getCanSort()?d.column.getToggleSortingHandler()?.(f):null},[d.isPlaceholder?r.createCommentVNode("",!0):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createVNode(r.unref(Wi),{props:d.getContext(),render:d.column.columnDef.header},null,8,["props","render"]),d.column.columnDef.enableSorting?(r.openBlock(),r.createElementBlock("span",_A,[!d.column.getIsSorted()&&d.column.getCanSort()?(r.openBlock(),r.createElementBlock("svg",kA,u[0]||(u[0]=[r.createElementVNode("path",{d:"M18 10.75H6a.74.74 0 0 1-.69-.46a.75.75 0 0 1 .16-.82l6-6a.75.75 0 0 1 1.06 0l6 6a.75.75 0 0 1 .16.82a.74.74 0 0 1-.69.46M7.81 9.25h8.38L12 5.06ZM12 20.75a.74.74 0 0 1-.53-.22l-6-6a.75.75 0 0 1-.16-.82a.74.74 0 0 1 .69-.46h12a.74.74 0 0 1 .69.46a.75.75 0 0 1-.16.82l-6 6a.74.74 0 0 1-.53.22m-4.19-6L12 18.94l4.19-4.19Z",fill:"currentColor"},null,-1)]))):r.createCommentVNode("",!0),d.column.getIsSorted()&&d.column.getCanSort()?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[d.column.getIsSorted()==="asc"?(r.openBlock(),r.createElementBlock("svg",CA,u[1]||(u[1]=[r.createElementVNode("path",{d:"M12.53 7.97a.75.75 0 0 0-1.06 0l-7 7A.75.75 0 0 0 5 16.25h14a.75.75 0 0 0 .53-1.28z",fill:"currentColor"},null,-1)]))):(r.openBlock(),r.createElementBlock("svg",AA,u[2]||(u[2]=[r.createElementVNode("path",{d:"M5 7.75a.75.75 0 0 0-.53 1.28l7 7a.75.75 0 0 0 1.06 0l7-7A.75.75 0 0 0 19 7.75z",fill:"currentColor"},null,-1)])))],64)):r.createCommentVNode("",!0)])):r.createCommentVNode("",!0)],64))],14,SA))),128))]))),128)),e.isFilterRowVisible?(r.openBlock(),r.createElementBlock("tr",RA,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.table.getVisibleLeafColumns(),i=>(r.openBlock(),r.createElementBlock("th",{key:`table-filter-${i.id}`,class:r.normalizeClass([a(i),i.id?`column-${i.id}`:"",i.columnDef.className||"",i.getCanFilter()?`filter ${i.columnDef.meta?.filterVariant}`:""]),"data-align":r.unref(Zi)({align:i.columnDef.align,dataType:i.columnDef.dataType}),style:r.normalizeStyle({width:i.columnDef.width,maxWidth:i.columnDef.maxWidth,minWidth:i.columnDef.minWidth})},[i.getCanFilter()?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[i.columnDef.customFilterComponent?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.columnDef.customFilterComponent(i)),{key:0})):i.columnDef.meta?.filterVariant==="multiselect"||i.columnDef.meta?.filterVariant==="select"?(r.openBlock(),r.createBlock(r.unref(Ja),{key:1,"model-value":n(i),options:i.columnDef.meta?.filterOptions||[],placeholder:i.columnDef.filterPlaceholder,name:`multiselect-filter-${i.columnDef.accessorKey}`,multiple:i.columnDef.meta?.filterVariant==="multiselect","enable-tooltip":"","onUpdate:modelValue":d=>i.setFilterValue(d)},null,8,["model-value","options","placeholder","name","multiple","onUpdate:modelValue"])):i.columnDef.meta?.filterVariant==="dateRange"?(r.openBlock(),r.createBlock(r.unref(xp),{key:2,"model-value":n(i),placeholder:i.columnDef.filterPlaceholder,name:"`date-range-${column.columnDef.accessorKey}`",range:"",teleport:"","onUpdate:modelValue":d=>i.setFilterValue(o(d))},null,8,["model-value","placeholder","onUpdate:modelValue"])):i.columnDef.meta?.filterVariant==="range"?(r.openBlock(),r.createElementBlock("div",xA,[r.createVNode(r.unref(gi),{"model-value":Array.isArray(n(i))&&n(i)[0]!==null?Number(n(i)[0]):void 0,placeholder:i.columnDef.filterPlaceholder?.split(",")[0],name:"`range-${column.columnDef.accessorKey}-start`","onUpdate:modelValue":d=>l(i,0,d)},null,8,["model-value","placeholder","onUpdate:modelValue"]),r.createVNode(r.unref(gi),{"model-value":Array.isArray(n(i))&&n(i)[1]!==null?Number(n(i)[1]):void 0,placeholder:i.columnDef.filterPlaceholder?.split(",")[1]??i.columnDef.filterPlaceholder,name:"`range-${column.columnDef.accessorKey}-end`","onUpdate:modelValue":d=>l(i,1,d)},null,8,["model-value","placeholder","onUpdate:modelValue"])])):(r.openBlock(),r.createBlock(r.unref(he.DebouncedInput),{key:4,id:`input-filter-${i.id}`,"debounce-time":e.inputDebounceTime,"model-value":typeof n(i)=="string"?String(n(i)):"",placeholder:i.columnDef.filterPlaceholder,"onUpdate:modelValue":d=>i.setFilterValue(d)},null,8,["id","debounce-time","model-value","placeholder","onUpdate:modelValue"]))],64)):r.createCommentVNode("",!0)],14,MA))),128))])):r.createCommentVNode("",!0)]))}}),PA={class:"toolbar"},BA={name:"TableToolbar"},DA=r.defineComponent({...BA,props:{columnActionButtonLabel:{default:"Columns",type:String},hasActionsColumn:Boolean,hasSelectionColumn:Boolean,resetButtonLabel:{default:"Reset all",type:String},showColumnAction:Boolean,showResetButton:Boolean,table:{required:!0,type:Object}},emits:["on:drag","on:reset"],setup(e,{emit:t}){const a=e,n=t,o=r.computed(()=>a.table.getAllLeafColumns().filter(s=>s.id!=="select"&&s.id!=="actions").map((s,u)=>({id:u,data:s,render:i=>{let d=i.columnDef.header;return typeof i.columnDef.header=="function"&&(d=i.columnDef.header()),r.h(Fr,{label:d,modelValue:i.getIsVisible(),name:i.columnDef.accessorKey,"onUpdate:modelValue":()=>i.toggleVisibility()})}}))),l=s=>{const u=[...a.hasSelectionColumn?["select"]:[],...s.map(i=>String(i?.data?.id)),...a.hasActionsColumn?["actions"]:[]];n("on:drag",u)};return(s,u)=>(r.openBlock(),r.createElementBlock("div",PA,[e.showResetButton?(r.openBlock(),r.createBlock(r.unref(he.ButtonElement),{key:0,label:e.resetButtonLabel,variant:"outlined",severity:"secondary",onClick:u[0]||(u[0]=i=>s.$emit("on:reset"))},null,8,["label"])):r.createCommentVNode("",!0),e.showColumnAction?(r.openBlock(),r.createBlock(r.unref(he.Popup),{key:1,position:"bottom"},{content:r.withCtx(()=>[r.createVNode(r.unref(he.SortableList),{list:o.value,onOnDrag:l},null,8,["list"])]),default:r.withCtx(()=>[r.createVNode(r.unref(he.ButtonElement),{label:e.columnActionButtonLabel,variant:"outlined",severity:"secondary"},null,8,["label"])]),_:1})):r.createCommentVNode("",!0),r.renderSlot(s.$slots,"default")]))}}),$A=["id"],NA={key:0,class:"loading-overlay"},TA=["data-align"],OA={class:"table-wrapper"},VA={key:0},LA={name:"DataTable"},Ki=r.defineComponent({...LA,props:{actionsMode:{default:"auto",type:String,validator:e=>["auto","buttons","dropdown"].includes(e)},autoModeCount:{default:1,type:Number},dataActionMenu:{default:()=>[],type:Array},columnActionButtonLabel:{default:void 0,type:String},columnsData:{type:Array,default:()=>[]},customFormatters:{default:()=>({}),type:Object},data:{type:Array,default:()=>[]},displayActions:{default:!0,type:[Boolean,Function]},emptyTableMessage:{default:void 0,type:String},enableRowSelection:{default:!1,type:Boolean},enableSortingRemoval:{default:!1,type:Boolean},highlightActiveHeaderColumn:Boolean,id:{default:void 0,type:String},initialFilters:{default:()=>[],type:Array},initialSorting:{default:()=>[],type:Array},inputDebounceTime:{default:void 0,type:Number},isLoading:Boolean,isServerTable:Boolean,locale:{default:void 0,type:String},paginated:{default:!0,type:Boolean},paginationOptions:{default:()=>({}),type:Object},persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},resetButtonLabel:{default:void 0,type:String},rowPerPage:{default:rA,type:Number},rowPerPageOptions:{default:()=>tA,type:Array},showColumnAction:Boolean,showResetButton:Boolean,tableOptions:{default:()=>({}),type:Object},titleInfo:{default:void 0,type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:select","change:rowSelection","update:request"],setup(e,{emit:t}){const a=e,n=t,o=[],l=r.ref(a.initialFilters),s=r.ref([]),u=r.ref({}),i=r.ref({pageIndex:Wl,pageSize:a.paginated?a.rowPerPage:a.data.length}),d=r.ref({}),f=r.ref(a.initialSorting),c=r.computed(()=>a.columnsData.some(C=>C.enableColumnFilter)),p=r.computed(()=>({columnFilters:l.value,columnOrder:s.value,columnVisibility:u.value,pagination:i.value,sorting:f.value})),m=r.computed(()=>he.getStorage(a.persistStateStorage)),y=r.computed(()=>a.isServerTable?a.totalRecords:g.value.getFilteredRowModel().rows?.length),h=r.computed(()=>g.value.getSelectedRowModel().rows.map(C=>C.original)),g=r.computed(()=>UC({columns:o,state:{columnFilters:l.value,columnOrder:s.value?.length?s.value:a.visibleColumns,columnVisibility:u.value,pagination:i.value,rowSelection:d.value,get sorting(){return f.value}},onColumnFiltersChange:C=>{l.value=typeof C=="function"?C(l.value):C,Array.isArray(l.value)||(l.value=[]),i.value.pageIndex=Wl,a.isServerTable&&(l.value=a.columnsData.filter(A=>A.enableColumnFilter&&(a.visibleColumns.includes(String(A.accessorKey??A.id))||!a.visibleColumns.length)).map(A=>{if(A.meta?.filterVariant==="range"){const E=l.value.find(W=>W?.id===A.accessorKey)?.value,[I,B]=E||[],$=A.meta?.serverFilterFn||(typeof I=="number"&&typeof B=="number"&&I<=B?Le.BETWEEN:typeof I=="number"&&!B?Le.GREATER_THAN_OR_EQUAL:typeof B=="number"?Le.LESS_THAN_OR_EQUAL:null);return $&&E?.length?{filterFn:$,id:A.accessorKey,value:E}:void 0}else return{filterFn:A?.meta?.serverFilterFn,id:A.accessorKey,value:l.value.find(E=>E.id===A.accessorKey)?.value}}).filter(Boolean),b())},onColumnVisibilityChange:C=>{u.value=typeof C=="function"?C(u.value):C},onPaginationChange:C=>{i.value=typeof C=="function"?C(i.value):C,a.isServerTable&&b()},onRowSelectionChange:C=>{d.value=typeof C=="function"?C(d.value):C,n("change:rowSelection",h.value)},onSortingChange:C=>{f.value=typeof C=="function"?C(f.value):C,i.value.pageIndex=Wl,a.isServerTable&&b()},columnResizeMode:"onChange",data:a.data,enableSortingRemoval:a.enableSortingRemoval,getCoreRowModel:BC(),getFilteredRowModel:OC(),getPaginationRowModel:VC(),getSortedRowModel:LC(),manualFiltering:a.isServerTable,manualSorting:a.isServerTable,manualPagination:a.isServerTable,...a.tableOptions}));r.watch([l,s,u,i,f],()=>{a.persistState&&a.id&&Cm(a.id,p.value,m.value)});const b=()=>{const C=lA(f.value,l.value,i.value);n("update:request",C)},w=()=>{l.value=a.initialFilters,s.value=[],u.value={},i.value={pageIndex:Wl,pageSize:a.paginated?a.rowPerPage:a.data.length},f.value=a.initialSorting},v=()=>{if(a.enableRowSelection&&o.push({accessorKey:"select",header:({table:C})=>r.h(Fr,{"aria-label":"Select all",modelValue:C.getIsAllPageRowsSelected(),"onUpdate:modelValue":()=>C.toggleAllPageRowsSelected(!C.getIsAllPageRowsSelected())}),cell:({row:C})=>r.h(Fr,{"aria-label":"Select row",modelValue:C.getIsSelected(),"onUpdate:modelValue":()=>C.toggleSelected(!C.getIsSelected())}),align:"center",enableColumnFilter:!1,enableSorting:!1}),a.columnsData.forEach(C=>{a.visibleColumns.length&&!a.visibleColumns.includes(String(C.accessorKey??C.id))||(C.meta?.filterVariant==="multiselect"&&!C.filterFn?C.filterFn=(A,E,I)=>!I||I.length===0?A:I.some(B=>A.getValue(E)==B):C.meta?.filterVariant==="select"&&!C.filterFn?C.filterFn=(A,E,I)=>I===void 0||I.length===0?!0:String(I)===String(A.getValue(E)):C.meta?.filterVariant==="dateRange"&&!C.filterFn?C.filterFn=(A,E,I)=>{if(I?.length){const B=new Date(I[1]).setHours(23,59,59,999),$=new Date(A.getValue(E)),W=new Date(I[0]).setHours(0,0,0,0);return $.getTime()>=W&&$.getTime()<=B}return!0}:C.meta?.filterVariant==="range"&&(C.filterFn=(A,E,I)=>{if(!Array.isArray(I))return!0;const[B,$]=I,W=A.getValue(E);return B&&$?W>=B&&W<=$:B?W>=B:$?W<=$:!0}),o.push({...C,enableColumnFilter:C.enableColumnFilter??!1,enableSorting:C.enableSorting??!1}))}),a.dataActionMenu?.length&&o.push({accessorKey:"actions",align:"center",enableColumnFilter:!1,enableSorting:!1,header:()=>r.h(Na,{icon:"prime:cog",width:"24"}),cell:({row:C})=>r.h(vA,{actions:a.dataActionMenu,autoModeCount:a.autoModeCount,data:C.original,displayActions:a.displayActions,mode:a.actionsMode,"onAction:select":A=>n("action:select",{action:A?.key||A?.label,data:C.original})})}),a.persistState&&!a.id)throw new Error('Id is required when prop "persistState" is true');k(),a.isServerTable&&b()},k=()=>{if(!a.persistState||!a.id)return;const C=sA(a.id,m.value);C&&(l.value=C.columnFilters,s.value=C.columnOrder,u.value=C.columnVisibility,f.value=C.sorting,a.rowPerPageOptions.includes(C.pagination.pageSize)&&(i.value=C.pagination)),Cm(a.id,p.value,m.value)};return v(),(C,A)=>(r.openBlock(),r.createElementBlock("div",{id:e.id,class:"table-container"},[e.isLoading?(r.openBlock(),r.createElementBlock("div",NA,[r.createVNode(r.unref(he.LoadingIcon),{class:"loading-icon"})])):r.createCommentVNode("",!0),e.titleInfo?(r.openBlock(),r.createElementBlock("span",{key:1,"data-align":e.titleInfo.align||"center"},r.toDisplayString(e.titleInfo.text),9,TA)):r.createCommentVNode("",!0),e.showColumnAction||e.showResetButton||C.$slots.toolbar?(r.openBlock(),r.createBlock(DA,{key:2,"column-action-button-label":e.columnActionButtonLabel,"has-actions-column":!!e.dataActionMenu.length,"has-selection-column":e.enableRowSelection,"reset-button-label":e.resetButtonLabel,"show-column-action":e.showColumnAction,"show-reset-button":e.showResetButton,table:g.value,"onOn:reset":w,"onOn:drag":A[0]||(A[0]=E=>s.value=E)},{default:r.withCtx(()=>[r.renderSlot(C.$slots,"toolbar")]),_:3},8,["column-action-button-label","has-actions-column","has-selection-column","reset-button-label","show-column-action","show-reset-button","table"])):r.createCommentVNode("",!0),r.createElementVNode("div",OA,[r.createElementVNode("table",{style:r.normalizeStyle(`width: ${g.value.getCenterTotalSize()}`)},[r.createVNode(IA,{"highlight-active-column":e.highlightActiveHeaderColumn,"input-debounce-time":e.inputDebounceTime,"is-filter-row-visible":c.value,table:g.value},null,8,["highlight-active-column","input-debounce-time","is-filter-row-visible","table"]),r.createVNode(mA,{"custom-formatters":e.customFormatters,"empty-table-message":e.emptyTableMessage,locale:e.locale,table:g.value},null,8,["custom-formatters","empty-table-message","locale","table"]),C.$slots.footer?(r.openBlock(),r.createElementBlock("tfoot",VA,[r.renderSlot(C.$slots,"footer")])):r.createCommentVNode("",!0)],4)]),(e.isServerTable||e.paginated)&&y.value>0?r.renderSlot(C.$slots,"pagination",{key:3},()=>[r.createVNode(eA,r.mergeProps(e.paginationOptions,{"current-page":i.value.pageIndex,"default-items-per-page":i.value.pageSize,"items-per-page-options":e.rowPerPageOptions,"total-items":y.value,"onUpdate:currentPage":g.value.setPageIndex,"onUpdate:itemsPerPage":g.value.setPageSize}),null,16,["current-page","default-items-per-page","items-per-page-options","total-items","onUpdate:currentPage","onUpdate:itemsPerPage"])]):r.createCommentVNode("",!0)],8,$A))}}),Rm=async(e,t)=>{const a=await ze(t).post("/roles",e,{withCredentials:!0});if(a.data.status===Or)throw new Error(a.data.message);return a.data},Mm=async(e,t)=>{const a=await ze(t).delete("/roles",{params:{role:qg(e)}});if(a.data.status===Or)throw new Error(a.data.message);return a.data},xm=async e=>await ze(e).get("permissions"),Em=async e=>{const t=await ze(e).get("roles");return{...t.data,roles:t.data.roles.map((a,n)=>({...a,id:n}))}},Im=async(e,t)=>{const a=await ze(t).put("/roles/permissions",e,{withCredentials:!0});if(a.data.status===Or)throw new Error(a.data.message);return a.data},Pm=bt.defineStore("roles",()=>({createRole:async(l,s)=>await Rm(l,s),deleteRole:async(l,s)=>await Mm(l,s),getPermissions:async l=>await xm(l),getRoles:async l=>await Em(l),updateRolePermissions:async(l,s)=>await Im(l,s)})),FA={class:"role-form"},qA={name:"RoleForm"},UA=r.defineComponent({...qA,props:{loading:Boolean,role:{default:void 0,type:Object}},emits:["cancel","submit"],setup(e){const t=e,a=We.useConfig(),n=Pm(),{getPermissions:o}=n,l=Be(),{t:s}=xe.useI18n({messages:l}),u=r.ref({}),i=r.ref([]),d=Ue.z.array(Ue.z.string().nullable()).refine(p=>p!=null).optional(),f=Ue.z.string().max(255,{message:s("roles.form.messages.invalidRole")}).nonempty({message:s("roles.form.messages.invalidRole")});return r.watch(()=>t.role,()=>{u.value=t.role||{role:"",permissions:[]}},{immediate:!0}),(async()=>{const p=await o(a?.apiBaseUrl);i.value=p?.data?.permissions?.map(m=>({label:m,value:m}))})(),(p,m)=>(r.openBlock(),r.createElementBlock("div",FA,[r.createVNode(r.unref(mn),{onSubmit:m[3]||(m[3]=y=>p.$emit("submit",u.value))},{default:r.withCtx(()=>[r.createVNode(r.unref(Da),{modelValue:u.value.role,"onUpdate:modelValue":m[0]||(m[0]=y=>u.value.role=y),disabled:!!e.role,label:r.unref(s)("roles.form.label.role"),schema:r.unref(f),name:"role",type:"text"},null,8,["modelValue","disabled","label","schema"]),r.createVNode(r.unref(Ja),{modelValue:u.value.permissions,"onUpdate:modelValue":m[1]||(m[1]=y=>u.value.permissions=y),label:r.unref(s)("roles.form.label.permissions"),options:i.value,placeholder:r.unref(s)("roles.form.placeholder.permissions"),schema:r.unref(d),multiple:"",name:"permissions"},null,8,["modelValue","label","options","placeholder","schema"]),r.createVNode(r.unref(hr),{"cancel-label":r.unref(s)("roles.form.actions.cancel"),"submit-label":e.role?r.unref(s)("roles.form.actions.update"):r.unref(s)("roles.form.actions.create"),loading:e.loading,onCancel:m[2]||(m[2]=y=>p.$emit("cancel"))},null,8,["cancel-label","submit-label","loading"])]),_:1})]))}}),HA={name:"RolesTable"},GA=r.defineComponent({...HA,props:{isLoading:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)}},setup(e){const t=We.useConfig(),a=Be(),{locale:n,t:o}=xe.useI18n({messages:a}),l=Pm(),{createRole:s,deleteRole:u,getRoles:i,updateRolePermissions:d}=l,f=r.ref(),c=r.ref(!1),p=r.ref(),m=r.ref([]),y=r.ref(!1),h=[{key:"editRole",label:o("roles.table.actions.updatePermissions")},{class:"danger",confirmationOptions:{body:o("roles.table.confirmation.deleteRole.message"),header:o("roles.table.confirmation.deleteRole.header")},key:"deleteRole",label:o("roles.table.actions.deleteRole"),requireConfirmationModal:!0}],g=[{accessorKey:"role",header:o("roles.table.columns.roles")},{accessorKey:"permissions",header:o("roles.table.columns.permissions"),cell:({getValue:I})=>I()?.sort().map(($,W)=>r.h(he.BadgeComponent,{key:$+"-"+W,label:$,severity:"success",style:{marginTop:"0.1rem",marginBottom:"0.1rem",marginRight:"1rem"}}))}],b=I=>{switch(I.action){case"editRole":C(I.data);break;case"deleteRole":k(I.data);break}},w=()=>{f.value=void 0,y.value=!1,p.value={role:"",permissions:[]}},v=()=>{y.value=!0,p.value=void 0},k=async I=>{await u(I?.role,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.table.messages.delete.success"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:o("roles.table.messages.delete.error"),type:"error"})})},C=I=>{p.value=I,y.value=!0},A=async I=>{c.value=!0;try{p.value?await d(I,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.form.messages.update.success"),type:"success"})}):await s(I,t?.apiBaseUrl).then(()=>{E(),Pe.emit("notify",{text:o("roles.form.messages.add.success"),type:"success"})}),y.value=!1}catch(B){!p.value&&B?.response?.data?.name===ag?f.value=o("roles.form.messages.add.roleAlreadyExists"):f.value=o(p.value?"roles.form.messages.update.error":"roles.form.messages.add.error")}finally{c.value=!1}},E=async()=>{await i(t?.apiBaseUrl).then(I=>{m.value=I?.roles||[]})};return E(),(I,B)=>{const $=r.resolveComponent("Page");return r.openBlock(),r.createBlock($,{title:r.unref(o)("roles.title")},{toolbar:r.withCtx(()=>[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(o)("roles.table.actions.addRole"),"icon-left":"pi pi-plus",onClick:v},null,8,["label"])]),default:r.withCtx(()=>[r.createVNode(r.unref(Ki),{id:"roles-table","columns-data":g,data:m.value,"data-action-menu":h,"empty-table-message":r.unref(o)("roles.table.emptyMessage"),locale:String(r.unref(n)),paginated:!1,"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,class:"table-roles","is-loading":e.isLoading,"is-server-table":"","onAction:select":b},null,8,["data","empty-table-message","locale","persist-state","persist-state-storage","is-loading"]),r.createVNode(r.unref(he.Modal),{show:y.value,class:"role-modal","onOn:close":w},{header:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(p.value?r.unref(o)("roles.form.label.update"):r.unref(o)("roles.form.label.add")),1)]),default:r.withCtx(()=>[f.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:f.value,"enable-close":"",severity:"danger",onClose:B[0]||(B[0]=W=>f.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(UA,{loading:c.value,role:p.value,onCancel:w,onSubmit:A},null,8,["loading","role"])]),_:1},8,["show"])]),_:1},8,["title"])}}}),zA={class:"links"},YA={name:"Signup"},WA=r.defineComponent({...YA,setup(e){const t=Be(),{t:a}=xe.useI18n({messages:t}),n=Ne(),{signup:o}=n,{user:l}=bt.storeToRefs(n),s=ut.useRouter(),u=r.ref(),i=r.ref(!1),d=async f=>{i.value=!0,await o(f).catch(c=>{u.value=c.message}).finally(()=>{i.value=!1}),l.value&&s.hasRoute("home")&&s.push({name:"home"}).then(()=>{Pe.emit("notify",{text:a("user.signup.messages.success"),type:"success"})})};return(f,c)=>{const p=r.resolveComponent("router-link");return r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(a)("user.signup.title"),class:"auth signup"},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:r.unref(a)(`user.signup.errors.${u.value}`),"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=m=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.renderSlot(f.$slots,"instructions"),r.createVNode(Nl,{loading:i.value,onSubmit:d},null,8,["loading"]),r.createElementVNode("div",zA,[r.createVNode(p,{to:{name:"login"},class:"login"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(r.unref(a)("user.signup.links.login")),1)]),_:1}),r.createVNode(p,{to:{name:"resetPasswordRequest"},class:"reset"},{default:r.withCtx(()=>[r.createTextVNode(r.toDisplayString(r.unref(a)("user.signup.links.forgotPassword")),1)]),_:1})])]),_:3},8,["title"])}}}),ZA={name:"SignupFirstUser"},KA=r.defineComponent({...ZA,setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o=ut.useRouter(),l=Ne(),{getIsFirstUser:s,signUpFirstUser:u}=l,{user:i}=bt.storeToRefs(l),d=r.ref(),f=r.ref(!1),c=async m=>{f.value=!0,await u(m,t.apiBaseUrl).then(()=>{Pe.emit("notify",{text:n("user.firstUser.signup.messages.success"),type:"success"}),i.value&&o.hasRoute("home")?o.push({name:"home"}):(Pe.emit("notify",{text:n("user.firstUser.login.messages.error"),type:"error"}),o.hasRoute("login")&&o.push({name:"login"}))}).catch(()=>{d.value=n("user.firstUser.signup.messages.error")}).finally(()=>{f.value=!1})};return(async()=>{f.value=!0;try{!(await s(t.apiBaseUrl))?.signUp&&o.hasRoute("login")&&o.push({name:"login"})}catch{d.value=n("user.signup.errors.SOMETHING_WRONG")}finally{f.value=!1}})(),(m,y)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{loading:f.value,title:r.unref(n)("user.firstUser.title"),centered:"",class:"auth signup"},{default:r.withCtx(()=>[d.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:d.value,"enable-close":"",severity:"danger",onClose:y[0]||(y[0]=h=>d.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(Nl,{loading:f.value,onSubmit:c},null,8,["loading"])]),_:1},8,["loading","title"]))}}),XA={name:"VerifyEmail"},jA=r.defineComponent({...XA,setup(e){const t=We.useConfig(),a=ut.useRoute(),n=Be(),{t:o}=xe.useI18n({messages:n}),{user:l,setUser:s,verifyEmail:u}=Ne(),i=r.ref(!1),d=r.ref(),f=r.computed(()=>{if(i.value)return o("user.emailVerification.messages.verifyingEmail");let c="";switch(d.value){case Qt.OK:c=o("user.emailVerification.messages.verify.success");break;case Qt.EMAIL_VERIFICATION_INVALID_TOKEN_ERROR:c=o("user.emailVerification.messages.verify.invalidToken");break;default:c=o("user.emailVerification.messages.resend.error")}return c});return r.onMounted(()=>{if(l){i.value=!0;const c=typeof a.query.token=="string"?a.query.token:typeof a.params.token=="string"?a.params.token:void 0;u(c).then(async p=>{if(d.value=p.status,d.value===Qt.OK){const m=await du(t.apiBaseUrl);Pe.emit("notify",{text:o("user.emailVerification.messages.verify.success"),type:"success"}),s(m.data)}else Pe.emit("notify",{text:o("user.emailVerification.messages.verify.invalidToken"),type:"error"})}).catch(()=>{Pe.emit("notify",{text:o("user.emailVerification.messages.resend.error"),type:"error"})}).finally(()=>{i.value=!1})}}),(c,p)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{loading:i.value,title:r.unref(o)("user.emailVerification.verifyEmail"),centered:"",class:"email-verification"},{default:r.withCtx(()=>[r.createElementVNode("p",null,r.toDisplayString(f.value),1)]),_:1},8,["loading","title"]))}}),Ft={acceptInvitation:{component:d_,name:"acceptInvitation",path:"/signup/token/:token?"},facebook:{component:pu,name:"authFacebookCallback",path:"/auth/callback/facebook"},google:{component:pu,name:"authGoogleCallback",path:"/auth/callback/google"},login:{component:C_,name:"login",path:"/login"},profile:{meta:{authenticated:!0},component:Op,name:"profile",path:"/profile"},roles:{meta:{authenticated:!0},component:GA,name:"roles",path:"/roles"},signup:{component:WA,name:"signup",path:"/signup"},signupFirstUser:{component:KA,name:"signupFirstUser",path:"/signup-first-user"},passwordReset:{component:x_,name:"resetPassword",path:"/reset-password/:token?"},passwordResetRequest:{component:L_,name:"resetPasswordRequest",path:"/reset-password-request"},verifyEmail:{meta:{authenticated:!0},component:jA,name:"verifyEmail",path:"/verify-email"},verifyEmailReminder:{meta:{authenticated:!0},component:m_,name:"verifyEmailReminder",path:"/verify-email-reminder"}},qt=(e,t)=>({...e,...t}),QA=(e,t)=>{const a=t?.routes;e.addRoute(qt(Ft.facebook,a?.facebook)),e.addRoute(qt(Ft.google,a?.google)),e.addRoute(qt(Ft.login,a?.login)),a?.signup?.disabled||e.addRoute(qt(Ft.signup,a?.signup)),a?.signup?.disabled&&!a?.signupFirstUser?.disabled&&e.addRoute(qt(Ft.signupFirstUser,a?.signupFirstUser)),e.addRoute(qt(Ft.passwordReset,a?.passwordReset)),e.addRoute(qt(Ft.passwordResetRequest,a?.passwordResetRequest)),e.addRoute(qt(Ft.profile,a?.profile)),e.addRoute(qt(Ft.roles,a?.roles)),e.addRoute(qt(Ft.acceptInvitation,a?.acceptInvitation)),t?.features?.signUp?.emailVerification&&(e.addRoute(qt(Ft.verifyEmail,a?.verifyEmail)),e.addRoute(qt(Ft.verifyEmailReminder,a?.verifyEmailReminder)))},Zl=(e,t)=>{const a=(t||e.getRoutes()).filter(n=>n.meta?.display!==void 0);for(const n of a){if(!n.name)continue;e.hasRoute(n.name)||e.addRoute(n);const o=n.meta,l=Ne(),{user:s}=bt.storeToRefs(l),{getUser:u}=l;s.value||(s.value=u());let i=typeof o.display=="boolean"?o.display:!0;typeof o.display=="function"&&s.value&&(i=o.display(s.value)),i||e.removeRoute(n.name)}},JA=e=>{e.beforeEach((t,a,n)=>{const o=Ne(),{user:l}=bt.storeToRefs(o),s=["acceptInvitation","login","signup","signupFirstUser","resetPassword","resetPasswordRequest"],u=t.name;l.value&&s.includes(u)?n({name:"profile"}):n()})},eR=(e,t)=>{e.beforeEach(async a=>{const n=a.meta,o=Ne(),l=!!t?.features?.signUp?.emailVerification,s=a.name,u=["verifyEmail","verifyEmailReminder"],{user:i}=bt.storeToRefs(o),{getUser:d}=o;if(i.value||(i.value=await d()),i.value?.thirdParty&&t?.socialLogins?.includes(i.value?.thirdParty?.id),n.authenticated&&!i.value&&(sessionStorage.setItem("redirectAfterLogin",a.fullPath),e.hasRoute("login")&&e.push({name:"login"})),n.authenticated&&l&&i.value){let p=o.isEmailVerified;if(p===!1&&![...u,"profile"].includes(s)&&e.hasRoute("verifyEmailReminder")){e.push({name:"verifyEmailReminder"});return}else p&&u[1]===s&&e.hasRoute("home")&&e.push({name:"home"})}const f=!!i.value?.isProfileCompleted,c=i.value?.isProfileCompleted!==void 0;n.authenticated&&c&&!f&&![...u,"profile"].includes(s)&&e.hasRoute("profile")&&e.push({name:"profile"})})},tR=(e,t)=>{QA(e,t),Zl(e),eR(e,t),JA(e)},rR={name:"ChangePassword"},aR=r.defineComponent({...rR,setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o=Ne(),{changePassword:l}=o,s=ut.useRouter(),u=r.ref(),i=r.ref(!1),d=async f=>{i.value=!0,await l(f,t?.apiBaseUrl).then(c=>{c&&s.hasRoute("home")&&s.push({name:"home"}).then(()=>Pe.emit("notify",{text:n("user.changePassword.messages.success"),type:"success"}))}).catch(c=>{u.value=c.message}),i.value=!1};return(f,c)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(n)("user.changePassword.title"),class:"auth change-password"},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:r.unref(n)(`user.changePassword.errors.${u.value}`),"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=p=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.renderSlot(f.$slots,"instructions"),r.createVNode(bi,{loading:i.value,onSubmit:d},null,8,["loading"])]),_:3},8,["title"]))}}),nR={name:"ProfilePage"},oR=r.defineComponent({...nR,setup(e){const t=Be(),{t:a}=xe.useI18n({messages:t});return(n,o)=>(r.openBlock(),r.createBlock(r.unref(he.Page),{title:r.unref(a)("user.profile.title"),class:"profile"},{default:r.withCtx(()=>[r.createVNode(yi),r.createVNode(wi,null,{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3})]),_:3},8,["title"]))}}),lR={class:"trigger"},sR={class:"email"},iR={class:"dropdown"},uR={name:"DropdownUserMenu"},Bm=r.defineComponent({...uR,props:{user:{required:!0,type:Object},userMenuItems:{default:()=>[],type:Array}},emits:["logout","select:menu"],setup(e){const t=r.ref(!1),a=Be(),{t:n}=xe.useI18n({messages:a}),o=e,l=()=>{t.value=!t.value},s=r.ref(null);return Fm.onClickOutside(s,u=>{t.value=!1}),(u,i)=>{const d=r.resolveComponent("router-link");return r.openBlock(),r.createElementBlock("nav",{ref_key:"dzangolabVueUserUserMenu",ref:s,class:r.normalizeClass(["user-menu-dropdown",{expanded:t.value}]),onClick:l},[r.createElementVNode("div",lR,[r.renderSlot(u.$slots,"userMenuTrigger",{},()=>[r.createElementVNode("span",sR,r.toDisplayString(e.user?.email),1)]),i[3]||(i[3]=r.createElementVNode("span",{class:"toggle"},[r.createElementVNode("svg",{"aria-label":"open user menu",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{"clip-rule":"evenodd","fill-rule":"evenodd",d:"M12 7C12.2652 7 12.5196 7.10536 12.7071 7.29289L19.7071 14.2929C20.0976 14.6834 20.0976 15.3166 19.7071 15.7071C19.3166 16.0976 18.6834 16.0976 18.2929 15.7071L12 9.41421L5.70711 15.7071C5.31658 16.0976 4.68342 16.0976 4.29289 15.7071C3.90237 15.3166 3.90237 14.6834 4.29289 14.2929L11.2929 7.29289C11.4804 7.10536 11.7348 7 12 7Z",fill:"currentColor"})])],-1))]),r.createElementVNode("ul",iR,[r.createElementVNode("li",{onClick:i[0]||(i[0]=f=>u.$emit("select:menu"))},[r.createVNode(d,{to:{name:"profile"}},{default:r.withCtx(()=>[i[4]||(i[4]=r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 12.25a3.75 3.75 0 1 1 3.75-3.75A3.75 3.75 0 0 1 12 12.25m0-6a2.25 2.25 0 1 0 2.25 2.25A2.25 2.25 0 0 0 12 6.25m7 13a.76.76 0 0 1-.75-.75c0-1.95-1.06-3.25-6.25-3.25s-6.25 1.3-6.25 3.25a.75.75 0 0 1-1.5 0c0-4.75 5.43-4.75 7.75-4.75s7.75 0 7.75 4.75a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(n)("app.header.menu.profile")),1)]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(o.userMenuItems,f=>(r.openBlock(),r.createElementBlock("li",{key:f.route,onClick:i[1]||(i[1]=c=>u.$emit("select:menu"))},[r.createVNode(d,{to:{name:f.route}},{default:r.withCtx(()=>[r.createElementVNode("i",{class:r.normalizeClass(f.icon+" menu-icon")},null,2),r.createTextVNode(" "+r.toDisplayString(f.label),1)]),_:2},1032,["to"])]))),128)),r.createElementVNode("li",{class:"option",onClick:i[2]||(i[2]=f=>[u.$emit("logout"),u.$emit("select:menu")])},[i[5]||(i[5]=r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 21A9 9 0 0 1 5.64 5.64a.74.74 0 0 1 1.06 0a.75.75 0 0 1 0 1.06a7.5 7.5 0 1 0 10.6 10.6a7.48 7.48 0 0 0 0-10.6a.75.75 0 0 1 0-1.06a.74.74 0 0 1 1.06 0A9 9 0 0 1 12 21",fill:"currentColor"}),r.createElementVNode("path",{d:"M12 12.75a.76.76 0 0 1-.75-.75V4a.75.75 0 0 1 1.5 0v8a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)),r.createTextVNode(" "+r.toDisplayString(r.unref(n)("app.header.menu.logout")),1)])])],2)}}}),dR={class:"invitation-form"},cR={name:"InvitationForm"},Dm=r.defineComponent({...cR,props:{apps:{default:()=>[],type:Array},appSchema:{default:Ue.z.coerce.number({invalid_type_error:"Please select at least one valid option"}).gte(1,"Please select at least one valid option"),required:!1,type:Object},expiresAfterSchema:{default:Ue.z.coerce.number({invalid_type_error:"Expiry days is required"}).gte(1,"please provide valid days"),required:!1,type:Object},expiresAtSchema:{default:Ue.z.coerce.date().min(new Date(new Date().setHours(0,0,0,0)),{message:"Please provide a present or future date"}),required:!1,type:Object},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},invitationData:{default:()=>({}),type:Object},roles:{default:()=>[],type:Array},roleSchema:{default:Ue.z.string({invalid_type_error:"Please select at least one valid option"}),required:!1,type:Object},submitLabel:{default:"Invite user",type:String}},emits:["cancel","submit"],setup(e,{emit:t}){const a=e,n=t,o=Be(),{t:l}=xe.useI18n({messages:o}),s=r.ref(),u=r.ref({}),i=r.computed(()=>{let m=a.apps||[];const y=window.location.origin,h=m.find(b=>b.origin===y);return h&&(m=m.filter(b=>b.origin!==y),m=[{...h,name:l("user.invitation.thisApp")},...m]),m.map(b=>b.label?{value:b.id,label:b.label}:{value:b.id,label:b.name})}),d=r.computed(()=>u.value?.appId?a.apps?.find(m=>m.id===Number(u.value.appId))?.supportedRoles.map(m=>({label:m.name,value:m.name})):a.roles?.map(m=>({label:m.name,value:m.name}))||[]),f=()=>{u.value.role=void 0},c=()=>{u.value?.expiresAt&&(u.value.expiresAt=new Date(u.value.expiresAt).toISOString()),n("submit",u.value)};return(()=>{if(u.value=a.invitationData,a.expiryMode==="days"&&u.value?.expiresAt){const m=new Date,h=new Date(u.value?.expiresAt).getTime()-m.getTime();s.value=Math.round(h/(24*60*60*1e3))}})(),(m,y)=>(r.openBlock(),r.createElementBlock("div",dR,[r.createVNode(r.unref(mn),{onSubmit:c},{default:r.withCtx(()=>[r.createVNode(r.unref(pn),{modelValue:u.value.email,"onUpdate:modelValue":y[0]||(y[0]=h=>u.value.email=h),label:"Email"},null,8,["modelValue"]),e.apps?.length?(r.openBlock(),r.createBlock(r.unref(Ja),{key:0,modelValue:u.value.appId,"onUpdate:modelValue":[y[1]||(y[1]=h=>u.value.appId=h),f],"has-sorted-options":!1,options:i.value,schema:e.appSchema,label:"App",name:"app",placeholder:"Select app"},null,8,["modelValue","options","schema"])):r.createCommentVNode("",!0),e.apps?.length||e.roles?.length?(r.openBlock(),r.createBlock(r.unref(Ja),{key:1,modelValue:u.value.role,"onUpdate:modelValue":y[2]||(y[2]=h=>u.value.role=h),disabled:!d.value?.length,options:d.value||[],schema:e.roleSchema,label:"Role",name:"role",placeholder:"Select role"},null,8,["modelValue","disabled","options","schema"])):r.createCommentVNode("",!0),e.expiryMode==="calendar"?(r.openBlock(),r.createBlock(r.unref(xp),{key:2,modelValue:u.value.expiresAt,"onUpdate:modelValue":y[3]||(y[3]=h=>u.value.expiresAt=h),schema:e.expiresAtSchema,label:"Expires at",name:"expires-at"},null,8,["modelValue","schema"])):e.expiryMode==="days"?(r.openBlock(),r.createBlock(r.unref(NS),{key:3,modelValue:s.value,"onUpdate:modelValue":y[4]||(y[4]=h=>s.value=h),schema:e.expiresAfterSchema,label:"Expires after",name:"expires-after","onUpdate:date":y[5]||(y[5]=h=>u.value.expiresAt=h)},null,8,["modelValue","schema"])):r.createCommentVNode("",!0),r.createVNode(r.unref(hr),{"submit-label":e.submitLabel,onCancel:y[6]||(y[6]=h=>m.$emit("cancel"))},null,8,["submit-label"])]),_:1})]))}}),fR={name:"InvitationModal"},Xi=r.defineComponent({...fR,props:{apps:{default:()=>[],type:Array},appSchema:{default:void 0,required:!1,type:Object},dismissOnClickOut:{default:!1,type:Boolean},expiresAfterSchema:{default:void 0,required:!1,type:Object},expiresAtSchema:{default:void 0,required:!1,type:Object},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},invitationData:{default:()=>({}),type:Object},roles:{default:()=>[],type:Array},roleSchema:{default:void 0,required:!1,type:Object},show:{default:!1,type:Boolean},submitLabel:{default:void 0,type:String},title:{default:"",type:String}},emits:["on:close","submit"],setup(e,{emit:t}){const a=t,n=()=>{a("on:close")},o=l=>{a("submit",l)};return(l,s)=>(r.openBlock(),r.createBlock(r.unref(he.Modal),{"dismiss-on-click-out":e.dismissOnClickOut,show:e.show,title:e.title,class:"invitation-modal","onOn:close":n},{default:r.withCtx(()=>[r.createVNode(Dm,{apps:e.apps,"app-schema":e.appSchema,"expires-after-schema":e.expiresAfterSchema,"expires-at-schema":e.expiresAtSchema,"expiry-mode":e.expiryMode,"invitation-data":e.invitationData,roles:e.roles,"role-schema":e.roleSchema,"submit-label":e.submitLabel,onCancel:n,onSubmit:o},null,8,["apps","app-schema","expires-after-schema","expires-at-schema","expiry-mode","invitation-data","roles","role-schema","submit-label"])]),_:1},8,["dismiss-on-click-out","show","title"]))}}),pR={className:"table-actions"},mR={name:"InvitationTable"},gR=r.defineComponent({...mR,props:{appFilterOptions:{default:()=>[],type:Array},apps:{default:()=>[],type:Array},columnsData:{default:()=>[],type:Array},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},id:{default:"invitation-table",type:String},initialSorting:{default:()=>[],type:Array},invitationModalTitle:{default:"",type:String},invitations:{default:()=>[],type:Array},isLoading:Boolean,isServerTable:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},roleFilterOptions:{default:()=>[],type:Array},roles:{default:()=>[],type:Array},showInviteAction:{default:!0,type:Boolean},statutsFilterOptions:{default:()=>[],type:Array},submitLabel:{default:void 0,type:String},tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},visibleColumns:{default:()=>[],type:Array}},emits:["action:delete","action:resend","action:revoke","on:closeInvitation","on:submitInvitation","update:request"],setup(e,{expose:t,emit:a}){const n=e,o=a,l=Be(),{locale:s,t:u}=xe.useI18n({messages:l}),i=r.ref(!1),d=r.computed(()=>[{confirmationOptions:{body:u("user.invitation.table.confirmation.resend.message"),header:u("user.invitation.table.confirmation.header")},disabled:w=>!!w.acceptedAt||!!w.revokedAt||m(w.expiresAt),icon:"pi pi-replay",key:"resend",label:u("user.invitation.table.actions.resend"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:u("user.invitation.table.confirmation.revoke.message"),header:u("user.invitation.table.confirmation.header")},disabled:w=>!!w.acceptedAt||!!w.revokedAt||m(w.expiresAt),icon:"pi pi-times",key:"revoke",label:u("user.invitation.table.actions.revoke"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:u("user.invitation.table.confirmation.delete.message"),header:u("user.invitation.table.confirmation.header")},icon:"pi pi-trash",key:"delete",label:u("user.invitation.table.actions.delete"),requireConfirmationModal:!0}]),f=r.computed(()=>{const w=n.apps??[];return new Map(w.map(v=>[v.id,v.name]))}),c=r.computed(()=>[{accessorKey:"email",enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:u("user.invitation.table.placeholder.search"),header:u("user.invitation.table.defaultColumns.email")},{align:"center",accessorKey:"appId",cell:({row:w})=>f.value?.get(w.original.appId)||"-",enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.app"),meta:{filterOptions:n.appFilterOptions.length?n.appFilterOptions:f.value?Array.from(f.value.entries()).map(([w,v])=>({label:v,value:w})):[],filterVariant:"multiselect"},filterPlaceholder:u("user.invitation.table.placeholder.app"),sortingFn:(w,v,k)=>{const C=f.value.get(w.original.appId)||"",A=f.value.get(v.original.appId)||"";return C.localeCompare(A)}},{align:"center",accessorKey:"role",cell:({getValue:w,row:v})=>{const k=v?.roles;if(Array.isArray(k))return k.map((A,E)=>r.h(he.BadgeComponent,{label:A,severity:A===Jr?"primary":"success",fullWidth:!0,key:A+E}));const C=w();return r.h(he.BadgeComponent,{label:C,severity:C===Jr?"primary":"success",fullWidth:!0})},enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.role"),meta:{filterVariant:"multiselect",filterOptions:n.roleFilterOptions.length?n.roleFilterOptions:[{label:u("user.table.role.admin"),value:Jr},{label:u("user.table.role.superadmin"),value:ou},{label:u("user.table.role.user"),value:lu}]},filterPlaceholder:u("user.invitation.table.placeholder.role")},{accessorFn:w=>(w?.invitedBy?.givenName?w?.invitedBy?.givenName:"")+(w?.invitedBy?.middleNames?" "+w?.invitedBy?.middleNames:"")+(w?.invitedBy?.surname?" "+w?.invitedBy?.surname:"")||"-",accessorKey:"invitedBy",cell:({getValue:w})=>w(),enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.invitedBy"),filterPlaceholder:u("user.invitation.table.placeholder.search")},{accessorKey:"expiresAt",dataType:"datetime",enableColumnFilter:!0,enableSorting:!0,header:u("user.invitation.table.defaultColumns.expiresAt"),meta:{filterVariant:"dateRange",serverFilterFn:"between"},filterPlaceholder:u("user.invitation.table.placeholder.date")},{align:"center",accessorKey:"status",enableColumnFilter:!0,enableSorting:!n.isServerTable,filterFn:(w,v,k)=>{const{acceptedAt:C,revokedAt:A,expiresAt:E}=w.original;if(!k||k.length===0)return!0;let I=au;return C?I=tu:A?I=nu:m(E)&&(I=ru),k.includes(I)},header:u("user.invitation.table.defaultColumns.status"),cell:({row:w})=>{const{acceptedAt:v,revokedAt:k,expiresAt:C}=w.original,A=y(w),E=v?"success":k?"danger":m(C)?"secondary":"warning";return r.h(he.BadgeComponent,{label:A,severity:E})},meta:{filterVariant:"multiselect",filterOptions:n.statutsFilterOptions.length?n.statutsFilterOptions:[{label:u("user.invitation.table.status.accepted"),value:tu},{label:u("user.invitation.table.status.revoked"),value:nu},{label:u("user.invitation.table.status.expired"),value:ru},{label:u("user.invitation.table.status.pending"),value:au}]},filterPlaceholder:u("user.invitation.table.placeholder.status"),sortingFn:(w,v,k)=>y(w).localeCompare(y(v))}]),p=r.computed(()=>[...c.value.map(w=>{const v=n.columnsData.find(k=>k.accessorKey===w.accessorKey);return v?{...w,...v}:w}),...n.columnsData.filter(w=>!c.value.some(v=>v.accessorKey===w.accessorKey))]),m=w=>!!(w&&new Date(w)<new Date),y=w=>{const{acceptedAt:v,expiresAt:k,revokedAt:C}=w.original;return v?u("user.invitation.table.status.accepted"):C?u("user.invitation.table.status.revoked"):m(k)?u("user.invitation.table.status.expired"):u("user.invitation.table.status.pending")},h=w=>{switch(w.action){case"delete":o("action:delete",w.data);break;case"resend":o("action:resend",w.data);break;case"revoke":o("action:revoke",w.data);break}},g=()=>{i.value=!1,o("on:closeInvitation")},b=w=>{o("update:request",w)};return t({showModal:i}),(w,v)=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[r.createVNode(r.unref(he.LoadingPage),{loading:e.isLoading},null,8,["loading"]),e.isLoading?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(r.unref(Ki),r.mergeProps({key:0},e.tableOptions,{id:e.id,"columns-data":p.value,data:e.invitations,"data-action-menu":d.value,"empty-table-message":r.unref(u)("user.invitation.table.emptyMessage"),"initial-sorting":e.initialSorting,"is-server-table":e.isServerTable,locale:String(r.unref(s)),"pagination-options":{pageInputLabel:r.unref(u)("user.invitation.table.pagination.pageInputLabel"),itemsPerPageControlLabel:r.unref(u)("user.invitation.table.pagination.rowsPerPage")},"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-invitations","onAction:select":h,"onUpdate:request":b}),r.createSlots({_:2},[e.showInviteAction?{name:"toolbar",fn:r.withCtx(()=>[r.createElementVNode("div",pR,[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(u)("user.invitation.table.inviteUser"),onClick:v[0]||(v[0]=k=>i.value=!0)},{iconLeft:r.withCtx(()=>v[2]||(v[2]=[r.createElementVNode("svg",{height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[r.createElementVNode("path",{d:"M12 12.25a3.75 3.75 0 1 1 3.75-3.75A3.75 3.75 0 0 1 12 12.25m0-6a2.25 2.25 0 1 0 2.25 2.25A2.25 2.25 0 0 0 12 6.25m7 13a.76.76 0 0 1-.75-.75c0-1.95-1.06-3.25-6.25-3.25s-6.25 1.3-6.25 3.25a.75.75 0 0 1-1.5 0c0-4.75 5.43-4.75 7.75-4.75s7.75 0 7.75 4.75a.76.76 0 0 1-.75.75",fill:"currentColor"})],-1)])),_:1},8,["label"]),r.createVNode(Xi,{apps:e.apps,"expiry-mode":e.expiryMode,roles:e.roles,show:i.value,"submit-label":e.submitLabel,title:e.invitationModalTitle,"onOn:close":g,onSubmit:v[1]||(v[1]=k=>w.$emit("on:submitInvitation",k))},null,8,["apps","expiry-mode","roles","show","submit-label","title"])])]),key:"0"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-server-table","locale","pagination-options","persist-state","persist-state-storage","total-records","visible-columns"]))],64))}}),hR={name:"ResetPasswordModal"},yR=r.defineComponent({...hR,props:{errorMessage:{default:void 0,type:String},loading:Boolean,show:Boolean,userAuthorizedApps:{default:()=>[],type:Array}},emits:["hide:modal","submit"],setup(e,{expose:t,emit:a}){const n=e,o=a,l=Be(),{t:s}=xe.useI18n({messages:l}),u=r.ref(n.errorMessage),i=r.ref();r.watch(()=>n.errorMessage,()=>u.value=n.errorMessage);const d=f=>{o("submit",f)};return t({resetForm:()=>i.value=void 0}),(f,c)=>(r.openBlock(),r.createBlock(r.unref(he.Modal),{class:"password-reset-email-modal",show:e.show,title:r.unref(s)("user.passwordReset.modal.placeholder.selectApp"),size:"auto","onOn:close":c[2]||(c[2]=p=>f.$emit("hide:modal"))},{default:r.withCtx(()=>[u.value?(r.openBlock(),r.createBlock(r.unref(he.Message),{key:0,message:u.value,"enable-close":"",severity:"danger",onClose:c[0]||(c[0]=p=>u.value=void 0)},null,8,["message"])):r.createCommentVNode("",!0),r.createVNode(r.unref(mn),{onSubmit:d},{default:r.withCtx(()=>[r.createVNode(r.unref(Ja),{modelValue:i.value,"onUpdate:modelValue":c[1]||(c[1]=p=>i.value=p),options:e.userAuthorizedApps,placeholder:r.unref(s)("user.passwordReset.modal.placeholder.selectApp"),name:"appId"},null,8,["modelValue","options","placeholder"]),r.createVNode(r.unref(he.ButtonElement),{label:r.unref(s)("user.passwordReset.modal.label.send"),loading:e.loading,type:"submit"},null,8,["label","loading"])]),_:1})]),_:1},8,["show","title"]))}}),bR={name:"SignInUpMenu"},$m=r.defineComponent({...bR,emits:["select:menu"],setup(e){const t=We.useConfig(),a=Be(),{t:n}=xe.useI18n({messages:a}),o={name:n("user.menu.signup"),route:"signup"},l={name:n("user.menu.signin"),route:"login"},s=r.computed(()=>t?.user?.routes?.signup.disabled?[l]:[l,o]);return(u,i)=>(r.openBlock(),r.createBlock(r.unref(he.ResponsiveMenu),{routes:s.value,onChangeRoute:i[0]||(i[0]=d=>u.$emit("select:menu"))},null,8,["routes"]))}}),wR={name:"UserMenu"},Kl=r.defineComponent({...wR,props:{userMenuItems:{type:Array,default:()=>[]}},emits:["select:menu"],setup(e,{emit:t}){const a=We.useConfig(),n=Ne(),{user:o}=bt.storeToRefs(n),{logout:l}=n,s=ut.useRouter(),u=t,i=async()=>{const d=a.user?.logoutRedirectRoute||"login";await l(),s.hasRoute(d)&&s.push({name:d}),u("select:menu")};return(d,f)=>r.unref(o)?(r.openBlock(),r.createBlock(Bm,{key:0,class:"user-menu",user:r.unref(o),"user-menu-items":e.userMenuItems,"onSelect:menu":f[0]||(f[0]=c=>d.$emit("select:menu")),onLogout:i},r.createSlots({_:2},[d.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(d.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user","user-menu-items"])):(r.openBlock(),r.createBlock($m,{key:1,class:"user-menu","onSelect:menu":f[1]||(f[1]=c=>d.$emit("select:menu"))}))}}),vR={className:"table-actions"},SR={name:"UsersTable"},_R=r.defineComponent({...SR,props:{apps:{default:()=>[],type:Array},columnsData:{default:()=>[],type:Array},dataActionMenu:{default:void 0,type:[Array,Function]},expiryMode:{default:void 0,type:String,validator:e=>["calendar","days"].includes(e)},id:{default:"users-table",type:String},initialSorting:{default:()=>[],type:Array},invitationModalTitle:{default:"",type:String},isLoading:Boolean,isServerTable:Boolean,persistState:{default:!0,type:Boolean},persistStateStorage:{default:"localStorage",type:String,validator:e=>["localStorage","sessionStorage"].includes(e)},roles:{default:()=>[],type:Array},showInviteAction:{default:!0,type:Boolean},submitLabel:{default:void 0,type:String},tableOptions:{default:()=>({}),type:Object},totalRecords:{default:0,type:Number},users:{default:()=>[],type:Array},visibleColumns:{default:()=>[],type:Array}},emits:["action:custom","fetch:users","on:closeInvitation","on:submitInvitation","update:request"],setup(e,{expose:t,emit:a}){const n=We.useConfig(),o=Be(),{locale:l,t:s}=xe.useI18n({messages:o}),u=Ne(),{addInvitation:i,disableUser:d,enableUser:f}=u,c=e,p=a,m=[{accessorKey:"email",enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.email")},{accessorFn:I=>I.name?.trim()?I.name:(I.givenName?I.givenName:"")+(I.middleNames?" "+I.middleNames:"")+(I.surname?" "+I.surname:"")||"-",accessorKey:"name",cell:({getValue:I})=>I(),enableColumnFilter:!0,enableSorting:!0,filterPlaceholder:"",header:s("user.table.defaultColumns.name")},{align:"center",accessorKey:"roles",cell:({getValue:I,row:B})=>{const $=B.original?.roles;if(Array.isArray($))return $.map((ae,me)=>r.h(he.BadgeComponent,{label:ae,severity:ae===Jr?"primary":"success",fullWidth:!0,key:ae+me}));const W=I();return r.h(he.BadgeComponent,{label:W,severity:W===Jr?"primary":"success",fullWidth:!0})},enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.roles"),meta:{filterVariant:"multiselect",filterOptions:[{value:Jr,label:s("user.table.role.admin")},{value:ou,label:s("user.table.role.superadmin")},{value:lu,label:s("user.table.role.user")}]}},{accessorKey:"signedUpAt",header:s("user.table.defaultColumns.signedUpAt"),dataType:"date",enableColumnFilter:!0,enableSorting:!0,meta:{filterVariant:"dateRange",serverFilterFn:"between"}},{align:"center",accessorKey:"disabled",cell:({row:I})=>r.h(he.BadgeComponent,{label:I.original.disabled?s("user.table.status.disabled"):s("user.table.status.enabled"),severity:I.original.disabled?"danger":"success"}),enableColumnFilter:!0,enableSorting:!0,header:s("user.table.defaultColumns.status"),meta:{filterVariant:"select",filterOptions:[{label:s("user.table.status.enabled"),value:!1},{label:s("user.table.status.disabled"),value:!0}]}}],y=r.ref(!1),h=r.toRef(u.user),g=r.computed(()=>{const I=[{confirmationOptions:{body:s("user.table.confirmation.enableUser.message"),header:s("user.table.confirmation.header")},disabled:B=>!B.disabled,display:B=>B.id!==h.value?.id,icon:"pi pi-check",key:"enableUser",label:s("user.table.actions.enableUser"),requireConfirmationModal:!0},{class:"danger",confirmationOptions:{body:s("user.table.confirmation.disableUser.message"),header:s("user.table.confirmation.header")},disabled:B=>!!B.disabled,display:B=>B.id!==h.value?.id,icon:"pi pi-times",key:"disableUser",label:s("user.table.actions.disableUser"),requireConfirmationModal:!0}];return c.dataActionMenu?typeof c.dataActionMenu=="function"?c.dataActionMenu(I):c.dataActionMenu:I}),b=r.computed(()=>[...m.map(I=>{const B=c.columnsData.find($=>$.accessorKey===I.accessorKey);return B?{...I,...B}:I}),...c.columnsData.filter(I=>!m.some(B=>B.accessorKey===I.accessorKey))]),w=I=>{switch(I.action){case"enableUser":C(I.data?.id);break;case"disableUser":k(I.data?.id);break;default:p("action:custom",I);break}},v=()=>{y.value=!1,p("on:closeInvitation")},k=async I=>{await d(I,n.apiBaseUrl).then(async B=>{B?.data?.status===uu?(p("fetch:users"),Pe.emit("notify",{text:s("user.messages.disable.success"),type:"success"})):Pe.emit("notify",{text:s("user.messages.disable.error"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.messages.disable.error"),type:"error"})})},C=async I=>{await f(I,n.apiBaseUrl).then(async B=>{B?.data?.status===uu?(p("fetch:users"),Pe.emit("notify",{text:s("user.messages.enable.success"),type:"success"})):Pe.emit("notify",{text:s("user.messages.enable.error"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.messages.enable.error"),type:"error"})})},A=async I=>{await i(I,n.apiBaseUrl).then(B=>{B&&Pe.emit("notify",{text:s("user.invitation.messages.invite.success"),type:"success"})}).catch(()=>{Pe.emit("notify",{text:s("user.invitation.messages.invite.error"),type:"error"})}),y.value=!1},E=I=>{p("update:request",I)};return t({showModal:y}),(I,B)=>(r.openBlock(),r.createBlock(r.unref(Ki),r.mergeProps(e.tableOptions,{id:e.id,"columns-data":b.value,data:e.users,"data-action-menu":g.value,"empty-table-message":r.unref(s)("user.table.emptyMessage"),"initial-sorting":e.initialSorting,"is-loading":e.isLoading,"is-server-table":e.isServerTable,locale:String(r.unref(l)),"pagination-options":{pageInputLabel:r.unref(s)("user.table.pagination.pageInputLabel"),itemsPerPageControlLabel:r.unref(s)("user.table.pagination.rowsPerPage")},"persist-state":e.persistState,"persist-state-storage":e.persistStateStorage,"total-records":e.totalRecords,"visible-columns":e.visibleColumns,class:"table-users","actions-mode":"dropdown","onAction:select":w,"onUpdate:request":E}),r.createSlots({_:2},[e.showInviteAction?{name:"toolbar",fn:r.withCtx(()=>[r.createElementVNode("div",vR,[r.createVNode(r.unref(he.ButtonElement),{label:r.unref(s)("user.table.inviteUser"),onClick:B[0]||(B[0]=$=>y.value=!0)},null,8,["label"]),r.createVNode(Xi,{apps:e.apps,"expiry-mode":e.expiryMode,roles:e.roles,show:y.value,"submit-label":e.submitLabel,title:e.invitationModalTitle,"onOn:close":v,onSubmit:A},null,8,["apps","expiry-mode","roles","show","submit-label","title"])])]),key:"0"}:void 0]),1040,["id","columns-data","data","data-action-menu","empty-table-message","initial-sorting","is-loading","is-server-table","locale","pagination-options","persist-state","persist-state-storage","total-records","visible-columns"]))}}),kR={name:"BasicLayout"},CR=r.defineComponent({...kR,props:{noLocaleSwitcher:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n,user:o}=We.useConfig(),l=r.ref(),s=r.computed(()=>a.value?o&&o?.routes?.home?o.routes.home:"profile":n&&n?.homeRoute?n.homeRoute:void 0),u=ut.useRouter(),i=u.getRoutes(),d=r.computed(()=>(n?.mainMenu??[]).filter(p=>{const m=u.getRoutes().find(y=>y.name===p.route);return m?a.value?!0:!m.meta?.authenticated:!1})),f=r.computed(()=>n?.userMenu||[]);return r.watch(()=>a.value,()=>Zl(u,i)),(c,p)=>(r.openBlock(),r.createBlock(r.unref(Qr.BasicLayout),{"aria-expanded":l.value?.expanded},{header:r.withCtx(()=>[r.createVNode(r.unref(Qr.AppHeader),{ref_key:"appHeader",ref:l,"no-locale-switcher":e.noLocaleSwitcher,"no-toggle":""},{logo:r.withCtx(()=>[r.createVNode(r.unref(Qr.Logo),{route:s.value},null,8,["route"])]),addon:r.withCtx(()=>[r.renderSlot(c.$slots,"addon")]),menu:r.withCtx(()=>[r.createVNode(r.unref(Qr.MainMenu),{class:"main-menu",routes:d.value,onClose:p[0]||(p[0]=m=>l.value.expanded=!1)},null,8,["routes"])]),userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":f.value,"onSelect:menu":p[1]||(p[1]=m=>l.value.expanded=!1)},r.createSlots({_:2},[c.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(c.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items"])):r.createCommentVNode("",!0)]),_:3},8,["no-locale-switcher"])]),default:r.withCtx(()=>[r.renderSlot(c.$slots,"default")]),_:3},8,["aria-expanded"]))}}),AR={name:"SidebarHeaderLayout"},RR=r.defineComponent({...AR,props:{collapsible:{default:!0,type:Boolean},noLocaleSwitcher:Boolean,noSidebar:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean},userMenuLocation:{default:"sidebar",type:String,validator:e=>["header","sidebar"].includes(e)}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n}=We.useConfig(),o=ut.useRouter(),l=o.getRoutes(),s=r.ref(),u=r.computed(()=>{let d=n?.mainMenu||[];return d=d.filter(f=>{const c=(m,y=!0)=>{const h=o.getRoutes().find(g=>g.name===m);return!(!h||!y&&h.meta?.authenticated)};return((m,y=!0)=>c(m.route,y)?!0:m.children?.some(h=>c(h.route,y))??!1)(f,!!a.value)}),d.map(f=>({hide:f?.hide,icon:f?.icon,name:f.name,routeName:f.route,shortName:f?.shortName,children:f.children?.map(c=>({hide:c?.hide,icon:c?.icon,name:c.name,routeName:c.route,shortName:c?.shortName}))}))}),i=r.computed(()=>n?.userMenu||[]);return r.watch(()=>a.value,()=>Zl(o,l)),(d,f)=>(r.openBlock(),r.createBlock(r.unref(Qr.SidebarHeaderLayout),{ref_key:"prefabsTechLayout",ref:s,collapsible:e.collapsible,menu:u.value,"no-locale-switcher":e.noLocaleSwitcher,"no-sidebar":e.noSidebar,"user-menu-location":e.userMenuLocation},{header:r.withCtx(()=>[r.renderSlot(d.$slots,"header")]),locales:r.withCtx(()=>[r.renderSlot(d.$slots,"locales")]),userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":i.value,"onSelect:menu":s.value?.onSelectMenu},r.createSlots({_:2},[d.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(d.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items","onSelect:menu"])):r.createCommentVNode("",!0)]),afterNavLinks:r.withCtx(()=>[r.renderSlot(d.$slots,"afterNavLinks")]),afterSidebarMenu:r.withCtx(()=>[r.renderSlot(d.$slots,"afterSidebarMenu")]),footer:r.withCtx(()=>[r.renderSlot(d.$slots,"footer")]),default:r.withCtx(()=>[r.renderSlot(d.$slots,"default")]),_:3},8,["collapsible","menu","no-locale-switcher","no-sidebar","user-menu-location"]))}}),MR={name:"SidebarOnlyLayout"},xR=r.defineComponent({...MR,props:{noLocaleSwitcher:Boolean,showUserMenu:{default:!0,required:!1,type:Boolean}},setup(e){const t=Ne(),{user:a}=bt.storeToRefs(t),{layout:n}=We.useConfig(),o=ut.useRouter(),l=o.getRoutes(),s=r.computed(()=>{let i=n?.mainMenu||[];return i=i.filter(d=>{const f=(p,m=!0)=>{const y=o.getRoutes().find(h=>h.name===p);return!(!y||!m&&y.meta?.authenticated)};return((p,m=!0)=>f(p.route,m)?!0:p.children?.some(y=>f(y.route,m))??!1)(d,!!a.value)}),i.map(d=>({hide:d?.hide,icon:d?.icon,name:d.name,routeName:d.route,shortName:d?.shortName,children:d.children?.map(f=>({hide:f?.hide,icon:f?.icon,name:f.name,routeName:f.route,shortName:f?.shortName}))}))}),u=r.computed(()=>n?.userMenu||[]);return r.watch(()=>a.value,()=>Zl(o,l)),(i,d)=>(r.openBlock(),r.createBlock(r.unref(Qr.SidebarOnlyLayout),{menu:s.value,"no-locale-switcher":e.noLocaleSwitcher},{userMenu:r.withCtx(()=>[e.showUserMenu?(r.openBlock(),r.createBlock(Kl,{key:0,"user-menu-items":u.value},r.createSlots({_:2},[i.$slots.userMenuTrigger?{name:"userMenuTrigger",fn:r.withCtx(()=>[r.renderSlot(i.$slots,"userMenuTrigger")]),key:"0"}:void 0]),1032,["user-menu-items"])):r.createCommentVNode("",!0)]),afterNavLinks:r.withCtx(()=>[r.renderSlot(i.$slots,"afterNavLinks")]),afterSidebarMenu:r.withCtx(()=>[r.renderSlot(i.$slots,"afterSidebarMenu")]),locales:r.withCtx(()=>[r.renderSlot(i.$slots,"locales")]),default:r.withCtx(()=>[r.renderSlot(i.$slots,"default")]),_:3},8,["menu","no-locale-switcher"]))}}),Nm=Symbol.for("dzangolab.vue-user.translations"),Pe=qm(),ER={install:(e,t)=>{if(tR(t.router,t.config?.user),t?.config?.user?.features?.authProvider!=="laravel-passport"&&Og(t.config),t?.config?.user?.features?.signUp?.emailVerification){const{getVerificationStatus:n,logout:o}=Ne();n().catch(l=>{l.status===ng&&o()})}Vg(t.config);const a=t?.translations?xe.prependMessages(Jl,t.translations):Jl;e.provide(Nm,a),e.provide("dzangolabVueUserTerms",t?.termsComponent),t&&t.notification&&Pe.on("notify",n=>{t.notification?.(n)})}},Be=()=>r.inject(Nm,Jl);be.AccountInfo=yi,be.BasicLayout=CR,be.ChangePassword=aR,be.ChangePasswordForm=bi,be.DropdownUserMenu=Bm,be.InvitationForm=Dm,be.InvitationModal=Xi,be.InvitationTable=gR,be.LoginForm=Bp,be.PasswordResetForm=Dp,be.PasswordResetRequestForm=$p,be.ProfileForm=wi,be.ProfilePage=oR,be.ProfileTabsPage=Op,be.ResetPasswordModal=yR,be.SidebarHeaderLayout=RR,be.SidebarOnlyLayout=xR,be.SignInUpMenu=$m,be.SignupForm=Nl,be.TermsAndConditions=Pp,be.UpdateEmailForm=Np,be.UpdateEmailModal=Tp,be.UserMenu=Kl,be.UsersTable=_R,be.client=ze,be.createRole=Rm,be.default=ER,be.deleteRole=Mm,be.emitter=Pe,be.getPermissions=xm,be.getRoles=Em,be.updateRolePermissions=Im,be.useTranslations=Be,be.userStore=Ne,Object.defineProperties(be,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,6 +1,7 @@
1
1
  import { Router } from "vue-router";
2
2
  import type { DzangolabVueUserConfig } from "./types";
3
- export declare const filterRoutes: (router: Router) => void;
3
+ import type { RouteRecord } from "vue-router";
4
+ export declare const filterRoutes: (router: Router, routes?: RouteRecord[]) => void;
4
5
  declare const updateRouter: (router: Router, userConfig?: DzangolabVueUserConfig) => void;
5
6
  export default updateRouter;
6
7
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAepC,OAAO,KAAK,EACV,sBAAsB,EAGvB,MAAM,SAAS,CAAC;AA8HjB,eAAO,MAAM,YAAY,WAAY,MAAM,SA0B1C,CAAC;AAqFF,QAAA,MAAM,YAAY,WAAY,MAAM,eAAe,sBAAsB,SAQxE,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAepC,OAAO,KAAK,EACV,sBAAsB,EAGvB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAa,WAAW,EAAkB,MAAM,YAAY,CAAC;AA6HzE,eAAO,MAAM,YAAY,WAAY,MAAM,WAAW,WAAW,EAAE,SA8BlE,CAAC;AAqFF,QAAA,MAAM,YAAY,WAAY,MAAM,eAAe,sBAAsB,SAQxE,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prefabs.tech/vue3-user",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Vue3 User Plugin",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,12 +23,12 @@
23
23
  "devDependencies": {
24
24
  "@prefabs.tech/eslint-config": "0.2.0",
25
25
  "@prefabs.tech/tsconfig": "0.2.0",
26
- "@prefabs.tech/vue3-config": "0.24.0",
27
- "@prefabs.tech/vue3-form": "0.24.0",
28
- "@prefabs.tech/vue3-i18n": "0.24.0",
29
- "@prefabs.tech/vue3-layout": "0.24.0",
30
- "@prefabs.tech/vue3-tanstack-table": "0.24.0",
31
- "@prefabs.tech/vue3-ui": "0.24.0",
26
+ "@prefabs.tech/vue3-config": "0.24.1",
27
+ "@prefabs.tech/vue3-form": "0.24.1",
28
+ "@prefabs.tech/vue3-i18n": "0.24.1",
29
+ "@prefabs.tech/vue3-layout": "0.24.1",
30
+ "@prefabs.tech/vue3-tanstack-table": "0.24.1",
31
+ "@prefabs.tech/vue3-ui": "0.24.1",
32
32
  "@iconify/vue": "4.3.0",
33
33
  "@types/node": "24.10.1",
34
34
  "@typescript-eslint/eslint-plugin": "8.24.1",
@@ -64,10 +64,10 @@
64
64
  "zod": "3.24.2"
65
65
  },
66
66
  "peerDependencies": {
67
- "@prefabs.tech/vue3-config": "0.24.0",
68
- "@prefabs.tech/vue3-i18n": "0.24.0",
69
- "@prefabs.tech/vue3-layout": "0.24.0",
70
- "@prefabs.tech/vue3-ui": "0.24.0",
67
+ "@prefabs.tech/vue3-config": "0.24.1",
68
+ "@prefabs.tech/vue3-i18n": "0.24.1",
69
+ "@prefabs.tech/vue3-layout": "0.24.1",
70
+ "@prefabs.tech/vue3-ui": "0.24.1",
71
71
  "@vee-validate/i18n": ">=4.7.1",
72
72
  "@vee-validate/rules": ">=4.7.1",
73
73
  "@vueuse/core": ">=9.4.0",