@wise/art 0.0.0-experimental-05967c7 → 0.0.0-experimental-d56763d

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 (78) hide show
  1. package/README.md +16 -2
  2. package/dist/{CheckMark-rvEWLRq0.esm.js → CheckMark-BIexYobR.esm.js} +2 -2
  3. package/dist/{CheckMark-rvEWLRq0.esm.js.map → CheckMark-BIexYobR.esm.js.map} +1 -1
  4. package/dist/{CheckMark-BPrdh9Yt.js → CheckMark-Bq_MJEJv.js} +2 -2
  5. package/dist/{CheckMark-BPrdh9Yt.js.map → CheckMark-Bq_MJEJv.js.map} +1 -1
  6. package/dist/{Confetti-BCZWydPM.js → Confetti-D-B0pKO3.js} +2 -2
  7. package/dist/{Confetti-BCZWydPM.js.map → Confetti-D-B0pKO3.js.map} +1 -1
  8. package/dist/{Confetti-BF1v0OJk.esm.js → Confetti-dzIRiouw.esm.js} +2 -2
  9. package/dist/{Confetti-BF1v0OJk.esm.js.map → Confetti-dzIRiouw.esm.js.map} +1 -1
  10. package/dist/{Flower-BS56WNvp.esm.js → Flower-Bw6P_Ank.esm.js} +2 -2
  11. package/dist/{Flower-BS56WNvp.esm.js.map → Flower-Bw6P_Ank.esm.js.map} +1 -1
  12. package/dist/{Flower-4xUqkfW9.js → Flower-CCABRHS3.js} +2 -2
  13. package/dist/{Flower-4xUqkfW9.js.map → Flower-CCABRHS3.js.map} +1 -1
  14. package/dist/{Globe-B0GciImK.js → Globe-BxXUnOQQ.js} +2 -2
  15. package/dist/{Globe-B0GciImK.js.map → Globe-BxXUnOQQ.js.map} +1 -1
  16. package/dist/{Globe-DkoSAfVS.esm.js → Globe-DGqQPUnO.esm.js} +2 -2
  17. package/dist/{Globe-DkoSAfVS.esm.js.map → Globe-DGqQPUnO.esm.js.map} +1 -1
  18. package/dist/{Graph-C6HemiNj.esm.js → Graph-CwpGrrge.esm.js} +2 -2
  19. package/dist/{Graph-C6HemiNj.esm.js.map → Graph-CwpGrrge.esm.js.map} +1 -1
  20. package/dist/{Graph-BpBqjCfO.js → Graph-DWoXJOsv.js} +2 -2
  21. package/dist/{Graph-BpBqjCfO.js.map → Graph-DWoXJOsv.js.map} +1 -1
  22. package/dist/{Interest-bo-lZHQD.js → Interest-C7R32yBX.js} +2 -2
  23. package/dist/{Interest-bo-lZHQD.js.map → Interest-C7R32yBX.js.map} +1 -1
  24. package/dist/{Interest-ajjCA2ag.esm.js → Interest-fvxAJMM3.esm.js} +2 -2
  25. package/dist/{Interest-ajjCA2ag.esm.js.map → Interest-fvxAJMM3.esm.js.map} +1 -1
  26. package/dist/{Jars-BqCMK3LX.js → Jars-WbHUY4WA.js} +2 -2
  27. package/dist/{Jars-BqCMK3LX.js.map → Jars-WbHUY4WA.js.map} +1 -1
  28. package/dist/{Jars-Da1dK6qP.esm.js → Jars-o3c_fDBm.esm.js} +2 -2
  29. package/dist/{Jars-Da1dK6qP.esm.js.map → Jars-o3c_fDBm.esm.js.map} +1 -1
  30. package/dist/{Lock-dn_E6gBX.esm.js → Lock-CctF1Gqy.esm.js} +2 -2
  31. package/dist/{Lock-dn_E6gBX.esm.js.map → Lock-CctF1Gqy.esm.js.map} +1 -1
  32. package/dist/{Lock-CmQJK3R6.js → Lock-DsFRU3RY.js} +2 -2
  33. package/dist/{Lock-CmQJK3R6.js.map → Lock-DsFRU3RY.js.map} +1 -1
  34. package/dist/{MagnifyingGlass-CjkQ4cPC.esm.js → MagnifyingGlass-Bm9MlsLV.esm.js} +2 -2
  35. package/dist/{MagnifyingGlass-CjkQ4cPC.esm.js.map → MagnifyingGlass-Bm9MlsLV.esm.js.map} +1 -1
  36. package/dist/{MagnifyingGlass-BK2gAjPL.js → MagnifyingGlass-O7H6LhC0.js} +2 -2
  37. package/dist/{MagnifyingGlass-BK2gAjPL.js.map → MagnifyingGlass-O7H6LhC0.js.map} +1 -1
  38. package/dist/{Marble-FuB5ppSN.esm.js → Marble-Bay7PKjx.esm.js} +2 -2
  39. package/dist/{Marble-FuB5ppSN.esm.js.map → Marble-Bay7PKjx.esm.js.map} +1 -1
  40. package/dist/{Marble-c63Wodn4.js → Marble-hUkn41VN.js} +2 -2
  41. package/dist/{Marble-c63Wodn4.js.map → Marble-hUkn41VN.js.map} +1 -1
  42. package/dist/{MarbleCard-DJz4FeXq.js → MarbleCard-B4Ya_4pF.js} +2 -2
  43. package/dist/{MarbleCard-DJz4FeXq.js.map → MarbleCard-B4Ya_4pF.js.map} +1 -1
  44. package/dist/{MarbleCard-CZoh2t6z.esm.js → MarbleCard-CVW0pita.esm.js} +2 -2
  45. package/dist/{MarbleCard-CZoh2t6z.esm.js.map → MarbleCard-CVW0pita.esm.js.map} +1 -1
  46. package/dist/{MultiCurrency-CCkYpe4r.esm.js → MultiCurrency-BiYGCPh1.esm.js} +2 -2
  47. package/dist/{MultiCurrency-CCkYpe4r.esm.js.map → MultiCurrency-BiYGCPh1.esm.js.map} +1 -1
  48. package/dist/{MultiCurrency-CjBfwvd5.js → MultiCurrency-FlNqjadL.js} +2 -2
  49. package/dist/{MultiCurrency-CjBfwvd5.js.map → MultiCurrency-FlNqjadL.js.map} +1 -1
  50. package/dist/{Plane-CFix2lAc.js → Plane-9cMcyl23.js} +2 -2
  51. package/dist/{Plane-CFix2lAc.js.map → Plane-9cMcyl23.js.map} +1 -1
  52. package/dist/{Plane-B5wEFkN3.esm.js → Plane-Che8mdND.esm.js} +2 -2
  53. package/dist/{Plane-B5wEFkN3.esm.js.map → Plane-Che8mdND.esm.js.map} +1 -1
  54. package/dist/{Scene-de3i_19x.esm.js → Scene-DZjHb-21.esm.js} +2 -2
  55. package/dist/{Scene-de3i_19x.esm.js.map → Scene-DZjHb-21.esm.js.map} +1 -1
  56. package/dist/{Scene-BbWfekxg.js → Scene-SM-ZhM8b.js} +2 -2
  57. package/dist/{Scene-BbWfekxg.js.map → Scene-SM-ZhM8b.js.map} +1 -1
  58. package/dist/illustrations/metadata.d.ts +4 -1
  59. package/dist/illustrations/metadata.d.ts.map +1 -1
  60. package/dist/illustrations3d/Illustration3D.d.ts +2 -1
  61. package/dist/illustrations3d/Illustration3D.d.ts.map +1 -1
  62. package/dist/illustrations3d/utils.d.ts +1 -1
  63. package/dist/illustrations3d/utils.d.ts.map +1 -1
  64. package/dist/{index-BDrfcpm_.esm.js → index-BxolAMHh.esm.js} +16 -16
  65. package/dist/index-BxolAMHh.esm.js.map +1 -0
  66. package/dist/{index-CikWxxNh.js → index-wEj9TQCC.js} +16 -16
  67. package/dist/index-wEj9TQCC.js.map +1 -0
  68. package/dist/index.esm.js +1 -1
  69. package/dist/index.js +1 -1
  70. package/package.json +1 -1
  71. package/src/flags/AllFlagsAndSizes.stories.tsx +59 -24
  72. package/src/illustrations/Illustration.stories.tsx +38 -35
  73. package/src/illustrations/metadata.ts +10 -4
  74. package/src/illustrations3d/Illustration3D.stories.tsx +34 -1
  75. package/src/illustrations3d/Illustration3D.tsx +3 -16
  76. package/src/illustrations3d/utils.ts +2 -18
  77. package/dist/index-BDrfcpm_.esm.js.map +0 -1
  78. package/dist/index-CikWxxNh.js.map +0 -1
@@ -208,6 +208,7 @@ var Assets;
208
208
  Assets["APP_MARKETPLACE_BUSINESS"] = "app-marketplace-business";
209
209
  Assets["API_INTEGRATIONS_BUSINESS"] = "api-integrations-business";
210
210
  })(Assets || (Assets = {}));
211
+ const illustration3DNames = ['check-mark', 'confetti', 'flower', 'globe', 'graph', 'interest', 'jars', 'lock', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'];
211
212
 
212
213
  function useBattery() {
213
214
  const [batteryData, setBatteryData] = useState({
@@ -261,7 +262,6 @@ function isConnectionSlow() {
261
262
  function defineSrc(asset) {
262
263
  return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
263
264
  }
264
- const illustration3DNames = ['lock', 'globe', 'confetti', 'check-mark', 'flower', 'graph', 'jars', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane', 'interest'];
265
265
  function isIllustrationSupport3D(asset) {
266
266
  return illustration3DNames.includes(asset);
267
267
  }
@@ -310,71 +310,71 @@ function getModel({
310
310
  }) {
311
311
  // @ts-expect-error unknown generic
312
312
  let Model = /*#__PURE__*/jsx(Fragment, {});
313
- const Scene = /*#__PURE__*/lazy(async () => import('./Scene-de3i_19x.esm.js'));
313
+ const Scene = /*#__PURE__*/lazy(async () => import('./Scene-DZjHb-21.esm.js'));
314
314
  switch (name) {
315
315
  case Assets.LOCK:
316
316
  {
317
- Model = /*#__PURE__*/lazy(async () => import('./Lock-dn_E6gBX.esm.js'));
317
+ Model = /*#__PURE__*/lazy(async () => import('./Lock-CctF1Gqy.esm.js'));
318
318
  break;
319
319
  }
320
320
  case Assets.GLOBE:
321
321
  {
322
- Model = /*#__PURE__*/lazy(async () => import('./Globe-DkoSAfVS.esm.js'));
322
+ Model = /*#__PURE__*/lazy(async () => import('./Globe-DGqQPUnO.esm.js'));
323
323
  break;
324
324
  }
325
325
  case Assets.CONFETTI:
326
326
  {
327
- Model = /*#__PURE__*/lazy(async () => import('./Confetti-BF1v0OJk.esm.js'));
327
+ Model = /*#__PURE__*/lazy(async () => import('./Confetti-dzIRiouw.esm.js'));
328
328
  break;
329
329
  }
330
330
  case Assets.CHECK_MARK:
331
331
  {
332
- Model = /*#__PURE__*/lazy(async () => import('./CheckMark-rvEWLRq0.esm.js'));
332
+ Model = /*#__PURE__*/lazy(async () => import('./CheckMark-BIexYobR.esm.js'));
333
333
  break;
334
334
  }
335
335
  case Assets.FLOWER:
336
336
  {
337
- Model = /*#__PURE__*/lazy(async () => import('./Flower-BS56WNvp.esm.js'));
337
+ Model = /*#__PURE__*/lazy(async () => import('./Flower-Bw6P_Ank.esm.js'));
338
338
  break;
339
339
  }
340
340
  case Assets.PLANE:
341
341
  {
342
- Model = /*#__PURE__*/lazy(async () => import('./Plane-B5wEFkN3.esm.js'));
342
+ Model = /*#__PURE__*/lazy(async () => import('./Plane-Che8mdND.esm.js'));
343
343
  break;
344
344
  }
345
345
  case Assets.GRAPH:
346
346
  {
347
- Model = /*#__PURE__*/lazy(async () => import('./Graph-C6HemiNj.esm.js'));
347
+ Model = /*#__PURE__*/lazy(async () => import('./Graph-CwpGrrge.esm.js'));
348
348
  break;
349
349
  }
350
350
  case Assets.MARBLE:
351
351
  {
352
- Model = /*#__PURE__*/lazy(async () => import('./Marble-FuB5ppSN.esm.js'));
352
+ Model = /*#__PURE__*/lazy(async () => import('./Marble-Bay7PKjx.esm.js'));
353
353
  break;
354
354
  }
355
355
  case Assets.MARBLE_CARD:
356
356
  {
357
- Model = /*#__PURE__*/lazy(async () => import('./MarbleCard-CZoh2t6z.esm.js'));
357
+ Model = /*#__PURE__*/lazy(async () => import('./MarbleCard-CVW0pita.esm.js'));
358
358
  break;
359
359
  }
360
360
  case Assets.MAGNIFYING_GLASS:
361
361
  {
362
- Model = /*#__PURE__*/lazy(async () => import('./MagnifyingGlass-CjkQ4cPC.esm.js'));
362
+ Model = /*#__PURE__*/lazy(async () => import('./MagnifyingGlass-Bm9MlsLV.esm.js'));
363
363
  break;
364
364
  }
365
365
  case Assets.JARS:
366
366
  {
367
- Model = /*#__PURE__*/lazy(async () => import('./Jars-Da1dK6qP.esm.js'));
367
+ Model = /*#__PURE__*/lazy(async () => import('./Jars-o3c_fDBm.esm.js'));
368
368
  break;
369
369
  }
370
370
  case Assets.MULTI_CURRENCY:
371
371
  {
372
- Model = /*#__PURE__*/lazy(async () => import('./MultiCurrency-CCkYpe4r.esm.js'));
372
+ Model = /*#__PURE__*/lazy(async () => import('./MultiCurrency-BiYGCPh1.esm.js'));
373
373
  break;
374
374
  }
375
375
  case Assets.INTEREST:
376
376
  {
377
- Model = /*#__PURE__*/lazy(async () => import('./Interest-ajjCA2ag.esm.js'));
377
+ Model = /*#__PURE__*/lazy(async () => import('./Interest-fvxAJMM3.esm.js'));
378
378
  break;
379
379
  }
380
380
  }
@@ -386,4 +386,4 @@ function getModel({
386
386
  }
387
387
 
388
388
  export { Assets as A, Flag as F, Illustration as I, Illustration3D as a, defineSrc as d, isIllustrationSupport3D as i };
389
- //# sourceMappingURL=index-BDrfcpm_.esm.js.map
389
+ //# sourceMappingURL=index-BxolAMHh.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BxolAMHh.esm.js","sources":["../src/flags/metadata.ts","../src/flags/Flag.tsx","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3D.tsx"],"sourcesContent":["/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-flags-metadata.mjs`\n *\n */\n\n\n export 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'];","import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { DETAILED_FLAG_CODES } from './metadata';\n\nexport interface FlagProps {\n /**\n * Two-letter country code (ISO 3166-1 alpha-2) or three-letter currency code (ISO 4217).\n */\n code: string;\n\n /**\n * Width and height to reserve for the underlying image, in pixels. A detailed variant is shown from 150px and above.\n */\n intrinsicSize?: number;\n className?: string;\n loading?: 'lazy' | 'eager';\n}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({\n code,\n intrinsicSize = 64,\n className = undefined,\n loading = 'lazy',\n}: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n // Only get detailed svg if we know it exists, to avoid the performance hit of failing requests\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${\n fallback == null &&\n detailed &&\n DETAILED_FLAG_CODES.includes(code.toLowerCase())\n ? '-detailed'\n : ''\n }`\n : unknownFlagName;\n\n return (\n <img\n className={clsx('wds-flag', `wds-flag-${name}`, className)}\n src={\n process.env.NODE_ENV === 'web-art-dev'\n ? `${name}.svg`\n : `https://wise.com/web-art/assets/flags/${name}.svg`\n }\n loading={loading}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) =>\n prev == null && detailed ? 'simple' : 'unknown',\n );\n }}\n />\n );\n};\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport {\n type LargeSize,\n type MediumSize,\n type SmallSize,\n type Descriptors,\n Sizes,\n} from './../common';\nimport type { IllustrationNames } from './metadata';\n\n// Picking only a few props from Image element to avoid breaking change\n// as in future underlying element might change\ntype ImgProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'id' | 'className'>;\n\nexport type IllustrationSizes = LargeSize | MediumSize | SmallSize;\n\nexport type Props = {\n name: IllustrationNames;\n alt?: string;\n size?: IllustrationSizes;\n loading?: 'eager' | 'lazy';\n disablePadding?: boolean;\n} & ImgProps;\n\nconst imageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nconst Illustration = forwardRef<HTMLImageElement, Props>(\n (\n {\n id,\n name,\n alt = '',\n loading = 'eager',\n className,\n size = Sizes.MEDIUM,\n disablePadding = false,\n }: Props,\n ref,\n ) => {\n const { SMALL, MEDIUM } = Sizes;\n\n return name ? (\n <picture>\n {size === Sizes.LARGE || size === Sizes.MEDIUM ? (\n <>\n <source\n width={imageSizes[SMALL]}\n height={imageSizes[SMALL]}\n media=\"(max-width: 575px)\"\n srcSet={`${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`}\n />\n {size !== Sizes.MEDIUM ? (\n <source\n width={imageSizes[MEDIUM]}\n height={imageSizes[MEDIUM]}\n media=\"(max-width: 992px)\"\n srcSet={`${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`}\n />\n ) : null}\n </>\n ) : null}\n\n <img\n id={id}\n ref={ref}\n alt={alt}\n data-testid={`wds-${name}-illustration`}\n className={clsx(\n 'wds-illustration',\n `wds-illustration-${name}`,\n { 'wds-illustration-padding': !disablePadding },\n className,\n )}\n loading={loading}\n src={defineSrc(name, size, '1x')}\n srcSet={`${defineSrc(name, size, '2x')} 2x`}\n width={imageSizes[size]}\n height={imageSizes[size]}\n />\n </picture>\n ) : null;\n },\n);\n\nfunction defineSrc(illustration: string, size: IllustrationSizes, descriptor: Descriptors) {\n return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;\n}\n\nexport default Illustration;\n","/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-i10s-metadata.mjs`\n *\n */\n\n\n export enum Assets {\n WALLET = 'wallet',TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',TOOL = 'tool',TARGET_PLATFORM = 'target-platform',STOPWATCH_PLATFORM = 'stopwatch-platform',SPEECH_BUBBLE = 'speech-bubble',SKIP_AUTHENTICATION = 'skip-authentication',SHOPPING_BAG = 'shopping-bag',SATELLITE_PLATFORM = 'satellite-platform',SAND_TIMER_BUSINESS = 'sand-timer-business',SAND_TIMER = 'sand-timer',REMINDER_LETTER = 'reminder-letter',RED_PACKET = 'red-packet',RECEIVE_BUSINESS = 'receive-business',RECEIVE = 'receive',QUESTION_MARK_BUSINESS = 'question-mark-business',QUESTION_MARK = 'question-mark',PUZZLE_PIECES_BUSINESS = 'puzzle-pieces-business',PUZZLE_PIECES = 'puzzle-pieces',PLANE_BUSINESS = 'plane-business',PLANE_2 = 'plane-2',PLANE = 'plane',PIE_CHART_BUSINESS = 'pie-chart-business',PIE_CHART = 'pie-chart',PHONES = 'phones',PERSONAL_CARD = 'personal-card',PERCENTAGE_BUSINESS = 'percentage-business',PERCENTAGE = 'percentage',PASSKEY = 'passkey',PALM_TREE = 'palm-tree',ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',MULTI_CURRENCY_BUSINESS = 'multi-currency-business',MULTI_CURRENCY = 'multi-currency',MEGAPHONE = 'megaphone',MARBLE_CARD_FLAG_ONLY_BUSINESS = 'marble-card-flag-only-business',MARBLE_CARD_FLAG_ONLY = 'marble-card-flag-only',MARBLE_CARD_BUSINESS_FLAG_ONLY = 'marble-card-business-flag-only',MARBLE_CARD_BUSINESS = 'marble-card-business',MARBLE_CARD = 'marble-card',MARBLE_BUSINESS = 'marble-business',MARBLE = 'marble',MAP = 'map',MAGNIFYING_GLASS_BUSINESS = 'magnifying-glass-business',MAGNIFYING_GLASS = 'magnifying-glass',LOCK_PLATFORM = 'lock-platform',LOCK_BUSINESS = 'lock-business',LOCK = 'lock',LIGHT_BULB_BUSINESS = 'light-bulb-business',LIGHT_BULB = 'light-bulb',KEY_BUSINESS = 'key-business',KEY = 'key',JARS = 'jars',INVITE_LETTER = 'invite-letter',INTEREST = 'interest',INFINITE = 'infinite',ID_CARD = 'id-card',HOUSE = 'house',HEART_5 = 'heart-5',HEART_4 = 'heart-4',HEART_3 = 'heart-3',HEART_2 = 'heart-2',HEART = 'heart',HEADSET_BUSINESS = 'headset-business',HEADSET = 'headset',GRAPH_BUSINESS = 'graph-business',GRAPH = 'graph',GLOBE = 'globe',GIFT_BOX = 'gift-box',GET_PAID_WITH_CARD_BUSINESS = 'get-paid-with-card-business',GEAR_BUSINESS = 'gear-business',GEAR = 'gear',FLOWER = 'flower',FLAG = 'flag',EXCLAMATION_MARK_BUSINESS = 'exclamation-mark-business',EXCLAMATION_MARK = 'exclamation-mark',EMAIL_SUCCESS_BUSINESS = 'email-success-business',EMAIL_SUCCESS = 'email-success',EMAIL = 'email',ELECTRIC_PLUG = 'electric-plug',ECO_CARD = 'eco-card',DOOR = 'door',DOCUMENTS_FOLDER_BUSINESS = 'documents-folder-business',DOCUMENTS = 'documents',DIGITAL_CARD_BUSINESS = 'digital-card-business',DIGITAL_CARD_2 = 'digital-card-2',DIGITAL_CARD = 'digital-card',COOKIE = 'cookie',CONVERT_BUSINESS = 'convert-business',CONVERT = 'convert',CONSTRUCTION_FENCE = 'construction-fence',CONFETTI_BUSINESS = 'confetti-business',CONFETTI = 'confetti',COIN_PILE_UP_BUSINESS = 'coin-pile-up-business',COIN_PILE_UP = 'coin-pile-up',COIN_PILE_DOWN_BUSINESS = 'coin-pile-down-business',COIN_PILE_DOWN = 'coin-pile-down',CLOSED_WINDOW = 'closed-window',CHECK_MARK_BUSINESS = 'check-mark-business',CHECK_MARK = 'check-mark',CALENDAR_BUSINESS = 'calendar-business',CALENDAR = 'calendar',CALCULATOR_BUSINESS = 'calculator-business',BUSINESS_CARD_BUSINESS = 'business-card-business',BUSINESS_CARD = 'business-card',BRIEFCASE_BUSINESS = 'briefcase-business',BRIEFCASE = 'briefcase',BELL_BUSINESS = 'bell-business',BELL = 'bell',BATCH_PAYMENTS_BUSINESS = 'batch-payments-business',BACKPACK = 'backpack',APP_MARKETPLACE_BUSINESS = 'app-marketplace-business',API_INTEGRATIONS_BUSINESS = 'api-integrations-business'\n }\n\n export const illustrationNames = ['wallet', 'two-invite-letters-opened', 'tool', 'target-platform', 'stopwatch-platform', 'speech-bubble', 'skip-authentication', 'shopping-bag', 'satellite-platform', 'sand-timer-business', 'sand-timer', 'reminder-letter', 'red-packet', 'receive-business', 'receive', 'question-mark-business', 'question-mark', 'puzzle-pieces-business', 'puzzle-pieces', 'plane-business', 'plane-2', 'plane', 'pie-chart-business', 'pie-chart', 'phones', 'personal-card', 'percentage-business', 'percentage', 'passkey', 'palm-tree', 'one-invite-letter-opened', 'multi-currency-business', 'multi-currency', 'megaphone', 'marble-card-flag-only-business', 'marble-card-flag-only', 'marble-card-business-flag-only', 'marble-card-business', 'marble-card', 'marble-business', 'marble', 'map', 'magnifying-glass-business', 'magnifying-glass', 'lock-platform', 'lock-business', 'lock', 'light-bulb-business', 'light-bulb', 'key-business', 'key', 'jars', 'invite-letter', 'interest', 'infinite', 'id-card', 'house', 'heart-5', 'heart-4', 'heart-3', 'heart-2', 'heart', 'headset-business', 'headset', 'graph-business', 'graph', 'globe', 'gift-box', 'get-paid-with-card-business', 'gear-business', 'gear', 'flower', 'flag', 'exclamation-mark-business', 'exclamation-mark', 'email-success-business', 'email-success', 'email', 'electric-plug', 'eco-card', 'door', 'documents-folder-business', 'documents', 'digital-card-business', 'digital-card-2', 'digital-card', 'cookie', 'convert-business', 'convert', 'construction-fence', 'confetti-business', 'confetti', 'coin-pile-up-business', 'coin-pile-up', 'coin-pile-down-business', 'coin-pile-down', 'closed-window', 'check-mark-business', 'check-mark', 'calendar-business', 'calendar', 'calculator-business', 'business-card-business', 'business-card', 'briefcase-business', 'briefcase', 'bell-business', 'bell', 'batch-payments-business', 'backpack', 'app-marketplace-business', 'api-integrations-business'] as const;\n\n export type IllustrationNames = typeof illustrationNames[number];\n\n export const illustration3DNames = ['check-mark', 'confetti', 'flower', 'globe', 'graph', 'interest', 'jars', 'lock', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'] as const;\n\n export type Illustration3DNames = typeof illustration3DNames[number];","import { useState, useEffect } from 'react';\n\nimport { illustration3DNames, type IllustrationNames } from '../illustrations/metadata';\n\nexport function useBattery() {\n const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });\n\n useEffect(() => {\n const getBatteryData = async () => {\n // @ts-expect-error .getBattery exists in Navigator interface\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const battery = await navigator.getBattery();\n\n setBatteryData({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n level: battery?.level,\n });\n };\n // Check if the browser supports the Battery API\n if (\n 'getBattery' in navigator &&\n navigator.getBattery !== undefined &&\n typeof navigator.getBattery === 'function'\n ) {\n void getBatteryData();\n }\n }, []);\n\n return batteryData;\n}\n\nexport function isBatteryLow(batteryLevel: number): boolean {\n return batteryLevel < 0.2;\n}\n\nexport const isWebGL2Available = () => {\n try {\n const canvas = document.createElement('canvas');\n return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n return false;\n }\n return (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error Property 'connection' does exist on type 'Navigator'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n navigator?.connection?.saveData === true\n );\n}\n\nexport function defineSrc(asset: string): string {\n return `https://wise.com/web-art/assets/illustrations3d/${asset}`;\n}\n\nexport function isIllustrationSupport3D(asset: IllustrationNames): boolean {\n return (illustration3DNames as readonly string[]).includes(asset);\n}\n","/* eslint-disable fp/no-mutation */\nimport { clsx } from 'clsx';\nimport { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\nimport Illustration from '../illustrations/Illustration';\nimport { Assets, type Illustration3DNames } from '../illustrations/metadata';\nexport type { Illustration3DNames };\n\nimport { useBattery, isConnectionSlow, isBatteryLow, isWebGL2Available } from './utils';\n\nexport type Props = {\n name: Illustration3DNames;\n size?: SmallSize | MediumSize | LargeSize;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3D = ({ name, size = Sizes.MEDIUM, className }: Props) => {\n const [renderMode, setRenderMode] = useState<RenderMode>(RenderMode.INIT);\n const [inintrinsicSize, setInintrinsicSize] = useState<Props['size']>(size);\n const batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level) || !isWebGL2Available()\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n const isMobile: boolean =\n (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;\n if (isMobile) {\n setInintrinsicSize(Sizes.SMALL);\n }\n }, [batteryData]);\n\n return (\n <div\n className={clsx(\n 'wds-illustration-3d',\n `wds-illustration-3d-${name}`,\n `wds-illustration-3d-${inintrinsicSize as string}`,\n className,\n )}\n aria-hidden\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: inintrinsicSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error unknown generic\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(async () => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(async () => import('./models/Lock'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(async () => import('./models/Globe'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(async () => import('./models/Confetti'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(async () => import('./models/CheckMark'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(async () => import('./models/Flower'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(async () => import('./models/Plane'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(async () => import('./models/Graph'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(async () => import('./models/Marble'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(async () => import('./models/MarbleCard'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(async () => import('./models/MagnifyingGlass'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(async () => import('./models/Jars'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(async () => import('./models/MultiCurrency'));\n break;\n }\n case Assets.INTEREST: {\n Model = lazy(async () => import('./models/Interest'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3D;\n"],"names":["DETAILED_FLAG_CODES","unknownFlagName","Flag","code","intrinsicSize","className","undefined","loading","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","includes","_jsx","clsx","src","process","env","NODE_ENV","alt","width","height","onError","prev","imageSizes","Sizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","id","size","disablePadding","ref","_jsxs","children","_Fragment","media","srcSet","defineSrc","illustration","descriptor","Assets","illustration3DNames","useBattery","batteryData","setBatteryData","level","getBatteryData","battery","navigator","getBattery","isBatteryLow","batteryLevel","isWebGL2Available","canvas","document","createElement","window","WebGL2RenderingContext","getContext","e","isConnectionSlow","connection","effectiveType","saveData","asset","isIllustrationSupport3D","RenderMode","Illustration3D","renderMode","setRenderMode","INIT","inintrinsicSize","setInintrinsicSize","FALLBACK","ASSET_3D","isMobile","matchMedia","matches","Suspense","getModel","Model","Scene","lazy","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","INTEREST","assetName"],"mappings":"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"}
@@ -210,6 +210,7 @@ exports.Assets = void 0;
210
210
  Assets["APP_MARKETPLACE_BUSINESS"] = "app-marketplace-business";
211
211
  Assets["API_INTEGRATIONS_BUSINESS"] = "api-integrations-business";
212
212
  })(exports.Assets || (exports.Assets = {}));
213
+ const illustration3DNames = ['check-mark', 'confetti', 'flower', 'globe', 'graph', 'interest', 'jars', 'lock', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'];
213
214
 
214
215
  function useBattery() {
215
216
  const [batteryData, setBatteryData] = react.useState({
@@ -263,7 +264,6 @@ function isConnectionSlow() {
263
264
  function defineSrc(asset) {
264
265
  return `https://wise.com/web-art/assets/illustrations3d/${asset}`;
265
266
  }
266
- const illustration3DNames = ['lock', 'globe', 'confetti', 'check-mark', 'flower', 'graph', 'jars', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane', 'interest'];
267
267
  function isIllustrationSupport3D(asset) {
268
268
  return illustration3DNames.includes(asset);
269
269
  }
@@ -312,71 +312,71 @@ function getModel({
312
312
  }) {
313
313
  // @ts-expect-error unknown generic
314
314
  let Model = /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
315
- const Scene = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Scene-BbWfekxg.js'); }));
315
+ const Scene = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Scene-SM-ZhM8b.js'); }));
316
316
  switch (name) {
317
317
  case exports.Assets.LOCK:
318
318
  {
319
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Lock-CmQJK3R6.js'); }));
319
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Lock-DsFRU3RY.js'); }));
320
320
  break;
321
321
  }
322
322
  case exports.Assets.GLOBE:
323
323
  {
324
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Globe-B0GciImK.js'); }));
324
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Globe-BxXUnOQQ.js'); }));
325
325
  break;
326
326
  }
327
327
  case exports.Assets.CONFETTI:
328
328
  {
329
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Confetti-BCZWydPM.js'); }));
329
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Confetti-D-B0pKO3.js'); }));
330
330
  break;
331
331
  }
332
332
  case exports.Assets.CHECK_MARK:
333
333
  {
334
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./CheckMark-BPrdh9Yt.js'); }));
334
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./CheckMark-Bq_MJEJv.js'); }));
335
335
  break;
336
336
  }
337
337
  case exports.Assets.FLOWER:
338
338
  {
339
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Flower-4xUqkfW9.js'); }));
339
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Flower-CCABRHS3.js'); }));
340
340
  break;
341
341
  }
342
342
  case exports.Assets.PLANE:
343
343
  {
344
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Plane-CFix2lAc.js'); }));
344
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Plane-9cMcyl23.js'); }));
345
345
  break;
346
346
  }
347
347
  case exports.Assets.GRAPH:
348
348
  {
349
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Graph-BpBqjCfO.js'); }));
349
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Graph-DWoXJOsv.js'); }));
350
350
  break;
351
351
  }
352
352
  case exports.Assets.MARBLE:
353
353
  {
354
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Marble-c63Wodn4.js'); }));
354
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Marble-hUkn41VN.js'); }));
355
355
  break;
356
356
  }
357
357
  case exports.Assets.MARBLE_CARD:
358
358
  {
359
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MarbleCard-DJz4FeXq.js'); }));
359
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MarbleCard-B4Ya_4pF.js'); }));
360
360
  break;
361
361
  }
362
362
  case exports.Assets.MAGNIFYING_GLASS:
363
363
  {
364
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MagnifyingGlass-BK2gAjPL.js'); }));
364
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MagnifyingGlass-O7H6LhC0.js'); }));
365
365
  break;
366
366
  }
367
367
  case exports.Assets.JARS:
368
368
  {
369
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Jars-BqCMK3LX.js'); }));
369
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Jars-WbHUY4WA.js'); }));
370
370
  break;
371
371
  }
372
372
  case exports.Assets.MULTI_CURRENCY:
373
373
  {
374
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MultiCurrency-CjBfwvd5.js'); }));
374
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./MultiCurrency-FlNqjadL.js'); }));
375
375
  break;
376
376
  }
377
377
  case exports.Assets.INTEREST:
378
378
  {
379
- Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Interest-bo-lZHQD.js'); }));
379
+ Model = /*#__PURE__*/react.lazy(async () => Promise.resolve().then(function () { return require('./Interest-C7R32yBX.js'); }));
380
380
  break;
381
381
  }
382
382
  }
@@ -392,4 +392,4 @@ exports.Illustration = Illustration;
392
392
  exports.Illustration3D = Illustration3D;
393
393
  exports.defineSrc = defineSrc;
394
394
  exports.isIllustrationSupport3D = isIllustrationSupport3D;
395
- //# sourceMappingURL=index-CikWxxNh.js.map
395
+ //# sourceMappingURL=index-wEj9TQCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-wEj9TQCC.js","sources":["../src/flags/metadata.ts","../src/flags/Flag.tsx","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/utils.ts","../src/illustrations3d/Illustration3D.tsx"],"sourcesContent":["/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-flags-metadata.mjs`\n *\n */\n\n\n export 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'];","import { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { DETAILED_FLAG_CODES } from './metadata';\n\nexport interface FlagProps {\n /**\n * Two-letter country code (ISO 3166-1 alpha-2) or three-letter currency code (ISO 4217).\n */\n code: string;\n\n /**\n * Width and height to reserve for the underlying image, in pixels. A detailed variant is shown from 150px and above.\n */\n intrinsicSize?: number;\n className?: string;\n loading?: 'lazy' | 'eager';\n}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({\n code,\n intrinsicSize = 64,\n className = undefined,\n loading = 'lazy',\n}: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n // Only get detailed svg if we know it exists, to avoid the performance hit of failing requests\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${\n fallback == null &&\n detailed &&\n DETAILED_FLAG_CODES.includes(code.toLowerCase())\n ? '-detailed'\n : ''\n }`\n : unknownFlagName;\n\n return (\n <img\n className={clsx('wds-flag', `wds-flag-${name}`, className)}\n src={\n process.env.NODE_ENV === 'web-art-dev'\n ? `${name}.svg`\n : `https://wise.com/web-art/assets/flags/${name}.svg`\n }\n loading={loading}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) =>\n prev == null && detailed ? 'simple' : 'unknown',\n );\n }}\n />\n );\n};\n","import { clsx } from 'clsx';\nimport { forwardRef } from 'react';\n\nimport {\n type LargeSize,\n type MediumSize,\n type SmallSize,\n type Descriptors,\n Sizes,\n} from './../common';\nimport type { IllustrationNames } from './metadata';\n\n// Picking only a few props from Image element to avoid breaking change\n// as in future underlying element might change\ntype ImgProps = Pick<React.ImgHTMLAttributes<HTMLImageElement>, 'id' | 'className'>;\n\nexport type IllustrationSizes = LargeSize | MediumSize | SmallSize;\n\nexport type Props = {\n name: IllustrationNames;\n alt?: string;\n size?: IllustrationSizes;\n loading?: 'eager' | 'lazy';\n disablePadding?: boolean;\n} & ImgProps;\n\nconst imageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\n};\n\nconst Illustration = forwardRef<HTMLImageElement, Props>(\n (\n {\n id,\n name,\n alt = '',\n loading = 'eager',\n className,\n size = Sizes.MEDIUM,\n disablePadding = false,\n }: Props,\n ref,\n ) => {\n const { SMALL, MEDIUM } = Sizes;\n\n return name ? (\n <picture>\n {size === Sizes.LARGE || size === Sizes.MEDIUM ? (\n <>\n <source\n width={imageSizes[SMALL]}\n height={imageSizes[SMALL]}\n media=\"(max-width: 575px)\"\n srcSet={`${defineSrc(name, SMALL, '1x')}, ${defineSrc(name, SMALL, '2x')} 2x`}\n />\n {size !== Sizes.MEDIUM ? (\n <source\n width={imageSizes[MEDIUM]}\n height={imageSizes[MEDIUM]}\n media=\"(max-width: 992px)\"\n srcSet={`${defineSrc(name, MEDIUM, '1x')}, ${defineSrc(name, MEDIUM, '2x')} 2x`}\n />\n ) : null}\n </>\n ) : null}\n\n <img\n id={id}\n ref={ref}\n alt={alt}\n data-testid={`wds-${name}-illustration`}\n className={clsx(\n 'wds-illustration',\n `wds-illustration-${name}`,\n { 'wds-illustration-padding': !disablePadding },\n className,\n )}\n loading={loading}\n src={defineSrc(name, size, '1x')}\n srcSet={`${defineSrc(name, size, '2x')} 2x`}\n width={imageSizes[size]}\n height={imageSizes[size]}\n />\n </picture>\n ) : null;\n },\n);\n\nfunction defineSrc(illustration: string, size: IllustrationSizes, descriptor: Descriptors) {\n return `https://wise.com/web-art/assets/illustrations/${illustration}-${size}@${descriptor}.webp`;\n}\n\nexport default Illustration;\n","/*\n *\n * DON'T MODIFY THIS FILE IT'S AUTO GENERATED\n * See: `scripts/generate-i10s-metadata.mjs`\n *\n */\n\n\n export enum Assets {\n WALLET = 'wallet',TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',TOOL = 'tool',TARGET_PLATFORM = 'target-platform',STOPWATCH_PLATFORM = 'stopwatch-platform',SPEECH_BUBBLE = 'speech-bubble',SKIP_AUTHENTICATION = 'skip-authentication',SHOPPING_BAG = 'shopping-bag',SATELLITE_PLATFORM = 'satellite-platform',SAND_TIMER_BUSINESS = 'sand-timer-business',SAND_TIMER = 'sand-timer',REMINDER_LETTER = 'reminder-letter',RED_PACKET = 'red-packet',RECEIVE_BUSINESS = 'receive-business',RECEIVE = 'receive',QUESTION_MARK_BUSINESS = 'question-mark-business',QUESTION_MARK = 'question-mark',PUZZLE_PIECES_BUSINESS = 'puzzle-pieces-business',PUZZLE_PIECES = 'puzzle-pieces',PLANE_BUSINESS = 'plane-business',PLANE_2 = 'plane-2',PLANE = 'plane',PIE_CHART_BUSINESS = 'pie-chart-business',PIE_CHART = 'pie-chart',PHONES = 'phones',PERSONAL_CARD = 'personal-card',PERCENTAGE_BUSINESS = 'percentage-business',PERCENTAGE = 'percentage',PASSKEY = 'passkey',PALM_TREE = 'palm-tree',ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',MULTI_CURRENCY_BUSINESS = 'multi-currency-business',MULTI_CURRENCY = 'multi-currency',MEGAPHONE = 'megaphone',MARBLE_CARD_FLAG_ONLY_BUSINESS = 'marble-card-flag-only-business',MARBLE_CARD_FLAG_ONLY = 'marble-card-flag-only',MARBLE_CARD_BUSINESS_FLAG_ONLY = 'marble-card-business-flag-only',MARBLE_CARD_BUSINESS = 'marble-card-business',MARBLE_CARD = 'marble-card',MARBLE_BUSINESS = 'marble-business',MARBLE = 'marble',MAP = 'map',MAGNIFYING_GLASS_BUSINESS = 'magnifying-glass-business',MAGNIFYING_GLASS = 'magnifying-glass',LOCK_PLATFORM = 'lock-platform',LOCK_BUSINESS = 'lock-business',LOCK = 'lock',LIGHT_BULB_BUSINESS = 'light-bulb-business',LIGHT_BULB = 'light-bulb',KEY_BUSINESS = 'key-business',KEY = 'key',JARS = 'jars',INVITE_LETTER = 'invite-letter',INTEREST = 'interest',INFINITE = 'infinite',ID_CARD = 'id-card',HOUSE = 'house',HEART_5 = 'heart-5',HEART_4 = 'heart-4',HEART_3 = 'heart-3',HEART_2 = 'heart-2',HEART = 'heart',HEADSET_BUSINESS = 'headset-business',HEADSET = 'headset',GRAPH_BUSINESS = 'graph-business',GRAPH = 'graph',GLOBE = 'globe',GIFT_BOX = 'gift-box',GET_PAID_WITH_CARD_BUSINESS = 'get-paid-with-card-business',GEAR_BUSINESS = 'gear-business',GEAR = 'gear',FLOWER = 'flower',FLAG = 'flag',EXCLAMATION_MARK_BUSINESS = 'exclamation-mark-business',EXCLAMATION_MARK = 'exclamation-mark',EMAIL_SUCCESS_BUSINESS = 'email-success-business',EMAIL_SUCCESS = 'email-success',EMAIL = 'email',ELECTRIC_PLUG = 'electric-plug',ECO_CARD = 'eco-card',DOOR = 'door',DOCUMENTS_FOLDER_BUSINESS = 'documents-folder-business',DOCUMENTS = 'documents',DIGITAL_CARD_BUSINESS = 'digital-card-business',DIGITAL_CARD_2 = 'digital-card-2',DIGITAL_CARD = 'digital-card',COOKIE = 'cookie',CONVERT_BUSINESS = 'convert-business',CONVERT = 'convert',CONSTRUCTION_FENCE = 'construction-fence',CONFETTI_BUSINESS = 'confetti-business',CONFETTI = 'confetti',COIN_PILE_UP_BUSINESS = 'coin-pile-up-business',COIN_PILE_UP = 'coin-pile-up',COIN_PILE_DOWN_BUSINESS = 'coin-pile-down-business',COIN_PILE_DOWN = 'coin-pile-down',CLOSED_WINDOW = 'closed-window',CHECK_MARK_BUSINESS = 'check-mark-business',CHECK_MARK = 'check-mark',CALENDAR_BUSINESS = 'calendar-business',CALENDAR = 'calendar',CALCULATOR_BUSINESS = 'calculator-business',BUSINESS_CARD_BUSINESS = 'business-card-business',BUSINESS_CARD = 'business-card',BRIEFCASE_BUSINESS = 'briefcase-business',BRIEFCASE = 'briefcase',BELL_BUSINESS = 'bell-business',BELL = 'bell',BATCH_PAYMENTS_BUSINESS = 'batch-payments-business',BACKPACK = 'backpack',APP_MARKETPLACE_BUSINESS = 'app-marketplace-business',API_INTEGRATIONS_BUSINESS = 'api-integrations-business'\n }\n\n export const illustrationNames = ['wallet', 'two-invite-letters-opened', 'tool', 'target-platform', 'stopwatch-platform', 'speech-bubble', 'skip-authentication', 'shopping-bag', 'satellite-platform', 'sand-timer-business', 'sand-timer', 'reminder-letter', 'red-packet', 'receive-business', 'receive', 'question-mark-business', 'question-mark', 'puzzle-pieces-business', 'puzzle-pieces', 'plane-business', 'plane-2', 'plane', 'pie-chart-business', 'pie-chart', 'phones', 'personal-card', 'percentage-business', 'percentage', 'passkey', 'palm-tree', 'one-invite-letter-opened', 'multi-currency-business', 'multi-currency', 'megaphone', 'marble-card-flag-only-business', 'marble-card-flag-only', 'marble-card-business-flag-only', 'marble-card-business', 'marble-card', 'marble-business', 'marble', 'map', 'magnifying-glass-business', 'magnifying-glass', 'lock-platform', 'lock-business', 'lock', 'light-bulb-business', 'light-bulb', 'key-business', 'key', 'jars', 'invite-letter', 'interest', 'infinite', 'id-card', 'house', 'heart-5', 'heart-4', 'heart-3', 'heart-2', 'heart', 'headset-business', 'headset', 'graph-business', 'graph', 'globe', 'gift-box', 'get-paid-with-card-business', 'gear-business', 'gear', 'flower', 'flag', 'exclamation-mark-business', 'exclamation-mark', 'email-success-business', 'email-success', 'email', 'electric-plug', 'eco-card', 'door', 'documents-folder-business', 'documents', 'digital-card-business', 'digital-card-2', 'digital-card', 'cookie', 'convert-business', 'convert', 'construction-fence', 'confetti-business', 'confetti', 'coin-pile-up-business', 'coin-pile-up', 'coin-pile-down-business', 'coin-pile-down', 'closed-window', 'check-mark-business', 'check-mark', 'calendar-business', 'calendar', 'calculator-business', 'business-card-business', 'business-card', 'briefcase-business', 'briefcase', 'bell-business', 'bell', 'batch-payments-business', 'backpack', 'app-marketplace-business', 'api-integrations-business'] as const;\n\n export type IllustrationNames = typeof illustrationNames[number];\n\n export const illustration3DNames = ['check-mark', 'confetti', 'flower', 'globe', 'graph', 'interest', 'jars', 'lock', 'magnifying-glass', 'marble', 'marble-card', 'multi-currency', 'plane'] as const;\n\n export type Illustration3DNames = typeof illustration3DNames[number];","import { useState, useEffect } from 'react';\n\nimport { illustration3DNames, type IllustrationNames } from '../illustrations/metadata';\n\nexport function useBattery() {\n const [batteryData, setBatteryData] = useState<{ level: number }>({ level: 1.0 });\n\n useEffect(() => {\n const getBatteryData = async () => {\n // @ts-expect-error .getBattery exists in Navigator interface\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const battery = await navigator.getBattery();\n\n setBatteryData({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n level: battery?.level,\n });\n };\n // Check if the browser supports the Battery API\n if (\n 'getBattery' in navigator &&\n navigator.getBattery !== undefined &&\n typeof navigator.getBattery === 'function'\n ) {\n void getBatteryData();\n }\n }, []);\n\n return batteryData;\n}\n\nexport function isBatteryLow(batteryLevel: number): boolean {\n return batteryLevel < 0.2;\n}\n\nexport const isWebGL2Available = () => {\n try {\n const canvas = document.createElement('canvas');\n return !!(window.WebGL2RenderingContext && canvas.getContext('webgl2'));\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n return false;\n }\n return (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error Property 'connection' does exist on type 'Navigator'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n navigator?.connection?.saveData === true\n );\n}\n\nexport function defineSrc(asset: string): string {\n return `https://wise.com/web-art/assets/illustrations3d/${asset}`;\n}\n\nexport function isIllustrationSupport3D(asset: IllustrationNames): boolean {\n return (illustration3DNames as readonly string[]).includes(asset);\n}\n","/* eslint-disable fp/no-mutation */\nimport { clsx } from 'clsx';\nimport { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\nimport Illustration from '../illustrations/Illustration';\nimport { Assets, type Illustration3DNames } from '../illustrations/metadata';\nexport type { Illustration3DNames };\n\nimport { useBattery, isConnectionSlow, isBatteryLow, isWebGL2Available } from './utils';\n\nexport type Props = {\n name: Illustration3DNames;\n size?: SmallSize | MediumSize | LargeSize;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3D = ({ name, size = Sizes.MEDIUM, className }: Props) => {\n const [renderMode, setRenderMode] = useState<RenderMode>(RenderMode.INIT);\n const [inintrinsicSize, setInintrinsicSize] = useState<Props['size']>(size);\n const batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level) || !isWebGL2Available()\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n const isMobile: boolean =\n (typeof window !== undefined && window?.matchMedia('(max-width: 575px)')?.matches) ?? false;\n if (isMobile) {\n setInintrinsicSize(Sizes.SMALL);\n }\n }, [batteryData]);\n\n return (\n <div\n className={clsx(\n 'wds-illustration-3d',\n `wds-illustration-3d-${name}`,\n `wds-illustration-3d-${inintrinsicSize as string}`,\n className,\n )}\n aria-hidden\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: inintrinsicSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error unknown generic\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(async () => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(async () => import('./models/Lock'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(async () => import('./models/Globe'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(async () => import('./models/Confetti'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(async () => import('./models/CheckMark'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(async () => import('./models/Flower'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(async () => import('./models/Plane'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(async () => import('./models/Graph'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(async () => import('./models/Marble'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(async () => import('./models/MarbleCard'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(async () => import('./models/MagnifyingGlass'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(async () => import('./models/Jars'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(async () => import('./models/MultiCurrency'));\n break;\n }\n case Assets.INTEREST: {\n Model = lazy(async () => import('./models/Interest'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3D;\n"],"names":["DETAILED_FLAG_CODES","unknownFlagName","Flag","code","intrinsicSize","className","undefined","loading","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","includes","_jsx","clsx","src","process","env","NODE_ENV","alt","width","height","onError","prev","imageSizes","Sizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","id","size","disablePadding","ref","_jsxs","children","_Fragment","media","srcSet","defineSrc","illustration","descriptor","Assets","illustration3DNames","useBattery","batteryData","setBatteryData","level","getBatteryData","battery","navigator","getBattery","isBatteryLow","batteryLevel","isWebGL2Available","canvas","document","createElement","window","WebGL2RenderingContext","getContext","e","isConnectionSlow","connection","effectiveType","saveData","asset","isIllustrationSupport3D","RenderMode","Illustration3D","renderMode","setRenderMode","INIT","inintrinsicSize","setInintrinsicSize","FALLBACK","ASSET_3D","isMobile","matchMedia","matches","Suspense","getModel","Model","Scene","lazy","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","INTEREST","assetName"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as Assets, F as Flag, I as Illustration, a as Illustration3D, i as isIllustrationSupport3D } from './index-BDrfcpm_.esm.js';
1
+ export { A as Assets, F as Flag, I as Illustration, a as Illustration3D, i as isIllustrationSupport3D } from './index-BxolAMHh.esm.js';
2
2
  export { S as Sizes } from './common-DBpCdW70.esm.js';
3
3
  import 'clsx';
4
4
  import 'react';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CikWxxNh.js');
3
+ var index = require('./index-wEj9TQCC.js');
4
4
  var common = require('./common-H4L6Hbbh.js');
5
5
  require('clsx');
6
6
  require('react');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/art",
3
- "version": "0.0.0-experimental-05967c7",
3
+ "version": "0.0.0-experimental-d56763d",
4
4
  "license": "MIT",
5
5
  "description": "React library for art elements in UI",
6
6
  "homepage": "https://github.com/transferwise/web-art#readme",
@@ -11,22 +11,43 @@ export default meta;
11
11
 
12
12
  type Story = StoryObj<typeof Flag>;
13
13
 
14
+ type GroupedFlag = { country: string[]; currencies: string[][] };
15
+
16
+ const groupFlags = (flags: { country: string[]; currency: string[] }[]): GroupedFlag[] =>
17
+ flags.reduce<GroupedFlag[]>((acc, flag) => {
18
+ const existing = acc.find(
19
+ (currentFlag) => currentFlag.country[0] && currentFlag.country[0] === flag.country[0],
20
+ );
21
+ if (existing) {
22
+ existing.currencies.push(flag.currency);
23
+ } else {
24
+ acc.push({ country: flag.country, currencies: [flag.currency] });
25
+ }
26
+ return acc;
27
+ }, []);
28
+
29
+ const allFlagsSorted = groupFlags(
30
+ Object.values(flagRawMetaData)
31
+ .flat()
32
+ .sort((a, b) => {
33
+ const nameA = (a.country.at(-1) ?? a.currency?.at(-1) ?? '').toLowerCase();
34
+ const nameB = (b.country.at(-1) ?? b.currency?.at(-1) ?? '').toLowerCase();
35
+ return nameA.localeCompare(nameB);
36
+ }),
37
+ );
38
+
14
39
  // Helper function to render all flags and sizes for a given region
15
- const AllFlagsAndSizes = (region: string) => {
16
- const regionFlags = Object.entries(flagRawMetaData)
17
- .filter(([currentRegion]) => currentRegion === region)
18
- .flatMap(([, flags]) => flags)
19
- .reduce<{ country: string[]; currencies: string[][] }[]>((acc, flag) => {
20
- const existing = acc.find(
21
- (currentFlag) => currentFlag.country[0] && currentFlag.country[0] === flag.country[0],
22
- );
23
- if (existing) {
24
- existing.currencies.push(flag.currency);
25
- } else {
26
- acc.push({ country: flag.country, currencies: [flag.currency] });
27
- }
28
- return acc;
29
- }, []);
40
+ const AllFlagsAndSizes = (
41
+ region: string,
42
+ flagsOverride?: GroupedFlag[],
43
+ ) => {
44
+ const regionFlags =
45
+ flagsOverride ??
46
+ groupFlags(
47
+ Object.entries(flagRawMetaData)
48
+ .filter(([currentRegion]) => currentRegion === region)
49
+ .flatMap(([, flags]) => flags),
50
+ );
30
51
 
31
52
  return (
32
53
  <>
@@ -45,8 +66,8 @@ const AllFlagsAndSizes = (region: string) => {
45
66
  <div
46
67
  style={{
47
68
  display: 'grid',
48
- gridTemplateColumns: 'repeat(auto-fill, minmax(350px, 1fr))',
49
- gap: 'var(--size-24)',
69
+ gridTemplateColumns: 'repeat(auto-fill, minmax(300px, 1fr))',
70
+ gap: 'var(--padding-small)',
50
71
  }}
51
72
  >
52
73
  {regionFlags.map((flag) => {
@@ -64,20 +85,30 @@ const AllFlagsAndSizes = (region: string) => {
64
85
  <div
65
86
  key={flagName}
66
87
  style={{
67
- display: 'grid',
68
- gridTemplateColumns: 'auto auto minmax(auto, 1fr)',
69
- gap: 'var(--size-12)',
88
+ display: 'flex',
89
+ flexDirection: 'column',
70
90
  alignItems: 'center',
91
+ gap: 'var(--padding-small)',
92
+ padding: 'var(--padding-small)',
93
+ border: '1px solid var(--color-border-neutral)',
94
+ borderRadius: 'var(--radius-large)',
71
95
  }}
72
96
  >
73
- <Flag code={flagCode} intrinsicSize={150} />
74
- <Flag code={flagCode} />
75
97
  <div
76
98
  style={{
77
99
  display: 'flex',
78
- flexWrap: 'wrap',
100
+ alignItems: 'center',
101
+ gap: 'var(--padding-small)',
102
+ }}
103
+ >
104
+ <Flag code={flagCode} />
105
+ <Flag code={flagCode} intrinsicSize={150} />
106
+ </div>
107
+ <div
108
+ style={{
109
+ display: 'flex',
79
110
  flexDirection: 'column',
80
- alignItems: 'flex-start',
111
+ alignItems: 'left',
81
112
  }}
82
113
  >
83
114
  <strong>{flagName}</strong>
@@ -109,6 +140,10 @@ const AllFlagsAndSizes = (region: string) => {
109
140
  };
110
141
 
111
142
  // Stories for each region
143
+ export const World: Story = {
144
+ render: () => AllFlagsAndSizes('World', allFlagsSorted),
145
+ };
146
+
112
147
  export const Africa: Story = {
113
148
  render: () => AllFlagsAndSizes('Africa'),
114
149
  };
@@ -20,39 +20,42 @@ export const Basic: Story = {
20
20
  },
21
21
  };
22
22
 
23
- export const All = () => {
24
- const assetNames = Object.values(Assets);
25
- return (
26
- <>
27
- <span className="np-text-body-large-bold">
28
- Total number of illustrations: {assetNames.length}
29
- </span>
30
- <div
31
- style={{
32
- display: "grid",
33
- gridTemplateColumns: "repeat(auto-fill, minmax(250px, 1fr))",
34
- gap: "var(--padding-small)",
35
- }}
36
- >
37
- {Object.values(Assets).map((assetName) => (
38
- <div
39
- key={assetName}
40
- style={{
41
- display: "grid",
42
- alignItems: "center",
43
- justifyItems: "center",
44
- }}
45
- >
46
- <Illustration
47
- alt={assetName}
48
- name={assetName as IllustrationNames}
49
- />
50
- <span>
51
- <code>{assetName}</code>
52
- </span>
53
- </div>
54
- ))}
55
- </div>
56
- </>
57
- );
23
+ export const All: Story = {
24
+ tags: ["autodocs"],
25
+ render: () => {
26
+ const assetNames = Object.values(Assets);
27
+ return (
28
+ <>
29
+ <span className="np-text-body-large-bold">
30
+ Total number of illustrations: {assetNames.length}
31
+ </span>
32
+ <div
33
+ style={{
34
+ display: "grid",
35
+ gridTemplateColumns: "repeat(auto-fill, minmax(250px, 1fr))",
36
+ gap: "var(--padding-small)",
37
+ }}
38
+ >
39
+ {assetNames.map((assetName) => (
40
+ <div
41
+ key={assetName}
42
+ style={{
43
+ display: "grid",
44
+ alignItems: "center",
45
+ justifyItems: "center",
46
+ }}
47
+ >
48
+ <Illustration
49
+ alt={assetName}
50
+ name={assetName as IllustrationNames}
51
+ />
52
+ <span>
53
+ <code>{assetName}</code>
54
+ </span>
55
+ </div>
56
+ ))}
57
+ </div>
58
+ </>
59
+ );
60
+ },
58
61
  };