@wise/art 2.5.0 → 2.6.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 (144) hide show
  1. package/README.md +0 -1
  2. package/dist/CheckMark-1d199954.js +39 -0
  3. package/dist/CheckMark-1d199954.js.map +1 -0
  4. package/dist/CheckMark-dfa7e17d.js +37 -0
  5. package/dist/CheckMark-dfa7e17d.js.map +1 -0
  6. package/dist/Confetti-3f6f42f8.js +36 -0
  7. package/dist/Confetti-3f6f42f8.js.map +1 -0
  8. package/dist/Confetti-a1500ca5.js +34 -0
  9. package/dist/Confetti-a1500ca5.js.map +1 -0
  10. package/dist/Flower-01a6ad2e.js +27 -0
  11. package/dist/Flower-01a6ad2e.js.map +1 -0
  12. package/dist/Flower-194046f6.js +29 -0
  13. package/dist/Flower-194046f6.js.map +1 -0
  14. package/dist/Globe-e0b92541.js +43 -0
  15. package/dist/Globe-e0b92541.js.map +1 -0
  16. package/dist/Globe-f9a29570.js +45 -0
  17. package/dist/Globe-f9a29570.js.map +1 -0
  18. package/dist/Graph-a5cabcf9.js +33 -0
  19. package/dist/Graph-a5cabcf9.js.map +1 -0
  20. package/dist/Graph-d719e9bc.js +31 -0
  21. package/dist/Graph-d719e9bc.js.map +1 -0
  22. package/dist/Illustration.css +19 -0
  23. package/dist/Jars-786486f1.js +50 -0
  24. package/dist/Jars-786486f1.js.map +1 -0
  25. package/dist/Jars-ce225524.js +52 -0
  26. package/dist/Jars-ce225524.js.map +1 -0
  27. package/dist/Lock-32a1942d.js +41 -0
  28. package/dist/Lock-32a1942d.js.map +1 -0
  29. package/dist/Lock-a8143e20.js +43 -0
  30. package/dist/Lock-a8143e20.js.map +1 -0
  31. package/dist/MagnifyingGlass-8d2fb672.js +32 -0
  32. package/dist/MagnifyingGlass-8d2fb672.js.map +1 -0
  33. package/dist/MagnifyingGlass-d6a087d9.js +30 -0
  34. package/dist/MagnifyingGlass-d6a087d9.js.map +1 -0
  35. package/dist/Marble-4abb104b.js +42 -0
  36. package/dist/Marble-4abb104b.js.map +1 -0
  37. package/dist/Marble-ce46aa0f.js +44 -0
  38. package/dist/Marble-ce46aa0f.js.map +1 -0
  39. package/dist/MarbleCard-56c75d72.js +47 -0
  40. package/dist/MarbleCard-56c75d72.js.map +1 -0
  41. package/dist/MarbleCard-877fd12e.js +45 -0
  42. package/dist/MarbleCard-877fd12e.js.map +1 -0
  43. package/dist/MultiCurrency-0e4db1a6.js +61 -0
  44. package/dist/MultiCurrency-0e4db1a6.js.map +1 -0
  45. package/dist/MultiCurrency-700fce5f.js +63 -0
  46. package/dist/MultiCurrency-700fce5f.js.map +1 -0
  47. package/dist/Plane-88c1d61e.js +37 -0
  48. package/dist/Plane-88c1d61e.js.map +1 -0
  49. package/dist/Plane-8eb0f41c.js +39 -0
  50. package/dist/Plane-8eb0f41c.js.map +1 -0
  51. package/dist/Scene-597f1100.js +50 -0
  52. package/dist/Scene-597f1100.js.map +1 -0
  53. package/dist/Scene-e2e3b7aa.js +48 -0
  54. package/dist/Scene-e2e3b7aa.js.map +1 -0
  55. package/dist/common.d.ts +15 -9
  56. package/dist/common.d.ts.map +1 -0
  57. package/dist/flags/Flag.d.ts +13 -12
  58. package/dist/flags/Flag.d.ts.map +1 -0
  59. package/dist/flags/index.d.ts +3 -2
  60. package/dist/flags/index.d.ts.map +1 -0
  61. package/dist/illustrations/Illustration.d.ts +21 -20
  62. package/dist/illustrations/Illustration.d.ts.map +1 -0
  63. package/dist/illustrations/index.d.ts +5 -4
  64. package/dist/illustrations/index.d.ts.map +1 -0
  65. package/dist/illustrations/metadata.d.ts +69 -68
  66. package/dist/illustrations/metadata.d.ts.map +1 -0
  67. package/dist/illustrations3d/Illustration3d.d.ts +11 -0
  68. package/dist/illustrations3d/Illustration3d.d.ts.map +1 -0
  69. package/dist/illustrations3d/Scene.d.ts +9 -0
  70. package/dist/illustrations3d/Scene.d.ts.map +1 -0
  71. package/dist/illustrations3d/index.d.ts +5 -0
  72. package/dist/illustrations3d/index.d.ts.map +1 -0
  73. package/dist/illustrations3d/models/CheckMark.d.ts +4 -0
  74. package/dist/illustrations3d/models/CheckMark.d.ts.map +1 -0
  75. package/dist/illustrations3d/models/Confetti.d.ts +4 -0
  76. package/dist/illustrations3d/models/Confetti.d.ts.map +1 -0
  77. package/dist/illustrations3d/models/Flower.d.ts +4 -0
  78. package/dist/illustrations3d/models/Flower.d.ts.map +1 -0
  79. package/dist/illustrations3d/models/Globe.d.ts +4 -0
  80. package/dist/illustrations3d/models/Globe.d.ts.map +1 -0
  81. package/dist/illustrations3d/models/Graph.d.ts +4 -0
  82. package/dist/illustrations3d/models/Graph.d.ts.map +1 -0
  83. package/dist/illustrations3d/models/Jars.d.ts +4 -0
  84. package/dist/illustrations3d/models/Jars.d.ts.map +1 -0
  85. package/dist/illustrations3d/models/Lock.d.ts +4 -0
  86. package/dist/illustrations3d/models/Lock.d.ts.map +1 -0
  87. package/dist/illustrations3d/models/MagnifyingGlass.d.ts +4 -0
  88. package/dist/illustrations3d/models/MagnifyingGlass.d.ts.map +1 -0
  89. package/dist/illustrations3d/models/Marble.d.ts +4 -0
  90. package/dist/illustrations3d/models/Marble.d.ts.map +1 -0
  91. package/dist/illustrations3d/models/MarbleCard.d.ts +4 -0
  92. package/dist/illustrations3d/models/MarbleCard.d.ts.map +1 -0
  93. package/dist/illustrations3d/models/MultiCurrency.d.ts +4 -0
  94. package/dist/illustrations3d/models/MultiCurrency.d.ts.map +1 -0
  95. package/dist/illustrations3d/models/Plane.d.ts +4 -0
  96. package/dist/illustrations3d/models/Plane.d.ts.map +1 -0
  97. package/dist/illustrations3d/utils.d.ts +9 -0
  98. package/dist/illustrations3d/utils.d.ts.map +1 -0
  99. package/dist/index-322e874c.js +332 -0
  100. package/dist/index-322e874c.js.map +1 -0
  101. package/dist/index-3bf9c1e9.js +325 -0
  102. package/dist/index-3bf9c1e9.js.map +1 -0
  103. package/dist/index.d.ts +10 -6
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +21 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +5 -0
  108. package/dist/index.mjs.map +1 -0
  109. package/package.json +48 -24
  110. package/src/common.ts +17 -0
  111. package/src/flags/Flag.stories.tsx +19 -0
  112. package/src/flags/Flag.tsx +40 -0
  113. package/src/flags/index.ts +2 -0
  114. package/src/illustrations/Illustration.css +27 -0
  115. package/src/illustrations/Illustration.stories.tsx +33 -0
  116. package/src/illustrations/Illustration.tsx +95 -0
  117. package/src/illustrations/index.ts +5 -0
  118. package/src/illustrations/metadata.ts +141 -0
  119. package/src/illustrations3d/Illustration3d.stories.tsx +89 -0
  120. package/src/illustrations3d/Illustration3d.tsx +133 -0
  121. package/src/illustrations3d/Scene.tsx +54 -0
  122. package/src/illustrations3d/index.ts +6 -0
  123. package/src/illustrations3d/models/CheckMark.tsx +30 -0
  124. package/src/illustrations3d/models/Confetti.tsx +29 -0
  125. package/src/illustrations3d/models/Flower.tsx +25 -0
  126. package/src/illustrations3d/models/Globe.tsx +42 -0
  127. package/src/illustrations3d/models/Graph.tsx +27 -0
  128. package/src/illustrations3d/models/Jars.tsx +47 -0
  129. package/src/illustrations3d/models/Lock.tsx +38 -0
  130. package/src/illustrations3d/models/MagnifyingGlass.tsx +31 -0
  131. package/src/illustrations3d/models/Marble.tsx +57 -0
  132. package/src/illustrations3d/models/MarbleCard.tsx +62 -0
  133. package/src/illustrations3d/models/MultiCurrency.tsx +58 -0
  134. package/src/illustrations3d/models/Plane.tsx +33 -0
  135. package/src/illustrations3d/utils.ts +68 -0
  136. package/src/index.ts +12 -0
  137. package/dist/flags/Flag.stories.d.ts +0 -6
  138. package/dist/illustrations/Illustration.stories.d.ts +0 -19
  139. package/dist/index.modern.mjs +0 -2
  140. package/dist/index.modern.mjs.map +0 -1
  141. package/dist/index.module.js +0 -2
  142. package/dist/index.module.js.map +0 -1
  143. package/dist/index.umd.js +0 -2
  144. package/dist/index.umd.js.map +0 -1
@@ -0,0 +1,332 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var clsx = require('clsx');
6
+
7
+ const unknownFlagName = 'wise';
8
+ const Flag = ({
9
+ code,
10
+ intrinsicSize = 64
11
+ }) => {
12
+ const [fallback, setFallback] = react.useState(null);
13
+ react.useEffect(() => {
14
+ setFallback(null);
15
+ }, [code]);
16
+ const detailed = intrinsicSize >= 150;
17
+ const name = fallback !== 'unknown' ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}` : unknownFlagName;
18
+ return /*#__PURE__*/jsxRuntime.jsx("img", {
19
+ src: `https://wise.com/web-art/assets/flags/${name}.svg`,
20
+ alt: "",
21
+ width: intrinsicSize,
22
+ height: intrinsicSize,
23
+ onError: () => {
24
+ setFallback(prev => prev == null && detailed ? 'simple' : 'unknown');
25
+ }
26
+ });
27
+ };
28
+
29
+ exports.Sizes = void 0;
30
+ (function (Sizes) {
31
+ Sizes["SMALL"] = "small";
32
+ Sizes["MEDIUM"] = "medium";
33
+ Sizes["LARGE"] = "large";
34
+ })(exports.Sizes || (exports.Sizes = {}));
35
+ const ImageSizes = {
36
+ [exports.Sizes.SMALL]: 200,
37
+ [exports.Sizes.MEDIUM]: 300,
38
+ [exports.Sizes.LARGE]: 500
39
+ };
40
+
41
+ const imageSizes = {
42
+ [exports.Sizes.SMALL]: 200,
43
+ [exports.Sizes.MEDIUM]: 300,
44
+ [exports.Sizes.LARGE]: 500
45
+ };
46
+ const Illustration = /*#__PURE__*/react.forwardRef(({
47
+ id,
48
+ name,
49
+ alt,
50
+ loading = 'eager',
51
+ className,
52
+ size = exports.Sizes.MEDIUM,
53
+ disablePadding = false
54
+ }, ref) => {
55
+ const {
56
+ SMALL,
57
+ MEDIUM
58
+ } = exports.Sizes;
59
+ return name ? /*#__PURE__*/jsxRuntime.jsxs("picture", {
60
+ children: [size === exports.Sizes.LARGE || size === exports.Sizes.MEDIUM ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
61
+ children: [/*#__PURE__*/jsxRuntime.jsx("source", {
62
+ width: imageSizes[SMALL],
63
+ height: imageSizes[SMALL],
64
+ media: "(max-width: 575px)",
65
+ srcSet: `${defineSrc$1(name, SMALL, '1x')}, ${defineSrc$1(name, SMALL, '2x')} 2x`
66
+ }), size !== exports.Sizes.MEDIUM ? /*#__PURE__*/jsxRuntime.jsx("source", {
67
+ width: imageSizes[MEDIUM],
68
+ height: imageSizes[MEDIUM],
69
+ media: "(max-width: 992px)",
70
+ srcSet: `${defineSrc$1(name, MEDIUM, '1x')}, ${defineSrc$1(name, MEDIUM, '2x')} 2x`
71
+ }) : null]
72
+ }) : null, /*#__PURE__*/jsxRuntime.jsx("img", {
73
+ id: id,
74
+ ref: ref,
75
+ alt: alt ?? name.replace('-', ' '),
76
+ "data-testid": `wds-${name}-illustration`,
77
+ className: clsx.clsx(`wds-illustration wds-illustration-${name}`, className, !disablePadding && 'wds-illustration-padding'),
78
+ loading: loading,
79
+ src: defineSrc$1(name, size, '1x'),
80
+ srcSet: `${defineSrc$1(name, size, '2x')} 2x`,
81
+ width: imageSizes[size],
82
+ height: imageSizes[size]
83
+ })]
84
+ }) : null;
85
+ });
86
+ function defineSrc$1(illustration, size, descriptor) {
87
+ return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;
88
+ }
89
+
90
+ /*
91
+ *
92
+ * DON'T MODIFY THIS FILE IT'S AUTO GENERATED
93
+ * See: `scripts/generate-i10s-metadata.mjs`
94
+ *
95
+ */
96
+ exports.Assets = void 0;
97
+ (function (Assets) {
98
+ Assets["BELL"] = "bell";
99
+ Assets["BRIEFCASE"] = "briefcase";
100
+ Assets["BUSINESS_CARD"] = "business-card";
101
+ Assets["CALENDAR"] = "calendar";
102
+ Assets["CHECK_MARK"] = "check-mark";
103
+ Assets["CLOSED_WINDOW"] = "closed-window";
104
+ Assets["COIN_PILE_DOWN"] = "coin-pile-down";
105
+ Assets["COIN_PILE_UP"] = "coin-pile-up";
106
+ Assets["CONFETTI"] = "confetti";
107
+ Assets["CONSTRUCTION_FENCE"] = "construction-fence";
108
+ Assets["CONVERT"] = "convert";
109
+ Assets["COOKIE"] = "cookie";
110
+ Assets["DIGITAL_CARD_2"] = "digital-card-2";
111
+ Assets["DIGITAL_CARD"] = "digital-card";
112
+ Assets["DOCUMENTS"] = "documents";
113
+ Assets["DOOR"] = "door";
114
+ Assets["ECO_CARD"] = "eco-card";
115
+ Assets["ELECTRIC_PLUG"] = "electric-plug";
116
+ Assets["EMAIL_SUCCESS"] = "email-success";
117
+ Assets["EMAIL"] = "email";
118
+ Assets["EXCLAMATION_MARK"] = "exclamation-mark";
119
+ Assets["FLAG"] = "flag";
120
+ Assets["FLOWER"] = "flower";
121
+ Assets["GEAR"] = "gear";
122
+ Assets["GLOBE"] = "globe";
123
+ Assets["GRAPH"] = "graph";
124
+ Assets["HEART_2"] = "heart-2";
125
+ Assets["HEART_3"] = "heart-3";
126
+ Assets["HEART_4"] = "heart-4";
127
+ Assets["HEART_5"] = "heart-5";
128
+ Assets["HEART"] = "heart";
129
+ Assets["HOUSE"] = "house";
130
+ Assets["ID_CARD"] = "id-card";
131
+ Assets["INFINITE"] = "infinite";
132
+ Assets["INVITE_LETTER"] = "invite-letter";
133
+ Assets["JARS"] = "jars";
134
+ Assets["KEY"] = "key";
135
+ Assets["LIGHT_BULB"] = "light-bulb";
136
+ Assets["LOCK"] = "lock";
137
+ Assets["MAGNIFYING_GLASS"] = "magnifying-glass";
138
+ Assets["MAP"] = "map";
139
+ Assets["MARBLE_CARD_BUSINESS"] = "marble-card-business";
140
+ Assets["MARBLE_CARD"] = "marble-card";
141
+ Assets["MARBLE"] = "marble";
142
+ Assets["MEGAPHONE"] = "megaphone";
143
+ Assets["MULTI_CURRENCY"] = "multi-currency";
144
+ Assets["ONE_INVITE_LETTER_OPENED"] = "one-invite-letter-opened";
145
+ Assets["PALM_TREE"] = "palm-tree";
146
+ Assets["PERCENTAGE"] = "percentage";
147
+ Assets["PERSONAL_CARD"] = "personal-card";
148
+ Assets["PHONES"] = "phones";
149
+ Assets["PIE_CHART"] = "pie-chart";
150
+ Assets["PLANE_2"] = "plane-2";
151
+ Assets["PLANE"] = "plane";
152
+ Assets["PUZZLE_PIECES"] = "puzzle-pieces";
153
+ Assets["QUESTION_MARK"] = "question-mark";
154
+ Assets["RECEIVE"] = "receive";
155
+ Assets["REMINDER_LETTER"] = "reminder-letter";
156
+ Assets["SAND_TIMER"] = "sand-timer";
157
+ Assets["SHOPPING_BAG"] = "shopping-bag";
158
+ Assets["SKIP_AUTHENTICATION"] = "skip-authentication";
159
+ Assets["SPEECH_BUBBLE"] = "speech-bubble";
160
+ Assets["TOOL"] = "tool";
161
+ Assets["TWO_INVITE_LETTERS_OPENED"] = "two-invite-letters-opened";
162
+ Assets["WALLET"] = "wallet";
163
+ })(exports.Assets || (exports.Assets = {}));
164
+
165
+ function useBattery() {
166
+ const [batteryData, setBatteryData] = react.useState({
167
+ level: 1.0
168
+ });
169
+ react.useEffect(() => {
170
+ const getBatteryData = async () => {
171
+ // @ts-expect-error .getBattery exists in Navigator interface
172
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
173
+ const battery = await navigator.getBattery();
174
+ setBatteryData({
175
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
176
+ level: battery?.level
177
+ });
178
+ };
179
+ // Check if the browser supports the Battery API
180
+ if ('getBattery' in navigator) {
181
+ void getBatteryData();
182
+ }
183
+ }, []);
184
+ return batteryData;
185
+ }
186
+ function isBatteryLow(batteryLevel) {
187
+ return batteryLevel < 0.2;
188
+ }
189
+ function isConnectionSlow() {
190
+ // @ts-expect-error .connection prop exists in Navigator interface
191
+ const {
192
+ connection
193
+ } = window.navigator;
194
+ if (connection === undefined) {
195
+ return false;
196
+ }
197
+ return (
198
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
199
+ ['slow-2g', '2g'].includes(connection?.effectiveType) ||
200
+ // @ts-expect-error Property 'connection' does exist on type 'Navigator'
201
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
202
+ navigator?.connection?.saveData === true
203
+ );
204
+ }
205
+ function defineSrc(asset) {
206
+ return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
207
+ }
208
+ const illustration3dNames = ['lock', 'globe', 'confetti', 'check-mark', 'flower', 'graph', 'jars', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'];
209
+ function is3dIllustrationSupported(asset) {
210
+ return illustration3dNames.includes(asset);
211
+ }
212
+
213
+ /* eslint-disable fp/no-mutation */
214
+ var RenderMode;
215
+ (function (RenderMode) {
216
+ RenderMode[RenderMode["INIT"] = 0] = "INIT";
217
+ RenderMode[RenderMode["FALLBACK"] = 1] = "FALLBACK";
218
+ RenderMode[RenderMode["ASSET_3D"] = 2] = "ASSET_3D";
219
+ })(RenderMode || (RenderMode = {}));
220
+ const Illustration3d = ({
221
+ name,
222
+ size = exports.Sizes.MEDIUM,
223
+ className
224
+ }) => {
225
+ const [renderMode, setRenderMode] = react.useState(RenderMode.INIT);
226
+ const [inintrinsicSize, setInintrinsicSize] = react.useState(size);
227
+ const batteryData = useBattery();
228
+ react.useEffect(() => {
229
+ setRenderMode(isConnectionSlow() || isBatteryLow(batteryData.level) ? RenderMode.FALLBACK : RenderMode.ASSET_3D);
230
+ const isMobile = (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;
231
+ if (isMobile) {
232
+ setInintrinsicSize(exports.Sizes.SMALL);
233
+ }
234
+ }, [batteryData]);
235
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
236
+ className: clsx.clsx(`wds-illustration-3d wds-illustration-3d-${name} wds-illustration-3d-${inintrinsicSize}`, className),
237
+ children: renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? /*#__PURE__*/jsxRuntime.jsx(react.Suspense, {
238
+ fallback: null,
239
+ children: getModel({
240
+ name,
241
+ size: inintrinsicSize
242
+ })
243
+ }) : /*#__PURE__*/jsxRuntime.jsx(Illustration, {
244
+ name: name,
245
+ size: size,
246
+ alt: ""
247
+ })
248
+ });
249
+ };
250
+ function getModel({
251
+ name,
252
+ size
253
+ }) {
254
+ // @ts-expect-error unknown generic
255
+ let Model = /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
256
+ const Scene = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Scene-597f1100.js'); }));
257
+ switch (name) {
258
+ case exports.Assets.LOCK:
259
+ {
260
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Lock-a8143e20.js'); }));
261
+ break;
262
+ }
263
+ case exports.Assets.GLOBE:
264
+ {
265
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Globe-f9a29570.js'); }));
266
+ break;
267
+ }
268
+ case exports.Assets.CONFETTI:
269
+ {
270
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Confetti-3f6f42f8.js'); }));
271
+ break;
272
+ }
273
+ case exports.Assets.CHECK_MARK:
274
+ {
275
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./CheckMark-1d199954.js'); }));
276
+ break;
277
+ }
278
+ case exports.Assets.FLOWER:
279
+ {
280
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Flower-194046f6.js'); }));
281
+ break;
282
+ }
283
+ case exports.Assets.PLANE:
284
+ {
285
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Plane-8eb0f41c.js'); }));
286
+ break;
287
+ }
288
+ case exports.Assets.GRAPH:
289
+ {
290
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Graph-a5cabcf9.js'); }));
291
+ break;
292
+ }
293
+ case exports.Assets.MARBLE:
294
+ {
295
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Marble-ce46aa0f.js'); }));
296
+ break;
297
+ }
298
+ case exports.Assets.MARBLE_CARD:
299
+ {
300
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MarbleCard-56c75d72.js'); }));
301
+ break;
302
+ }
303
+ case exports.Assets.MAGNIFYING_GLASS:
304
+ {
305
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MagnifyingGlass-8d2fb672.js'); }));
306
+ break;
307
+ }
308
+ case exports.Assets.JARS:
309
+ {
310
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./Jars-ce225524.js'); }));
311
+ break;
312
+ }
313
+ case exports.Assets.MULTI_CURRENCY:
314
+ {
315
+ Model = /*#__PURE__*/react.lazy(() => Promise.resolve().then(function () { return require('./MultiCurrency-700fce5f.js'); }));
316
+ break;
317
+ }
318
+ }
319
+ return /*#__PURE__*/jsxRuntime.jsx(Scene, {
320
+ assetName: name,
321
+ size: size,
322
+ children: /*#__PURE__*/jsxRuntime.jsx(Model, {})
323
+ });
324
+ }
325
+
326
+ exports.Flag = Flag;
327
+ exports.Illustration = Illustration;
328
+ exports.Illustration3d = Illustration3d;
329
+ exports.ImageSizes = ImageSizes;
330
+ exports.defineSrc = defineSrc;
331
+ exports.is3dIllustrationSupported = is3dIllustrationSupported;
332
+ //# sourceMappingURL=index-322e874c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-322e874c.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3d.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["unknownFlagName","Flag","code","intrinsicSize","useEffect","setFallback","name","fallback","toLowerCase","detailed","_jsx","src","height","onError","Sizes","LARGE","imageSizes","SMALL","MEDIUM","Illustration","forwardRef","id","alt","loading","className","size","disablePadding","ref","_jsxs","children","_Fragment","width","media","srcSet","defineSrc","descriptor","Assets","useBattery","batteryData","setBatteryData","useState","level","getBatteryData","battery","RenderMode"],"mappings":"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"}
@@ -0,0 +1,325 @@
1
+ import { useState, useEffect, forwardRef, Suspense, lazy } 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
+ const ImageSizes = {
34
+ [Sizes.SMALL]: 200,
35
+ [Sizes.MEDIUM]: 300,
36
+ [Sizes.LARGE]: 500
37
+ };
38
+
39
+ const imageSizes = {
40
+ [Sizes.SMALL]: 200,
41
+ [Sizes.MEDIUM]: 300,
42
+ [Sizes.LARGE]: 500
43
+ };
44
+ const Illustration = /*#__PURE__*/forwardRef(({
45
+ id,
46
+ name,
47
+ alt,
48
+ loading = 'eager',
49
+ className,
50
+ size = Sizes.MEDIUM,
51
+ disablePadding = false
52
+ }, ref) => {
53
+ const {
54
+ SMALL,
55
+ MEDIUM
56
+ } = Sizes;
57
+ return name ? /*#__PURE__*/jsxs("picture", {
58
+ children: [size === Sizes.LARGE || size === Sizes.MEDIUM ? /*#__PURE__*/jsxs(Fragment, {
59
+ children: [/*#__PURE__*/jsx("source", {
60
+ width: imageSizes[SMALL],
61
+ height: imageSizes[SMALL],
62
+ media: "(max-width: 575px)",
63
+ srcSet: `${defineSrc$1(name, SMALL, '1x')}, ${defineSrc$1(name, SMALL, '2x')} 2x`
64
+ }), size !== Sizes.MEDIUM ? /*#__PURE__*/jsx("source", {
65
+ width: imageSizes[MEDIUM],
66
+ height: imageSizes[MEDIUM],
67
+ media: "(max-width: 992px)",
68
+ srcSet: `${defineSrc$1(name, MEDIUM, '1x')}, ${defineSrc$1(name, MEDIUM, '2x')} 2x`
69
+ }) : null]
70
+ }) : null, /*#__PURE__*/jsx("img", {
71
+ id: id,
72
+ ref: ref,
73
+ alt: alt ?? name.replace('-', ' '),
74
+ "data-testid": `wds-${name}-illustration`,
75
+ className: clsx(`wds-illustration wds-illustration-${name}`, className, !disablePadding && 'wds-illustration-padding'),
76
+ loading: loading,
77
+ src: defineSrc$1(name, size, '1x'),
78
+ srcSet: `${defineSrc$1(name, size, '2x')} 2x`,
79
+ width: imageSizes[size],
80
+ height: imageSizes[size]
81
+ })]
82
+ }) : null;
83
+ });
84
+ function defineSrc$1(illustration, size, descriptor) {
85
+ return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;
86
+ }
87
+
88
+ /*
89
+ *
90
+ * DON'T MODIFY THIS FILE IT'S AUTO GENERATED
91
+ * See: `scripts/generate-i10s-metadata.mjs`
92
+ *
93
+ */
94
+ var Assets;
95
+ (function (Assets) {
96
+ Assets["BELL"] = "bell";
97
+ Assets["BRIEFCASE"] = "briefcase";
98
+ Assets["BUSINESS_CARD"] = "business-card";
99
+ Assets["CALENDAR"] = "calendar";
100
+ Assets["CHECK_MARK"] = "check-mark";
101
+ Assets["CLOSED_WINDOW"] = "closed-window";
102
+ Assets["COIN_PILE_DOWN"] = "coin-pile-down";
103
+ Assets["COIN_PILE_UP"] = "coin-pile-up";
104
+ Assets["CONFETTI"] = "confetti";
105
+ Assets["CONSTRUCTION_FENCE"] = "construction-fence";
106
+ Assets["CONVERT"] = "convert";
107
+ Assets["COOKIE"] = "cookie";
108
+ Assets["DIGITAL_CARD_2"] = "digital-card-2";
109
+ Assets["DIGITAL_CARD"] = "digital-card";
110
+ Assets["DOCUMENTS"] = "documents";
111
+ Assets["DOOR"] = "door";
112
+ Assets["ECO_CARD"] = "eco-card";
113
+ Assets["ELECTRIC_PLUG"] = "electric-plug";
114
+ Assets["EMAIL_SUCCESS"] = "email-success";
115
+ Assets["EMAIL"] = "email";
116
+ Assets["EXCLAMATION_MARK"] = "exclamation-mark";
117
+ Assets["FLAG"] = "flag";
118
+ Assets["FLOWER"] = "flower";
119
+ Assets["GEAR"] = "gear";
120
+ Assets["GLOBE"] = "globe";
121
+ Assets["GRAPH"] = "graph";
122
+ Assets["HEART_2"] = "heart-2";
123
+ Assets["HEART_3"] = "heart-3";
124
+ Assets["HEART_4"] = "heart-4";
125
+ Assets["HEART_5"] = "heart-5";
126
+ Assets["HEART"] = "heart";
127
+ Assets["HOUSE"] = "house";
128
+ Assets["ID_CARD"] = "id-card";
129
+ Assets["INFINITE"] = "infinite";
130
+ Assets["INVITE_LETTER"] = "invite-letter";
131
+ Assets["JARS"] = "jars";
132
+ Assets["KEY"] = "key";
133
+ Assets["LIGHT_BULB"] = "light-bulb";
134
+ Assets["LOCK"] = "lock";
135
+ Assets["MAGNIFYING_GLASS"] = "magnifying-glass";
136
+ Assets["MAP"] = "map";
137
+ Assets["MARBLE_CARD_BUSINESS"] = "marble-card-business";
138
+ Assets["MARBLE_CARD"] = "marble-card";
139
+ Assets["MARBLE"] = "marble";
140
+ Assets["MEGAPHONE"] = "megaphone";
141
+ Assets["MULTI_CURRENCY"] = "multi-currency";
142
+ Assets["ONE_INVITE_LETTER_OPENED"] = "one-invite-letter-opened";
143
+ Assets["PALM_TREE"] = "palm-tree";
144
+ Assets["PERCENTAGE"] = "percentage";
145
+ Assets["PERSONAL_CARD"] = "personal-card";
146
+ Assets["PHONES"] = "phones";
147
+ Assets["PIE_CHART"] = "pie-chart";
148
+ Assets["PLANE_2"] = "plane-2";
149
+ Assets["PLANE"] = "plane";
150
+ Assets["PUZZLE_PIECES"] = "puzzle-pieces";
151
+ Assets["QUESTION_MARK"] = "question-mark";
152
+ Assets["RECEIVE"] = "receive";
153
+ Assets["REMINDER_LETTER"] = "reminder-letter";
154
+ Assets["SAND_TIMER"] = "sand-timer";
155
+ Assets["SHOPPING_BAG"] = "shopping-bag";
156
+ Assets["SKIP_AUTHENTICATION"] = "skip-authentication";
157
+ Assets["SPEECH_BUBBLE"] = "speech-bubble";
158
+ Assets["TOOL"] = "tool";
159
+ Assets["TWO_INVITE_LETTERS_OPENED"] = "two-invite-letters-opened";
160
+ Assets["WALLET"] = "wallet";
161
+ })(Assets || (Assets = {}));
162
+
163
+ function useBattery() {
164
+ const [batteryData, setBatteryData] = useState({
165
+ level: 1.0
166
+ });
167
+ useEffect(() => {
168
+ const getBatteryData = async () => {
169
+ // @ts-expect-error .getBattery exists in Navigator interface
170
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
171
+ const battery = await navigator.getBattery();
172
+ setBatteryData({
173
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
174
+ level: battery?.level
175
+ });
176
+ };
177
+ // Check if the browser supports the Battery API
178
+ if ('getBattery' in navigator) {
179
+ void getBatteryData();
180
+ }
181
+ }, []);
182
+ return batteryData;
183
+ }
184
+ function isBatteryLow(batteryLevel) {
185
+ return batteryLevel < 0.2;
186
+ }
187
+ function isConnectionSlow() {
188
+ // @ts-expect-error .connection prop exists in Navigator interface
189
+ const {
190
+ connection
191
+ } = window.navigator;
192
+ if (connection === undefined) {
193
+ return false;
194
+ }
195
+ return (
196
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
197
+ ['slow-2g', '2g'].includes(connection?.effectiveType) ||
198
+ // @ts-expect-error Property 'connection' does exist on type 'Navigator'
199
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
200
+ navigator?.connection?.saveData === true
201
+ );
202
+ }
203
+ function defineSrc(asset) {
204
+ return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
205
+ }
206
+ const illustration3dNames = ['lock', 'globe', 'confetti', 'check-mark', 'flower', 'graph', 'jars', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'];
207
+ function is3dIllustrationSupported(asset) {
208
+ return illustration3dNames.includes(asset);
209
+ }
210
+
211
+ /* eslint-disable fp/no-mutation */
212
+ var RenderMode;
213
+ (function (RenderMode) {
214
+ RenderMode[RenderMode["INIT"] = 0] = "INIT";
215
+ RenderMode[RenderMode["FALLBACK"] = 1] = "FALLBACK";
216
+ RenderMode[RenderMode["ASSET_3D"] = 2] = "ASSET_3D";
217
+ })(RenderMode || (RenderMode = {}));
218
+ const Illustration3d = ({
219
+ name,
220
+ size = Sizes.MEDIUM,
221
+ className
222
+ }) => {
223
+ const [renderMode, setRenderMode] = useState(RenderMode.INIT);
224
+ const [inintrinsicSize, setInintrinsicSize] = useState(size);
225
+ const batteryData = useBattery();
226
+ useEffect(() => {
227
+ setRenderMode(isConnectionSlow() || isBatteryLow(batteryData.level) ? RenderMode.FALLBACK : RenderMode.ASSET_3D);
228
+ const isMobile = (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;
229
+ if (isMobile) {
230
+ setInintrinsicSize(Sizes.SMALL);
231
+ }
232
+ }, [batteryData]);
233
+ return /*#__PURE__*/jsx("div", {
234
+ className: clsx(`wds-illustration-3d wds-illustration-3d-${name} wds-illustration-3d-${inintrinsicSize}`, className),
235
+ children: renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? /*#__PURE__*/jsx(Suspense, {
236
+ fallback: null,
237
+ children: getModel({
238
+ name,
239
+ size: inintrinsicSize
240
+ })
241
+ }) : /*#__PURE__*/jsx(Illustration, {
242
+ name: name,
243
+ size: size,
244
+ alt: ""
245
+ })
246
+ });
247
+ };
248
+ function getModel({
249
+ name,
250
+ size
251
+ }) {
252
+ // @ts-expect-error unknown generic
253
+ let Model = /*#__PURE__*/jsx(Fragment, {});
254
+ const Scene = /*#__PURE__*/lazy(() => import('./Scene-e2e3b7aa.js'));
255
+ switch (name) {
256
+ case Assets.LOCK:
257
+ {
258
+ Model = /*#__PURE__*/lazy(() => import('./Lock-32a1942d.js'));
259
+ break;
260
+ }
261
+ case Assets.GLOBE:
262
+ {
263
+ Model = /*#__PURE__*/lazy(() => import('./Globe-e0b92541.js'));
264
+ break;
265
+ }
266
+ case Assets.CONFETTI:
267
+ {
268
+ Model = /*#__PURE__*/lazy(() => import('./Confetti-a1500ca5.js'));
269
+ break;
270
+ }
271
+ case Assets.CHECK_MARK:
272
+ {
273
+ Model = /*#__PURE__*/lazy(() => import('./CheckMark-dfa7e17d.js'));
274
+ break;
275
+ }
276
+ case Assets.FLOWER:
277
+ {
278
+ Model = /*#__PURE__*/lazy(() => import('./Flower-01a6ad2e.js'));
279
+ break;
280
+ }
281
+ case Assets.PLANE:
282
+ {
283
+ Model = /*#__PURE__*/lazy(() => import('./Plane-88c1d61e.js'));
284
+ break;
285
+ }
286
+ case Assets.GRAPH:
287
+ {
288
+ Model = /*#__PURE__*/lazy(() => import('./Graph-d719e9bc.js'));
289
+ break;
290
+ }
291
+ case Assets.MARBLE:
292
+ {
293
+ Model = /*#__PURE__*/lazy(() => import('./Marble-4abb104b.js'));
294
+ break;
295
+ }
296
+ case Assets.MARBLE_CARD:
297
+ {
298
+ Model = /*#__PURE__*/lazy(() => import('./MarbleCard-877fd12e.js'));
299
+ break;
300
+ }
301
+ case Assets.MAGNIFYING_GLASS:
302
+ {
303
+ Model = /*#__PURE__*/lazy(() => import('./MagnifyingGlass-d6a087d9.js'));
304
+ break;
305
+ }
306
+ case Assets.JARS:
307
+ {
308
+ Model = /*#__PURE__*/lazy(() => import('./Jars-786486f1.js'));
309
+ break;
310
+ }
311
+ case Assets.MULTI_CURRENCY:
312
+ {
313
+ Model = /*#__PURE__*/lazy(() => import('./MultiCurrency-0e4db1a6.js'));
314
+ break;
315
+ }
316
+ }
317
+ return /*#__PURE__*/jsx(Scene, {
318
+ assetName: name,
319
+ size: size,
320
+ children: /*#__PURE__*/jsx(Model, {})
321
+ });
322
+ }
323
+
324
+ export { Assets as A, Flag as F, ImageSizes as I, Sizes as S, Illustration as a, Illustration3d as b, defineSrc as d, is3dIllustrationSupported as i };
325
+ //# sourceMappingURL=index-3bf9c1e9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-3bf9c1e9.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3d.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["unknownFlagName","Flag","code","intrinsicSize","useEffect","setFallback","name","fallback","toLowerCase","detailed","_jsx","src","height","onError","Sizes","LARGE","imageSizes","SMALL","MEDIUM","Illustration","forwardRef","id","alt","loading","className","size","disablePadding","ref","_jsxs","children","_Fragment","width","media","srcSet","defineSrc","descriptor","Assets","useBattery","batteryData","setBatteryData","useState","level","getBatteryData","battery","RenderMode"],"mappings":"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"}