UNPKG

tdesign-vue-next

Version:
150 lines (146 loc) 4.81 kB
/** * tdesign v1.20.3 * (c) 2026 tdesign * @license MIT */ import { defineComponent, ref, watch, createVNode, mergeProps } from 'vue'; import { _ as _defineProperty } from '../../../_chunks/dep-07d8f2aa.mjs'; import { Input } from '../../../input/index.mjs'; import '../../utils/index.mjs'; import { useBaseClassName } from '../../hooks/index.mjs'; import { c as useCommonClassName, p as useEventForward } from '../../../_chunks/dep-5975d369.mjs'; import { g as getColorObject, C as Color } from '../../../_chunks/dep-0092f1d8.mjs'; import '../../../_chunks/dep-d84a2ec7.mjs'; import '../../../input/input.mjs'; import '../../../_chunks/dep-b9c8a688.mjs'; import 'tdesign-icons-vue-next'; import '../../../input/props.mjs'; import '../../../input/hooks/index.mjs'; import '../../../input/hooks/useInput.mjs'; import '../../../_chunks/dep-ff183185.mjs'; import '../../../_chunks/dep-390963eb.mjs'; import '../../../form/constants/index.mjs'; import 'lodash-es'; import '../../../_chunks/dep-adf8ce39.mjs'; import '../../../_chunks/dep-12b4e978.mjs'; import '../../../_chunks/dep-0841ee8f.mjs'; import '../../../config-provider/hooks/useConfig.mjs'; import '../../../config-provider/utils/context.mjs'; import '../../../_chunks/dep-cf105282.mjs'; import '../../../_chunks/dep-dcbc09c5.mjs'; import '../../../_chunks/dep-9fc6972b.mjs'; import '../../../_chunks/dep-a1cbfaae.mjs'; import '../../../_chunks/dep-3f53eff0.mjs'; import '../../../_chunks/dep-4c65e11b.mjs'; import '../../../_chunks/dep-46776e3b.mjs'; import '../../../_chunks/dep-8aebe545.mjs'; import '../../../input/hooks/useLengthLimit.mjs'; import '../../../_chunks/dep-ad9e539e.mjs'; import '../../../_chunks/dep-92b8be55.mjs'; import '../../../input/hooks/useInputEventHandler.mjs'; import '../../../input/hooks/useInputWidth.mjs'; import '../../../input/input-group.mjs'; import '../../../input/input-group-props.mjs'; import './style/css.mjs'; import '../../../_chunks/dep-462ec1db.mjs'; import '../../../_chunks/dep-35d348a7.mjs'; 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 () {}; } }, onTriggerClear: { 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) { props.onTriggerChange(value.value, { color: getColorObject(new Color(input)), trigger: "input" }); } }; var handleClear = function handleClear(context) { var _props$onTriggerClear; return (_props$onTriggerClear = props.onTriggerClear) === null || _props$onTriggerClear === void 0 ? void 0 : _props$onTriggerClear.call(props, context); }; var inputEvents = useEventForward(props.inputProps, { onBlur: handleChange, onChange: handleChange, onClear: handleClear }); 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 }, inputEvents.value), inputSlots); }; } }); export { DefaultTrigger as default }; //# sourceMappingURL=index.mjs.map