{"version":3,"file":"remove.mjs","sources":["../../../../../../packages/components/array-base/src/remove.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { ElButton, useNamespace } from 'element-plus'\nimport { Delete } from '@element-plus/icons-vue'\nimport { useArray, useIndex } from './hooks'\n\nexport interface IArrayBaseRemoveProps {\n  title?: string\n  index?: number\n}\n\nexport const ArrayBaseRemove = defineComponent<IArrayBaseRemoveProps>({\n  name: 'ArrayBaseRemove',\n  inheritAttrs: false,\n  props: {\n    title: {\n      type: String,\n      default: '',\n    },\n    index: {\n      type: Number,\n    },\n  },\n  setup(props, { attrs, slots }) {\n    const ns = useNamespace('array-base')\n    const indexRef = useIndex(props.index)\n    const { field, form, keyMap } = useArray()\n    return () => {\n      if (!field) return null\n      return h(\n        ElButton,\n        {\n          class: `${ns.b('remove')}`,\n          link: true,\n          size: 'small',\n          icon: Delete,\n          disabled: form?.disabled,\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            if (keyMap) {\n              keyMap?.splice(indexRef.value, 1)\n            }\n            if (field) {\n              field.fieldValue.splice(indexRef.value, 1)\n            }\n          },\n          ...attrs,\n        },\n        {\n          default: () => [slots?.default?.() ?? props.title],\n        }\n      )\n    }\n  },\n})\n"],"names":[],"mappings":";;;;;AAUO,MAAM,kBAAkB,eAAuC,CAAA;AAAA,EACpE,IAAM,EAAA,iBAAA;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,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,KACR;AAAA,GACF;AAAA,EACA,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAS,EAAA;AAC7B,IAAM,MAAA,EAAA,GAAK,aAAa,YAAY,CAAA,CAAA;AACpC,IAAM,MAAA,QAAA,GAAW,QAAS,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACrC,IAAA,MAAM,EAAE,KAAA,EAAO,IAAM,EAAA,MAAA,KAAW,QAAS,EAAA,CAAA;AACzC,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,QAAQ,CAAA,CAAA,CAAA;AAAA,UACvB,IAAM,EAAA,IAAA;AAAA,UACN,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA,MAAA;AAAA,UACN,UAAU,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA;AAAA,UAChB,OAAA,EAAS,CAAC,GAAoB,KAAA;AApCxC,YAAA,IAAA,EAAA,CAAA;AAqCY,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,YAAA,IAAI,MAAQ,EAAA;AACV,cAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,CAAO,SAAS,KAAO,EAAA,CAAA,CAAA,CAAA;AAAA,aACjC;AACA,YAAA,IAAI,KAAO,EAAA;AACT,cAAA,KAAA,CAAM,UAAW,CAAA,MAAA,CAAO,QAAS,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,aAC3C;AAAA,WACF;AAAA,UACA,GAAG,KAAA;AAAA,SACL;AAAA,QACA;AAAA,UACE,SAAS,MAAG;AApDtB,YAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAoDyB,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;;;;"}