{"version":3,"file":"button.mjs","sources":["../../../../../../packages/components/button/src/button.ts"],"sourcesContent":["import { isValidComponentType, isValidComponentSize } from '@hongluan-ui/utils'\n\nimport type { ComponentType, ComponentSize } from '@hongluan-ui/constants'\nimport type { Component, ExtractPropTypes, PropType } from 'vue'\n\nexport const buttonIconPosition = ['left', 'right'] as const\nexport type ButtonIconPosition = typeof buttonIconPosition[number]\n\nexport const buttonNativeTypes = ['button', 'submit', 'reset'] as const\nexport type ButtonNativeTypes = typeof buttonNativeTypes[number]\n\nexport const buttonProps = {\n  /**\n   * @description button type\n   */\n  type: {\n    type: String as PropType<ComponentType>,\n    validator: isValidComponentType,\n  },\n  /**\n   * @description button size\n   */\n  size: {\n    type: String as PropType<ComponentSize>,\n    validator: isValidComponentSize,\n  },\n  iconPosition: {\n    type: String as PropType<ButtonIconPosition>,\n    default: '',\n  },\n  /**\n   * @description native button type\n   */\n  nativeType: {\n    type: String as PropType<ButtonNativeTypes>,\n    default: 'button',\n    validator: (val: ButtonNativeTypes) => buttonNativeTypes.includes(val),\n  },\n  /**\n   * @description determine whether it's loading\n   */\n  loading: Boolean,\n  /**\n   * @description disable the button\n   */\n  disabled: Boolean,\n  /**\n   * @description native button autofocus\n   */\n  autofocus: Boolean,\n  /**\n   * @description determine whether it's a round button\n   */\n  round: Boolean,\n  equal: Boolean,\n  effect: String,\n  noFill: Boolean,\n  outline: Boolean,\n  block: Boolean,\n  rational: Boolean,\n  dashed: Boolean,\n  hover: [Boolean, String],\n  /**\n   * @description custom element tag\n   * 暂时未实现，与Button组件名字冲突，导致递归渲染Button组件\n  */\n  tag: {\n    type: [String, Object] as PropType<string | Component>,\n    default: 'button',\n  },\n}\n\nexport const buttonEmits = {\n  click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type ButtonProps = ExtractPropTypes<typeof buttonProps>\nexport type ButtonEmits = typeof buttonEmits\n"],"names":[],"mappings":";;;AACY,MAAC,kBAAkB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE;AACxC,MAAC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;AACnD,MAAC,WAAW,GAAG;AAC3B,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC;AACvD,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1B,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,EAAE;AACU,MAAC,WAAW,GAAG;AAC3B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;"}