{"version":3,"file":"transfer-panel2.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\n  <div :class=\"ns.b('panel')\">\n    <p :class=\"ns.be('panel', 'header')\">\n      <el-checkbox\n        v-model=\"allChecked\"\n        :indeterminate=\"isIndeterminate\"\n        @change=\"handleAllCheckedChange\"\n      >\n        {{ title }}\n        <span>{{ checkedSummary }}</span>\n      </el-checkbox>\n    </p>\n\n    <div :class=\"[ns.be('panel', 'body'), ns.is('with-footer', hasFooter)]\">\n      <el-input\n        v-if=\"filterable\"\n        v-model=\"query\"\n        :class=\"ns.be('panel', 'filter')\"\n        size=\"default\"\n        :placeholder=\"placeholder\"\n        :prefix-icon=\"SearchIcon\"\n        clearable\n        @mouseenter=\"inputHover = true\"\n        @mouseleave=\"inputHover = false\"\n      />\n      <el-checkbox-group\n        v-show=\"!hasNoMatch && data.length > 0\"\n        v-model=\"checked\"\n        :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n      >\n        <el-checkbox\n          v-for=\"item in filteredData\"\n          :key=\"item[keyProp]\"\n          :class=\"ns.be('panel', 'item')\"\n          :label=\"item[keyProp]\"\n          :disabled=\"item[disabledProp]\"\n        >\n          <option-content :option=\"optionRender(item)\" />\n        </el-checkbox>\n      </el-checkbox-group>\n      <p\n        v-show=\"hasNoMatch || data.length === 0\"\n        :class=\"ns.be('panel', 'empty')\"\n      >\n        {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n      </p>\n    </div>\n    <p v-if=\"hasFooter\" :class=\"ns.be('panel', 'footer')\">\n      <slot />\n    </p>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport ElInput from '@element-plus/components/input'\nimport { Search } from '@element-plus/icons-vue'\nimport { CHECKED_CHANGE_EVENT, useCheck, useCheckProps } from './useCheck'\n\nexport default defineComponent({\n  name: 'ElTransferPanel',\n\n  components: {\n    ElCheckboxGroup,\n    ElCheckbox,\n    ElInput,\n    OptionContent: ({ option }) => option,\n  },\n\n  props: useCheckProps,\n\n  emits: [CHECKED_CHANGE_EVENT],\n\n  setup(props, { slots }) {\n    const { t } = useLocale()\n    const ns = useNamespace('transfer')\n\n    const panelState = reactive({\n      checked: [],\n      allChecked: false,\n      query: '',\n      inputHover: false,\n      checkChangeByUser: true,\n    })\n\n    const {\n      labelProp,\n      keyProp,\n      disabledProp,\n      filteredData,\n      checkedSummary,\n      isIndeterminate,\n      handleAllCheckedChange,\n    } = useCheck(props, panelState)\n\n    const hasNoMatch = computed(() => {\n      return panelState.query.length > 0 && filteredData.value.length === 0\n    })\n\n    const hasFooter = computed(() => !!slots.default()[0].children.length)\n\n    const { checked, allChecked, query, inputHover, checkChangeByUser } =\n      toRefs(panelState)\n\n    return {\n      ns,\n      labelProp,\n      keyProp,\n      disabledProp,\n      filteredData,\n      checkedSummary,\n      isIndeterminate,\n      handleAllCheckedChange,\n\n      checked,\n      allChecked,\n      query,\n      inputHover,\n      checkChangeByUser,\n\n      hasNoMatch,\n      SearchIcon: Search,\n      hasFooter,\n\n      t,\n    }\n  },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_createTextVNode","_toDisplayString","_openBlock","_createBlock","_createCommentVNode","_Fragment","_renderList","_vShow","_renderSlot"],"mappings":"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"}