@particle-network/connectkit
Version:
8 lines (7 loc) • 16.7 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/components/CustomQRCode/QRCode.tsx", "../../src/components/CustomQRCode/styles.ts", "../../src/components/CustomQRCode/index.tsx"],
"sourcesContent": ["import QRCodeUtil from 'qrcode';\nimport type { ReactElement } from 'react';\nimport React, { useMemo } from 'react';\n\nconst generateMatrix = (value: string, errorCorrectionLevel: QRCodeUtil.QRCodeErrorCorrectionLevel) => {\n const arr = Array.prototype.slice.call(QRCodeUtil.create(value, { errorCorrectionLevel }).modules.data, 0);\n const sqrt = Math.sqrt(arr.length);\n return arr.reduce(\n (rows, key, index) => (index % sqrt === 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows,\n []\n );\n};\n\ntype Props = {\n ecl?: QRCodeUtil.QRCodeErrorCorrectionLevel;\n size?: number;\n uri: string;\n clearArea?: boolean;\n image?: React.ReactNode;\n imageBackground?: string;\n};\n\nexport function QRCode({\n ecl = 'M',\n size: sizeProp = 200,\n uri,\n clearArea = false,\n image,\n imageBackground = 'transparent',\n}: Props) {\n const logoSize = clearArea ? 76 : 0;\n const size = sizeProp - 10 * 2;\n\n const dots = useMemo(() => {\n const dots: ReactElement[] = [];\n const matrix = generateMatrix(uri, ecl);\n const cellSize = size / matrix.length;\n const qrList = [\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 },\n ];\n\n qrList.forEach(({ x, y }) => {\n const x1 = (matrix.length - 7) * cellSize * x;\n const y1 = (matrix.length - 7) * cellSize * y;\n for (let i = 0; i < 3; i++) {\n dots.push(\n <rect\n key={`${i}-${x}-${y}`}\n fill={i % 2 !== 0 ? 'var(--pcm-body-background)' : 'var(--pcm-body-color)'}\n rx={(i - 2) * -5 + (i === 0 ? 2 : 3)}\n ry={(i - 2) * -5 + (i === 0 ? 2 : 3)}\n width={cellSize * (7 - i * 2)}\n height={cellSize * (7 - i * 2)}\n x={x1 + cellSize * i}\n y={y1 + cellSize * i}\n />\n );\n }\n });\n\n if (image) {\n const x1 = (matrix.length - 7) * cellSize * 1;\n const y1 = (matrix.length - 7) * cellSize * 1;\n dots.push(\n <>\n <rect\n fill={imageBackground}\n rx={(0 - 2) * -5 + 2}\n ry={(0 - 2) * -5 + 2}\n width={cellSize * (7 - 0 * 2)}\n height={cellSize * (7 - 0 * 2)}\n x={x1 + cellSize * 0}\n y={y1 + cellSize * 0}\n />\n <foreignObject\n width={cellSize * (7 - 0 * 2)}\n height={cellSize * (7 - 0 * 2)}\n x={x1 + cellSize * 0}\n y={y1 + cellSize * 0}\n >\n <div style={{ borderRadius: (0 - 2) * -5 + 2, overflow: 'hidden' }}>{image}</div>\n </foreignObject>\n </>\n );\n }\n\n const clearArenaSize = Math.floor((logoSize + 25) / cellSize);\n const matrixMiddleStart = matrix.length / 2 - clearArenaSize / 2;\n const matrixMiddleEnd = matrix.length / 2 + clearArenaSize / 2 - 1;\n\n matrix.forEach((row: QRCodeUtil.QRCode[], i: number) => {\n row.forEach((_: any, j: number) => {\n if (matrix[i][j]) {\n // Do not render dots under position squares\n if (!((i < 7 && j < 7) || (i > matrix.length - 8 && j < 7) || (i < 7 && j > matrix.length - 8))) {\n //if (image && i > matrix.length - 9 && j > matrix.length - 9) return;\n if (\n image ||\n !(i > matrixMiddleStart && i < matrixMiddleEnd && j > matrixMiddleStart && j < matrixMiddleEnd)\n ) {\n dots.push(\n <circle\n key={`circle-${i}-${j}`}\n cx={i * cellSize + cellSize / 2}\n cy={j * cellSize + cellSize / 2}\n fill='var(--pcm-body-color)'\n r={cellSize / 3}\n />\n );\n }\n }\n }\n });\n });\n\n return dots;\n }, [ecl, size, uri]);\n\n return (\n <svg\n height={size}\n width={size}\n viewBox={`0 0 ${size} ${size}`}\n style={{\n width: size,\n height: size,\n }}\n >\n <rect fill='transparent' height={size} width={size} />\n {dots}\n </svg>\n );\n}\n", "import { motion } from 'framer-motion';\nimport { css, keyframes, styled } from 'styled-components';\n\nexport const QRCodeContainer = styled(motion.div)`\n z-index: 3;\n position: relative;\n overflow: hidden;\n height: 0;\n padding-bottom: 100% !important;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1px 0 2px;\n border-radius: var(--pcm-rounded-lg);\n background: var(--pcm-body-background);\n box-shadow: 0 0 0 1px var(--pcm-button-border-color);\n backface-visibility: hidden;\n svg {\n display: block;\n max-width: 100%;\n width: 100%;\n height: auto;\n }\n`;\nexport const QRCodeContent = styled(motion.div)`\n position: absolute;\n inset: 13px;\n svg {\n width: 100% !important;\n height: auto !important;\n }\n`;\nexport const PlaceholderKeyframes = keyframes`\n 0%{ background-position: 100% 0; }\n 100%{ background-position: -100% 0; }\n`;\nexport const QRPlaceholder = styled(motion.div)<{ $failed?: boolean }>`\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n > div {\n z-index: 4;\n position: relative;\n width: 28%;\n height: 28%;\n border-radius: 20px;\n background: #fff;\n box-shadow: 0 0 0 7px #fff;\n }\n > span {\n z-index: 4;\n position: absolute;\n background: var(--pcm-body-color-secondary);\n border-radius: var(--pcm-rounded-lg);\n width: 13.25%;\n height: 13.25%;\n box-shadow: 0 0 0 4px #fff;\n &:before {\n content: '';\n position: absolute;\n inset: 9px;\n border-radius: 3px;\n box-shadow: 0 0 0 4px #fff;\n }\n &:nth-child(1) {\n top: 0;\n left: 0;\n }\n &:nth-child(2) {\n top: 0;\n right: 0;\n }\n &:nth-child(3) {\n bottom: 0;\n left: 0;\n }\n }\n &:before {\n z-index: 3;\n content: '';\n position: absolute;\n inset: 0;\n background: repeat;\n background-size: 1.888% 1.888%;\n background-image: radial-gradient(var(--pcm-body-color-secondary) 41%, transparent 41%);\n }\n &:after {\n z-index: 5;\n content: '';\n position: absolute;\n inset: 0;\n transform: scale(1.6) rotate(45deg);\n background-image: linear-gradient(\n 90deg,\n rgba(255, 255, 255, 0) 50%,\n rgba(255, 255, 255, 1),\n rgba(255, 255, 255, 0)\n );\n background-size: 200% 100%;\n animation: ${PlaceholderKeyframes} 1000ms linear infinite both;\n ${(props) =>\n props.$failed &&\n css`\n animation: none;\n `}\n }\n`;\n\nexport const LogoContainer = styled(motion.div)`\n z-index: 6;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transform: translateY(50%) scale(0.9999); // Shifting fix\n`;\nexport const LogoIcon = styled(motion.div)<{ $wcLogo?: boolean }>`\n z-index: 6;\n position: absolute;\n left: 50%;\n overflow: hidden;\n\n transform: translate(-50%, -50%) scale(0.9999); // Shifting fix\n\n svg {\n display: block;\n position: relative;\n width: 100%;\n height: 100% !important;\n }\n\n ${(props) =>\n props.$wcLogo\n ? css`\n width: 29%;\n height: 20.5%;\n `\n : css`\n width: 24%;\n height: 24%;\n border-radius: 17px;\n &:before {\n pointer-events: none;\n z-index: 2;\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n /* box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02); */\n }\n `}\n`;\n\nexport const StyleRetryButtonWrapper = styled.div`\n position: absolute;\n width: 28px;\n height: 28px;\n top: 50%;\n left: 50%;\n transform: translate(12px, 12px);\n z-index: 10;\n border-radius: 9999px;\n cursor: pointer;\n button {\n width: 100%;\n height: 100%;\n }\n`;\n", "import { AnimatePresence, motion } from 'framer-motion';\nimport RetryIconCircle from '../../assets/icons/RetryIconCircle';\nimport { RetryButton, RetryIconContainer } from '../../pages/connecting/styles';\nimport { QRCode } from './QRCode';\nimport {\n LogoContainer,\n LogoIcon,\n QRCodeContainer,\n QRCodeContent,\n QRPlaceholder,\n StyleRetryButtonWrapper,\n} from './styles';\nimport type { CustomQRCodeProps } from './types';\n\nfunction CustomQRCode({\n value,\n image,\n imageBackground,\n ecl = 'M',\n imagePosition = 'center',\n failed,\n failedCallback,\n}: CustomQRCodeProps) {\n const Logo = image;\n\n return (\n <QRCodeContainer>\n {failed && (\n <StyleRetryButtonWrapper>\n <RetryButton\n aria-label='Retry'\n initial={{ opacity: 0, scale: 0.8 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.8 }}\n whileTap={{ scale: 0.9 }}\n transition={{ duration: 0.1 }}\n onClick={failedCallback}\n >\n <RetryIconContainer>\n <RetryIconCircle />\n </RetryIconContainer>\n </RetryButton>\n </StyleRetryButtonWrapper>\n )}\n\n <QRCodeContent>\n {image && (\n <LogoContainer>\n <LogoIcon\n $wcLogo={imagePosition !== 'center'}\n style={{\n background: imagePosition === 'center' ? imageBackground : undefined,\n }}\n >\n {Logo}\n </LogoIcon>\n </LogoContainer>\n )}\n\n <AnimatePresence initial={false}>\n {value ? (\n <motion.div\n key={value}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0, position: 'absolute', inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n >\n <QRCode uri={value} size={288} ecl={ecl} clearArea={!!(imagePosition === 'center' && image)} />\n </motion.div>\n ) : (\n <QRPlaceholder\n initial={{ opacity: 0.2 }}\n animate={{ opacity: 0.2 }}\n exit={{ opacity: 0, position: 'absolute', inset: [0, 0] }}\n transition={{\n duration: 0.2,\n }}\n $failed={failed}\n >\n <span />\n <span />\n <span />\n <div />\n </QRPlaceholder>\n )}\n </AnimatePresence>\n </QRCodeContent>\n </QRCodeContainer>\n );\n}\nCustomQRCode.displayName = 'CustomQRCode';\n\nexport default CustomQRCode;\n"],
"mappings": "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",
"names": ["dots", "init_styles", "motion", "jsx", "jsxs", "init_styles"]
}