UNPKG

tdesign-vue-next

Version:
139 lines (135 loc) 4.25 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { defineComponent, ref, watch, createVNode, mergeProps } from 'vue'; import { Input } from '../../../input/index.js'; import { C as Color } from '../../../_chunks/dep-547ae1d1.js'; import '@babel/runtime/helpers/classCallCheck'; import '@babel/runtime/helpers/createClass'; import { useBaseClassName } from '../../hooks/index.js'; import { useCommonClassName } from '../../../hooks/useConfig.js'; import '../../../input/input.js'; import '@babel/runtime/helpers/objectWithoutProperties'; import 'tdesign-icons-vue-next'; import '../../../input/props.js'; import '../../../hooks/useDisabled.js'; import 'lodash-es'; import '../../../hooks/useReadonly.js'; import '../../../hooks/useGlobalIcon.js'; import '../../../config-provider/hooks/useConfig.js'; import '../../../config-provider/utils/context.js'; import '../../../_chunks/dep-c75b9b8e.js'; import '@babel/runtime/helpers/typeof'; import '../../../_chunks/dep-caecb55d.js'; import 'dayjs'; import '../../../_chunks/dep-7c56a7f5.js'; import '../../../utils/render-tnode.js'; import '../../../input/hooks/useInput.js'; import '@babel/runtime/helpers/slicedToArray'; import '../../../form/consts/index.js'; import '../../../hooks/useKeepAnimation.js'; import '../../../hooks/useVModel.js'; import '../../../input/hooks/useLengthLimit.js'; import '../../../_chunks/dep-92106726.js'; import '../../../_chunks/dep-56c3d46e.js'; import '@babel/runtime/helpers/toConsumableArray'; import '../../../input/hooks/useInputEventHandler.js'; import '../../../input/hooks/useInputWidth.js'; import '../../../hooks/useResizeObserver.js'; import '../../../input/input-group.js'; import '../../../input/input-group-props.js'; import '../../../utils/withInstall.js'; import 'tinycolor2'; var DefaultTrigger = defineComponent({ name: "DefaultTrigger", inheritAttrs: false, props: { color: { type: String, "default": "" }, disabled: { type: Boolean, "default": false }, borderless: { 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 function () { var inputSlots = { label: function label() { return createVNode("div", { "class": ["".concat(baseClassName.value, "__trigger--default__color"), "".concat(baseClassName.value, "--bg-alpha")] }, [createVNode("span", { "class": ["color-inner", _defineProperty({}, sizeClassNames.value[props.size], props.size !== "medium")], "style": { background: value.value } }, null)]); } }; return createVNode(Input, mergeProps({ "borderless": props.borderless, "clearable": props.clearable, "size": props.size, "modelValue": value.value, "onUpdate:modelValue": function onUpdateModelValue($event) { return value.value = $event; }, "disabled": props.disabled, "onBlur": handleChange, "onChange": handleChange }, props.inputProps), inputSlots); }; } }); export { DefaultTrigger as default }; //# sourceMappingURL=index.js.map