@wikimedia/codex
Version:
Codex Design System for Wikimedia
2 lines (1 loc) • 1.37 kB
JavaScript
import{d as m,r as c,bp as g,c as v,B as a,aU as C,aW as k,aV as w,_ as B,o as K,b as $,g as S,n as z,M as d,j as V}from"./DemoBaseLayout.vue_vue_type_style_index_0_lang-CWepejvL.js";/* empty css */const x=a(C),A=a(k),U=a(w),h=m({name:"CdxButton",props:{action:{type:String,default:"default",validator:x},weight:{type:String,default:"normal",validator:A},size:{type:String,default:"medium",validator:U}},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 D(t,o,i,u,s,r){return K(),$("button",{ref:"button",class:z(["cdx-button",t.rootClasses]),onKeydown:o[0]||(o[0]=d(V((...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))},[S(t.$slots,"default")],34)}const M=B(h,[["render",D]]);export{M as C};