UNPKG

tdesign-vue

Version:
208 lines (204 loc) 8.19 kB
/** * tdesign v1.14.1 * (c) 2025 tdesign * @license MIT */ import Vue from 'vue'; import { mergeWith } from 'lodash-es'; import { defaultGlobalConfig } from './context.js'; import { t } from '../_common/js/global-config/t.js'; import './type.js'; import '../_common/js/global-config/default-config.js'; import '../_common/js/global-config/locale/zh_CN.js'; import '../_chunks/dep-d2f11e9e.js'; import '@babel/runtime/helpers/typeof'; import '../_chunks/dep-05dc6583.js'; import 'dayjs'; import '../_chunks/dep-62386ed0.js'; import '@babel/runtime/helpers/slicedToArray'; function getConfigReceiverMixins(_componentName) { return Vue.extend({ name: "TConfigProvider", inject: { globalConfig: { "default": void 0 } }, computed: { global: function global() { var data = this.globalConfig || defaultGlobalConfig; return data[_componentName]; }, classPrefix: function classPrefix() { var _this$globalConfig; return ((_this$globalConfig = this.globalConfig) === null || _this$globalConfig === void 0 ? void 0 : _this$globalConfig.classPrefix) || (defaultGlobalConfig === null || defaultGlobalConfig === void 0 ? void 0 : defaultGlobalConfig.classPrefix); }, componentName: function componentName() { var _this$globalConfig2; var classPrefix = ((_this$globalConfig2 = this.globalConfig) === null || _this$globalConfig2 === void 0 ? void 0 : _this$globalConfig2.classPrefix) || (defaultGlobalConfig === null || defaultGlobalConfig === void 0 ? void 0 : defaultGlobalConfig.classPrefix); return "".concat(classPrefix, "-").concat(_componentName); }, commonSizeClassName: function commonSizeClassName() { return { small: "".concat(this.classPrefix, "-size-s"), medium: "".concat(this.classPrefix, "-size-m"), large: "".concat(this.classPrefix, "-size-l"), "default": "", xs: "".concat(this.classPrefix, "-size-xs"), xl: "".concat(this.classPrefix, "-size-xl"), block: "".concat(this.classPrefix, "-size-full-width") }; }, commonStatusClassName: function commonStatusClassName() { return { loading: "".concat(this.classPrefix, "-is-loading"), loadMore: "".concat(this.classPrefix, "-is-load-more"), disabled: "".concat(this.classPrefix, "-is-disabled"), focused: "".concat(this.classPrefix, "-is-focused"), success: "".concat(this.classPrefix, "-is-success"), error: "".concat(this.classPrefix, "-is-error"), warning: "".concat(this.classPrefix, "-is-warning"), selected: "".concat(this.classPrefix, "-is-selected"), active: "".concat(this.classPrefix, "-is-active"), checked: "".concat(this.classPrefix, "-is-checked"), current: "".concat(this.classPrefix, "-is-current"), hidden: "".concat(this.classPrefix, "-is-hidden"), visible: "".concat(this.classPrefix, "-is-visible"), expanded: "".concat(this.classPrefix, "-is-expanded"), indeterminate: "".concat(this.classPrefix, "-is-indeterminate") }; } }, methods: { t: function t$1(pattern, placement) { if (typeof pattern === "function") { return pattern(placement); } return t(pattern, placement); } } }); } function getGlobalIconMixins() { return Vue.extend({ name: "TGlobalIcon", inject: { globalConfig: { "default": void 0 } }, methods: { useGlobalIcon: function useGlobalIcon(tdIcon) { var iconGlobalData = (this.globalConfig || defaultGlobalConfig).icon; var resultIcon = {}; Object.keys(tdIcon).forEach(function (key) { resultIcon[key] = (iconGlobalData === null || iconGlobalData === void 0 ? void 0 : iconGlobalData[key]) || tdIcon[key]; }); return resultIcon; } } }); } function getKeepAnimationMixins() { return Vue.extend({ name: "TKeepAnimation", inject: { globalConfig: { "default": void 0 } }, computed: { keepAnimation: function keepAnimation() { var animationConfig = mergeWith({}, defaultGlobalConfig.animation); if (this.globalConfig && this.globalConfig.animation) { animationConfig = mergeWith(animationConfig, this.globalConfig.animation, function (objValue, srcValue) { if (Array.isArray(objValue)) { return srcValue; } }); } var isKeep = function isKeep(type) { return animationConfig && !animationConfig.exclude.includes(type) && animationConfig.include.includes(type); }; return { ripple: isKeep("ripple"), expand: isKeep("expand"), fade: isKeep("fade") }; } } }); } function getClassPrefixMixins(_componentName2) { return Vue.extend({ name: "TClassPrefixProvider", inject: { globalConfig: { "default": void 0 } }, computed: { classPrefix: function classPrefix() { var _this$globalConfig3; return ((_this$globalConfig3 = this.globalConfig) === null || _this$globalConfig3 === void 0 ? void 0 : _this$globalConfig3.classPrefix) || defaultGlobalConfig.classPrefix; }, componentName: function componentName() { var _this$globalConfig4; var classPrefix = ((_this$globalConfig4 = this.globalConfig) === null || _this$globalConfig4 === void 0 ? void 0 : _this$globalConfig4.classPrefix) || defaultGlobalConfig.classPrefix; return "".concat(classPrefix, "-").concat(_componentName2); }, commonSizeClassName: function commonSizeClassName() { return { small: "".concat(this.classPrefix, "-size-s"), medium: "".concat(this.classPrefix, "-size-m"), large: "".concat(this.classPrefix, "-size-l"), "default": "", xs: "".concat(this.classPrefix, "-size-xs"), xl: "".concat(this.classPrefix, "-size-xl"), block: "".concat(this.classPrefix, "-size-full-width") }; }, commonStatusClassName: function commonStatusClassName() { return { loading: "".concat(this.classPrefix, "-is-loading"), loadMore: "".concat(this.classPrefix, "-is-load-more"), disabled: "".concat(this.classPrefix, "-is-disabled"), focused: "".concat(this.classPrefix, "-is-focused"), success: "".concat(this.classPrefix, "-is-success"), error: "".concat(this.classPrefix, "-is-error"), warning: "".concat(this.classPrefix, "-is-warning"), selected: "".concat(this.classPrefix, "-is-selected"), active: "".concat(this.classPrefix, "-is-active"), checked: "".concat(this.classPrefix, "-is-checked"), current: "".concat(this.classPrefix, "-is-current"), hidden: "".concat(this.classPrefix, "-is-hidden"), visible: "".concat(this.classPrefix, "-is-visible"), expanded: "".concat(this.classPrefix, "-is-expanded"), indeterminate: "".concat(this.classPrefix, "-is-indeterminate") }; } } }); } function getAttachConfigMixins(componentName) { return Vue.extend({ name: "TAttachProvider", inject: { globalConfig: { "default": void 0 } }, methods: { globalAttach: function globalAttach() { var _this$globalConfig5; var globalConfigAttach = (_this$globalConfig5 = this.globalConfig) === null || _this$globalConfig5 === void 0 ? void 0 : _this$globalConfig5.attach; if (typeof globalConfigAttach === "string" || typeof globalConfigAttach === "function") { return globalConfigAttach; } return (globalConfigAttach === null || globalConfigAttach === void 0 ? void 0 : globalConfigAttach[componentName]) || "body"; } } }); } export { getConfigReceiverMixins as default, getAttachConfigMixins, getClassPrefixMixins, getGlobalIconMixins, getKeepAnimationMixins }; //# sourceMappingURL=config-receiver.js.map