{"version":3,"file":"buttons.mjs","sources":["../../../../../../packages/components/buttons/src/buttons.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes, VNode } from 'vue'\nimport {\n  buttonProps as elButtonProps,\n  // buttonEmits as elButtonEmits,\n  type ButtonProps as ElButtonProps,\n} from 'element-plus'\nimport { disabledProps } from '@el-plus/utils/props'\nimport type { VisibleProps, IDisabled } from '@el-plus/utils/props'\nimport type { TableScope } from '@el-plus/components/table'\n\nexport type ButtonProps<TClickArg = MouseEvent | TableScope> = Partial<\n  Omit<ElButtonProps, 'disabled'> & {\n    name: string\n    prop: string // 唯一标识\n    permission: string // 权限\n    onClick: (e: TClickArg) => void\n    scopedSlots: Record<string, () => VNode>\n    disabled: IDisabled\n    confirm: boolean\n    confirmText: string\n    confirmBefore: (e: TClickArg) => Promise<void>\n  } & VisibleProps\n>\nexport const buttonsProps = {\n  ...elButtonProps,\n  ...disabledProps,\n  list: {\n    type: Array as PropType<ButtonProps[]>,\n    default: () => [],\n  },\n  size: {\n    ...elButtonProps.size,\n    default: 'small',\n  },\n  type: {\n    ...elButtonProps.type,\n    default: 'default',\n  },\n} as const\nexport type ButtonsProps = ExtractPublicPropTypes<typeof buttonsProps>\n// export const buttonsEmits = {\n//   ...elButtonEmits,\n// }\n// export type ButtonsEmits = typeof buttonsEmits\n// export const buttonsEmitsKeys = Object.keys(buttonsEmits)\n"],"names":["elButtonProps"],"mappings":";;;AAuBO,MAAM,YAAA,GAAe;AAAA,EAC1B,GAAGA,WAAA;AAAA,EACH,GAAG,aAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAc,IAAA;AAAA,IACjB,OAAA,EAAS;AAAA;AAEb;;;;"}