@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
105 lines (102 loc) • 2.96 kB
JavaScript
import { isNil } from 'lodash-unified';
import '../../../hooks/index.mjs';
import '../../../utils/index.mjs';
import '../../popper/index.mjs';
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
import { isNumber, isBoolean } from '../../../utils/types.mjs';
import { popperProps } from '../../popper/src/popper.mjs';
import { useColorProp } from '../../../hooks/use-common-props/index.mjs';
import { isArray, isString, isObject } from '@vue/shared';
const selectProps = buildProps({
showAfter: {
type: Number,
default: 0,
validator: (val) => isNumber(val) && val >= 0
},
hideAfter: {
type: Number,
default: 0,
validator: (val) => isNumber(val) && val >= 0
},
flip: {
...popperProps.flip,
default: true
},
fit: {
...popperProps.fit,
default: true
},
disabled: popperProps.disabled,
onClick: popperProps.onClick,
onBlur: popperProps.onBlur,
onFocus: popperProps.onFocus,
onMouseenter: popperProps.onMouseenter,
onMouseleave: popperProps.onMouseleave,
onContextmenu: popperProps.onContextmenu,
onKeydown: popperProps.onKeydown,
strategy: { ...popperProps.strategy, default: "absolute" },
teleported: popperProps.teleported,
modelValue: {
type: definePropType([Array, String, Number, Object]),
default: ""
},
notValue: {
type: definePropType([String, Number, Object]),
default: ""
},
loadingText: { type: String },
noMatchText: { type: String },
noDataText: { type: String },
allowCreate: { type: Boolean, default: false },
multiple: { type: Boolean, default: false },
multipleLimit: {
type: Number,
default: 0
},
filter: { type: Boolean },
filterMethod: {
type: definePropType(Function)
},
collapseChips: { type: Boolean },
maxCollapseChips: {
type: Number,
default: 1,
validator: (value) => isNumber(value) && value >= 0
},
defaultFirstOption: { type: Boolean },
loading: { type: Boolean },
color: { ...useColorProp, default: "primary" },
state: useColorProp,
block: { type: Boolean },
hideScrollbar: { type: Boolean },
labelFloat: { type: Boolean },
label: {
type: String,
default: null
},
placeholder: {
type: String,
default: null
},
shape: {
type: String,
values: ["square"],
default: ""
},
id: {
type: String
},
nativeScrollbar: { type: Boolean },
clearable: { type: Boolean }
});
const selectEmits = {
"update:modelValue": (val) => isArray(val) || isString(val) || isNumber(val) || isBoolean(val) || isObject(val) || isNil(val),
"visible-change": (val) => isBoolean(val),
"remove-tag": (val) => val,
focus: (event) => event instanceof Event,
blur: (event) => event instanceof Event,
change: (val) => isArray(val) || isString(val) || isNumber(val) || isBoolean(val) || isObject(val) || isNil(val),
clear: () => true
};
export { selectEmits, selectProps };
//# sourceMappingURL=select.mjs.map