@reown/appkit-ui-react-native 0.0.0-develop-20251008155354 → 0.0.0-develop-20251114152149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/lib/commonjs/assets/svg/WalletConnect.js +4 -5
  2. package/lib/commonjs/assets/svg/WalletConnect.js.map +1 -1
  3. package/lib/commonjs/composites/wui-qr-code/index.js +51 -19
  4. package/lib/commonjs/composites/wui-qr-code/index.js.map +1 -1
  5. package/lib/commonjs/composites/wui-qr-code/styles.js +0 -3
  6. package/lib/commonjs/composites/wui-qr-code/styles.js.map +1 -1
  7. package/lib/commonjs/utils/QRCodeUtil.js +217 -116
  8. package/lib/commonjs/utils/QRCodeUtil.js.map +1 -1
  9. package/lib/module/assets/svg/WalletConnect.js +4 -5
  10. package/lib/module/assets/svg/WalletConnect.js.map +1 -1
  11. package/lib/module/composites/wui-qr-code/index.js +50 -19
  12. package/lib/module/composites/wui-qr-code/index.js.map +1 -1
  13. package/lib/module/composites/wui-qr-code/styles.js +0 -3
  14. package/lib/module/composites/wui-qr-code/styles.js.map +1 -1
  15. package/lib/module/utils/QRCodeUtil.js +216 -116
  16. package/lib/module/utils/QRCodeUtil.js.map +1 -1
  17. package/lib/typescript/assets/svg/WalletConnect.d.ts.map +1 -1
  18. package/lib/typescript/composites/wui-qr-code/index.d.ts +3 -1
  19. package/lib/typescript/composites/wui-qr-code/index.d.ts.map +1 -1
  20. package/lib/typescript/composites/wui-qr-code/styles.d.ts +0 -3
  21. package/lib/typescript/composites/wui-qr-code/styles.d.ts.map +1 -1
  22. package/lib/typescript/utils/QRCodeUtil.d.ts +22 -2
  23. package/lib/typescript/utils/QRCodeUtil.d.ts.map +1 -1
  24. package/package.json +2 -2
  25. package/src/assets/svg/WalletConnect.tsx +4 -5
  26. package/src/composites/wui-qr-code/index.tsx +75 -16
  27. package/src/composites/wui-qr-code/styles.ts +0 -3
  28. package/src/utils/QRCodeUtil.tsx +265 -142
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeSvg","require","_qrcode","_interopRequireDefault","_ThemeUtil","_jsxRuntime","e","__esModule","default","CONNECTING_ERROR_MARGIN","CIRCLE_SIZE_MODIFIER","QRCODE_MATRIX_MARGIN","isAdjecentDots","cy","otherCy","cellSize","diff","getMatrix","value","errorCorrectionLevel","arr","Array","prototype","slice","call","QRCode","create","modules","data","sqrt","Math","length","reduce","rows","key","index","push","QRCodeUtil","exports","generate","uri","size","logoSize","dotColor","LightTheme","edgeColor","dots","matrix","qrList","x","y","forEach","x1","y1","borderRadius","i","dotSize","jsx","Rect","fill","height","rx","ry","width","clearArenaSize","floor","matrixMiddleStart","matrixMiddleEnd","circles","row","_","j","cx","circlesToConnect","Object","entries","map","cys","newCys","filter","every","Number","Circle","r","some","sort","a","b","groups","group","find","item","y2","Line","x2","stroke","strokeWidth","strokeLinecap"],"sourceRoot":"../../../src","sources":["utils/QRCodeUtil.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_qrcode","_interopRequireDefault","require","e","__esModule","default","CONNECTING_ERROR_MARGIN","CIRCLE_SIZE_MODIFIER","QRCODE_MATRIX_MARGIN","LOGO_PADDING","isAdjacentDots","cy","otherCy","cellSize","diff","getMatrix","value","errorCorrectionLevel","arr","Array","prototype","slice","call","QRCode","create","modules","data","sqrt","Math","length","reduce","rows","key","index","push","processQRMatrix","matrix","size","logoSize","logoBorderRadius","matrixLength","halfCellSize","strokeWidth","circleRadius","rects","circles","lines","qrList","x","y","baseOffset","qrIdx","qr","x1","y1","i","dotSize","fillType","circleCoords","isCircular","undefined","effectiveBorderRadius","row","rowLength","j","cx","centerX","centerY","isOutsideLogoArea","dx","dy","distanceFromCenter","pixelRadius","halfLogoArea","abs","cornerDx","cornerDy","cornerDistance","circlesToConnect","k","existing","cxKey","Number","cys","firstCy","r","sort","a","b","isConnected","fill","currentCy","nextCy","groupStart","groupEnd","x2","y2","prevCy","generateQRData","uri","Error","QRCodeUtil","exports","generate"],"sourceRoot":"../../../src","sources":["utils/QRCodeUtil.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,15 +4,14 @@ import Svg, { ClipPath, Defs, G, Path } from 'react-native-svg';
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  const SvgWalletConnect = props => /*#__PURE__*/_jsxs(Svg, {
6
6
  fill: "none",
7
- viewBox: "0 0 96 67",
7
+ viewBox: "0 0 37 23",
8
8
  ...props,
9
9
  children: [/*#__PURE__*/_jsx(Path, {
10
10
  fill: props.fill ?? '#fff',
11
- d: "M25.32 18.8a32.56 32.56 0 0 1 45.36 0l1.5 1.47c.63.62.63 1.61 0 2.22l-5.15 5.05c-.31.3-.82.3-1.14 0l-2.07-2.03a22.71 22.71 0 0 0-31.64 0l-2.22 2.18c-.31.3-.82.3-1.14 0l-5.15-5.05a1.55 1.55 0 0 1 0-2.22l1.65-1.62Zm56.02 10.44 4.59 4.5c.63.6.63 1.6 0 2.21l-20.7 20.26c-.62.61-1.63.61-2.26 0L48.28 41.83a.4.4 0 0 0-.56 0L33.03 56.21c-.63.61-1.64.61-2.27 0L10.07 35.95a1.55 1.55 0 0 1 0-2.22l4.59-4.5a1.63 1.63 0 0 1 2.27 0L31.6 43.63a.4.4 0 0 0 .57 0l14.69-14.38a1.63 1.63 0 0 1 2.26 0l14.69 14.38a.4.4 0 0 0 .57 0l14.68-14.38a1.63 1.63 0 0 1 2.27 0Z"
11
+ d: "M26.6428 8.62163L29.8418 5.42265C22.6115 -1.80755 13.6277 -1.80755 6.39746 5.42265L9.59644 8.62163C15.0953 3.12281 21.1477 3.12281 26.6465 8.62163H26.6428Z"
12
12
  }), /*#__PURE__*/_jsx(Path, {
13
- stroke: "#000",
14
- strokeOpacity: ".1",
15
- d: "M25.67 19.15a32.06 32.06 0 0 1 44.66 0l1.5 1.48c.43.42.43 1.09 0 1.5l-5.15 5.05a.31.31 0 0 1-.44 0l-2.07-2.03a23.21 23.21 0 0 0-32.34 0l-2.22 2.18a.31.31 0 0 1-.44 0l-5.15-5.05a1.05 1.05 0 0 1 0-1.5l1.65-1.63ZM81 29.6l4.6 4.5c.42.41.42 1.09 0 1.5l-20.7 20.26c-.43.43-1.14.43-1.57 0L48.63 41.47a.9.9 0 0 0-1.26 0L32.68 55.85c-.43.43-1.14.43-1.57 0L10.42 35.6a1.05 1.05 0 0 1 0-1.5l4.59-4.5a1.13 1.13 0 0 1 1.57 0l14.68 14.38a.9.9 0 0 0 1.27 0l-.35-.35.35.35L47.22 29.6a1.13 1.13 0 0 1 1.56 0l14.7 14.38a.9.9 0 0 0 1.26 0L79.42 29.6a1.13 1.13 0 0 1 1.57 0Z"
13
+ fill: props.fill ?? '#fff',
14
+ d: "M25.5769 16.0749L18.1164 8.61435L10.6558 16.0749L3.19526 8.61435L0 11.8096L10.6558 22.4691L18.1164 15.0086L25.5769 22.4691L36.2328 11.8096L33.0375 8.61435L25.5769 16.0749Z"
16
15
  })]
17
16
  });
18
17
  export default SvgWalletConnect;
@@ -1 +1 @@
1
- {"version":3,"names":["Svg","ClipPath","Defs","G","Path","jsx","_jsx","jsxs","_jsxs","SvgWalletConnect","props","fill","viewBox","children","d","stroke","strokeOpacity","WalletConnectLightBrownSvg","clipPath","id"],"sourceRoot":"../../../../src","sources":["assets/svg/WalletConnect.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,QAAQ,EAAEC,IAAI,EAAEC,CAAC,EAAEC,IAAI,QAAuB,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAC/E,MAAMC,gBAAgB,GAAIC,KAAe,iBACvCF,KAAA,CAACR,GAAG;EAACW,IAAI,EAAC,MAAM;EAACC,OAAO,EAAC,WAAW;EAAA,GAAKF,KAAK;EAAAG,QAAA,gBAC5CP,IAAA,CAACF,IAAI;IACHO,IAAI,EAAED,KAAK,CAACC,IAAI,IAAI,MAAO;IAC3BG,CAAC,EAAC;EAAqiB,CACxiB,CAAC,eACFR,IAAA,CAACF,IAAI;IACHW,MAAM,EAAC,MAAM;IACbC,aAAa,EAAC,IAAI;IAClBF,CAAC,EAAC;EAA4iB,CAC/iB,CAAC;AAAA,CACC,CACN;AACD,eAAeL,gBAAgB;AAE/B,OAAO,MAAMQ,0BAA0B,GAAIP,KAAe,iBACxDF,KAAA,CAACR,GAAG;EAACY,OAAO,EAAC,WAAW;EAACD,IAAI,EAAC,MAAM;EAAA,GAAKD,KAAK;EAAAG,QAAA,gBAC5CL,KAAA,CAACL,CAAC;IAACe,QAAQ,EAAC,wBAAwB;IAAAL,QAAA,gBAClCP,IAAA,CAACF,IAAI;MACHU,CAAC,EAAC,4eAA4e;MAC9eH,IAAI,EAAC;IAAS,CACf,CAAC,eACFL,IAAA,CAACF,IAAI;MACHU,CAAC,EAAC,yhCAAyhC;MAC3hCH,IAAI,EAAC;IAAS,CACf,CAAC;EAAA,CACD,CAAC,eACJL,IAAA,CAACJ,IAAI;IAAAW,QAAA,eACHP,IAAA,CAACL,QAAQ;MAACkB,EAAE,EAAC,kBAAkB;MAAAN,QAAA,eAC7BP,IAAA,CAACF,IAAI;QACHU,CAAC,EAAC,6GAA6G;QAC/GH,IAAI,EAAC;MAAO,CACb;IAAC,CACM;EAAC,CACP,CAAC;AAAA,CACJ,CACN","ignoreList":[]}
1
+ {"version":3,"names":["Svg","ClipPath","Defs","G","Path","jsx","_jsx","jsxs","_jsxs","SvgWalletConnect","props","fill","viewBox","children","d","WalletConnectLightBrownSvg","clipPath","id"],"sourceRoot":"../../../../src","sources":["assets/svg/WalletConnect.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,QAAQ,EAAEC,IAAI,EAAEC,CAAC,EAAEC,IAAI,QAAuB,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAC/E,MAAMC,gBAAgB,GAAIC,KAAe,iBACvCF,KAAA,CAACR,GAAG;EAACW,IAAI,EAAC,MAAM;EAACC,OAAO,EAAC,WAAW;EAAA,GAAKF,KAAK;EAAAG,QAAA,gBAC5CP,IAAA,CAACF,IAAI;IACHO,IAAI,EAAED,KAAK,CAACC,IAAI,IAAI,MAAO;IAC3BG,CAAC,EAAC;EAA6J,CAChK,CAAC,eACFR,IAAA,CAACF,IAAI;IACHO,IAAI,EAAED,KAAK,CAACC,IAAI,IAAI,MAAO;IAC3BG,CAAC,EAAC;EAA6K,CAChL,CAAC;AAAA,CACC,CACN;AACD,eAAeL,gBAAgB;AAE/B,OAAO,MAAMM,0BAA0B,GAAIL,KAAe,iBACxDF,KAAA,CAACR,GAAG;EAACY,OAAO,EAAC,WAAW;EAACD,IAAI,EAAC,MAAM;EAAA,GAAKD,KAAK;EAAAG,QAAA,gBAC5CL,KAAA,CAACL,CAAC;IAACa,QAAQ,EAAC,wBAAwB;IAAAH,QAAA,gBAClCP,IAAA,CAACF,IAAI;MACHU,CAAC,EAAC,4eAA4e;MAC9eH,IAAI,EAAC;IAAS,CACf,CAAC,eACFL,IAAA,CAACF,IAAI;MACHU,CAAC,EAAC,yhCAAyhC;MAC3hCH,IAAI,EAAC;IAAS,CACf,CAAC;EAAA,CACD,CAAC,eACJL,IAAA,CAACJ,IAAI;IAAAW,QAAA,eACHP,IAAA,CAACL,QAAQ;MAACgB,EAAE,EAAC,kBAAkB;MAAAJ,QAAA,eAC7BP,IAAA,CAACF,IAAI;QACHU,CAAC,EAAC,6GAA6G;QAC/GH,IAAI,EAAC;MAAO,CACb;IAAC,CACM;EAAC,CACP,CAAC;AAAA,CACJ,CACN","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { memo, useMemo } from 'react';
4
4
  import { View } from 'react-native';
5
- import Svg from 'react-native-svg';
5
+ import Svg, { Circle, Line, Rect } from 'react-native-svg';
6
6
  import { Icon } from '../../components/wui-icon';
7
7
  import { Image } from '../../components/wui-image';
8
8
  import { Shimmer } from '../../components/wui-shimmer';
@@ -17,13 +17,17 @@ export function QrCode_({
17
17
  testID,
18
18
  arenaClear,
19
19
  icon,
20
- style
20
+ style,
21
+ logoSize,
22
+ logoBorderRadius
21
23
  }) {
22
24
  const Theme = LightTheme;
23
25
  const containerPadding = Spacing.l;
24
26
  const qrSize = size - containerPadding * 2;
25
- const logoSize = arenaClear ? 0 : qrSize / 4;
26
- const dots = useMemo(() => uri ? QRCodeUtil.generate(uri, qrSize, logoSize) : [], [uri, qrSize, logoSize]);
27
+ const _logoSize = arenaClear ? 0 : logoSize ?? qrSize / 4;
28
+ const dotColor = Theme['inverse-000'];
29
+ const edgeColor = Theme['inverse-100'];
30
+ const qrData = useMemo(() => uri ? QRCodeUtil.generate(uri, qrSize, _logoSize, logoBorderRadius) : null, [uri, qrSize, _logoSize, logoBorderRadius]);
27
31
  const logoTemplate = () => {
28
32
  if (arenaClear) {
29
33
  return null;
@@ -31,40 +35,67 @@ export function QrCode_({
31
35
  if (imageSrc) {
32
36
  return /*#__PURE__*/_jsx(Image, {
33
37
  source: imageSrc,
34
- style: [styles.icon, {
35
- height: qrSize / 4,
36
- width: qrSize / 4,
37
- borderRadius: qrSize / 16
38
+ style: [{
39
+ position: 'absolute',
40
+ height: _logoSize,
41
+ width: _logoSize,
42
+ borderRadius: logoBorderRadius
38
43
  }]
39
44
  });
40
45
  }
41
46
  return /*#__PURE__*/_jsx(Icon, {
42
47
  name: icon ?? 'walletConnect',
43
48
  color: "accent-100",
44
- height: qrSize / 3.5,
45
- width: qrSize / 3.5,
46
- style: styles.icon
49
+ height: _logoSize,
50
+ width: _logoSize,
51
+ style: {
52
+ position: 'absolute'
53
+ }
47
54
  });
48
55
  };
49
- return uri ? /*#__PURE__*/_jsxs(View, {
56
+ if (!uri || !qrData) {
57
+ return /*#__PURE__*/_jsx(Shimmer, {
58
+ width: size,
59
+ height: size,
60
+ borderRadius: BorderRadius.l
61
+ });
62
+ }
63
+ return /*#__PURE__*/_jsxs(View, {
50
64
  style: [styles.container, {
51
65
  width: size,
52
66
  backgroundColor: Theme['inverse-100'],
53
67
  padding: containerPadding
54
68
  }, style],
55
69
  testID: testID,
56
- children: [/*#__PURE__*/_jsx(Svg, {
70
+ children: [/*#__PURE__*/_jsxs(Svg, {
57
71
  height: qrSize,
58
72
  width: qrSize,
59
- children: dots
73
+ children: [qrData.rects.map(rect => /*#__PURE__*/_jsx(Rect, {
74
+ fill: rect.fillType === 'dot' ? dotColor : edgeColor,
75
+ height: rect.size,
76
+ rx: rect.size * 0.32,
77
+ ry: rect.size * 0.32,
78
+ width: rect.size,
79
+ x: rect.x,
80
+ y: rect.y
81
+ }, `rect_${rect.x}_${rect.y}`)), qrData.circles.map(circle => /*#__PURE__*/_jsx(Circle, {
82
+ cx: circle.cx,
83
+ cy: circle.cy,
84
+ fill: dotColor,
85
+ r: circle.r
86
+ }, `circle_${circle.cx}_${circle.cy}`)), qrData.lines.map(line => /*#__PURE__*/_jsx(Line, {
87
+ x1: line.x1,
88
+ x2: line.x2,
89
+ y1: line.y1,
90
+ y2: line.y2,
91
+ stroke: dotColor,
92
+ strokeWidth: line.strokeWidth,
93
+ strokeLinecap: "round"
94
+ }, `line_${line.x1}_${line.y1}_${line.y2}`))]
60
95
  }), logoTemplate()]
61
- }) : /*#__PURE__*/_jsx(Shimmer, {
62
- width: size,
63
- height: size,
64
- borderRadius: BorderRadius.l
65
96
  });
66
97
  }
67
98
  export const QrCode = /*#__PURE__*/memo(QrCode_, (prevProps, nextProps) => {
68
- return prevProps.size === nextProps.size && prevProps.uri === nextProps.uri && prevProps.style === nextProps.style;
99
+ return prevProps.size === nextProps.size && prevProps.uri === nextProps.uri && prevProps.style === nextProps.style && prevProps.logoBorderRadius === nextProps.logoBorderRadius;
69
100
  });
70
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","View","Svg","Icon","Image","Shimmer","QRCodeUtil","BorderRadius","LightTheme","Spacing","styles","jsx","_jsx","jsxs","_jsxs","QrCode_","size","uri","imageSrc","testID","arenaClear","icon","style","Theme","containerPadding","l","qrSize","logoSize","dots","generate","logoTemplate","source","height","width","borderRadius","name","color","container","backgroundColor","padding","children","QrCode","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["composites/wui-qr-code/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","View","Svg","Circle","Line","Rect","Icon","Image","Shimmer","QRCodeUtil","BorderRadius","LightTheme","Spacing","styles","jsx","_jsx","jsxs","_jsxs","QrCode_","size","uri","imageSrc","testID","arenaClear","icon","style","logoSize","logoBorderRadius","Theme","containerPadding","l","qrSize","_logoSize","dotColor","edgeColor","qrData","generate","logoTemplate","source","position","height","width","borderRadius","name","color","container","backgroundColor","padding","children","rects","map","rect","fill","fillType","rx","ry","x","y","circles","circle","cx","cy","r","lines","line","x1","x2","y1","y2","stroke","strokeWidth","strokeLinecap","QrCode","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["composites/wui-qr-code/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,9 +9,6 @@ export default StyleSheet.create({
9
9
  borderRadius: BorderRadius.l,
10
10
  padding: Spacing.l,
11
11
  alignSelf: 'center'
12
- },
13
- icon: {
14
- position: 'absolute'
15
12
  }
16
13
  });
17
14
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","BorderRadius","Spacing","create","container","alignItems","justifyContent","borderRadius","l","padding","alignSelf","icon","position"],"sourceRoot":"../../../../src","sources":["composites/wui-qr-code/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAE7D,eAAeF,UAAU,CAACG,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,YAAY,EAAEN,YAAY,CAACO,CAAC;IAC5BC,OAAO,EAAEP,OAAO,CAACM,CAAC;IAClBE,SAAS,EAAE;EACb,CAAC;EACDC,IAAI,EAAE;IACJC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","BorderRadius","Spacing","create","container","alignItems","justifyContent","borderRadius","l","padding","alignSelf"],"sourceRoot":"../../../../src","sources":["composites/wui-qr-code/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAE7D,eAAeF,UAAU,CAACG,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,YAAY,EAAEN,YAAY,CAACO,CAAC;IAC5BC,OAAO,EAAEP,OAAO,CAACM,CAAC;IAClBE,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { Line, Rect, Circle } from 'react-native-svg';
4
3
  import QRCode from 'qrcode';
5
- import { LightTheme } from '../utils/ThemeUtil';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
4
  const CONNECTING_ERROR_MARGIN = 0.1;
8
5
  const CIRCLE_SIZE_MODIFIER = 2.5;
9
6
  const QRCODE_MATRIX_MARGIN = 7;
10
- function isAdjecentDots(cy, otherCy, cellSize) {
7
+ const LOGO_PADDING = 25;
8
+ function isAdjacentDots(cy, otherCy, cellSize) {
11
9
  if (cy === otherCy) {
12
10
  return false;
13
11
  }
@@ -21,128 +19,230 @@ function getMatrix(value, errorCorrectionLevel) {
21
19
  const sqrt = Math.sqrt(arr.length);
22
20
  return arr.reduce((rows, key, index) => (index % sqrt === 0 ? rows.push([key]) : rows[rows.length - 1].push(key)) && rows, []);
23
21
  }
24
- export const QRCodeUtil = {
25
- generate(uri, size, logoSize) {
26
- const dotColor = LightTheme['inverse-000'];
27
- const edgeColor = LightTheme['inverse-100'];
28
- const dots = [];
29
- const matrix = getMatrix(uri, 'Q');
30
- const cellSize = size / matrix.length;
31
- const qrList = [{
32
- x: 0,
33
- y: 0
34
- }, {
35
- x: 1,
36
- y: 0
37
- }, {
38
- x: 0,
39
- y: 1
40
- }];
41
- qrList.forEach(({
42
- x,
43
- y
44
- }) => {
45
- const x1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * x;
46
- const y1 = (matrix.length - QRCODE_MATRIX_MARGIN) * cellSize * y;
47
- const borderRadius = 0.32;
48
- for (let i = 0; i < qrList.length; i += 1) {
49
- const dotSize = cellSize * (QRCODE_MATRIX_MARGIN - i * 2);
50
- dots.push(/*#__PURE__*/_jsx(Rect, {
51
- fill: i % 2 === 0 ? dotColor : edgeColor,
52
- height: dotSize,
53
- rx: dotSize * borderRadius,
54
- ry: dotSize * borderRadius,
55
- width: dotSize,
56
- x: x1 + cellSize * i,
57
- y: y1 + cellSize * i
58
- }, `rect_${x1 + cellSize * i}_${y1 + cellSize * i}`));
59
- }
60
- });
61
- const clearArenaSize = Math.floor((logoSize + 25) / cellSize);
62
- const matrixMiddleStart = matrix.length / 2 - clearArenaSize / 2;
63
- const matrixMiddleEnd = matrix.length / 2 + clearArenaSize / 2 - 1;
64
- const circles = [];
65
-
66
- // Getting coordinates for each of the QR code dots
67
- matrix.forEach((row, i) => {
68
- row.forEach((_, j) => {
69
- if (matrix[i][j]) {
70
- if (!(i < QRCODE_MATRIX_MARGIN && j < QRCODE_MATRIX_MARGIN || i > matrix.length - (QRCODE_MATRIX_MARGIN + 1) && j < QRCODE_MATRIX_MARGIN || i < QRCODE_MATRIX_MARGIN && j > matrix.length - (QRCODE_MATRIX_MARGIN + 1))) {
71
- if (!(i > matrixMiddleStart && i < matrixMiddleEnd && j > matrixMiddleStart && j < matrixMiddleEnd)) {
72
- const cx = i * cellSize + cellSize / 2;
73
- const cy = j * cellSize + cellSize / 2;
74
- circles.push([cx, cy]);
75
- }
76
- }
77
- }
22
+ function processQRMatrix(matrix, size, logoSize, logoBorderRadius) {
23
+ const matrixLength = matrix.length;
24
+ const cellSize = size / matrixLength;
25
+ const halfCellSize = cellSize / 2;
26
+ const strokeWidth = cellSize / (CIRCLE_SIZE_MODIFIER / 2);
27
+ const circleRadius = cellSize / CIRCLE_SIZE_MODIFIER;
28
+ const rects = [];
29
+ const circles = [];
30
+ const lines = [];
31
+
32
+ // Generate corner rectangles - optimized with direct indexing
33
+ const qrList = [{
34
+ x: 0,
35
+ y: 0
36
+ }, {
37
+ x: 1,
38
+ y: 0
39
+ }, {
40
+ x: 0,
41
+ y: 1
42
+ }];
43
+ const baseOffset = (matrixLength - QRCODE_MATRIX_MARGIN) * cellSize;
44
+ for (let qrIdx = 0; qrIdx < 3; qrIdx++) {
45
+ const qr = qrList[qrIdx];
46
+ const x1 = baseOffset * qr.x;
47
+ const y1 = baseOffset * qr.y;
48
+ for (let i = 0; i < 3; i++) {
49
+ const dotSize = cellSize * (QRCODE_MATRIX_MARGIN - i * 2);
50
+ rects.push({
51
+ x: x1 + cellSize * i,
52
+ y: y1 + cellSize * i,
53
+ size: dotSize,
54
+ fillType: i % 2 === 0 ? 'dot' : 'edge'
78
55
  });
79
- });
56
+ }
57
+ }
58
+ const circleCoords = [];
59
+
60
+ // Determine if using circular or rounded rectangle hole
61
+ const isCircular = logoBorderRadius === undefined;
62
+ const effectiveBorderRadius = logoBorderRadius ?? (logoSize + LOGO_PADDING) / 2;
80
63
 
81
- // Cx to multiple cys
82
- const circlesToConnect = {};
64
+ // Calculate circle coordinates - optimized with configurable hole shape
65
+ for (let i = 0; i < matrixLength; i++) {
66
+ const row = matrix[i];
67
+ const rowLength = row.length;
68
+ for (let j = 0; j < rowLength; j++) {
69
+ if (!row[j]) continue;
70
+
71
+ // Skip corners check
72
+ if (i < QRCODE_MATRIX_MARGIN && j < QRCODE_MATRIX_MARGIN || i > matrixLength - (QRCODE_MATRIX_MARGIN + 1) && j < QRCODE_MATRIX_MARGIN || i < QRCODE_MATRIX_MARGIN && j > matrixLength - (QRCODE_MATRIX_MARGIN + 1)) {
73
+ continue;
74
+ }
83
75
 
84
- // Mapping all dots cicles on the same x axis
85
- circles.forEach(([cx, cy]) => {
86
- if (circlesToConnect[cx]) {
87
- circlesToConnect[cx]?.push(cy);
76
+ // Calculate pixel coordinates first
77
+ const cx = i * cellSize + halfCellSize;
78
+ const cy = j * cellSize + halfCellSize;
79
+
80
+ // Skip hole calculation if logoSize is 0 (arenaClear)
81
+ if (logoSize === 0) {
82
+ circleCoords.push([cx, cy]);
83
+ continue;
84
+ }
85
+
86
+ // Calculate distance from center in pixel space
87
+ const centerX = size / 2;
88
+ const centerY = size / 2;
89
+ let isOutsideLogoArea = false;
90
+ if (isCircular) {
91
+ // Circular hole
92
+ const dx = cx - centerX;
93
+ const dy = cy - centerY;
94
+ const distanceFromCenter = Math.sqrt(dx * dx + dy * dy);
95
+ const pixelRadius = (logoSize + LOGO_PADDING) / 2;
96
+ isOutsideLogoArea = distanceFromCenter >= pixelRadius;
88
97
  } else {
89
- circlesToConnect[cx] = [cy];
98
+ // Rounded rectangle hole
99
+ const halfLogoArea = (logoSize + LOGO_PADDING) / 2;
100
+ const dx = Math.abs(cx - centerX);
101
+ const dy = Math.abs(cy - centerY);
102
+
103
+ // Check if point is outside the rounded rectangle
104
+ if (dx > halfLogoArea || dy > halfLogoArea) {
105
+ isOutsideLogoArea = true;
106
+ } else if (dx > halfLogoArea - effectiveBorderRadius && dy > halfLogoArea - effectiveBorderRadius) {
107
+ // Check corner radius
108
+ const cornerDx = dx - (halfLogoArea - effectiveBorderRadius);
109
+ const cornerDy = dy - (halfLogoArea - effectiveBorderRadius);
110
+ const cornerDistance = Math.sqrt(cornerDx * cornerDx + cornerDy * cornerDy);
111
+ isOutsideLogoArea = cornerDistance >= effectiveBorderRadius;
112
+ } else {
113
+ isOutsideLogoArea = false;
114
+ }
115
+ }
116
+ if (isOutsideLogoArea) {
117
+ circleCoords.push([cx, cy]);
90
118
  }
91
- });
92
-
93
- // Drawing lonely dots
94
- Object.entries(circlesToConnect)
95
- // Only get dots that have neighbors
96
- .map(([cx, cys]) => {
97
- const newCys = cys.filter(cy => cys.every(otherCy => !isAdjecentDots(cy, otherCy, cellSize)));
98
- return [Number(cx), newCys];
99
- }).forEach(([cx, cys]) => {
100
- cys.forEach(cy => {
101
- dots.push(/*#__PURE__*/_jsx(Circle, {
102
- cx: cx,
103
- cy: cy,
104
- fill: dotColor,
105
- r: cellSize / CIRCLE_SIZE_MODIFIER
106
- }, `circle_${cx}_${cy}`));
119
+ }
120
+ }
121
+
122
+ // Build circlesToConnect - optimized loop
123
+ const circlesToConnect = {};
124
+ for (let k = 0; k < circleCoords.length; k++) {
125
+ const [cx, cy] = circleCoords[k];
126
+ const existing = circlesToConnect[cx];
127
+ if (existing) {
128
+ existing.push(cy);
129
+ } else {
130
+ circlesToConnect[cx] = [cy];
131
+ }
132
+ }
133
+
134
+ // Process circles and lines - optimized to avoid Object.entries
135
+ for (const cxKey in circlesToConnect) {
136
+ const cx = Number(cxKey);
137
+ const cys = circlesToConnect[cxKey];
138
+ if (cys.length === 1) {
139
+ const firstCy = cys[0];
140
+ if (firstCy === undefined) continue;
141
+
142
+ // Single dot, add as circle
143
+ circles.push({
144
+ cx,
145
+ cy: firstCy,
146
+ r: circleRadius
107
147
  });
108
- });
109
-
110
- // Drawing lines for dots that are close to each other
111
- Object.entries(circlesToConnect)
112
- // Only get dots that have more than one dot on the x axis
113
- .filter(([_, cys]) => cys.length > 1)
114
- // Removing dots with no neighbors
115
- .map(([cx, cys]) => {
116
- const newCys = cys.filter(cy => cys.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));
117
- return [Number(cx), newCys];
118
- })
119
- // Get the coordinates of the first and last dot of a line
120
- .map(([cx, cys]) => {
121
- cys.sort((a, b) => a < b ? -1 : 1);
122
- const groups = [];
123
- for (const cy of cys) {
124
- const group = groups.find(item => item.some(otherCy => isAdjecentDots(cy, otherCy, cellSize)));
125
- if (group) {
126
- group.push(cy);
148
+ continue;
149
+ }
150
+
151
+ // Sort once for line grouping
152
+ cys.sort((a, b) => a - b);
153
+
154
+ // Track which dots are connected and which are lonely
155
+ const isConnected = new Array(cys.length).fill(false);
156
+
157
+ // Find all adjacent pairs
158
+ for (let i = 0; i < cys.length - 1; i++) {
159
+ const currentCy = cys[i];
160
+ const nextCy = cys[i + 1];
161
+ if (currentCy !== undefined && nextCy !== undefined && isAdjacentDots(currentCy, nextCy, cellSize)) {
162
+ isConnected[i] = true;
163
+ isConnected[i + 1] = true;
164
+ }
165
+ }
166
+
167
+ // Add lonely dots as circles and build line groups
168
+ let groupStart = -1;
169
+ let groupEnd = -1;
170
+ for (let i = 0; i < cys.length; i++) {
171
+ const cy = cys[i];
172
+ if (cy === undefined) continue;
173
+ if (!isConnected[i]) {
174
+ // Lonely dot - add as circle
175
+ circles.push({
176
+ cx,
177
+ cy,
178
+ r: circleRadius
179
+ });
180
+
181
+ // Finish any ongoing line group
182
+ if (groupStart !== -1 && groupEnd !== -1 && groupStart !== groupEnd) {
183
+ lines.push({
184
+ x1: cx,
185
+ x2: cx,
186
+ y1: groupStart,
187
+ y2: groupEnd,
188
+ strokeWidth
189
+ });
190
+ }
191
+ groupStart = -1;
192
+ groupEnd = -1;
193
+ } else {
194
+ // Part of a line group
195
+ if (groupStart === -1) {
196
+ groupStart = cy;
197
+ groupEnd = cy;
127
198
  } else {
128
- groups.push([cy]);
199
+ // Check if adjacent to previous
200
+ const prevCy = cys[i - 1];
201
+ if (i > 0 && prevCy !== undefined && isAdjacentDots(cy, prevCy, cellSize)) {
202
+ groupEnd = cy;
203
+ } else {
204
+ // Gap in the group, finish previous line
205
+ if (groupStart !== groupEnd) {
206
+ lines.push({
207
+ x1: cx,
208
+ x2: cx,
209
+ y1: groupStart,
210
+ y2: groupEnd,
211
+ strokeWidth
212
+ });
213
+ }
214
+ groupStart = cy;
215
+ groupEnd = cy;
216
+ }
129
217
  }
130
218
  }
131
- return [cx, groups.map(item => [item[0], item[item.length - 1]])];
132
- }).forEach(([cx, groups]) => {
133
- groups.forEach(([y1, y2]) => {
134
- dots.push(/*#__PURE__*/_jsx(Line, {
135
- x1: cx,
136
- x2: cx,
137
- y1: y1,
138
- y2: y2,
139
- stroke: dotColor,
140
- strokeWidth: cellSize / (CIRCLE_SIZE_MODIFIER / 2),
141
- strokeLinecap: "round"
142
- }, `line_${cx}_${y1}_${y2}`));
219
+ }
220
+
221
+ // Don't forget the last group
222
+ if (groupStart !== -1 && groupEnd !== -1 && groupStart !== groupEnd) {
223
+ lines.push({
224
+ x1: cx,
225
+ x2: cx,
226
+ y1: groupStart,
227
+ y2: groupEnd,
228
+ strokeWidth
143
229
  });
144
- });
145
- return dots;
230
+ }
146
231
  }
232
+ return {
233
+ rects,
234
+ circles,
235
+ lines
236
+ };
237
+ }
238
+ export function generateQRData(uri, size, logoSize, logoBorderRadius) {
239
+ if (!uri || size <= 0) {
240
+ throw new Error('Invalid QR code parameters');
241
+ }
242
+ const matrix = getMatrix(uri, 'Q');
243
+ return processQRMatrix(matrix, size, logoSize, logoBorderRadius);
244
+ }
245
+ export const QRCodeUtil = {
246
+ generate: generateQRData
147
247
  };
148
248
  //# sourceMappingURL=QRCodeUtil.js.map