@wise/art 2.3.4-beta.5 → 2.3.4-beta.6
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.
- package/dist/ConfettiModel-66c0d8ab.js +2 -0
- package/dist/ConfettiModel-66c0d8ab.js.map +1 -0
- package/dist/ConfettiModel-e2606d0f.js +2 -0
- package/dist/ConfettiModel-e2606d0f.js.map +1 -0
- package/dist/GlobeModel-53b18308.js +2 -0
- package/dist/GlobeModel-53b18308.js.map +1 -0
- package/dist/GlobeModel-825185a5.js +2 -0
- package/dist/GlobeModel-825185a5.js.map +1 -0
- package/dist/LockModel-2de7f0c4.js +2 -0
- package/dist/LockModel-2de7f0c4.js.map +1 -0
- package/dist/LockModel-d234aa05.js +2 -0
- package/dist/LockModel-d234aa05.js.map +1 -0
- package/dist/Scene-13a5ebc4.js +2 -0
- package/dist/Scene-13a5ebc4.js.map +1 -0
- package/dist/Scene-e7d2b16f.js +2 -0
- package/dist/Scene-e7d2b16f.js.map +1 -0
- package/dist/illustrations3d/ConfettiModel.d.ts +3 -0
- package/dist/illustrations3d/Illustration3d.d.ts +5 -0
- package/dist/{illustrations/AnimatedIllustration.stories.d.ts → illustrations3d/Illustration3d.stories.d.ts} +3 -5
- package/dist/illustrations3d/Scene.d.ts +9 -0
- package/dist/illustrations3d/index.d.ts +1 -0
- package/dist/illustrations3d/useBattery.d.ts +4 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.module.js +1 -1
- package/dist/index.module.js.map +1 -1
- package/package.json +2 -3
- package/dist/illustrations/ConfettiModel.d.ts +0 -7
- package/dist/illustrations/Globe.d.ts +0 -3
- package/dist/illustrations/Lock.d.ts +0 -5
- package/dist/illustrations/Scene.d.ts +0 -7
- package/dist/illustrations/Test.stories.d.ts +0 -5
- package/dist/illustrations/common.d.ts +0 -1
- package/dist/index.modern.mjs +0 -2
- package/dist/index.modern.mjs.map +0 -1
- package/dist/index.umd.js +0 -2
- package/dist/index.umd.js.map +0 -1
- /package/dist/{illustrations → illustrations3d}/GlobeModel.d.ts +0 -0
- /package/dist/{illustrations → illustrations3d}/LockModel.d.ts +0 -0
|
@@ -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{useRef as o}from"react";import{ObjectLoader as c,LoopOnce as n}from"three";var a=function(){var a=o(),l=e("../gltf/confetti.gltf"),m=l.animations,f=l.scene,p=r(c,"../gltf/confetti-lights.json"),s=t(m,a),g=s.mixer,u=s.clips;return i(function(){g.clipAction(u[0]).play(),g.clipAction(u[0]).setLoop(n,1)}),console.log("ConfettiModel executed"),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",{ref:a,object:f}),/*#__PURE__*/React.createElement("primitive",{object:p}))};export{a as default};
|
|
2
|
+
//# sourceMappingURL=ConfettiModel-66c0d8ab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfettiModel-66c0d8ab.js","sources":["../src/illustrations3d/ConfettiModel.tsx"],"sourcesContent":["import { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nconst ConfettiModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n console.log('ConfettiModel executed');\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n"],"names":["ConfettiModel","modelRef","useRef","model","useGLTF","animations","scene","lights","useLoader","ObjectLoader","_useAnimations","useAnimations","mixer","clips","useFrame","clipAction","play","setLoop","LoopOnce","console","log","React","createElement","ref","object"],"mappings":"8MAKMA,IAAAA,EAAgB,WACpB,IAAcC,EAAGC,IACNC,EAAGC,EAA2C,yBACjDC,EAAsBF,EAAtBE,WAAYC,EAAUH,EAAVG,MAERC,EAAGC,EAAUC,EAAc,gCAEvCC,EAAyBC,EAAcN,EAAYJ,GAA3CW,EAAKF,EAALE,MAAOC,EAAAA,EAAAA,MAOf,OANAC,EAAS,WACPF,EAAMG,WAAWF,EAAM,IAAIG,OAC3BJ,EAAMG,WAAWF,EAAM,IAAII,QAAQC,EAAU,EAC/C,GAEAC,QAAQC,IAAI,uCAEVC,qDACEA,MAAWC,cAAA,YAAA,CAAAC,IAAKtB,EAAUuB,OAAQlB,iBAClCe,MAAAC,cAAA,YAAA,CAAWE,OAAQjB,IAGzB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=require("@react-three/drei"),t=require("@react-three/fiber"),r=require("react"),i=require("three");exports.default=function(){var c=r.useRef(),n=e.useGLTF("../gltf/confetti.gltf"),o=n.animations,a=n.scene,l=t.useLoader(i.ObjectLoader,"../gltf/confetti-lights.json"),u=e.useAnimations(o,c),s=u.mixer,f=u.clips;return t.useFrame(function(){s.clipAction(f[0]).play(),s.clipAction(f[0]).setLoop(i.LoopOnce,1)}),console.log("ConfettiModel executed"),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",{ref:c,object:a}),/*#__PURE__*/React.createElement("primitive",{object:l}))};
|
|
2
|
+
//# sourceMappingURL=ConfettiModel-e2606d0f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfettiModel-e2606d0f.js","sources":["../src/illustrations3d/ConfettiModel.tsx"],"sourcesContent":["import { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nconst ConfettiModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n console.log('ConfettiModel executed');\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n"],"names":["modelRef","useRef","model","useGLTF","animations","scene","lights","useLoader","ObjectLoader","_useAnimations","useAnimations","mixer","clips","useFrame","clipAction","play","setLoop","LoopOnce","console","log","React","createElement","ref","object"],"mappings":"yHAKsB,WACpB,IAAcA,EAAGC,WACNC,EAAGC,EAAOA,QAAoC,yBACjDC,EAAsBF,EAAtBE,WAAYC,EAAUH,EAAVG,MAERC,EAAGC,EAASA,UAACC,EAAYA,aAAE,gCAEvCC,EAAyBC,EAAAA,cAAcN,EAAYJ,GAA3CW,EAAKF,EAALE,MAAOC,EAAAA,EAAAA,MAOf,OANAC,EAAAA,SAAS,WACPF,EAAMG,WAAWF,EAAM,IAAIG,OAC3BJ,EAAMG,WAAWF,EAAM,IAAII,QAAQC,EAAAA,SAAU,EAC/C,GAEAC,QAAQC,IAAI,uCAEVC,qDACEA,MAAWC,cAAA,YAAA,CAAAC,IAAKtB,EAAUuB,OAAQlB,iBAClCe,MAAAC,cAAA,YAAA,CAAWE,OAAQjB,IAGzB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useGLTF as e}from"@react-three/drei";import{useLoader as t,useFrame as a}from"@react-three/fiber";import{useRef as r}from"react";import{ObjectLoader as o,TextureLoader as i}from"three";var m=function(){var m=r(),c=e("../gltf/globe.gltf").scene,l=t(o,"../gltf/globe-lights.json"),n=t(i,"../gltf/coinBumpMap.jpg"),f=c.getObjectByName("Globe"),p=c.getObjectByName("Coins_Axis_Rotation_Animate");return c.traverse(function(e){e.name.startsWith("Coin_")&&(e.material.bumpMap=n,e.material.bumpMap.flipY=!1,e.castShadow=!1,e.receiveShadow=!1)}),a(function(){p.rotation.y+=.002,f.material.map.offset.x+=-2e-4,f.material.map.offset.y+=0}),console.log("GlobeModel executed"),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",{ref:m,position:[0,-10,0],scale:1.3,object:c}),/*#__PURE__*/React.createElement("primitive",{object:l}))};export{m as default};
|
|
2
|
+
//# sourceMappingURL=GlobeModel-53b18308.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobeModel-53b18308.js","sources":["../src/illustrations3d/GlobeModel.tsx"],"sourcesContent":["/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader, ObjectLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/globe-lights.json');\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n console.log('GlobeModel executed');\n return (\n <>\n <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default GlobeModel;\n"],"names":["GlobeModel","ref","useRef","scene","useGLTF","lights","useLoader","ObjectLoader","wiseLogo","TextureLoader","planet","getObjectByName","traverse","child","name","startsWith","material","bumpMap","flipY","castShadow","receiveShadow","useFrame","orbit","rotation","y","map","offset","x","console","log","React","createElement","Fragment","position","scale","object"],"mappings":"gMAOMA,IAAUA,EAAG,WACjB,IAASC,EAAGC,IACJC,EAAUC,EAA6B,sBAAvCD,MAEIE,EAAGC,EAAUC,EAAc,6BACzBC,EAAGF,EAAUG,EAAe,2BACpCC,EAASP,EAAMQ,gBAAgB,WACvBR,EAAMQ,gBAAgB,+BAwBpC,OAtBAR,EAAMS,SAAS,SAACC,GACCA,EAAMC,KAAKC,WAAW,WAGnCF,EAAMG,SAASC,QAAUT,EAEzBK,EAAMG,SAASC,QAAQC,OAAQ,EAC/BL,EAAMM,YAAa,EACnBN,EAAMO,eAAgB,EAE1B,GAEAC,EAAS,WAEPC,EAAMC,SAASC,GAAK,KAEpBd,EAAOM,SAASS,IAAIC,OAAOC,IAAM,KAEjCjB,EAAOM,SAASS,IAAIC,OAAOF,GAAK,CAClC,GAEAI,QAAQC,IAAI,oCAEVC,MAAAC,cAAAD,MAAAE,SAAA,kBACEF,iCAAW7B,IAAKA,EAAKgC,SAAU,CAAC,GAAI,GAAI,GAAIC,MAAO,IAAKC,OAAQhC,iBAChE2B,MAAAC,cAAA,YAAA,CAAWI,OAAQ9B,IAGzB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=require("@react-three/drei"),t=require("@react-three/fiber"),a=require("react"),r=require("three");exports.default=function(){var i=a.useRef(),o=e.useGLTF("../gltf/globe.gltf").scene,c=t.useLoader(r.ObjectLoader,"../gltf/globe-lights.json"),l=t.useLoader(r.TextureLoader,"../gltf/coinBumpMap.jpg"),n=o.getObjectByName("Globe"),m=o.getObjectByName("Coins_Axis_Rotation_Animate");return o.traverse(function(e){e.name.startsWith("Coin_")&&(e.material.bumpMap=l,e.material.bumpMap.flipY=!1,e.castShadow=!1,e.receiveShadow=!1)}),t.useFrame(function(){m.rotation.y+=.002,n.material.map.offset.x+=-2e-4,n.material.map.offset.y+=0}),console.log("GlobeModel executed"),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",{ref:i,position:[0,-10,0],scale:1.3,object:o}),/*#__PURE__*/React.createElement("primitive",{object:c}))};
|
|
2
|
+
//# sourceMappingURL=GlobeModel-825185a5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobeModel-825185a5.js","sources":["../src/illustrations3d/GlobeModel.tsx"],"sourcesContent":["/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader, ObjectLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/globe-lights.json');\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n console.log('GlobeModel executed');\n return (\n <>\n <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default GlobeModel;\n"],"names":["ref","useRef","scene","useGLTF","lights","useLoader","ObjectLoader","wiseLogo","TextureLoader","planet","getObjectByName","traverse","child","name","startsWith","material","bumpMap","flipY","castShadow","receiveShadow","useFrame","orbit","rotation","y","map","offset","x","console","log","React","createElement","Fragment","position","scale","object"],"mappings":"yHAOmB,WACjB,IAASA,EAAGC,EAAAA,SACJC,EAAUC,EAAOA,QAAsB,sBAAvCD,MAEIE,EAAGC,EAASA,UAACC,EAAYA,aAAE,6BACzBC,EAAGF,EAAAA,UAAUG,EAAaA,cAAE,2BACpCC,EAASP,EAAMQ,gBAAgB,WACvBR,EAAMQ,gBAAgB,+BAwBpC,OAtBAR,EAAMS,SAAS,SAACC,GACCA,EAAMC,KAAKC,WAAW,WAGnCF,EAAMG,SAASC,QAAUT,EAEzBK,EAAMG,SAASC,QAAQC,OAAQ,EAC/BL,EAAMM,YAAa,EACnBN,EAAMO,eAAgB,EAE1B,GAEAC,EAAAA,SAAS,WAEPC,EAAMC,SAASC,GAAK,KAEpBd,EAAOM,SAASS,IAAIC,OAAOC,IAAM,KAEjCjB,EAAOM,SAASS,IAAIC,OAAOF,GAAK,CAClC,GAEAI,QAAQC,IAAI,oCAEVC,MAAAC,cAAAD,MAAAE,SAAA,kBACEF,iCAAW7B,IAAKA,EAAKgC,SAAU,CAAC,GAAI,GAAI,GAAIC,MAAO,IAAKC,OAAQhC,iBAChE2B,MAAAC,cAAA,YAAA,CAAWI,OAAQ9B,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 o=/*#__PURE__*/i(r);exports.default=function(){var i=r.useRef(),n=e.useGLTF("../gltf/lock.gltf",!0),c=t.useLoader(a.ObjectLoader,"../gltf/lock-lights.json"),l=n.scene,s=n.animations;l.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});var u=e.useAnimations(s,i),f=u.clips,d=u.mixer,m=0;return t.useFrame(function(e,t){var r=d.clipAction(f[0]);r.play(),r.setLoop(a.LoopOnce),l.position.y=.2*Math.sin(.04*m++),n.materials.Standard.map.offset.x+=-.001,n.materials.Standard.map.offset.y+=0}),console.log("LockModel executed"),/*#__PURE__*/o.default.createElement(o.default.Fragment,null,/*#__PURE__*/o.default.createElement("primitive",{ref:i,object:l}),/*#__PURE__*/o.default.createElement("primitive",{object:c}))};
|
|
2
|
+
//# sourceMappingURL=LockModel-2de7f0c4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockModel-2de7f0c4.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 modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n console.log('LockModel executed');\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default LockModel;\n"],"names":["modelRef","useRef","useGLTF","lights","useLoader","ObjectLoader","scene","model","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","clips","mixer","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","console","log","React","createElement","Fragment","ref","object"],"mappings":"yNAMkB,WAChB,IAAcA,EAAGC,EAAAA,WACHC,EAAOA,QAAsB,qBAAA,GAErCC,EAASC,EAASA,UAACC,eAAc,4BAC1BC,EAAiBC,EAAtBD,MAAOE,EAAeD,EAAfC,WACfF,EAAMG,SAAS,SAACC,GACVA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,MAAyBC,EAAaA,cAACN,EAAYR,GAA3Ce,EAAAA,EAAAA,MAAOC,EAAAA,EAAAA,MACXC,EAAQ,EAWZ,OAVAC,EAAQA,SAAC,SAACC,EAAOC,GACf,IAAgBC,EAAGL,EAAMM,WAAWP,EAAM,IAC1CM,EAAWE,OACXF,EAAWG,QAAQC,EAAAA,UACnBnB,EAAMoB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVZ,KAC5BV,EAAMuB,UAAUC,SAASC,IAAIC,OAAOC,IAAM,KAC1C3B,EAAMuB,UAAUC,SAASC,IAAIC,OAAON,GAAK,CAC3C,GAEAQ,QAAQC,IAAI,mCAEVC,EAAAA,QAAAC,cAAAD,EAAAA,QAAAE,SAAA,kBACEF,EAAAA,QAAWC,cAAA,YAAA,CAAAE,IAAKxC,EAAUyC,OAAQnC,iBAClC+B,EAAA,QAAAC,cAAA,YAAA,CAAWG,OAAQtC,IAGzB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useGLTF as e,useAnimations as t}from"@react-three/drei";import{useLoader as r,useFrame as o}from"@react-three/fiber";import a,{useRef as i}from"react";import{ObjectLoader as c,LoopOnce as n}from"three";var l=function(){var l=i(),m=e("../gltf/lock.gltf",!0),s=r(c,"../gltf/lock-lights.json"),f=m.scene,p=m.animations;f.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});var d=t(p,l),h=d.clips,v=d.mixer,u=0;return o(function(e,t){var r=v.clipAction(h[0]);r.play(),r.setLoop(n),f.position.y=.2*Math.sin(.04*u++),m.materials.Standard.map.offset.x+=-.001,m.materials.Standard.map.offset.y+=0}),console.log("LockModel executed"),/*#__PURE__*/a.createElement(a.Fragment,null,/*#__PURE__*/a.createElement("primitive",{ref:l,object:f}),/*#__PURE__*/a.createElement("primitive",{object:s}))};export{l as default};
|
|
2
|
+
//# sourceMappingURL=LockModel-d234aa05.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockModel-d234aa05.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 modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n console.log('LockModel executed');\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default LockModel;\n"],"names":["LockModel","modelRef","useRef","useGLTF","lights","useLoader","ObjectLoader","scene","model","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","clips","mixer","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","console","log","React","createElement","Fragment","ref","object"],"mappings":"iNAMMA,IAASA,EAAG,WAChB,IAAcC,EAAGC,MACHC,EAA6B,qBAAA,GAErCC,EAASC,EAAUC,EAAc,4BAC1BC,EAAiBC,EAAtBD,MAAOE,EAAeD,EAAfC,WACfF,EAAMG,SAAS,SAACC,GACVA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,MAAyBC,EAAcN,EAAYR,GAA3Ce,EAAAA,EAAAA,MAAOC,EAAAA,EAAAA,MACXC,EAAQ,EAWZ,OAVAC,EAAS,SAACC,EAAOC,GACf,IAAgBC,EAAGL,EAAMM,WAAWP,EAAM,IAC1CM,EAAWE,OACXF,EAAWG,QAAQC,GACnBnB,EAAMoB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVZ,KAC5BV,EAAMuB,UAAUC,SAASC,IAAIC,OAAOC,IAAM,KAC1C3B,EAAMuB,UAAUC,SAASC,IAAIC,OAAON,GAAK,CAC3C,GAEAQ,QAAQC,IAAI,mCAEVC,EAAAC,cAAAD,EAAAE,SAAA,kBACEF,EAAWC,cAAA,YAAA,CAAAE,IAAKxC,EAAUyC,OAAQnC,iBAClC+B,EAAAC,cAAA,YAAA,CAAWG,OAAQtC,IAGzB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=require("@react-three/drei"),i=require("@react-three/fiber"),a=require("react"),t=require("three"),r=require("./index.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("classnames");var o,l=/*#__PURE__*/n(a),d={size:(o={},o[r.Sizes.SMALL]={minHeight:"200px"},o[r.Sizes.MEDIUM]={minHeight:"300px"},o[r.Sizes.LARGE]={minHeight:"500px"},o)};exports.default=function(a){var n=a.children,o=a.castShadow,s=void 0!==o&&o,c=a.size,u=void 0===c?r.Sizes.MEDIUM:c;return console.log("Scene executed"),/*#__PURE__*/l.default.createElement("div",{style:d.size[u]},/*#__PURE__*/l.default.createElement(i.Canvas,{gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:t.LinearToneMapping,outputColorSpace:t.SRGBColorSpace},shadows:{type:t.PCFShadowMap,enabled:s}},/*#__PURE__*/l.default.createElement(e.PerspectiveCamera,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,80]}),n))};
|
|
2
|
+
//# sourceMappingURL=Scene-13a5ebc4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scene-13a5ebc4.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 { LargeSize, MediumSize, Sizes, SmallSize } from '../common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n minHeight: '200px',\n },\n [Sizes.MEDIUM]: {\n minHeight: '300px',\n },\n [Sizes.LARGE]: {\n minHeight: '500px',\n },\n },\n};\n\nexport default function Scene({ children, castShadow = false, size = Sizes.MEDIUM }: Props) {\n console.log('Scene executed');\n return (\n <div style={sceneStyles.size[size]}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, 80]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n"],"names":["sceneStyles","size","_size","Sizes","SMALL","minHeight","MEDIUM","LARGE","_ref","children","castShadow","_ref$castShadow","_ref$size","console","log","React","createElement","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"yPAgBiBA,EAAG,CAClBC,MAAIC,EAAA,CAAA,EAAAA,EACDC,EAAAA,MAAMC,OAAQ,CACbC,UAAW,WAEZF,EAAKA,MAACG,QAAS,CACdD,UAAW,SAEZF,EAAAA,QAAMI,OAAQ,CACbF,UAAW,SACZH,6BAIwBM,OAAWC,EAAAD,EAARC,SAAUC,EAAAA,EAAAA,WAAAA,OAAU,IAAAC,GAAUV,EAAAA,EAAAA,EAAAA,KAAAA,OAAI,IAAAW,EAAGT,EAAKA,MAACG,SAEzE,OADAO,QAAQC,IAAI,+BAEVC,UAAAC,cAAA,MAAA,CAAKC,MAAOjB,EAAYC,KAAKA,iBAC3Bc,wBAACG,SAAM,CACLC,GAAI,CACFC,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAiBA,kBAC9BC,iBAAkBC,EACnBA,gBACDC,QAAS,CAAEC,KAAMC,eAAcC,QAAStB,iBAExCK,EAAC,QAAAC,cAAAiB,EAAiBA,mBAChBC,aAAW,EACXC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,MAElBhC,GAIT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{PerspectiveCamera as e}from"@react-three/drei";import{Canvas as i}from"@react-three/fiber";import t from"react";import{LinearToneMapping as o,SRGBColorSpace as r,PCFShadowMap as a}from"three";import{Sizes as n}from"./index.module.js";import"classnames";var m,p={size:(m={},m[n.SMALL]={minHeight:"200px"},m[n.MEDIUM]={minHeight:"300px"},m[n.LARGE]={minHeight:"500px"},m)};function l(m){var l=m.children,d=m.castShadow,c=void 0!==d&&d,s=m.size,h=void 0===s?n.MEDIUM:s;return console.log("Scene executed"),/*#__PURE__*/t.createElement("div",{style:p.size[h]},/*#__PURE__*/t.createElement(i,{gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:o,outputColorSpace:r},shadows:{type:a,enabled:c}},/*#__PURE__*/t.createElement(e,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,80]}),l))}export{l as default};
|
|
2
|
+
//# sourceMappingURL=Scene-e7d2b16f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scene-e7d2b16f.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 { LargeSize, MediumSize, Sizes, SmallSize } from '../common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n size?: SmallSize | MediumSize | LargeSize;\n}>;\n\nconst sceneStyles = {\n size: {\n [Sizes.SMALL]: {\n minHeight: '200px',\n },\n [Sizes.MEDIUM]: {\n minHeight: '300px',\n },\n [Sizes.LARGE]: {\n minHeight: '500px',\n },\n },\n};\n\nexport default function Scene({ children, castShadow = false, size = Sizes.MEDIUM }: Props) {\n console.log('Scene executed');\n return (\n <div style={sceneStyles.size[size]}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, 80]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n"],"names":["sceneStyles","size","_size","Sizes","SMALL","minHeight","MEDIUM","LARGE","Scene","_ref","children","castShadow","_ref$castShadow","_ref$size","console","log","React","createElement","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","position"],"mappings":"0QAgBiBA,EAAG,CAClBC,MAAIC,EAAA,CAAA,EAAAA,EACDC,EAAMC,OAAQ,CACbC,UAAW,WAEZF,EAAMG,QAAS,CACdD,UAAW,SAEZF,EAAAA,EAAMI,OAAQ,CACbF,UAAW,SACZH,aAIwBM,EAAAC,OAAWC,EAAAD,EAARC,SAAUC,EAAAA,EAAAA,WAAAA,OAAU,IAAAC,GAAUX,EAAAA,EAAAA,EAAAA,KAAAA,OAAI,IAAAY,EAAGV,EAAMG,SAEzE,OADAQ,QAAQC,IAAI,+BAEVC,EAAAC,cAAA,MAAA,CAAKC,MAAOlB,EAAYC,KAAKA,iBAC3Be,gBAACG,EAAM,CACLC,GAAI,CACFC,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EACbC,iBAAkBC,GAEpBC,QAAS,CAAEC,KAAMC,EAAcC,QAAStB,iBAExCK,EAACC,cAAAiB,GACCC,aAAW,EACXC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCC,SAAU,CAAC,EAAG,EAAG,MAElBhC,GAIT"}
|
|
@@ -19,9 +19,7 @@ declare namespace _default {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
export default _default;
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
export function GlobeIllustration(): JSX.Element;
|
|
26
|
-
export function LockIllustration(): JSX.Element;
|
|
22
|
+
export function Confetti(): JSX.Element;
|
|
23
|
+
export function Globe(): JSX.Element;
|
|
24
|
+
export function Lock(): JSX.Element;
|
|
27
25
|
import { Sizes } from "../common";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { LargeSize, MediumSize, SmallSize } from '../common';
|
|
3
|
+
export declare type Props = PropsWithChildren<{
|
|
4
|
+
textureAnimationXSpeed?: number;
|
|
5
|
+
textureAnimationYSpeed?: number;
|
|
6
|
+
castShadow?: boolean;
|
|
7
|
+
size?: SmallSize | MediumSize | LargeSize;
|
|
8
|
+
}>;
|
|
9
|
+
export default function Scene({ children, castShadow, size }: Props): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './Illustration3d';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { default as Illustration } from './illustrations';
|
|
2
|
-
export { default as
|
|
3
|
-
export { default as GlobeModel } from './illustrations/GlobeModel';
|
|
4
|
-
export { default as ConfettiModel } from './illustrations/ConfettiModel';
|
|
2
|
+
export { default as Illustration3d } from './illustrations3d';
|
|
5
3
|
export { Assets } from './illustrations';
|
|
6
4
|
export { Sizes } from './common';
|
|
7
5
|
export type { IllustrationNames, IllustrationProps } from './illustrations';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("classnames"),t=require("react")
|
|
1
|
+
var e=require("classnames"),t=require("react");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,i,a,l=/*#__PURE__*/r(e),s=/*#__PURE__*/r(t);exports.Sizes=void 0,(i=exports.Sizes||(exports.Sizes={})).SMALL="small",i.MEDIUM="medium",i.LARGE="large",(n={})[exports.Sizes.SMALL]=200,n[exports.Sizes.MEDIUM]=300,n[exports.Sizes.LARGE]=500;var o,E=((a={})[exports.Sizes.SMALL]=200,a[exports.Sizes.MEDIUM]=300,a[exports.Sizes.LARGE]=500,a),u=t.forwardRef(function(e,t){var r=e.id,n=e.name,i=e.alt,a=e.loading,o=void 0===a?"eager":a,u=e.className,d=e.size,A=void 0===d?exports.Sizes.MEDIUM:d,S=e.disablePadding,f=void 0!==S&&S,p=exports.Sizes.SMALL,T=exports.Sizes.MEDIUM;return n?/*#__PURE__*/s.default.createElement("picture",null,A===exports.Sizes.LARGE||A===exports.Sizes.MEDIUM?/*#__PURE__*/s.default.createElement(s.default.Fragment,null,/*#__PURE__*/s.default.createElement("source",{width:E[p],height:E[p],media:"(max-width: 575px)",srcSet:c(n,p,"1x")+", "+c(n,p,"2x")+" 2x"}),A!==exports.Sizes.MEDIUM?/*#__PURE__*/s.default.createElement("source",{width:E[T],height:E[T],media:"(max-width: 992px)",srcSet:c(n,T,"1x")+", "+c(n,T,"2x")+" 2x"}):null):null,/*#__PURE__*/s.default.createElement("img",{id:r,ref:t,alt:null!=i?i:n.replace("-"," "),"data-testid":"wds-"+n+"-illustration",className:l.default("wds-illustration","wds-illustration-"+n,{"wds-illustration-padding":!f},u),loading:o,src:c(n,A,"1x"),srcSet:c(n,A,"2x")+" 2x",width:E[A],height:E[A]})):null});function c(e,t,r){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+r+".webp"}exports.Assets=void 0,(o=exports.Assets||(exports.Assets={})).BELL="bell",o.BRIEFCASE="briefcase",o.BUSINESS_CARD="business-card",o.CALENDAR="calendar",o.CHECK_MARK="check-mark",o.CLOSED_WINDOW="closed-window",o.COIN_PILE_DOWN="coin-pile-down",o.COIN_PILE_UP="coin-pile-up",o.CONFETTI="confetti",o.CONSTRUCTION_FENCE="construction-fence",o.CONVERT="convert",o.COOKIE="cookie",o.DIGITAL_CARD_2="digital-card-2",o.DIGITAL_CARD="digital-card",o.DOCUMENTS="documents",o.DOOR="door",o.ECO_CARD="eco-card",o.ELECTRIC_PLUG="electric-plug",o.EMAIL_SUCCESS="email-success",o.EMAIL="email",o.EXCLAMATION_MARK="exclamation-mark",o.FLAG="flag",o.FLOWER="flower",o.GEAR="gear",o.GLOBE="globe",o.GRAPH="graph",o.HEART_2="heart-2",o.HEART_3="heart-3",o.HEART_4="heart-4",o.HEART_5="heart-5",o.HEART="heart",o.HOUSE="house",o.ID_CARD="id-card",o.INFINITE="infinite",o.INVITE_LETTER="invite-letter",o.JARS="jars",o.KEY="key",o.LIGHT_BULB="light-bulb",o.LOCK="lock",o.MAGNIFYING_GLASS="magnifying-glass",o.MAP="map",o.MARBLE_CARD_BUSINESS="marble-card-business",o.MARBLE_CARD="marble-card",o.MARBLE="marble",o.MEGAPHONE="megaphone",o.MULTI_CURRENCY="multi-currency",o.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",o.PALM_TREE="palm-tree",o.PERCENTAGE="percentage",o.PERSONAL_CARD="personal-card",o.PHONES="phones",o.PIE_CHART="pie-chart",o.PLANE_2="plane-2",o.PLANE="plane",o.PUZZLE_PIECES="puzzle-pieces",o.QUESTION_MARK="question-mark",o.RECEIVE="receive",o.REMINDER_LETTER="reminder-letter",o.SAND_TIMER="sand-timer",o.SHOPPING_BAG="shopping-bag",o.SKIP_AUTHENTICATION="skip-authentication",o.SPEECH_BUBBLE="speech-bubble",o.TOOL="tool",o.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",o.WALLET="wallet";var d,A=t.lazy(function(){return Promise.resolve().then(function(){return require("./Scene-13a5ebc4.js")})}),S=t.lazy(function(){return Promise.resolve().then(function(){return require("./LockModel-2de7f0c4.js")})}),f=t.lazy(function(){return Promise.resolve().then(function(){return require("./GlobeModel-825185a5.js")})}),p=t.lazy(function(){return Promise.resolve().then(function(){return require("./ConfettiModel-e2606d0f.js")})});!function(e){e[e.NONE=0]="NONE",e[e.ASSET_STATIC=1]="ASSET_STATIC",e[e.ASSET_3D=2]="ASSET_3D"}(d||(d={})),exports.Illustration=u,exports.Illustration3d=function(e){var r,n,i,a=e.name,l=e.size,o=s.default.useState(d.NONE),E=o[0],c=o[1],T=(r=t.useState({level:1}),n=r[0],i=r[1],t.useEffect(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){i({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),n).level;return t.useEffect(function(){var e,t,r,n=!((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)))||T<=.2);new Promise(function(e){return setTimeout(e,5e3)}).then(function(){c(n?d.ASSET_3D:d.ASSET_STATIC)})},[]),E===d.NONE?null:E===d.ASSET_3D?/*#__PURE__*/s.default.createElement(t.Suspense,{fallback:null},/*#__PURE__*/s.default.createElement(A,{size:l,castShadow:!0},function(e){switch(e){case exports.Assets.LOCK:/*#__PURE__*/return s.default.createElement(S,null);case exports.Assets.GLOBE:/*#__PURE__*/return s.default.createElement(f,null);case exports.Assets.CONFETTI:/*#__PURE__*/return s.default.createElement(p,null);default:/*#__PURE__*/return s.default.createElement(u,{name:e,alt:""})}}(a))):/*#__PURE__*/s.default.createElement(u,{name:a,alt:""})};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations/LockModel.jsx","../src/illustrations/Scene.tsx","../src/illustrations/common.ts","../src/illustrations/ConfettiModel.tsx","../src/illustrations/GlobeModel.tsx","../src/illustrations/Lock.tsx"],"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 */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce } from 'three';\n\nconst LockModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n </>\n );\n};\n\nexport default LockModel;\n","/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { Environment, OrbitControls, PerspectiveCamera, Stage } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { DEFAULT_CAMERA_POSITION_Z } from './common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n}>;\n\nconst sceneStyles = {\n root: {\n minHeight: '500px',\n },\n};\n\nexport default function Scene({ children, castShadow = false }: Props) {\n return (\n <div style={sceneStyles.root}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, DEFAULT_CAMERA_POSITION_Z]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n","export const DEFAULT_CAMERA_POSITION_Z = 80;\n","import { useGLTF, useAnimations } from '@react-three/drei';\nimport { PrimitiveProps, useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nexport type Props = { id?: string } & PrimitiveProps;\n\nconst ConfettiModel = ({ name, ...props }: Props) => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n return (\n <>\n <primitive ref={modelRef} {...props} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n","/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n return <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />;\n};\n\nexport default GlobeModel;\n","import { useLoader } from '@react-three/fiber';\nimport { ObjectLoader } from 'three';\nimport React from 'react';\n\nimport { Props as IllustrationProps } from './Illustration';\nimport LockModel from './LockModel';\nimport Scene from './Scene';\n\ntype Props = Omit<IllustrationProps, 'loading' | 'name'>;\n\nconst Lock = (props: Props) => {\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n return (\n <Scene castShadow>\n <LockModel />\n <primitive object={lights} />\n </Scene>\n );\n};\n\nexport default Lock;\n"],"names":["_ImageSizes","Sizes","_imageSizes","SMALL","MEDIUM","LARGE","Assets","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","modelRef","useRef","useGLTF","scene","model","animations","traverse","node","isMesh","castShadow","receiveShadow","_useAnimations","useAnimations","clips","mixer","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","_ref$castShadow","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","_excluded","props","_objectWithoutPropertiesLoose","lights","useLoader","ObjectLoader","_extends","wiseLogo","TextureLoader","planet","getObjectByName","child","startsWith","material","bumpMap","flipY","orbit","rotation","scale","LockModel"],"mappings":"6MAAAA,EAAYC,ECAZC,0CDAYD,QAAZA,WAAA,GAAYA,EAAAA,QAAKA,QAALA,cAIX,CAAA,IAHC,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,SAICA,EAAAA,IAAAA,QAAAA,MAAME,OAAQ,IACdF,EAAAA,QAAAA,MAAMG,QAAS,IACfH,EAAAA,QAAAA,MAAMI,OAAQ,ICWjB,ICbYC,EDaNC,IACHN,EAAAA,CAAAA,GAAAA,cAAME,OAAQ,IAAGD,EACjBD,QAAKA,MAACG,QAAS,MACfH,QAAAA,MAAMI,OAAQ,IAChBH,GAEKM,EAAeC,EAAAA,WACnB,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,EAAGlB,QAAAA,MAAMG,OACbgB,EAAAA,EAAAA,EAAAA,eAAAA,cAAsBC,EAIhBlB,EAAkBF,QAAAA,MAAlBE,MAAOC,EAAWH,QAAAA,MAAXG,OAEf,OAAOQ,eACLU,EAAAA,QAAAC,cAAA,UAAA,KACGL,IAASjB,QAAKA,MAACI,OAASa,IAASjB,QAAKA,MAACG,oBACtCkB,EAAAA,QAAAC,cAAAD,EAAAA,QAAAE,SAAA,kBACEF,EAAAA,QACEC,cAAA,SAAA,CAAAE,MAAOlB,EAAWJ,GAClBuB,OAAQnB,EAAWJ,GACnBwB,MAAM,qBACNC,OAAWC,EAAUjB,EAAMT,EAAO,MAAK,KAAK0B,EAAUjB,EAAMT,EAAO,MAAW,QAE/Ee,IAASjB,QAAAA,MAAMG,oBACdkB,EAAA,QAAAC,cAAA,SAAA,CACEE,MAAOlB,EAAWH,GAClBsB,OAAQnB,EAAWH,GACnBuB,MAAM,qBACNC,OAAWC,EAAUjB,EAAMR,EAAQ,MAAUyB,KAAAA,EAAUjB,EAAMR,EAAQ,MAAK,QAE1E,MAEJ,kBAEJkB,+BACEX,GAAIA,EACJD,IAAKA,EACLI,IAAQ,MAAHA,EAAAA,EAAOF,EAAKkB,QAAQ,IAAK,KAC9B,cAAA,OAAoBlB,EAAoB,gBACxCK,UAAWc,EAAAA,QACT,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,CCbC5B,QAlEDA,YAAA,GAAYA,EAAAA,QAAMA,SAANA,QAAMA,OAkEjB,CAAA,IAjEC,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,SClEF,MAAkB,WAChB,IAAc6B,EAAGC,EAAAA,WACHC,EAAAA,6BAA6B,GACnCC,EAAsBC,EAAtBD,MAAOE,EAAeD,EAAfC,WACfF,EAAMG,SAAS,SAACC,GACVA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,IAAAC,EAAyBC,gBAAcP,EAAYL,GAA3Ca,IAAAA,MAAOC,EAAKH,EAALG,MACNC,EAAG,EAUZ,OATAC,EAAQA,SAAC,SAACC,EAAOC,GACf,IAAgBC,EAAGL,EAAMM,WAAWP,EAAM,IAC1CM,EAAWE,OACXF,EAAWG,QAAQC,EAAQA,UAC3BpB,EAAMqB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVZ,KAC5BX,EAAMwB,UAAUC,SAASC,IAAIC,OAAOC,IAAM,KAC1C5B,EAAMwB,UAAUC,SAASC,IAAIC,OAAON,GAAK,CAC3C,gBAGEtC,EAAAA,QAAAC,cAAAD,EAAA,QAAAE,SAAA,kBACEF,EAAW,QAAAC,cAAA,YAAA,CAAAb,IAAKyB,EAAUiC,OAAQ9B,IAGxC,EClBM+B,EAAc,CAClBC,KAAM,CACJC,UAAW,UAISC,SAAAA,EAA6C3D,GAAA,MAArC4D,EAAAA,SAAU7B,EAAAA,EAAAA,wBACxC,OACEtB,UAAAC,cAAA,MAAA,CAAKmD,MAAOL,EAAYC,mBACtBhD,EAAAA,QAAAC,cAACoD,EAAMA,OACL,CAAAC,GAAI,CACFC,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAiBA,kBAC9BC,iBAAkBC,EAAAA,gBAEpBC,QAAS,CAAEC,KAAMC,eAAcC,aAXa,IAAAC,GAAQA,iBAapDpE,EAAA,QAAAC,cAACoE,EAAAA,kBACC,CAAAC,aACA,EAAAC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQhB,OAAOiB,WAAajB,OAAOkB,YACnCvC,SAAU,CAAC,EAAG,ECxCiB,MD0ChCc,GAIT,qOE9CA,IAAA0B,EAAA,CAAA,8BAOsB,SAAHtF,GAAMD,IAASwF,oIAAKC,CAAAxF,EAAAsF,GAC/BhE,EAAWC,EAAMA,SACZG,EAAGF,EAAAA,QAA2C,yBACjDG,EAAsBD,EAAtBC,WAAYF,EAAUC,EAAVD,MAERgE,EAAGC,EAAAA,UAAUC,EAAYA,aAAE,gCAEvC1D,EAAyBC,EAAaA,cAACP,EAAYL,GAA3Cc,EAAKH,EAALG,MAAOD,EAAAA,EAAAA,MAMf,OALAG,EAAQA,SAAC,WACPF,EAAMM,WAAWP,EAAM,IAAIQ,OAC3BP,EAAMM,WAAWP,EAAM,IAAIS,QAAQC,EAAQA,SAAE,EAC/C,gBAGEpC,MACEC,cAAAD,MAAAE,SAAA,kBAAAF,MAAAC,cAAA,YAAAkF,EAAA,CAAW/F,IAAKyB,GAAciE,EAAO,CAAAhC,OAAQ9B,kBAC7ChB,MAAAC,cAAA,YAAA,CAAW6C,OAAQkC,IAGzB,qBCnBmB,WACjB,MAAYlE,WACJE,EAAUD,UAA6B,sBAAvCC,MACFoE,EAAWH,YAAUI,EAAAA,cAAe,2BACpCC,EAAStE,EAAMuE,gBAAgB,WACvBvE,EAAMuE,gBAAgB,+BAuBpC,OArBAvE,EAAMG,SAAS,SAACqE,GACCA,EAAMlG,KAAKmG,WAAW,WAGnCD,EAAME,SAASC,QAAUP,EAEzBI,EAAME,SAASC,QAAQC,OAAQ,EAC/BJ,EAAMlE,YAAa,EACnBkE,EAAMjE,eAAgB,EAE1B,GAEAM,EAAAA,SAAS,WAEPgE,EAAMC,SAASxD,GAAK,KAEpBgD,EAAOI,SAAS/C,IAAIC,OAAOC,IAAM,KAEjCyC,EAAOI,SAAS/C,IAAIC,OAAON,GAAK,CAClC,gBAEOtC,MAAWC,cAAA,YAAA,CAAAb,IAAKA,EAAKiD,SAAU,CAAC,GAAI,GAAI,GAAI0D,MAAO,IAAKjD,OAAQ9B,GACzE,sCC1Ba,SAAC8D,GAEZ,IAAME,EAASC,EAAAA,UAAUC,EAAYA,aAAE,yCACvC,OACElF,UAAAC,cAACiD,EAAK,CAAC5B,YAAU,gBACftB,EAAC,QAAAC,cAAA+F,EACD,mBAAAhG,UAAWC,cAAA,YAAA,CAAA6C,OAAQkC,IAGzB"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/useBattery.ts","../src/illustrations3d/Illustration3d.tsx"],"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","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","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport React, { lazy, Suspense, useEffect } from 'react';\n\nimport Illustration, { IllustrationProps, Assets } from './../illustrations';\nimport useBattery from './useBattery';\n\nconst Scene = lazy(() => import('./Scene'));\nconst LockModel = lazy(() => import('./LockModel'));\nconst GlobeModel = lazy(() => import('./GlobeModel'));\nconst ConfettiModel = lazy(() => import('./ConfettiModel'));\n\ntype Props = Omit<IllustrationProps, 'loading'>;\n\nenum RenderMode {\n NONE,\n ASSET_STATIC,\n ASSET_3D,\n}\n\nconst Illustration3d = ({ name, size }: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.NONE);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n void wait(5000).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.ASSET_STATIC);\n });\n }, []);\n\n return renderMode === RenderMode.NONE ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>\n <Scene size={size} castShadow>\n {getModel(name)}\n </Scene>\n </Suspense>\n ) : (\n <Illustration name={name} alt=\"\" />\n );\n};\n\nfunction getModel(name: Props['name']) {\n switch (name) {\n case Assets.LOCK:\n return <LockModel />;\n case Assets.GLOBE:\n return <GlobeModel />;\n case Assets.CONFETTI:\n return <ConfettiModel />;\n default:\n return <Illustration name={name} alt=\"\" />;\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"],"names":["_ImageSizes","Sizes","_imageSizes","SMALL","MEDIUM","LARGE","Assets","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","lazy","Promise","resolve","then","require","GlobeModel","ConfettiModel","useState","batteryData","setBatteryData","_React$useState","NONE","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","reject","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","_navigator","_navigator$connection","saveData","setTimeout","ASSET_3D","ASSET_STATIC","Suspense","fallback","Scene","castShadow","LOCK","LockModel","GLOBE","CONFETTI","getModel"],"mappings":"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"}
|
package/dist/index.module.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"classnames";import t,{forwardRef as
|
|
1
|
+
import e from"classnames";import t,{forwardRef as n,useState as a,useEffect as r,lazy as i,Suspense as l}from"react";var E,o,c;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(o||(o={})),(E={})[o.SMALL]=200,E[o.MEDIUM]=300,E[o.LARGE]=500;var s,u=((c={})[o.SMALL]=200,c[o.MEDIUM]=300,c[o.LARGE]=500,c),A=n(function(n,a){var r=n.id,i=n.name,l=n.alt,E=n.loading,c=void 0===E?"eager":E,s=n.className,A=n.size,m=void 0===A?o.MEDIUM:A,T=n.disablePadding,I=void 0!==T&&T,S=o.SMALL,L=o.MEDIUM;return i?/*#__PURE__*/t.createElement("picture",null,m===o.LARGE||m===o.MEDIUM?/*#__PURE__*/t.createElement(t.Fragment,null,/*#__PURE__*/t.createElement("source",{width:u[S],height:u[S],media:"(max-width: 575px)",srcSet:d(i,S,"1x")+", "+d(i,S,"2x")+" 2x"}),m!==o.MEDIUM?/*#__PURE__*/t.createElement("source",{width:u[L],height:u[L],media:"(max-width: 992px)",srcSet:d(i,L,"1x")+", "+d(i,L,"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":!I},s),loading:c,src:d(i,m,"1x"),srcSet:d(i,m,"2x")+" 2x",width:u[m],height:u[m]})):null});function d(e,t,n){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+n+".webp"}!function(e){e.BELL="bell",e.BRIEFCASE="briefcase",e.BUSINESS_CARD="business-card",e.CALENDAR="calendar",e.CHECK_MARK="check-mark",e.CLOSED_WINDOW="closed-window",e.COIN_PILE_DOWN="coin-pile-down",e.COIN_PILE_UP="coin-pile-up",e.CONFETTI="confetti",e.CONSTRUCTION_FENCE="construction-fence",e.CONVERT="convert",e.COOKIE="cookie",e.DIGITAL_CARD_2="digital-card-2",e.DIGITAL_CARD="digital-card",e.DOCUMENTS="documents",e.DOOR="door",e.ECO_CARD="eco-card",e.ELECTRIC_PLUG="electric-plug",e.EMAIL_SUCCESS="email-success",e.EMAIL="email",e.EXCLAMATION_MARK="exclamation-mark",e.FLAG="flag",e.FLOWER="flower",e.GEAR="gear",e.GLOBE="globe",e.GRAPH="graph",e.HEART_2="heart-2",e.HEART_3="heart-3",e.HEART_4="heart-4",e.HEART_5="heart-5",e.HEART="heart",e.HOUSE="house",e.ID_CARD="id-card",e.INFINITE="infinite",e.INVITE_LETTER="invite-letter",e.JARS="jars",e.KEY="key",e.LIGHT_BULB="light-bulb",e.LOCK="lock",e.MAGNIFYING_GLASS="magnifying-glass",e.MAP="map",e.MARBLE_CARD_BUSINESS="marble-card-business",e.MARBLE_CARD="marble-card",e.MARBLE="marble",e.MEGAPHONE="megaphone",e.MULTI_CURRENCY="multi-currency",e.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",e.PALM_TREE="palm-tree",e.PERCENTAGE="percentage",e.PERSONAL_CARD="personal-card",e.PHONES="phones",e.PIE_CHART="pie-chart",e.PLANE_2="plane-2",e.PLANE="plane",e.PUZZLE_PIECES="puzzle-pieces",e.QUESTION_MARK="question-mark",e.RECEIVE="receive",e.REMINDER_LETTER="reminder-letter",e.SAND_TIMER="sand-timer",e.SHOPPING_BAG="shopping-bag",e.SKIP_AUTHENTICATION="skip-authentication",e.SPEECH_BUBBLE="speech-bubble",e.TOOL="tool",e.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",e.WALLET="wallet"}(s||(s={}));var m,T=i(function(){return import("./Scene-e7d2b16f.js")}),I=i(function(){return import("./LockModel-d234aa05.js")}),S=i(function(){return import("./GlobeModel-53b18308.js")}),L=i(function(){return import("./ConfettiModel-66c0d8ab.js")});!function(e){e[e.NONE=0]="NONE",e[e.ASSET_STATIC=1]="ASSET_STATIC",e[e.ASSET_3D=2]="ASSET_3D"}(m||(m={}));var _=function(e){var n,i,E,o=e.name,c=e.size,u=t.useState(m.NONE),d=u[0],_=u[1],N=(n=a({level:1}),i=n[0],E=n[1],r(function(){"getBattery"in navigator&&function(){try{Promise.resolve(navigator.getBattery()).then(function(e){E({level:e.level})})}catch(e){return Promise.reject(e)}}()},[]),i).level;return 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,5e3)}).then(function(){_(a?m.ASSET_3D:m.ASSET_STATIC)})},[]),d===m.NONE?null:d===m.ASSET_3D?/*#__PURE__*/t.createElement(l,{fallback:null},/*#__PURE__*/t.createElement(T,{size:c,castShadow:!0},function(e){switch(e){case s.LOCK:/*#__PURE__*/return t.createElement(I,null);case s.GLOBE:/*#__PURE__*/return t.createElement(S,null);case s.CONFETTI:/*#__PURE__*/return t.createElement(L,null);default:/*#__PURE__*/return t.createElement(A,{name:e,alt:""})}}(o))):/*#__PURE__*/t.createElement(A,{name:o,alt:""})};export{s as Assets,A as Illustration,_ as Illustration3d,o as Sizes};
|
|
2
2
|
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations/LockModel.jsx","../src/illustrations/Scene.tsx","../src/illustrations/common.ts","../src/illustrations/Lock.tsx","../src/illustrations/GlobeModel.tsx","../src/illustrations/ConfettiModel.tsx"],"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 */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce } from 'three';\n\nconst LockModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n </>\n );\n};\n\nexport default LockModel;\n","/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { Environment, OrbitControls, PerspectiveCamera, Stage } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { DEFAULT_CAMERA_POSITION_Z } from './common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n}>;\n\nconst sceneStyles = {\n root: {\n minHeight: '500px',\n },\n};\n\nexport default function Scene({ children, castShadow = false }: Props) {\n return (\n <div style={sceneStyles.root}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, DEFAULT_CAMERA_POSITION_Z]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n","export const DEFAULT_CAMERA_POSITION_Z = 80;\n","import { useLoader } from '@react-three/fiber';\nimport { ObjectLoader } from 'three';\nimport React from 'react';\n\nimport { Props as IllustrationProps } from './Illustration';\nimport LockModel from './LockModel';\nimport Scene from './Scene';\n\ntype Props = Omit<IllustrationProps, 'loading' | 'name'>;\n\nconst Lock = (props: Props) => {\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n return (\n <Scene castShadow>\n <LockModel />\n <primitive object={lights} />\n </Scene>\n );\n};\n\nexport default Lock;\n","/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n return <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />;\n};\n\nexport default GlobeModel;\n","import { useGLTF, useAnimations } from '@react-three/drei';\nimport { PrimitiveProps, useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nexport type Props = { id?: string } & PrimitiveProps;\n\nconst ConfettiModel = ({ name, ...props }: Props) => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n return (\n <>\n <primitive ref={modelRef} {...props} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n"],"names":["_ImageSizes","Sizes","_imageSizes","SMALL","MEDIUM","LARGE","Assets","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","modelRef","useRef","useGLTF","scene","model","animations","traverse","node","isMesh","castShadow","receiveShadow","_useAnimations","useAnimations","clips","mixer","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","_ref$castShadow","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","Lock","props","lights","useLoader","ObjectLoader","LockModel","GlobeModel","wiseLogo","TextureLoader","planet","getObjectByName","child","startsWith","material","bumpMap","flipY","orbit","rotation","scale","_excluded","ConfettiModel","_objectWithoutPropertiesLoose","_extends"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.module.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations3d/useBattery.ts","../src/illustrations3d/Illustration3d.tsx"],"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","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","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport React, { lazy, Suspense, useEffect } from 'react';\n\nimport Illustration, { IllustrationProps, Assets } from './../illustrations';\nimport useBattery from './useBattery';\n\nconst Scene = lazy(() => import('./Scene'));\nconst LockModel = lazy(() => import('./LockModel'));\nconst GlobeModel = lazy(() => import('./GlobeModel'));\nconst ConfettiModel = lazy(() => import('./ConfettiModel'));\n\ntype Props = Omit<IllustrationProps, 'loading'>;\n\nenum RenderMode {\n NONE,\n ASSET_STATIC,\n ASSET_3D,\n}\n\nconst Illustration3d = ({ name, size }: Props) => {\n const [renderMode, setRenderMode] = React.useState<RenderMode>(RenderMode.NONE);\n const { level } = useBattery();\n\n useEffect(() => {\n const isClientOkRender3dAssset = !(isConnectionSlow() || level <= 0.2);\n\n void wait(5000).then(() => {\n setRenderMode(isClientOkRender3dAssset ? RenderMode.ASSET_3D : RenderMode.ASSET_STATIC);\n });\n }, []);\n\n return renderMode === RenderMode.NONE ? null : renderMode === RenderMode.ASSET_3D ? (\n <Suspense fallback={null}>\n <Scene size={size} castShadow>\n {getModel(name)}\n </Scene>\n </Suspense>\n ) : (\n <Illustration name={name} alt=\"\" />\n );\n};\n\nfunction getModel(name: Props['name']) {\n switch (name) {\n case Assets.LOCK:\n return <LockModel />;\n case Assets.GLOBE:\n return <GlobeModel />;\n case Assets.CONFETTI:\n return <ConfettiModel />;\n default:\n return <Illustration name={name} alt=\"\" />;\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"],"names":["_ImageSizes","Sizes","_imageSizes","SMALL","MEDIUM","LARGE","Assets","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","lazy","import","GlobeModel","ConfettiModel","Illustration3d","useState","batteryData","setBatteryData","_React$useState","NONE","renderMode","setRenderMode","level","_useState","useEffect","getBatteryData","navigator","getBattery","battery","e","Promise","reject","connection","isClientOkRender3dAssset","undefined","window","console","log","effectiveType","includes","_navigator","_navigator$connection","saveData","resolve","setTimeout","then","ASSET_3D","ASSET_STATIC","Suspense","fallback","Scene","castShadow","LOCK","LockModel","GLOBE","CONFETTI","getModel"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/art",
|
|
3
|
-
"version": "2.3.4-beta.
|
|
3
|
+
"version": "2.3.4-beta.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React library for art elements in UI",
|
|
6
6
|
"homepage": "https://github.com/transferwise/web-art#readme",
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"source": "src/index.ts",
|
|
12
12
|
"main": "dist/index.js",
|
|
13
13
|
"module": "./dist/index.module.js",
|
|
14
|
-
"unpkg": "./dist/index.umd.js",
|
|
15
14
|
"types": "dist/index.d.ts",
|
|
16
15
|
"files": [
|
|
17
16
|
"dist"
|
|
@@ -27,7 +26,7 @@
|
|
|
27
26
|
"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",
|
|
28
27
|
"generate-i10s-metadata": "node ./scripts/generate-i10s-metadata.mjs && eslint 'src/illustrations/metadata.ts' --fix",
|
|
29
28
|
"load-3d-assets": "copyfiles -f src/gltf/*.json src/gltf/*.gltf src/gltf/*.jpg dist/gltf",
|
|
30
|
-
"bundle": "rm -rf dist && microbundle --jsxFragment React.Fragment --jsx React.createElement && cpx src/illustrations/Illustration.css dist/",
|
|
29
|
+
"bundle": "rm -rf dist && microbundle --jsxFragment React.Fragment --jsx React.createElement --format es,cjs && cpx src/illustrations/Illustration.css dist/",
|
|
31
30
|
"bundle:analyze": "mkdir -p dist-temp && webpack -p --profile --json > dist-temp/stats.json && webpack-bundle-analyzer dist-temp/stats.json",
|
|
32
31
|
"cleanup": "rm -rf temp",
|
|
33
32
|
"build": "yarn load-i10s && yarn convert-i10s-png-to-webp && yarn generate-i10s-metadata && yarn load-flags && yarn bundle && yarn load-3d-assets && yarn cleanup",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
export declare type Props = PropsWithChildren<{
|
|
3
|
-
textureAnimationXSpeed?: number;
|
|
4
|
-
textureAnimationYSpeed?: number;
|
|
5
|
-
castShadow?: boolean;
|
|
6
|
-
}>;
|
|
7
|
-
export default function Scene({ children, castShadow }: Props): JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_CAMERA_POSITION_Z = 80;
|
package/dist/index.modern.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"classnames";import t,{forwardRef as a,useRef as i}from"react";import{useFrame as r,Canvas as n,useLoader as l}from"@react-three/fiber";import{LoopOnce as o,LinearToneMapping as c,SRGBColorSpace as s,PCFShadowMap as E,ObjectLoader as m,TextureLoader as p}from"three";import{useGLTF as d,useAnimations as u,PerspectiveCamera as A}from"@react-three/drei";var R;!function(e){e.SMALL="small",e.MEDIUM="medium",e.LARGE="large"}(R||(R={}));const f={[R.SMALL]:200,[R.MEDIUM]:300,[R.LARGE]:500},g=a(({id:a,name:i,alt:r,loading:n="eager",className:l,size:o=R.MEDIUM,disablePadding:c=!1},s)=>{const{SMALL:E,MEDIUM:m}=R;return i?/*#__PURE__*/t.createElement("picture",null,o===R.LARGE||o===R.MEDIUM?/*#__PURE__*/t.createElement(t.Fragment,null,/*#__PURE__*/t.createElement("source",{width:f[E],height:f[E],media:"(max-width: 575px)",srcSet:`${h(i,E,"1x")}, ${h(i,E,"2x")} 2x`}),o!==R.MEDIUM?/*#__PURE__*/t.createElement("source",{width:f[m],height:f[m],media:"(max-width: 992px)",srcSet:`${h(i,m,"1x")}, ${h(i,m,"2x")} 2x`}):null):null,/*#__PURE__*/t.createElement("img",{id:a,ref:s,alt:null!=r?r:i.replace("-"," "),"data-testid":`wds-${i}-illustration`,className:e("wds-illustration",`wds-illustration-${i}`,{"wds-illustration-padding":!c},l),loading:n,src:h(i,o,"1x"),srcSet:`${h(i,o,"2x")} 2x`,width:f[o],height:f[o]})):null});function h(e,t,a){return`https://wise.com/web-art/assets/illustrations/${e}-${t}@${a}.webp`}var I;!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"}(I||(I={}));const L=()=>{const e=i(),a=d("../gltf/lock.gltf",!0),{scene:n,animations:l}=a;n.traverse(e=>{e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});const{clips:c,mixer:s}=u(l,e);let E=0;return r((e,t)=>{const i=s.clipAction(c[0]);i.play(),i.setLoop(o),n.position.y=.2*Math.sin(.04*E++),a.materials.Standard.map.offset.x+=-.001,a.materials.Standard.map.offset.y+=0}),/*#__PURE__*/t.createElement(t.Fragment,null,/*#__PURE__*/t.createElement("primitive",{ref:e,object:n}))},_={root:{minHeight:"500px"}};function N({children:e,castShadow:a=!1}){/*#__PURE__*/return t.createElement("div",{style:_.root},/*#__PURE__*/t.createElement(n,{gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:c,outputColorSpace:s},shadows:{type:E,enabled:a}},/*#__PURE__*/t.createElement(A,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,80]}),e))}const S=e=>{const a=l(m,"../gltf/lock-lights.json");/*#__PURE__*/return t.createElement(N,{castShadow:!0},/*#__PURE__*/t.createElement(L,null),/*#__PURE__*/t.createElement("primitive",{object:a}))},C=()=>{const e=i(),{scene:t}=d("../gltf/globe.gltf"),a=l(p,"../gltf/coinBumpMap.jpg"),n=t.getObjectByName("Globe"),o=t.getObjectByName("Coins_Axis_Rotation_Animate");return t.traverse(e=>{e.name.startsWith("Coin_")&&(e.material.bumpMap=a,e.material.bumpMap.flipY=!1,e.castShadow=!1,e.receiveShadow=!1)}),r(()=>{o.rotation.y+=.002,n.material.map.offset.x+=-2e-4,n.material.map.offset.y+=0}),/*#__PURE__*/React.createElement("primitive",{ref:e,position:[0,-10,0],scale:1.3,object:t})};function O(){return O=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},O.apply(this,arguments)}const T=["name"],M=e=>{let t=function(e,t){if(null==e)return{};var a,i,r={},n=Object.keys(e);for(i=0;i<n.length;i++)t.indexOf(a=n[i])>=0||(r[a]=e[a]);return r}(e,T);const a=i(),n=d("../gltf/confetti.gltf"),{animations:c,scene:s}=n,E=l(m,"../gltf/confetti-lights.json"),{mixer:p,clips:A}=u(c,a);return r(()=>{p.clipAction(A[0]).play(),p.clipAction(A[0]).setLoop(o,1)}),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",O({ref:a},t,{object:s})),/*#__PURE__*/React.createElement("primitive",{object:E}))};export{I as Assets,M as ConfettiModel,C as GlobeModel,g as Illustration,S as Lock,R as Sizes};
|
|
2
|
-
//# sourceMappingURL=index.modern.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.mjs","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations/LockModel.jsx","../src/illustrations/Scene.tsx","../src/illustrations/common.ts","../src/illustrations/Lock.tsx","../src/illustrations/GlobeModel.tsx","../src/illustrations/ConfettiModel.tsx"],"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 */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce } from 'three';\n\nconst LockModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n </>\n );\n};\n\nexport default LockModel;\n","/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { Environment, OrbitControls, PerspectiveCamera, Stage } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { DEFAULT_CAMERA_POSITION_Z } from './common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n}>;\n\nconst sceneStyles = {\n root: {\n minHeight: '500px',\n },\n};\n\nexport default function Scene({ children, castShadow = false }: Props) {\n return (\n <div style={sceneStyles.root}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, DEFAULT_CAMERA_POSITION_Z]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n","export const DEFAULT_CAMERA_POSITION_Z = 80;\n","import { useLoader } from '@react-three/fiber';\nimport { ObjectLoader } from 'three';\nimport React from 'react';\n\nimport { Props as IllustrationProps } from './Illustration';\nimport LockModel from './LockModel';\nimport Scene from './Scene';\n\ntype Props = Omit<IllustrationProps, 'loading' | 'name'>;\n\nconst Lock = (props: Props) => {\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n return (\n <Scene castShadow>\n <LockModel />\n <primitive object={lights} />\n </Scene>\n );\n};\n\nexport default Lock;\n","/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n return <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />;\n};\n\nexport default GlobeModel;\n","import { useGLTF, useAnimations } from '@react-three/drei';\nimport { PrimitiveProps, useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nexport type Props = { id?: string } & PrimitiveProps;\n\nconst ConfettiModel = ({ name, ...props }: Props) => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n return (\n <>\n <primitive ref={modelRef} {...props} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n"],"names":["Sizes","imageSizes","SMALL","MEDIUM","LARGE","Illustration","forwardRef","id","name","alt","loading","className","size","disablePadding","ref","React","createElement","Fragment","width","height","media","srcSet","defineSrc","replace","classNames","src","illustration","descriptor","Assets","LockModel","useRef","useGLTF","scene","animations","model","traverse","node","isMesh","castShadow","receiveShadow","clips","mixer","useAnimations","modelRef","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","Lock","props","lights","useLoader","ObjectLoader","wiseLogo","TextureLoader","getObjectByName","orbit","child","startsWith","material","bumpMap","flipY","rotation","planet","scale","_excluded","ConfettiModel","_ref","_objectWithoutPropertiesLoose","_extends"],"mappings":"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"}
|
package/dist/index.umd.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("classnames"),require("react"),require("@react-three/fiber"),require("three"),require("@react-three/drei")):"function"==typeof define&&define.amd?define(["exports","classnames","react","@react-three/fiber","three","@react-three/drei"],t):t((e||self).art={},e.classnames,e.react,e.fiber,e.three,e.drei)}(this,function(e,t,a,i,r,n){function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o,s,c,u=/*#__PURE__*/l(t),d=/*#__PURE__*/l(a);e.Sizes=void 0,(s=e.Sizes||(e.Sizes={})).SMALL="small",s.MEDIUM="medium",s.LARGE="large",(o={})[e.Sizes.SMALL]=200,o[e.Sizes.MEDIUM]=300,o[e.Sizes.LARGE]=500;var E,f=((c={})[e.Sizes.SMALL]=200,c[e.Sizes.MEDIUM]=300,c[e.Sizes.LARGE]=500,c),m=a.forwardRef(function(t,a){var i=t.id,r=t.name,n=t.alt,l=t.loading,o=void 0===l?"eager":l,s=t.className,c=t.size,E=void 0===c?e.Sizes.MEDIUM:c,m=t.disablePadding,A=void 0!==m&&m,L=e.Sizes.SMALL,R=e.Sizes.MEDIUM;return r?/*#__PURE__*/d.default.createElement("picture",null,E===e.Sizes.LARGE||E===e.Sizes.MEDIUM?/*#__PURE__*/d.default.createElement(d.default.Fragment,null,/*#__PURE__*/d.default.createElement("source",{width:f[L],height:f[L],media:"(max-width: 575px)",srcSet:p(r,L,"1x")+", "+p(r,L,"2x")+" 2x"}),E!==e.Sizes.MEDIUM?/*#__PURE__*/d.default.createElement("source",{width:f[R],height:f[R],media:"(max-width: 992px)",srcSet:p(r,R,"1x")+", "+p(r,R,"2x")+" 2x"}):null):null,/*#__PURE__*/d.default.createElement("img",{id:i,ref:a,alt:null!=n?n:r.replace("-"," "),"data-testid":"wds-"+r+"-illustration",className:u.default("wds-illustration","wds-illustration-"+r,{"wds-illustration-padding":!A},s),loading:o,src:p(r,E,"1x"),srcSet:p(r,E,"2x")+" 2x",width:f[E],height:f[E]})):null});function p(e,t,a){return"https://wise.com/web-art/assets/illustrations/"+e+"-"+t+"@"+a+".webp"}e.Assets=void 0,(E=e.Assets||(e.Assets={})).BELL="bell",E.BRIEFCASE="briefcase",E.BUSINESS_CARD="business-card",E.CALENDAR="calendar",E.CHECK_MARK="check-mark",E.CLOSED_WINDOW="closed-window",E.COIN_PILE_DOWN="coin-pile-down",E.COIN_PILE_UP="coin-pile-up",E.CONFETTI="confetti",E.CONSTRUCTION_FENCE="construction-fence",E.CONVERT="convert",E.COOKIE="cookie",E.DIGITAL_CARD_2="digital-card-2",E.DIGITAL_CARD="digital-card",E.DOCUMENTS="documents",E.DOOR="door",E.ECO_CARD="eco-card",E.ELECTRIC_PLUG="electric-plug",E.EMAIL_SUCCESS="email-success",E.EMAIL="email",E.EXCLAMATION_MARK="exclamation-mark",E.FLAG="flag",E.FLOWER="flower",E.GEAR="gear",E.GLOBE="globe",E.GRAPH="graph",E.HEART_2="heart-2",E.HEART_3="heart-3",E.HEART_4="heart-4",E.HEART_5="heart-5",E.HEART="heart",E.HOUSE="house",E.ID_CARD="id-card",E.INFINITE="infinite",E.INVITE_LETTER="invite-letter",E.JARS="jars",E.KEY="key",E.LIGHT_BULB="light-bulb",E.LOCK="lock",E.MAGNIFYING_GLASS="magnifying-glass",E.MAP="map",E.MARBLE_CARD_BUSINESS="marble-card-business",E.MARBLE_CARD="marble-card",E.MARBLE="marble",E.MEGAPHONE="megaphone",E.MULTI_CURRENCY="multi-currency",E.ONE_INVITE_LETTER_OPENED="one-invite-letter-opened",E.PALM_TREE="palm-tree",E.PERCENTAGE="percentage",E.PERSONAL_CARD="personal-card",E.PHONES="phones",E.PIE_CHART="pie-chart",E.PLANE_2="plane-2",E.PLANE="plane",E.PUZZLE_PIECES="puzzle-pieces",E.QUESTION_MARK="question-mark",E.RECEIVE="receive",E.REMINDER_LETTER="reminder-letter",E.SAND_TIMER="sand-timer",E.SHOPPING_BAG="shopping-bag",E.SKIP_AUTHENTICATION="skip-authentication",E.SPEECH_BUBBLE="speech-bubble",E.TOOL="tool",E.TWO_INVITE_LETTERS_OPENED="two-invite-letters-opened",E.WALLET="wallet";var A=function(){var e=a.useRef(),t=n.useGLTF("../gltf/lock.gltf",!0),l=t.scene,o=t.animations;l.traverse(function(e){e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)});var s=n.useAnimations(o,e),c=s.clips,u=s.mixer,E=0;return i.useFrame(function(e,a){var i=u.clipAction(c[0]);i.play(),i.setLoop(r.LoopOnce),l.position.y=.2*Math.sin(.04*E++),t.materials.Standard.map.offset.x+=-.001,t.materials.Standard.map.offset.y+=0}),/*#__PURE__*/d.default.createElement(d.default.Fragment,null,/*#__PURE__*/d.default.createElement("primitive",{ref:e,object:l}))},L={root:{minHeight:"500px"}};function R(e){var t=e.children,a=e.castShadow;/*#__PURE__*/return d.default.createElement("div",{style:L.root},/*#__PURE__*/d.default.createElement(i.Canvas,{gl:{alpha:!0,antialias:!0,pixelRatio:1*window.devicePixelRatio,toneMapping:r.LinearToneMapping,outputColorSpace:r.SRGBColorSpace},shadows:{type:r.PCFShadowMap,enabled:void 0!==a&&a}},/*#__PURE__*/d.default.createElement(n.PerspectiveCamera,{makeDefault:!0,far:1e12,near:.1,fov:10.29,aspect:window.innerWidth/window.innerHeight,position:[0,0,80]}),t))}function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},S.apply(this,arguments)}var h=["name"];e.ConfettiModel=function(e){var t=function(e,t){if(null==e)return{};var a,i,r={},n=Object.keys(e);for(i=0;i<n.length;i++)t.indexOf(a=n[i])>=0||(r[a]=e[a]);return r}(e,h),l=a.useRef(),o=n.useGLTF("../gltf/confetti.gltf"),s=o.animations,c=o.scene,u=i.useLoader(r.ObjectLoader,"../gltf/confetti-lights.json"),d=n.useAnimations(s,l),E=d.mixer,f=d.clips;return i.useFrame(function(){E.clipAction(f[0]).play(),E.clipAction(f[0]).setLoop(r.LoopOnce,1)}),/*#__PURE__*/React.createElement(React.Fragment,null,/*#__PURE__*/React.createElement("primitive",S({ref:l},t,{object:c})),/*#__PURE__*/React.createElement("primitive",{object:u}))},e.GlobeModel=function(){var e=a.useRef(),t=n.useGLTF("../gltf/globe.gltf").scene,l=i.useLoader(r.TextureLoader,"../gltf/coinBumpMap.jpg"),o=t.getObjectByName("Globe"),s=t.getObjectByName("Coins_Axis_Rotation_Animate");return t.traverse(function(e){e.name.startsWith("Coin_")&&(e.material.bumpMap=l,e.material.bumpMap.flipY=!1,e.castShadow=!1,e.receiveShadow=!1)}),i.useFrame(function(){s.rotation.y+=.002,o.material.map.offset.x+=-2e-4,o.material.map.offset.y+=0}),/*#__PURE__*/React.createElement("primitive",{ref:e,position:[0,-10,0],scale:1.3,object:t})},e.Illustration=m,e.Lock=function(e){var t=i.useLoader(r.ObjectLoader,"../gltf/lock-lights.json");/*#__PURE__*/return d.default.createElement(R,{castShadow:!0},/*#__PURE__*/d.default.createElement(A,null),/*#__PURE__*/d.default.createElement("primitive",{object:t}))}});
|
|
2
|
-
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/common.ts","../src/illustrations/Illustration.tsx","../src/illustrations/metadata.ts","../src/illustrations/LockModel.jsx","../src/illustrations/Scene.tsx","../src/illustrations/common.ts","../src/illustrations/ConfettiModel.tsx","../src/illustrations/GlobeModel.tsx","../src/illustrations/Lock.tsx"],"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 */\nimport { useGLTF, useAnimations } from '@react-three/drei';\nimport { useFrame } from '@react-three/fiber';\nimport React, { useRef } from 'react';\nimport { LoopOnce } from 'three';\n\nconst LockModel = () => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/lock.gltf`, true);\n const { scene, animations } = model;\n scene.traverse((node) => {\n if (node.isMesh) {\n node.castShadow = true;\n node.receiveShadow = true;\n }\n });\n\n const { clips, mixer } = useAnimations(animations, modelRef);\n let frame = 0;\n useFrame((state, delta) => {\n const lockAction = mixer.clipAction(clips[0]);\n lockAction.play();\n lockAction.setLoop(LoopOnce);\n scene.position.y = Math.sin(frame++ * 0.04) * 0.2;\n model.materials.Standard.map.offset.x += -0.001;\n model.materials.Standard.map.offset.y += 0;\n });\n\n return (\n <>\n <primitive ref={modelRef} object={scene} />\n </>\n );\n};\n\nexport default LockModel;\n","/* eslint-disable react/forbid-dom-props */\n/* eslint-disable react/function-component-definition */\nimport { Environment, OrbitControls, PerspectiveCamera, Stage } from '@react-three/drei';\nimport { Canvas } from '@react-three/fiber';\nimport React, { PropsWithChildren } from 'react';\nimport { PCFShadowMap, LinearToneMapping, SRGBColorSpace } from 'three';\n\nimport { DEFAULT_CAMERA_POSITION_Z } from './common';\n\nexport type Props = PropsWithChildren<{\n textureAnimationXSpeed?: number;\n textureAnimationYSpeed?: number;\n castShadow?: boolean;\n}>;\n\nconst sceneStyles = {\n root: {\n minHeight: '500px',\n },\n};\n\nexport default function Scene({ children, castShadow = false }: Props) {\n return (\n <div style={sceneStyles.root}>\n <Canvas\n gl={{\n alpha: true,\n antialias: true,\n pixelRatio: window.devicePixelRatio * 1,\n toneMapping: LinearToneMapping,\n outputColorSpace: SRGBColorSpace,\n }}\n shadows={{ type: PCFShadowMap, enabled: castShadow }}\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, DEFAULT_CAMERA_POSITION_Z]}\n />\n {children}\n </Canvas>\n </div>\n );\n}\n","export const DEFAULT_CAMERA_POSITION_Z = 80;\n","import { useGLTF, useAnimations } from '@react-three/drei';\nimport { PrimitiveProps, useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { ObjectLoader, LoopOnce } from 'three';\n\nexport type Props = { id?: string } & PrimitiveProps;\n\nconst ConfettiModel = ({ name, ...props }: Props) => {\n const modelRef = useRef();\n const model = useGLTF(`../gltf/confetti.gltf` /*, true*/);\n const { animations, scene } = model;\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/confetti-lights.json');\n\n const { mixer, clips } = useAnimations(animations, modelRef);\n useFrame(() => {\n mixer.clipAction(clips[0]).play();\n mixer.clipAction(clips[0]).setLoop(LoopOnce, 1);\n });\n\n return (\n <>\n <primitive ref={modelRef} {...props} object={scene} />\n <primitive object={lights} />\n </>\n );\n};\n\nexport default ConfettiModel;\n","/* eslint-disable fp/no-mutation */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { useGLTF } from '@react-three/drei';\nimport { useFrame, useLoader } from '@react-three/fiber';\nimport { useRef } from 'react';\nimport { TextureLoader } from 'three';\n\nconst GlobeModel = () => {\n const ref = useRef();\n const { scene } = useGLTF(`../gltf/globe.gltf`);\n const wiseLogo = useLoader(TextureLoader, '../gltf/coinBumpMap.jpg');\n const planet = scene.getObjectByName('Globe') as THREE.Mesh;\n const orbit = scene.getObjectByName('Coins_Axis_Rotation_Animate');\n\n scene.traverse((child) => {\n const isCoin = child.name.startsWith('Coin_');\n if (isCoin) {\n // @ts-expect-error later\n child.material.bumpMap = wiseLogo;\n // @ts-expect-error later\n child.material.bumpMap.flipY = false;\n child.castShadow = false;\n child.receiveShadow = false;\n }\n });\n\n useFrame(() => {\n // @ts-expect-error later\n orbit.rotation.y += 0.002;\n // @ts-expect-error later\n planet.material.map.offset.x += -0.0002;\n // @ts-expect-error later\n planet.material.map.offset.y += 0.0;\n });\n\n return <primitive ref={ref} position={[0, -10, 0]} scale={1.3} object={scene} />;\n};\n\nexport default GlobeModel;\n","import { useLoader } from '@react-three/fiber';\nimport { ObjectLoader } from 'three';\nimport React from 'react';\n\nimport { Props as IllustrationProps } from './Illustration';\nimport LockModel from './LockModel';\nimport Scene from './Scene';\n\ntype Props = Omit<IllustrationProps, 'loading' | 'name'>;\n\nconst Lock = (props: Props) => {\n // @ts-expect-error later\n const lights = useLoader(ObjectLoader, '../gltf/lock-lights.json');\n return (\n <Scene castShadow>\n <LockModel />\n <primitive object={lights} />\n </Scene>\n );\n};\n\nexport default Lock;\n"],"names":["_ImageSizes","Sizes","_imageSizes","SMALL","MEDIUM","LARGE","Assets","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","exports","modelRef","useRef","useGLTF","scene","model","animations","traverse","node","isMesh","castShadow","receiveShadow","_useAnimations","useAnimations","clips","mixer","frame","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","_ref$castShadow","PerspectiveCamera","makeDefault","far","near","fov","aspect","innerWidth","innerHeight","_excluded","props","_objectWithoutPropertiesLoose","lights","useLoader","ObjectLoader","_extends","wiseLogo","TextureLoader","planet","getObjectByName","child","startsWith","material","bumpMap","flipY","orbit","rotation","scale","LockModel"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|