{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/sortable-list/src/index.ts"],"sourcesContent":["import { computed, defineComponent, h, ref } from 'vue'\nimport { useNamespace } from 'element-plus'\nimport { useSortable } from '@vueuse/integrations/useSortable'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport { sortableListEmits, sortableListProps } from './sortable-list'\n\nexport default defineComponent({\n  name: 'ElSortableList',\n  inheritAttrs: false,\n  props: sortableListProps,\n  emits: sortableListEmits,\n  setup(props, { attrs, slots, emit, expose }) {\n    const ns = useNamespace('sortable-list')\n\n    const target = ref<HTMLElement>()\n\n    const list = computed({\n      get() {\n        return props.modelValue\n      },\n      set(list) {\n        emit(UPDATE_MODEL_EVENT, list)\n        emit(CHANGE_EVENT, list)\n      },\n    })\n\n    const { start, stop, option } = useSortable(target, list, props.options)\n\n    expose({\n      start,\n      stop,\n      option,\n    })\n\n    return () => {\n      return h(\n        props.tag,\n        { ref: target, ...attrs, class: [ns.b(), attrs.class] },\n        list.value.map((data, index) => slots.default?.({ data, index }))\n      )\n    }\n  },\n})\n"],"names":["list"],"mappings":";;;;;;AAOA,mBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,gBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,iBAAA;AAAA,EACP,KAAO,EAAA,iBAAA;AAAA,EACP,MAAM,KAAO,EAAA,EAAE,OAAO,KAAO,EAAA,IAAA,EAAM,QAAU,EAAA;AAC3C,IAAM,MAAA,EAAA,GAAK,aAAa,eAAe,CAAA,CAAA;AAEvC,IAAA,MAAM,SAAS,GAAiB,EAAA,CAAA;AAEhC,IAAA,MAAM,OAAO,QAAS,CAAA;AAAA,MACpB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAIA,KAAM,EAAA;AACR,QAAA,IAAA,CAAK,oBAAoBA,KAAI,CAAA,CAAA;AAC7B,QAAA,IAAA,CAAK,cAAcA,KAAI,CAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,OAAO,IAAM,EAAA,MAAA,KAAW,WAAY,CAAA,MAAA,EAAQ,IAAM,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAEvE,IAAO,MAAA,CAAA;AAAA,MACL,KAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAO,OAAA,CAAA;AAAA,QACL,KAAM,CAAA,GAAA;AAAA,QACN,EAAE,GAAA,EAAK,MAAQ,EAAA,GAAG,KAAO,EAAA,KAAA,EAAO,CAAC,EAAA,CAAG,CAAE,EAAA,EAAG,KAAM,CAAA,KAAK,CAAE,EAAA;AAAA,QACtD,IAAK,CAAA,KAAA,CAAM,GAAI,CAAA,CAAC,MAAM,KAAO,KAAA;AAvCrC,UAAA,IAAA,EAAA,CAAA;AAuCwC,UAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,OAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,EAAE,IAAA,EAAM,KAAM,EAAA,CAAA,CAAA;AAAA,SAAE,CAAA;AAAA,OAClE,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}