@wise/art 2.3.4-beta.3 → 2.3.4-beta.4

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/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 { 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 { 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, { forwardRef, ImgHTMLAttributes } 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","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"],"mappings":"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"}
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 { 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 { 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","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"],"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,IAAM6B,EAAY,WAChB,MAAiBC,EAAAA,SACXC,EAAQC,EAAAA,QAAO,qBAAsB,GAC9BC,EAAiBF,EAAtBE,MAAOC,EAAeH,EAAfG,WACfD,EAAME,SAAS,SAACC,GACVA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,IAAyBC,EAAAA,gBAAcN,EAAYO,GAA3CC,EAAKC,EAALD,MAAOE,EAAAA,EAAAA,QACH,EAUZ,OATAC,EAAQA,SAAC,SAACC,EAAOC,GACf,IAAgBC,EAAGJ,EAAMK,WAAWP,EAAM,IAC1CM,EAAWE,OACXF,EAAWG,QAAQC,EAAQA,UAC3BnB,EAAMoB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVC,KAC5B1B,EAAM2B,UAAUC,SAASC,IAAIC,OAAOC,IAAM,KAC1C/B,EAAM2B,UAAUC,SAASC,IAAIC,OAAOP,GAAK,CAC3C,gBAGEtC,MAAAC,cAAAD,MAAAE,SAAA,kBACEF,MAAWC,cAAA,YAAA,CAAAb,IAAKqC,EAAUsB,OAAQ9B,IAGxC,EClBM+B,EAAc,CAClBC,KAAM,CACJC,UAAW,UAID,SAAeC,EAAA5D,OAAW6D,EAAA7D,EAAR6D,SAAQC,EAAA9D,EAAE+B,wBACxC,OACEtB,MAAKC,cAAA,MAAA,CAAAqD,MAAON,EAAYC,mBACtBjD,MAACC,cAAAsD,EAAMA,OACL,CAAAC,GAAI,CACFC,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAiBA,kBAC9BC,iBAAkBC,EAAAA,gBAEpBC,QAAS,CAAEC,KAAMC,eAAcC,aAXa,IAAAhB,GAClDA,iBAYMrD,MAACC,cAAAqE,EAAAA,mBACCC,aAAW,EACXC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCxC,SAAU,CAAC,EAAG,ECxCiB,MD0ChCe,GAIT,qOE9CA,IAAA0B,EAAA,CAAA,8BAOsB,SAAHvF,GAAMD,IAASyF,oIAAKC,CAAAzF,EAAAuF,GAC/BrD,EAAWX,EAAMA,SACZC,EAAGC,EAAAA,QAA2C,yBACjDE,EAAsBH,EAAtBG,WAAYD,EAAUF,EAAVE,MAERgE,EAAGC,EAAAA,UAAUC,EAAYA,aAAE,gCAEvCxD,EAAyBH,EAAaA,cAACN,EAAYO,GAA3CG,EAAKD,EAALC,MAAOF,EAAAA,EAAAA,MAMf,OALAG,EAAQA,SAAC,WACPD,EAAMK,WAAWP,EAAM,IAAIQ,OAC3BN,EAAMK,WAAWP,EAAM,IAAIS,QAAQC,EAAQA,SAAE,EAC/C,gBAGEpC,MACEC,cAAAD,MAAAE,SAAA,kBAAAF,MAAAC,cAAA,YAAAmF,EAAA,CAAWhG,IAAKqC,GAAcsD,EAAO,CAAAhC,OAAQ9B,kBAC7CjB,MAAAC,cAAA,YAAA,CAAW8C,OAAQkC,IAGzB,qBCnBmB,WACjB,MAAYnE,WACJG,EAAUD,UAA6B,sBAAvCC,MACFoE,EAAWH,YAAUI,EAAAA,cAAe,2BACpCC,EAAStE,EAAMuE,gBAAgB,WACvBvE,EAAMuE,gBAAgB,+BAuBpC,OArBAvE,EAAME,SAAS,SAACsE,GACCA,EAAMnG,KAAKoG,WAAW,WAGnCD,EAAME,SAASC,QAAUP,EAEzBI,EAAME,SAASC,QAAQC,OAAQ,EAC/BJ,EAAMnE,YAAa,EACnBmE,EAAMlE,eAAgB,EAE1B,GAEAM,EAAAA,SAAS,WAEPiE,EAAMC,SAASzD,GAAK,KAEpBiD,EAAOI,SAAS/C,IAAIC,OAAOC,IAAM,KAEjCyC,EAAOI,SAAS/C,IAAIC,OAAOP,GAAK,CAClC,gBAEOtC,MAAWC,cAAA,YAAA,CAAAb,IAAKA,EAAKiD,SAAU,CAAC,GAAI,GAAI,GAAI2D,MAAO,IAAKjD,OAAQ9B,GACzE,sCC1Ba,SAAC8D,GAEZ,IAAME,EAASC,EAAAA,UAAUC,EAAYA,aAAE,yCACvC,OACEnF,UAAAC,cAACkD,EAAK,CAAC7B,YAAU,gBACftB,EAAC,QAAAC,cAAAY,EACD,mBAAAb,UAAWC,cAAA,YAAA,CAAA8C,OAAQkC,IAGzB"}
@@ -1 +1 @@
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 { 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 { 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, { forwardRef, ImgHTMLAttributes } 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","modelRef","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","clips","mixer","useAnimations","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","LockModel","wiseLogo","TextureLoader","getObjectByName","orbit","child","startsWith","material","bumpMap","flipY","rotation","planet","scale","_excluded","ConfettiModel","_ref","_objectWithoutPropertiesLoose","_extends"],"mappings":"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"}
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 { 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 { 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","modelRef","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","clips","mixer","useAnimations","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","LockModel","wiseLogo","TextureLoader","getObjectByName","orbit","child","startsWith","material","bumpMap","flipY","rotation","planet","scale","_excluded","ConfettiModel","_ref","_objectWithoutPropertiesLoose","_extends"],"mappings":"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"}
@@ -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 { 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 { 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, { forwardRef, ImgHTMLAttributes } 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","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","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/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 { 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 { 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","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","GlobeModel","wiseLogo","TextureLoader","planet","getObjectByName","child","startsWith","material","bumpMap","flipY","orbit","rotation","scale","_excluded","ConfettiModel","_objectWithoutPropertiesLoose","_extends"],"mappings":"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"}
@@ -1 +1 @@
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 { 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 { 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, { forwardRef, ImgHTMLAttributes } 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","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"],"mappings":"whBAAAA,EAAYC,ECAZC,0CDAYD,EAAZA,WAAA,GAAYA,EAAAA,EAAKA,QAALA,QAIX,CAAA,IAHC,MAAA,QACAA,EAAA,OAAA,SACAA,EAAA,MAAA,SAICA,EAAAA,IAAAA,EAAAA,MAAME,OAAQ,IACdF,EAAAA,EAAAA,MAAMG,QAAS,IACfH,EAAAA,EAAAA,MAAMI,OAAQ,ICWjB,ICbYC,EDaNC,IACHN,EAAAA,CAAAA,GAAAA,QAAME,OAAQ,IAAGD,EACjBD,EAAKA,MAACG,QAAS,MACfH,EAAAA,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,EAAAA,MAAMG,OACbgB,EAAAA,EAAAA,EAAAA,eAAAA,cAAsBC,EAIhBlB,EAAkBF,EAAAA,MAAlBE,MAAOC,EAAWH,EAAAA,MAAXG,OAEf,OAAOQ,eACLU,EAAAA,QAAAC,cAAA,UAAA,KACGL,IAASjB,EAAKA,MAACI,OAASa,IAASjB,EAAKA,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,EAAAA,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,CC/EAC,EAAA7B,YAAA,GAAYA,EAAAA,EAAMA,SAANA,EAAMA,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,IAAM8B,EAAY,WAChB,MAAiBC,EAAAA,SACXC,EAAQC,EAAAA,QAAO,qBAAsB,GAC9BC,EAAiBF,EAAtBE,MAAOC,EAAeH,EAAfG,WACfD,EAAME,SAAS,SAACC,GACVA,EAAKC,SACPD,EAAKE,YAAa,EAClBF,EAAKG,eAAgB,EAEzB,GAEA,IAAyBC,EAAAA,gBAAcN,EAAYO,GAA3CC,EAAKC,EAALD,MAAOE,EAAAA,EAAAA,QACH,EAUZ,OATAC,EAAQA,SAAC,SAACC,EAAOC,GACf,IAAgBC,EAAGJ,EAAMK,WAAWP,EAAM,IAC1CM,EAAWE,OACXF,EAAWG,QAAQC,EAAQA,UAC3BnB,EAAMoB,SAASC,EAA+B,GAA3BC,KAAKC,IAAc,IAAVC,KAC5B1B,EAAM2B,UAAUC,SAASC,IAAIC,OAAOC,IAAM,KAC1C/B,EAAM2B,UAAUC,SAASC,IAAIC,OAAOP,GAAK,CAC3C,gBAGEvC,MAAAC,cAAAD,MAAAE,SAAA,kBACEF,MAAWC,cAAA,YAAA,CAAAb,IAAKsC,EAAUsB,OAAQ9B,IAGxC,EClBM+B,EAAc,CAClBC,KAAM,CACJC,UAAW,UAID,SAAeC,EAAA7D,OAAW8D,EAAA9D,EAAR8D,SAAQC,EAAA/D,EAAEgC,wBACxC,OACEvB,MAAKC,cAAA,MAAA,CAAAsD,MAAON,EAAYC,mBACtBlD,MAACC,cAAAuD,EAAMA,OACL,CAAAC,GAAI,CACFC,OAAO,EACPC,WAAW,EACXC,WAAsC,EAA1BC,OAAOC,iBACnBC,YAAaC,EAAiBA,kBAC9BC,iBAAkBC,EAAAA,gBAEpBC,QAAS,CAAEC,KAAMC,eAAcC,aAXa,IAAAhB,GAClDA,iBAYMtD,MAACC,cAAAsE,EAAAA,mBACCC,aAAW,EACXC,IAAK,KACLC,KAAM,GACNC,IAAK,MACLC,OAAQf,OAAOgB,WAAahB,OAAOiB,YACnCxC,SAAU,CAAC,EAAG,ECxCiB,MD0ChCe,GAIT,qOE9CA,IAAA0B,EAAA,CAAA,wBAOsB,SAAHxF,GAAMD,IAAS0F,oIAAKC,CAAA1F,EAAAwF,GAC/BrD,EAAWX,EAAMA,SACZC,EAAGC,EAAAA,QAA2C,yBACjDE,EAAsBH,EAAtBG,WAAYD,EAAUF,EAAVE,MAERgE,EAAGC,EAAAA,UAAUC,EAAYA,aAAE,gCAEvCxD,EAAyBH,EAAaA,cAACN,EAAYO,GAA3CG,EAAKD,EAALC,MAAOF,EAAAA,EAAAA,MAMf,OALAG,EAAQA,SAAC,WACPD,EAAMK,WAAWP,EAAM,IAAIQ,OAC3BN,EAAMK,WAAWP,EAAM,IAAIS,QAAQC,EAAQA,SAAE,EAC/C,gBAGErC,MACEC,cAAAD,MAAAE,SAAA,kBAAAF,MAAAC,cAAA,YAAAoF,EAAA,CAAWjG,IAAKsC,GAAcsD,EAAO,CAAAhC,OAAQ9B,kBAC7ClB,MAAAC,cAAA,YAAA,CAAW+C,OAAQkC,IAGzB,eCnBmB,WACjB,MAAYnE,WACJG,EAAUD,UAA6B,sBAAvCC,MACFoE,EAAWH,YAAUI,EAAAA,cAAe,2BACpCC,EAAStE,EAAMuE,gBAAgB,WACvBvE,EAAMuE,gBAAgB,+BAuBpC,OArBAvE,EAAME,SAAS,SAACsE,GACCA,EAAMpG,KAAKqG,WAAW,WAGnCD,EAAME,SAASC,QAAUP,EAEzBI,EAAME,SAASC,QAAQC,OAAQ,EAC/BJ,EAAMnE,YAAa,EACnBmE,EAAMlE,eAAgB,EAE1B,GAEAM,EAAAA,SAAS,WAEPiE,EAAMC,SAASzD,GAAK,KAEpBiD,EAAOI,SAAS/C,IAAIC,OAAOC,IAAM,KAEjCyC,EAAOI,SAAS/C,IAAIC,OAAOP,GAAK,CAClC,gBAEOvC,MAAWC,cAAA,YAAA,CAAAb,IAAKA,EAAKkD,SAAU,CAAC,GAAI,GAAI,GAAI2D,MAAO,IAAKjD,OAAQ9B,GACzE,0BC1Ba,SAAC8D,GAEZ,IAAME,EAASC,EAAAA,UAAUC,EAAYA,aAAE,yCACvC,OACEpF,UAAAC,cAACmD,EAAK,CAAC7B,YAAU,gBACfvB,EAAC,QAAAC,cAAAa,EACD,mBAAAd,UAAWC,cAAA,YAAA,CAAA+C,OAAQkC,IAGzB"}
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 { 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 { 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","LockModel","useRef","model","useGLTF","scene","animations","traverse","node","isMesh","castShadow","receiveShadow","useAnimations","modelRef","clips","_useAnimations","mixer","useFrame","state","delta","lockAction","clipAction","play","setLoop","LoopOnce","position","y","Math","sin","frame","materials","Standard","map","offset","x","object","sceneStyles","root","minHeight","Scene","children","_ref$castShadow","style","Canvas","gl","alpha","antialias","pixelRatio","window","devicePixelRatio","toneMapping","LinearToneMapping","outputColorSpace","SRGBColorSpace","shadows","type","PCFShadowMap","enabled","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"],"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",
3
+ "version": "2.3.4-beta.4",
4
4
  "license": "MIT",
5
5
  "description": "React library for art elements in UI",
6
6
  "homepage": "https://github.com/transferwise/web-art#readme",