tdesign-vue
Version:
179 lines (175 loc) • 6.71 kB
JavaScript
/**
* tdesign v1.14.1
* (c) 2025 tdesign
* @license MIT
*/
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import { defineComponent, computed } from '@vue/composition-api';
import { isNumber } from 'lodash-es';
import '../hooks/index.js';
import { renderTNodeJSX } from '../utils/render-tnode.js';
import { DEFAULT_FRONT_COLOR } from '../_common/js/qrcode/utils.js';
import props from './props.js';
import QRCodeCanvas from './components/qrcode-canvas.js';
import QRCodeSVG from './components/qrcode-svg.js';
import QRcodeStatus from './components/qrcode-status.js';
import { usePrefixClass } from '../hooks/useConfig.js';
import { useConfig } from '../config-provider/useConfig.js';
import { useVariables } from '../hooks/useVariables.js';
import '../hooks/slots.js';
import '../hooks/useCommonClassName.js';
import '../hooks/useDefaultValue.js';
import '../hooks/useDestroyOnClose.js';
import '../hooks/useElementLazyRender.js';
import '../_common/js/utils/observe.js';
import '../hooks/useFormDisabled.js';
import '../hooks/useGlobalIcon.js';
import '../hooks/useLazyLoad.js';
import '../hooks/useResizeObserver.js';
import '../hooks/useVirtualScrollNew.js';
import '@babel/runtime/helpers/toConsumableArray';
import '@babel/runtime/helpers/slicedToArray';
import '../hooks/useVModel.js';
import '../hooks/useImagePreviewUrl.js';
import '../_common/js/upload/utils.js';
import '../_common/js/log/log.js';
import '../hooks/useMutationObservable.js';
import '@babel/runtime/helpers/readOnlyError';
import '@babel/runtime/helpers/typeof';
import 'vue';
import '../_common/js/qrcode/qrcodegen.js';
import '@babel/runtime/helpers/classCallCheck';
import '@babel/runtime/helpers/createClass';
import './components/props.js';
import './hooks/useQRCode.js';
import 'tdesign-icons-vue';
import '../loading/index.js';
import '../loading/directive.js';
import '../loading/plugin.js';
import '../loading/loading.js';
import '../loading/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/objectWithoutProperties';
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-d2f11e9e.js';
import '../_chunks/dep-05dc6583.js';
import 'dayjs';
import '../_chunks/dep-62386ed0.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/transfer-dom.js';
import '../loading/props.js';
import '../config.js';
import '../utils/withInstall.js';
import './style/css.js';
import '../loading/type.js';
import '../_common/js/utils/getColorTokenColor.js';
import '../_common/js/common.js';
var _QRCode = defineComponent({
name: "TQRCode",
props: props,
setup: function setup(props2) {
var classPrefix = usePrefixClass();
var _useConfig = useConfig("qrcode"),
globalConfig = _useConfig.globalConfig;
var _useVariables = useVariables({
themeFgColor: "--td-text-color-primary",
themeBgColor: "--td-bg-color-specialcomponent"
}),
themeFgColor = _useVariables.themeFgColor,
themeBgColor = _useVariables.themeBgColor;
var finalBgColor = computed(function () {
return props2.bgColor || themeBgColor.value || "transparent";
});
var finalFgColor = computed(function () {
return props2.color || themeFgColor.value || DEFAULT_FRONT_COLOR;
});
if (!props2.value) {
return null;
}
var imageSettings = computed(function () {
var _props2$iconSize$heig, _props2$iconSize, _props2$iconSize$widt, _props2$iconSize2;
return {
src: props2.icon,
x: void 0,
y: void 0,
height: isNumber(props2.iconSize) ? props2.iconSize : (_props2$iconSize$heig = (_props2$iconSize = props2.iconSize) === null || _props2$iconSize === void 0 ? void 0 : _props2$iconSize.height) !== null && _props2$iconSize$heig !== void 0 ? _props2$iconSize$heig : 40,
width: isNumber(props2.iconSize) ? props2.iconSize : (_props2$iconSize$widt = (_props2$iconSize2 = props2.iconSize) === null || _props2$iconSize2 === void 0 ? void 0 : _props2$iconSize2.width) !== null && _props2$iconSize$widt !== void 0 ? _props2$iconSize$widt : 40,
excavate: true,
crossOrigin: "anonymous"
};
});
var classes = computed(function () {
return ["".concat(classPrefix.value, "-qrcode"), _defineProperty(_defineProperty({}, "".concat(classPrefix.value, "-borderless"), props2.borderless), "".concat(classPrefix.value, "-qrcode-svg"), props2.type === "svg")];
});
var mergedStyle = computed(function () {
return {
backgroundColor: finalBgColor.value,
width: "".concat(props2.size, "px"),
height: "".concat(props2.size, "px")
};
});
return {
classes: classes,
mergedStyle: mergedStyle,
globalConfig: globalConfig,
finalBgColor: finalBgColor,
finalFgColor: finalFgColor,
classPrefix: classPrefix,
imageSettings: imageSettings
};
},
render: function render() {
var _this = this;
var h = arguments[0];
return h("div", {
"class": this.classes,
"style": this.mergedStyle
}, [this.status !== "active" && h("div", {
"class": ["".concat(this.classPrefix, "-mask"), _defineProperty({}, "".concat(this.classPrefix, "-").concat(this.status), this.status !== "loading")]
}, [h(QRcodeStatus, {
"attrs": {
"locale": this.globalConfig,
"status": this.status,
"statusRender": function statusRender() {
return renderTNodeJSX(_this, "statusRender", {
params: {
status: _this.status,
onRefresh: _this.onRefresh
}
});
},
"refresh": this.onRefresh
}
})]), this.type === "canvas" ? h(QRCodeCanvas, {
"attrs": {
"imageSettings": this.icon ? this.imageSettings : void 0,
"level": this.level,
"bgColor": this.finalBgColor,
"fgColor": this.finalFgColor,
"value": this.value,
"size": this.size
}
}) : h(QRCodeSVG, {
"attrs": {
"imageSettings": this.icon ? this.imageSettings : void 0,
"level": this.level,
"bgColor": this.finalBgColor,
"fgColor": this.finalFgColor,
"value": this.value,
"size": this.size
}
})]);
}
});
export { _QRCode as default };
//# sourceMappingURL=qrcode.js.map