UNPKG

tdesign-mobile-vue

Version:
48 lines (44 loc) 1.39 kB
/** * tdesign v1.13.2 * (c) 2026 TDesign Group * @license MIT */ import { computed } from 'vue'; import { ERROR_LEVEL_MAP, getMarginSize, getImageSettings } from '../../_common/js/qrcode/utils.mjs'; import { QrSegment, QrCode } from '../../_common/js/qrcode/qrcodegen.mjs'; import '../../_chunks/dep-fd8e79ab.mjs'; import '../../_chunks/dep-57504cfb.mjs'; import '../../_chunks/dep-77efd536.mjs'; var useQRCode = function useQRCode(opt) { var value = opt.value, level = opt.level, minVersion = opt.minVersion, includeMargin = opt.includeMargin, marginSize = opt.marginSize, imageSettings = opt.imageSettings, size = opt.size; var memoizedQrcode = computed(function () { var segments = QrSegment.makeSegments(value); return QrCode.encodeSegments(segments, ERROR_LEVEL_MAP[level], minVersion); }); var cs = computed(function () { return memoizedQrcode.value.getModules(); }); var mg = computed(function () { return getMarginSize(includeMargin, marginSize); }); var cis = computed(function () { return getImageSettings(cs.value, size, mg.value, imageSettings); }); return { cells: cs, margin: mg, numCells: computed(function () { return cs.value.length + mg.value * 2; }), calculatedImageSettings: cis, qrcode: memoizedQrcode }; }; export { useQRCode }; //# sourceMappingURL=useQRCode.mjs.map