@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,58 @@
1
+ import { useGLTF, useAnimations } from '@react-three/drei';
2
+ import { useFrame, useLoader } from '@react-three/fiber';
3
+ import React, { 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 React, { 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 is3dIllustrationSupported(asset: IllustrationNames): boolean {
67
+ return illustration3dNames.includes(asset);
68
+ }
package/src/index.ts ADDED
@@ -0,0 +1,12 @@
1
+ export { Flag } from './flags';
2
+ export { default as Illustration } from './illustrations';
3
+ export { default as Illustration3d } from './illustrations3d';
4
+
5
+ export { Assets } from './illustrations';
6
+ export { Sizes } from './common';
7
+
8
+ export type { FlagProps } from './flags';
9
+ export type { IllustrationNames, IllustrationProps } from './illustrations';
10
+ export type { Illustration3dNames, Illustration3dProps } from './illustrations3d';
11
+
12
+ export { is3dIllustrationSupported } from './illustrations3d';
@@ -1,6 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { Flag } from './Flag';
3
- declare const meta: Meta<typeof Flag>;
4
- export default meta;
5
- type Story = StoryObj<typeof Flag>;
6
- export declare const Basic: Story;
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { Props as IllustrationProps } from './Illustration';
3
- import { IllustrationNames } from './metadata';
4
- declare const _default: {
5
- component: React.ForwardRefExoticComponent<{
6
- name: IllustrationNames;
7
- alt: string;
8
- size?: import("./Illustration").IllustrationSizes | undefined;
9
- loading?: "eager" | "lazy" | undefined;
10
- disablePadding?: boolean | undefined;
11
- } & {
12
- id?: string | undefined;
13
- className?: string | undefined;
14
- } & React.RefAttributes<HTMLImageElement>>;
15
- title: string;
16
- };
17
- export default _default;
18
- export declare const All: () => React.JSX.Element;
19
- export declare const Individual: ({ name, ...props }: IllustrationProps) => React.JSX.Element;
@@ -1,2 +0,0 @@
1
- import e,{useState as t,useEffect as E,forwardRef as a}from"react";import i from"classnames";const l=({code:e,intrinsicSize:a=64})=>{const[i,l]=t(null);E(()=>{l(null)},[e]);const n=a>=150,r="unknown"!==i?`${e.toLowerCase()}${null==i&&n?"-detailed":""}`:"wise";/*#__PURE__*/return React.createElement("img",{src:`https://wise.com/web-art/assets/flags/${r}.svg`,alt:"",width:a,height:a,onError:()=>{l(e=>null==e&&n?"simple":"unknown")}})};var n;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(n||(n={}));const r={[n.SMALL]:200,[n.MEDIUM]:300,[n.LARGE]:500},s=a(({id:t,name:E,alt:a,loading:l="eager",className:s,size:o=n.MEDIUM,disablePadding:A=!1},I)=>{const{SMALL:d,MEDIUM:L}=n;return E?/*#__PURE__*/e.createElement("picture",null,o===n.LARGE||o===n.MEDIUM?/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("source",{width:r[d],height:r[d],media:"(max-width: 575px)",srcSet:`${c(E,d,"1x")}, ${c(E,d,"2x")} 2x`}),o!==n.MEDIUM?/*#__PURE__*/e.createElement("source",{width:r[L],height:r[L],media:"(max-width: 992px)",srcSet:`${c(E,L,"1x")}, ${c(E,L,"2x")} 2x`}):null):null,/*#__PURE__*/e.createElement("img",{id:t,ref:I,alt:null!=a?a:E.replace("-"," "),"data-testid":`wds-${E}-illustration`,className:i("wds-illustration",`wds-illustration-${E}`,{"wds-illustration-padding":!A},s),loading:l,src:c(E,o,"1x"),srcSet:`${c(E,o,"2x")} 2x`,width:r[o],height:r[o]})):null});function c(e,t,E){return`https://wise.com/web-art/assets/illustrations/${e}-${t}@${E}.webp`}var o;!function(e){e.BELL="bell",e.BRIEFCASE="briefcase",e.BUSINESS_CARD="business-card",e.CALENDAR="calendar",e.CHECK_MARK="check-mark",e.CLOSED_WINDOW="closed-window",e.COIN_PILE_DOWN="coin-pile-down",e.COIN_PILE_UP="coin-pile-up",e.CONFETTI="confetti",e.CONSTRUCTION_FENCE="construction-fence",e.CONVERT="convert",e.COOKIE="cookie",e.DIGITAL_CARD_2="digital-card-2",e.DIGITAL_CARD="digital-card",e.DOCUMENTS="documents",e.DOOR="door",e.ECO_CARD="eco-card",e.ELECTRIC_PLUG="electric-plug",e.EMAIL_SUCCESS="email-success",e.EMAIL="email",e.EXCLAMATION_MARK="exclamation-mark",e.FLAG="flag",e.FLOWER="flower",e.GEAR="gear",e.GLOBE="globe",e.GRAPH="graph",e.HEART_2="heart-2",e.HEART_3="heart-3",e.HEART_4="heart-4",e.HEART_5="heart-5",e.HEART="heart",e.HOUSE="house",e.ID_CARD="id-card",e.INFINITE="infinite",e.INVITE_LETTER="invite-letter",e.JARS="jars",e.KEY="key",e.LIGHT_BULB="light-bulb",e.LOCK="lock",e.MAGNIFYING_GLASS="magnifying-glass",e.MAP="map",e.MARBLE_CARD_BUSINESS="marble-card-business",e.MARBLE_CARD="marble-card",e.MARBLE="marble",e.MEGAPHONE="megaphone",e.MULTI_CURRENCY="multi-currency",e.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",e.PALM_TREE="palm-tree",e.PERCENTAGE="percentage",e.PERSONAL_CARD="personal-card",e.PHONES="phones",e.PIE_CHART="pie-chart",e.PLANE_2="plane-2",e.PLANE="plane",e.PUZZLE_PIECES="puzzle-pieces",e.QUESTION_MARK="question-mark",e.RECEIVE="receive",e.REMINDER_LETTER="reminder-letter",e.SAND_TIMER="sand-timer",e.SHOPPING_BAG="shopping-bag",e.SKIP_AUTHENTICATION="skip-authentication",e.SPEECH_BUBBLE="speech-bubble",e.TOOL="tool",e.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",e.WALLET="wallet"}(o||(o={}));export{o as Assets,l as Flag,s as Illustration,n as Sizes};
2
- //# sourceMappingURL=index.modern.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.modern.mjs","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\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}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({ code, intrinsicSize = 64 }: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <img\n src={`https://wise.com/web-art/assets/flags/${name}.svg`}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n );\n};\n","export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import classNames from 'classnames';\nimport React, { forwardRef, ImgHTMLAttributes } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Descriptors, Sizes } from './../common';\nimport { 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<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 ?? name.replace('-', ' ')}\n data-testid={`wds-${name}-illustration`}\n className={classNames(\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\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n"],"names":["Flag","code","intrinsicSize","fallback","setFallback","useState","useEffect","detailed","name","toLowerCase","React","createElement","src","alt","width","height","onError","prev","Sizes","imageSizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","id","loading","className","size","disablePadding","ref","Fragment","media","srcSet","defineSrc","replace","classNames","illustration","descriptor","Assets"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import e,{useState as t,useEffect as i,forwardRef as a}from"react";import E from"classnames";var n,r,l=function(e){var a=e.code,E=e.intrinsicSize,n=void 0===E?64:E,r=t(null),l=r[0],s=r[1];i(function(){s(null)},[a]);var c=n>=150,o="unknown"!==l?a.toLowerCase()+(null==l&&c?"-detailed":""):"wise";/*#__PURE__*/return React.createElement("img",{src:"https://wise.com/web-art/assets/flags/"+o+".svg",alt:"",width:n,height:n,onError:function(){s(function(e){return null==e&&c?"simple":"unknown"})}})};!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(n||(n={}));var s,c=((r={})[n.SMALL]=200,r[n.MEDIUM]=300,r[n.LARGE]=500,r),o=a(function(t,i){var a=t.id,r=t.name,l=t.alt,s=t.loading,o=void 0===s?"eager":s,d=t.className,I=t.size,u=void 0===I?n.MEDIUM:I,L=t.disablePadding,R=void 0!==L&&L,m=n.SMALL,_=n.MEDIUM;return r?/*#__PURE__*/e.createElement("picture",null,u===n.LARGE||u===n.MEDIUM?/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("source",{width:c[m],height:c[m],media:"(max-width: 575px)",srcSet:A(r,m,"1x")+", "+A(r,m,"2x")+" 2x"}),u!==n.MEDIUM?/*#__PURE__*/e.createElement("source",{width:c[_],height:c[_],media:"(max-width: 992px)",srcSet:A(r,_,"1x")+", "+A(r,_,"2x")+" 2x"}):null):null,/*#__PURE__*/e.createElement("img",{id:a,ref:i,alt:null!=l?l:r.replace("-"," "),"data-testid":"wds-"+r+"-illustration",className:E("wds-illustration","wds-illustration-"+r,{"wds-illustration-padding":!R},d),loading:o,src:A(r,u,"1x"),srcSet:A(r,u,"2x")+" 2x",width:c[u],height:c[u]})):null});function A(e,t,i){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+i+".webp"}!function(e){e.BELL="bell",e.BRIEFCASE="briefcase",e.BUSINESS_CARD="business-card",e.CALENDAR="calendar",e.CHECK_MARK="check-mark",e.CLOSED_WINDOW="closed-window",e.COIN_PILE_DOWN="coin-pile-down",e.COIN_PILE_UP="coin-pile-up",e.CONFETTI="confetti",e.CONSTRUCTION_FENCE="construction-fence",e.CONVERT="convert",e.COOKIE="cookie",e.DIGITAL_CARD_2="digital-card-2",e.DIGITAL_CARD="digital-card",e.DOCUMENTS="documents",e.DOOR="door",e.ECO_CARD="eco-card",e.ELECTRIC_PLUG="electric-plug",e.EMAIL_SUCCESS="email-success",e.EMAIL="email",e.EXCLAMATION_MARK="exclamation-mark",e.FLAG="flag",e.FLOWER="flower",e.GEAR="gear",e.GLOBE="globe",e.GRAPH="graph",e.HEART_2="heart-2",e.HEART_3="heart-3",e.HEART_4="heart-4",e.HEART_5="heart-5",e.HEART="heart",e.HOUSE="house",e.ID_CARD="id-card",e.INFINITE="infinite",e.INVITE_LETTER="invite-letter",e.JARS="jars",e.KEY="key",e.LIGHT_BULB="light-bulb",e.LOCK="lock",e.MAGNIFYING_GLASS="magnifying-glass",e.MAP="map",e.MARBLE_CARD_BUSINESS="marble-card-business",e.MARBLE_CARD="marble-card",e.MARBLE="marble",e.MEGAPHONE="megaphone",e.MULTI_CURRENCY="multi-currency",e.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",e.PALM_TREE="palm-tree",e.PERCENTAGE="percentage",e.PERSONAL_CARD="personal-card",e.PHONES="phones",e.PIE_CHART="pie-chart",e.PLANE_2="plane-2",e.PLANE="plane",e.PUZZLE_PIECES="puzzle-pieces",e.QUESTION_MARK="question-mark",e.RECEIVE="receive",e.REMINDER_LETTER="reminder-letter",e.SAND_TIMER="sand-timer",e.SHOPPING_BAG="shopping-bag",e.SKIP_AUTHENTICATION="skip-authentication",e.SPEECH_BUBBLE="speech-bubble",e.TOOL="tool",e.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",e.WALLET="wallet"}(s||(s={}));export{s as Assets,l as Flag,o as Illustration,n as Sizes};
2
- //# sourceMappingURL=index.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\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}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({ code, intrinsicSize = 64 }: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <img\n src={`https://wise.com/web-art/assets/flags/${name}.svg`}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n );\n};\n","export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import classNames from 'classnames';\nimport React, { forwardRef, ImgHTMLAttributes } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Descriptors, Sizes } from './../common';\nimport { 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<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 ?? name.replace('-', ' ')}\n data-testid={`wds-${name}-illustration`}\n className={classNames(\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\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n"],"names":["Sizes","_imageSizes","Flag","_ref","code","intrinsicSize","_ref$intrinsicSize","_useState","useState","fallback","setFallback","useEffect","detailed","name","toLowerCase","React","createElement","src","alt","width","height","onError","prev","Assets","imageSizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","ref","id","loading","_ref$loading","className","size","_ref$size","disablePadding","_ref$disablePadding","Fragment","media","srcSet","defineSrc","replace","classNames","illustration","descriptor"],"mappings":"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"}
package/dist/index.umd.js DELETED
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("classnames")):"function"==typeof define&&define.amd?define(["exports","react","classnames"],t):t((e||self).art={},e.react,e.classnames)}(this,function(e,t,i){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,l,s=/*#__PURE__*/a(t),r=/*#__PURE__*/a(i);e.Sizes=void 0,(n=e.Sizes||(e.Sizes={})).SMALL="small",n.MEDIUM="medium",n.LARGE="large";var E,o=((l={})[e.Sizes.SMALL]=200,l[e.Sizes.MEDIUM]=300,l[e.Sizes.LARGE]=500,l),c=t.forwardRef(function(t,i){var a=t.id,n=t.name,l=t.alt,E=t.loading,c=void 0===E?"eager":E,u=t.className,A=t.size,I=void 0===A?e.Sizes.MEDIUM:A,R=t.disablePadding,L=void 0!==R&&R,S=e.Sizes.SMALL,m=e.Sizes.MEDIUM;return n?/*#__PURE__*/s.default.createElement("picture",null,I===e.Sizes.LARGE||I===e.Sizes.MEDIUM?/*#__PURE__*/s.default.createElement(s.default.Fragment,null,/*#__PURE__*/s.default.createElement("source",{width:o[S],height:o[S],media:"(max-width: 575px)",srcSet:d(n,S,"1x")+", "+d(n,S,"2x")+" 2x"}),I!==e.Sizes.MEDIUM?/*#__PURE__*/s.default.createElement("source",{width:o[m],height:o[m],media:"(max-width: 992px)",srcSet:d(n,m,"1x")+", "+d(n,m,"2x")+" 2x"}):null):null,/*#__PURE__*/s.default.createElement("img",{id:a,ref:i,alt:null!=l?l:n.replace("-"," "),"data-testid":"wds-"+n+"-illustration",className:r.default("wds-illustration","wds-illustration-"+n,{"wds-illustration-padding":!L},u),loading:c,src:d(n,I,"1x"),srcSet:d(n,I,"2x")+" 2x",width:o[I],height:o[I]})):null});function d(e,t,i){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+i+".webp"}e.Assets=void 0,(E=e.Assets||(e.Assets={})).BELL="bell",E.BRIEFCASE="briefcase",E.BUSINESS_CARD="business-card",E.CALENDAR="calendar",E.CHECK_MARK="check-mark",E.CLOSED_WINDOW="closed-window",E.COIN_PILE_DOWN="coin-pile-down",E.COIN_PILE_UP="coin-pile-up",E.CONFETTI="confetti",E.CONSTRUCTION_FENCE="construction-fence",E.CONVERT="convert",E.COOKIE="cookie",E.DIGITAL_CARD_2="digital-card-2",E.DIGITAL_CARD="digital-card",E.DOCUMENTS="documents",E.DOOR="door",E.ECO_CARD="eco-card",E.ELECTRIC_PLUG="electric-plug",E.EMAIL_SUCCESS="email-success",E.EMAIL="email",E.EXCLAMATION_MARK="exclamation-mark",E.FLAG="flag",E.FLOWER="flower",E.GEAR="gear",E.GLOBE="globe",E.GRAPH="graph",E.HEART_2="heart-2",E.HEART_3="heart-3",E.HEART_4="heart-4",E.HEART_5="heart-5",E.HEART="heart",E.HOUSE="house",E.ID_CARD="id-card",E.INFINITE="infinite",E.INVITE_LETTER="invite-letter",E.JARS="jars",E.KEY="key",E.LIGHT_BULB="light-bulb",E.LOCK="lock",E.MAGNIFYING_GLASS="magnifying-glass",E.MAP="map",E.MARBLE_CARD_BUSINESS="marble-card-business",E.MARBLE_CARD="marble-card",E.MARBLE="marble",E.MEGAPHONE="megaphone",E.MULTI_CURRENCY="multi-currency",E.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",E.PALM_TREE="palm-tree",E.PERCENTAGE="percentage",E.PERSONAL_CARD="personal-card",E.PHONES="phones",E.PIE_CHART="pie-chart",E.PLANE_2="plane-2",E.PLANE="plane",E.PUZZLE_PIECES="puzzle-pieces",E.QUESTION_MARK="question-mark",E.RECEIVE="receive",E.REMINDER_LETTER="reminder-letter",E.SAND_TIMER="sand-timer",E.SHOPPING_BAG="shopping-bag",E.SKIP_AUTHENTICATION="skip-authentication",E.SPEECH_BUBBLE="speech-bubble",E.TOOL="tool",E.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",E.WALLET="wallet",e.Flag=function(e){var i=e.code,a=e.intrinsicSize,n=void 0===a?64:a,l=t.useState(null),s=l[0],r=l[1];t.useEffect(function(){r(null)},[i]);var E=n>=150,o="unknown"!==s?i.toLowerCase()+(null==s&&E?"-detailed":""):"wise";/*#__PURE__*/return React.createElement("img",{src:"https://wise.com/web-art/assets/flags/"+o+".svg",alt:"",width:n,height:n,onError:function(){r(function(e){return null==e&&E?"simple":"unknown"})}})},e.Illustration=c});
2
- //# sourceMappingURL=index.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/flags/Flag.tsx"],"sourcesContent":["export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport type LargeSize = 'large';\nexport type MediumSize = 'medium';\nexport type SmallSize = 'small';\n\nexport type Descriptors = '1x' | '1.5x' | '2x' | '3x' | '4x';\n","import classNames from 'classnames';\nimport React, { forwardRef, ImgHTMLAttributes } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Descriptors, Sizes } from './../common';\nimport { 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<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 ?? name.replace('-', ' ')}\n data-testid={`wds-${name}-illustration`}\n className={classNames(\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\nexport enum Assets {\n BELL = 'bell',\n BRIEFCASE = 'briefcase',\n BUSINESS_CARD = 'business-card',\n CALENDAR = 'calendar',\n CHECK_MARK = 'check-mark',\n CLOSED_WINDOW = 'closed-window',\n COIN_PILE_DOWN = 'coin-pile-down',\n COIN_PILE_UP = 'coin-pile-up',\n CONFETTI = 'confetti',\n CONSTRUCTION_FENCE = 'construction-fence',\n CONVERT = 'convert',\n COOKIE = 'cookie',\n DIGITAL_CARD_2 = 'digital-card-2',\n DIGITAL_CARD = 'digital-card',\n DOCUMENTS = 'documents',\n DOOR = 'door',\n ECO_CARD = 'eco-card',\n ELECTRIC_PLUG = 'electric-plug',\n EMAIL_SUCCESS = 'email-success',\n EMAIL = 'email',\n EXCLAMATION_MARK = 'exclamation-mark',\n FLAG = 'flag',\n FLOWER = 'flower',\n GEAR = 'gear',\n GLOBE = 'globe',\n GRAPH = 'graph',\n HEART_2 = 'heart-2',\n HEART_3 = 'heart-3',\n HEART_4 = 'heart-4',\n HEART_5 = 'heart-5',\n HEART = 'heart',\n HOUSE = 'house',\n ID_CARD = 'id-card',\n INFINITE = 'infinite',\n INVITE_LETTER = 'invite-letter',\n JARS = 'jars',\n KEY = 'key',\n LIGHT_BULB = 'light-bulb',\n LOCK = 'lock',\n MAGNIFYING_GLASS = 'magnifying-glass',\n MAP = 'map',\n MARBLE_CARD_BUSINESS = 'marble-card-business',\n MARBLE_CARD = 'marble-card',\n MARBLE = 'marble',\n MEGAPHONE = 'megaphone',\n MULTI_CURRENCY = 'multi-currency',\n ONE_INVITE_LETTER_OPENED = 'one-invite-letter-opened',\n PALM_TREE = 'palm-tree',\n PERCENTAGE = 'percentage',\n PERSONAL_CARD = 'personal-card',\n PHONES = 'phones',\n PIE_CHART = 'pie-chart',\n PLANE_2 = 'plane-2',\n PLANE = 'plane',\n PUZZLE_PIECES = 'puzzle-pieces',\n QUESTION_MARK = 'question-mark',\n RECEIVE = 'receive',\n REMINDER_LETTER = 'reminder-letter',\n SAND_TIMER = 'sand-timer',\n SHOPPING_BAG = 'shopping-bag',\n SKIP_AUTHENTICATION = 'skip-authentication',\n SPEECH_BUBBLE = 'speech-bubble',\n TOOL = 'tool',\n TWO_INVITE_LETTERS_OPENED = 'two-invite-letters-opened',\n WALLET = 'wallet',\n}\n\nexport type IllustrationNames =\n | 'bell'\n | 'briefcase'\n | 'business-card'\n | 'calendar'\n | 'check-mark'\n | 'closed-window'\n | 'coin-pile-down'\n | 'coin-pile-up'\n | 'confetti'\n | 'construction-fence'\n | 'convert'\n | 'cookie'\n | 'digital-card-2'\n | 'digital-card'\n | 'documents'\n | 'door'\n | 'eco-card'\n | 'electric-plug'\n | 'email-success'\n | 'email'\n | 'exclamation-mark'\n | 'flag'\n | 'flower'\n | 'gear'\n | 'globe'\n | 'graph'\n | 'heart-2'\n | 'heart-3'\n | 'heart-4'\n | 'heart-5'\n | 'heart'\n | 'house'\n | 'id-card'\n | 'infinite'\n | 'invite-letter'\n | 'jars'\n | 'key'\n | 'light-bulb'\n | 'lock'\n | 'magnifying-glass'\n | 'map'\n | 'marble-card-business'\n | 'marble-card'\n | 'marble'\n | 'megaphone'\n | 'multi-currency'\n | 'one-invite-letter-opened'\n | 'palm-tree'\n | 'percentage'\n | 'personal-card'\n | 'phones'\n | 'pie-chart'\n | 'plane-2'\n | 'plane'\n | 'puzzle-pieces'\n | 'question-mark'\n | 'receive'\n | 'reminder-letter'\n | 'sand-timer'\n | 'shopping-bag'\n | 'skip-authentication'\n | 'speech-bubble'\n | 'tool'\n | 'two-invite-letters-opened'\n | 'wallet';\n","import { useEffect, useState } from 'react';\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}\n\nconst unknownFlagName = 'wise';\n\nexport const Flag = ({ code, intrinsicSize = 64 }: FlagProps) => {\n const [fallback, setFallback] = useState<'simple' | 'unknown' | null>(null);\n useEffect(() => {\n setFallback(null);\n }, [code]);\n\n const detailed = intrinsicSize >= 150;\n const name =\n fallback !== 'unknown'\n ? `${code.toLowerCase()}${fallback == null && detailed ? '-detailed' : ''}`\n : unknownFlagName;\n\n return (\n <img\n src={`https://wise.com/web-art/assets/flags/${name}.svg`}\n alt=\"\"\n width={intrinsicSize}\n height={intrinsicSize}\n onError={() => {\n setFallback((prev) => (prev == null && detailed ? 'simple' : 'unknown'));\n }}\n />\n );\n};\n"],"names":["Sizes","_imageSizes","Assets","imageSizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","ref","id","name","_ref","alt","loading","_ref$loading","className","size","_ref$size","disablePadding","_ref$disablePadding","React","createElement","Fragment","width","height","media","srcSet","defineSrc","replace","classNames","src","illustration","descriptor","exports","code","intrinsicSize","_ref$intrinsicSize","_useState","useState","fallback","setFallback","useEffect","detailed","toLowerCase","onError","prev"],"mappings":"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"}