@wise/art 2.3.4-beta.14 → 2.3.4-beta.15

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.
@@ -0,0 +1,2 @@
1
+ import{useGLTF as e,useAnimations as t}from"@react-three/drei";import{useLoader as r,useFrame as i}from"@react-three/fiber";import a,{useRef as s}from"react";import{ObjectLoader as o,LoopOnce as c}from"three";var n=function(){var n=s(),m=e("https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock.gltf"),l=r(o,"https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock-lights.json");m.scene.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});var p=t(m.animations,n),f=p.clips,h=p.mixer,d=0;return i(function(){h.clipAction(f[0]).play().setLoop(c),m.scene.position.y=.2*Math.sin(.04*d++),m.materials.Standard.map.offset.x+=-.001}),/*#__PURE__*/a.createElement(a.Fragment,null,/*#__PURE__*/a.createElement("primitive",{ref:n,scale:1.4,object:m.scene}),/*#__PURE__*/a.createElement("primitive",{object:l}))};export{n as default};
2
+ //# sourceMappingURL=LockModel-44665a07.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockModel-44665a07.js","sources":["../src/illustrations3d/LockModel.jsx"],"sourcesContent":["/* eslint-disable fp/no-mutation */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce, ObjectLoader } from 'three';\n\nconst LockModel = () => {\n const ref = useRef();\n const model = useGLTF(\n `https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock.gltf` /*, true*/,\n );\n const lights = useLoader(\n // @ts-expect-error later\n ObjectLoader,\n 'https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock-lights.json',\n );\n \n model.scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(model.animations, ref);\n let frame = 0;\n useFrame(() => {\n mixer.clipAction(clips[0]).play().setLoop(LoopOnce);\n model.scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n });\n\n return (\n <>\n <primitive ref={ref} scale={1.4} object={model.scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default LockModel;\n"],"names":["LockModel","useRef","useGLTF","lights","useLoader","ObjectLoader","model","scene","traverse","node","isMesh","castShadow","receiveShadow","_useAnimations","useAnimations","animations","ref","clips","mixer","frame","useFrame","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","React","createElement","Fragment","scale","object"],"mappings":"iNAMMA,IAAAA,EAAY,WAChB,MAAYC,MACEC,EAEb,2EACKC,EAASC,EAEbC,EACA,kFAGFC,EAAMC,MAAMC,SAAS,SAACC,GAChBA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,IAAAC,EAAyBC,EAAcR,EAAMS,WAAYC,GAAjDC,IAAAA,MAAOC,EAAAA,EAAAA,MACXC,EAAQ,EAOZ,OANAC,EAAS,WACPF,EAAMG,WAAWJ,EAAM,IAAIK,OAAOC,QAAQC,GAC1ClB,EAAMC,MAAMkB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVT,KAClCb,EAAMuB,UAAUC,SAASC,IAAIC,OAAOC,IAAM,IAC5C,gBAGEC,EAAAC,cAAAD,EAAAE,SAAA,kBACEF,EAAWC,cAAA,YAAA,CAAAnB,IAAKA,EAAKqB,MAAO,IAAKC,OAAQhC,EAAMC,qBAC/C2B,EAAAC,cAAA,YAAA,CAAWG,OAAQnC,IAGzB"}
@@ -0,0 +1,2 @@
1
+ var e=require("@react-three/drei"),t=require("@react-three/fiber"),r=require("react"),a=require("three");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=/*#__PURE__*/i(r);exports.default=function(){var i=r.useRef(),n=e.useGLTF("https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock.gltf"),c=t.useLoader(a.ObjectLoader,"https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock-lights.json");n.scene.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});var o=e.useAnimations(n.animations,i),l=o.clips,u=o.mixer,d=0;return t.useFrame(function(){u.clipAction(l[0]).play().setLoop(a.LoopOnce),n.scene.position.y=.2*Math.sin(.04*d++),n.materials.Standard.map.offset.x+=-.001}),/*#__PURE__*/s.default.createElement(s.default.Fragment,null,/*#__PURE__*/s.default.createElement("primitive",{ref:i,scale:1.4,object:n.scene}),/*#__PURE__*/s.default.createElement("primitive",{object:c}))};
2
+ //# sourceMappingURL=LockModel-f52a822e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockModel-f52a822e.js","sources":["../src/illustrations3d/LockModel.jsx"],"sourcesContent":["/* eslint-disable fp/no-mutation */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce, ObjectLoader } from 'three';\n\nconst LockModel = () => {\n const ref = useRef();\n const model = useGLTF(\n `https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock.gltf` /*, true*/,\n );\n const lights = useLoader(\n // @ts-expect-error later\n ObjectLoader,\n 'https://wise.com/web-art/assets/branch/3d-wip/illustrations3d/lock-lights.json',\n );\n \n model.scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(model.animations, ref);\n let frame = 0;\n useFrame(() => {\n mixer.clipAction(clips[0]).play().setLoop(LoopOnce);\n model.scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n });\n\n return (\n <>\n <primitive ref={ref} scale={1.4} object={model.scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default LockModel;\n"],"names":["useRef","useGLTF","lights","useLoader","ObjectLoader","model","scene","traverse","node","isMesh","castShadow","receiveShadow","_useAnimations","useAnimations","animations","ref","clips","mixer","frame","useFrame","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","React","createElement","Fragment","scale","object"],"mappings":"yNAMkB,WAChB,MAAYA,EAAAA,WACEC,EAAAA,QAEb,2EACKC,EAASC,EAASA,UAEtBC,eACA,kFAGFC,EAAMC,MAAMC,SAAS,SAACC,GAChBA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,IAAAC,EAAyBC,EAAAA,cAAcR,EAAMS,WAAYC,GAAjDC,IAAAA,MAAOC,EAAAA,EAAAA,MACXC,EAAQ,EAOZ,OANAC,WAAS,WACPF,EAAMG,WAAWJ,EAAM,IAAIK,OAAOC,QAAQC,YAC1ClB,EAAMC,MAAMkB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVT,KAClCb,EAAMuB,UAAUC,SAASC,IAAIC,OAAOC,IAAM,IAC5C,gBAGEC,UAAAC,cAAAD,EAAA,QAAAE,SAAA,kBACEF,EAAW,QAAAC,cAAA,YAAA,CAAAnB,IAAKA,EAAKqB,MAAO,IAAKC,OAAQhC,EAAMC,qBAC/C2B,EAAAA,QAAAC,cAAA,YAAA,CAAWG,OAAQnC,IAGzB"}
@@ -1,2 +1,2 @@
1
- import{_ as e,I as t,S as i,A as a}from"./index-ffe3b15a.js";import{PerspectiveCamera as r}from"@react-three/drei";import{Canvas as o}from"@react-three/fiber";import n from"react";import{LinearToneMapping as p,SRGBColorSpace as s,PCFShadowMap as l}from"three";import"classnames";var d,h={size:(d={},d[i.SMALL]={height:"200px",width:"200px"},d[i.MEDIUM]={height:"300px",width:"300px"},d[i.LARGE]={height:"500px",width:"500px"},d)};function m(d){var m=d.children,c=d.size,f=void 0===c?i.MEDIUM:c,w=[a.LOCK,a.MULTI_CURRENCY,a.MAGNIFYING_GLASS].includes(d.assetName);/*#__PURE__*/return n.createElement(o,{style:e({},h.size[f],{display:"inline-block"}),onCreated:function(e){var i=e.gl;i.setClearColor(0,0),i.setSize(t[f],t[f]),i.clearDepth()},gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:p,outputColorSpace:s},shadows:{type:l,enabled:w}},/*#__PURE__*/n.createElement(r,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,100]}),m)}export{m as default};
2
- //# sourceMappingURL=Scene-6174c8f7.js.map
1
+ import{_ as e,I as t,S as i,A as a}from"./index-63d60641.js";import{PerspectiveCamera as r}from"@react-three/drei";import{Canvas as o}from"@react-three/fiber";import n from"react";import{LinearToneMapping as p,SRGBColorSpace as s,PCFShadowMap as l}from"three";import"classnames";var d,h={size:(d={},d[i.SMALL]={height:"200px",width:"200px"},d[i.MEDIUM]={height:"300px",width:"300px"},d[i.LARGE]={height:"500px",width:"500px"},d)};function m(d){var m=d.children,c=d.size,f=void 0===c?i.MEDIUM:c,w=[a.LOCK,a.MULTI_CURRENCY,a.MAGNIFYING_GLASS].includes(d.assetName);/*#__PURE__*/return n.createElement(o,{style:e({},h.size[f],{display:"inline-block"}),onCreated:function(e){var i=e.gl;i.setClearColor(0,0),i.setSize(t[f],t[f]),i.clearDepth()},gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:p,outputColorSpace:s},shadows:{type:l,enabled:w}},/*#__PURE__*/n.createElement(r,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,100]}),m)}export{m as default};
2
+ //# sourceMappingURL=Scene-10e95b12.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scene-6174c8f7.js","sources":["../src/illustrations3d/Scene.tsx"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { PerspectiveCamera } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { ImageSizes, LargeSize, MediumSize, Sizes, SmallSize } from '../common';\nimport { Assets } from '../illustrations/metadata';\n\nimport { Illustration3dNames } from './Illustration3d';\n\nexport type Props = PropsWithChildren<{\n assetName: Illustration3dNames;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n height: '200px',\n width: '200px',\n },\n [Sizes.MEDIUM]: {\n height: '300px',\n width: '300px',\n },\n [Sizes.LARGE]: {\n height: '500px',\n width: '500px',\n },\n },\n};\n\nexport default function Scene({ children, assetName, size = Sizes.MEDIUM }: Props) {\n const castShadow = [\n Assets.LOCK as string,\n Assets.MULTI_CURRENCY as string,\n Assets.MAGNIFYING_GLASS as string,\n ].includes(assetName);\n return (\n <Canvas\n style={{ ...sceneStyles.size[size], display: 'inline-block' }}\n onCreated={({ gl }) => {\n gl.setClearColor(0x000000, 0);\n gl.setSize(ImageSizes[size], ImageSizes[size]);\n gl.clearDepth();\n }}\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{\n type: PCFShadowMap,\n enabled: castShadow,\n }}\n >\n <PerspectiveCamera\n makeDefault\n far={1000000000000}\n near={0.1}\n fov={10.29}\n aspect={window.innerWidth / window.innerHeight}\n position={[0, 0, 100]}\n />\n {children}\n </Canvas>\n );\n}\n"],"names":["_size","sceneStyles","size","Sizes","SMALL","height","width","MEDIUM","LARGE","Scene","_ref","children","_ref$size","castShadow","Assets","LOCK","MULTI_CURRENCY","MAGNIFYING_GLASS","includes","assetName","React","createElement","Canvas","style","display","onCreated","_ref2","gl","setClearColor","setSize","ImageSizes","clearDepth","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"uRAEA,IAAAA,EAeMC,EAAc,CAClBC,MAAIF,EAAA,CAAA,EAAAA,EACDG,EAAMC,OAAQ,CACbC,OAAQ,QACRC,MAAO,SACRN,EACAG,EAAMI,QAAS,CACdF,OAAQ,QACRC,MAAO,SAERH,EAAAA,EAAMK,OAAQ,CACbH,OAAQ,QACRC,MAAO,aAKWG,SAAAA,EAAyDC,GAAA,IAAzCC,EAAAD,EAARC,SAAqBT,EAAAA,EAAAA,KAAAA,OAAOC,IAAAA,EAAAA,EAAMI,OAChEK,EAAgBC,EAAG,CACjBC,EAAOC,KACPD,EAAOE,eACPF,EAAOG,kBACPC,SALsCC,EAAAA,wBAMxC,OACEC,EAACC,cAAAC,EACC,CAAAC,MAAYtB,EAAAA,CAAAA,EAAAA,EAAYC,KAAKA,GAAK,CAAEsB,QAAS,iBAC7CC,UAAW,SAAAC,GAAGC,IAAAA,EAAAA,EAAAA,GACZA,EAAGC,cAAc,EAAU,GAC3BD,EAAGE,QAAQC,EAAW5B,GAAO4B,EAAW5B,IACxCyB,EAAGI,YACL,EACAJ,GAAI,CACFK,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EACbC,iBAAkBC,GAEpBC,QAAS,CACPC,KAAMC,EACNC,QAAS/B,iBAGXO,EAACC,cAAAwB,EACC,CAAAC,eACAC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,OAElB1C,EAGP"}
1
+ {"version":3,"file":"Scene-10e95b12.js","sources":["../src/illustrations3d/Scene.tsx"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { PerspectiveCamera } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { ImageSizes, LargeSize, MediumSize, Sizes, SmallSize } from '../common';\nimport { Assets } from '../illustrations/metadata';\n\nimport { Illustration3dNames } from './Illustration3d';\n\nexport type Props = PropsWithChildren<{\n assetName: Illustration3dNames;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n height: '200px',\n width: '200px',\n },\n [Sizes.MEDIUM]: {\n height: '300px',\n width: '300px',\n },\n [Sizes.LARGE]: {\n height: '500px',\n width: '500px',\n },\n },\n};\n\nexport default function Scene({ children, assetName, size = Sizes.MEDIUM }: Props) {\n const castShadow = [\n Assets.LOCK as string,\n Assets.MULTI_CURRENCY as string,\n Assets.MAGNIFYING_GLASS as string,\n ].includes(assetName);\n return (\n <Canvas\n style={{ ...sceneStyles.size[size], display: 'inline-block' }}\n onCreated={({ gl }) => {\n gl.setClearColor(0x000000, 0);\n gl.setSize(ImageSizes[size], ImageSizes[size]);\n gl.clearDepth();\n }}\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{\n type: PCFShadowMap,\n enabled: castShadow,\n }}\n >\n <PerspectiveCamera\n makeDefault\n far={1000000000000}\n near={0.1}\n fov={10.29}\n aspect={window.innerWidth / window.innerHeight}\n position={[0, 0, 100]}\n />\n {children}\n </Canvas>\n );\n}\n"],"names":["_size","sceneStyles","size","Sizes","SMALL","height","width","MEDIUM","LARGE","Scene","_ref","children","_ref$size","castShadow","Assets","LOCK","MULTI_CURRENCY","MAGNIFYING_GLASS","includes","assetName","React","createElement","Canvas","style","display","onCreated","_ref2","gl","setClearColor","setSize","ImageSizes","clearDepth","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"uRAEA,IAAAA,EAeMC,EAAc,CAClBC,MAAIF,EAAA,CAAA,EAAAA,EACDG,EAAMC,OAAQ,CACbC,OAAQ,QACRC,MAAO,SACRN,EACAG,EAAMI,QAAS,CACdF,OAAQ,QACRC,MAAO,SAERH,EAAAA,EAAMK,OAAQ,CACbH,OAAQ,QACRC,MAAO,aAKWG,SAAAA,EAAyDC,GAAA,IAAzCC,EAAAD,EAARC,SAAqBT,EAAAA,EAAAA,KAAAA,OAAOC,IAAAA,EAAAA,EAAMI,OAChEK,EAAgBC,EAAG,CACjBC,EAAOC,KACPD,EAAOE,eACPF,EAAOG,kBACPC,SALsCC,EAAAA,wBAMxC,OACEC,EAACC,cAAAC,EACC,CAAAC,MAAYtB,EAAAA,CAAAA,EAAAA,EAAYC,KAAKA,GAAK,CAAEsB,QAAS,iBAC7CC,UAAW,SAAAC,GAAGC,IAAAA,EAAAA,EAAAA,GACZA,EAAGC,cAAc,EAAU,GAC3BD,EAAGE,QAAQC,EAAW5B,GAAO4B,EAAW5B,IACxCyB,EAAGI,YACL,EACAJ,GAAI,CACFK,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EACbC,iBAAkBC,GAEpBC,QAAS,CACPC,KAAMC,EACNC,QAAS/B,iBAGXO,EAACC,cAAAwB,EACC,CAAAC,eACAC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,OAElB1C,EAGP"}
@@ -1,2 +1,2 @@
1
- var e=require("./index-223896cf.js"),i=require("@react-three/drei"),t=require("@react-three/fiber"),a=require("react"),r=require("three");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("classnames");var n,o=/*#__PURE__*/s(a),l={size:(n={},n[e.Sizes.SMALL]={height:"200px",width:"200px"},n[e.Sizes.MEDIUM]={height:"300px",width:"300px"},n[e.Sizes.LARGE]={height:"500px",width:"500px"},n)};exports.default=function(a){var s=a.children,n=a.size,d=void 0===n?e.Sizes.MEDIUM:n,p=[e.Assets.LOCK,e.Assets.MULTI_CURRENCY,e.Assets.MAGNIFYING_GLASS].includes(a.assetName);/*#__PURE__*/return o.default.createElement(t.Canvas,{style:e._extends({},l.size[d],{display:"inline-block"}),onCreated:function(i){var t=i.gl;t.setClearColor(0,0),t.setSize(e.ImageSizes[d],e.ImageSizes[d]),t.clearDepth()},gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:r.LinearToneMapping,outputColorSpace:r.SRGBColorSpace},shadows:{type:r.PCFShadowMap,enabled:p}},/*#__PURE__*/o.default.createElement(i.PerspectiveCamera,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,100]}),s)};
2
- //# sourceMappingURL=Scene-b76fb510.js.map
1
+ var e=require("./index-d7254cfb.js"),i=require("@react-three/drei"),t=require("@react-three/fiber"),a=require("react"),r=require("three");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("classnames");var n,o=/*#__PURE__*/s(a),l={size:(n={},n[e.Sizes.SMALL]={height:"200px",width:"200px"},n[e.Sizes.MEDIUM]={height:"300px",width:"300px"},n[e.Sizes.LARGE]={height:"500px",width:"500px"},n)};exports.default=function(a){var s=a.children,n=a.size,d=void 0===n?e.Sizes.MEDIUM:n,p=[e.Assets.LOCK,e.Assets.MULTI_CURRENCY,e.Assets.MAGNIFYING_GLASS].includes(a.assetName);/*#__PURE__*/return o.default.createElement(t.Canvas,{style:e._extends({},l.size[d],{display:"inline-block"}),onCreated:function(i){var t=i.gl;t.setClearColor(0,0),t.setSize(e.ImageSizes[d],e.ImageSizes[d]),t.clearDepth()},gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:r.LinearToneMapping,outputColorSpace:r.SRGBColorSpace},shadows:{type:r.PCFShadowMap,enabled:p}},/*#__PURE__*/o.default.createElement(i.PerspectiveCamera,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,100]}),s)};
2
+ //# sourceMappingURL=Scene-52fe26a0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scene-b76fb510.js","sources":["../src/illustrations3d/Scene.tsx"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { PerspectiveCamera } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { ImageSizes, LargeSize, MediumSize, Sizes, SmallSize } from '../common';\nimport { Assets } from '../illustrations/metadata';\n\nimport { Illustration3dNames } from './Illustration3d';\n\nexport type Props = PropsWithChildren<{\n assetName: Illustration3dNames;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n height: '200px',\n width: '200px',\n },\n [Sizes.MEDIUM]: {\n height: '300px',\n width: '300px',\n },\n [Sizes.LARGE]: {\n height: '500px',\n width: '500px',\n },\n },\n};\n\nexport default function Scene({ children, assetName, size = Sizes.MEDIUM }: Props) {\n const castShadow = [\n Assets.LOCK as string,\n Assets.MULTI_CURRENCY as string,\n Assets.MAGNIFYING_GLASS as string,\n ].includes(assetName);\n return (\n <Canvas\n style={{ ...sceneStyles.size[size], display: 'inline-block' }}\n onCreated={({ gl }) => {\n gl.setClearColor(0x000000, 0);\n gl.setSize(ImageSizes[size], ImageSizes[size]);\n gl.clearDepth();\n }}\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{\n type: PCFShadowMap,\n enabled: castShadow,\n }}\n >\n <PerspectiveCamera\n makeDefault\n far={1000000000000}\n near={0.1}\n fov={10.29}\n aspect={window.innerWidth / window.innerHeight}\n position={[0, 0, 100]}\n />\n {children}\n </Canvas>\n );\n}\n"],"names":["_size","sceneStyles","size","Sizes","SMALL","height","width","MEDIUM","LARGE","Scene","_ref","children","_ref$size","castShadow","Assets","LOCK","MULTI_CURRENCY","MAGNIFYING_GLASS","includes","assetName","React","createElement","Canvas","style","display","onCreated","_ref2","gl","setClearColor","setSize","ImageSizes","clearDepth","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"4OAEAA,sBAeMC,EAAc,CAClBC,MAAIF,EAAA,CAAA,EAAAA,EACDG,EAAKA,MAACC,OAAQ,CACbC,OAAQ,QACRC,MAAO,SACRN,EACAG,QAAMI,QAAS,CACdF,OAAQ,QACRC,MAAO,SAERH,EAAAA,EAAAA,MAAMK,OAAQ,CACbH,OAAQ,QACRC,MAAO,6BAKWG,SAAyDC,GAAA,IAAzCC,EAAAD,EAARC,SAAqBT,EAAAA,EAAAA,KAAAA,OAAOC,IAAAA,EAAAA,EAAKA,MAACI,OAChEK,EAAgBC,EAAG,CACjBC,EAAAA,OAAOC,KACPD,EAAMA,OAACE,eACPF,EAAMA,OAACG,kBACPC,SALsCC,EAAAA,wBAMxC,OACEC,EAAC,QAAAC,cAAAC,EAAAA,OACC,CAAAC,MAAYtB,EAAAA,SAAAA,CAAAA,EAAAA,EAAYC,KAAKA,GAAK,CAAEsB,QAAS,iBAC7CC,UAAW,SAAAC,GAAGC,IAAAA,EAAAA,EAAAA,GACZA,EAAGC,cAAc,EAAU,GAC3BD,EAAGE,QAAQC,EAAUA,WAAC5B,GAAO4B,EAAUA,WAAC5B,IACxCyB,EAAGI,YACL,EACAJ,GAAI,CACFK,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAAA,kBACbC,iBAAkBC,kBAEpBC,QAAS,CACPC,KAAMC,EAAAA,aACNC,QAAS/B,iBAGXO,EAAC,QAAAC,cAAAwB,EAAiBA,kBAChB,CAAAC,eACAC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,OAElB1C,EAGP"}
1
+ {"version":3,"file":"Scene-52fe26a0.js","sources":["../src/illustrations3d/Scene.tsx"],"sourcesContent":["/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { PerspectiveCamera } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { ImageSizes, LargeSize, MediumSize, Sizes, SmallSize } from '../common';\nimport { Assets } from '../illustrations/metadata';\n\nimport { Illustration3dNames } from './Illustration3d';\n\nexport type Props = PropsWithChildren<{\n assetName: Illustration3dNames;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n height: '200px',\n width: '200px',\n },\n [Sizes.MEDIUM]: {\n height: '300px',\n width: '300px',\n },\n [Sizes.LARGE]: {\n height: '500px',\n width: '500px',\n },\n },\n};\n\nexport default function Scene({ children, assetName, size = Sizes.MEDIUM }: Props) {\n const castShadow = [\n Assets.LOCK as string,\n Assets.MULTI_CURRENCY as string,\n Assets.MAGNIFYING_GLASS as string,\n ].includes(assetName);\n return (\n <Canvas\n style={{ ...sceneStyles.size[size], display: 'inline-block' }}\n onCreated={({ gl }) => {\n gl.setClearColor(0x000000, 0);\n gl.setSize(ImageSizes[size], ImageSizes[size]);\n gl.clearDepth();\n }}\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{\n type: PCFShadowMap,\n enabled: castShadow,\n }}\n >\n <PerspectiveCamera\n makeDefault\n far={1000000000000}\n near={0.1}\n fov={10.29}\n aspect={window.innerWidth / window.innerHeight}\n position={[0, 0, 100]}\n />\n {children}\n </Canvas>\n );\n}\n"],"names":["_size","sceneStyles","size","Sizes","SMALL","height","width","MEDIUM","LARGE","Scene","_ref","children","_ref$size","castShadow","Assets","LOCK","MULTI_CURRENCY","MAGNIFYING_GLASS","includes","assetName","React","createElement","Canvas","style","display","onCreated","_ref2","gl","setClearColor","setSize","ImageSizes","clearDepth","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"4OAEAA,sBAeMC,EAAc,CAClBC,MAAIF,EAAA,CAAA,EAAAA,EACDG,EAAKA,MAACC,OAAQ,CACbC,OAAQ,QACRC,MAAO,SACRN,EACAG,QAAMI,QAAS,CACdF,OAAQ,QACRC,MAAO,SAERH,EAAAA,EAAAA,MAAMK,OAAQ,CACbH,OAAQ,QACRC,MAAO,6BAKWG,SAAyDC,GAAA,IAAzCC,EAAAD,EAARC,SAAqBT,EAAAA,EAAAA,KAAAA,OAAOC,IAAAA,EAAAA,EAAKA,MAACI,OAChEK,EAAgBC,EAAG,CACjBC,EAAAA,OAAOC,KACPD,EAAMA,OAACE,eACPF,EAAMA,OAACG,kBACPC,SALsCC,EAAAA,wBAMxC,OACEC,EAAC,QAAAC,cAAAC,EAAAA,OACC,CAAAC,MAAYtB,EAAAA,SAAAA,CAAAA,EAAAA,EAAYC,KAAKA,GAAK,CAAEsB,QAAS,iBAC7CC,UAAW,SAAAC,GAAGC,IAAAA,EAAAA,EAAAA,GACZA,EAAGC,cAAc,EAAU,GAC3BD,EAAGE,QAAQC,EAAUA,WAAC5B,GAAO4B,EAAUA,WAAC5B,IACxCyB,EAAGI,YACL,EACAJ,GAAI,CACFK,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAAA,kBACbC,iBAAkBC,kBAEpBC,QAAS,CACPC,KAAMC,EAAAA,aACNC,QAAS/B,iBAGXO,EAAC,QAAAC,cAAAwB,EAAiBA,kBAChB,CAAAC,eACAC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,OAElB1C,EAGP"}
@@ -1,2 +1,2 @@
1
- import e from"classnames";import t,{forwardRef as n,useState as a,useEffect as r,Suspense as i,lazy as l}from"react";var o,c;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(c||(c={}));var s,E,u,d=((o={})[c.SMALL]=200,o[c.MEDIUM]=300,o[c.LARGE]=500,o),A=((s={})[c.SMALL]=200,s[c.MEDIUM]=300,s[c.LARGE]=500,s),m=n(function(n,a){var r=n.id,i=n.name,l=n.alt,o=n.loading,s=void 0===o?"eager":o,E=n.className,u=n.size,d=void 0===u?c.MEDIUM:u,m=n.disablePadding,L=void 0!==m&&m,M=c.SMALL,p=c.MEDIUM;return i?/*#__PURE__*/t.createElement("picture",null,d===c.LARGE||d===c.MEDIUM?/*#__PURE__*/t.createElement(t.Fragment,null,/*#__PURE__*/t.createElement("source",{width:A[M],height:A[M],media:"(max-width: 575px)",srcSet:I(i,M,"1x")+", "+I(i,M,"2x")+" 2x"}),d!==c.MEDIUM?/*#__PURE__*/t.createElement("source",{width:A[p],height:A[p],media:"(max-width: 992px)",srcSet:I(i,p,"1x")+", "+I(i,p,"2x")+" 2x"}):null):null,/*#__PURE__*/t.createElement("img",{id:r,ref:a,alt:null!=l?l:i.replace("-"," "),"data-testid":"wds-"+i+"-illustration",className:e("wds-illustration","wds-illustration-"+i,{"wds-illustration-padding":!L},E),loading:s,src:I(i,d,"1x"),srcSet:I(i,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 L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},L.apply(this,arguments)}!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"}(E||(E={})),function(e){e[e.INIT=0]="INIT",e[e.FALLBACK=1]="FALLBACK",e[e.ASSET_3D=2]="ASSET_3D"}(u||(u={}));var M=function(n){var o,s,d,A=n.name,I=n.size,M=void 0===I?c.MEDIUM:I,p=n.alt,R=n["data-testid"],T=n.className,_=t.useState(u.INIT),f=_[0],C=_[1],N=(o=a({level:1}),s=o[0],d=o[1],r(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){d({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),s).level;r(function(){var e,t,n,a=!((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)))||N<=.2);new Promise(function(e){return setTimeout(e,0)}).then(function(){C(a?u.ASSET_3D:u.FALLBACK)})},[]);var S=p?{role:"img","aria-label":p}:{role:"presentation","aria-hidden":!0};/*#__PURE__*/return t.createElement("div",L({className:e("wds-illustration-3d","wds-illustration-3d-"+M,T),"data-testid":R},S),f===u.INIT?null:f===u.ASSET_3D?/*#__PURE__*/t.createElement(i,{fallback:null},function(e){var n=e.name,a=e.size,r=/*#__PURE__*/t.createElement(t.Fragment,null),i=l(function(){return import("./Scene-6174c8f7.js")});switch(n){case E.LOCK:r=l(function(){return import("./LockModel-bd88362d.js")});break;case E.GLOBE:r=l(function(){return import("./GlobeModel-b07b9e9f.js")});break;case E.CONFETTI:r=l(function(){return import("./ConfettiModel-a2ba8e44.js")});break;case E.CHECK_MARK:r=l(function(){return import("./CheckMarkModel-4fe02672.js")});break;case E.FLOWER:r=l(function(){return import("./FlowerModel-9241e69c.js")});break;case E.PLANE:r=l(function(){return import("./PlaneModel-47b95fd8.js")});break;case E.GRAPH:r=l(function(){return import("./GraphModel-cea91f70.js")});break;case E.MARBLE:r=l(function(){return import("./MarbleModel-748d8345.js")});break;case E.MARBLE_CARD:r=l(function(){return import("./MarbleCardModel-66b98263.js")});break;case E.MAGNIFYING_GLASS:r=l(function(){return import("./MagnifyingGlassModel-75a7e4e1.js")});break;case E.JARS:r=l(function(){return import("./JarsModel-a259a0c3.js")});break;case E.MULTI_CURRENCY:r=l(function(){return import("./MultiCurrencyModel-5ae59006.js")})}/*#__PURE__*/return t.createElement(i,{assetName:n,size:a},/*#__PURE__*/t.createElement(r,null))}({name:A,size:M})):/*#__PURE__*/t.createElement(m,{name:A,size:M,alt:null!=p?p:""}))};export{E as A,d as I,c as S,L as _,m as a,M as b};
2
- //# sourceMappingURL=index-ffe3b15a.js.map
1
+ import e from"classnames";import t,{forwardRef as n,useState as a,useEffect as r,Suspense as i,lazy as l}from"react";var o,c;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(c||(c={}));var s,E,u,d=((o={})[c.SMALL]=200,o[c.MEDIUM]=300,o[c.LARGE]=500,o),A=((s={})[c.SMALL]=200,s[c.MEDIUM]=300,s[c.LARGE]=500,s),m=n(function(n,a){var r=n.id,i=n.name,l=n.alt,o=n.loading,s=void 0===o?"eager":o,E=n.className,u=n.size,d=void 0===u?c.MEDIUM:u,m=n.disablePadding,L=void 0!==m&&m,M=c.SMALL,p=c.MEDIUM;return i?/*#__PURE__*/t.createElement("picture",null,d===c.LARGE||d===c.MEDIUM?/*#__PURE__*/t.createElement(t.Fragment,null,/*#__PURE__*/t.createElement("source",{width:A[M],height:A[M],media:"(max-width: 575px)",srcSet:I(i,M,"1x")+", "+I(i,M,"2x")+" 2x"}),d!==c.MEDIUM?/*#__PURE__*/t.createElement("source",{width:A[p],height:A[p],media:"(max-width: 992px)",srcSet:I(i,p,"1x")+", "+I(i,p,"2x")+" 2x"}):null):null,/*#__PURE__*/t.createElement("img",{id:r,ref:a,alt:null!=l?l:i.replace("-"," "),"data-testid":"wds-"+i+"-illustration",className:e("wds-illustration","wds-illustration-"+i,{"wds-illustration-padding":!L},E),loading:s,src:I(i,d,"1x"),srcSet:I(i,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 L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},L.apply(this,arguments)}!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"}(E||(E={})),function(e){e[e.INIT=0]="INIT",e[e.FALLBACK=1]="FALLBACK",e[e.ASSET_3D=2]="ASSET_3D"}(u||(u={}));var M=function(n){var o,s,d,A=n.name,I=n.size,M=void 0===I?c.MEDIUM:I,p=n.alt,R=n["data-testid"],T=n.className,_=t.useState(u.INIT),f=_[0],C=_[1],N=(o=a({level:1}),s=o[0],d=o[1],r(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){d({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),s).level;r(function(){var e,t,n,a=!((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)))||N<=.2);new Promise(function(e){return setTimeout(e,0)}).then(function(){C(a?u.ASSET_3D:u.FALLBACK)})},[]);var S=p?{role:"img","aria-label":p}:{role:"presentation","aria-hidden":!0};/*#__PURE__*/return t.createElement("div",L({className:e("wds-illustration-3d","wds-illustration-3d-"+M,T),"data-testid":R},S),f===u.INIT?null:f===u.ASSET_3D?/*#__PURE__*/t.createElement(i,{fallback:null},function(e){var n=e.name,a=e.size,r=/*#__PURE__*/t.createElement(t.Fragment,null),i=l(function(){return import("./Scene-10e95b12.js")});switch(n){case E.LOCK:r=l(function(){return import("./LockModel-44665a07.js")});break;case E.GLOBE:r=l(function(){return import("./GlobeModel-b07b9e9f.js")});break;case E.CONFETTI:r=l(function(){return import("./ConfettiModel-a2ba8e44.js")});break;case E.CHECK_MARK:r=l(function(){return import("./CheckMarkModel-4fe02672.js")});break;case E.FLOWER:r=l(function(){return import("./FlowerModel-9241e69c.js")});break;case E.PLANE:r=l(function(){return import("./PlaneModel-47b95fd8.js")});break;case E.GRAPH:r=l(function(){return import("./GraphModel-cea91f70.js")});break;case E.MARBLE:r=l(function(){return import("./MarbleModel-748d8345.js")});break;case E.MARBLE_CARD:r=l(function(){return import("./MarbleCardModel-66b98263.js")});break;case E.MAGNIFYING_GLASS:r=l(function(){return import("./MagnifyingGlassModel-75a7e4e1.js")});break;case E.JARS:r=l(function(){return import("./JarsModel-a259a0c3.js")});break;case E.MULTI_CURRENCY:r=l(function(){return import("./MultiCurrencyModel-5ae59006.js")})}/*#__PURE__*/return t.createElement(i,{assetName:n,size:a},/*#__PURE__*/t.createElement(r,null))}({name:A,size:M})):/*#__PURE__*/t.createElement(m,{name:A,size:M,alt:null!=p?p:""}))};export{E as A,d as I,c as S,L as _,m as a,M as b};
2
+ //# sourceMappingURL=index-63d60641.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-ffe3b15a.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/illustrations3d/useBattery.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, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport useBattery from './useBattery';\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 alt?: string;\n ['data-testid']?: string;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3d = ({\n name,\n size = Sizes.MEDIUM,\n alt,\n 'data-testid': testId,\n className,\n}: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.INIT);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n // todo: remove artificial delay\n void wait(0).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.FALLBACK);\n });\n }, []);\n\n const a11yProps = alt\n ? { role: 'img', 'aria-label': alt }\n : { role: 'presentation', 'aria-hidden': true };\n\n return (\n <div\n className={classNames('wds-illustration-3d', `wds-illustration-3d-${size}`, className)}\n data-testid={testId}\n {...a11yProps}\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt={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\nfunction 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\nfunction wait(time: number) {\n return new Promise((resolve) => setTimeout(resolve, time));\n}\n\nexport default Illustration3d;\n","import { useState, useEffect } from 'react';\n\nconst 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 default useBattery;\n"],"names":["_ImageSizes","Sizes","ImageSizes","_imageSizes","Assets","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","RenderMode","Illustration3d","useState","batteryData","setBatteryData","testId","_React$useState","INIT","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","Promise","reject","_navigator","_navigator$connection","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","saveData","resolve","setTimeout","then","ASSET_3D","FALLBACK","a11yProps","role","Suspense","fallback","_ref2","lazy","LOCK","Model","import","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","Scene","assetName","getModel"],"mappings":"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"}
1
+ {"version":3,"file":"index-63d60641.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/illustrations3d/useBattery.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, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport useBattery from './useBattery';\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 alt?: string;\n ['data-testid']?: string;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3d = ({\n name,\n size = Sizes.MEDIUM,\n alt,\n 'data-testid': testId,\n className,\n}: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.INIT);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n // todo: remove artificial delay\n void wait(0).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.FALLBACK);\n });\n }, []);\n\n const a11yProps = alt\n ? { role: 'img', 'aria-label': alt }\n : { role: 'presentation', 'aria-hidden': true };\n\n return (\n <div\n className={classNames('wds-illustration-3d', `wds-illustration-3d-${size}`, className)}\n data-testid={testId}\n {...a11yProps}\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt={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\nfunction 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\nfunction wait(time: number) {\n return new Promise((resolve) => setTimeout(resolve, time));\n}\n\nexport default Illustration3d;\n","import { useState, useEffect } from 'react';\n\nconst 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 default useBattery;\n"],"names":["_ImageSizes","Sizes","ImageSizes","_imageSizes","Assets","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","RenderMode","Illustration3d","useState","batteryData","setBatteryData","testId","_React$useState","INIT","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","Promise","reject","_navigator","_navigator$connection","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","saveData","resolve","setTimeout","then","ASSET_3D","FALLBACK","a11yProps","role","Suspense","fallback","_ref2","lazy","LOCK","Model","import","GLOBE","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","Scene","assetName","getModel"],"mappings":"qHAAA,IAAAA,EAAYC,GAAZ,SAAYA,GACVA,EAAA,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,OACD,CAJD,CAAYA,IAAAA,EAIX,CAAA,IAEYC,ICNbC,ECyECC,IFnEYF,IACVD,EAAAA,CAAAA,GAAAA,EAAMI,OAAQ,IACdJ,EAAAA,EAAMK,QAAS,IACfL,EAAAA,EAAMM,OAAQ,IAChBP,GCUKQ,IACHP,EAAAA,CAAAA,GAAAA,EAAMI,OAAQ,IAAGF,EACjBF,EAAMK,QAAS,MACfL,EAAMM,OAAQ,IAChBJ,GAEKM,EAAeC,EACnB,SAUEC,EAAAA,GAREC,IAAAA,EAAAA,EAAAA,GACAC,EAAIC,EAAJD,KACAE,EAAAA,EAAAA,IACAC,EAAAA,EAAAA,QAAAA,OAAO,IAAAC,EAAG,QAAOA,EACjBC,EAAAA,EAAAA,UACAC,EAAAA,EAAAA,KAAAA,OAAI,IAAAC,EAAGnB,EAAMK,OACbe,EAAAA,EAAAA,EAAAA,eAAAA,cAAsBC,EAIhBjB,EAAkBJ,EAAlBI,MAAOC,EAAWL,EAAXK,OAEf,OAAOO,eACLU,EAAAC,cAAA,UAAA,KACGL,IAASlB,EAAMM,OAASY,IAASlB,EAAMK,oBACtCiB,EAAAC,cAAAD,EAAAE,SAAA,kBACEF,EACEC,cAAA,SAAA,CAAAE,MAAOlB,EAAWH,GAClBsB,OAAQnB,EAAWH,GACnBuB,MAAM,qBACNC,OAAWC,EAAUjB,EAAMR,EAAO,MAAK,KAAKyB,EAAUjB,EAAMR,EAAO,MAAW,QAE/Ec,IAASlB,EAAMK,oBACdiB,EAAAC,cAAA,SAAA,CACEE,MAAOlB,EAAWF,GAClBqB,OAAQnB,EAAWF,GACnBsB,MAAM,qBACNC,OAAWC,EAAUjB,EAAMP,EAAQ,MAAUwB,KAAAA,EAAUjB,EAAMP,EAAQ,MAAK,QAE1E,MAEJ,kBAEJiB,uBACEX,GAAIA,EACJD,IAAKA,EACLI,IAAQ,MAAHA,EAAAA,EAAOF,EAAKkB,QAAQ,IAAK,KAC9B,cAAA,OAAoBlB,EAAoB,gBACxCK,UAAWc,EACT,mBACoBnB,oBAAAA,EACpB,CAAE,4BAA6BQ,GAC/BH,GAEFF,QAASA,EACTiB,IAAKH,EAAUjB,EAAMM,EAAM,MAC3BU,OAAWC,EAAUjB,EAAMM,EAAM,MAAW,MAC5CO,MAAOlB,EAAWW,GAClBQ,OAAQnB,EAAWW,MAGrB,IACN,GAGF,SAASW,EAAUI,EAAsBf,EAAyBgB,GAChE,MAAwDD,iDAAAA,MAAgBf,EAAI,IAAIgB,EAClF,OAAA,sOC/EA,SAAY/B,GACVA,EAAA,KAAA,OACAA,EAAA,UAAA,YACAA,EAAA,cAAA,gBACAA,EAAA,SAAA,WACAA,EAAA,WAAA,aACAA,EAAA,cAAA,gBACAA,EAAA,eAAA,iBACAA,EAAA,aAAA,eACAA,EAAA,SAAA,WACAA,EAAA,mBAAA,qBACAA,EAAA,QAAA,UACAA,EAAA,OAAA,SACAA,EAAA,eAAA,iBACAA,EAAA,aAAA,eACAA,EAAA,UAAA,YACAA,EAAA,KAAA,OACAA,EAAA,SAAA,WACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,MAAA,QACAA,EAAA,iBAAA,mBACAA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,MAAA,QACAA,EAAA,QAAA,UACAA,EAAA,QAAA,UACAA,EAAA,QAAA,UACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,MAAA,QACAA,EAAA,QAAA,UACAA,EAAA,SAAA,WACAA,EAAA,cAAA,gBACAA,EAAA,KAAA,OACAA,EAAA,IAAA,MACAA,EAAA,WAAA,aACAA,EAAA,KAAA,OACAA,EAAA,iBAAA,mBACAA,EAAA,IAAA,MACAA,EAAA,qBAAA,uBACAA,EAAA,YAAA,cACAA,EAAA,OAAA,SACAA,EAAA,UAAA,YACAA,EAAA,eAAA,iBACAA,EAAA,yBAAA,2BACAA,EAAA,UAAA,YACAA,EAAA,WAAA,aACAA,EAAA,cAAA,gBACAA,EAAA,OAAA,SACAA,EAAA,UAAA,YACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,cAAA,gBACAA,EAAA,cAAA,gBACAA,EAAA,QAAA,UACAA,EAAA,gBAAA,kBACAA,EAAA,WAAA,aACAA,EAAA,aAAA,eACAA,EAAA,oBAAA,sBACAA,EAAA,cAAA,gBACAA,EAAA,KAAA,OACAA,EAAA,0BAAA,4BACAA,EAAA,OAAA,QACD,CAlED,CAAYA,IAAAA,EAkEX,CAAA,ICvCD,SAAKgC,GACHA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,SAAA,GAAA,WACAA,EAAAA,EAAA,SAAA,GAAA,UACD,CAJD,CAAKA,IAAAA,EAIJ,CAAA,IAEKC,MAAiB,SAAHvB,OCrCoBwB,EAA/BC,EAAaC,EDsChB3B,EAAAC,EAAJD,KAAIO,EAAAN,EACJK,KAAAA,OAAOlB,IAAAA,EAAAA,EAAMK,OAAMc,EACnBL,EAAGD,EAAHC,IACe0B,EAAf3B,EAAA,eACAI,EAASJ,EAATI,UAEAwB,EAAoCnB,EAAMe,SAAqBF,EAAWO,MAAnEC,OAAYC,EAAaH,EAAA,GACxBI,GC7C8BR,EAAAA,EAA4B,CAAEQ,MAAO,IAApEP,EAAWQ,EAAA,GAAEP,EAEpBQ,EAAAA,GAAAA,EAAU,WAYJ,0BAXEC,eAGkBC,QAAAA,QAAAA,UAAUC,cAA1BC,KAAAA,SAAAA,GAENZ,EAAe,CAEbM,MAAOM,EAAQN,OACd,EAGL,CAFC,MAEDO,GAAA,OAAAC,QAAAC,OAAAF,EAAA,CAAA,CACOJ,EAET,EAAG,OD4BKH,MAERE,EAAU,WACR,IAwFqBQ,EAAAC,EAELC,EA1FcC,UA2FbC,KADDF,EAAKG,OAAOX,UAAtBQ,aAENI,QAAQC,IAAI,qCAIdD,QAAQC,IAAI,oBAA+B,MAAVL,OAAU,EAAVA,EAAYM,eAE3C,CAAC,UAAW,MAAMC,SAAmB,MAAVP,OAAU,EAAVA,EAAYM,iBAEH,KAA3B,SAATd,mBAASO,EAATD,EAAWE,iBAAF,EAATD,EAAuBS,aApGkCpB,GAAS,IAyG7D,IAAWQ,QAAC,SAACa,GAAO,OAAeC,WAACD,EAtG/B,EAsG6C,GAtG1CE,KAAK,WAChBxB,EAAcc,EAA2BvB,EAAWkC,SAAWlC,EAAWmC,SAC5E,EACF,EAAG,IAEH,IAAeC,EAAGzD,EACd,CAAE0D,KAAM,MAAO,aAAc1D,GAC7B,CAAE0D,KAAM,eAAgB,eAAe,gBAE3C,OACElD,yBACEL,UAAWc,EAAW,sBAA8Cb,uBAAAA,EAAQD,GAC5E,cAAauB,GACT+B,GAEH5B,IAAeR,EAAWO,KAAO,KAAOC,IAAeR,EAAWkC,sBACjE/C,gBAACmD,EAAQ,CAACC,SAAU,MAQ5B,SAAiBC,OAAO/D,EAAA+D,EAAJ/D,KAAMM,EAAAA,EAAAA,oBAESI,EAAAC,cAAAD,EAAAE,SAAA,QACnBoD,EAAK,WAAA,cAAa,sBAAU,GAC1C,OAAQhE,GACN,OAAYiE,KACVC,EAAQF,EAAK,WAAM,OAAAG,OAAO,0BAAc,GACxC,MAEF,KAAW5E,EAAC6E,MACVF,EAAQF,EAAK,WAAA,OAAYG,OAAC,2BAAe,GACzC,MAEF,KAAK5E,EAAO8E,SACVH,EAAQF,EAAK,kBAAYG,OAAC,8BAAkB,GAC5C,MAEF,OAAYG,WACVJ,EAAQF,EAAK,WAAA,cAAa,+BAAmB,GAC7C,MAEF,KAAKzE,EAAOgF,OACVL,EAAQF,EAAK,kBAAYG,OAAC,4BAAgB,GAC1C,MAEF,KAAK5E,EAAOiF,MACVN,EAAQF,EAAK,WAAM,OAAAG,OAAO,2BAAe,GACzC,MAEF,KAAW5E,EAACkF,MACVP,EAAQF,EAAK,kBAAYG,OAAC,2BAAe,GACzC,MAEF,KAAK5E,EAAOmF,OACVR,EAAQF,EAAK,WAAM,OAAAG,OAAO,4BAAgB,GAC1C,MAEF,KAAW5E,EAACoF,YACVT,EAAQF,EAAK,WAAA,OAAYG,OAAC,gCAAoB,GAC9C,MAEF,KAAW5E,EAACqF,iBACVV,EAAQF,EAAK,kBAAYG,OAAC,qCAAyB,GACnD,MAEF,OAAYU,KACVX,EAAQF,EAAK,WAAA,cAAa,0BAAc,GACxC,MAEF,KAAWzE,EAACuF,eACVZ,EAAQF,EAAK,WAAA,OAAYG,OAAC,mCAAuB,gBAIrD,OACEzD,EAACC,cAAAoE,GAAMC,UAAWhF,EAAMM,KAAMA,gBAC5BI,EAAAC,cAACuD,EACH,MAEJ,CAnEmCe,CAAS,CAAEjF,KAAAA,EAAMM,KAAAA,kBAE5CI,EAACC,cAAAf,EAAa,CAAAI,KAAMA,EAAMM,KAAMA,EAAMJ,UAAKA,EAAAA,EAAO,KAI1D"}
@@ -1,2 +1,2 @@
1
- var e=require("classnames"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s,n,a=/*#__PURE__*/r(e),i=/*#__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=t.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,f=e.disablePadding,p=void 0!==f&&f,m=exports.Sizes.SMALL,I=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:A(s,m,"1x")+", "+A(s,m,"2x")+" 2x"}),d!==exports.Sizes.MEDIUM?/*#__PURE__*/i.default.createElement("source",{width:E[I],height:E[I],media:"(max-width: 992px)",srcSet:A(s,I,"1x")+", "+A(s,I,"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:A(s,d,"1x"),srcSet:A(s,d,"2x")+" 2x",width:E[d],height:E[d]})):null});function A(e,t,r){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+r+".webp"}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},f.apply(this,arguments)}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.Illustration=d,exports.Illustration3d=function(e){var r,s,n,o=e.name,l=e.size,c=void 0===l?exports.Sizes.MEDIUM:l,E=e.alt,A=e["data-testid"],p=e.className,m=i.default.useState(u.INIT),I=m[0],S=m[1],L=(r=t.useState({level:1}),s=r[0],n=r[1],t.useEffect(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){n({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),s).level;t.useEffect(function(){var e,t,r,s=!((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)))||L<=.2);new Promise(function(e){return setTimeout(e,0)}).then(function(){S(s?u.ASSET_3D:u.FALLBACK)})},[]);var M=E?{role:"img","aria-label":E}:{role:"presentation","aria-hidden":!0};/*#__PURE__*/return i.default.createElement("div",f({className:a.default("wds-illustration-3d","wds-illustration-3d-"+c,p),"data-testid":A},M),I===u.INIT?null:I===u.ASSET_3D?/*#__PURE__*/i.default.createElement(t.Suspense,{fallback:null},function(e){var r=e.name,s=e.size,n=/*#__PURE__*/i.default.createElement(i.default.Fragment,null),a=t.lazy(function(){return Promise.resolve().then(function(){return require("./Scene-b76fb510.js")})});switch(r){case exports.Assets.LOCK:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./LockModel-9373f017.js")})});break;case exports.Assets.GLOBE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./GlobeModel-7e154832.js")})});break;case exports.Assets.CONFETTI:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./ConfettiModel-854297d4.js")})});break;case exports.Assets.CHECK_MARK:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./CheckMarkModel-4cf9d247.js")})});break;case exports.Assets.FLOWER:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./FlowerModel-8c57aa5d.js")})});break;case exports.Assets.PLANE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./PlaneModel-3b79ccd7.js")})});break;case exports.Assets.GRAPH:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./GraphModel-3b1d8ec4.js")})});break;case exports.Assets.MARBLE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleModel-4092b89b.js")})});break;case exports.Assets.MARBLE_CARD:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleCardModel-760a442d.js")})});break;case exports.Assets.MAGNIFYING_GLASS:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MagnifyingGlassModel-b5425654.js")})});break;case exports.Assets.JARS:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./JarsModel-da98779d.js")})});break;case exports.Assets.MULTI_CURRENCY:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MultiCurrencyModel-10001a07.js")})})}/*#__PURE__*/return i.default.createElement(a,{assetName:r,size:s},/*#__PURE__*/i.default.createElement(n,null))}({name:o,size:c})):/*#__PURE__*/i.default.createElement(d,{name:o,size:c,alt:null!=E?E:""}))},exports.ImageSizes=c,exports._extends=f;
2
- //# sourceMappingURL=index-223896cf.js.map
1
+ var e=require("classnames"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s,n,a=/*#__PURE__*/r(e),i=/*#__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=t.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,f=e.disablePadding,p=void 0!==f&&f,m=exports.Sizes.SMALL,I=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:A(s,m,"1x")+", "+A(s,m,"2x")+" 2x"}),d!==exports.Sizes.MEDIUM?/*#__PURE__*/i.default.createElement("source",{width:E[I],height:E[I],media:"(max-width: 992px)",srcSet:A(s,I,"1x")+", "+A(s,I,"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:A(s,d,"1x"),srcSet:A(s,d,"2x")+" 2x",width:E[d],height:E[d]})):null});function A(e,t,r){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+r+".webp"}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},f.apply(this,arguments)}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.Illustration=d,exports.Illustration3d=function(e){var r,s,n,o=e.name,l=e.size,c=void 0===l?exports.Sizes.MEDIUM:l,E=e.alt,A=e["data-testid"],p=e.className,m=i.default.useState(u.INIT),I=m[0],S=m[1],L=(r=t.useState({level:1}),s=r[0],n=r[1],t.useEffect(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){n({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),s).level;t.useEffect(function(){var e,t,r,s=!((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)))||L<=.2);new Promise(function(e){return setTimeout(e,0)}).then(function(){S(s?u.ASSET_3D:u.FALLBACK)})},[]);var M=E?{role:"img","aria-label":E}:{role:"presentation","aria-hidden":!0};/*#__PURE__*/return i.default.createElement("div",f({className:a.default("wds-illustration-3d","wds-illustration-3d-"+c,p),"data-testid":A},M),I===u.INIT?null:I===u.ASSET_3D?/*#__PURE__*/i.default.createElement(t.Suspense,{fallback:null},function(e){var r=e.name,s=e.size,n=/*#__PURE__*/i.default.createElement(i.default.Fragment,null),a=t.lazy(function(){return Promise.resolve().then(function(){return require("./Scene-52fe26a0.js")})});switch(r){case exports.Assets.LOCK:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./LockModel-f52a822e.js")})});break;case exports.Assets.GLOBE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./GlobeModel-7e154832.js")})});break;case exports.Assets.CONFETTI:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./ConfettiModel-854297d4.js")})});break;case exports.Assets.CHECK_MARK:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./CheckMarkModel-4cf9d247.js")})});break;case exports.Assets.FLOWER:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./FlowerModel-8c57aa5d.js")})});break;case exports.Assets.PLANE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./PlaneModel-3b79ccd7.js")})});break;case exports.Assets.GRAPH:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./GraphModel-3b1d8ec4.js")})});break;case exports.Assets.MARBLE:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleModel-4092b89b.js")})});break;case exports.Assets.MARBLE_CARD:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MarbleCardModel-760a442d.js")})});break;case exports.Assets.MAGNIFYING_GLASS:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MagnifyingGlassModel-b5425654.js")})});break;case exports.Assets.JARS:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./JarsModel-da98779d.js")})});break;case exports.Assets.MULTI_CURRENCY:n=t.lazy(function(){return Promise.resolve().then(function(){return require("./MultiCurrencyModel-10001a07.js")})})}/*#__PURE__*/return i.default.createElement(a,{assetName:r,size:s},/*#__PURE__*/i.default.createElement(n,null))}({name:o,size:c})):/*#__PURE__*/i.default.createElement(d,{name:o,size:c,alt:null!=E?E:""}))},exports.ImageSizes=c,exports._extends=f;
2
+ //# sourceMappingURL=index-d7254cfb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-223896cf.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/illustrations3d/useBattery.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, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport useBattery from './useBattery';\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 alt?: string;\n ['data-testid']?: string;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3d = ({\n name,\n size = Sizes.MEDIUM,\n alt,\n 'data-testid': testId,\n className,\n}: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.INIT);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n // todo: remove artificial delay\n void wait(0).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.FALLBACK);\n });\n }, []);\n\n const a11yProps = alt\n ? { role: 'img', 'aria-label': alt }\n : { role: 'presentation', 'aria-hidden': true };\n\n return (\n <div\n className={classNames('wds-illustration-3d', `wds-illustration-3d-${size}`, className)}\n data-testid={testId}\n {...a11yProps}\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt={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\nfunction 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\nfunction wait(time: number) {\n return new Promise((resolve) => setTimeout(resolve, time));\n}\n\nexport default Illustration3d;\n","import { useState, useEffect } from 'react';\n\nconst 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 default useBattery;\n"],"names":["_ImageSizes","Sizes","ImageSizes","_imageSizes","Assets","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","RenderMode","useState","batteryData","setBatteryData","testId","_React$useState","INIT","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","Promise","reject","_navigator","_navigator$connection","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","saveData","resolve","setTimeout","then","ASSET_3D","FALLBACK","a11yProps","role","Suspense","fallback","_ref2","lazy","LOCK","Model","GLOBE","require","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","Scene","assetName","getModel"],"mappings":"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"}
1
+ {"version":3,"file":"index-d7254cfb.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/Illustration3d.tsx","../src/illustrations3d/useBattery.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, LazyExoticComponent } from 'react';\n\nimport { LargeSize, MediumSize, SmallSize, Sizes } from '../common';\n\nimport Illustration, { Assets } from './../illustrations';\nimport useBattery from './useBattery';\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 alt?: string;\n ['data-testid']?: string;\n className?: string;\n};\n\nenum RenderMode {\n INIT,\n FALLBACK,\n ASSET_3D,\n}\n\nconst Illustration3d = ({\n name,\n size = Sizes.MEDIUM,\n alt,\n 'data-testid': testId,\n className,\n}: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.INIT);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n // todo: remove artificial delay\n void wait(0).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.FALLBACK);\n });\n }, []);\n\n const a11yProps = alt\n ? { role: 'img', 'aria-label': alt }\n : { role: 'presentation', 'aria-hidden': true };\n\n return (\n <div\n className={classNames('wds-illustration-3d', `wds-illustration-3d-${size}`, className)}\n data-testid={testId}\n {...a11yProps}\n >\n {renderMode === RenderMode.INIT ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>{getModel({ name, size })}</Suspense>\n ) : (\n <Illustration name={name} size={size} alt={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\nfunction 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\nfunction wait(time: number) {\n return new Promise((resolve) => setTimeout(resolve, time));\n}\n\nexport default Illustration3d;\n","import { useState, useEffect } from 'react';\n\nconst 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 default useBattery;\n"],"names":["_ImageSizes","Sizes","ImageSizes","_imageSizes","Assets","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","RenderMode","useState","batteryData","setBatteryData","testId","_React$useState","INIT","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","Promise","reject","_navigator","_navigator$connection","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","saveData","resolve","setTimeout","then","ASSET_3D","FALLBACK","a11yProps","role","Suspense","fallback","_ref2","lazy","LOCK","Model","GLOBE","require","CONFETTI","CHECK_MARK","FLOWER","PLANE","GRAPH","MARBLE","MARBLE_CARD","MAGNIFYING_GLASS","JARS","MULTI_CURRENCY","Scene","assetName","getModel"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("./index-223896cf.js");require("classnames"),require("react"),Object.defineProperty(exports,"Assets",{enumerable:!0,get:function(){return e.Assets}}),exports.Illustration=e.Illustration,exports.Illustration3d=e.Illustration3d,Object.defineProperty(exports,"Sizes",{enumerable:!0,get:function(){return e.Sizes}});
1
+ var e=require("./index-d7254cfb.js");require("classnames"),require("react"),Object.defineProperty(exports,"Assets",{enumerable:!0,get:function(){return e.Assets}}),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
@@ -1,2 +1,2 @@
1
- export{A as Assets,a as Illustration,b as Illustration3d,S as Sizes}from"./index-ffe3b15a.js";import"classnames";import"react";
1
+ export{A as Assets,a as Illustration,b as Illustration3d,S as Sizes}from"./index-63d60641.js";import"classnames";import"react";
2
2
  //# sourceMappingURL=index.module.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/art",
3
- "version": "2.3.4-beta.14",
3
+ "version": "2.3.4-beta.15",
4
4
  "license": "MIT",
5
5
  "description": "React library for art elements in UI",
6
6
  "homepage": "https://github.com/transferwise/web-art#readme",
@@ -17,19 +17,19 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "setup": "yarn && yarn build",
20
- "load-3d-i10s": "node ./scripts/optimize-3d-i10s.mjs",
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
29
  "load-3d-assets": "copyfiles -f src/gltf/*.json src/gltf/*.gltf src/gltf/*.jpg dist/gltf",
30
30
  "bundle": "rm -rf dist && microbundle --jsxFragment React.Fragment --jsx React.createElement --format es,cjs && cpx src/illustrations/Illustration.css dist/",
31
31
  "cleanup": "rm -rf temp",
32
- "build": "yarn load-i10s && yarn convert-i10s-png-to-webp && yarn generate-i10s-metadata && yarn load-flags && yarn bundle && yarn cleanup",
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
33
  "start": "start-storybook -p 3001",
34
34
  "dev": "yarn start",
35
35
  "test": "echo 'Tests not implemented yet'",
@@ -78,7 +78,7 @@
78
78
  "sharp": "^0.32.1",
79
79
  "ts-node": "10.9.1",
80
80
  "typescript": "^4.7.4",
81
- "wise-atoms": "git+ssh://git@github.com:transferwise/wise-atoms.git#2fa3ee7faf1ab88367c376d8432051e0ca23a6ea"
81
+ "wise-atoms": "git+ssh://git@github.com:transferwise/wise-atoms.git#c2683d557cf6f7b4f6226ea8f0e67bc797e7fb2e"
82
82
  },
83
83
  "peerDependencies": {
84
84
  "classnames": "^2.3",