@wise/art 2.3.4 → 2.5.0-beta.1

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 (91) hide show
  1. package/README.md +38 -8
  2. package/dist/CheckMarkModel-00577d55.js +2 -0
  3. package/dist/CheckMarkModel-00577d55.js.map +1 -0
  4. package/dist/CheckMarkModel-91d303f1.js +2 -0
  5. package/dist/CheckMarkModel-91d303f1.js.map +1 -0
  6. package/dist/ConfettiModel-78ef5fb8.js +2 -0
  7. package/dist/ConfettiModel-78ef5fb8.js.map +1 -0
  8. package/dist/ConfettiModel-9e208122.js +2 -0
  9. package/dist/ConfettiModel-9e208122.js.map +1 -0
  10. package/dist/FlowerModel-148cdedd.js +2 -0
  11. package/dist/FlowerModel-148cdedd.js.map +1 -0
  12. package/dist/FlowerModel-de915bfb.js +2 -0
  13. package/dist/FlowerModel-de915bfb.js.map +1 -0
  14. package/dist/GlobeModel-2e49e4ee.js +2 -0
  15. package/dist/GlobeModel-2e49e4ee.js.map +1 -0
  16. package/dist/GlobeModel-4e9a5c3e.js +2 -0
  17. package/dist/GlobeModel-4e9a5c3e.js.map +1 -0
  18. package/dist/GraphModel-e41b50d9.js +2 -0
  19. package/dist/GraphModel-e41b50d9.js.map +1 -0
  20. package/dist/GraphModel-e78eb37d.js +2 -0
  21. package/dist/GraphModel-e78eb37d.js.map +1 -0
  22. package/dist/JarsModel-1848e98e.js +2 -0
  23. package/dist/JarsModel-1848e98e.js.map +1 -0
  24. package/dist/JarsModel-a3b76034.js +2 -0
  25. package/dist/JarsModel-a3b76034.js.map +1 -0
  26. package/dist/LockModel-3b21325c.js +2 -0
  27. package/dist/LockModel-3b21325c.js.map +1 -0
  28. package/dist/LockModel-49a70b69.js +2 -0
  29. package/dist/LockModel-49a70b69.js.map +1 -0
  30. package/dist/MagnifyingGlassModel-6f4ffd2f.js +2 -0
  31. package/dist/MagnifyingGlassModel-6f4ffd2f.js.map +1 -0
  32. package/dist/MagnifyingGlassModel-76181ce6.js +2 -0
  33. package/dist/MagnifyingGlassModel-76181ce6.js.map +1 -0
  34. package/dist/MarbleCardModel-81bd47fa.js +2 -0
  35. package/dist/MarbleCardModel-81bd47fa.js.map +1 -0
  36. package/dist/MarbleCardModel-ce65414d.js +2 -0
  37. package/dist/MarbleCardModel-ce65414d.js.map +1 -0
  38. package/dist/MarbleModel-5b73d61c.js +2 -0
  39. package/dist/MarbleModel-5b73d61c.js.map +1 -0
  40. package/dist/MarbleModel-6d9c2e6f.js +2 -0
  41. package/dist/MarbleModel-6d9c2e6f.js.map +1 -0
  42. package/dist/MultiCurrencyModel-48138493.js +2 -0
  43. package/dist/MultiCurrencyModel-48138493.js.map +1 -0
  44. package/dist/MultiCurrencyModel-b366cd40.js +2 -0
  45. package/dist/MultiCurrencyModel-b366cd40.js.map +1 -0
  46. package/dist/PlaneModel-a8dc239b.js +2 -0
  47. package/dist/PlaneModel-a8dc239b.js.map +1 -0
  48. package/dist/PlaneModel-e2a4fba0.js +2 -0
  49. package/dist/PlaneModel-e2a4fba0.js.map +1 -0
  50. package/dist/Scene-338de388.js +2 -0
  51. package/dist/Scene-338de388.js.map +1 -0
  52. package/dist/Scene-fcb0793e.js +2 -0
  53. package/dist/Scene-fcb0793e.js.map +1 -0
  54. package/dist/common.d.ts +9 -4
  55. package/dist/flags/Flag.d.ts +12 -0
  56. package/dist/flags/Flag.stories.d.ts +6 -0
  57. package/dist/flags/index.d.ts +2 -0
  58. package/dist/illustrations/Illustration.d.ts +3 -3
  59. package/dist/illustrations/Illustration.stories.d.ts +2 -2
  60. package/dist/illustrations/metadata.d.ts +1 -1
  61. package/dist/illustrations3d/CheckMarkModel.d.ts +3 -0
  62. package/dist/illustrations3d/ConfettiModel.d.ts +3 -0
  63. package/dist/illustrations3d/FlowerModel.d.ts +3 -0
  64. package/dist/illustrations3d/GlobeModel.d.ts +3 -0
  65. package/dist/illustrations3d/GraphModel.d.ts +3 -0
  66. package/dist/illustrations3d/Illustration3d.d.ts +10 -0
  67. package/dist/illustrations3d/Illustration3d.stories.d.ts +18 -0
  68. package/dist/illustrations3d/JarsModel.d.ts +3 -0
  69. package/dist/illustrations3d/LockModel.d.ts +3 -0
  70. package/dist/illustrations3d/MagnifyingGlassModel.d.ts +3 -0
  71. package/dist/illustrations3d/MarbleCardModel.d.ts +3 -0
  72. package/dist/illustrations3d/MarbleModel.d.ts +3 -0
  73. package/dist/illustrations3d/MultiCurrencyModel.d.ts +3 -0
  74. package/dist/illustrations3d/PlaneModel.d.ts +3 -0
  75. package/dist/illustrations3d/Scene.d.ts +8 -0
  76. package/dist/illustrations3d/index.d.ts +3 -0
  77. package/dist/illustrations3d/utils.d.ts +6 -0
  78. package/dist/index-10935fb1.js +2 -0
  79. package/dist/index-10935fb1.js.map +1 -0
  80. package/dist/index-b9b0a6b6.js +2 -0
  81. package/dist/index-b9b0a6b6.js.map +1 -0
  82. package/dist/index.d.ts +4 -0
  83. package/dist/index.js +1 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.module.js +1 -1
  86. package/dist/index.module.js.map +1 -1
  87. package/package.json +34 -24
  88. package/dist/index.modern.mjs +0 -2
  89. package/dist/index.modern.mjs.map +0 -1
  90. package/dist/index.umd.js +0 -2
  91. package/dist/index.umd.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ConfettiModel: () => React.JSX.Element;
3
+ export default ConfettiModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const FlowerModel: () => React.JSX.Element;
3
+ export default FlowerModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const GlobeModel: () => React.JSX.Element;
3
+ export default GlobeModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const GraphModel: () => React.JSX.Element;
3
+ export default GraphModel;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { LargeSize, MediumSize, SmallSize } from '../common';
3
+ export type Illustration3dNames = 'lock' | 'globe' | 'confetti' | 'check-mark' | 'flower' | 'graph' | 'jars' | 'magnifying-glass' | 'marble' | 'marble-card' | 'multi-currency' | 'plane';
4
+ export type Props = {
5
+ name: Illustration3dNames;
6
+ size?: SmallSize | MediumSize | LargeSize;
7
+ className?: string;
8
+ };
9
+ declare const Illustration3d: ({ name, size, className }: Props) => React.JSX.Element;
10
+ export default Illustration3d;
@@ -0,0 +1,18 @@
1
+ declare namespace _default {
2
+ const title: string;
3
+ }
4
+ export default _default;
5
+ export function Confetti(): React.JSX.Element;
6
+ export function Globe(): React.JSX.Element;
7
+ export function Lock(): React.JSX.Element;
8
+ export function CheckMark(): React.JSX.Element;
9
+ export function Flower(): React.JSX.Element;
10
+ export function Plane(): React.JSX.Element;
11
+ export function Graph(): React.JSX.Element;
12
+ export function Marble(): React.JSX.Element;
13
+ export function MarbleCard(): React.JSX.Element;
14
+ export function MagnifyingGlass(): React.JSX.Element;
15
+ export function Jars(): React.JSX.Element;
16
+ export function MultiCurrency(): React.JSX.Element;
17
+ export function Fallback(): React.JSX.Element;
18
+ import React from "react";
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const JarsModel: () => React.JSX.Element;
3
+ export default JarsModel;
@@ -0,0 +1,3 @@
1
+ export default LockModel;
2
+ declare function LockModel(): React.JSX.Element;
3
+ import React from "react";
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const MagnifyingGlassModel: () => React.JSX.Element;
3
+ export default MagnifyingGlassModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const MarbleCardModel: () => React.JSX.Element;
3
+ export default MarbleCardModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const MarbleModel: () => React.JSX.Element;
3
+ export default MarbleModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const MultiCurrencyModel: () => React.JSX.Element;
3
+ export default MultiCurrencyModel;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const PlaneModel: () => React.JSX.Element;
3
+ export default PlaneModel;
@@ -0,0 +1,8 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { LargeSize, MediumSize, SmallSize } from '../common';
3
+ import { Illustration3dNames } from './Illustration3d';
4
+ export type Props = PropsWithChildren<{
5
+ assetName: Illustration3dNames;
6
+ size?: SmallSize | MediumSize | LargeSize;
7
+ }>;
8
+ export default function Scene({ children, assetName, size }: Props): React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { default } from './Illustration3d';
2
+ export type { Props as Illustration3dProps } from './Illustration3d';
3
+ export type { Illustration3dNames } from './Illustration3d';
@@ -0,0 +1,6 @@
1
+ export declare function useBattery(): {
2
+ level: number;
3
+ };
4
+ export declare function isBatteryLow(batteryLevel: number): boolean;
5
+ export declare function isConnectionSlow(): boolean;
6
+ export declare function defineSrc(asset: string): string;
@@ -0,0 +1,2 @@
1
+ import e,{useState as t,useEffect as n,forwardRef as a,Suspense as r,lazy as i}from"react";import l from"classnames";var o,c,s=function(e){var a=e.code,r=e.intrinsicSize,i=void 0===r?64:r,l=t(null),o=l[0],c=l[1];n(function(){c(null)},[a]);var s=i>=150,E="unknown"!==o?a.toLowerCase()+(null==o&&s?"-detailed":""):"wise";/*#__PURE__*/return React.createElement("img",{src:"https://wise.com/web-art/assets/flags/"+E+".svg",alt:"",width:i,height:i,onError:function(){c(function(e){return null==e&&s?"simple":"unknown"})}})};!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(c||(c={}));var E,u,d,m=((o={})[c.SMALL]=200,o[c.MEDIUM]=300,o[c.LARGE]=500,o),A=((E={})[c.SMALL]=200,E[c.MEDIUM]=300,E[c.LARGE]=500,E),L=a(function(t,n){var a=t.id,r=t.name,i=t.alt,o=t.loading,s=void 0===o?"eager":o,E=t.className,u=t.size,d=void 0===u?c.MEDIUM:u,m=t.disablePadding,L=void 0!==m&&m,M=c.SMALL,R=c.MEDIUM;return r?/*#__PURE__*/e.createElement("picture",null,d===c.LARGE||d===c.MEDIUM?/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("source",{width:A[M],height:A[M],media:"(max-width: 575px)",srcSet:I(r,M,"1x")+", "+I(r,M,"2x")+" 2x"}),d!==c.MEDIUM?/*#__PURE__*/e.createElement("source",{width:A[R],height:A[R],media:"(max-width: 992px)",srcSet:I(r,R,"1x")+", "+I(r,R,"2x")+" 2x"}):null):null,/*#__PURE__*/e.createElement("img",{id:a,ref:n,alt:null!=i?i:r.replace("-"," "),"data-testid":"wds-"+r+"-illustration",className:l("wds-illustration","wds-illustration-"+r,{"wds-illustration-padding":!L},E),loading:s,src:I(r,d,"1x"),srcSet:I(r,d,"2x")+" 2x",width:A[d],height:A[d]})):null});function I(e,t,n){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+n+".webp"}function M(e){return"https://wise.com/web-art/assets/illustrations3d/"+e}!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"}(u||(u={})),function(e){e[e.INIT=0]="INIT",e[e.FALLBACK=1]="FALLBACK",e[e.ASSET_3D=2]="ASSET_3D"}(d||(d={}));var R=function(a){var o=a.name,s=a.size,E=void 0===s?c.MEDIUM:s,m=a.className,A=t(d.INIT),I=A[0],M=A[1],R=function(){var e=t({level:1}),a=e[0],r=e[1];return n(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){r({level:null==e?void 0:e.level})})}catch(e){return Promise.reject(e)}}()},[]),a}();n(function(){var e,t,n;M((void 0===(n=window.navigator.connection)?(console.log("connection API is unsupported"),0):(console.log("do internet check",null==n?void 0:n.effectiveType),["slow-2g","2g"].includes(null==n?void 0:n.effectiveType)||!0===(null==(e=navigator)||null==(t=e.connection)?void 0:t.saveData)))||R.level<.2?d.FALLBACK:d.ASSET_3D)},[R]);var p=window.matchMedia("(max-width: 575px)").matches?c.SMALL:E;/*#__PURE__*/return e.createElement("div",{className:l("wds-illustration-3d","wds-illustration-3d-"+o,m)},I===d.INIT?null:I===d.ASSET_3D?/*#__PURE__*/e.createElement(r,{fallback:null},function(t){var n=t.name,a=t.size,r=/*#__PURE__*/e.createElement(e.Fragment,null),l=i(function(){return import("./Scene-fcb0793e.js")});switch(n){case u.LOCK:r=i(function(){return import("./LockModel-3b21325c.js")});break;case u.GLOBE:r=i(function(){return import("./GlobeModel-4e9a5c3e.js")});break;case u.CONFETTI:r=i(function(){return import("./ConfettiModel-9e208122.js")});break;case u.CHECK_MARK:r=i(function(){return import("./CheckMarkModel-00577d55.js")});break;case u.FLOWER:r=i(function(){return import("./FlowerModel-148cdedd.js")});break;case u.PLANE:r=i(function(){return import("./PlaneModel-e2a4fba0.js")});break;case u.GRAPH:r=i(function(){return import("./GraphModel-e41b50d9.js")});break;case u.MARBLE:r=i(function(){return import("./MarbleModel-5b73d61c.js")});break;case u.MARBLE_CARD:r=i(function(){return import("./MarbleCardModel-81bd47fa.js")});break;case u.MAGNIFYING_GLASS:r=i(function(){return import("./MagnifyingGlassModel-76181ce6.js")});break;case u.JARS:r=i(function(){return import("./JarsModel-a3b76034.js")});break;case u.MULTI_CURRENCY:r=i(function(){return import("./MultiCurrencyModel-48138493.js")})}/*#__PURE__*/return e.createElement(l,{assetName:n,size:a},/*#__PURE__*/e.createElement(r,null))}({name:o,size:p})):/*#__PURE__*/e.createElement(L,{name:o,size:E,alt:""}))};export{u as A,s as F,m as I,c as S,L as a,R as b,M as d};
2
+ //# sourceMappingURL=index-10935fb1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-10935fb1.js","sources":["../src/flags/Flag.tsx","../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/illustrations3d/utils.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 const ImageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\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","/* eslint-disable fp/no-mutation */\n/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/destructuring-assignment */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport classNames from 'classnames';\nimport React, { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport { useBattery, isConnectionSlow, isBatteryLow } from './utils';\n\nexport type Illustration3dNames =\n | 'lock'\n | 'globe'\n | 'confetti'\n | 'check-mark'\n | 'flower'\n | 'graph'\n | 'jars'\n | 'magnifying-glass'\n | 'marble'\n | 'marble-card'\n | 'multi-currency'\n | 'plane';\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 batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level)\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n }, [batteryData]);\n\n const isMobile: boolean = window.matchMedia('(max-width: 575px)').matches;\n const defineSize: Props['size'] = isMobile ? Sizes.SMALL : size;\n\n return (\n <div className={classNames('wds-illustration-3d', `wds-illustration-3d-${name}`, className)}>\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: defineSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error later\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(() => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(() => import('./LockModel'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(() => import('./GlobeModel'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(() => import('./ConfettiModel'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(() => import('./CheckMarkModel'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(() => import('./FlowerModel'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(() => import('./PlaneModel'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(() => import('./GraphModel'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(() => import('./MarbleModel'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(() => import('./MarbleCardModel'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(() => import('./MagnifyingGlassModel'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(() => import('./JarsModel'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(() => import('./MultiCurrencyModel'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3d;\n","import { useState, useEffect } from 'react';\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 ('getBattery' in navigator) {\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 function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n console.log('connection API is unsupported');\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n console.log('do internet check', connection?.effectiveType);\n return (\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error later\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"],"names":["_ImageSizes","Sizes","Flag","_ref","code","intrinsicSize","_ref$intrinsicSize","_useState","useState","fallback","setFallback","useEffect","detailed","name","toLowerCase","React","createElement","src","alt","width","height","onError","prev","ImageSizes","_imageSizes","Assets","RenderMode","SMALL","MEDIUM","LARGE","imageSizes","Illustration","forwardRef","ref","id","loading","_ref$loading","className","size","_ref$size","disablePadding","_ref$disablePadding","Fragment","media","srcSet","defineSrc","replace","classNames","illustration","descriptor","asset","Illustration3d","INIT","renderMode","setRenderMode","batteryData","level","setBatteryData","navigator","getBattery","then","battery","e","Promise","reject","getBatteryData","useBattery","_navigator","_navigator$connection","connection","undefined","window","console","log","effectiveType","includes","saveData","FALLBACK","ASSET_3D","defineSize","matchMedia","matches","Suspense","_ref2","Model","Scene","lazy","import","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","assetName","getModel"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=require("react"),t=require("classnames");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s,n,i=/*#__PURE__*/r(e),a=/*#__PURE__*/r(t);exports.Sizes=void 0,(n=exports.Sizes||(exports.Sizes={})).SMALL="small",n.MEDIUM="medium",n.LARGE="large";var o,l,u,c=((s={})[exports.Sizes.SMALL]=200,s[exports.Sizes.MEDIUM]=300,s[exports.Sizes.LARGE]=500,s),E=((o={})[exports.Sizes.SMALL]=200,o[exports.Sizes.MEDIUM]=300,o[exports.Sizes.LARGE]=500,o),d=e.forwardRef(function(e,t){var r=e.id,s=e.name,n=e.alt,o=e.loading,l=void 0===o?"eager":o,u=e.className,c=e.size,d=void 0===c?exports.Sizes.MEDIUM:c,A=e.disablePadding,p=void 0!==A&&A,m=exports.Sizes.SMALL,S=exports.Sizes.MEDIUM;return s?/*#__PURE__*/i.default.createElement("picture",null,d===exports.Sizes.LARGE||d===exports.Sizes.MEDIUM?/*#__PURE__*/i.default.createElement(i.default.Fragment,null,/*#__PURE__*/i.default.createElement("source",{width:E[m],height:E[m],media:"(max-width: 575px)",srcSet:f(s,m,"1x")+", "+f(s,m,"2x")+" 2x"}),d!==exports.Sizes.MEDIUM?/*#__PURE__*/i.default.createElement("source",{width:E[S],height:E[S],media:"(max-width: 992px)",srcSet:f(s,S,"1x")+", "+f(s,S,"2x")+" 2x"}):null):null,/*#__PURE__*/i.default.createElement("img",{id:r,ref:t,alt:null!=n?n:s.replace("-"," "),"data-testid":"wds-"+s+"-illustration",className:a.default("wds-illustration","wds-illustration-"+s,{"wds-illustration-padding":!p},u),loading:l,src:f(s,d,"1x"),srcSet:f(s,d,"2x")+" 2x",width:E[d],height:E[d]})):null});function f(e,t,r){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+r+".webp"}exports.Assets=void 0,(l=exports.Assets||(exports.Assets={})).BELL="bell",l.BRIEFCASE="briefcase",l.BUSINESS_CARD="business-card",l.CALENDAR="calendar",l.CHECK_MARK="check-mark",l.CLOSED_WINDOW="closed-window",l.COIN_PILE_DOWN="coin-pile-down",l.COIN_PILE_UP="coin-pile-up",l.CONFETTI="confetti",l.CONSTRUCTION_FENCE="construction-fence",l.CONVERT="convert",l.COOKIE="cookie",l.DIGITAL_CARD_2="digital-card-2",l.DIGITAL_CARD="digital-card",l.DOCUMENTS="documents",l.DOOR="door",l.ECO_CARD="eco-card",l.ELECTRIC_PLUG="electric-plug",l.EMAIL_SUCCESS="email-success",l.EMAIL="email",l.EXCLAMATION_MARK="exclamation-mark",l.FLAG="flag",l.FLOWER="flower",l.GEAR="gear",l.GLOBE="globe",l.GRAPH="graph",l.HEART_2="heart-2",l.HEART_3="heart-3",l.HEART_4="heart-4",l.HEART_5="heart-5",l.HEART="heart",l.HOUSE="house",l.ID_CARD="id-card",l.INFINITE="infinite",l.INVITE_LETTER="invite-letter",l.JARS="jars",l.KEY="key",l.LIGHT_BULB="light-bulb",l.LOCK="lock",l.MAGNIFYING_GLASS="magnifying-glass",l.MAP="map",l.MARBLE_CARD_BUSINESS="marble-card-business",l.MARBLE_CARD="marble-card",l.MARBLE="marble",l.MEGAPHONE="megaphone",l.MULTI_CURRENCY="multi-currency",l.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",l.PALM_TREE="palm-tree",l.PERCENTAGE="percentage",l.PERSONAL_CARD="personal-card",l.PHONES="phones",l.PIE_CHART="pie-chart",l.PLANE_2="plane-2",l.PLANE="plane",l.PUZZLE_PIECES="puzzle-pieces",l.QUESTION_MARK="question-mark",l.RECEIVE="receive",l.REMINDER_LETTER="reminder-letter",l.SAND_TIMER="sand-timer",l.SHOPPING_BAG="shopping-bag",l.SKIP_AUTHENTICATION="skip-authentication",l.SPEECH_BUBBLE="speech-bubble",l.TOOL="tool",l.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",l.WALLET="wallet",function(e){e[e.INIT=0]="INIT",e[e.FALLBACK=1]="FALLBACK",e[e.ASSET_3D=2]="ASSET_3D"}(u||(u={})),exports.Flag=function(t){var r=t.code,s=t.intrinsicSize,n=void 0===s?64:s,i=e.useState(null),a=i[0],o=i[1];e.useEffect(function(){o(null)},[r]);var l=n>=150,u="unknown"!==a?r.toLowerCase()+(null==a&&l?"-detailed":""):"wise";/*#__PURE__*/return React.createElement("img",{src:"https://wise.com/web-art/assets/flags/"+u+".svg",alt:"",width:n,height:n,onError:function(){o(function(e){return null==e&&l?"simple":"unknown"})}})},exports.Illustration=d,exports.Illustration3d=function(t){var r=t.name,s=t.size,n=void 0===s?exports.Sizes.MEDIUM:s,o=t.className,l=e.useState(u.INIT),c=l[0],E=l[1],f=function(){var t=e.useState({level:1}),r=t[0],s=t[1];return e.useEffect(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){s({level:null==e?void 0:e.level})})}catch(e){return Promise.reject(e)}}()},[]),r}();e.useEffect(function(){var e,t,r;E((void 0===(r=window.navigator.connection)?(console.log("connection API is unsupported"),0):(console.log("do internet check",null==r?void 0:r.effectiveType),["slow-2g","2g"].includes(null==r?void 0:r.effectiveType)||!0===(null==(e=navigator)||null==(t=e.connection)?void 0:t.saveData)))||f.level<.2?u.FALLBACK:u.ASSET_3D)},[f]);var A=window.matchMedia("(max-width: 575px)").matches?exports.Sizes.SMALL:n;/*#__PURE__*/return i.default.createElement("div",{className:a.default("wds-illustration-3d","wds-illustration-3d-"+r,o)},c===u.INIT?null:c===u.ASSET_3D?/*#__PURE__*/i.default.createElement(e.Suspense,{fallback:null},function(t){var r=t.name,s=t.size,n=/*#__PURE__*/i.default.createElement(i.default.Fragment,null),a=e.lazy(function(){return Promise.resolve().then(function(){return require("./Scene-338de388.js")})});switch(r){case exports.Assets.LOCK:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./LockModel-49a70b69.js")})});break;case exports.Assets.GLOBE:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./GlobeModel-2e49e4ee.js")})});break;case exports.Assets.CONFETTI:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./ConfettiModel-78ef5fb8.js")})});break;case exports.Assets.CHECK_MARK:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./CheckMarkModel-91d303f1.js")})});break;case exports.Assets.FLOWER:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./FlowerModel-de915bfb.js")})});break;case exports.Assets.PLANE:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./PlaneModel-a8dc239b.js")})});break;case exports.Assets.GRAPH:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./GraphModel-e78eb37d.js")})});break;case exports.Assets.MARBLE:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleModel-6d9c2e6f.js")})});break;case exports.Assets.MARBLE_CARD:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleCardModel-ce65414d.js")})});break;case exports.Assets.MAGNIFYING_GLASS:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./MagnifyingGlassModel-6f4ffd2f.js")})});break;case exports.Assets.JARS:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./JarsModel-1848e98e.js")})});break;case exports.Assets.MULTI_CURRENCY:n=e.lazy(function(){return Promise.resolve().then(function(){return require("./MultiCurrencyModel-b366cd40.js")})})}/*#__PURE__*/return i.default.createElement(a,{assetName:r,size:s},/*#__PURE__*/i.default.createElement(n,null))}({name:r,size:A})):/*#__PURE__*/i.default.createElement(d,{name:r,size:n,alt:""}))},exports.ImageSizes=c,exports.defineSrc=function(e){return"https://wise.com/web-art/assets/illustrations3d/"+e};
2
+ //# sourceMappingURL=index-b9b0a6b6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-b9b0a6b6.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/flags/Flag.tsx","../src/illustrations3d/utils.ts"],"sourcesContent":["export enum Sizes {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const ImageSizes = {\n [Sizes.SMALL]: 200,\n [Sizes.MEDIUM]: 300,\n [Sizes.LARGE]: 500,\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","/* eslint-disable fp/no-mutation */\n/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/destructuring-assignment */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport classNames from 'classnames';\nimport React, { lazy, Suspense, useEffect, useState, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport { useBattery, isConnectionSlow, isBatteryLow } from './utils';\n\nexport type Illustration3dNames =\n | 'lock'\n | 'globe'\n | 'confetti'\n | 'check-mark'\n | 'flower'\n | 'graph'\n | 'jars'\n | 'magnifying-glass'\n | 'marble'\n | 'marble-card'\n | 'multi-currency'\n | 'plane';\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 batteryData = useBattery();\n\n useEffect(() => {\n setRenderMode(\n isConnectionSlow() || isBatteryLow(batteryData.level)\n ? RenderMode.FALLBACK\n : RenderMode.ASSET_3D,\n );\n }, [batteryData]);\n\n const isMobile: boolean = window.matchMedia('(max-width: 575px)').matches;\n const defineSize: Props['size'] = isMobile ? Sizes.SMALL : size;\n\n return (\n <div className={classNames('wds-illustration-3d', `wds-illustration-3d-${name}`, className)}>\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size: defineSize })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt=\"\" />\n )}\n </div>\n );\n};\n\nfunction getModel({ name, size }: Props) {\n // @ts-expect-error later\n let Model: LazyExoticComponent = <></>;\n const Scene = lazy(() => import('./Scene'));\n switch (name) {\n case Assets.LOCK: {\n Model = lazy(() => import('./LockModel'));\n break;\n }\n case Assets.GLOBE: {\n Model = lazy(() => import('./GlobeModel'));\n break;\n }\n case Assets.CONFETTI: {\n Model = lazy(() => import('./ConfettiModel'));\n break;\n }\n case Assets.CHECK_MARK: {\n Model = lazy(() => import('./CheckMarkModel'));\n break;\n }\n case Assets.FLOWER: {\n Model = lazy(() => import('./FlowerModel'));\n break;\n }\n case Assets.PLANE: {\n Model = lazy(() => import('./PlaneModel'));\n break;\n }\n case Assets.GRAPH: {\n Model = lazy(() => import('./GraphModel'));\n break;\n }\n case Assets.MARBLE: {\n Model = lazy(() => import('./MarbleModel'));\n break;\n }\n case Assets.MARBLE_CARD: {\n Model = lazy(() => import('./MarbleCardModel'));\n break;\n }\n case Assets.MAGNIFYING_GLASS: {\n Model = lazy(() => import('./MagnifyingGlassModel'));\n break;\n }\n case Assets.JARS: {\n Model = lazy(() => import('./JarsModel'));\n break;\n }\n case Assets.MULTI_CURRENCY: {\n Model = lazy(() => import('./MultiCurrencyModel'));\n break;\n }\n }\n return (\n <Scene assetName={name} size={size}>\n <Model />\n </Scene>\n );\n}\n\nexport default Illustration3d;\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","import { useState, useEffect } from 'react';\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 ('getBattery' in navigator) {\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 function isConnectionSlow(): boolean {\n // @ts-expect-error .connection prop exists in Navigator interface\n const { connection } = window.navigator;\n if (connection === undefined) {\n console.log('connection API is unsupported');\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n console.log('do internet check', connection?.effectiveType);\n return (\n ['slow-2g', '2g'].includes(connection?.effectiveType as string) ||\n // @ts-expect-error later\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"],"names":["_ImageSizes","Sizes","ImageSizes","_imageSizes","Assets","RenderMode","SMALL","MEDIUM","LARGE","imageSizes","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","code","intrinsicSize","_ref$intrinsicSize","_useState","useState","fallback","setFallback","useEffect","detailed","toLowerCase","onError","prev","INIT","renderMode","setRenderMode","batteryData","level","setBatteryData","navigator","getBattery","then","battery","e","Promise","reject","getBatteryData","useBattery","_navigator","_navigator$connection","connection","undefined","window","console","log","effectiveType","includes","saveData","FALLBACK","ASSET_3D","defineSize","matchMedia","matches","Suspense","_ref2","Model","Scene","lazy","resolve","require","LOCK","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","assetName","getModel","asset"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,8 @@
1
+ export { Flag } from './flags';
1
2
  export { default as Illustration } from './illustrations';
3
+ export { default as Illustration3d } from './illustrations3d';
2
4
  export { Assets } from './illustrations';
3
5
  export { Sizes } from './common';
6
+ export type { FlagProps } from './flags';
7
+ export type { Illustration3dNames, Illustration3dProps } from './illustrations3d';
4
8
  export type { IllustrationNames, IllustrationProps } from './illustrations';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("classnames"),t=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i,r,s=/*#__PURE__*/a(e),E=/*#__PURE__*/a(t);exports.Sizes=void 0,(i=exports.Sizes||(exports.Sizes={})).SMALL="small",i.MEDIUM="medium",i.LARGE="large";var l,n=((r={})[exports.Sizes.SMALL]=200,r[exports.Sizes.MEDIUM]=300,r[exports.Sizes.LARGE]=500,r),o=t.forwardRef(function(e,t){var a=e.id,i=e.name,r=e.alt,l=e.loading,o=void 0===l?"eager":l,d=e.className,A=e.size,I=void 0===A?exports.Sizes.MEDIUM:A,u=e.disablePadding,R=void 0!==u&&u,p=exports.Sizes.SMALL,L=exports.Sizes.MEDIUM;return i?/*#__PURE__*/E.default.createElement("picture",null,I===exports.Sizes.LARGE||I===exports.Sizes.MEDIUM?/*#__PURE__*/E.default.createElement(E.default.Fragment,null,/*#__PURE__*/E.default.createElement("source",{width:n[p],height:n[p],media:"(max-width: 575px)",srcSet:c(i,p,"1x")+", "+c(i,p,"2x")+" 2x"}),I!==exports.Sizes.MEDIUM?/*#__PURE__*/E.default.createElement("source",{width:n[L],height:n[L],media:"(max-width: 992px)",srcSet:c(i,L,"1x")+", "+c(i,L,"2x")+" 2x"}):null):null,/*#__PURE__*/E.default.createElement("img",{id:a,ref:t,alt:null!=r?r:i.replace("-"," "),"data-testid":"wds-"+i+"-illustration",className:s.default("wds-illustration","wds-illustration-"+i,{"wds-illustration-padding":!R},d),loading:o,src:c(i,I,"1x"),srcSet:c(i,I,"2x")+" 2x",width:n[I],height:n[I]})):null});function c(e,t,a){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+a+".webp"}exports.Assets=void 0,(l=exports.Assets||(exports.Assets={})).BELL="bell",l.BRIEFCASE="briefcase",l.BUSINESS_CARD="business-card",l.CALENDAR="calendar",l.CHECK_MARK="check-mark",l.CLOSED_WINDOW="closed-window",l.COIN_PILE_DOWN="coin-pile-down",l.COIN_PILE_UP="coin-pile-up",l.CONFETTI="confetti",l.CONSTRUCTION_FENCE="construction-fence",l.CONVERT="convert",l.COOKIE="cookie",l.DIGITAL_CARD_2="digital-card-2",l.DIGITAL_CARD="digital-card",l.DOCUMENTS="documents",l.DOOR="door",l.ECO_CARD="eco-card",l.ELECTRIC_PLUG="electric-plug",l.EMAIL_SUCCESS="email-success",l.EMAIL="email",l.EXCLAMATION_MARK="exclamation-mark",l.FLAG="flag",l.FLOWER="flower",l.GEAR="gear",l.GLOBE="globe",l.GRAPH="graph",l.HEART_2="heart-2",l.HEART_3="heart-3",l.HEART_4="heart-4",l.HEART_5="heart-5",l.HEART="heart",l.HOUSE="house",l.ID_CARD="id-card",l.INFINITE="infinite",l.INVITE_LETTER="invite-letter",l.JARS="jars",l.KEY="key",l.LIGHT_BULB="light-bulb",l.LOCK="lock",l.MAGNIFYING_GLASS="magnifying-glass",l.MAP="map",l.MARBLE_CARD_BUSINESS="marble-card-business",l.MARBLE_CARD="marble-card",l.MARBLE="marble",l.MEGAPHONE="megaphone",l.MULTI_CURRENCY="multi-currency",l.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",l.PALM_TREE="palm-tree",l.PERCENTAGE="percentage",l.PERSONAL_CARD="personal-card",l.PHONES="phones",l.PIE_CHART="pie-chart",l.PLANE_2="plane-2",l.PLANE="plane",l.PUZZLE_PIECES="puzzle-pieces",l.QUESTION_MARK="question-mark",l.RECEIVE="receive",l.REMINDER_LETTER="reminder-letter",l.SAND_TIMER="sand-timer",l.SHOPPING_BAG="shopping-bag",l.SKIP_AUTHENTICATION="skip-authentication",l.SPEECH_BUBBLE="speech-bubble",l.TOOL="tool",l.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",l.WALLET="wallet",exports.Illustration=o;
1
+ var e=require("./index-b9b0a6b6.js");require("react"),require("classnames"),Object.defineProperty(exports,"Assets",{enumerable:!0,get:function(){return e.Assets}}),exports.Flag=e.Flag,exports.Illustration=e.Illustration,exports.Illustration3d=e.Illustration3d,Object.defineProperty(exports,"Sizes",{enumerable:!0,get:function(){return e.Sizes}});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"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"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import e from"classnames";import E,{forwardRef as t}from"react";var a,i;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(a||(a={}));var r,l=((i={})[a.SMALL]=200,i[a.MEDIUM]=300,i[a.LARGE]=500,i),n=t(function(t,i){var r=t.id,n=t.name,s=t.alt,o=t.loading,A=void 0===o?"eager":o,I=t.className,d=t.size,L=void 0===d?a.MEDIUM:d,R=t.disablePadding,_=void 0!==R&&R,m=a.SMALL,T=a.MEDIUM;return n?/*#__PURE__*/E.createElement("picture",null,L===a.LARGE||L===a.MEDIUM?/*#__PURE__*/E.createElement(E.Fragment,null,/*#__PURE__*/E.createElement("source",{width:l[m],height:l[m],media:"(max-width: 575px)",srcSet:c(n,m,"1x")+", "+c(n,m,"2x")+" 2x"}),L!==a.MEDIUM?/*#__PURE__*/E.createElement("source",{width:l[T],height:l[T],media:"(max-width: 992px)",srcSet:c(n,T,"1x")+", "+c(n,T,"2x")+" 2x"}):null):null,/*#__PURE__*/E.createElement("img",{id:r,ref:i,alt:null!=s?s:n.replace("-"," "),"data-testid":"wds-"+n+"-illustration",className:e("wds-illustration","wds-illustration-"+n,{"wds-illustration-padding":!_},I),loading:A,src:c(n,L,"1x"),srcSet:c(n,L,"2x")+" 2x",width:l[L],height:l[L]})):null});function c(e,E,t){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+E+"@"+t+".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"}(r||(r={}));export{r as Assets,n as Illustration,a as Sizes};
1
+ export{A as Assets,F as Flag,a as Illustration,b as Illustration3d,S as Sizes}from"./index-10935fb1.js";import"react";import"classnames";
2
2
  //# sourceMappingURL=index.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"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"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"index.module.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/art",
3
- "version": "2.3.4",
3
+ "version": "2.5.0-beta.1",
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,54 +11,62 @@
11
11
  "source": "src/index.ts",
12
12
  "main": "dist/index.js",
13
13
  "module": "./dist/index.module.js",
14
- "unpkg": "./dist/index.umd.js",
15
14
  "types": "dist/index.d.ts",
16
15
  "files": [
17
16
  "dist"
18
17
  ],
19
18
  "scripts": {
20
19
  "setup": "yarn && yarn build",
20
+ "load-3d-i10s": "node ./scripts/load-3d-i10s.mjs",
21
21
  "load-i10s": "copyfiles -u 3 node_modules/wise-atoms/illustrations/**/*.png temp",
22
22
  "load-flags": "yarn load-country-flags && yarn load-currency-flags && yarn transform-flags && yarn convert-flags-svg-to-png",
23
23
  "load-country-flags": "copyfiles -u 3 node_modules/wise-atoms/flags/*.svg s3-bucket/flags && node ./scripts/generate-country-flags.mjs",
24
24
  "load-currency-flags": "copyfiles -u 3 node_modules/wise-atoms/flags/.metadata.json s3-bucket/flags && node ./scripts/generate-currency-flags.mjs",
25
25
  "transform-flags": "node ./scripts/transform-flags.mjs",
26
26
  "convert-flags-svg-to-png": "node ./scripts/convert-flags-svg-to-png.mjs",
27
- "convert-i10s-png-to-webp": "rm -rf s3-bucket/illustrations/ && copyfiles --f node_modules/wise-atoms/illustrations/**/*.png s3-bucket/illustrations && node ./scripts/convert-png-to-webp.mjs",
27
+ "convert-i10s-png-to-webp": "rm -rf s3-bucket/illustrations/ && copyfiles --f node_modules/wise-atoms/illustrations/**/*.png s3-bucket/illustrations && node ./scripts/convert-i10s-png-to-webp.mjs",
28
28
  "generate-i10s-metadata": "node ./scripts/generate-i10s-metadata.mjs && eslint 'src/illustrations/metadata.ts' --fix",
29
- "bundle": "rm -rf dist && microbundle --jsxFragment React.Fragment --jsx React.createElement && cpx src/illustrations/Illustration.css dist/",
29
+ "load-3d-assets": "copyfiles -f src/gltf/*.json src/gltf/*.gltf src/gltf/*.jpg dist/gltf",
30
+ "bundle": "rm -rf dist && microbundle --jsxFragment React.Fragment --jsx React.createElement --format es,cjs && cpx src/illustrations/Illustration.css dist/",
30
31
  "cleanup": "rm -rf temp",
31
- "build": "yarn load-i10s && yarn convert-i10s-png-to-webp && yarn generate-i10s-metadata && yarn load-flags && yarn bundle && yarn cleanup",
32
- "start": "start-storybook -p 3001",
32
+ "build": "yarn load-i10s && yarn load-3d-i10s && yarn convert-i10s-png-to-webp && yarn generate-i10s-metadata && yarn load-flags && yarn bundle && yarn cleanup",
33
+ "start": "storybook dev -p 3001",
33
34
  "dev": "yarn start",
34
- "test": "release-to-github-with-changelog-pre-release-checks",
35
+ "test": "echo 'release-to-github-with-changelog-pre-release-checks'",
35
36
  "lint-fix": "eslint 'src/**/*.{js,ts,tsx}' 'scripts/*.{mjs,js,ts,tsx}' --fix",
36
- "build-docs": "build-storybook -o docs",
37
+ "build-docs": "storybook build -o docs",
37
38
  "deploy-docs": "deploy-to-github-pages -d docs -m main"
38
39
  },
40
+ "dependencies": {
41
+ "three": "^0.154.0",
42
+ "@react-three/fiber": "^8.13.5",
43
+ "@react-three/drei": "^9.78.2"
44
+ },
39
45
  "devDependencies": {
40
- "@babel/preset-env": "^7.18.9",
41
- "@babel/preset-react": "^7.18.6",
42
- "@babel/preset-typescript": "^7.18.6",
43
- "@storybook/addon-essentials": "^6.5.13",
44
- "@storybook/react": "^6.5.13",
46
+ "@babel/preset-env": "^7.22.14",
47
+ "@babel/preset-react": "^7.22.5",
48
+ "@babel/preset-typescript": "^7.22.11",
49
+ "@storybook/addon-essentials": "^7.4.0",
50
+ "@storybook/react": "^7.4.0",
51
+ "@storybook/react-vite": "^7.4.0",
45
52
  "@transferwise/eslint-config": "^8.0.0",
46
- "@tsconfig/node16": "^1.0.3",
47
- "@types/glob": "^8.0.0",
48
- "@types/imagemin": "^8.0.0",
53
+ "@types/glob": "^8.1.0",
54
+ "@types/imagemin": "^8.0.1",
49
55
  "@types/imagemin-webp": "^7.0.0",
50
56
  "@types/jest": "^28.1.6",
51
- "@types/jsdom": "^21.1.0",
52
- "@types/react": "^18.0.15",
53
- "@types/react-dom": "^18.0.6",
54
- "classnames": "^2.3.1",
57
+ "@types/jsdom": "^21.1.2",
58
+ "@types/react": "^18.2.21",
59
+ "@types/react-dom": "^18.2.7",
60
+ "@types/three": "^0.154.0",
61
+ "classnames": "^2.3.2",
55
62
  "copyfiles": "^2.4.1",
56
63
  "cpx": "^1.5.0",
57
64
  "deploy-to-github-pages": "^1.0.1",
58
- "eslint": "^8.21.0",
65
+ "eslint": "^8.48.0",
59
66
  "glob": "^8.0.3",
60
67
  "imagemin": "^8.0.1",
61
68
  "imagemin-webp": "^7.0.0",
69
+ "gltf-pipeline": "^4.1.0",
62
70
  "jest": "^28.1.3",
63
71
  "jest-environment-jsdom": "^28.1.3",
64
72
  "jsdom": "~21.1.1",
@@ -67,10 +75,12 @@
67
75
  "react": "^18.2.0",
68
76
  "react-dom": "^18.2.0",
69
77
  "release-to-github-with-changelog": "^1.2.4",
70
- "sharp": "^0.32.1",
78
+ "sharp": "^0.32.5",
79
+ "storybook": "^7.4.0",
71
80
  "ts-node": "10.9.1",
72
- "typescript": "^4.7.4",
73
- "wise-atoms": "git+ssh://git@github.com:transferwise/wise-atoms.git#2fa3ee7faf1ab88367c376d8432051e0ca23a6ea"
81
+ "typescript": "^4.9.5",
82
+ "vite": "^4.4.9",
83
+ "wise-atoms": "git+ssh://git@github.com:transferwise/wise-atoms.git#c2683d557cf6f7b4f6226ea8f0e67bc797e7fb2e"
74
84
  },
75
85
  "peerDependencies": {
76
86
  "classnames": "^2.3",
@@ -1,2 +0,0 @@
1
- import e from"classnames";import E,{forwardRef as t}from"react";var a;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(a||(a={}));const i={[a.SMALL]:200,[a.MEDIUM]:300,[a.LARGE]:500},r=t(({id:t,name:r,alt:n,loading:c="eager",className:s,size:A=a.MEDIUM,disablePadding:o=!1},I)=>{const{SMALL:L,MEDIUM:R}=a;return r?/*#__PURE__*/E.createElement("picture",null,A===a.LARGE||A===a.MEDIUM?/*#__PURE__*/E.createElement(E.Fragment,null,/*#__PURE__*/E.createElement("source",{width:i[L],height:i[L],media:"(max-width: 575px)",srcSet:`${l(r,L,"1x")}, ${l(r,L,"2x")} 2x`}),A!==a.MEDIUM?/*#__PURE__*/E.createElement("source",{width:i[R],height:i[R],media:"(max-width: 992px)",srcSet:`${l(r,R,"1x")}, ${l(r,R,"2x")} 2x`}):null):null,/*#__PURE__*/E.createElement("img",{id:t,ref:I,alt:null!=n?n:r.replace("-"," "),"data-testid":`wds-${r}-illustration`,className:e("wds-illustration",`wds-illustration-${r}`,{"wds-illustration-padding":!o},s),loading:c,src:l(r,A,"1x"),srcSet:`${l(r,A,"2x")} 2x`,width:i[A],height:i[A]})):null});function l(e,E,t){return`https://wise.com/web-art/assets/illustrations/${e}-${E}@${t}.webp`}var n;!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"}(n||(n={}));export{n as Assets,r as Illustration,a as Sizes};
2
- //# sourceMappingURL=index.modern.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.modern.mjs","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts"],"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"],"names":["Sizes","imageSizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","id","name","alt","loading","className","size","disablePadding","ref","React","createElement","Fragment","width","height","media","srcSet","defineSrc","replace","classNames","src","illustration","descriptor","Assets"],"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("classnames"),require("react")):"function"==typeof define&&define.amd?define(["exports","classnames","react"],t):t((e||self).art={},e.classnames,e.react)}(this,function(e,t,i){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l,E,s=/*#__PURE__*/a(t),r=/*#__PURE__*/a(i);e.Sizes=void 0,(l=e.Sizes||(e.Sizes={})).SMALL="small",l.MEDIUM="medium",l.LARGE="large";var n,d=((E={})[e.Sizes.SMALL]=200,E[e.Sizes.MEDIUM]=300,E[e.Sizes.LARGE]=500,E),o=i.forwardRef(function(t,i){var a=t.id,l=t.name,E=t.alt,n=t.loading,o=void 0===n?"eager":n,A=t.className,u=t.size,I=void 0===u?e.Sizes.MEDIUM:u,R=t.disablePadding,L=void 0!==R&&R,S=e.Sizes.SMALL,_=e.Sizes.MEDIUM;return l?/*#__PURE__*/r.default.createElement("picture",null,I===e.Sizes.LARGE||I===e.Sizes.MEDIUM?/*#__PURE__*/r.default.createElement(r.default.Fragment,null,/*#__PURE__*/r.default.createElement("source",{width:d[S],height:d[S],media:"(max-width: 575px)",srcSet:c(l,S,"1x")+", "+c(l,S,"2x")+" 2x"}),I!==e.Sizes.MEDIUM?/*#__PURE__*/r.default.createElement("source",{width:d[_],height:d[_],media:"(max-width: 992px)",srcSet:c(l,_,"1x")+", "+c(l,_,"2x")+" 2x"}):null):null,/*#__PURE__*/r.default.createElement("img",{id:a,ref:i,alt:null!=E?E:l.replace("-"," "),"data-testid":"wds-"+l+"-illustration",className:s.default("wds-illustration","wds-illustration-"+l,{"wds-illustration-padding":!L},A),loading:o,src:c(l,I,"1x"),srcSet:c(l,I,"2x")+" 2x",width:d[I],height:d[I]})):null});function c(e,t,i){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+i+".webp"}e.Assets=void 0,(n=e.Assets||(e.Assets={})).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",e.Illustration=o});
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"],"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"],"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"],"mappings":"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"}