{"version":3,"file":"transfer-panel.mjs","sources":["../../../../../../packages/components/transfer/src/transfer-panel.vue"],"sourcesContent":["<template>\r\n  <div class=\"sg-transfer-panel\" :style=\"panelStyle\">\r\n    <p class=\"sg-transfer-panel__header\">\r\n      <sg-checkbox\r\n        v-model=\"allChecked\"\r\n        :indeterminate=\"isIndeterminate\"\r\n        :validate-event=\"false\"\r\n        @on-change=\"handleAllCheckedChange\"\r\n      >\r\n        {{ title }}\r\n        <span>{{ checkedLength }}项</span>\r\n      </sg-checkbox>\r\n    </p>\r\n\r\n    <div\r\n      :class=\"['sg-transfer-panel__body']\"\r\n      :style=\"bodyStyle\"\r\n    >\r\n      <sg-input\r\n        v-if=\"filterable\"\r\n        v-model=\"query\"\r\n        class=\"sg-transfer-panel__filter\"\r\n        size=\"default\"\r\n        :placeholder=\"'请输入搜索内容'\"\r\n        :prefix-icon=\"SearchIcon\"\r\n        clearable\r\n        :validate-event=\"false\"\r\n        @mouseenter=\"inputHover = true\"\r\n        @mouseleave=\"inputHover = false\"\r\n        @on-input=\"handelInput\"\r\n        @on-clear=\"handelClear\"\r\n      >\r\n      </sg-input>\r\n      <sg-checkbox-group\r\n        v-show=\"!hasNoMatch && data.length > 0\"\r\n        v-model=\"checked\"\r\n        :class=\"{ 'is-filterable': filterable }\"\r\n        class=\"sg-transfer-panel__list\"\r\n        :style=\"listStyle\"\r\n        :validate-event=\"false\"\r\n      >\r\n        <sg-checkbox\r\n          v-for=\"item in filteredData\"\r\n          :key=\"item[keyProp]\"\r\n          class=\"sg-transfer-panel__item\"\r\n          :label=\"item[keyProp]\"\r\n          :disabled=\"item[disabledProp]\"\r\n          :validate-event=\"false\"\r\n        >\r\n          <option-content :option=\"optionRender!(item)\" />\r\n        </sg-checkbox>\r\n      </sg-checkbox-group>\r\n      <p\r\n        v-show=\"hasNoMatch || data.length === 0\"\r\n        class=\"sg-transfer-panel__empty\"\r\n      >\r\n        {{ hasNoMatch ? t('sg.transfer.noMatch') : noData }}\r\n      </p>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { computed, defineComponent, reactive, toRefs } from 'vue'\r\nimport { useLocale } from '@sgui-plus/hooks'\r\nimport { SgCheckbox, SgCheckboxGroup } from '@sgui-plus/components/checkbox'\r\nimport SgInput from '@sgui-plus/components/input'\r\nimport { Search } from '@sgui-plus/icons-vue'\r\nimport { useCheck, useCheckProps, CHECKED_CHANGE_EVENT } from './useCheck'\r\n\r\nexport default defineComponent({\r\n  name: 'SgTransferPanel',\r\n\r\n  components: {\r\n    SgCheckboxGroup,\r\n    SgCheckbox,\r\n    SgInput,\r\n    OptionContent: ({ option }) => option,\r\n  },\r\n\r\n  props: useCheckProps,\r\n\r\n  emits: [CHECKED_CHANGE_EVENT, 'on-input', 'on-clear'],\r\n\r\n  setup(props, { slots }) {\r\n    const { t } = useLocale()\r\n\r\n    const panelState = reactive({\r\n      checked: [],\r\n      allChecked: false,\r\n      query: '',\r\n      inputHover: false,\r\n      checkChangeByUser: true,\r\n    })\r\n\r\n    const {\r\n      labelProp,\r\n      keyProp,\r\n      disabledProp,\r\n      filteredData,\r\n      isIndeterminate,\r\n      checkedLength,\r\n      handleAllCheckedChange,\r\n      handelInput,\r\n      handelClear,\r\n      panelStyle,\r\n      bodyStyle,\r\n      listStyle,\r\n    } = useCheck(props, panelState)\r\n    const hasNoMatch = computed(() => {\r\n      return panelState.query.length > 0 && filteredData.value.length === 0\r\n    })\r\n\r\n    const noData = computed(() => {\r\n      return props.noDataText ? props.noDataText : t('sg.transfer.noData')\r\n    })\r\n\r\n\r\n    const { checked, allChecked, query, inputHover, checkChangeByUser } =\r\n      toRefs(panelState)\r\n\r\n    return {\r\n      labelProp,\r\n      keyProp,\r\n      disabledProp,\r\n      filteredData,\r\n      isIndeterminate,\r\n      handleAllCheckedChange,\r\n      checkedLength,\r\n      checked,\r\n      allChecked,\r\n      query,\r\n      inputHover,\r\n      checkChangeByUser,\r\n\r\n      hasNoMatch,\r\n      noData,\r\n      SearchIcon: Search,\r\n      panelStyle,\r\n      bodyStyle,\r\n      listStyle,\r\n\r\n      handelInput,\r\n      handelClear,\r\n\r\n      t,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeStyle","_createVNode","_withCtx","_createTextVNode","_toDisplayString","_normalizeClass","_createBlock","_withDirectives","_Fragment","_renderList","_vShow"],"mappings":"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"}