UNPKG

tdesign-vue-next

Version:
1 lines 5.5 kB
{"version":3,"file":"qrcode-svg.mjs","sources":["../../../../components/qrcode/components/qrcode-svg.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport { QRCodeSubComponentProps } from './props';\nimport {\n DEFAULT_NEED_MARGIN,\n DEFAULT_MINVERSION,\n excavateModules,\n generatePath,\n} from '@tdesign/common-js/qrcode/utils';\nimport { useQRCode } from '../hooks/useQRCode';\n\nexport default defineComponent({\n name: 'QRCodeSVG',\n props: QRCodeSubComponentProps,\n setup(props) {\n const qrCodeData = computed(() =>\n useQRCode({\n value: props.value,\n level: props.level,\n minVersion: DEFAULT_MINVERSION,\n includeMargin: DEFAULT_NEED_MARGIN,\n marginSize: props.marginSize,\n imageSettings: props.imageSettings,\n size: props.size,\n }),\n );\n\n const cellsToDraw = computed(() => {\n const { cells, calculatedImageSettings } = qrCodeData.value;\n if (props.imageSettings && calculatedImageSettings.value?.excavation != null) {\n return excavateModules(cells.value, calculatedImageSettings.value.excavation);\n }\n return cells.value;\n });\n\n const imageNode = computed(() => {\n const { calculatedImageSettings, margin } = qrCodeData.value;\n if (!props.imageSettings.src || !calculatedImageSettings.value) return null;\n\n return (\n <image\n href={props.imageSettings.src}\n height={calculatedImageSettings.value.h}\n width={calculatedImageSettings.value.w}\n x={calculatedImageSettings.value.x + margin.value}\n y={calculatedImageSettings.value.y + margin.value}\n crossOrigin={calculatedImageSettings.value.crossOrigin}\n />\n );\n });\n\n return () => {\n const { margin, numCells } = qrCodeData.value;\n const fgPath = generatePath(cellsToDraw.value, margin.value);\n return (\n <svg\n height={props.size}\n width={props.size}\n viewBox={`0 0 ${numCells.value} ${numCells.value}`}\n role=\"img\"\n style={props.style}\n >\n <path fill={props.bgColor} d={`M0,0 h${numCells.value}v${numCells.value}H0z`} shape-rendering=\"crispEdges\" />\n <path fill={props.fgColor} d={fgPath} shape-rendering=\"crispEdges\" />\n {imageNode.value}\n </svg>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","QRCodeSubComponentProps","setup","qrCodeData","computed","useQRCode","value","level","minVersion","DEFAULT_MINVERSION","includeMargin","DEFAULT_NEED_MARGIN","marginSize","imageSettings","size","cellsToDraw","_calculatedImageSetti","_qrCodeData$value","cells","calculatedImageSettings","excavation","excavateModules","imageNode","_qrCodeData$value2","margin","src","_createVNode","h","w","x","y","crossOrigin","_qrCodeData$value3","numCells","fgPath","generatePath","concat","style","bgColor","fgColor"],"mappings":"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"}