mirror of
https://github.com/nextcloud/server.git
synced 2026-10-26 13:18:14 +01:00
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
3 lines
4.1 KiB
JavaScript
3 lines
4.1 KiB
JavaScript
import{g as m,e as b}from"./Check-tS38t_gr.chunk.mjs";import{_ as y,N as k}from"./Web-DDUTyEWH.chunk.mjs";import{b as f,N as g}from"./NcModal-4-A9Rcea.chunk.mjs";import{r as x,o as i,i as n,h as l,j as C,p as _,n as d,t as s,k as o,c as h,m as v}from"./preload-helper-DzJkBi1V.chunk.mjs";const V={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},S={mixins:[V],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:f}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(t){this.$emit("click",t),this.closeAfterClick&&this.closeMenu(!1)}}},I={name:"NcActionButton",components:{NcIconSvgWrapper:k},mixins:[S],inject:{isInSemanticMenu:{from:g,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:t=>["button","checkbox","radio","reset","submit"].includes(t)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:b,mdiChevronRight:m}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const t={};return this.isInSemanticMenu?(t.role="menuitem",this.type==="radio"?(t.role="menuitemradio",t["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(t.role="menuitemcheckbox",t["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(t["aria-pressed"]=this.modelValue?"true":"false"),t}},methods:{handleClick(t){this.onClick(t),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},T=["role"],M=["aria-label","disabled","title","type"],$={class:"action-button__longtext-wrapper"},A={key:0,class:"action-button__name"},N=["textContent"],B={key:2,class:"action-button__text"},L=["textContent"],U={key:2,class:"action-button__pressed-icon material-design-icon"};function w(t,u,a,c,j,e){const r=x("NcIconSvgWrapper");return i(),n("li",{class:d(["action",{"action--disabled":a.disabled}]),role:e.isInSemanticMenu&&"presentation"},[l("button",v({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":e.isChecked,focusable:e.isFocusable}],disabled:a.disabled,title:t.title,type:e.nativeType},e.buttonAttributes,{onClick:u[0]||(u[0]=(...p)=>e.handleClick&&e.handleClick(...p))}),[C(t.$slots,"icon",{},()=>[l("span",{class:d([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:_({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),l("span",$,[t.name?(i(),n("strong",A,s(t.name),1)):o("",!0),t.isLongText?(i(),n("span",{key:1,class:"action-button__longtext",textContent:s(t.text)},null,8,N)):(i(),n("span",B,s(t.text),1)),a.description?(i(),n("span",{key:3,class:"action-button__description",textContent:s(a.description)},null,8,L)):o("",!0)]),a.isMenu?(i(),h(r,{key:0,class:"action-button__menu-icon",directional:"",path:c.mdiChevronRight},null,8,["path"])):e.isChecked?(i(),h(r,{key:1,path:c.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):e.isChecked===!1?(i(),n("span",U)):o("",!0),o("",!0)],16,M)],10,T)}const H=y(I,[["render",w],["__scopeId","data-v-6c2daf4e"]]);export{S as A,H as N,V as a};
|
|
//# sourceMappingURL=NcActionButton-B_SpiIvb.chunk.mjs.map
|