1import{Oi as e,Ti as t,Va as n,js as r,xa as i,yi as a,za as o}from"./composables.js";import{Aa as s,Ba as c,Go as l,Ia as u,Io as d,La as f,Ma as p,Na as m,No as ee,Pa as h,To as g,Vo as _,Wa as v,ao as y,bo as b,es as x,ho as te,ja as S,jo as C,la as w,oa as T,qa as E,uo as D,vo as O,za as k}from"./assets.js";import{d as ne,f as re,m as ie,p as ae}from"./vendor-vuetify.js";v(),_();var A=k({props:{modelValue:{type:Boolean,default:!1},isInEditModeSomewhere:{type:Boolean,default:!1},isInCheckout:{type:Boolean,default:!1},fixedExpansion:{type:Boolean,default:!1},isNew:{type:Boolean,default:!1},saveLabel:{type:String,default:``},section:{type:String,default:``},saveDisabled:{type:Boolean,default:!1}},setup(t,{emit:n}){let{hasAdminWriteAccess:r}=e(),i=l({loading:!1,editState:t.modelValue});O(()=>t.modelValue,()=>{i.editState=t.modelValue});let a=c()?.appContext.config.globalProperties;function o(e){e.stopPropagation(),t.isInEditModeSomewhere?a?.$modalDialog.show({title:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.title`),warningText:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.warningText`),cancelText:w.global.t(`common.cancel`),confirmText:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.confirmText`),withWarning:!0,withWarningTriangleIcon:!0,onConfirm:async()=>{n(`abort`,{resetAll:!0}),i.editState=!0,n(`update:modelValue`,!0)}}):(i.editState=!0,n(`update:modelValue`,!0))}function s(e){e.stopPropagation(),i.editState=!1,n(`abort`),n(`update:modelValue`,!1)}function u(e){i.loading=!1,e&&(i.editState=!1,n(`update:modelValue`,!1))}function d(e){e.stopPropagation(),i.loading=!0,n(`save`,{onFinish:u})}return{state:i,onEditClick:o,onAbortClick:s,onSaveClick:d,hasAdminWriteAccess:r}}});v(),g();var j={class:`toggle-edit-save`},M={key:1,class:`d-flex`},N={key:2},P={key:2};function F(e,r,a,s,c,l){return y(),h(`div`,j,[S(`div`,{class:C({"bg-cardBackground":!0,"mr-6":!e.state.editState&&!e.fixedExpansion})},[f(t,{"hide-on-leave":``},{default:b(()=>[e.state.loading?(y(),p(o,{key:0,indeterminate:``})):e.state.editState&&!e.isNew?(y(),h(`div`,M,[e.$vuetify.display.smAndUp?(y(),p(i,{key:0,variant:`text`,class:`button-underlined mr-3`,onClick:e.onAbortClick},{default:b(()=>[f(n,{size:`14`,class:`mr-1`},{default:b(()=>[u(`$closeicon`)]),_:1}),S(`span`,null,d(e.$t(`common.cancel`)),1)]),_:1},8,[`onClick`])):(y(),p(i,{key:1,variant:`text`,icon:``,class:`mr-3`,onClick:e.onAbortClick},{default:b(()=>[f(n,{size:`14`,class:`mr-1 text-typePrimary`},{default:b(()=>[u(`$closeicon`)]),_:1})]),_:1},8,[`onClick`])),e.isInCheckout?m(``,!0):(y(),h(`div`,N,[e.$vuetify.display.smAndUp?(y(),p(i,{key:0,variant:`text`,class:`button-underlined`,disabled:e.saveDisabled,"data-testid":e.section?e.section+`SaveButton`:void 0,onClick:e.onSaveClick},{default:b(()=>[f(n,{size:`16`,class:`mr-1`},{default:b(()=>[u(`$checkmarkicon`)]),_:1}),S(`span`,null,d(e.saveLabel||e.$t(`common.save`)),1)]),_:1},8,[`disabled`,`data-testid`,`onClick`])):(y(),p(i,{key:1,variant:`text`,icon:``,class:``,disabled:e.saveDisabled,onClick:e.onSaveClick},{default:b(()=>[f(n,{size:`14`,class:`mr-1 text-typePrimary`},{default:b(()=>[u(`$checkmarkicon`)]),_:1})]),_:1},8,[`disabled`,`onClick`]))]))])):(y(),h(`div`,P,[(e.hasAdminWriteAccess||e.isInCheckout)&&!e.isNew?(y(),p(i,{key:0,icon:`$editpenicon`,"data-testid":e.section?e.section+`EditButton`:void 0,onClick:e.onEditClick},null,8,[`data-testid`,`onClick`])):m(``,!0)]))]),_:1})],2)])}var I=T(A,[[`render`,F]]);v(),_(),g();var L=[`data-testid`,`data-expanded`],R={key:0,class:`upgrade-button pos-abs`},z={class:`d-flex align-center ga-2`},B={key:0,class:`maintained-by-hr bg-baseDefault rounded-pill px-3 py-1 text-body-2`,"data-testid":`maintainedByHrBadge`},V={key:2,class:`ml-2 d-flex`},H={key:0},U={class:`plan-badge`},W={key:1,class:`d-flex`},G={key:0,class:`plan-badge`},K={key:1,class:`plan-badge`},q={key:2,class:`plan-badge`},oe={key:3,class:`ml-2 d-flex`},se={key:0,class:`plan-badge`},J=T(k({__name:`UserSettingsExpansion`,props:E({title:{type:String},hideEditButton:{type:Boolean,default:!1},maintainedByHr:{type:Boolean,default:!1},isExpanded:{type:Boolean,default:!1},titleUppercase:{type:Boolean,default:!1},isInEditModeSomewhere:{type:Boolean,default:!1},onlyAvailableInPlan:{type:String,default:``},isProfileFeature:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},openOnQueryValue:{type:String,default:null},needsAbsenceManagement:{type:Boolean,default:!1},needsTimeTracking:{type:Boolean,default:!1},needsPersonnelFile:{type:Boolean,default:!1},needsBranding:{type:Boolean,default:!1},needsPayedModule:{type:Boolean,default:!1},fixedExpansion:{type:Boolean,default:!1},isNew:{type:Boolean,default:!1},isEnabled:{type:Boolean,default:!1},neededFeature:{type:String,default:``},saveLabel:{type:String,default:``},saveDisabled:{type:Boolean,default:!1},section:{type:String,default:``},testId:{type:String,default:``}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:E([`save`,`abort`],[`update:modelValue`]),setup(t,{emit:o}){let g=te(t,`modelValue`),_=o,v=t,{route:T}=a(),{canAccessSubscription:E}=r(),{currentSubscription:k,hasAbsenceManagement:A,hasTimeTracking:j,hasPersonnelFile:M,isProfessionalPlan:N,isStandardPlanOrAbove:P,isStarterPlanOrAbove:F}=e(),J=l({edit:g.value,expandedPanels:[],isProfileFeature:!1}),ce=s(()=>(J.expandedPanels?.length??0)>0),Y=c()?.appContext.config.globalProperties;O(()=>g.value,()=>{J.edit=g.value}),O(()=>J.expandedPanels,()=>{J.expandedPanels||(J.edit=!1,g.value=J.edit,_(`abort`))}),O(()=>v.isExpanded,()=>{v.isExpanded?J.expandedPanels=[0]:J.expandedPanels=void 0},{immediate:!0}),O(()=>v.isProfileFeature,()=>{v.isProfileFeature&&(J.isProfileFeature=!0)},{immediate:!0}),O(()=>T.value,()=>{if(T.value){let e=T.value.query.activeTab,t=T.value.query.section;e&&t&&t===v.openOnQueryValue&&(J.expandedPanels=[0])}},{immediate:!0});function le(){g.value=J.edit}function ue(e){_(`abort`,e)}function X(e){_(`save`,e)}O(()=>J.edit,()=>{J.edit&&(J.expandedPanels?.length??0)===0&&(J.expandedPanels=[0])});let de=s(()=>
1{if(v.isProfileFeature){if(v.needsAbsenceManagement&&!A.value||v.needsTimeTracking&&!j.value)return!0;if(v.onlyAvailableInPlan===`starter`&&F.value||v.onlyAvailableInPlan===`standard`&&P.value)return!1}return v.onlyAvailableInPlan?!M.value&&!v.isEnabled||!(v.onlyAvailableInPlan===`starter`&&F.value||v.onlyAvailableInPlan===`standard`&&P.value||v.onlyAvailableInPlan===`professional`&&N.value):!1}),Z=s(()=>k.value.isLegacy()?de.value:v.needsAbsenceManagement?v.needsPayedModule?!k.value.hasPayedModule(`absence_management`)&&!k.value.isHidden(`absence_management`):!k.value.hasModule(`absence_management`):v.needsTimeTracking?v.needsPayedModule?!k.value.hasPayedModule(`time_tracking`)&&!k.value.isHidden(`time_tracking`):!k.value.hasModule(`time_tracking`):v.needsPersonnelFile?!k.value.hasPayedModule(`personnel_file`):v.needsBranding?!k.value.hasExtraOption(`branding`):v.needsPayedModule?!k.value.hasActiveSubscription():!1);async function Q(){let e,t,n;v.isProfileFeature?(e=v.onlyAvailableInPlan,t=`absence-management`,n=``):v.onlyAvailableInPlan===`starter`?(e=`starter`,v.isEnabled||(t=`personnel-file`,n=`personnel-file`)):(e=v.onlyAvailableInPlan,v.isEnabled||(t=`personnel-file`,n=`personnel-file`)),v.needsPayedModule&&!k.value.hasActiveSubscription()&&(t=``,n=``),v.needsAbsenceManagement&&(!A.value||k.value.isFreemium(`absence_management`))&&(t=`absence-management`,n=``),v.needsTimeTracking&&(!A.value||k.value.isFreemium(`time_tracking`))&&(t=`time-tracking`,n=``),v.needsPersonnelFile&&(!M.value||k.value.isFreemium(`personnel_file`))&&(t=`personnel-file`,n=``),v.needsBranding&&!k.value.hasExtraOption(`branding`)&&(t=`branding`,n=``),Y?.$upgradeDialog.show({targetPlan:e,targetModule:t,targetFeature:n,targetFeatures2025:v.neededFeature})}async function $(){Z.value&&!E.value&&Y?.$upgradeDialog.show({}),Z.value&&E.value&&(v.isInEditModeSomewhere?Y?.$modalDialog.show({title:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.title`),warningText:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.warningText`),cancelText:w.global.t(`common.cancel`),confirmText:w.global.t(`admin.user.personnelFile.changesWillNotBeSavedDialog.confirmText`),withWarning:!0,withWarningTriangleIcon:!0,onConfirm:async()=>{await Q()}}):await Q())}return(e,r)=>(y(),h(`div`,{class:`user-settings-expansion py-0 mb-5`,"data-testid":t.testId||void 0,"data-expanded":x(ce)?`true`:void 0},[x(Z)?(y(),h(`div`,R,[f(i,{size:`small`,variant:`outlined`,onClick:$},{default:b(()=>[u(d(x(k).hasActiveSubscription()?e.$t(`common.upgrade`):e.$t(`subscriptions.upgradeBundle`)),1)]),_:1})])):m(``,!0),f(ne,{modelValue:x(J).expandedPanels,"onUpdate:modelValue":r[1]||(r[1]=e=>x(J).expandedPanels=e),density:`compact`,class:`user-settings-expansion__panels pos-rel`},{default:b(()=>[f(re,{disabled:x(Z),class:C({"cursor-pointer":x(Z),"upgrade-needed":x(Z)}),onClick:$},{default:b(()=>[t.hideTitle?m(``,!0):(y(),p(ae,{key:0,class:C({"px-5":!0,"cursor-default":t.fixedExpansion}),"hide-actions":t.fixedExpansion,readonly:t.fixedExpansion},{default:b(()=>[S(`div`,{style:ee([e.$vuetify.display.xs?`max-width: 20rem`:``])},[S(`div`,{class:C({"text-h5":!0,"text-capitalize":t.titleUppercase,"text-truncate":e.$vuetify.display.xs})},[S(`div`,z,[D(e.$slots,`title-image`,{},void 0,!0),D(e.$slots,`title`,{},void 0,!0),u(` `+d(t.title)+` `,1),D(e.$slots,`title-append`,{},void 0,!0)])],2)],4),t.maintainedByHr?(y(),h(`div`,B,d(e.$t(`userProfile.maintainedByHr`)),1)):m(``,!0),t.hideEditButton?m(``,!0):(y(),p(I,{key:1,modelValue:x(J).edit,"onUpdate:modelValue":[r[0]||(r[0]=e=>x(J).edit=e),le],onAbort:ue,onSave:X,"is-in-edit-mode-somewhere":t.isInEditModeSomewhere,"fixed-expansion":t.fixedExpansion,"is-new":t.isNew,section:t.section,"save-label":t.saveLabel,"save-disabled":t.saveDisabled},null,8,[`modelValue`,`is-in-edit-mode-somewhere`,`fixed-expansion`,`is-new`,`section`,`save-label`,`save-disabled`])),x(k).isLegacy()?(y(),h(`div`,V,[!x(M)&&t.onlyAvailableInPlan.length>0&&!t.isProfileFeature&&!t.isEnabled||t.needsAbsenceManagement&&!x(A)?(y(),h(`div`,H,[S(`div`,U,[f(n,null,{default:b(()=>[u(`$paywallLockIcon`)]),_:1})])])):(y(),h(`div`,W,[t.onlyAvailableInPlan===`starter`&&!x(F)?(y(),h(`div`,G,[f(n,null,{default:b(()=>[u(`$paywallLockIcon`)]),_:1})])):m(``,!0),t.onlyAvailableInPlan===`standard`&&!x(P)?(y(),h(`div`,K,[f(n,null,{default:b(()=>[u(`$paywallLockIcon`)]),_:1})])):m(``,!0),t.onlyAvailableInPlan===`professional`&&!x(N)?(y(),h(`div`,q,[f(n,null,{default:b(()=>[u(`$paywallLockIcon`)]),_:1})])):m(``,!0)]))])):(y(),h(`div`,oe,[x(Z)?(y(),h(`div`,se,[f(n,null,{default:b(()=>[u(`$paywallLockIcon`)]),_:1})])):m(``,!0)]))]),_:3},8,[`class`,`hide-actions`,`readonly`])),f(ie,null,{default:b(()=>[D(e.$slots,`default`,{},void 0,!0)]),_:3})]),_:3},8,[`disabled`,`class`])]),_:3},8,[`modelValue`])],8,L))}}),[[`__scopeId`,`data-v-393f15de`]]);export{I as n,J as t}; 2//# sourceMappingURL=UserSettingsExpansion.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.