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