tdesign-vue
Version:
92 lines (88 loc) • 2.97 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
import { isObject, mapKeys, isEqual } from 'lodash-es';
import { LoadingPlugin } from './plugin.js';
import '@babel/runtime/helpers/defineProperty';
import 'vue';
import './loading.js';
import './icon/gradient.js';
import '../_common/js/loading/circle-adapter.js';
import '../_common/js/utils/setStyle.js';
import '../_common/js/utils/helper.js';
import '@babel/runtime/helpers/toConsumableArray';
import '@babel/runtime/helpers/objectWithoutProperties';
import '@babel/runtime/helpers/slicedToArray';
import '../config-provider/config-receiver.js';
import '../config-provider/context.js';
import '../_common/js/global-config/default-config.js';
import '../_common/js/global-config/locale/zh_CN.js';
import '../_chunks/dep-c44a474d.js';
import '@babel/runtime/helpers/typeof';
import '../_chunks/dep-d639fbd7.js';
import 'dayjs';
import '../_chunks/dep-3c66615e.js';
import '../config-provider/type.js';
import '../_common/js/global-config/t.js';
import '../utils/mixins.js';
import '../utils/dom.js';
import 'raf';
import '../utils/easing.js';
import '../utils/render-tnode.js';
import '@babel/runtime/helpers/readOnlyError';
import '@vue/composition-api';
import '../utils/transfer-dom.js';
import './props.js';
import '../config.js';
var INSTANCE_KEY = Symbol("TdLoading");
var createInstance = function createInstance(el, binding) {
var _binding$modifiers = binding.modifiers,
fullscreen = _binding$modifiers.fullscreen,
inheritColor = _binding$modifiers.inheritColor;
var options = {
attach: function attach() {
return el;
},
fullscreen: fullscreen !== null && fullscreen !== void 0 ? fullscreen : false,
inheritColor: inheritColor !== null && inheritColor !== void 0 ? inheritColor : false,
loading: binding.value
};
if (isObject(binding.value)) {
mapKeys(binding.value, function (value, key) {
options[key] = value;
});
}
el[INSTANCE_KEY] = {
options: options,
instance: LoadingPlugin(options)
};
};
var vLoading = {
inserted: function inserted(el, binding) {
if (binding.value) {
createInstance(el, binding);
}
},
update: function update(el, binding) {
var instance = el[INSTANCE_KEY];
var value = binding.value,
oldValue = binding.oldValue;
if (!isEqual(value, oldValue)) {
var _value$loading;
var loading = (_value$loading = value === null || value === void 0 ? void 0 : value.loading) !== null && _value$loading !== void 0 ? _value$loading : value;
if (loading) {
createInstance(el, binding);
} else {
instance === null || instance === void 0 || instance.instance.hide();
}
}
},
unbind: function unbind(el) {
var _el$INSTANCE_KEY;
(_el$INSTANCE_KEY = el[INSTANCE_KEY]) === null || _el$INSTANCE_KEY === void 0 || _el$INSTANCE_KEY.instance.hide();
}
};
export { vLoading as default };
//# sourceMappingURL=directive.js.map