This commit is contained in:
2025-09-19 14:25:20 +08:00
parent 269893a435
commit fbf3f77229
24949 changed files with 2839404 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
export * from './use-check';
export * from './use-checked-change';
export * from './use-computed-data';
export * from './use-move';
export * from './use-props-alias';

View File

@@ -0,0 +1,18 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var useCheck = require('./use-check.js');
var useCheckedChange = require('./use-checked-change.js');
var useComputedData = require('./use-computed-data.js');
var useMove = require('./use-move.js');
var usePropsAlias = require('./use-props-alias.js');
exports.useCheck = useCheck.useCheck;
exports.useCheckedChange = useCheckedChange.useCheckedChange;
exports.useComputedData = useComputedData.useComputedData;
exports.useMove = useMove.useMove;
exports.usePropsAlias = usePropsAlias.usePropsAlias;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,11 @@
import type { SetupContext } from 'vue';
import type { CheckboxValueType } from 'element-plus/es/components/checkbox';
import type { TransferPanelEmits, TransferPanelProps, TransferPanelState } from '../transfer-panel';
export declare const useCheck: (props: TransferPanelProps, panelState: TransferPanelState, emit: SetupContext<TransferPanelEmits>["emit"]) => {
filteredData: import("vue").ComputedRef<import("../transfer").TransferDataItem[]>;
checkableData: import("vue").ComputedRef<import("../transfer").TransferDataItem[]>;
checkedSummary: import("vue").ComputedRef<string>;
isIndeterminate: import("vue").ComputedRef<boolean>;
updateAllChecked: () => void;
handleAllCheckedChange: (value: CheckboxValueType) => void;
};

View File

@@ -0,0 +1,94 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var transferPanel = require('../transfer-panel2.js');
var usePropsAlias = require('./use-props-alias.js');
var shared = require('@vue/shared');
const useCheck = (props, panelState, emit) => {
const propsAlias = usePropsAlias.usePropsAlias(props);
const filteredData = vue.computed(() => {
return props.data.filter((item) => {
if (shared.isFunction(props.filterMethod)) {
return props.filterMethod(panelState.query, item);
} else {
const label = String(item[propsAlias.value.label] || item[propsAlias.value.key]);
return label.toLowerCase().includes(panelState.query.toLowerCase());
}
});
});
const checkableData = vue.computed(() => filteredData.value.filter((item) => !item[propsAlias.value.disabled]));
const checkedSummary = vue.computed(() => {
const checkedLength = panelState.checked.length;
const dataLength = props.data.length;
const { noChecked, hasChecked } = props.format;
if (noChecked && hasChecked) {
return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength.toString()).replace(/\${total}/g, dataLength.toString()) : noChecked.replace(/\${total}/g, dataLength.toString());
} else {
return `${checkedLength}/${dataLength}`;
}
});
const isIndeterminate = vue.computed(() => {
const checkedLength = panelState.checked.length;
return checkedLength > 0 && checkedLength < checkableData.value.length;
});
const updateAllChecked = () => {
const checkableDataKeys = checkableData.value.map((item) => item[propsAlias.value.key]);
panelState.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every((item) => panelState.checked.includes(item));
};
const handleAllCheckedChange = (value) => {
panelState.checked = value ? checkableData.value.map((item) => item[propsAlias.value.key]) : [];
};
vue.watch(() => panelState.checked, (val, oldVal) => {
updateAllChecked();
if (panelState.checkChangeByUser) {
const movedKeys = val.concat(oldVal).filter((v) => !val.includes(v) || !oldVal.includes(v));
emit(transferPanel.CHECKED_CHANGE_EVENT, val, movedKeys);
} else {
emit(transferPanel.CHECKED_CHANGE_EVENT, val);
panelState.checkChangeByUser = true;
}
});
vue.watch(checkableData, () => {
updateAllChecked();
});
vue.watch(() => props.data, () => {
const checked = [];
const filteredDataKeys = filteredData.value.map((item) => item[propsAlias.value.key]);
panelState.checked.forEach((item) => {
if (filteredDataKeys.includes(item)) {
checked.push(item);
}
});
panelState.checkChangeByUser = false;
panelState.checked = checked;
});
vue.watch(() => props.defaultChecked, (val, oldVal) => {
if (oldVal && val.length === oldVal.length && val.every((item) => oldVal.includes(item)))
return;
const checked = [];
const checkableDataKeys = checkableData.value.map((item) => item[propsAlias.value.key]);
val.forEach((item) => {
if (checkableDataKeys.includes(item)) {
checked.push(item);
}
});
panelState.checkChangeByUser = false;
panelState.checked = checked;
}, {
immediate: true
});
return {
filteredData,
checkableData,
checkedSummary,
isIndeterminate,
updateAllChecked,
handleAllCheckedChange
};
};
exports.useCheck = useCheck;
//# sourceMappingURL=use-check.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
import type { SetupContext } from 'vue';
import type { TransferCheckedState, TransferEmits, TransferKey } from '../transfer';
export declare const useCheckedChange: (checkedState: TransferCheckedState, emit: SetupContext<TransferEmits>["emit"]) => {
onSourceCheckedChange: (val: TransferKey[], movedKeys?: TransferKey[]) => void;
onTargetCheckedChange: (val: TransferKey[], movedKeys?: TransferKey[]) => void;
};

View File

@@ -0,0 +1,27 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var transfer = require('../transfer.js');
const useCheckedChange = (checkedState, emit) => {
const onSourceCheckedChange = (val, movedKeys) => {
checkedState.leftChecked = val;
if (!movedKeys)
return;
emit(transfer.LEFT_CHECK_CHANGE_EVENT, val, movedKeys);
};
const onTargetCheckedChange = (val, movedKeys) => {
checkedState.rightChecked = val;
if (!movedKeys)
return;
emit(transfer.RIGHT_CHECK_CHANGE_EVENT, val, movedKeys);
};
return {
onSourceCheckedChange,
onTargetCheckedChange
};
};
exports.useCheckedChange = useCheckedChange;
//# sourceMappingURL=use-checked-change.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"use-checked-change.js","sources":["../../../../../../../packages/components/transfer/src/composables/use-checked-change.ts"],"sourcesContent":["import { LEFT_CHECK_CHANGE_EVENT, RIGHT_CHECK_CHANGE_EVENT } from '../transfer'\n\nimport type { SetupContext } from 'vue'\nimport type {\n TransferCheckedState,\n TransferEmits,\n TransferKey,\n} from '../transfer'\n\nexport const useCheckedChange = (\n checkedState: TransferCheckedState,\n emit: SetupContext<TransferEmits>['emit']\n) => {\n const onSourceCheckedChange = (\n val: TransferKey[],\n movedKeys?: TransferKey[]\n ) => {\n checkedState.leftChecked = val\n if (!movedKeys) return\n emit(LEFT_CHECK_CHANGE_EVENT, val, movedKeys)\n }\n\n const onTargetCheckedChange = (\n val: TransferKey[],\n movedKeys?: TransferKey[]\n ) => {\n checkedState.rightChecked = val\n if (!movedKeys) return\n emit(RIGHT_CHECK_CHANGE_EVENT, val, movedKeys)\n }\n\n return {\n onSourceCheckedChange,\n onTargetCheckedChange,\n }\n}\n"],"names":["LEFT_CHECK_CHANGE_EVENT","RIGHT_CHECK_CHANGE_EVENT"],"mappings":";;;;;;AACY,MAAC,gBAAgB,GAAG,CAAC,YAAY,EAAE,IAAI,KAAK;AACxD,EAAE,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;AACpD,IAAI,YAAY,CAAC,WAAW,GAAG,GAAG,CAAC;AACnC,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO;AACb,IAAI,IAAI,CAACA,gCAAuB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AAClD,GAAG,CAAC;AACJ,EAAE,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;AACpD,IAAI,YAAY,CAAC,YAAY,GAAG,GAAG,CAAC;AACpC,IAAI,IAAI,CAAC,SAAS;AAClB,MAAM,OAAO;AACb,IAAI,IAAI,CAACC,iCAAwB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACnD,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,GAAG,CAAC;AACJ;;;;"}

View File

@@ -0,0 +1,5 @@
import type { TransferDataItem, TransferProps } from '../transfer';
export declare const useComputedData: (props: TransferProps) => {
sourceData: import("vue").ComputedRef<TransferDataItem[]>;
targetData: import("vue").ComputedRef<TransferDataItem[]>;
};

View File

@@ -0,0 +1,32 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var usePropsAlias = require('./use-props-alias.js');
const useComputedData = (props) => {
const propsAlias = usePropsAlias.usePropsAlias(props);
const dataObj = vue.computed(() => props.data.reduce((o, cur) => (o[cur[propsAlias.value.key]] = cur) && o, {}));
const sourceData = vue.computed(() => props.data.filter((item) => !props.modelValue.includes(item[propsAlias.value.key])));
const targetData = vue.computed(() => {
if (props.targetOrder === "original") {
return props.data.filter((item) => props.modelValue.includes(item[propsAlias.value.key]));
} else {
return props.modelValue.reduce((arr, cur) => {
const val = dataObj.value[cur];
if (val) {
arr.push(val);
}
return arr;
}, []);
}
});
return {
sourceData,
targetData
};
};
exports.useComputedData = useComputedData;
//# sourceMappingURL=use-computed-data.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"use-computed-data.js","sources":["../../../../../../../packages/components/transfer/src/composables/use-computed-data.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { TransferDataItem, TransferKey, TransferProps } from '../transfer'\n\nexport const useComputedData = (props: TransferProps) => {\n const propsAlias = usePropsAlias(props)\n\n const dataObj = computed(() =>\n props.data.reduce((o, cur) => (o[cur[propsAlias.value.key]] = cur) && o, {})\n )\n\n const sourceData = computed(() =>\n props.data.filter(\n (item) => !props.modelValue.includes(item[propsAlias.value.key])\n )\n )\n\n const targetData = computed(() => {\n if (props.targetOrder === 'original') {\n return props.data.filter((item) =>\n props.modelValue.includes(item[propsAlias.value.key])\n )\n } else {\n return props.modelValue.reduce(\n (arr: TransferDataItem[], cur: TransferKey) => {\n const val = dataObj.value[cur]\n if (val) {\n arr.push(val)\n }\n return arr\n },\n []\n )\n }\n })\n\n return {\n sourceData,\n targetData,\n }\n}\n"],"names":["usePropsAlias","computed"],"mappings":";;;;;;;AAEY,MAAC,eAAe,GAAG,CAAC,KAAK,KAAK;AAC1C,EAAE,MAAM,UAAU,GAAGA,2BAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,EAAE,MAAM,OAAO,GAAGC,YAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/G,EAAE,MAAM,UAAU,GAAGA,YAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzH,EAAE,MAAM,UAAU,GAAGA,YAAQ,CAAC,MAAM;AACpC,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE;AAC1C,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChG,KAAK,MAAM;AACX,MAAM,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACnD,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,QAAQ,IAAI,GAAG,EAAE;AACjB,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,GAAG,CAAC;AACnB,OAAO,EAAE,EAAE,CAAC,CAAC;AACb,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,UAAU;AACd,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;"}

View File

@@ -0,0 +1,6 @@
import type { SetupContext } from 'vue';
import type { TransferCheckedState, TransferEmits, TransferProps } from '../transfer';
export declare const useMove: (props: TransferProps, checkedState: TransferCheckedState, emit: SetupContext<TransferEmits>["emit"]) => {
addToLeft: () => void;
addToRight: () => void;
};

View File

@@ -0,0 +1,43 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var usePropsAlias = require('./use-props-alias.js');
var event = require('../../../../constants/event.js');
const useMove = (props, checkedState, emit) => {
const propsAlias = usePropsAlias.usePropsAlias(props);
const _emit = (value, direction, movedKeys) => {
emit(event.UPDATE_MODEL_EVENT, value);
emit(event.CHANGE_EVENT, value, direction, movedKeys);
};
const addToLeft = () => {
const currentValue = props.modelValue.slice();
checkedState.rightChecked.forEach((item) => {
const index = currentValue.indexOf(item);
if (index > -1) {
currentValue.splice(index, 1);
}
});
_emit(currentValue, "left", checkedState.rightChecked);
};
const addToRight = () => {
let currentValue = props.modelValue.slice();
const itemsToBeMoved = props.data.filter((item) => {
const itemKey = item[propsAlias.value.key];
return checkedState.leftChecked.includes(itemKey) && !props.modelValue.includes(itemKey);
}).map((item) => item[propsAlias.value.key]);
currentValue = props.targetOrder === "unshift" ? itemsToBeMoved.concat(currentValue) : currentValue.concat(itemsToBeMoved);
if (props.targetOrder === "original") {
currentValue = props.data.filter((item) => currentValue.includes(item[propsAlias.value.key])).map((item) => item[propsAlias.value.key]);
}
_emit(currentValue, "right", checkedState.leftChecked);
};
return {
addToLeft,
addToRight
};
};
exports.useMove = useMove;
//# sourceMappingURL=use-move.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"use-move.js","sources":["../../../../../../../packages/components/transfer/src/composables/use-move.ts"],"sourcesContent":["import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { usePropsAlias } from './use-props-alias'\n\nimport type { SetupContext } from 'vue'\nimport type {\n TransferCheckedState,\n TransferDataItem,\n TransferDirection,\n TransferEmits,\n TransferKey,\n TransferProps,\n} from '../transfer'\n\nexport const useMove = (\n props: TransferProps,\n checkedState: TransferCheckedState,\n emit: SetupContext<TransferEmits>['emit']\n) => {\n const propsAlias = usePropsAlias(props)\n\n const _emit = (\n value: TransferKey[],\n direction: TransferDirection,\n movedKeys: TransferKey[]\n ) => {\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value, direction, movedKeys)\n }\n\n const addToLeft = () => {\n const currentValue = props.modelValue.slice()\n\n checkedState.rightChecked.forEach((item) => {\n const index = currentValue.indexOf(item)\n if (index > -1) {\n currentValue.splice(index, 1)\n }\n })\n _emit(currentValue, 'left', checkedState.rightChecked)\n }\n\n const addToRight = () => {\n let currentValue = props.modelValue.slice()\n\n const itemsToBeMoved = props.data\n .filter((item: TransferDataItem) => {\n const itemKey = item[propsAlias.value.key]\n return (\n checkedState.leftChecked.includes(itemKey) &&\n !props.modelValue.includes(itemKey)\n )\n })\n .map((item) => item[propsAlias.value.key])\n\n currentValue =\n props.targetOrder === 'unshift'\n ? itemsToBeMoved.concat(currentValue)\n : currentValue.concat(itemsToBeMoved)\n\n if (props.targetOrder === 'original') {\n currentValue = props.data\n .filter((item) => currentValue.includes(item[propsAlias.value.key]))\n .map((item) => item[propsAlias.value.key])\n }\n\n _emit(currentValue, 'right', checkedState.leftChecked)\n }\n\n return {\n addToLeft,\n addToRight,\n }\n}\n"],"names":["usePropsAlias","UPDATE_MODEL_EVENT","CHANGE_EVENT"],"mappings":";;;;;;;AAEY,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,KAAK;AACtD,EAAE,MAAM,UAAU,GAAGA,2BAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,EAAE,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK;AACjD,IAAI,IAAI,CAACC,wBAAkB,EAAE,KAAK,CAAC,CAAC;AACpC,IAAI,IAAI,CAACC,kBAAY,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM;AAC1B,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAClD,IAAI,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAChD,MAAM,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACtB,QAAQ,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACtC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;AAC3D,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,IAAI,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAChD,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACvD,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,MAAM,OAAO,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/F,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,IAAI,YAAY,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/H,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE;AAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9I,KAAK;AACL,IAAI,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;AAC3D,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,CAAC;AACJ;;;;"}

View File

@@ -0,0 +1,8 @@
import type { TransferPropsAlias } from '../transfer';
export declare const usePropsAlias: (props: {
props: TransferPropsAlias;
}) => import("vue").ComputedRef<{
label: string;
key: string;
disabled: string;
}>;

View File

@@ -0,0 +1,20 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
const usePropsAlias = (props) => {
const initProps = {
label: "label",
key: "key",
disabled: "disabled"
};
return vue.computed(() => ({
...initProps,
...props.props
}));
};
exports.usePropsAlias = usePropsAlias;
//# sourceMappingURL=use-props-alias.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"use-props-alias.js","sources":["../../../../../../../packages/components/transfer/src/composables/use-props-alias.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { TransferPropsAlias } from '../transfer'\n\nexport const usePropsAlias = (props: { props: TransferPropsAlias }) => {\n const initProps: Required<TransferPropsAlias> = {\n label: 'label',\n key: 'key',\n disabled: 'disabled',\n }\n\n return computed(() => ({\n ...initProps,\n ...props.props,\n }))\n}\n"],"names":["computed"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACxC,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,QAAQ,EAAE,UAAU;AACxB,GAAG,CAAC;AACJ,EAAE,OAAOA,YAAQ,CAAC,OAAO;AACzB,IAAI,GAAG,SAAS;AAChB,IAAI,GAAG,KAAK,CAAC,KAAK;AAClB,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}

View File

@@ -0,0 +1,42 @@
import type { ExtractPropTypes, VNode, __ExtractPublicPropTypes } from 'vue';
import type { TransferDataItem, TransferKey } from './transfer';
import type TransferPanel from './transfer-panel.vue';
export interface TransferPanelState {
checked: TransferKey[];
allChecked: boolean;
query: string;
checkChangeByUser: boolean;
}
export declare const CHECKED_CHANGE_EVENT = "checked-change";
export declare const transferPanelProps: {
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | ((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly optionRender: {
readonly type: import("vue").PropType<(option: TransferDataItem) => VNode | VNode[]>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly placeholder: StringConstructor;
readonly title: StringConstructor;
readonly filterable: BooleanConstructor;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat) | ((new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly defaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | ((new (...args: any[]) => TransferKey[]) | (() => TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias) | ((new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
};
export type TransferPanelProps = ExtractPropTypes<typeof transferPanelProps>;
export type TransferPanelPropsPublic = __ExtractPublicPropTypes<typeof transferPanelProps>;
export declare const transferPanelEmits: {
"checked-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
};
export type TransferPanelEmits = typeof transferPanelEmits;
export type TransferPanelInstance = InstanceType<typeof TransferPanel> & unknown;

View File

@@ -0,0 +1,138 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var index$2 = require('../../checkbox/index.js');
var index$3 = require('../../input/index.js');
var iconsVue = require('@element-plus/icons-vue');
var transferPanel = require('./transfer-panel2.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var usePropsAlias = require('./composables/use-props-alias.js');
var useCheck = require('./composables/use-check.js');
var index = require('../../../hooks/use-locale/index.js');
var index$1 = require('../../../hooks/use-namespace/index.js');
var types = require('../../../utils/types.js');
const __default__ = vue.defineComponent({
name: "ElTransferPanel"
});
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: transferPanel.transferPanelProps,
emits: transferPanel.transferPanelEmits,
setup(__props, { expose, emit }) {
const props = __props;
const slots = vue.useSlots();
const OptionContent = ({ option }) => option;
const { t } = index.useLocale();
const ns = index$1.useNamespace("transfer");
const panelState = vue.reactive({
checked: [],
allChecked: false,
query: "",
checkChangeByUser: true
});
const propsAlias = usePropsAlias.usePropsAlias(props);
const {
filteredData,
checkedSummary,
isIndeterminate,
handleAllCheckedChange
} = useCheck.useCheck(props, panelState, emit);
const hasNoMatch = vue.computed(() => !types.isEmpty(panelState.query) && types.isEmpty(filteredData.value));
const hasFooter = vue.computed(() => !types.isEmpty(slots.default()[0].children));
const { checked, allChecked, query } = vue.toRefs(panelState);
expose({
query
});
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass(vue.unref(ns).b("panel"))
}, [
vue.createElementVNode("p", {
class: vue.normalizeClass(vue.unref(ns).be("panel", "header"))
}, [
vue.createVNode(vue.unref(index$2.ElCheckbox), {
modelValue: vue.unref(allChecked),
"onUpdate:modelValue": ($event) => vue.isRef(allChecked) ? allChecked.value = $event : null,
indeterminate: vue.unref(isIndeterminate),
"validate-event": false,
onChange: vue.unref(handleAllCheckedChange)
}, {
default: vue.withCtx(() => [
vue.createTextVNode(vue.toDisplayString(_ctx.title) + " ", 1),
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(checkedSummary)), 1)
]),
_: 1
}, 8, ["modelValue", "onUpdate:modelValue", "indeterminate", "onChange"])
], 2),
vue.createElementVNode("div", {
class: vue.normalizeClass([vue.unref(ns).be("panel", "body"), vue.unref(ns).is("with-footer", vue.unref(hasFooter))])
}, [
_ctx.filterable ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ElInput), {
key: 0,
modelValue: vue.unref(query),
"onUpdate:modelValue": ($event) => vue.isRef(query) ? query.value = $event : null,
class: vue.normalizeClass(vue.unref(ns).be("panel", "filter")),
size: "default",
placeholder: _ctx.placeholder,
"prefix-icon": vue.unref(iconsVue.Search),
clearable: "",
"validate-event": false
}, null, 8, ["modelValue", "onUpdate:modelValue", "class", "placeholder", "prefix-icon"])) : vue.createCommentVNode("v-if", true),
vue.withDirectives(vue.createVNode(vue.unref(index$2.ElCheckboxGroup), {
modelValue: vue.unref(checked),
"onUpdate:modelValue": ($event) => vue.isRef(checked) ? checked.value = $event : null,
"validate-event": false,
class: vue.normalizeClass([vue.unref(ns).is("filterable", _ctx.filterable), vue.unref(ns).be("panel", "list")])
}, {
default: vue.withCtx(() => [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(filteredData), (item) => {
return vue.openBlock(), vue.createBlock(vue.unref(index$2.ElCheckbox), {
key: item[vue.unref(propsAlias).key],
class: vue.normalizeClass(vue.unref(ns).be("panel", "item")),
value: item[vue.unref(propsAlias).key],
disabled: item[vue.unref(propsAlias).disabled],
"validate-event": false
}, {
default: vue.withCtx(() => {
var _a;
return [
vue.createVNode(OptionContent, {
option: (_a = _ctx.optionRender) == null ? void 0 : _a.call(_ctx, item)
}, null, 8, ["option"])
];
}),
_: 2
}, 1032, ["class", "value", "disabled"]);
}), 128))
]),
_: 1
}, 8, ["modelValue", "onUpdate:modelValue", "class"]), [
[vue.vShow, !vue.unref(hasNoMatch) && !vue.unref(types.isEmpty)(_ctx.data)]
]),
vue.withDirectives(vue.createElementVNode("div", {
class: vue.normalizeClass(vue.unref(ns).be("panel", "empty"))
}, [
vue.renderSlot(_ctx.$slots, "empty", {}, () => [
vue.createTextVNode(vue.toDisplayString(vue.unref(hasNoMatch) ? vue.unref(t)("el.transfer.noMatch") : vue.unref(t)("el.transfer.noData")), 1)
])
], 2), [
[vue.vShow, vue.unref(hasNoMatch) || vue.unref(types.isEmpty)(_ctx.data)]
])
], 2),
vue.unref(hasFooter) ? (vue.openBlock(), vue.createElementBlock("p", {
key: 0,
class: vue.normalizeClass(vue.unref(ns).be("panel", "footer"))
}, [
vue.renderSlot(_ctx.$slots, "default")
], 2)) : vue.createCommentVNode("v-if", true)
], 2);
};
}
});
var TransferPanel = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "transfer-panel.vue"]]);
exports["default"] = TransferPanel;
//# sourceMappingURL=transfer-panel.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"transfer-panel.js","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 :validate-event=\"false\"\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=\"Search\"\n clearable\n :validate-event=\"false\"\n />\n <el-checkbox-group\n v-show=\"!hasNoMatch && !isEmpty(data)\"\n v-model=\"checked\"\n :validate-event=\"false\"\n :class=\"[ns.is('filterable', filterable), ns.be('panel', 'list')]\"\n >\n <el-checkbox\n v-for=\"item in filteredData\"\n :key=\"item[propsAlias.key]\"\n :class=\"ns.be('panel', 'item')\"\n :value=\"item[propsAlias.key]\"\n :disabled=\"item[propsAlias.disabled]\"\n :validate-event=\"false\"\n >\n <option-content :option=\"optionRender?.(item)\" />\n </el-checkbox>\n </el-checkbox-group>\n <div\n v-show=\"hasNoMatch || isEmpty(data)\"\n :class=\"ns.be('panel', 'empty')\"\n >\n <slot name=\"empty\">\n {{ hasNoMatch ? t('el.transfer.noMatch') : t('el.transfer.noData') }}\n </slot>\n </div>\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\" setup>\nimport { computed, reactive, toRefs, useSlots } from 'vue'\nimport { isEmpty } from '@element-plus/utils'\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 { transferPanelEmits, transferPanelProps } from './transfer-panel'\nimport { useCheck, usePropsAlias } from './composables'\n\nimport type { VNode } from 'vue'\nimport type { TransferPanelState } from './transfer-panel'\n\ndefineOptions({\n name: 'ElTransferPanel',\n})\n\nconst props = defineProps(transferPanelProps)\nconst emit = defineEmits(transferPanelEmits)\nconst slots = useSlots()\n\nconst OptionContent = ({ option }: { option?: VNode | VNode[] }) => option\n\nconst { t } = useLocale()\nconst ns = useNamespace('transfer')\n\nconst panelState = reactive<TransferPanelState>({\n checked: [],\n allChecked: false,\n query: '',\n checkChangeByUser: true,\n})\n\nconst propsAlias = usePropsAlias(props)\n\nconst {\n filteredData,\n checkedSummary,\n isIndeterminate,\n handleAllCheckedChange,\n} = useCheck(props, panelState, emit)\n\nconst hasNoMatch = computed(\n () => !isEmpty(panelState.query) && isEmpty(filteredData.value)\n)\n\nconst hasFooter = computed(() => !isEmpty(slots.default!()[0].children))\n\nconst { checked, allChecked, query } = toRefs(panelState)\n\ndefineExpose({\n /** @description filter keyword */\n query,\n})\n</script>\n"],"names":["useSlots","useLocale","useNamespace","reactive","usePropsAlias","useCheck","computed","isEmpty","toRefs","_openBlock","_createElementBlock","_normalizeClass","_unref"],"mappings":";;;;;;;;;;;;;;;;uCAsEc,CAAA;AAAA,EACZ,IAAM,EAAA,iBAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA,CAAC,EAAE,MAAA,EAA2C,KAAA,MAAA,CAAA;AAEpE,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIC,eAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAKC,qBAAa,UAAU,CAAA,CAAA;AAElC,IAAA,MAAM,aAAaC,YAA6B,CAAA;AAAA,MAC9C,SAAS,EAAC;AAAA,MACV,UAAY,EAAA,KAAA;AAAA,MACZ,KAAO,EAAA,EAAA;AAAA,MACP,iBAAmB,EAAA,IAAA;AAAA,KACpB,CAAA,CAAA;AAED,IAAM,MAAA,UAAA,GAAaC,4BAAc,KAAK,CAAA,CAAA;AAEtC,IAAM,MAAA;AAAA,MACJ,YAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,sBAAA;AAAA,KACE,GAAAC,iBAAA,CAAS,KAAO,EAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAEpC,IAAA,MAAM,UAAa,GAAAC,YAAA,CAAA,MAAA,CAAAC,aAAA,CAAA,UAAA,CAAA,KAAA,CAAA,IAAAA,aAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACjB,MAAA,SAAe,GAAAD,YAAA,CAAA,MAAgB,CAAKC,aAAA,CAAA,iBAAqB,CAAK,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,IAChE,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,KAAA,EAAA,GAAAC,UAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAM,MAAA,CAAA;AAEN,MAAA;AAEA,KAAa,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAEX,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,QACD,KAAA,EAAAC,kBAAA,CAAAC,SAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,74 @@
import type { VNode } from 'vue';
declare function __VLS_template(): {
empty?(_: {}): any;
default?(_: {}): any;
};
declare const __VLS_component: import("vue").DefineComponent<{
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferDataItem[]) | (() => import("element-plus").TransferDataItem[]) | ((new (...args: any[]) => import("element-plus").TransferDataItem[]) | (() => import("element-plus").TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly optionRender: {
readonly type: import("vue").PropType<(option: import("element-plus").TransferDataItem) => VNode | VNode[]>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly placeholder: StringConstructor;
readonly title: StringConstructor;
readonly filterable: BooleanConstructor;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferFormat) | (() => import("element-plus").TransferFormat) | ((new (...args: any[]) => import("element-plus").TransferFormat) | (() => import("element-plus").TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: import("element-plus").TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly defaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferKey[]) | (() => import("element-plus").TransferKey[]) | ((new (...args: any[]) => import("element-plus").TransferKey[]) | (() => import("element-plus").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferPropsAlias) | (() => import("element-plus").TransferPropsAlias) | ((new (...args: any[]) => import("element-plus").TransferPropsAlias) | (() => import("element-plus").TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
}, {
/** @description filter keyword */
query: import("vue").Ref<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"checked-change": (value: import("element-plus").TransferKey[], movedKeys?: import("element-plus").TransferKey[] | undefined) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferDataItem[]) | (() => import("element-plus").TransferDataItem[]) | ((new (...args: any[]) => import("element-plus").TransferDataItem[]) | (() => import("element-plus").TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly optionRender: {
readonly type: import("vue").PropType<(option: import("element-plus").TransferDataItem) => VNode | VNode[]>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly placeholder: StringConstructor;
readonly title: StringConstructor;
readonly filterable: BooleanConstructor;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferFormat) | (() => import("element-plus").TransferFormat) | ((new (...args: any[]) => import("element-plus").TransferFormat) | (() => import("element-plus").TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: import("element-plus").TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly defaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferKey[]) | (() => import("element-plus").TransferKey[]) | ((new (...args: any[]) => import("element-plus").TransferKey[]) | (() => import("element-plus").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("element-plus").TransferPropsAlias) | (() => import("element-plus").TransferPropsAlias) | ((new (...args: any[]) => import("element-plus").TransferPropsAlias) | (() => import("element-plus").TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
}>> & {
"onChecked-change"?: ((value: import("element-plus").TransferKey[], movedKeys?: import("element-plus").TransferKey[] | undefined) => any) | undefined;
}, {
readonly data: import("element-plus").TransferDataItem[];
readonly props: import("element-plus").TransferPropsAlias;
readonly format: import("element-plus").TransferFormat;
readonly filterable: boolean;
readonly defaultChecked: import("element-plus").TransferKey[];
}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};

View File

@@ -0,0 +1,29 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var transfer = require('./transfer.js');
var runtime = require('../../../utils/vue/props/runtime.js');
const CHECKED_CHANGE_EVENT = "checked-change";
const transferPanelProps = runtime.buildProps({
data: transfer.transferProps.data,
optionRender: {
type: runtime.definePropType(Function)
},
placeholder: String,
title: String,
filterable: Boolean,
format: transfer.transferProps.format,
filterMethod: transfer.transferProps.filterMethod,
defaultChecked: transfer.transferProps.leftDefaultChecked,
props: transfer.transferProps.props
});
const transferPanelEmits = {
[CHECKED_CHANGE_EVENT]: transfer.transferCheckedChangeFn
};
exports.CHECKED_CHANGE_EVENT = CHECKED_CHANGE_EVENT;
exports.transferPanelEmits = transferPanelEmits;
exports.transferPanelProps = transferPanelProps;
//# sourceMappingURL=transfer-panel2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"transfer-panel2.js","sources":["../../../../../../packages/components/transfer/src/transfer-panel.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { transferCheckedChangeFn, transferProps } from './transfer'\n\nimport type { ExtractPropTypes, VNode, __ExtractPublicPropTypes } from 'vue'\nimport type { TransferDataItem, TransferKey } from './transfer'\nimport type TransferPanel from './transfer-panel.vue'\n\nexport interface TransferPanelState {\n checked: TransferKey[]\n allChecked: boolean\n query: string\n checkChangeByUser: boolean\n}\n\nexport const CHECKED_CHANGE_EVENT = 'checked-change'\n\nexport const transferPanelProps = buildProps({\n data: transferProps.data,\n optionRender: {\n type: definePropType<(option: TransferDataItem) => VNode | VNode[]>(\n Function\n ),\n },\n placeholder: String,\n title: String,\n filterable: Boolean,\n format: transferProps.format,\n filterMethod: transferProps.filterMethod,\n defaultChecked: transferProps.leftDefaultChecked,\n props: transferProps.props,\n} as const)\nexport type TransferPanelProps = ExtractPropTypes<typeof transferPanelProps>\nexport type TransferPanelPropsPublic = __ExtractPublicPropTypes<\n typeof transferPanelProps\n>\n\nexport const transferPanelEmits = {\n [CHECKED_CHANGE_EVENT]: transferCheckedChangeFn,\n}\nexport type TransferPanelEmits = typeof transferPanelEmits\n\nexport type TransferPanelInstance = InstanceType<typeof TransferPanel> & unknown\n"],"names":["buildProps","transferProps","definePropType","transferCheckedChangeFn"],"mappings":";;;;;;;AAEY,MAAC,oBAAoB,GAAG,iBAAiB;AACzC,MAAC,kBAAkB,GAAGA,kBAAU,CAAC;AAC7C,EAAE,IAAI,EAAEC,sBAAa,CAAC,IAAI;AAC1B,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,MAAM,EAAED,sBAAa,CAAC,MAAM;AAC9B,EAAE,YAAY,EAAEA,sBAAa,CAAC,YAAY;AAC1C,EAAE,cAAc,EAAEA,sBAAa,CAAC,kBAAkB;AAClD,EAAE,KAAK,EAAEA,sBAAa,CAAC,KAAK;AAC5B,CAAC,EAAE;AACS,MAAC,kBAAkB,GAAG;AAClC,EAAE,CAAC,oBAAoB,GAAGE,gCAAuB;AACjD;;;;;;"}

View File

@@ -0,0 +1,62 @@
import type { ExtractPropTypes, h as H, VNode, __ExtractPublicPropTypes } from 'vue';
import type Transfer from './transfer.vue';
export type TransferKey = string | number;
export type TransferDirection = 'left' | 'right';
export type TransferDataItem = Record<string, any>;
export type renderContent = (h: typeof H, option: TransferDataItem) => VNode | VNode[];
export interface TransferFormat {
noChecked?: string;
hasChecked?: string;
}
export interface TransferPropsAlias {
label?: string;
key?: string;
disabled?: string;
}
export interface TransferCheckedState {
leftChecked: TransferKey[];
rightChecked: TransferKey[];
}
export declare const LEFT_CHECK_CHANGE_EVENT = "left-check-change";
export declare const RIGHT_CHECK_CHANGE_EVENT = "right-check-change";
export declare const transferProps: {
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | ((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly titles: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly buttonTexts: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly filterPlaceholder: StringConstructor;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly leftDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | ((new (...args: any[]) => TransferKey[]) | (() => TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly rightDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | ((new (...args: any[]) => TransferKey[]) | (() => TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly renderContent: {
readonly type: import("vue").PropType<renderContent>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly modelValue: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferKey[]) | (() => TransferKey[]) | ((new (...args: any[]) => TransferKey[]) | (() => TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferFormat) | (() => TransferFormat) | ((new (...args: any[]) => TransferFormat) | (() => TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterable: BooleanConstructor;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias) | ((new (...args: any[]) => TransferPropsAlias) | (() => TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
readonly targetOrder: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "push" | "unshift" | "original", unknown, "original", boolean>;
readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
};
export type TransferProps = ExtractPropTypes<typeof transferProps>;
export type TransferPropsPublic = __ExtractPublicPropTypes<typeof transferProps>;
export declare const transferCheckedChangeFn: (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
export declare const transferEmits: {
change: (value: TransferKey[], direction: TransferDirection, movedKeys: TransferKey[]) => boolean;
"update:modelValue": (value: TransferKey[]) => boolean;
"left-check-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
"right-check-change": (value: TransferKey[], movedKeys?: TransferKey[]) => boolean;
};
export type TransferEmits = typeof transferEmits;
export type TransferInstance = InstanceType<typeof Transfer> & unknown;

View File

@@ -0,0 +1,81 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var lodashUnified = require('lodash-unified');
var runtime = require('../../../utils/vue/props/runtime.js');
var typescript = require('../../../utils/typescript.js');
var shared = require('@vue/shared');
var event = require('../../../constants/event.js');
const LEFT_CHECK_CHANGE_EVENT = "left-check-change";
const RIGHT_CHECK_CHANGE_EVENT = "right-check-change";
const transferProps = runtime.buildProps({
data: {
type: runtime.definePropType(Array),
default: () => []
},
titles: {
type: runtime.definePropType(Array),
default: () => []
},
buttonTexts: {
type: runtime.definePropType(Array),
default: () => []
},
filterPlaceholder: String,
filterMethod: {
type: runtime.definePropType(Function)
},
leftDefaultChecked: {
type: runtime.definePropType(Array),
default: () => []
},
rightDefaultChecked: {
type: runtime.definePropType(Array),
default: () => []
},
renderContent: {
type: runtime.definePropType(Function)
},
modelValue: {
type: runtime.definePropType(Array),
default: () => []
},
format: {
type: runtime.definePropType(Object),
default: () => ({})
},
filterable: Boolean,
props: {
type: runtime.definePropType(Object),
default: () => typescript.mutable({
label: "label",
key: "key",
disabled: "disabled"
})
},
targetOrder: {
type: String,
values: ["original", "push", "unshift"],
default: "original"
},
validateEvent: {
type: Boolean,
default: true
}
});
const transferCheckedChangeFn = (value, movedKeys) => [value, movedKeys].every(shared.isArray) || shared.isArray(value) && lodashUnified.isNil(movedKeys);
const transferEmits = {
[event.CHANGE_EVENT]: (value, direction, movedKeys) => [value, movedKeys].every(shared.isArray) && ["left", "right"].includes(direction),
[event.UPDATE_MODEL_EVENT]: (value) => shared.isArray(value),
[LEFT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn,
[RIGHT_CHECK_CHANGE_EVENT]: transferCheckedChangeFn
};
exports.LEFT_CHECK_CHANGE_EVENT = LEFT_CHECK_CHANGE_EVENT;
exports.RIGHT_CHECK_CHANGE_EVENT = RIGHT_CHECK_CHANGE_EVENT;
exports.transferCheckedChangeFn = transferCheckedChangeFn;
exports.transferEmits = transferEmits;
exports.transferProps = transferProps;
//# sourceMappingURL=transfer.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,103 @@
import type { TransferDataItem, TransferDirection } from './transfer';
import type { TransferPanelInstance } from './transfer-panel';
declare function __VLS_template(): {
"left-empty"?(_: {}): any;
"left-footer"?(_: {}): any;
"right-empty"?(_: {}): any;
"right-footer"?(_: {}): any;
};
declare const __VLS_component: import("vue").DefineComponent<{
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | ((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly titles: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly buttonTexts: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly filterPlaceholder: StringConstructor;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly leftDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly rightDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly renderContent: {
readonly type: import("vue").PropType<import("./transfer").renderContent>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly modelValue: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat) | ((new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterable: BooleanConstructor;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias) | ((new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
readonly targetOrder: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "push" | "unshift" | "original", unknown, "original", boolean>;
readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
}, {
/** @description clear the filter keyword of a certain panel */
clearQuery: (which: TransferDirection) => void;
/** @description left panel ref */
leftPanel: import("vue").Ref<TransferPanelInstance | undefined>;
/** @description right panel ref */
rightPanel: import("vue").Ref<TransferPanelInstance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"update:modelValue": (value: import("./transfer").TransferKey[]) => void;
change: (value: import("./transfer").TransferKey[], direction: TransferDirection, movedKeys: import("./transfer").TransferKey[]) => void;
"left-check-change": (value: import("./transfer").TransferKey[], movedKeys?: import("./transfer").TransferKey[] | undefined) => void;
"right-check-change": (value: import("./transfer").TransferKey[], movedKeys?: import("./transfer").TransferKey[] | undefined) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly data: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]) | ((new (...args: any[]) => TransferDataItem[]) | (() => TransferDataItem[]))[], unknown, unknown, () => never[], boolean>;
readonly titles: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly buttonTexts: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => [string, string]) | (() => [string, string]) | ((new (...args: any[]) => [string, string]) | (() => [string, string]))[], unknown, unknown, () => never[], boolean>;
readonly filterPlaceholder: StringConstructor;
readonly filterMethod: {
readonly type: import("vue").PropType<(query: string, item: TransferDataItem) => boolean>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly leftDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly rightDefaultChecked: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly renderContent: {
readonly type: import("vue").PropType<import("./transfer").renderContent>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
readonly modelValue: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]) | ((new (...args: any[]) => import("./transfer").TransferKey[]) | (() => import("./transfer").TransferKey[]))[], unknown, unknown, () => never[], boolean>;
readonly format: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat) | ((new (...args: any[]) => import("./transfer").TransferFormat) | (() => import("./transfer").TransferFormat))[], unknown, unknown, () => {}, boolean>;
readonly filterable: BooleanConstructor;
readonly props: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias) | ((new (...args: any[]) => import("./transfer").TransferPropsAlias) | (() => import("./transfer").TransferPropsAlias))[], unknown, unknown, () => import("element-plus/es/utils").Mutable<{
readonly label: "label";
readonly key: "key";
readonly disabled: "disabled";
}>, boolean>;
readonly targetOrder: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "push" | "unshift" | "original", unknown, "original", boolean>;
readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
}>> & {
"onUpdate:modelValue"?: ((value: import("./transfer").TransferKey[]) => any) | undefined;
onChange?: ((value: import("./transfer").TransferKey[], direction: TransferDirection, movedKeys: import("./transfer").TransferKey[]) => any) | undefined;
"onLeft-check-change"?: ((value: import("./transfer").TransferKey[], movedKeys?: import("./transfer").TransferKey[] | undefined) => any) | undefined;
"onRight-check-change"?: ((value: import("./transfer").TransferKey[], movedKeys?: import("./transfer").TransferKey[] | undefined) => any) | undefined;
}, {
readonly data: TransferDataItem[];
readonly props: import("./transfer").TransferPropsAlias;
readonly titles: [string, string];
readonly modelValue: import("./transfer").TransferKey[];
readonly format: import("./transfer").TransferFormat;
readonly validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly filterable: boolean;
readonly buttonTexts: [string, string];
readonly leftDefaultChecked: import("./transfer").TransferKey[];
readonly rightDefaultChecked: import("./transfer").TransferKey[];
readonly targetOrder: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "push" | "unshift" | "original", unknown>;
}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};

View File

@@ -0,0 +1,173 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var index$2 = require('../../button/index.js');
var index$3 = require('../../icon/index.js');
var iconsVue = require('@element-plus/icons-vue');
var transfer = require('./transfer.js');
var transferPanel = require('./transfer-panel.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var useComputedData = require('./composables/use-computed-data.js');
var useMove = require('./composables/use-move.js');
var useCheckedChange = require('./composables/use-checked-change.js');
var index = require('../../../hooks/use-locale/index.js');
var index$1 = require('../../../hooks/use-namespace/index.js');
var useFormItem = require('../../form/src/hooks/use-form-item.js');
var usePropsAlias = require('./composables/use-props-alias.js');
var error = require('../../../utils/error.js');
var types = require('../../../utils/types.js');
const __default__ = vue.defineComponent({
name: "ElTransfer"
});
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: transfer.transferProps,
emits: transfer.transferEmits,
setup(__props, { expose, emit }) {
const props = __props;
const slots = vue.useSlots();
const { t } = index.useLocale();
const ns = index$1.useNamespace("transfer");
const { formItem } = useFormItem.useFormItem();
const checkedState = vue.reactive({
leftChecked: [],
rightChecked: []
});
const propsAlias = usePropsAlias.usePropsAlias(props);
const { sourceData, targetData } = useComputedData.useComputedData(props);
const { onSourceCheckedChange, onTargetCheckedChange } = useCheckedChange.useCheckedChange(checkedState, emit);
const { addToLeft, addToRight } = useMove.useMove(props, checkedState, emit);
const leftPanel = vue.ref();
const rightPanel = vue.ref();
const clearQuery = (which) => {
switch (which) {
case "left":
leftPanel.value.query = "";
break;
case "right":
rightPanel.value.query = "";
break;
}
};
const hasButtonTexts = vue.computed(() => props.buttonTexts.length === 2);
const leftPanelTitle = vue.computed(() => props.titles[0] || t("el.transfer.titles.0"));
const rightPanelTitle = vue.computed(() => props.titles[1] || t("el.transfer.titles.1"));
const panelFilterPlaceholder = vue.computed(() => props.filterPlaceholder || t("el.transfer.filterPlaceholder"));
vue.watch(() => props.modelValue, () => {
var _a;
if (props.validateEvent) {
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn());
}
});
const optionRender = vue.computed(() => (option) => {
var _a;
if (props.renderContent)
return props.renderContent(vue.h, option);
const defaultSlotVNodes = (((_a = slots.default) == null ? void 0 : _a.call(slots, { option })) || []).filter((node) => node.type !== vue.Comment);
if (defaultSlotVNodes.length) {
return defaultSlotVNodes;
}
return vue.h("span", option[propsAlias.value.label] || option[propsAlias.value.key]);
});
expose({
clearQuery,
leftPanel,
rightPanel
});
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass(vue.unref(ns).b())
}, [
vue.createVNode(transferPanel["default"], {
ref_key: "leftPanel",
ref: leftPanel,
data: vue.unref(sourceData),
"option-render": vue.unref(optionRender),
placeholder: vue.unref(panelFilterPlaceholder),
title: vue.unref(leftPanelTitle),
filterable: _ctx.filterable,
format: _ctx.format,
"filter-method": _ctx.filterMethod,
"default-checked": _ctx.leftDefaultChecked,
props: props.props,
onCheckedChange: vue.unref(onSourceCheckedChange)
}, {
empty: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "left-empty")
]),
default: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "left-footer")
]),
_: 3
}, 8, ["data", "option-render", "placeholder", "title", "filterable", "format", "filter-method", "default-checked", "props", "onCheckedChange"]),
vue.createElementVNode("div", {
class: vue.normalizeClass(vue.unref(ns).e("buttons"))
}, [
vue.createVNode(vue.unref(index$2.ElButton), {
type: "primary",
class: vue.normalizeClass([vue.unref(ns).e("button"), vue.unref(ns).is("with-texts", vue.unref(hasButtonTexts))]),
disabled: vue.unref(types.isEmpty)(checkedState.rightChecked),
onClick: vue.unref(addToLeft)
}, {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(index$3.ElIcon), null, {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(iconsVue.ArrowLeft))
]),
_: 1
}),
!vue.unref(types.isUndefined)(_ctx.buttonTexts[0]) ? (vue.openBlock(), vue.createElementBlock("span", { key: 0 }, vue.toDisplayString(_ctx.buttonTexts[0]), 1)) : vue.createCommentVNode("v-if", true)
]),
_: 1
}, 8, ["class", "disabled", "onClick"]),
vue.createVNode(vue.unref(index$2.ElButton), {
type: "primary",
class: vue.normalizeClass([vue.unref(ns).e("button"), vue.unref(ns).is("with-texts", vue.unref(hasButtonTexts))]),
disabled: vue.unref(types.isEmpty)(checkedState.leftChecked),
onClick: vue.unref(addToRight)
}, {
default: vue.withCtx(() => [
!vue.unref(types.isUndefined)(_ctx.buttonTexts[1]) ? (vue.openBlock(), vue.createElementBlock("span", { key: 0 }, vue.toDisplayString(_ctx.buttonTexts[1]), 1)) : vue.createCommentVNode("v-if", true),
vue.createVNode(vue.unref(index$3.ElIcon), null, {
default: vue.withCtx(() => [
vue.createVNode(vue.unref(iconsVue.ArrowRight))
]),
_: 1
})
]),
_: 1
}, 8, ["class", "disabled", "onClick"])
], 2),
vue.createVNode(transferPanel["default"], {
ref_key: "rightPanel",
ref: rightPanel,
data: vue.unref(targetData),
"option-render": vue.unref(optionRender),
placeholder: vue.unref(panelFilterPlaceholder),
filterable: _ctx.filterable,
format: _ctx.format,
"filter-method": _ctx.filterMethod,
title: vue.unref(rightPanelTitle),
"default-checked": _ctx.rightDefaultChecked,
props: props.props,
onCheckedChange: vue.unref(onTargetCheckedChange)
}, {
empty: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "right-empty")
]),
default: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "right-footer")
]),
_: 3
}, 8, ["data", "option-render", "placeholder", "filterable", "format", "filter-method", "title", "default-checked", "props", "onCheckedChange"])
], 2);
};
}
});
var Transfer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "transfer.vue"]]);
exports["default"] = Transfer;
//# sourceMappingURL=transfer2.js.map

File diff suppressed because one or more lines are too long