1import{_ as p,r as o,d as m,i as b}from"./app.6-zBPm55.js";import{d as i,y as u,u as d,H as w,f as l,L as h,J as c}from"./vendor.kmuNf4Gr.js";import{S as f}from"./input-mixin.BU399U4z.js";/* empty css */const g={name:"XInputPassword",mixins:[f],emits:["update:modelValue"],props:{options:{type:Object,default:()=>({})},modelValue:[String,Number],showPasswordButton:{type:Boolean,default:!0},generatePassword:{type:Boolean,default:!0},showGenerateConfirm:{type:Boolean,default:!0},generatePasswordUrl:{type:String,default:"/admin/tools--generate-password"},borderSize:{type:Number,default:4}},data(){return{visible:!1}},computed:{attributesForInput(){let e={...this.options};return b(e,["class"])||(e.class=""),e.class=this.addClass(e.class,["password_input","form-control","input-sm"]),e},buttonTitle(){return this.visible?this.$t("common","Hide password"):this.$t("common","Show password")},buttonIcon(){return this.visible?"icon-ic_fluent_eye_off_24_regular":"icon-ic_fluent_eye_24_regular"},borderStyle(){return this.generatePassword?{}:{"border-top-right-radius":`${this.borderSize}px`,"border-bottom-right-radius":`${this.borderSize}px`}},inputType(){return this.visible?"text":"password"}},methods:{updateValue(...e){return o("XInputPassword.updateValue",s=>{this.$emit("update:modelValue",s.target.value)},this,e)},onVisibilityChanged(...e){return o("XInputPassword.onVisibilityChanged",()=>{this.visible=!this.visible},this,e)},setGeneratePassword(...e){return o("XInputPassword.setGeneratePassword",s=>{this.$emit("update:modelValue",s)},this,e)},generatePasswordHandler(...e){return o("XInputPassword.generatePasswordHandler",()=>{this.generatePassword&&(this.showGenerateConfirm&&this.modelValue!==""&&!window.confirm(t("common","Are you sure you want to generate a random password?"))||m({url:this.generatePasswordUrl}).then(s=>{this.setGeneratePassword(s.string)}))},this,e)}}},y={class:"input-group"},_=["title"],P=["value","type"],V=["title"];function v(e,s,n,C,I,r){return i(),u("div",y,[n.showPasswordButton?(i(),u("button",{key:0,"data-test-selector":"show-password-button",class:"btn btn-outline-secondary btn-icon show-password",type:"button","data-testid":"visibilityButton",title:r.buttonTitle,onClick:s[0]||(s[0]=(...a)=>r.onVisibilityChanged&&r.onVisibilityChanged(...a))},[d("i",{class:w(r.buttonIcon)},null,2)],8,_)):l("",!0),d("input",h(r.attributesForInput,{value:n.modelValue,type:r.inputType,"data-testid":"input",style:r.borderStyle,onInput:s[1]||(s[1]=(...a)=>r.updateValue&&r.updateValue(...a))}),null,16,P),c(e.$slots,"generate-password-button",{},()=>[n.generatePassword?(i(),u("button",{key:0,"data-test-selector":"generate-password-button",class:"btn btn-outline-secondary btn-icon generate-password",type:"button",title:e.$t("common","Generate password"),onClick:s[2]||(s[2]=a=>r.generatePasswordHandler())},[...s[3]||(s[3]=[d("i",{class:"icon-ic_fluent_lock_shield_24_regular"},null,-1)])],8,V)):l("",!0)])])}const G=p(g,[["render",v]]);export{G as XInputPassword,G as default}; 2//# sourceMappingURL=index.DFNe3OJX.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.