3 lines
5.0 KiB
JavaScript
3 lines
5.0 KiB
JavaScript
import{S as y,j as f}from"./mdi-BUoBIgaz.chunk.mjs";import{_ as k,N as g}from"./NcIconSvgWrapper-De-2-ukl-CcvQeIAt.chunk.mjs";import{D as C,j as x}from"./NcModal-kyWZ3UFC-BxKwwKAq.chunk.mjs";import{r as _,o as i,f as a,g as c,i as v,R as V,F as d,t as l,h as o,c as h,m as p}from"./preload-helper-DoJVKVMq.chunk.mjs";import{_ as S}from"./public-CvthP4YJ.chunk.mjs";const L={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?.()||""}}},I={mixins:[L],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:C}},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)}}},M={name:"NcActionButton",components:{NcIconSvgWrapper:g},mixins:[I],inject:{isInSemanticMenu:{from:x,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:f,mdiChevronRight:y}},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))}}},$=["role"],T=["aria-label","disabled","title","type"],w={class:"action-button__longtext-wrapper"},A={key:0,class:"action-button__name"},B=["textContent"],N={key:2,class:"action-button__text"},U=["textContent"],j={key:2,class:"action-button__pressed-icon material-design-icon"};function R(t,s,e,u,m,n){const r=_("NcIconSvgWrapper");return i(),a("li",{class:d(["action",{"action--disabled":e.disabled}]),role:n.isInSemanticMenu&&"presentation"},[c("button",p({"aria-label":t.ariaLabel,class:["action-button button-vue",{"action-button--active":n.isChecked,focusable:n.isFocusable}],disabled:e.disabled,title:t.title,type:n.nativeType},n.buttonAttributes,{onClick:s[0]||(s[0]=(...b)=>n.handleClick&&n.handleClick(...b))}),[v(t.$slots,"icon",{},()=>[c("span",{class:d([[t.isIconUrl?"action-button__icon--url":t.icon],"action-button__icon"]),style:V({backgroundImage:t.isIconUrl?`url(${t.icon})`:null}),"aria-hidden":"true"},null,6)],!0),c("span",w,[t.name?(i(),a("strong",A,l(t.name),1)):o("",!0),t.isLongText?(i(),a("span",{key:1,class:"action-button__longtext",textContent:l(t.text)},null,8,B)):(i(),a("span",N,l(t.text),1)),e.description?(i(),a("span",{key:3,class:"action-button__description",textContent:l(e.description)},null,8,U)):o("",!0)]),e.isMenu?(i(),h(r,{key:0,class:"action-button__menu-icon",directional:"",path:u.mdiChevronRight},null,8,["path"])):n.isChecked?(i(),h(r,{key:1,path:u.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):n.isChecked===!1?(i(),a("span",j)):o("",!0),o("",!0)],16,T)],10,$)}const J=k(M,[["render",R],["__scopeId","data-v-6c2daf4e"]]),z={name:"PencilOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},F=["aria-hidden","aria-label"],H=["fill","width","height"],W={d:"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z"},P={key:0};function D(t,s,e,u,m,n){return i(),a("span",p(t.$attrs,{"aria-hidden":e.title?null:"true","aria-label":e.title,class:"material-design-icon pencil-outline-icon",role:"img",onClick:s[0]||(s[0]=r=>t.$emit("click",r))}),[(i(),a("svg",{fill:e.fillColor,class:"material-design-icon__svg",width:e.size,height:e.size,viewBox:"0 0 24 24"},[c("path",W,[e.title?(i(),a("title",P,l(e.title),1)):o("",!0)])],8,H))],16,F)}const K=S(z,[["render",D]]);export{I as A,J as N,K as P,L as a};
|
|
//# sourceMappingURL=PencilOutline-BzoFsBsK.chunk.mjs.map
|