element-plus
Version:
A Component Library for Vue 3
217 lines (216 loc) • 5.91 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
require("../../../_virtual/_rolldown/runtime.js");
const require_event = require("../../../constants/event.js");
const require_types = require("../../../utils/types.js");
const require_runtime$1 = require("../../../utils/vue/props/runtime.js");
const require_icon = require("../../../utils/vue/icon.js");
const require_index = require("../../../hooks/use-size/index.js");
const require_index$1 = require("../../../hooks/use-empty-values/index.js");
const require_content = require("../../tooltip/src/content.js");
const require_tag = require("../../tag/src/tag.js");
const require_config = require("../../cascader-panel/src/config.js");
let _element_plus_icons_vue = require("@element-plus/icons-vue");
let _popperjs_core = require("@popperjs/core");
//#region ../../packages/components/cascader/src/cascader.ts
/**
* @deprecated Removed after 3.0.0, Use `CascaderComponentProps` instead.
*/
const cascaderProps = require_runtime$1.buildProps({
...require_config.CommonProps,
/**
* @description size of input
*/
size: require_index.useSizeProp,
/**
* @description placeholder of input
*/
placeholder: String,
/**
* @description whether Cascader is disabled
*/
disabled: {
type: Boolean,
default: void 0
},
/**
* @description whether selected value can be cleared
*/
clearable: Boolean,
/**
* @description custom clear icon component
*/
clearIcon: {
type: require_icon.iconPropType,
default: _element_plus_icons_vue.CircleClose
},
/**
* @description whether the options can be searched
*/
filterable: Boolean,
/**
* @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.
*/
filterMethod: {
type: require_runtime$1.definePropType(Function),
default: (node, keyword) => node.text.includes(keyword)
},
/**
* @description option label separator
*/
separator: {
type: String,
default: " / "
},
/**
* @description whether to display all levels of the selected value in the input
*/
showAllLevels: {
type: Boolean,
default: true
},
/**
* @description whether to collapse tags in multiple selection mode
*/
collapseTags: Boolean,
/**
* @description The max tags number to be shown. To use this, collapse-tags must be true
*/
maxCollapseTags: {
type: Number,
default: 1
},
/**
* @description whether show all selected tags when mouse hover text of collapse-tags. To use this, collapse-tags must be true
*/
collapseTagsTooltip: Boolean,
/**
* @description The max height of collapse tags tooltip, in pixels. To use this, collapse-tags-tooltip must be true
*/
maxCollapseTagsTooltipHeight: { type: [String, Number] },
/**
* @description debounce delay when typing filter keyword, in milliseconds
*/
debounce: {
type: Number,
default: 300
},
/**
* @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted
*/
beforeFilter: {
type: require_runtime$1.definePropType(Function),
default: () => true
},
/**
* @description position of dropdown
*/
placement: {
type: require_runtime$1.definePropType(String),
values: _popperjs_core.placements,
default: "bottom-start"
},
/**
* @description list of possible positions for dropdown
*/
fallbackPlacements: {
type: require_runtime$1.definePropType(Array),
default: [
"bottom-start",
"bottom",
"top-start",
"top",
"right",
"left"
]
},
/**
* @description custom class name for Cascader's dropdown
*/
popperClass: require_content.useTooltipContentProps.popperClass,
/**
* @description custom style for Cascader's dropdown
*/
popperStyle: require_content.useTooltipContentProps.popperStyle,
/**
* @description whether cascader popup is teleported
*/
teleported: require_content.useTooltipContentProps.teleported,
/**
* @description tooltip theme, built-in theme: `dark` / `light`
*/
effect: {
type: require_runtime$1.definePropType(String),
default: "light"
},
/**
* @description tag type
*/
tagType: {
...require_tag.tagProps.type,
default: "info"
},
/**
* @description tag effect
*/
tagEffect: {
...require_tag.tagProps.effect,
default: "light"
},
/**
* @description whether to trigger form validation
*/
validateEvent: {
type: Boolean,
default: true
},
/**
* @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed
*/
persistent: {
type: Boolean,
default: true
},
/**
* @description Use `parent` when you want things tidy (like "Entire Collection" instead of listing 100 items)
* Use `child` when every single item matters (like important settings)
*/
showCheckedStrategy: {
type: String,
values: ["parent", "child"],
default: "child"
},
/**
* @description whether to check or uncheck node when clicking on the node
*/
checkOnClickNode: Boolean,
/**
* @description whether to show the radio or checkbox prefix
*/
showPrefix: {
type: Boolean,
default: true
},
/**
* @description whether the width of the suggestion panel is the same as the input, if the value is `number`, then the width is fixed
*/
fitInputWidth: {
type: [Boolean, Number],
default: false
},
...require_index$1.useEmptyValuesProps
});
const emitChangeFn = (value) => true;
const cascaderEmits = {
[require_event.UPDATE_MODEL_EVENT]: emitChangeFn,
[require_event.CHANGE_EVENT]: emitChangeFn,
focus: (evt) => evt instanceof FocusEvent,
blur: (evt) => evt instanceof FocusEvent,
clear: () => true,
visibleChange: (val) => require_types.isBoolean(val),
expandChange: (val) => !!val,
removeTag: (val) => !!val
};
//#endregion
exports.cascaderEmits = cascaderEmits;
exports.cascaderProps = cascaderProps;
//# sourceMappingURL=cascader.js.map