UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

152 lines (148 loc) 4.41 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { defineComponent, ref, watch, createVNode, mergeProps } from 'vue'; import { Input } from '../input/index.js'; import { useBaseClassName } from './hooks.js'; import { useCommonClassName } from '../hooks/useConfig.js'; import { Color } from '../_common/js/color-picker/color.js'; import '../input/input.js'; import '../_chunks/dep-fb0628ce.js'; import '../_chunks/dep-eade0dcf.js'; import '@babel/runtime/helpers/objectWithoutProperties'; import '../input/props.js'; import '../form/hooks.js'; import '../hooks/tnode.js'; import 'lodash/isFunction'; import 'lodash/camelCase'; import 'lodash/kebabCase'; import '../utils/render-tnode.js'; import 'lodash/isEmpty'; import 'lodash/isString'; import 'lodash/isObject'; import '../input/useInput.js'; import '@babel/runtime/helpers/slicedToArray'; import '../form/const.js'; import '../config-provider/useConfig.js'; import 'lodash/cloneDeep'; import '../config-provider/context.js'; import 'lodash/mergeWith'; import 'lodash/merge'; import '../_common/js/global-config/default-config.js'; import '../_common/js/global-config/locale/en_US.js'; import '../_chunks/dep-3a1cce9f.js'; import 'lodash/isArray'; import '../hooks/useVModel.js'; import '../input/useLengthLimit.js'; import '../_common/js/log/log.js'; import '../_common/js/utils/helper.js'; import '@babel/runtime/helpers/toConsumableArray'; import 'lodash/isNull'; import 'lodash/isUndefined'; import 'lodash/isNumber'; import '../input/useInputEventHandler.js'; import '../input/useInputWidth.js'; import '../input/input-group.js'; import '../input/input-group-props.js'; import '../utils/withInstall.js'; import '@babel/runtime/helpers/classCallCheck'; import '@babel/runtime/helpers/createClass'; import 'tinycolor2'; import '../_common/js/color-picker/cmyk.js'; import '../_common/js/color-picker/gradient.js'; var DefaultTrigger = defineComponent({ name: "DefaultTrigger", inheritAttrs: false, props: { color: { type: String, "default": "" }, disabled: { type: Boolean, "default": false }, clearable: { type: Boolean, "default": false }, inputProps: { type: Object, "default": function _default() { return { autoWidth: true }; } }, onTriggerChange: { type: Function, "default": function _default() { return function () {}; } }, size: { type: String, "default": "medium" } }, setup: function setup(props) { var baseClassName = useBaseClassName(); var value = ref(props.color); var _useCommonClassName = useCommonClassName(), sizeClassNames = _useCommonClassName.SIZE; watch(function () { return [props.color]; }, function () { return value.value = props.color; }); var handleChange = function handleChange(input) { if (input === props.color) { return; } if (input && !Color.isValid(input)) { value.value = props.color; } else { value.value = input; } props.onTriggerChange(value.value); }; return { baseClassName: baseClassName, value: value, handleChange: handleChange, sizeClassNames: sizeClassNames }; }, render: function render() { var _this = this; var baseClassName = this.baseClassName, sizeClassNames = this.sizeClassNames; var inputSlots = { label: function label() { return createVNode("div", { "class": ["".concat(baseClassName, "__trigger--default__color"), "".concat(baseClassName, "--bg-alpha")] }, [createVNode("span", { "class": ["color-inner", _defineProperty({}, sizeClassNames[_this.size], _this.size !== "medium")], "style": { background: _this.value } }, null)]); } }; return createVNode(Input, mergeProps({ "clearable": this.clearable, "size": this.size, "modelValue": _this.value, "onUpdate:modelValue": function onUpdateModelValue($event) { return _this.value = $event; }, "disabled": this.disabled, "onBlur": this.handleChange }, this.inputProps), inputSlots); } }); export { DefaultTrigger as default }; //# sourceMappingURL=trigger.js.map