@wikimedia/codex
Version:
Codex Design System for Wikimedia
2 lines (1 loc) • 1.37 kB
JavaScript
import{d as m,r as c,bq as g,c as v,B as a,aQ as C,aS as k,aR as w,_ as B,o as K,b as S,g as $,n as z,M as d,j as x}from"./DemoBaseLayout.vue_vue_type_style_index_0_lang-ChPp1b9F.js";/* empty css */const A=a(C),V=a(k),h=a(w),D=m({name:"CdxButton",props:{action:{type:String,default:"default",validator:A},weight:{type:String,default:"normal",validator:V},size:{type:String,default:"medium",validator:h}},emits:["click"],setup(t,{emit:o,slots:i,attrs:u}){const s=c(),r=g(i.default,u),n=c(!1),f=v(()=>({["cdx-button--action-".concat(t.action)]:!0,["cdx-button--weight-".concat(t.weight)]:!0,["cdx-button--size-".concat(t.size)]:!0,"cdx-button--framed":t.weight!=="quiet","cdx-button--icon-only":r.value,"cdx-button--is-active":n.value})),p=e=>{o("click",e)},l=e=>{n.value=e};function y(){l(!0)}function b(){var e;l(!1),(e=s.value)==null||e.click()}return{button:s,rootClasses:f,onClick:p,onKeyDown:y,onKeyUp:b}}});function U(t,o,i,u,s,r){return K(),S("button",{ref:"button",class:z(["cdx-button",t.rootClasses]),onKeydown:o[0]||(o[0]=d(x((...n)=>t.onKeyDown&&t.onKeyDown(...n),["prevent"]),["space","enter"])),onKeyup:o[1]||(o[1]=d((...n)=>t.onKeyUp&&t.onKeyUp(...n),["space","enter"])),onClick:o[2]||(o[2]=(...n)=>t.onClick&&t.onClick(...n))},[$(t.$slots,"default")],34)}const M=B(D,[["render",U]]);export{M as C};