{"version":3,"file":"addition.mjs","sources":["../../../../../../packages/components/array-base/src/addition.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { ElButton, useNamespace } from 'element-plus'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useArray } from './hooks'\n\nexport interface IArrayBaseAdditionProps {\n  title?: string\n  method?: 'push' | 'unshift'\n  defaultValue?: any\n}\n\nexport const ArrayBaseAddition = defineComponent<IArrayBaseAdditionProps>({\n  name: 'ArrayBaseAddition',\n  inheritAttrs: false,\n  props: {\n    title: {\n      type: String,\n      default: '',\n    },\n    method: {\n      type: String,\n      default: 'push',\n    },\n    defaultValue: {\n      type: null,\n      default: '',\n    },\n  },\n  setup(props: IArrayBaseAdditionProps, { attrs, slots }) {\n    const ns = useNamespace('array-base')\n    const { field, form, keyMap }: any = useArray()\n    return () => {\n      if (!field) return null\n      return h(\n        ElButton,\n        {\n          class: `${ns.b('addition')}`,\n          icon: Plus,\n          disabled: form?.disabled,\n          ...attrs,\n          onClick: (evt: MouseEvent) => {\n            if (attrs.onClick) {\n              return (attrs as any).onClick?.(evt, { field, form, keyMap })\n            }\n            if (form?.disabled) return\n            evt.stopPropagation()\n            const defaultValue =\n              typeof props.defaultValue === 'function'\n                ? props.defaultValue()\n                : props.defaultValue\n            if (props.method === 'unshift') {\n              field?.fieldValue.unshift(defaultValue)\n            } else {\n              field?.fieldValue.push(defaultValue)\n            }\n          },\n        },\n        {\n          default: () => [slots?.default?.() ?? props.title],\n        }\n      )\n    }\n  },\n})\n"],"names":[],"mappings":";;;;;AAWO,MAAM,oBAAoB,eAAyC,CAAA;AAAA,EACxE,IAAM,EAAA,mBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,MAAA;AAAA,KACX;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA,IAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,KAAM,CAAA,KAAA,EAAgC,EAAE,KAAA,EAAO,OAAS,EAAA;AACtD,IAAM,MAAA,EAAA,GAAK,aAAa,YAAY,CAAA,CAAA;AACpC,IAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,MAAA,KAAgB,QAAS,EAAA,CAAA;AAC9C,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAAC,KAAA;AAAO,QAAO,OAAA,IAAA,CAAA;AACnB,MAAO,OAAA,CAAA;AAAA,QACL,QAAA;AAAA,QACA;AAAA,UACE,KAAO,EAAA,CAAA,EAAG,EAAG,CAAA,CAAA,CAAE,UAAU,CAAA,CAAA,CAAA;AAAA,UACzB,IAAM,EAAA,IAAA;AAAA,UACN,UAAU,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA;AAAA,UAChB,GAAG,KAAA;AAAA,UACH,OAAA,EAAS,CAAC,GAAoB,KAAA;AAxCxC,YAAA,IAAA,EAAA,CAAA;AAyCY,YAAA,IAAI,MAAM,OAAS,EAAA;AACjB,cAAA,OAAA,CAAQ,WAAc,OAAd,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAwB,KAAK,EAAE,KAAA,EAAO,MAAM,MAAO,EAAA,CAAA,CAAA;AAAA,aAC7D;AACA,YAAA,IAAI,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA;AAAU,cAAA,OAAA;AACpB,YAAA,GAAA,CAAI,eAAgB,EAAA,CAAA;AACpB,YAAM,MAAA,YAAA,GACJ,OAAO,KAAM,CAAA,YAAA,KAAiB,aAC1B,KAAM,CAAA,YAAA,KACN,KAAM,CAAA,YAAA,CAAA;AACZ,YAAI,IAAA,KAAA,CAAM,WAAW,SAAW,EAAA;AAC9B,cAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,WAAW,OAAQ,CAAA,YAAA,CAAA,CAAA;AAAA,aACrB,MAAA;AACL,cAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,WAAW,IAAK,CAAA,YAAA,CAAA,CAAA;AAAA,aACzB;AAAA,WACF;AAAA,SACF;AAAA,QACA;AAAA,UACE,SAAS,MAAG;AA1DtB,YAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0DyB,YAAA,OAAA,CAAA,CAAC,EAAO,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA,KAAP,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,WAAA;AAAA,SACnD;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC;;;;"}