@wise/art 0.0.0-experimental-7f4f66a → 0.0.0-experimental-b088eec

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 (141) hide show
  1. package/README.md +16 -2
  2. package/dist/CheckMark-B4apF00o.js +40 -0
  3. package/dist/CheckMark-B4apF00o.js.map +1 -0
  4. package/dist/CheckMark-C6Gr_xXL.esm.js +38 -0
  5. package/dist/CheckMark-C6Gr_xXL.esm.js.map +1 -0
  6. package/dist/Confetti-C67U1Zdj.esm.js +35 -0
  7. package/dist/Confetti-C67U1Zdj.esm.js.map +1 -0
  8. package/dist/Confetti-DdxGAp4I.js +37 -0
  9. package/dist/Confetti-DdxGAp4I.js.map +1 -0
  10. package/dist/Flower-DasfcRBT.esm.js +28 -0
  11. package/dist/Flower-DasfcRBT.esm.js.map +1 -0
  12. package/dist/Flower-yjqCXxp6.js +30 -0
  13. package/dist/Flower-yjqCXxp6.js.map +1 -0
  14. package/dist/Globe-BqDlwkJm.js +46 -0
  15. package/dist/Globe-BqDlwkJm.js.map +1 -0
  16. package/dist/Globe-C9AZxd2Y.esm.js +44 -0
  17. package/dist/Globe-C9AZxd2Y.esm.js.map +1 -0
  18. package/dist/Graph-6nvvJntC.js +34 -0
  19. package/dist/Graph-6nvvJntC.js.map +1 -0
  20. package/dist/Graph-DVJ38E1p.esm.js +32 -0
  21. package/dist/Graph-DVJ38E1p.esm.js.map +1 -0
  22. package/dist/Illustration.css +1 -0
  23. package/dist/Interest-2Yff_wDq.js +53 -0
  24. package/dist/Interest-2Yff_wDq.js.map +1 -0
  25. package/dist/Interest-DjOcyx9v.esm.js +51 -0
  26. package/dist/Interest-DjOcyx9v.esm.js.map +1 -0
  27. package/dist/Jars-C7KdBy9e.js +53 -0
  28. package/dist/Jars-C7KdBy9e.js.map +1 -0
  29. package/dist/Jars-CHh_FiCl.esm.js +51 -0
  30. package/dist/Jars-CHh_FiCl.esm.js.map +1 -0
  31. package/dist/Lock-B7bG1MNN.js +44 -0
  32. package/dist/Lock-B7bG1MNN.js.map +1 -0
  33. package/dist/Lock-DddccsYd.esm.js +42 -0
  34. package/dist/Lock-DddccsYd.esm.js.map +1 -0
  35. package/dist/MagnifyingGlass-D3ECziZC.js +33 -0
  36. package/dist/MagnifyingGlass-D3ECziZC.js.map +1 -0
  37. package/dist/MagnifyingGlass-Dzg9rQC8.esm.js +31 -0
  38. package/dist/MagnifyingGlass-Dzg9rQC8.esm.js.map +1 -0
  39. package/dist/Marble-Befsfifz.esm.js +43 -0
  40. package/dist/Marble-Befsfifz.esm.js.map +1 -0
  41. package/dist/Marble-DSYM97l5.js +45 -0
  42. package/dist/Marble-DSYM97l5.js.map +1 -0
  43. package/dist/MarbleCard-DHWslCVG.esm.js +46 -0
  44. package/dist/MarbleCard-DHWslCVG.esm.js.map +1 -0
  45. package/dist/MarbleCard-kOCCz1Qh.js +48 -0
  46. package/dist/MarbleCard-kOCCz1Qh.js.map +1 -0
  47. package/dist/MultiCurrency-B6mXCM3m.esm.js +62 -0
  48. package/dist/MultiCurrency-B6mXCM3m.esm.js.map +1 -0
  49. package/dist/MultiCurrency-DP_lAn0S.js +64 -0
  50. package/dist/MultiCurrency-DP_lAn0S.js.map +1 -0
  51. package/dist/Plane-CIIUv-R9.js +40 -0
  52. package/dist/Plane-CIIUv-R9.js.map +1 -0
  53. package/dist/Plane-sDsU8h_j.esm.js +38 -0
  54. package/dist/Plane-sDsU8h_j.esm.js.map +1 -0
  55. package/dist/Scene-BIEwR0Eq.esm.js +54 -0
  56. package/dist/Scene-BIEwR0Eq.esm.js.map +1 -0
  57. package/dist/Scene-JIaToh60.js +56 -0
  58. package/dist/Scene-JIaToh60.js.map +1 -0
  59. package/dist/common-DBpCdW70.esm.js +14 -0
  60. package/dist/common-DBpCdW70.esm.js.map +1 -0
  61. package/dist/common-H4L6Hbbh.js +16 -0
  62. package/dist/common-H4L6Hbbh.js.map +1 -0
  63. package/dist/common.d.ts +15 -0
  64. package/dist/common.d.ts.map +1 -0
  65. package/dist/flags/Flag.d.ts +14 -0
  66. package/dist/flags/Flag.d.ts.map +1 -0
  67. package/dist/flags/Flag.spec.d.ts +2 -0
  68. package/dist/flags/Flag.spec.d.ts.map +1 -0
  69. package/dist/flags/index.d.ts +3 -0
  70. package/dist/flags/index.d.ts.map +1 -0
  71. package/dist/flags/metadata.d.ts +2 -0
  72. package/dist/flags/metadata.d.ts.map +1 -0
  73. package/dist/illustrations/Illustration.d.ts +20 -0
  74. package/dist/illustrations/Illustration.d.ts.map +1 -0
  75. package/dist/illustrations/Illustration.spec.d.ts +2 -0
  76. package/dist/illustrations/Illustration.spec.d.ts.map +1 -0
  77. package/dist/illustrations/index.d.ts +5 -0
  78. package/dist/illustrations/index.d.ts.map +1 -0
  79. package/dist/illustrations/metadata.d.ts +128 -0
  80. package/dist/illustrations/metadata.d.ts.map +1 -0
  81. package/dist/illustrations3d/Illustration3D.d.ts +11 -0
  82. package/dist/illustrations3d/Illustration3D.d.ts.map +1 -0
  83. package/dist/illustrations3d/Scene.d.ts +10 -0
  84. package/dist/illustrations3d/Scene.d.ts.map +1 -0
  85. package/dist/illustrations3d/index.d.ts +5 -0
  86. package/dist/illustrations3d/index.d.ts.map +1 -0
  87. package/dist/illustrations3d/models/CheckMark.d.ts +3 -0
  88. package/dist/illustrations3d/models/CheckMark.d.ts.map +1 -0
  89. package/dist/illustrations3d/models/Confetti.d.ts +3 -0
  90. package/dist/illustrations3d/models/Confetti.d.ts.map +1 -0
  91. package/dist/illustrations3d/models/Flower.d.ts +3 -0
  92. package/dist/illustrations3d/models/Flower.d.ts.map +1 -0
  93. package/dist/illustrations3d/models/Globe.d.ts +3 -0
  94. package/dist/illustrations3d/models/Globe.d.ts.map +1 -0
  95. package/dist/illustrations3d/models/Graph.d.ts +3 -0
  96. package/dist/illustrations3d/models/Graph.d.ts.map +1 -0
  97. package/dist/illustrations3d/models/Interest.d.ts +3 -0
  98. package/dist/illustrations3d/models/Interest.d.ts.map +1 -0
  99. package/dist/illustrations3d/models/Jars.d.ts +3 -0
  100. package/dist/illustrations3d/models/Jars.d.ts.map +1 -0
  101. package/dist/illustrations3d/models/Lock.d.ts +3 -0
  102. package/dist/illustrations3d/models/Lock.d.ts.map +1 -0
  103. package/dist/illustrations3d/models/MagnifyingGlass.d.ts +3 -0
  104. package/dist/illustrations3d/models/MagnifyingGlass.d.ts.map +1 -0
  105. package/dist/illustrations3d/models/Marble.d.ts +3 -0
  106. package/dist/illustrations3d/models/Marble.d.ts.map +1 -0
  107. package/dist/illustrations3d/models/MarbleCard.d.ts +3 -0
  108. package/dist/illustrations3d/models/MarbleCard.d.ts.map +1 -0
  109. package/dist/illustrations3d/models/MultiCurrency.d.ts +3 -0
  110. package/dist/illustrations3d/models/MultiCurrency.d.ts.map +1 -0
  111. package/dist/illustrations3d/models/Plane.d.ts +3 -0
  112. package/dist/illustrations3d/models/Plane.d.ts.map +1 -0
  113. package/dist/illustrations3d/utils.d.ts +10 -0
  114. package/dist/illustrations3d/utils.d.ts.map +1 -0
  115. package/dist/illustrations3d/utils.spec.d.ts +2 -0
  116. package/dist/illustrations3d/utils.spec.d.ts.map +1 -0
  117. package/dist/index-B8dsCxbf.js +405 -0
  118. package/dist/index-B8dsCxbf.js.map +1 -0
  119. package/dist/index-BLcCygw5.esm.js +399 -0
  120. package/dist/index-BLcCygw5.esm.js.map +1 -0
  121. package/dist/index.d.ts +10 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.esm.js +6 -0
  124. package/dist/index.esm.js.map +1 -0
  125. package/dist/index.js +23 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/rive/RiveIllustration.d.ts +13 -0
  128. package/dist/rive/RiveIllustration.d.ts.map +1 -0
  129. package/dist/rive/index.d.ts +3 -0
  130. package/dist/rive/index.d.ts.map +1 -0
  131. package/dist/rive/index.esm.js +47 -0
  132. package/dist/rive/index.esm.js.map +1 -0
  133. package/dist/rive/index.js +53 -0
  134. package/dist/rive/index.js.map +1 -0
  135. package/package.json +6 -8
  136. package/src/flags/AllFlagsAndSizes.stories.tsx +48 -49
  137. package/src/illustrations/Illustration.stories.tsx +38 -35
  138. package/src/illustrations/metadata.ts +267 -5
  139. package/src/illustrations3d/Illustration3D.stories.tsx +34 -1
  140. package/src/illustrations3d/Illustration3D.tsx +2 -15
  141. package/src/illustrations3d/utils.ts +3 -17
@@ -0,0 +1,5 @@
1
+ export { default } from './Illustration3D';
2
+ export type { Props as Illustration3DProps } from './Illustration3D';
3
+ export type { Illustration3DNames } from './Illustration3D';
4
+ export { isIllustrationSupport3D } from './utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/illustrations3d/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,YAAY,EAAE,KAAK,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAErE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const CheckMark: () => import("react").JSX.Element;
2
+ export default CheckMark;
3
+ //# sourceMappingURL=CheckMark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckMark.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/CheckMark.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,SAAS,mCAoBd,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Confetti: () => import("react").JSX.Element;
2
+ export default Confetti;
3
+ //# sourceMappingURL=Confetti.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Confetti.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Confetti.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,QAAQ,mCAmBb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Flower: () => import("react").JSX.Element;
2
+ export default Flower;
3
+ //# sourceMappingURL=Flower.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flower.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Flower.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,mCAeX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Globe: () => import("react").JSX.Element;
2
+ export default Globe;
3
+ //# sourceMappingURL=Globe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Globe.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Globe.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,KAAK,mCAgCV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Graph: () => import("react").JSX.Element;
2
+ export default Graph;
3
+ //# sourceMappingURL=Graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Graph.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,KAAK,mCAiBV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Interest: () => import("react").JSX.Element;
2
+ export default Interest;
3
+ //# sourceMappingURL=Interest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Interest.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Interest.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,QAAQ,mCAgCb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Jars: () => import("react").JSX.Element;
2
+ export default Jars;
3
+ //# sourceMappingURL=Jars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jars.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Jars.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,IAAI,mCAqCT,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Lock: () => import("react").JSX.Element;
2
+ export default Lock;
3
+ //# sourceMappingURL=Lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lock.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Lock.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,IAAI,mCA4BT,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const MagnifyingGlass: () => import("react").JSX.Element;
2
+ export default MagnifyingGlass;
3
+ //# sourceMappingURL=MagnifyingGlass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagnifyingGlass.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/MagnifyingGlass.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,eAAe,mCAqBpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Marble: () => import("react").JSX.Element;
2
+ export default Marble;
3
+ //# sourceMappingURL=Marble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Marble.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Marble.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,mCAsCX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const MarbleCard: () => import("react").JSX.Element;
2
+ export default MarbleCard;
3
+ //# sourceMappingURL=MarbleCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarbleCard.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/MarbleCard.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,UAAU,mCAyCf,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const MultiCurrency: () => import("react").JSX.Element;
2
+ export default MultiCurrency;
3
+ //# sourceMappingURL=MultiCurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiCurrency.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/MultiCurrency.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,mCAgDlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const Plane: () => import("react").JSX.Element;
2
+ export default Plane;
3
+ //# sourceMappingURL=Plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plane.d.ts","sourceRoot":"","sources":["../../../src/illustrations3d/models/Plane.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,KAAK,mCAuBV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type IllustrationNames } from '../illustrations/metadata';
2
+ export declare function useBattery(): {
3
+ level: number;
4
+ };
5
+ export declare function isBatteryLow(batteryLevel: number): boolean;
6
+ export declare const isWebGL2Available: () => boolean;
7
+ export declare function isConnectionSlow(): boolean;
8
+ export declare function defineSrc(asset: string): string;
9
+ export declare function isIllustrationSupport3D(asset: IllustrationNames): boolean;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/illustrations3d/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAExF,wBAAgB,UAAU;WACgC,MAAM;EAwB/D;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,eAAO,MAAM,iBAAiB,eAQ7B,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,OAAO,CAa1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAEzE"}
@@ -0,0 +1,2 @@
1
+ import '@testing-library/jest-dom';
2
+ //# sourceMappingURL=utils.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.spec.d.ts","sourceRoot":"","sources":["../../src/illustrations3d/utils.spec.tsx"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,405 @@
1
+ 'use strict';
2
+
3
+ var clsx = require('clsx');
4
+ var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var common = require('./common-H4L6Hbbh.js');
7
+
8
+ /*
9
+ *
10
+ * DON'T MODIFY THIS FILE IT'S AUTO GENERATED
11
+ * See: `scripts/generate-flags-metadata.mjs`
12
+ *
13
+ */
14
+ const DETAILED_FLAG_CODES = ['zm', 'va', 'uy', 'us', 'ug', 'tw', 'tv', 'tm', 'sv', 'sm', 'si', 'sg', 'py', 'pt', 'ph', 'pe', 'pa', 'om', 'nz', 'np', 'ni', 'mz', 'my', 'mx', 'mt', 'mh', 'md', 'ls', 'lk', 'li', 'ki', 'ke', 'je', 'in', 'im', 'hr', 'hn', 'hm', 'hk', 'gt', 'gi', 'gg', 'fj', 'eur', 'es', 'eg', 'do', 'cn', 'by', 'br', 'bn', 'bf', 'ba', 'az', 'au', 'ar', 'an', 'am', 'al', 'ad'];
15
+
16
+ const unknownFlagName = 'wise';
17
+ const Flag = ({
18
+ code,
19
+ intrinsicSize = 64,
20
+ className = undefined,
21
+ loading = 'lazy'
22
+ }) => {
23
+ const [fallback, setFallback] = react.useState(null);
24
+ react.useEffect(() => {
25
+ setFallback(null);
26
+ }, [code]);
27
+ const detailed = intrinsicSize >= 150;
28
+ // Only get detailed svg if we know it exists, to avoid the performance hit of failing requests
29
+ const name = fallback !== 'unknown' ? `${code.toLowerCase()}${fallback == null && detailed && DETAILED_FLAG_CODES.includes(code.toLowerCase()) ? '-detailed' : ''}` : unknownFlagName;
30
+ return /*#__PURE__*/jsxRuntime.jsx("img", {
31
+ className: clsx.clsx(`wds-flag wds-flag-${name}`, className),
32
+ src: process.env.NODE_ENV === 'web-art-dev' ? `${name}.svg` : `https://wise.com/web-art/assets/flags/${name}.svg`,
33
+ loading: loading,
34
+ alt: "",
35
+ width: intrinsicSize,
36
+ height: intrinsicSize,
37
+ onError: () => {
38
+ setFallback(prev => prev == null && detailed ? 'simple' : 'unknown');
39
+ }
40
+ });
41
+ };
42
+
43
+ const imageSizes = {
44
+ [common.Sizes.SMALL]: 200,
45
+ [common.Sizes.MEDIUM]: 300,
46
+ [common.Sizes.LARGE]: 500
47
+ };
48
+ const Illustration = /*#__PURE__*/react.forwardRef(({
49
+ id,
50
+ name,
51
+ alt = '',
52
+ loading = 'eager',
53
+ className,
54
+ size = common.Sizes.MEDIUM,
55
+ disablePadding = false
56
+ }, ref) => {
57
+ const {
58
+ SMALL,
59
+ MEDIUM
60
+ } = common.Sizes;
61
+ return name ? /*#__PURE__*/jsxRuntime.jsxs("picture", {
62
+ children: [size === common.Sizes.LARGE || size === common.Sizes.MEDIUM ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
63
+ children: [/*#__PURE__*/jsxRuntime.jsx("source", {
64
+ width: imageSizes[SMALL],
65
+ height: imageSizes[SMALL],
66
+ media: "(max-width: 575px)",
67
+ srcSet: `${defineSrc$1(name, SMALL, '1x')}, ${defineSrc$1(name, SMALL, '2x')} 2x`
68
+ }), size !== common.Sizes.MEDIUM ? /*#__PURE__*/jsxRuntime.jsx("source", {
69
+ width: imageSizes[MEDIUM],
70
+ height: imageSizes[MEDIUM],
71
+ media: "(max-width: 992px)",
72
+ srcSet: `${defineSrc$1(name, MEDIUM, '1x')}, ${defineSrc$1(name, MEDIUM, '2x')} 2x`
73
+ }) : null]
74
+ }) : null, /*#__PURE__*/jsxRuntime.jsx("img", {
75
+ id: id,
76
+ ref: ref,
77
+ alt: alt,
78
+ "data-testid": `wds-${name}-illustration`,
79
+ className: clsx.clsx(`wds-illustration wds-illustration-${name}`, className, !disablePadding && 'wds-illustration-padding'),
80
+ loading: loading,
81
+ src: defineSrc$1(name, size, '1x'),
82
+ srcSet: `${defineSrc$1(name, size, '2x')} 2x`,
83
+ width: imageSizes[size],
84
+ height: imageSizes[size]
85
+ })]
86
+ }) : null;
87
+ });
88
+ function defineSrc$1(illustration, size, descriptor) {
89
+ return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;
90
+ }
91
+
92
+ /*
93
+ *
94
+ * DON'T MODIFY THIS FILE IT'S AUTO GENERATED
95
+ * See: `scripts/generate-i10s-metadata.mjs`
96
+ *
97
+ */
98
+ exports.Assets = void 0;
99
+ (function (Assets) {
100
+ Assets["API_INTEGRATIONS_BUSINESS"] = "api-integrations-business";
101
+ Assets["APP_MARKETPLACE_BUSINESS"] = "app-marketplace-business";
102
+ Assets["BACKPACK"] = "backpack";
103
+ Assets["BATCH_PAYMENTS_BUSINESS"] = "batch-payments-business";
104
+ Assets["BELL"] = "bell";
105
+ Assets["BELL_BUSINESS"] = "bell-business";
106
+ Assets["BRIEFCASE"] = "briefcase";
107
+ Assets["BRIEFCASE_BUSINESS"] = "briefcase-business";
108
+ Assets["BUSINESS_CARD"] = "business-card";
109
+ Assets["BUSINESS_CARD_BUSINESS"] = "business-card-business";
110
+ Assets["CALCULATOR_BUSINESS"] = "calculator-business";
111
+ Assets["CALENDAR"] = "calendar";
112
+ Assets["CALENDAR_BUSINESS"] = "calendar-business";
113
+ Assets["CARD"] = "card";
114
+ Assets["CARD_BUSINESS"] = "card-business";
115
+ Assets["CHECK_MARK"] = "check-mark";
116
+ Assets["CHECK_MARK_BUSINESS"] = "check-mark-business";
117
+ Assets["CLOSED_WINDOW"] = "closed-window";
118
+ Assets["COIN_PILE_DOWN"] = "coin-pile-down";
119
+ Assets["COIN_PILE_DOWN_BUSINESS"] = "coin-pile-down-business";
120
+ Assets["COIN_PILE_UP"] = "coin-pile-up";
121
+ Assets["COIN_PILE_UP_BUSINESS"] = "coin-pile-up-business";
122
+ Assets["COMPLIANCE_PLATFORM"] = "compliance-platform";
123
+ Assets["CONFETTI"] = "confetti";
124
+ Assets["CONFETTI_BUSINESS"] = "confetti-business";
125
+ Assets["CONSTRUCTION_FENCE"] = "construction-fence";
126
+ Assets["CONTROLS_PLATFORM"] = "controls-platform";
127
+ Assets["CONVERT"] = "convert";
128
+ Assets["CONVERT_BUSINESS"] = "convert-business";
129
+ Assets["COOKIE"] = "cookie";
130
+ Assets["DIGITAL_CARD"] = "digital-card";
131
+ Assets["DIGITAL_CARD_2"] = "digital-card-2";
132
+ Assets["DIGITAL_CARD_BUSINESS"] = "digital-card-business";
133
+ Assets["DOCUMENTS"] = "documents";
134
+ Assets["DOCUMENTS_FOLDER_BUSINESS"] = "documents-folder-business";
135
+ Assets["DOOR"] = "door";
136
+ Assets["ECO_CARD"] = "eco-card";
137
+ Assets["ELECTRIC_PLUG"] = "electric-plug";
138
+ Assets["EMAIL"] = "email";
139
+ Assets["EMAIL_SUCCESS"] = "email-success";
140
+ Assets["EMAIL_SUCCESS_BUSINESS"] = "email-success-business";
141
+ Assets["EXCLAMATION_MARK"] = "exclamation-mark";
142
+ Assets["EXCLAMATION_MARK_BUSINESS"] = "exclamation-mark-business";
143
+ Assets["FLAG"] = "flag";
144
+ Assets["FLOWER"] = "flower";
145
+ Assets["GEAR"] = "gear";
146
+ Assets["GEAR_BUSINESS"] = "gear-business";
147
+ Assets["GEAR_PLATFORM"] = "gear-platform";
148
+ Assets["GET_PAID_WITH_CARD_BUSINESS"] = "get-paid-with-card-business";
149
+ Assets["GIFT_BOX"] = "gift-box";
150
+ Assets["GLOBE"] = "globe";
151
+ Assets["GRAPH"] = "graph";
152
+ Assets["GRAPH_BUSINESS"] = "graph-business";
153
+ Assets["HEADSET"] = "headset";
154
+ Assets["HEADSET_BUSINESS"] = "headset-business";
155
+ Assets["HEART"] = "heart";
156
+ Assets["HEART_2"] = "heart-2";
157
+ Assets["HEART_3"] = "heart-3";
158
+ Assets["HEART_4"] = "heart-4";
159
+ Assets["HEART_5"] = "heart-5";
160
+ Assets["HOUSE"] = "house";
161
+ Assets["ID_CARD"] = "id-card";
162
+ Assets["INFINITE"] = "infinite";
163
+ Assets["INTEREST"] = "interest";
164
+ Assets["INVITE_LETTER"] = "invite-letter";
165
+ Assets["JARS"] = "jars";
166
+ Assets["KEY"] = "key";
167
+ Assets["KEY_BUSINESS"] = "key-business";
168
+ Assets["LIGHT_BULB"] = "light-bulb";
169
+ Assets["LIGHT_BULB_BUSINESS"] = "light-bulb-business";
170
+ Assets["LOCK"] = "lock";
171
+ Assets["LOCK_BUSINESS"] = "lock-business";
172
+ Assets["LOCK_PLATFORM"] = "lock-platform";
173
+ Assets["MAGNIFYING_GLASS"] = "magnifying-glass";
174
+ Assets["MAGNIFYING_GLASS_BUSINESS"] = "magnifying-glass-business";
175
+ Assets["MAP"] = "map";
176
+ Assets["MAP_BUSINESS"] = "map-business";
177
+ Assets["MARBLE"] = "marble";
178
+ Assets["MARBLE_BUSINESS"] = "marble-business";
179
+ Assets["MARBLE_CARD"] = "marble-card";
180
+ Assets["MARBLE_CARD_BUSINESS"] = "marble-card-business";
181
+ Assets["MARBLE_CARD_BUSINESS_FLAG_ONLY"] = "marble-card-business-flag-only";
182
+ Assets["MARBLE_CARD_FLAG_ONLY"] = "marble-card-flag-only";
183
+ Assets["MARBLE_CARD_FLAG_ONLY_BUSINESS"] = "marble-card-flag-only-business";
184
+ Assets["MEGAPHONE"] = "megaphone";
185
+ Assets["MEGAPHONE_BUSINESS"] = "megaphone-business";
186
+ Assets["MULTI_CURRENCY"] = "multi-currency";
187
+ Assets["MULTI_CURRENCY_BUSINESS"] = "multi-currency-business";
188
+ Assets["ONE_INVITE_LETTER_OPENED"] = "one-invite-letter-opened";
189
+ Assets["PALM_TREE"] = "palm-tree";
190
+ Assets["PASSKEY"] = "passkey";
191
+ Assets["PERCENTAGE"] = "percentage";
192
+ Assets["PERCENTAGE_BUSINESS"] = "percentage-business";
193
+ Assets["PERSONAL_CARD"] = "personal-card";
194
+ Assets["PHONES"] = "phones";
195
+ Assets["PIE_CHART"] = "pie-chart";
196
+ Assets["PIE_CHART_BUSINESS"] = "pie-chart-business";
197
+ Assets["PLANE"] = "plane";
198
+ Assets["PLANE_2"] = "plane-2";
199
+ Assets["PLANE_BUSINESS"] = "plane-business";
200
+ Assets["PUZZLE_PIECES"] = "puzzle-pieces";
201
+ Assets["PUZZLE_PIECES_BUSINESS"] = "puzzle-pieces-business";
202
+ Assets["QUESTION_MARK"] = "question-mark";
203
+ Assets["QUESTION_MARK_BUSINESS"] = "question-mark-business";
204
+ Assets["RECEIVE"] = "receive";
205
+ Assets["RECEIVE_BUSINESS"] = "receive-business";
206
+ Assets["RED_PACKET"] = "red-packet";
207
+ Assets["REMINDER_LETTER"] = "reminder-letter";
208
+ Assets["ROCKET_PLATFORM"] = "rocket-platform";
209
+ Assets["SAND_TIMER"] = "sand-timer";
210
+ Assets["SAND_TIMER_BUSINESS"] = "sand-timer-business";
211
+ Assets["SATELLITE_PLATFORM"] = "satellite-platform";
212
+ Assets["SHOPPING_BAG"] = "shopping-bag";
213
+ Assets["SKIP_AUTHENTICATION"] = "skip-authentication";
214
+ Assets["SPEECH_BUBBLE"] = "speech-bubble";
215
+ Assets["STOPWATCH_PLATFORM"] = "stopwatch-platform";
216
+ Assets["TARGET_PLATFORM"] = "target-platform";
217
+ Assets["TOOL"] = "tool";
218
+ Assets["TREASURY_PLATFORM"] = "treasury-platform";
219
+ Assets["TWO_INVITE_LETTERS_OPENED"] = "two-invite-letters-opened";
220
+ Assets["WALLET"] = "wallet";
221
+ })(exports.Assets || (exports.Assets = {}));
222
+ const illustration3DNames = ['check-mark', 'confetti', 'flower', 'globe', 'graph', 'interest', 'jars', 'lock', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'];
223
+
224
+ function useBattery() {
225
+ const [batteryData, setBatteryData] = react.useState({
226
+ level: 1.0
227
+ });
228
+ react.useEffect(() => {
229
+ const getBatteryData = async () => {
230
+ // @ts-expect-error .getBattery exists in Navigator interface
231
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
232
+ const battery = await navigator.getBattery();
233
+ setBatteryData({
234
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
235
+ level: battery?.level
236
+ });
237
+ };
238
+ // Check if the browser supports the Battery API
239
+ if ('getBattery' in navigator && navigator.getBattery !== undefined && typeof navigator.getBattery === 'function') {
240
+ void getBatteryData();
241
+ }
242
+ }, []);
243
+ return batteryData;
244
+ }
245
+ function isBatteryLow(batteryLevel) {
246
+ return batteryLevel < 0.2;
247
+ }
248
+ const isWebGL2Available = () => {
249
+ try {
250
+ const canvas = document.createElement('canvas');
251
+ return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'));
252
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
253
+ } catch (e) {
254
+ return false;
255
+ }
256
+ };
257
+ function isConnectionSlow() {
258
+ // @ts-expect-error .connection prop exists in Navigator interface
259
+ const {
260
+ connection
261
+ } = window.navigator;
262
+ if (connection === undefined) {
263
+ return false;
264
+ }
265
+ return (
266
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
267
+ ['slow-2g', '2g'].includes(connection?.effectiveType) ||
268
+ // @ts-expect-error Property 'connection' does exist on type 'Navigator'
269
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
270
+ navigator?.connection?.saveData === true
271
+ );
272
+ }
273
+ function defineSrc(asset) {
274
+ return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
275
+ }
276
+ const illustration3DSet = new Set(illustration3DNames);
277
+ function isIllustrationSupport3D(asset) {
278
+ return illustration3DSet.has(asset);
279
+ }
280
+
281
+ /* eslint-disable fp/no-mutation */
282
+ var RenderMode;
283
+ (function (RenderMode) {
284
+ RenderMode[RenderMode["INIT"] = 0] = "INIT";
285
+ RenderMode[RenderMode["FALLBACK"] = 1] = "FALLBACK";
286
+ RenderMode[RenderMode["ASSET_3D"] = 2] = "ASSET_3D";
287
+ })(RenderMode || (RenderMode = {}));
288
+ const Illustration3D = ({
289
+ name,
290
+ size = common.Sizes.MEDIUM,
291
+ className
292
+ }) => {
293
+ const [renderMode, setRenderMode] = react.useState(RenderMode.INIT);
294
+ const [inintrinsicSize, setInintrinsicSize] = react.useState(size);
295
+ const batteryData = useBattery();
296
+ react.useEffect(() => {
297
+ setRenderMode(isConnectionSlow() || isBatteryLow(batteryData.level) || !isWebGL2Available() ? RenderMode.FALLBACK : RenderMode.ASSET_3D);
298
+ const isMobile = (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;
299
+ if (isMobile) {
300
+ setInintrinsicSize(common.Sizes.SMALL);
301
+ }
302
+ }, [batteryData]);
303
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
304
+ className: clsx.clsx(`wds-illustration-3d wds-illustration-3d-${name} wds-illustration-3d-${inintrinsicSize}`, className),
305
+ "aria-hidden": true,
306
+ children: renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? /*#__PURE__*/jsxRuntime.jsx(react.Suspense, {
307
+ fallback: null,
308
+ children: getModel({
309
+ name,
310
+ size: inintrinsicSize
311
+ })
312
+ }) : /*#__PURE__*/jsxRuntime.jsx(Illustration, {
313
+ name: name,
314
+ size: size,
315
+ alt: ""
316
+ })
317
+ });
318
+ };
319
+ function getModel({
320
+ name,
321
+ size
322
+ }) {
323
+ // @ts-expect-error unknown generic
324
+ let Model = /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
325
+ const Scene = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Scene-JIaToh60.js'); }));
326
+ switch (name) {
327
+ case exports.Assets.LOCK:
328
+ {
329
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Lock-B7bG1MNN.js'); }));
330
+ break;
331
+ }
332
+ case exports.Assets.GLOBE:
333
+ {
334
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Globe-BqDlwkJm.js'); }));
335
+ break;
336
+ }
337
+ case exports.Assets.CONFETTI:
338
+ {
339
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Confetti-DdxGAp4I.js'); }));
340
+ break;
341
+ }
342
+ case exports.Assets.CHECK_MARK:
343
+ {
344
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./CheckMark-B4apF00o.js'); }));
345
+ break;
346
+ }
347
+ case exports.Assets.FLOWER:
348
+ {
349
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Flower-yjqCXxp6.js'); }));
350
+ break;
351
+ }
352
+ case exports.Assets.PLANE:
353
+ {
354
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Plane-CIIUv-R9.js'); }));
355
+ break;
356
+ }
357
+ case exports.Assets.GRAPH:
358
+ {
359
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Graph-6nvvJntC.js'); }));
360
+ break;
361
+ }
362
+ case exports.Assets.MARBLE:
363
+ {
364
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Marble-DSYM97l5.js'); }));
365
+ break;
366
+ }
367
+ case exports.Assets.MARBLE_CARD:
368
+ {
369
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MarbleCard-kOCCz1Qh.js'); }));
370
+ break;
371
+ }
372
+ case exports.Assets.MAGNIFYING_GLASS:
373
+ {
374
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MagnifyingGlass-D3ECziZC.js'); }));
375
+ break;
376
+ }
377
+ case exports.Assets.JARS:
378
+ {
379
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Jars-C7KdBy9e.js'); }));
380
+ break;
381
+ }
382
+ case exports.Assets.MULTI_CURRENCY:
383
+ {
384
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MultiCurrency-DP_lAn0S.js'); }));
385
+ break;
386
+ }
387
+ case exports.Assets.INTEREST:
388
+ {
389
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Interest-2Yff_wDq.js'); }));
390
+ break;
391
+ }
392
+ }
393
+ return /*#__PURE__*/jsxRuntime.jsx(Scene, {
394
+ assetName: name,
395
+ size: size,
396
+ children: /*#__PURE__*/jsxRuntime.jsx(Model, {})
397
+ });
398
+ }
399
+
400
+ exports.Flag = Flag;
401
+ exports.Illustration = Illustration;
402
+ exports.Illustration3D = Illustration3D;
403
+ exports.defineSrc = defineSrc;
404
+ exports.isIllustrationSupport3D = isIllustrationSupport3D;
405
+ //# sourceMappingURL=index-B8dsCxbf.js.map