import{N as y}from"./NcDateTimePicker-CijBajMH.chunk.mjs";import{u}from"./useModelMigration-EhAWvqDD-wVDp4GUR.chunk.mjs";import{aw as g,n,ac as o,r as p,ax as v,k as _,a as r,a1 as $}from"./index-BMeBqg0T.chunk.mjs";import{l as w,ae as k}from"./vue.runtime.esm-Ct3_M7aQ.chunk.mjs";import{d as C}from"./index-CeB-M9CM.chunk.mjs";import{l as S}from"./NcAvatar-YSp2ORHc-k3rtAvRh.chunk.mjs";import{N as d,a as N}from"./NcTextField-o_8gWurX-D9H3ZKW0.chunk.mjs";import{N as x}from"./NcSelect-CjUzohn5-BzxyFHzp.chunk.mjs";import{A as P}from"./NcActionButton-CuVNJJtW-78GF8FR5.chunk.mjs";const T=["date","datetime-local","month","time","week"],D={name:"NcDateTimePickerNative",inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{value:{type:Date,default:void 0},modelValue:{type:Date,default:null},id:{type:String,default:()=>"date-time-picker-"+o(),validator:e=>e.trim()!==""},type:{type:String,default:"date",validate:e=>T.includes(e)},label:{type:String,default:"Please choose a date"},min:{type:[Date,Boolean],default:null},max:{type:[Date,Boolean],default:null},hideLabel:{type:Boolean,default:!1},inputClass:{type:[Object,String],default:""}},emits:["input","update:modelValue","update:model-value"],setup(){return{model:u("value","input")}},computed:{formattedValue(){return this.formatValue(this.model)},formattedMin(){return this.min?this.formatValue(this.min):!1},formattedMax(){return this.max?this.formatValue(this.max):!1},listeners(){return{...this.$listeners,input:e=>{if(isNaN(e.target.valueAsNumber))this.model=null;else if(this.type==="time"){const t=e.target.value;if(this.model===""){const{yyyy:a,MM:i,dd:s}=this.getReadableDate(new Date);this.model=new Date(`${a}-${i}-${s}T${t}`)}else{const{yyyy:a,MM:i,dd:s}=this.getReadableDate(this.model);this.model=new Date(`${a}-${i}-${s}T${t}`)}}else if(this.type==="month"){const t=(new Date(e.target.value).getMonth()+1).toString().padStart(2,"0");if(this.model===""){const{yyyy:a,dd:i,hh:s,mm:l}=this.getReadableDate(new Date);this.model=new Date(`${a}-${t}-${i}T${s}:${l}`)}else{const{yyyy:a,dd:i,hh:s,mm:l}=this.getReadableDate(this.model);this.model=new Date(`${a}-${t}-${i}T${s}:${l}`)}}else{const t=new Date(e.target.valueAsNumber).getTimezoneOffset()*1e3*60,a=e.target.valueAsNumber+t;this.model=new Date(a)}}}}},methods:{getReadableDate(e){if(e instanceof Date){const t=e.getFullYear().toString().padStart(4,"0"),a=(e.getMonth()+1).toString().padStart(2,"0"),i=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return{yyyy:t,MM:a,dd:i,hh:s,mm:l}}},formatValue(e){if(e instanceof Date){const{yyyy:t,MM:a,dd:i,hh:s,mm:l}=this.getReadableDate(e);if(this.type==="datetime-local")return`${t}-${a}-${i}T${s}:${l}`;if(this.type==="date")return`${t}-${a}-${i}`;if(this.type==="month")return`${t}-${a}`;if(this.type==="time")return`${s}:${l}`;if(this.type==="week"){const h=new Date(t,0,1),f=Math.floor((e-h)/(24*60*60*1e3)),b=Math.ceil(f/7);return`${t}-W${b}`}}else return""}}};var M=function(){var e=this,t=e._self._c;return t("div",{staticClass:"native-datetime-picker"},[t("label",{staticClass:"native-datetime-picker--label",class:{"hidden-visually":e.hideLabel},attrs:{for:e.id}},[e._v(" "+e._s(e.label)+" ")]),t("input",e._g(e._b({staticClass:"native-datetime-picker--input",class:e.inputClass,attrs:{id:e.id,type:e.type,min:e.formattedMin,max:e.formattedMax},domProps:{value:e.formattedValue}},"input",e.$attrs,!1),e.listeners))])},A=[],B=n(D,M,A,!1,null,"9e776556");const m=B.exports;g(m);const F={name:"EyeIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var I=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon eye-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(a){return e.$emit("click",a)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},L=[],V=n(F,I,L,!1,null,null);const H=V.exports,O={name:"EyeOffIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var z=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon eye-off-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(a){return e.$emit("click",a)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},E=[],R=n(O,z,E,!1,null,null);const j=R.exports;p(v);const c=w("core","capabilities",{}).password_policy||null,U=new Set(Object.keys(d.props)),q={name:"NcPasswordField",components:{NcInputField:d,Eye:H,EyeOff:j},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{" ":{},...d.props,showTrailingButton:{type:Boolean,default:!0},trailingButtonLabel:void 0,checkPasswordStrength:{type:Boolean,default:!1},minlength:{type:Number,default:0},maxlength:{type:Number,default:null},asText:{type:Boolean,default:!1}},emits:["valid","invalid","update:value","update:modelValue","update:model-value"],setup(){return{model:u("value","update:value")}},data(){return{isPasswordHidden:!0,internalHelpMessage:"",isValid:null}},computed:{computedError(){return this.error||this.isValid===!1},computedSuccess(){return this.success||this.isValid===!0},computedHelperText(){return this.helperText.length>0?this.helperText:this.internalHelpMessage},rules(){const{minlength:e}=this;return{minlength:e??c?.minLength}},trailingButtonLabelPassword(){return this.isPasswordHidden?r("Show password"):r("Hide password")},propsAndAttrsToForward(){return{...this.$attrs,...Object.fromEntries(Object.entries(this.$props).filter(([e])=>U.has(e)))}}},watch:{model(e){if(this.checkPasswordStrength){if(c===null)return;this.checkPassword(e)}}},methods:{focus(){this.$refs.inputField.focus()},select(){this.$refs.inputField.select()},handleInput(e){this.model=e.target.value},togglePasswordVisibility(){this.isPasswordHidden=!this.isPasswordHidden},checkPassword:C(async function(e){try{const{data:t}=await _.post(k("apps/password_policy/api/v1/validate"),{password:e});if(this.isValid=t.ocs.data.passed,t.ocs.data.passed){this.internalHelpMessage=r("Password is secure"),this.$emit("valid");return}this.internalHelpMessage=t.ocs.data.reason,this.$emit("invalid")}catch(t){S.error("Password policy returned an error",t)}},500)}};var Z=function(){var e=this,t=e._self._c;return t("NcInputField",e._g(e._b({ref:"inputField",attrs:{type:e.isPasswordHidden&&!e.asText?"password":"text","trailing-button-label":e.trailingButtonLabelPassword,"helper-text":e.computedHelperText,error:e.computedError,success:e.computedSuccess,minlength:e.rules.minlength,"input-class":{"password-field__input--secure-text":e.isPasswordHidden&&e.asText}},on:{"trailing-button-click":e.togglePasswordVisibility,input:e.handleInput},scopedSlots:e._u([e.$scopedSlots.icon||e.$slots.default||e.$scopedSlots.default?{key:"icon",fn:function(){return[e._t("icon",function(){return[e._t("default")]})]},proxy:!0}:null,{key:"trailing-button-icon",fn:function(){return[e.isPasswordHidden?t("Eye",{attrs:{size:18}}):t("EyeOff",{attrs:{size:18}})]},proxy:!0}],null,!0)},"NcInputField",e.propsAndAttrsToForward,!1),e.$listeners))},W=[],Y=n(q,Z,W,!1,null,"09fb8faa");const G=Y.exports;p($);const J={name:"NcActionInput",components:{NcDateTimePicker:y,NcDateTimePickerNative:m,NcPasswordField:G,NcSelect:x,NcTextField:N},mixins:[P],model:{prop:"modelValue",event:"update:modelValue"},props:{id:{type:String,default:()=>"action-"+o(),validator:e=>e.trim()!==""},inputId:{type:String,default:()=>"action-input-"+o(),validator:e=>e.trim()!==""},icon:{type:String,default:""},type:{type:String,default:"text",validator(e){return["date","datetime-local","month","multiselect","number","password","search","tel","text","time","url","week","color","email"].indexOf(e)>-1}},idNativeDateTimePicker:{type:String,default:"date-time-picker_id"},isNativePicker:{type:Boolean,default:!1},label:{type:String,default:null},labelOutside:{type:Boolean,default:!0},value:{type:[String,Date,Number,Array],default:void 0},modelValue:{type:[String,Date,Number,Array],default:""},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:""},ariaHidden:{type:Boolean,default:null},showTrailingButton:{type:Boolean,default:!0},trailingButtonLabel:{type:String,default:r("Submit")}},emits:["input","submit","change","update:value","update:modelValue","update:model-value"],setup(){return{model:u("value","update:value")}},computed:{isIconUrl(){try{return new URL(this.icon)}catch{return!1}},isMultiselectType(){return this.type==="multiselect"},nativeDatePickerType(){switch(this.type){case"date":case"month":case"time":case"week":case"datetime-local":return this.type}return!1},datePickerType(){if(!this.isNativePicker)switch(this.type){case"date":case"month":case"time":return this.type;case"datetime-local":return"datetime"}return!1},isFocusable(){return!this.disabled}},methods:{onLeave(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput(e){this.$emit("input",e),this.model=e.target?e.target.value:e},onSubmit(e){if(e.preventDefault(),e.stopPropagation(),!this.disabled)this.$emit("submit",e);else return!1},onChange(e){this.$emit("change",e)}}};var K=function(){var e=this,t=e._self._c;return t("li",{staticClass:"action",class:{"action--disabled":e.disabled}},[t("span",{staticClass:"action-input",class:{"action-input-picker--disabled":e.disabled,"action-input--visible-label":e.labelOutside&&e.label},on:{mouseleave:e.onLeave}},[t("span",{staticClass:"action-input__icon-wrapper"},[e._t("icon",function(){return[t("span",{staticClass:"action-input__icon",class:[e.isIconUrl?"action-input__icon--url":e.icon],style:{backgroundImage:e.isIconUrl?`url(${e.icon})`:null},attrs:{"aria-hidden":"true"}})]})],2),t("form",{ref:"form",staticClass:"action-input__form",attrs:{disabled:e.disabled},on:{submit:function(a){return a.preventDefault(),e.onSubmit.apply(null,arguments)}}},[t("div",{staticClass:"action-input__container"},[e.label&&e.labelOutside?t("label",{staticClass:"action-input__text-label",class:{"action-input__text-label--hidden":!e.labelOutside},attrs:{for:e.inputId}},[e._v(" "+e._s(e.label)+" ")]):e._e(),t("div",{staticClass:"action-input__input-container"},[e.datePickerType?t("NcDateTimePicker",e._b({ref:"datetimepicker",staticClass:"action-input__datetimepicker",staticStyle:{"z-index":"99999999999"},attrs:{value:e.model,placeholder:e.text,disabled:e.disabled,type:e.datePickerType,"input-class":["mx-input",{focusable:e.isFocusable}]},on:{input:e.onInput,change:e.onChange}},"NcDateTimePicker",e.$attrs,!1)):e.isNativePicker?t("NcDateTimePickerNative",e._b({staticClass:"action-input__datetimepicker",attrs:{id:e.idNativeDateTimePicker,value:e.model,type:e.nativeDatePickerType,"input-class":{focusable:e.isFocusable}},on:{"update:model-value":function(a){e.model=a},change:function(a){return e.$emit("change",a)}}},"NcDateTimePickerNative",e.$attrs,!1)):e.isMultiselectType?t("NcSelect",e._g(e._b({staticClass:"action-input__multi",attrs:{value:e.model,placeholder:e.text,disabled:e.disabled,"append-to-body":e.$attrs.appendToBody||e.$attrs["append-to-body"]||!1,"input-class":{focusable:e.isFocusable}}},"NcSelect",e.$attrs,!1),e.$listeners)):e.type==="password"?t("NcPasswordField",e._g(e._b({attrs:{id:e.inputId,value:e.model,label:e.label,"label-outside":!e.label||e.labelOutside,placeholder:e.text,disabled:e.disabled,"input-class":{focusable:e.isFocusable},"show-trailing-button":e.showTrailingButton&&!e.disabled},on:{input:e.onInput,change:e.onChange}},"NcPasswordField",e.$attrs,!1),e.$listeners)):e.type==="color"?t("div",{staticClass:"action-input__container"},[e.label&&e.type==="color"?t("label",{staticClass:"action-input__text-label",class:{"action-input__text-label--hidden":!e.labelOutside},attrs:{for:e.inputId}},[e._v(" "+e._s(e.label)+" ")]):e._e(),t("div",{staticClass:"action-input__input-container"},[t("NcColorPicker",e._g(e._b({staticClass:"colorpicker__trigger",attrs:{id:"inputId",value:e.model},on:{"update:model-value":e.onInput,submit:function(a){return e.$refs.form.requestSubmit()}}},"NcColorPicker",e.$attrs,!1),e.$listeners),[t("button",{staticClass:"colorpicker__preview",class:{focusable:e.isFocusable},style:{"background-color":e.model}})])],1)]):t("NcTextField",e._g(e._b({attrs:{id:e.inputId,value:e.model,label:e.label,"label-outside":!e.label||e.labelOutside,placeholder:e.text,disabled:e.disabled,"input-class":{focusable:e.isFocusable},type:e.type,"trailing-button-icon":"arrowRight","trailing-button-label":e.trailingButtonLabel,"show-trailing-button":e.showTrailingButton&&!e.disabled},on:{"trailing-button-click":function(a){return e.$refs.form.requestSubmit()},input:e.onInput,change:e.onChange}},"NcTextField",e.$attrs,!1),e.$listeners))],1)])])])])},Q=[],X=n(J,K,Q,!1,null,"d174eb12");const de=X.exports;export{de as N}; //# sourceMappingURL=NcBreadcrumbs-CFRjXqRg-CpAoZ80-.chunk.mjs.map