@wise/art 2.6.0 → 2.7.0-beta.2

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 (120) hide show
  1. package/dist/CheckMark-6516e382.js +39 -0
  2. package/dist/CheckMark-6516e382.js.map +1 -0
  3. package/dist/CheckMark-7e2e6863.esm.js +37 -0
  4. package/dist/CheckMark-7e2e6863.esm.js.map +1 -0
  5. package/dist/Confetti-71f18588.js +36 -0
  6. package/dist/Confetti-71f18588.js.map +1 -0
  7. package/dist/Confetti-f1f0c4a5.esm.js +34 -0
  8. package/dist/Confetti-f1f0c4a5.esm.js.map +1 -0
  9. package/dist/Flower-2325e8ba.js +29 -0
  10. package/dist/Flower-2325e8ba.js.map +1 -0
  11. package/dist/Flower-8a17d7a6.esm.js +27 -0
  12. package/dist/Flower-8a17d7a6.esm.js.map +1 -0
  13. package/dist/Globe-601b1eb5.esm.js +43 -0
  14. package/dist/Globe-601b1eb5.esm.js.map +1 -0
  15. package/dist/Globe-93237bd2.js +45 -0
  16. package/dist/Globe-93237bd2.js.map +1 -0
  17. package/dist/Graph-536a6847.js +33 -0
  18. package/dist/Graph-536a6847.js.map +1 -0
  19. package/dist/Graph-e766a791.esm.js +31 -0
  20. package/dist/Graph-e766a791.esm.js.map +1 -0
  21. package/dist/Illustration.css +19 -0
  22. package/dist/Jars-9afb6e8b.esm.js +50 -0
  23. package/dist/Jars-9afb6e8b.esm.js.map +1 -0
  24. package/dist/Jars-fcb1e2b1.js +52 -0
  25. package/dist/Jars-fcb1e2b1.js.map +1 -0
  26. package/dist/Lock-2365c3f9.esm.js +41 -0
  27. package/dist/Lock-2365c3f9.esm.js.map +1 -0
  28. package/dist/Lock-e5c89aa2.js +43 -0
  29. package/dist/Lock-e5c89aa2.js.map +1 -0
  30. package/dist/MagnifyingGlass-92351fd6.js +32 -0
  31. package/dist/MagnifyingGlass-92351fd6.js.map +1 -0
  32. package/dist/MagnifyingGlass-92fbedda.esm.js +30 -0
  33. package/dist/MagnifyingGlass-92fbedda.esm.js.map +1 -0
  34. package/dist/Marble-0f2d6f38.js +44 -0
  35. package/dist/Marble-0f2d6f38.js.map +1 -0
  36. package/dist/Marble-91d300a3.esm.js +42 -0
  37. package/dist/Marble-91d300a3.esm.js.map +1 -0
  38. package/dist/MarbleCard-690b2b8e.esm.js +45 -0
  39. package/dist/MarbleCard-690b2b8e.esm.js.map +1 -0
  40. package/dist/MarbleCard-ed7536dc.js +47 -0
  41. package/dist/MarbleCard-ed7536dc.js.map +1 -0
  42. package/dist/MultiCurrency-0456db19.js +63 -0
  43. package/dist/MultiCurrency-0456db19.js.map +1 -0
  44. package/dist/MultiCurrency-1b491db5.esm.js +61 -0
  45. package/dist/MultiCurrency-1b491db5.esm.js.map +1 -0
  46. package/dist/Plane-b6340ff4.js +39 -0
  47. package/dist/Plane-b6340ff4.js.map +1 -0
  48. package/dist/Plane-d631e81c.esm.js +37 -0
  49. package/dist/Plane-d631e81c.esm.js.map +1 -0
  50. package/dist/Scene-45fbe252.js +48 -0
  51. package/dist/Scene-45fbe252.js.map +1 -0
  52. package/dist/Scene-783029f4.esm.js +46 -0
  53. package/dist/Scene-783029f4.esm.js.map +1 -0
  54. package/dist/common.d.ts +5 -0
  55. package/dist/common.d.ts.map +1 -1
  56. package/dist/illustrations3d/Illustration3D.d.ts +11 -0
  57. package/dist/illustrations3d/Illustration3D.d.ts.map +1 -0
  58. package/dist/illustrations3d/Scene.d.ts +10 -0
  59. package/dist/illustrations3d/Scene.d.ts.map +1 -0
  60. package/dist/illustrations3d/index.d.ts +5 -0
  61. package/dist/illustrations3d/index.d.ts.map +1 -0
  62. package/dist/illustrations3d/models/CheckMark.d.ts +4 -0
  63. package/dist/illustrations3d/models/CheckMark.d.ts.map +1 -0
  64. package/dist/illustrations3d/models/Confetti.d.ts +4 -0
  65. package/dist/illustrations3d/models/Confetti.d.ts.map +1 -0
  66. package/dist/illustrations3d/models/Flower.d.ts +4 -0
  67. package/dist/illustrations3d/models/Flower.d.ts.map +1 -0
  68. package/dist/illustrations3d/models/Globe.d.ts +4 -0
  69. package/dist/illustrations3d/models/Globe.d.ts.map +1 -0
  70. package/dist/illustrations3d/models/Graph.d.ts +4 -0
  71. package/dist/illustrations3d/models/Graph.d.ts.map +1 -0
  72. package/dist/illustrations3d/models/Jars.d.ts +4 -0
  73. package/dist/illustrations3d/models/Jars.d.ts.map +1 -0
  74. package/dist/illustrations3d/models/Lock.d.ts +4 -0
  75. package/dist/illustrations3d/models/Lock.d.ts.map +1 -0
  76. package/dist/illustrations3d/models/MagnifyingGlass.d.ts +4 -0
  77. package/dist/illustrations3d/models/MagnifyingGlass.d.ts.map +1 -0
  78. package/dist/illustrations3d/models/Marble.d.ts +4 -0
  79. package/dist/illustrations3d/models/Marble.d.ts.map +1 -0
  80. package/dist/illustrations3d/models/MarbleCard.d.ts +4 -0
  81. package/dist/illustrations3d/models/MarbleCard.d.ts.map +1 -0
  82. package/dist/illustrations3d/models/MultiCurrency.d.ts +4 -0
  83. package/dist/illustrations3d/models/MultiCurrency.d.ts.map +1 -0
  84. package/dist/illustrations3d/models/Plane.d.ts +4 -0
  85. package/dist/illustrations3d/models/Plane.d.ts.map +1 -0
  86. package/dist/illustrations3d/utils.d.ts +9 -0
  87. package/dist/illustrations3d/utils.d.ts.map +1 -0
  88. package/dist/index-3b6277fc.esm.js +325 -0
  89. package/dist/index-3b6277fc.esm.js.map +1 -0
  90. package/dist/index-c17944c0.js +332 -0
  91. package/dist/index-c17944c0.js.map +1 -0
  92. package/dist/index.d.ts +3 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.esm.js +5 -0
  95. package/dist/index.esm.js.map +1 -0
  96. package/dist/index.js +15 -155
  97. package/dist/index.js.map +1 -1
  98. package/package.json +15 -14
  99. package/src/common.ts +6 -0
  100. package/src/illustrations/Illustration.css +19 -0
  101. package/src/illustrations3d/Illustration3D.stories.tsx +88 -0
  102. package/src/illustrations3d/Illustration3D.tsx +133 -0
  103. package/src/illustrations3d/Scene.tsx +54 -0
  104. package/src/illustrations3d/index.ts +6 -0
  105. package/src/illustrations3d/models/CheckMark.tsx +30 -0
  106. package/src/illustrations3d/models/Confetti.tsx +29 -0
  107. package/src/illustrations3d/models/Flower.tsx +24 -0
  108. package/src/illustrations3d/models/Globe.tsx +41 -0
  109. package/src/illustrations3d/models/Graph.tsx +26 -0
  110. package/src/illustrations3d/models/Jars.tsx +47 -0
  111. package/src/illustrations3d/models/Lock.tsx +38 -0
  112. package/src/illustrations3d/models/MagnifyingGlass.tsx +30 -0
  113. package/src/illustrations3d/models/Marble.tsx +47 -0
  114. package/src/illustrations3d/models/MarbleCard.tsx +50 -0
  115. package/src/illustrations3d/models/MultiCurrency.tsx +58 -0
  116. package/src/illustrations3d/models/Plane.tsx +33 -0
  117. package/src/illustrations3d/utils.ts +68 -0
  118. package/src/index.ts +5 -0
  119. package/dist/index.mjs +0 -159
  120. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,58 @@
1
+ import { useGLTF, useAnimations } from '@react-three/drei';
2
+ import { useFrame, useLoader } from '@react-three/fiber';
3
+ import { useRef } from 'react';
4
+ import { ObjectLoader, TextureLoader, Color } from 'three';
5
+
6
+ import { defineSrc } from '../utils';
7
+
8
+ const MultiCurrency = () => {
9
+ const ref = useRef();
10
+ const model = useGLTF(defineSrc(`multi-currency.gltf`));
11
+
12
+ const lights = useLoader(ObjectLoader, defineSrc('multi-currency-light.json'));
13
+ const wiseLogo = useLoader(TextureLoader, defineSrc('wise-flag-map-bump.jpg'));
14
+
15
+ const animatedMaps = [];
16
+
17
+ model.scene.traverse((child) => {
18
+ if (child.name.includes('Note')) {
19
+ child.castShadow = true;
20
+ child.receiveShadow = true;
21
+ }
22
+
23
+ if (child.name.startsWith('Coin_') && child.isMesh) {
24
+ const { material } = child;
25
+ material.bumpMap = wiseLogo;
26
+ material.bumpMap.flipY = false;
27
+ material.bumpScale = 1;
28
+ material.color = new Color(0.49, 0.49, 0.49);
29
+ child.castShadow = false;
30
+ child.receiveShadow = false;
31
+ }
32
+
33
+ if (child.name.startsWith('NoteBase_') && child.isMesh) {
34
+ animatedMaps.push(child.material.map);
35
+ }
36
+
37
+ if (child.name.includes('Wise') && child.isMesh) {
38
+ animatedMaps.push(child.material.map);
39
+ }
40
+ });
41
+
42
+ const { mixer, clips } = useAnimations(model.animations, ref);
43
+ useFrame(() => {
44
+ animatedMaps.forEach((animatedMap) => {
45
+ animatedMap.offset.x += 0.001;
46
+ });
47
+ mixer.clipAction(clips[0]).play();
48
+ });
49
+
50
+ return (
51
+ <>
52
+ <primitive ref={ref} position={[-0.5, -10, 0]} scale={1.3} object={model.scene} />
53
+ <primitive object={lights} />
54
+ </>
55
+ );
56
+ };
57
+
58
+ export default MultiCurrency;
@@ -0,0 +1,33 @@
1
+ import { useGLTF, useAnimations } from '@react-three/drei';
2
+ import { useFrame, useLoader } from '@react-three/fiber';
3
+ import { useRef } from 'react';
4
+ import { ObjectLoader } from 'three';
5
+
6
+ import { defineSrc } from '../utils';
7
+
8
+ const Plane = () => {
9
+ const ref = useRef();
10
+ const model = useGLTF(defineSrc('plane.gltf'));
11
+
12
+ const lights = useLoader(ObjectLoader, defineSrc('plane-light.json'));
13
+ const plane = model.scene.getObjectByName('Plane_6_update');
14
+
15
+ const { mixer, clips } = useAnimations(model.animations, ref);
16
+ useFrame(() => {
17
+ model.materials['Tapestry WebGL'].map.offset.y += 0.018;
18
+
19
+ plane.position.x = 0.45;
20
+
21
+ plane.position.y = 7.5;
22
+ mixer.clipAction(clips[0]).play();
23
+ });
24
+
25
+ return (
26
+ <>
27
+ <primitive ref={ref} scale={1.3} position={[0, -7, 0]} object={model.scene} />
28
+ <primitive object={lights} />
29
+ </>
30
+ );
31
+ };
32
+
33
+ export default Plane;
@@ -0,0 +1,68 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ import type { IllustrationNames } from '../illustrations/metadata';
4
+
5
+ export function useBattery() {
6
+ const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });
7
+
8
+ useEffect(() => {
9
+ const getBatteryData = async () => {
10
+ // @ts-expect-error .getBattery exists in Navigator interface
11
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
12
+ const battery = await navigator.getBattery();
13
+
14
+ setBatteryData({
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
16
+ level: battery?.level,
17
+ });
18
+ };
19
+ // Check if the browser supports the Battery API
20
+ if ('getBattery' in navigator) {
21
+ void getBatteryData();
22
+ }
23
+ }, []);
24
+
25
+ return batteryData;
26
+ }
27
+
28
+ export function isBatteryLow(batteryLevel: number): boolean {
29
+ return batteryLevel < 0.2;
30
+ }
31
+
32
+ export function isConnectionSlow(): boolean {
33
+ // @ts-expect-error .connection prop exists in Navigator interface
34
+ const { connection } = window.navigator;
35
+ if (connection === undefined) {
36
+ return false;
37
+ }
38
+ return (
39
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
40
+ ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||
41
+ // @ts-expect-error Property 'connection' does exist on type 'Navigator'
42
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
43
+ navigator?.connection?.saveData === true
44
+ );
45
+ }
46
+
47
+ export function defineSrc(asset: string): string {
48
+ return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
49
+ }
50
+
51
+ const illustration3DNames = [
52
+ 'lock',
53
+ 'globe',
54
+ 'confetti',
55
+ 'check-mark',
56
+ 'flower',
57
+ 'graph',
58
+ 'jars',
59
+ 'magnifying-glass',
60
+ 'marble',
61
+ 'marble-card',
62
+ 'multi-currency',
63
+ 'plane',
64
+ ];
65
+
66
+ export function isIllustrationSupport3D(asset: IllustrationNames): boolean {
67
+ return illustration3DNames.includes(asset);
68
+ }
package/src/index.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  export { Flag } from './flags';
2
2
  export { default as Illustration } from './illustrations';
3
+ export { default as Illustration3D } from './illustrations3d';
4
+
3
5
  export { Assets } from './illustrations';
4
6
  export { Sizes } from './common';
5
7
 
6
8
  export type { FlagProps } from './flags';
7
9
  export type { IllustrationNames, IllustrationProps } from './illustrations';
10
+ export type { Illustration3DNames, Illustration3DProps } from './illustrations3d';
11
+
12
+ export { isIllustrationSupport3D } from './illustrations3d';
package/dist/index.mjs DELETED
@@ -1,159 +0,0 @@
1
- import { useState, useEffect, forwardRef } from 'react';
2
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import { clsx } from 'clsx';
4
-
5
- const unknownFlagName = 'wise';
6
- const Flag = ({
7
- code,
8
- intrinsicSize = 64
9
- }) => {
10
- const [fallback, setFallback] = useState(null);
11
- useEffect(() => {
12
- setFallback(null);
13
- }, [code]);
14
- const detailed = intrinsicSize >= 150;
15
- const name = fallback !== 'unknown' ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}` : unknownFlagName;
16
- return /*#__PURE__*/jsx("img", {
17
- src: `https://wise.com/web-art/assets/flags/${name}.svg`,
18
- alt: "",
19
- width: intrinsicSize,
20
- height: intrinsicSize,
21
- onError: () => {
22
- setFallback(prev => prev == null && detailed ? 'simple' : 'unknown');
23
- }
24
- });
25
- };
26
-
27
- var Sizes;
28
- (function (Sizes) {
29
- Sizes["SMALL"] = "small";
30
- Sizes["MEDIUM"] = "medium";
31
- Sizes["LARGE"] = "large";
32
- })(Sizes || (Sizes = {}));
33
-
34
- const imageSizes = {
35
- [Sizes.SMALL]: 200,
36
- [Sizes.MEDIUM]: 300,
37
- [Sizes.LARGE]: 500
38
- };
39
- const Illustration = /*#__PURE__*/forwardRef(({
40
- id,
41
- name,
42
- alt,
43
- loading = 'eager',
44
- className,
45
- size = Sizes.MEDIUM,
46
- disablePadding = false
47
- }, ref) => {
48
- const {
49
- SMALL,
50
- MEDIUM
51
- } = Sizes;
52
- return name ? /*#__PURE__*/jsxs("picture", {
53
- children: [size === Sizes.LARGE || size === Sizes.MEDIUM ? /*#__PURE__*/jsxs(Fragment, {
54
- children: [/*#__PURE__*/jsx("source", {
55
- width: imageSizes[SMALL],
56
- height: imageSizes[SMALL],
57
- media: "(max-width: 575px)",
58
- srcSet: `${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`
59
- }), size !== Sizes.MEDIUM ? /*#__PURE__*/jsx("source", {
60
- width: imageSizes[MEDIUM],
61
- height: imageSizes[MEDIUM],
62
- media: "(max-width: 992px)",
63
- srcSet: `${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`
64
- }) : null]
65
- }) : null, /*#__PURE__*/jsx("img", {
66
- id: id,
67
- ref: ref,
68
- alt: alt ?? name.replace('-', ' '),
69
- "data-testid": `wds-${name}-illustration`,
70
- className: clsx(`wds-illustration wds-illustration-${name}`, className, !disablePadding && 'wds-illustration-padding'),
71
- loading: loading,
72
- src: defineSrc(name, size, '1x'),
73
- srcSet: `${defineSrc(name, size, '2x')} 2x`,
74
- width: imageSizes[size],
75
- height: imageSizes[size]
76
- })]
77
- }) : null;
78
- });
79
- function defineSrc(illustration, size, descriptor) {
80
- return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;
81
- }
82
-
83
- /*
84
- *
85
- * DON'T MODIFY THIS FILE IT'S AUTO GENERATED
86
- * See: `scripts/generate-i10s-metadata.mjs`
87
- *
88
- */
89
- var Assets;
90
- (function (Assets) {
91
- Assets["BELL"] = "bell";
92
- Assets["BRIEFCASE"] = "briefcase";
93
- Assets["BUSINESS_CARD"] = "business-card";
94
- Assets["CALENDAR"] = "calendar";
95
- Assets["CHECK_MARK"] = "check-mark";
96
- Assets["CLOSED_WINDOW"] = "closed-window";
97
- Assets["COIN_PILE_DOWN"] = "coin-pile-down";
98
- Assets["COIN_PILE_UP"] = "coin-pile-up";
99
- Assets["CONFETTI"] = "confetti";
100
- Assets["CONSTRUCTION_FENCE"] = "construction-fence";
101
- Assets["CONVERT"] = "convert";
102
- Assets["COOKIE"] = "cookie";
103
- Assets["DIGITAL_CARD_2"] = "digital-card-2";
104
- Assets["DIGITAL_CARD"] = "digital-card";
105
- Assets["DOCUMENTS"] = "documents";
106
- Assets["DOOR"] = "door";
107
- Assets["ECO_CARD"] = "eco-card";
108
- Assets["ELECTRIC_PLUG"] = "electric-plug";
109
- Assets["EMAIL_SUCCESS"] = "email-success";
110
- Assets["EMAIL"] = "email";
111
- Assets["EXCLAMATION_MARK"] = "exclamation-mark";
112
- Assets["FLAG"] = "flag";
113
- Assets["FLOWER"] = "flower";
114
- Assets["GEAR"] = "gear";
115
- Assets["GLOBE"] = "globe";
116
- Assets["GRAPH"] = "graph";
117
- Assets["HEART_2"] = "heart-2";
118
- Assets["HEART_3"] = "heart-3";
119
- Assets["HEART_4"] = "heart-4";
120
- Assets["HEART_5"] = "heart-5";
121
- Assets["HEART"] = "heart";
122
- Assets["HOUSE"] = "house";
123
- Assets["ID_CARD"] = "id-card";
124
- Assets["INFINITE"] = "infinite";
125
- Assets["INVITE_LETTER"] = "invite-letter";
126
- Assets["JARS"] = "jars";
127
- Assets["KEY"] = "key";
128
- Assets["LIGHT_BULB"] = "light-bulb";
129
- Assets["LOCK"] = "lock";
130
- Assets["MAGNIFYING_GLASS"] = "magnifying-glass";
131
- Assets["MAP"] = "map";
132
- Assets["MARBLE_CARD_BUSINESS"] = "marble-card-business";
133
- Assets["MARBLE_CARD"] = "marble-card";
134
- Assets["MARBLE"] = "marble";
135
- Assets["MEGAPHONE"] = "megaphone";
136
- Assets["MULTI_CURRENCY"] = "multi-currency";
137
- Assets["ONE_INVITE_LETTER_OPENED"] = "one-invite-letter-opened";
138
- Assets["PALM_TREE"] = "palm-tree";
139
- Assets["PERCENTAGE"] = "percentage";
140
- Assets["PERSONAL_CARD"] = "personal-card";
141
- Assets["PHONES"] = "phones";
142
- Assets["PIE_CHART"] = "pie-chart";
143
- Assets["PLANE_2"] = "plane-2";
144
- Assets["PLANE"] = "plane";
145
- Assets["PUZZLE_PIECES"] = "puzzle-pieces";
146
- Assets["QUESTION_MARK"] = "question-mark";
147
- Assets["RECEIVE"] = "receive";
148
- Assets["REMINDER_LETTER"] = "reminder-letter";
149
- Assets["SAND_TIMER"] = "sand-timer";
150
- Assets["SHOPPING_BAG"] = "shopping-bag";
151
- Assets["SKIP_AUTHENTICATION"] = "skip-authentication";
152
- Assets["SPEECH_BUBBLE"] = "speech-bubble";
153
- Assets["TOOL"] = "tool";
154
- Assets["TWO_INVITE_LETTERS_OPENED"] = "two-invite-letters-opened";
155
- Assets["WALLET"] = "wallet";
156
- })(Assets || (Assets = {}));
157
-
158
- export { Assets, Flag, Illustration, Sizes };
159
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"sourcesContent":[null,null,null,null],"names":["unknownFlagName","Flag","code","intrinsicSize","useEffect","setFallback","name","fallback","toLowerCase","detailed","_jsx","src","height","onError","Sizes","imageSizes","SMALL","MEDIUM","Illustration","forwardRef","id","alt","loading","className","size","disablePadding","ref","_jsxs","children","LARGE","_Fragment","width","media","srcSet","defineSrc","descriptor","Assets"],"mappings":"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"}