{"version":3,"file":"button.mjs","sources":["../../../../../../packages/components/button/src/button.ts"],"sourcesContent":["import { useSizeProp } from '@bigin/hooks'\nimport { buildProps, iconPropType } from '@bigin/utils'\nimport { Loading } from '@bigin/icons-vue'\nimport type { ExtractPropTypes } from 'vue'\nimport type button from './button.vue'\n\nexport const buttonTypes = [\n  'default',\n  'primary',\n  'secondary',\n  'ghost',\n  'danger',\n  'semi-danger',\n  '',\n] as const\nexport const buttonNativeTypes = ['button', 'submit', 'reset'] as const\n\nexport const buttonProps = buildProps({\n  size: useSizeProp,\n  disabled: Boolean,\n  type: {\n    type: String,\n    values: buttonTypes,\n    default: '',\n  },\n  prefixIcon: {\n    type: iconPropType,\n    default: '',\n  },\n  suffixIcon: {\n    type: iconPropType,\n    default: '',\n  },\n  icon: {\n    type: iconPropType,\n    default: '',\n  },\n  nativeType: {\n    type: String,\n    values: buttonNativeTypes,\n    default: 'button',\n  },\n  loading: Boolean,\n  loadingIcon: {\n    type: iconPropType,\n    default: () => Loading,\n  },\n  dark: Boolean,\n  primary: Boolean,\n  secondary: Boolean,\n  ghost: Boolean,\n  danger: Boolean,\n  semiDanger: Boolean,\n  rounded: Boolean,\n  autofocus: Boolean,\n  xlarge: Boolean,\n  large: Boolean,\n  small: Boolean,\n  xsmall: Boolean,\n  xxsmall: Boolean,\n  tag: {\n    type: String,\n    default: 'button',\n  },\n} as const)\nexport const buttonEmits = {\n  click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type ButtonProps = ExtractPropTypes<typeof buttonProps>\nexport type ButtonEmits = typeof buttonEmits\n\nexport type ButtonType = ButtonProps['type']\nexport type ButtonNativeType = ButtonProps['nativeType']\n\nexport type ButtonInstance = InstanceType<typeof button>\n\nexport interface ButtonConfigContext {\n  autoInsertSpace?: boolean\n}\n"],"names":[],"mappings":";;;;;;;AAMO,MAAM,WAAc,GAAA;AAAA,EACzB,SAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,EAAA;AACF,EAAA;AACO,MAAM,iBAAoB,GAAA,CAAC,QAAU,EAAA,QAAA,EAAU,OAAO,EAAA;AAEtD,MAAM,cAAc,UAAW,CAAA;AAAA,EACpC,IAAM,EAAA,WAAA;AAAA,EACN,QAAU,EAAA,OAAA;AAAA,EACV,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,WAAA;AAAA,IACR,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,YAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,MAAQ,EAAA,iBAAA;AAAA,IACR,OAAS,EAAA,QAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA,OAAA;AAAA,EACT,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,YAAA;AAAA,IACN,SAAS,MAAM,OAAA;AAAA,GACjB;AAAA,EACA,IAAM,EAAA,OAAA;AAAA,EACN,OAAS,EAAA,OAAA;AAAA,EACT,SAAW,EAAA,OAAA;AAAA,EACX,KAAO,EAAA,OAAA;AAAA,EACP,MAAQ,EAAA,OAAA;AAAA,EACR,UAAY,EAAA,OAAA;AAAA,EACZ,OAAS,EAAA,OAAA;AAAA,EACT,SAAW,EAAA,OAAA;AAAA,EACX,MAAQ,EAAA,OAAA;AAAA,EACR,KAAO,EAAA,OAAA;AAAA,EACP,KAAO,EAAA,OAAA;AAAA,EACP,MAAQ,EAAA,OAAA;AAAA,EACR,OAAS,EAAA,OAAA;AAAA,EACT,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,QAAA;AAAA,GACX;AACF,CAAU,EAAA;AACH,MAAM,WAAc,GAAA;AAAA,EACzB,KAAA,EAAO,CAAC,GAAA,KAAoB,GAAe,YAAA,UAAA;AAC7C;;;;"}