{"version":3,"file":"VtoCaptureVideo.chunk.js","mappings":"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","sources":["../node_modules/@luxottica/capture-component/src/interfaces/CaptureStatus.ts","../node_modules/@luxottica/capture-component/src/app/functions/CloseCapture.ts","../node_modules/@luxottica/capture-component/src/app/functions/CloseUploadImage.ts","../node_modules/@luxottica/capture-component/src/app/functions/CloseVtoCapture.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultTrackingOptionsLandscape.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultVtoCaptureOptions.ts","../node_modules/@luxottica/capture-component/src/components/fa-capture/FrameAdvisorErrorOverlay.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/CrosshairIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/DeviceIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/EyeglassIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/FaceIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/HairIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/SunIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/icons/RotateIcon.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/tips/FrameAdvisorCaptureTips.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/FrameAdvisorContainer.tsx","../node_modules/@luxottica/capture-component/src/components/fa-capture/FrameAdvisorLoader.tsx","../node_modules/@luxottica/capture-component/src/constants/DefaultCaptureOptions.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultInitializeOptions.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultTrackingOptionsPortrait.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultUploadOptions.ts","../node_modules/@luxottica/capture-component/src/helpers/ParameterHelper.ts","../node_modules/@luxottica/capture-component/src/constants/DefaultSmartRulerOptions.ts","../node_modules/@luxottica/capture-component/src/app/functions/HasInitialized.ts","../node_modules/@luxottica/capture-component/src/helpers/SupportedFeaturesHelper.ts","../node_modules/@luxottica/capture-component/src/app/functions/Initialize.ts","../node_modules/@luxottica/capture-component/src/constants/Styling.ts","../node_modules/@luxottica/capture-component/src/components/LoadingSpinner.tsx","../node_modules/@luxottica/capture-component/src/app/functions/OnError.ts","../node_modules/@luxottica/capture-component/src/helpers/RecordingHelper.ts","../node_modules/@luxottica/capture-component/src/helpers/RequestHelper.ts","../node_modules/@luxottica/capture-component/src/constants/VideoStatus.ts","../node_modules/@luxottica/capture-component/src/helpers/Timer.ts","../node_modules/@luxottica/capture-component/src/helpers/WebCamHelper.ts","../node_modules/@luxottica/capture-component/src/components/NudgingGuide.tsx","../node_modules/@luxottica/capture-component/src/components/CheckIcon.tsx","../node_modules/@luxottica/capture-component/src/components/TrackingAreaPlaceholder.tsx","../node_modules/@luxottica/capture-component/src/components/upload-image/UploadImageData.tsx","../node_modules/@luxottica/capture-component/src/app/functions/UploadImageData.ts","../node_modules/@luxottica/capture-component/src/components/upload-image/UploadStatus.ts","../node_modules/@luxottica/capture-component/src/components/upload-image/UploadImage.tsx","../node_modules/@luxottica/capture-component/src/components/upload-image/UploadImageContainer.tsx","../node_modules/@luxottica/capture-component/src/components/upload-image/UploadImageLoader.tsx","../node_modules/@luxottica/capture-component/src/app/functions/VtoCapture.ts","../node_modules/@luxottica/capture-component/src/components/vto-capture/VtoCaptureErrorOverlay.tsx","../node_modules/@luxottica/capture-component/src/components/vto-capture/VtoCaptureLoader.tsx","../node_modules/@luxottica/capture-component/src/components/vto-capture/VtoCaptureContainer.tsx","../node_modules/@luxottica/capture-component/src/interfaces/RecordingStatus.ts","../node_modules/@luxottica/capture-component/src/components/vto-capture/VtoCaptureVideo.tsx","../node_modules/@luxottica/capture-component/src/components/RecordingGuide.tsx","../node_modules/@luxottica/capture-component/src/components/vto-capture/VtoCaptureOverlay.tsx","../node_modules/@luxottica/virtual-mirror/src/helpers/InitializationHelper.ts","../node_modules/@luxottica/virtual-mirror/src/app/functions/Initialize.ts","../node_modules/@luxottica/virtual-mirror/src/app/mirror/FpsCounter.ts","../node_modules/@luxottica/virtual-mirror/src/interfaces/MirrorOptions.ts","../node_modules/@luxottica/virtual-mirror/src/constants/DefaultEnvironmentOptions.ts","../node_modules/@luxottica/virtual-mirror/src/constants/DefaultPrivacyOptions.ts","../node_modules/@luxottica/virtual-mirror/src/constants/DefaultRenderingOptions.ts","../node_modules/@luxottica/virtual-mirror/src/constants/DefaultTrackingOptions.ts","../node_modules/@luxottica/virtual-mirror/src/constants/DefaultGestureDetectorOptions.ts","../node_modules/@luxottica/virtual-mirror/src/helpers/ParameterHelper.ts","../node_modules/@luxottica/virtual-mirror/src/app/functions/RenderMirror.ts","../node_modules/@luxottica/virtual-mirror/src/helpers/SupportedFeaturesHelper.ts","../node_modules/@luxottica/vm-webcam/src/domain/mockWebcam/ImageLoader.ts","../node_modules/@luxottica/vm-webcam/src/domain/mockWebcam/MockStreamTrack.ts","../node_modules/@luxottica/vm-webcam/src/domain/mockWebcam/MockStream.ts","../node_modules/@luxottica/vm-webcam/src/domain/mockWebcam/MockBridgeMedia.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/AbstractNativeBridge.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/NativeBridge.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/NativeStreamTrack.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/NativeStream.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/NativeBridgeMedia.ts","../node_modules/@luxottica/vm-webcam/src/domain/adapter/UserMedia.ts","../node_modules/@luxottica/vm-webcam/src/domain/mockWebcam/MockVideoStream.ts","../node_modules/@luxottica/vm-webcam/src/domain/nativeWebcam/NativeVideoStream.ts","../node_modules/@luxottica/vm-webcam/src/domain/adapter/WebCamVideoStream.ts","../node_modules/@luxottica/vm-webcam/src/domain/adapter/WebCamStream.ts","../node_modules/@luxottica/vm-webcam/src/cameraSets/CameraSets.ts","../node_modules/@luxottica/vm-webcam/src/domain/WebCamConstraints.ts","../node_modules/@luxottica/vm-webcam/src/error/WebCamAbstractError.ts","../node_modules/@luxottica/vm-webcam/src/error/WebCamAccessNotFoundError.ts","../node_modules/@luxottica/vm-webcam/src/error/WebCamAccessRejectedError.ts","../node_modules/@luxottica/vm-webcam/src/remotelog/AppViewSessionKeys.ts","../node_modules/@luxottica/vm-webcam/src/error/WebCamAccessSystemError.ts","../node_modules/@luxottica/vm-webcam/src/WebCam.ts","../node_modules/@luxottica/vm-webcam/node_modules/uuid/index.js","../node_modules/@luxottica/vm-webcam/node_modules/uuid/lib/bytesToUuid.js","../node_modules/@luxottica/vm-webcam/node_modules/uuid/lib/rng-browser.js","../node_modules/@luxottica/vm-webcam/node_modules/uuid/v1.js","../node_modules/@luxottica/vm-webcam/node_modules/uuid/v4.js","../node_modules/current-device/es/index.js"],"sourcesContent":["enum CaptureStatus {\n LOADING = 'LOADING',\n INITIAL = 'INITIAL',\n SAVING = 'SAVING',\n UPLOADING = 'UPLOADING',\n PROCESSING = 'PROCESSING',\n COMPLETE = 'COMPLETE',\n ERROR = 'ERROR'\n}\n\nexport {\n CaptureStatus,\n};\n","import { closeFrameAdvisorComponent } from '../../components/fa-capture/FrameAdvisorLoader';\nimport { onError } from './OnError';\n\nexport const closeCapture = () => {\n closeFrameAdvisorComponent();\n window.removeEventListener('error', onError);\n};\n","import { closeUploadImageComponent } from '../../components/upload-image/UploadImageLoader';\nimport { onError } from './OnError';\n\nexport const closeUploadImage = (): void => {\n closeUploadImageComponent();\n window.removeEventListener('error', onError);\n};\n","import { closeVtoCaptureComponent } from '../../components/vto-capture/VtoCaptureLoader';\nimport { onError } from './OnError';\n\nexport const closeVtoCapture = (): void => {\n closeVtoCaptureComponent();\n window.removeEventListener('error', onError);\n};\n","import { TrackingOptions } from '@luxottica/vm-posetracker-faceweb';\n\nconst DefaultTrackingOptionsLandscape: Required = {\n debug: false,\n inspect: false,\n areaSize: 1,\n standstill: {\n // settings coming from: https://luxotticaretail.atlassian.net/browse/PICOMMON-2884?focusedCommentId=908433\n depthRange: {\n min: 430,\n max: 850\n }\n },\n fov: 52.0,\n minimumFaceSizeRatio: 0.3,\n accountForLightingConditions: false,\n filter: undefined,\n};\n\nexport { DefaultTrackingOptionsLandscape };\n","import { VtoCaptureOptions } from '../interfaces/CaptureParameters';\nimport { DefaultTrackingOptionsLandscape } from './DefaultTrackingOptionsLandscape';\n\nconst DefaultCaptureDuration = 10000;\n\nconst DefaultVtoCaptureOptions: VtoCaptureOptions = {\n tracking: DefaultTrackingOptionsLandscape,\n showLoading: true,\n enableMachineLearning: false,\n enableVto: true\n};\n\nexport { DefaultCaptureDuration, DefaultVtoCaptureOptions };\n","import React from 'react';\nimport { LocalizationHelper } from '../../helpers/LocalizationHelper';\nimport './FrameAdvisorErrorOverlay.scss';\n\nconst FrameAdvisorErrorOverlay = (props: {\n enabled: boolean,\n onClickOk: () => void\n}) => {\n\n return (\n
\n {props.enabled &&\n
\n
{LocalizationHelper.getString('capture_error', 'error')}
\n
{LocalizationHelper.getString('capture_error', 'subtext')}
\n \n
\n }\n
\n );\n};\n\nexport {\n FrameAdvisorErrorOverlay\n};\n","import React from 'react';\n\nexport const CrosshairIcon = () => (\n
\n \n \n \n \n
\n);","import React from 'react';\n\nexport const DeviceIcon = () => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);","import React from 'react';\n\nexport const EyeglassIcon = () => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n);","import React from 'react';\n\nexport const FaceIcon = () => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n);","import React from 'react';\n\nexport const HairIcon = () => (\n
\n \n \n \n \n \n \n
\n);","import React from 'react';\n\nexport const SunIcon = () => (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n);","import React from 'react';\n\nexport const RotateIcon = () => (\n
\n \n \n \n \n \n \n \n \n
\n);","import React, { useEffect, useState } from 'react';\nimport { LocalizationHelper } from '../../../helpers/LocalizationHelper';\nimport device from 'current-device';\n\nimport './FrameAdvisorCaptureTips.scss';\nimport { CrosshairIcon } from './icons/CrosshairIcon';\nimport { DeviceIcon } from './icons/DeviceIcon';\nimport { EyeglassIcon } from './icons/EyeglassIcon';\nimport { FaceIcon } from './icons/FaceIcon';\nimport { HairIcon } from './icons/HairIcon';\nimport { SunIcon } from './icons/SunIcon';\nimport { RotateIcon } from './icons/RotateIcon';\n\nconst FrameAdvisorCaptureTips = (props: {\n onComplete: () => void,\n landscape?: boolean,\n}) => {\n\n const [landscapeMode, setLandscapeMode] = useState(device.landscape());\n // if the device is already in landscape mode, show the tips\n const [currentPage, setCurrentPage] = useState<'TIPS' | 'ROTATE'>(props.landscape ? 'ROTATE' : 'TIPS');\n\n const setOrientation = () => {\n setLandscapeMode(device.landscape());\n };\n\n const onClickContinue = () => {\n if (landscapeMode) {\n setCurrentPage('ROTATE');\n } else {\n props.onComplete();\n }\n };\n\n useEffect(() => {\n window.addEventListener('resize', setOrientation);\n return () => {\n window.removeEventListener('resize', setOrientation);\n };\n }, []);\n\n useEffect(() => {\n if (currentPage === 'ROTATE' && !landscapeMode) {\n props.onComplete();\n }\n }, [currentPage, landscapeMode]);\n\n if (currentPage === 'TIPS') {\n return (\n
\n {(landscapeMode) ? \n
\n \n
{LocalizationHelper.getSmartShopperString('take-tips', 'title')}
\n \n
\n \n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'light')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'look-straight-2')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'relaxed-face')}\n
\n
\n \n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'take-eyeglasses-off')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'move-your-hair')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'hold-with-both-hands')}\n
\n
\n \n
\n \n \n \n
\n :\n
\n \n
{LocalizationHelper.getSmartShopperString('take-tips', 'title')}
\n \n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'light')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'look-straight-2')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'relaxed-face')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'take-eyeglasses-off')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'move-your-hair')}\n
\n
\n \n {LocalizationHelper.getSmartShopperString('take-tips', 'hold-with-both-hands')}\n
\n
\n \n \n \n
\n }\n
\n );\n } else if (currentPage === 'ROTATE') {\n return (\n
\n \n {LocalizationHelper.getSmartShopperString('turn-screen', 'turn-your-device')}\n
\n );\n\n } else {\n return <>;\n }\n\n};\n\nexport {\n FrameAdvisorCaptureTips\n};\n","import { AgreementType, BipaManager, BipaOverlay, BipaPage } from '@luxottica/bipa-manager';\nimport React, { lazy, Suspense, useEffect, useState } from 'react';\nimport { getAuthData } from '../../helpers/AuthHelper';\nimport { CallbackHelper } from '../../helpers/CallbackHelper';\nimport { CONFIG } from '../../helpers/ConfigHelper';\nimport { CaptureOptions } from '../../interfaces/CaptureParameters';\nimport { LoadingSpinner } from '../LoadingSpinner';\nimport { FrameAdvisorCaptureTips } from './tips/FrameAdvisorCaptureTips';\nimport './FrameAdvisorContainer.scss';\nimport { FrameAdvisorErrorOverlay } from './FrameAdvisorErrorOverlay';\nimport device from 'current-device';\nimport { CaptureStatus } from '../../interfaces/CaptureStatus';\n\ntype agreementStatus = 'INITIAL' | 'APPROVED' | 'REJECTED' | 'ERROR';\n\n// this is used to prevent an application reset in case the device is rotated after the capture\nlet captureComplete = false;\n\nconst FrameAdvisorContainer = (props: {\n options: CaptureOptions\n}) => {\n\n // begin to download the capture chunk while the user is checking the privacy\n // in case the privacy is already accepted the user will see a loading spinner\n const lazyFrameAdvisorPromise = import(/* webpackChunkName: \"FrameAdvisorVideo\" */ './FrameAdvisorVideo')\n .then(({ FrameAdvisorVideo }) => ({ default: FrameAdvisorVideo }));\n\n // REACT.lazy wrapper used to display a spinner while loading\n const LazyFrameAdvisorVideo = lazy(() => lazyFrameAdvisorPromise);\n\n const [agreementStatus, setAgreementStatus] = useState(\n BipaManager.biometricCookieExists(AgreementType.BIOMETRIC) ? 'APPROVED' : 'INITIAL'\n );\n\n const [showCaptureTips, setShowCaptureTips] = useState(CONFIG.showCaptureTips);\n\n const [landscape, setLandscape] = useState(false);\n\n useEffect(() => {\n // react to device orientation only if the capture tips are used\n if (CONFIG.showCaptureTips) {\n device.onChangeOrientation((orientation) => {\n setLandscape(orientation === 'landscape' && !captureComplete);\n });\n }\n }, []);\n\n let content;\n\n switch (agreementStatus) {\n case 'INITIAL':\n CallbackHelper.onPrivacyDisplay();\n content = (\n {\n CallbackHelper.onDisplayPrivacyPage(page);\n },\n onSubmit: () => {\n // close the Privacy agreement and start the experience\n setAgreementStatus('APPROVED');\n },\n onUserReject: () => {\n // close the Privacy agreement and BLOCK the experience\n setAgreementStatus('REJECTED');\n CallbackHelper.onPrivacyReject();\n },\n onError: (error) => {\n setAgreementStatus('ERROR');\n CallbackHelper.onPrivacyFail(error);\n },\n onAuthUpdated: CallbackHelper.onAuthUpdated\n }} privacy={{\n termsAndConditions: CONFIG.privacy.termsAndConditions,\n localizationText: CONFIG.privacy?.localizationText\n }}/>\n );\n break;\n case 'APPROVED':\n if (showCaptureTips || landscape) {\n content = { setShowCaptureTips(false); }} landscape={landscape}/>;\n } else {\n CallbackHelper.onCaptureProcess();\n content = (\n }>\n {\n captureComplete = \n status === CaptureStatus.COMPLETE ||\n status === CaptureStatus.PROCESSING ||\n status === CaptureStatus.UPLOADING ||\n status === CaptureStatus.SAVING ||\n status === CaptureStatus.ERROR\n ;\n }}/>\n \n );\n }\n break;\n case 'ERROR':\n content = { setAgreementStatus('INITIAL'); }} />;\n break;\n case 'REJECTED':\n default:\n content = <>;\n break;\n }\n\n return (\n
\n {content}\n
\n );\n};\n\nexport {\n FrameAdvisorContainer\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ROOT_STYLE_NAME } from '../../constants/Styling';\nimport { CaptureOptions } from '../../interfaces/CaptureParameters';\nimport { FrameAdvisorContainer } from './FrameAdvisorContainer';\n\nlet currentContainer;\n\nconst loadFrameAdvisor = (\n container: HTMLElement,\n options: CaptureOptions,\n onMount: () => void\n) => {\n currentContainer = container;\n currentContainer.classList.add(ROOT_STYLE_NAME);\n ReactDOM.render(\n ,\n container,\n onMount\n );\n};\n\nconst closeFrameAdvisorComponent = () => {\n if (!!currentContainer) {\n ReactDOM.unmountComponentAtNode(currentContainer);\n }\n};\n\nexport {\n loadFrameAdvisor,\n closeFrameAdvisorComponent\n};\n","import { CaptureOptions } from '../interfaces/CaptureParameters';\nimport { DefaultTrackingOptionsLandscape } from './DefaultTrackingOptionsLandscape';\n\nconst DefaultCaptureOptions: Required = {\n enableCountdown: true,\n countdownDuration: 3000,\n countdownDelay: 1000,\n tracking: DefaultTrackingOptionsLandscape,\n showLoading: true,\n enableMachineLearning: false,\n enableVto: true,\n debugMeasurement: false,\n showCaptureTips: false,\n earlyFeedbacks: [],\n};\n\nexport { DefaultCaptureOptions };\n","import { InitializeOptions } from '../interfaces/InitializeParameters';\n\nconst DefaultInitializeOptions: InitializeOptions = {\n locale: '',\n region: 'US',\n source: 'WEB',\n tokenVersion: 2,\n showCaptureTips: false,\n environment: 'PRODUCTION'\n};\n\nexport { DefaultInitializeOptions };\n","import { TrackingOptions } from '@luxottica/vm-posetracker-faceweb';\n\nconst DefaultTrackingOptionsPortrait: Required = {\n debug: false,\n inspect: false,\n areaSize: 1,\n standstill: {\n // settings coming from: https://luxotticaretail.atlassian.net/browse/PICOMMON-2884?focusedCommentId=908433\n depthRange: {\n min: 600,\n max: 850\n }\n },\n /* axisLimit: undefined, */\n fov: 52.0,\n minimumFaceSizeRatio: 0.3,\n accountForLightingConditions: false,\n filter: undefined,\n};\n\nexport { DefaultTrackingOptionsPortrait };\n","import { UploadOptions } from '../interfaces/CaptureParameters';\n\nconst DefaultUploadOptions: UploadOptions = {\n showLoading: true,\n enableMachineLearning: false,\n enableVto: true,\n};\n\nexport { DefaultUploadOptions };\n","import { DefaultCaptureOptions } from '../constants/DefaultCaptureOptions';\nimport { DefaultInitializeOptions } from '../constants/DefaultInitializeOptions';\nimport { DefaultTrackingOptionsLandscape } from '../constants/DefaultTrackingOptionsLandscape';\nimport { DefaultTrackingOptionsPortrait } from '../constants/DefaultTrackingOptionsPortrait';\nimport { CaptureOptions, PhotoQualityCheck, UploadOptions, VtoCaptureOptions } from '../interfaces/CaptureParameters';\nimport { InitializeOptions, PrivacyOptions } from '../interfaces/InitializeParameters';\nimport { InitializationParamsError } from '../errors/errors';\nimport { DefaultUploadOptions } from '../constants/DefaultUploadOptions';\nimport { DefaultVtoCaptureOptions } from '../constants/DefaultVtoCaptureOptions';\nimport { DefaultSmartRulerOptions } from '../constants/DefaultSmartRulerOptions';\nimport { SmartRulerConfig } from '@luxottica/face-web';\nimport { FrameAdvisorConfiguration } from '../interfaces/Config';\nimport device, { DeviceType } from 'current-device';\n\nconst setDefaultInitializeOptions = (\n inputParams: Partial = {}\n): InitializeOptions => {\n // region and source are mandatory\n if (!inputParams.region || !inputParams.source) {\n throw new InitializationParamsError(inputParams);\n }\n return {\n ...DefaultInitializeOptions,\n ...inputParams\n };\n};\n\nconst setDefaultSmartRulerConfig = (\n smartRulerConfig: SmartRulerConfig\n): SmartRulerConfig => {\n return {\n ...DefaultSmartRulerOptions,\n ...smartRulerConfig,\n };\n};\n\nconst setDefaultCaptureOptions = (\n inputParams: Partial = {}\n): Required => {\n const deviceType: DeviceType = device.tablet() || device.mobile() ? 'mobile' : 'desktop';\n const config = {\n ...DefaultCaptureOptions,\n ...inputParams,\n tracking: {\n ...DefaultTrackingOptionsPortrait,\n ...inputParams?.tracking,\n standstill: {\n ...(deviceType === 'mobile' ? DefaultTrackingOptionsPortrait.standstill : DefaultTrackingOptionsLandscape.standstill),\n ...inputParams?.tracking?.standstill,\n }\n },\n showLoading: (inputParams.showLoading === undefined || inputParams.showLoading === null) ? DefaultCaptureOptions.showLoading : inputParams.showLoading,\n };\n config.tracking.accountForLightingConditions = config.earlyFeedbacks.indexOf(PhotoQualityCheck.LIGHT_CONDITIONS) >= 0;\n return config;\n};\n\nconst setDefaultVtoCaptureOptions = (\n inputParams: Partial = {}\n): CaptureOptions => {\n return {\n ...DefaultVtoCaptureOptions,\n ...inputParams,\n tracking: {\n ...DefaultTrackingOptionsPortrait,\n ...inputParams.tracking,\n }\n };\n};\n\nconst setDefaultUploadImageOptions = (\n inputParams: Partial = {}\n): UploadOptions => {\n return {\n ...DefaultUploadOptions,\n ...inputParams,\n showLoading: (inputParams.showLoading === undefined || inputParams.showLoading === null) ? DefaultCaptureOptions.showLoading : inputParams.showLoading,\n };\n};\n\nconst validatePrivacyOptions = (\n privacy: PrivacyOptions\n): FrameAdvisorConfiguration['privacy'] => {\n // this throws an error if the URL is not valid\n return {\n termsAndConditions: new URL(privacy.termsAndConditions as string ),\n localizationText: privacy.localizationText,\n onTermsAndConditionsClick: privacy.onTermsAndConditionsClick,\n };\n};\n\nexport {\n setDefaultInitializeOptions,\n setDefaultCaptureOptions,\n setDefaultVtoCaptureOptions,\n setDefaultUploadImageOptions,\n validatePrivacyOptions,\n setDefaultSmartRulerConfig,\n};\n","import { SmartRulerConfig } from '@luxottica/face-web';\n\nconst DefaultSmartRulerOptions: SmartRulerConfig = undefined;\n\nexport { DefaultSmartRulerOptions };\n","let initialized = false;\n\nexport const hasInitialized = (): boolean => {\n return initialized;\n};\n\nexport const setInitialized = (v: boolean) => {\n initialized = v;\n};\n","import { DeviceDetection } from '@luxottica/vm-devicedetection';\nimport { SupportedFeatures } from '../interfaces/InitializeResult';\n\nconst SupportedFeaturesHelper = {\n getSupportedFeatures() {\n return new Promise((resolve, reject) => {\n const devicedetection = new DeviceDetection();\n return devicedetection.isVideoInputDeviceAvailable().then((available) => {\n resolve({\n wasmSupport: devicedetection.isWebAssemblySupported(),\n webcamAccess: devicedetection.isUserMediaSupported(),\n webcamAvailable: available\n });\n }).catch((error) => {\n reject(error);\n });\n });\n }\n};\n\nexport { \n SupportedFeaturesHelper\n};\n","import { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport { name, version } from '../../../package.json';\nimport { AuthenticationOptions, InitializeParameters } from '../../interfaces/InitializeParameters';\nimport { InitializeResult } from '../../interfaces/InitializeResult';\nimport { setDefaultInitializeOptions, setDefaultSmartRulerConfig, validatePrivacyOptions } from '../../helpers/ParameterHelper';\nimport { CONFIG, setConfig } from '../../helpers/ConfigHelper';\nimport { setCallbacks } from '../../helpers/CallbackHelper';\nimport { setAuthData } from '../../helpers/AuthHelper';\nimport { SupportedFeaturesHelper } from '../../helpers/SupportedFeaturesHelper';\nimport { RequestHelper } from '../../helpers/RequestHelper';\nimport { warmUp } from './WarmUp';\nimport { LocalizationHelper } from '../../helpers/LocalizationHelper';\nimport { FrameAdvisorError, InitializationError } from '../../errors/errors';\nimport { onError } from './OnError';\nimport { setInitialized } from './HasInitialized';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'FrameAdvisorCapture-Initialize');\n\nexport const initialize = (\n initParams: InitializeParameters\n): Promise => {\n window.addEventListener('error', onError);\n logger.debug('initializing');\n setInitialized(false);\n\n // in this world promise is a valid alternative to try/catch block\n return Promise.resolve().then(() => {\n const validatedParams = setDefaultInitializeOptions(initParams.options);\n const validatedPrivacyOptions = validatePrivacyOptions(initParams.privacy);\n const validatedSmartRulerOptions = setDefaultSmartRulerConfig(initParams.smartRulerConfig);\n\n // set a CONFIG variable to be shared with capture() method\n setConfig(\n validatedParams.environment,\n validatedParams.region,\n validatedParams.source,\n validatedParams.locale,\n validatedPrivacyOptions, // validate privacy URLs\n validatedParams.tokenVersion,\n validatedParams.showCaptureTips,\n validatedSmartRulerOptions,\n );\n setCallbacks(initParams.callbacks);\n setAuthData(initParams.auth as AuthenticationOptions);\n\n return Promise.all([\n SupportedFeaturesHelper.getSupportedFeatures().then((features) => {\n return {\n locale: validatedParams.locale,\n isSupported: features.webcamAvailable && features.webcamAccess && features.wasmSupport,\n supportedFeatures: features\n };\n }),\n RequestHelper.login(validatedParams.tokenVersion)\n ]);\n }).then((responseData) => {\n // this downloads all the heavy stuff for the tracker engine\n warmUp(CONFIG.environment);\n return LocalizationHelper.setLocalizationText(responseData[0].locale, CONFIG.source, CONFIG.showCaptureTips, CONFIG.environment).then(() => {\n setInitialized(true);\n return {\n locale: responseData[0].locale,\n isSupported: responseData[0].isSupported,\n supportedFeatures: responseData[0].supportedFeatures,\n };\n });\n }).catch((e) => {\n if (e instanceof FrameAdvisorError) {\n throw e;\n } else {\n const error = new InitializationError(initParams, undefined, e);\n logger.error(error);\n throw error;\n }\n });\n};\n","const ROOT_STYLE_NAME = 'frame-advisor-root-style';\n\nexport {\n ROOT_STYLE_NAME\n};\n","import * as React from 'react';\nimport './LoadingSpinner.scss';\n\ninterface LoadingSpinnerProps {\n width: number;\n height: number;\n background: boolean;\n text?: string;\n}\n\nexport const LoadingSpinner = (props: LoadingSpinnerProps) => {\n\n const size = Math.min(props.width, props.height);\n\n return (\n
\n
\n
\n
\n
\n );\n};","import { RemoteLog } from '@luxottica/vm-remotelog';\n\nconst remoteLog: RemoteLog = new RemoteLog();\n\nexport const onError = (e) => {\n remoteLog.sendAppViewSession({\n statusCode: '99-error',\n statusText: e.message\n });\n};\n","import { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport { name, version } from '../../package.json';\nimport { RecordingError } from '../errors/errors';\n\nlet mediaRecorder: MediaRecorder;\nlet chunks: Blob[] = [];\n\nconst defaultMimeType = 'video/webm;codecs=vp9';\nconst iosMimeType = 'video/mp4';\nconst ffMimeType = 'video/webm';\nlet currentFileType: 'mp4' | 'webm';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'RecordingHelper');\n\nconst RecordingHelper = {\n initialize: (\n mediaStream: MediaStream,\n onComplete: (videoData: Blob[]) => void\n ) => {\n RecordingHelper.reset();\n\n let mimeType;\n if (MediaRecorder.isTypeSupported(defaultMimeType)) {\n mimeType = defaultMimeType;\n currentFileType = 'webm';\n } else if (MediaRecorder.isTypeSupported(iosMimeType)) {\n mimeType = iosMimeType;\n currentFileType = 'mp4';\n } else if (MediaRecorder.isTypeSupported(ffMimeType)) {\n mimeType = ffMimeType;\n currentFileType = 'webm';\n } else {\n throw new RecordingError('recording video mime type unsupported');\n }\n\n mediaRecorder = new MediaRecorder(mediaStream, { mimeType: mimeType });\n\n mediaRecorder.onstart = () => { \n logger.debug('media recorder started');\n };\n\n mediaRecorder.ondataavailable = (blobEvent: BlobEvent) => {\n logger.debug('media recorder data available: size={} mimeType={}', blobEvent.data.size, mediaRecorder.mimeType);\n chunks.push(blobEvent.data);\n onComplete(chunks);\n };\n },\n\n startRecording: () => {\n if (!!mediaRecorder && mediaRecorder.state !== 'recording') {\n mediaRecorder.start(100000000000);\n }\n },\n\n stopRecording: () => {\n if (!!mediaRecorder && mediaRecorder.state === 'recording') {\n mediaRecorder.stop();\n }\n },\n\n getFileType: (): 'webm' | 'mp4' => {\n return (!!currentFileType) ? currentFileType : undefined;\n },\n\n reset: () => {\n mediaRecorder = undefined;\n chunks = [];\n }\n};\n\nexport {\n RecordingHelper\n};\n","import {\n loginRequest, LoginReturn,\n processImageRequest, uploadImageDataRequest, uploadImageRequest,\n processVideoRequest, uploadVideoRequest,\n ProfileReturn,\n sessionRequest, SessionReturn,\n uploadMeasurementRequest } from '@luxottica/vto-microservices';\nimport { getAuthData } from './AuthHelper';\nimport { CallbackHelper } from './CallbackHelper';\nimport { CONFIG } from './ConfigHelper';\nimport { RecordingHelper } from './RecordingHelper';\n\nlet videoId: string;\nlet uploadPath: string;\n\nconst RequestHelper = {\n login: (tokenVersion: 1 | 2): Promise => {\n return loginRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n version: tokenVersion,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n });\n },\n\n startSession: (): Promise => {\n return sessionRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n region: CONFIG.region,\n source: CONFIG.source\n }).then((result) => {\n videoId = result.videoId;\n uploadPath = result.uploadPath;\n return result;\n });\n },\n\n uploadImage: (\n img: Blob\n ): Promise => {\n return uploadImageRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n img: img,\n uploadPath: uploadPath\n });\n },\n\n uploadImageData: (\n imgData: ImageData\n ): Promise => {\n return uploadImageDataRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n imgData: imgData,\n uploadPath: uploadPath\n });\n },\n\n processImage: (\n enableMachineLearning: boolean,\n enableVto: boolean,\n shouldCancel: () => boolean\n ): Promise => {\n return processImageRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n videoId: videoId,\n enableMachineLearning: enableMachineLearning,\n enableVto: enableVto,\n shouldCancel: shouldCancel\n });\n },\n\n uploadVideo: (\n video: Blob[]\n ): Promise => {\n return uploadVideoRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n videoId: videoId,\n video: video,\n fileType: RecordingHelper.getFileType(),\n uploadPath: uploadPath,\n });\n },\n\n processVideo: (\n enableMachineLearning: boolean,\n enableVto: boolean,\n shouldCancel: () => boolean\n ): Promise => {\n return processVideoRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n onAuthUpdated: CallbackHelper.onAuthUpdated,\n videoId: videoId,\n enableMachineLearning: enableMachineLearning,\n enableVto: enableVto,\n shouldCancel: shouldCancel\n });\n },\n\n uploadMeasurement: (\n finalComputedPD: number,\n finalFaceBreadth: number\n ): Promise => {\n return uploadMeasurementRequest({\n environment: CONFIG.environment,\n accessToken: getAuthData().accessToken,\n refreshToken: getAuthData().refreshToken,\n finalComputedPD,\n finalFaceBreadth,\n videoId: videoId,\n });\n }\n};\n\nexport {\n RequestHelper,\n};\n","export enum VideoStatus {\n LOADING = 'LOADING',\n PLAYING = 'PLAYING', \n STOPPED = 'STOPPED'\n}","class Timer {\n\n private startTime: number;\n private currentDuration: number;\n private currentTimer: number;\n\n public start(\n duration: number,\n onComplete: () => void\n ) {\n this.stop();\n this.startTime = Date.now();\n this.currentDuration = duration;\n this.currentTimer = window.setTimeout(onComplete, duration);\n }\n\n public stop() {\n window.clearTimeout(this.currentTimer);\n this.startTime = undefined;\n this.currentDuration = undefined;\n this.currentTimer = undefined;\n }\n\n public get active() {\n return this.currentTimer !== undefined;\n }\n\n public get currentTime() {\n return (this.currentDuration) ? Math.min(Date.now() - this.startTime, this.currentDuration) : undefined;\n }\n\n public get timeRemaining() {\n return (this.currentDuration) ? (this.currentDuration - (Date.now() - this.startTime)) : undefined;\n }\n}\n\nexport {\n Timer\n};\n","import { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport { NativeStream, WebCam } from '@luxottica/vm-webcam';\nimport { name, version } from '../../package.json';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'WebCamHelper');\n\nconst webCam = new WebCam();\n\nconst WebcamHelper = {\n openWebcam: (\n width: number,\n height: number\n ) => {\n logger.debug('Try to open webcam {}x{}', width, height);\n return webCam.tryToOpenWebCam(width, height, 'user');\n },\n\n createStream: (\n options: {\n target: string;\n id?: string;\n className?: string;\n }, \n stream: MediaStream | NativeStream\n ) => {\n return webCam.createStreamObject(options, stream);\n },\n\n closeStream: () => {\n return webCam.closeCurrentMediaStream();\n }\n};\n\nexport {\n WebcamHelper\n};\n","import { GuidanceCommand } from '@luxottica/vm-posetracker-faceweb';\nimport * as React from 'react';\nimport { getText } from '../helpers/LocalizationHelper';\nimport './NudgingGuide.scss';\n\ninterface NudgingGuideProps {\n guidance: GuidanceCommand;\n glasses?: boolean;\n vto?: boolean;\n}\n\nexport class NudgingGuide extends React.PureComponent<\n NudgingGuideProps\n> {\n public render() {\n if (this.props.guidance === undefined || this.props.guidance === GuidanceCommand.NONE) {\n return <>;\n } else {\n return (\n
\n {getText(this.props.guidance, this.props.glasses, this.props.vto)}\n
\n );\n }\n }\n}\n","import * as React from 'react';\n\nimport './CheckIcon.scss';\n\ninterface CheckIconProps {\n enabled: boolean;\n size: number;\n}\n\nexport const CheckIcon = (props: CheckIconProps) => {\n\n return (\n
\n \n \n \n \n
\n );\n};","import { GuidanceCommand } from '@luxottica/vm-posetracker-faceweb';\nimport { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport * as React from 'react';\nimport { name, version } from '../../package.json';\nimport { CheckIcon } from './CheckIcon';\nimport './TrackingAreaPlaceholder.scss';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'TrackingAreaPlaceholder');\n\nexport interface TrackingAreaPlaceholderProps {\n areaSize: number;\n sourceWidth: number;\n sourceHeight: number;\n minimumFaceSizeRatio: number;\n mirrorVideoWidth: number;\n mirrorVideoHeight: number;\n guidance: GuidanceCommand;\n checkIcon: boolean;\n strokeWidth?: number;\n debug?: boolean;\n}\n\nexport class TrackingAreaPlaceholder extends React.PureComponent {\n\n private strokeWidth = 3;\n private strokeDashArray = '6, 7';\n\n // oval state classes\n private nudingClassUnknown = 'fa-nudging-unknown';\n private nudingClassDirections = 'fa-nudging-directions';\n private nudingClassStandstill = 'fa-nudging-stay-still';\n\n constructor(props: TrackingAreaPlaceholderProps) {\n super(props);\n logger.debug('render tracking area with size {}', this.props.areaSize);\n logger.debug('canvas crop size: {}x{}', this.props.sourceHeight, this.props.sourceWidth);\n logger.debug('svg ellipse 1 [cx={},cy={},rx={},ry={}]',\n this.svgEllipseCX(), this.svgEllipseCY(), this.svgEllipseRadiusX_UI(), this.svgEllipseRadiusY_UI());\n logger.debug(\n 'svg ellipse 2 [enabled={}] [cx={},cy={},rx={},ry={}]',\n this.props.debug,\n this.svgEllipseCX(),\n this.svgEllipseCY(),\n this.svgEllipseRadiusX_debug(),\n this.svgEllipseRadiusY_debug()\n );\n }\n\n public render() {\n\n if (this.props.guidance === undefined || this.props.guidance === GuidanceCommand.NONE) {\n return <>;\n } else {\n const styleName = this.getNudgingStyle(this.props.guidance);\n\n return (\n <>\n \n \n { /* this represent the face size according to the current poseTracker debug messages */\n this.props.debug &&\n }\n \n \n \n );\n }\n }\n\n private getNudgingStyle(\n guidance: GuidanceCommand\n ): string {\n if (guidance === GuidanceCommand.UNKNOWN) {\n return this.nudingClassUnknown;\n } else if (guidance === GuidanceCommand.STAY_STILL) {\n return this.nudingClassStandstill;\n } else {\n return this.nudingClassDirections;\n }\n }\n\n private svgEllipseCX(): number {\n return this.props.sourceWidth * 0.5;\n }\n\n private svgEllipseCY(): number {\n return this.props.sourceHeight * 0.5;\n }\n\n private svgEllipseRadiusX_UI(): number {\n return this.getFaceSizeUI.width / 2;\n }\n\n private svgEllipseRadiusY_UI(): number {\n return this.getFaceSizeUI.height / 2;\n }\n\n private svgEllipseRadiusX_debug(): number {\n return this.getFaceSize() / 2;\n }\n\n private svgEllipseRadiusY_debug(): number {\n return this.getFaceSize() / 2;\n }\n\n /*\n From Headtracker source code\n https://github.com/luxdeepblue/\n vto_wasm_headtracker/blob/2d6bef37d4eccd96579d55411965602c3da94a31/src/vto/head_tracker.cpp#L87-L97\n */\n private getFaceSize(): number {\n const smallestSide = Math.min(this.props.mirrorVideoWidth, this.props.mirrorVideoHeight);\n const faceSideSize = smallestSide * this.props.minimumFaceSizeRatio;\n return faceSideSize;\n }\n\n // We define an ellipse with diameters of: width: 1.0, height: 1.4\n // To calculate ellipse's diameters we check two fixed proportions against the minimumFaceSizeRatio\n private get getFaceSizeUI(): {\n width: number;\n height: number;\n } {\n const smallestSide: number = Math.min(this.props.mirrorVideoWidth, this.props.mirrorVideoHeight);\n const isLandscape: boolean = smallestSide === this.props.mirrorVideoHeight;\n const referenceSide = isLandscape ? this.props.mirrorVideoHeight * 0.5 : this.props.mirrorVideoWidth * 0.8;\n const faceSize = {\n width: referenceSide * Math.max(1, this.props.minimumFaceSizeRatio),\n height: referenceSide * Math.max(1.4, (this.props.minimumFaceSizeRatio * 1.4)),\n };\n return faceSize;\n }\n}\n","import { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport { name, version } from '../../../package.json';\nimport { CallbackHelper } from '../../helpers/CallbackHelper';\nimport { RequestHelper } from '../../helpers/RequestHelper';\nimport { UploadOptions } from '../../interfaces/CaptureParameters';\nimport './UploadImage.scss';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'UploadImageData');\n\nconst uploadImageData = (\n imageData: ImageData,\n options: UploadOptions\n): Promise => {\n if (!!imageData) {\n logger.debug('imageData received');\n\n return RequestHelper.startSession().then(() => {\n RequestHelper.uploadImageData(imageData).then(() => {\n return RequestHelper.processImage(\n options.enableMachineLearning,\n options.enableVto,\n () => { return false; }\n );\n }).then((result) => {\n logger.debug('upload imageData complete');\n CallbackHelper.onAdvisorResult({\n ...(options.enableMachineLearning && { properties: result.properties }),\n videoId: result.videoId\n });\n }).catch((error) => {\n CallbackHelper.onCaptureError(error);\n });\n });\n } else {\n logger.warn('invalid imageData, aborting upload process');\n }\n};\n\nexport {\n uploadImageData,\n};\n","import { uploadImageData as uploadData } from '../../components/upload-image/UploadImageData';\nimport { NotInitializedError } from '../../errors/errors';\nimport { setDefaultUploadImageOptions } from '../../helpers/ParameterHelper';\nimport { UploadImageDataParameters } from '../../interfaces/CaptureParameters';\nimport { hasInitialized } from './HasInitialized';\n\nexport const uploadImageData = (\n uploadParams: UploadImageDataParameters\n): Promise => {\n if (!hasInitialized()) {\n return Promise.reject(new NotInitializedError());\n }\n\n const validatedOptions = setDefaultUploadImageOptions(uploadParams.options);\n return uploadData(uploadParams.imageData, validatedOptions);\n};\n","enum UploadStatus {\n INITIAL = 'INITIAL',\n ACCEPT = 'ACCEPT',\n ACCEPT_THIRD_PARTY = 'ACCEPT_THIRD_PARTY',\n UPLOADING = 'UPLOADING',\n PROCESSING = 'PROCESSING',\n ERROR = 'ERROR'\n}\n\nexport {\n UploadStatus,\n};\n","import { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport { DeviceType } from 'current-device';\nimport React, { Component, createRef, RefObject } from 'react';\nimport { name, version } from '../../../package.json';\nimport { CallbackHelper } from '../../helpers/CallbackHelper';\nimport { LocalizationHelper } from '../../helpers/LocalizationHelper';\nimport { RequestHelper } from '../../helpers/RequestHelper';\nimport { UploadOptions } from '../../interfaces/CaptureParameters';\nimport { FrameAdvisorErrorOverlay } from '../fa-capture/FrameAdvisorErrorOverlay';\nimport { LoadingSpinner } from '../LoadingSpinner';\n\nimport './UploadImage.scss';\nimport { UploadStatus } from './UploadStatus';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'UploadImage');\n\ninterface UploadImageProps {\n options: UploadOptions;\n deviceType: DeviceType;\n}\n\ninterface UploadImageState {\n uploadStatus: UploadStatus;\n dragOver: boolean;\n}\n\nclass UploadImage extends Component<\n UploadImageProps,\n UploadImageState\n> {\n\n private mounted: boolean;\n private imageInput: RefObject;\n private currentFile: File;\n private currentImage = new Image();\n\n constructor(props: UploadImageProps) {\n super(props);\n this.imageInput = createRef();\n this.state = {\n uploadStatus: UploadStatus.INITIAL,\n dragOver: false\n };\n }\n\n componentDidMount() {\n this.mounted = true;\n document.body.addEventListener('mouseenter', this.mouseEnterHandler);\n document.body.addEventListener('dragover', this.dragOverHandler);\n document.body.addEventListener('dragenter', this.dragEnterHandler);\n document.body.addEventListener('dragleave', this.dragLeaveHandler);\n document.body.addEventListener('drop', this.windowDropHandler);\n }\n\n componentWillUnmount() {\n this.mounted = false;\n document.body.removeEventListener('mouseenter', this.mouseEnterHandler);\n document.body.removeEventListener('dragover', this.dragOverHandler);\n document.body.removeEventListener('dragenter', this.dragEnterHandler);\n document.body.removeEventListener('dragleave', this.dragLeaveHandler);\n document.body.removeEventListener('drop', this.windowDropHandler);\n }\n\n imageInputHandler = (e: React.FormEvent) => {\n if (!!this.imageInput.current?.files?.[0]) {\n this.generateImagePreview(this.imageInput.current?.files?.[0]);\n }\n e.currentTarget.value = '';\n }\n\n dropHandler = (e) => {\n e.stopPropagation();\n e.preventDefault();\n this.setState({ dragOver: false });\n\n let file: File;\n if (e.dataTransfer.items && e.dataTransfer.items?.[0].kind === 'file') {\n file = e.dataTransfer.items[0].getAsFile();\n } else if (e.dataTransfer?.files.length > 0) {\n file = e.dataTransfer.files[0];\n }\n\n if (!!file) {\n this.generateImagePreview(file);\n }\n };\n\n generateImagePreview = (file: File) => {\n this.currentFile = file;\n const reader = new FileReader();\n reader.readAsDataURL(this.currentFile);\n\t\treader.onload = (e) => {\n this.currentImage.src = e.target.result.toString();\n this.currentImage.onload = () => {\n\n if (!!CallbackHelper.onImageConfirm) {\n this.setState({ uploadStatus: UploadStatus.ACCEPT_THIRD_PARTY });\n CallbackHelper.onImageConfirm(this.currentImage.src).then((imageAccepted) => {\n if (imageAccepted) {\n this.sendUploadImageRequest(this.currentFile);\n } else {\n this.setState({ uploadStatus: UploadStatus.INITIAL });\n }\n });\n\n } else {\n this.setState({ uploadStatus: UploadStatus.ACCEPT });\n }\n };\n };\n }\n\n windowDropHandler = (e) => {\n e.preventDefault();\n this.setState({ dragOver: false });\n };\n\n mouseEnterHandler = () => {\n if (this.state.dragOver === true) {\n this.setState({ dragOver: false });\n }\n };\n\n dragOverHandler = (e) => {\n e.stopPropagation();\n e.preventDefault();\n };\n\n dragEnterHandler = (e) => {\n e.stopPropagation();\n e.preventDefault();\n this.setState({ dragOver: true });\n };\n\n dragLeaveHandler = (e) => {\n e.preventDefault();\n };\n\n onAcceptFile = () => {\n this.sendUploadImageRequest(this.currentFile);\n }\n\n onDeclineFile = () => {\n this.setState({\n uploadStatus: UploadStatus.INITIAL\n });\n }\n\n sendUploadImageRequest = (file: File): void => {\n if (!!file) {\n logger.debug(`file received: ${file.name}`);\n logger.debug(file);\n\n this.setState({ uploadStatus: UploadStatus.UPLOADING });\n\n RequestHelper.startSession().then(() => {\n RequestHelper.uploadImage(file).then(() => {\n if (this.mounted) {\n this.setState({ uploadStatus: UploadStatus.PROCESSING });\n return RequestHelper.processImage(\n this.props.options.enableMachineLearning,\n this.props.options.enableVto,\n () => { return !this.mounted; });\n }\n }).then((result) => {\n if (this.mounted) {\n logger.debug('upload image complete');\n this.resetComponent();\n CallbackHelper.onAdvisorResult({\n ...(this.props.options.enableMachineLearning && { properties: result.properties }),\n videoId: result.videoId\n });\n }\n }).catch((error) => {\n if (this.mounted) {\n this.setState({ uploadStatus: UploadStatus.ERROR });\n CallbackHelper.onCaptureError(error);\n }\n });\n });\n } else {\n logger.warn('invalid file, aborting upload process');\n }\n }\n\n resetComponent = () => {\n this.currentFile = undefined;\n this.currentImage = new Image();\n this.setState({ uploadStatus: UploadStatus.INITIAL });\n }\n\n render() {\n let displayText = '';\n if (this.props.deviceType === 'mobile') {\n displayText = LocalizationHelper.getString('upload', 'tap_to_upload');\n } else {\n displayText = (this.state.dragOver) ? LocalizationHelper.getString('upload', 'drop_here') : LocalizationHelper.getString('upload', 'click_or_drop');\n }\n\n const showLoading = (this.state.uploadStatus === UploadStatus.UPLOADING || this.state.uploadStatus === UploadStatus.PROCESSING);\n const showImgPreview = showLoading || this.state.uploadStatus === UploadStatus.ACCEPT || this.state.uploadStatus === UploadStatus.ERROR;\n\n return (\n
\n {this.state.uploadStatus === UploadStatus.INITIAL &&\n \n }\n\n {showImgPreview &&\n
\n
\n \n
\n
\n }\n\n {(this.state.uploadStatus === UploadStatus.ACCEPT) &&\n
\n \n \n
\n }\n\n
\n \n
\n {(this.state.uploadStatus === UploadStatus.UPLOADING) ?\n LocalizationHelper.getString('server_processing', 'image_upload') : LocalizationHelper.getString('server_processing', 'image_processing')}\n
\n
\n\n \n
\n );\n }\n}\n\nexport {\n UploadImage,\n};\n","import { AgreementType, BipaManager, BipaOverlay } from '@luxottica/bipa-manager';\nimport { DeviceType } from 'current-device';\nimport React, { useState } from 'react';\nimport { getAuthData } from '../../helpers/AuthHelper';\nimport { CallbackHelper } from '../../helpers/CallbackHelper';\nimport { CONFIG } from '../../helpers/ConfigHelper';\nimport { UploadOptions } from '../../interfaces/CaptureParameters';\nimport { FrameAdvisorErrorOverlay } from '../fa-capture/FrameAdvisorErrorOverlay';\nimport { UploadImage } from './UploadImage';\nimport './UploadImageContainer.scss';\n\ntype agreementStatus = 'INITIAL' | 'APPROVED' | 'REJECTED' | 'ERROR';\n\nconst UploadImageContainer = (props: {\n options: UploadOptions,\n deviceType: DeviceType\n}) => {\n\n const [agreementStatus, setAgreementStatus] = useState(\n BipaManager.biometricCookieExists(AgreementType.BIOMETRIC) ? 'APPROVED' : 'INITIAL'\n );\n\n let content;\n\n switch (agreementStatus) {\n case 'INITIAL':\n CallbackHelper.onPrivacyDisplay();\n content = (\n {\n // close the Privacy agreement and start the experience\n setAgreementStatus('APPROVED');\n },\n onUserReject: () => {\n // close the Privacy agreement and BLOCK the experience\n setAgreementStatus('REJECTED');\n CallbackHelper.onPrivacyReject();\n },\n onError: (error) => {\n setAgreementStatus('ERROR');\n CallbackHelper.onPrivacyFail(error);\n },\n onAuthUpdated: CallbackHelper.onAuthUpdated\n }} privacy={{\n termsAndConditions: CONFIG.privacy.termsAndConditions,\n localizationText: CONFIG.privacy?.localizationText\n }}/>\n );\n break;\n case 'APPROVED':\n CallbackHelper.onCaptureProcess();\n content = ;\n break;\n case 'ERROR':\n content = { setAgreementStatus('INITIAL'); }} />;\n break;\n case 'REJECTED':\n default:\n content = <>;\n break;\n }\n\n return (\n
\n {content}\n
\n );\n};\n\nexport {\n UploadImageContainer\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { UploadImageContainer } from './UploadImageContainer';\nimport device, { DeviceType } from 'current-device';\nimport { ROOT_STYLE_NAME } from '../../constants/Styling';\nimport { UploadOptions } from '../../interfaces/CaptureParameters';\n\nlet currentContainer;\n\nconst loadUploadImage = (\n container: HTMLElement,\n options: UploadOptions,\n onMount: () => void\n) => {\n\n currentContainer = container;\n currentContainer.classList.add(ROOT_STYLE_NAME);\n const deviceType: DeviceType = (device.mobile()) ? 'mobile' : 'desktop';\n\n ReactDOM.render(\n ,\n container,\n onMount\n );\n};\n\nconst closeUploadImageComponent = () => {\n if (!!currentContainer) {\n ReactDOM.unmountComponentAtNode(currentContainer);\n }\n};\n\nexport {\n loadUploadImage,\n closeUploadImageComponent\n};\n","import { loadVtoCapture } from '../../components/vto-capture/VtoCaptureLoader';\nimport { MountError, NotInitializedError } from '../../errors/errors';\nimport { setDefaultVtoCaptureOptions } from '../../helpers/ParameterHelper';\nimport { RequestHelper } from '../../helpers/RequestHelper';\nimport { VtoCaptureParameters } from '../../interfaces/CaptureParameters';\nimport { hasInitialized } from './HasInitialized';\n\nexport const vtoCapture = (\n vtoCaptureParams: VtoCaptureParameters\n): Promise => {\n if (!hasInitialized()) {\n return Promise.reject(new NotInitializedError());\n }\n\n const validatedOptions = setDefaultVtoCaptureOptions(vtoCaptureParams.options);\n return RequestHelper.startSession().then(() => {\n return new Promise((resolve, reject) => {\n const container = document.getElementById(vtoCaptureParams.target);\n if (!!container) {\n loadVtoCapture(container, validatedOptions, () => { resolve(undefined); });\n } else {\n reject(new MountError(vtoCaptureParams.target));\n }\n });\n });\n};\n","import React from 'react';\nimport { LocalizationHelper } from '../../helpers/LocalizationHelper';\nimport './VtoCaptureErrorOverlay.scss';\n\nconst VtoCaptureErrorOverlay = (props: {\n enabled: boolean,\n onClickOk: () => void\n}) => {\n\n return (\n
\n {props.enabled &&\n
\n
{LocalizationHelper.getString('vto_record', 'video_doesnt_fulfill_requirements')}
\n
{LocalizationHelper.getString('capture_error', 'subtext')}
\n \n
\n }\n
\n );\n};\n\nexport {\n VtoCaptureErrorOverlay\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ROOT_STYLE_NAME } from '../../constants/Styling';\nimport { VtoCaptureOptions } from '../../interfaces/CaptureParameters';\nimport { VtoCaptureContainer } from './VtoCaptureContainer';\n\nlet currentContainer;\n\nconst loadVtoCapture = (\n container: HTMLElement,\n options: VtoCaptureOptions,\n onMount: () => void\n) => {\n currentContainer = container;\n currentContainer.classList.add(ROOT_STYLE_NAME);\n ReactDOM.render(\n ,\n container,\n onMount\n );\n};\n\nconst closeVtoCaptureComponent = () => {\n if (!!currentContainer) {\n ReactDOM.unmountComponentAtNode(currentContainer);\n }\n};\n\nexport {\n loadVtoCapture,\n closeVtoCaptureComponent\n};\n","import { AgreementType, BipaManager, BipaOverlay, BipaPage } from '@luxottica/bipa-manager';\nimport React, { lazy, Suspense, useState } from 'react';\nimport { getAuthData } from '../../helpers/AuthHelper';\nimport { CallbackHelper } from '../../helpers/CallbackHelper';\nimport { CONFIG } from '../../helpers/ConfigHelper';\nimport { VtoCaptureOptions } from '../../interfaces/CaptureParameters';\nimport { LoadingSpinner } from '../LoadingSpinner';\nimport './VtoCaptureContainer.scss';\nimport { VtoCaptureErrorOverlay } from './VtoCaptureErrorOverlay';\n\n\ntype agreementStatus = 'INITIAL' | 'APPROVED' | 'REJECTED' | 'ERROR';\n\nconst VtoCaptureContainer = (props: {\n options: VtoCaptureOptions\n}) => {\n\n // begin to download the capture chunk while the user is checking the privacy\n // in case the privacy is already accepted the user will see a loading spinner\n const lazyVtoCapturePromise = import(/* webpackChunkName: \"VtoCaptureVideo\" */ './VtoCaptureVideo')\n .then(({ VtoCaptureVideo }) => ({ default: VtoCaptureVideo }));\n\n // REACT.lazy wrapper used to display a spinner while loading\n const LazyVtoCaptureVideo = lazy(() => lazyVtoCapturePromise);\n\n const [agreementStatus, setAgreementStatus] = useState(\n BipaManager.biometricCookieExists(AgreementType.BIOMETRIC) ? 'APPROVED' : 'INITIAL'\n );\n\n let content;\n\n switch (agreementStatus) {\n case 'INITIAL':\n CallbackHelper.onPrivacyDisplay();\n content = (\n {\n CallbackHelper.onDisplayPrivacyPage(page);\n },\n onSubmit: () => {\n // close the Privacy agreement and start the experience\n setAgreementStatus('APPROVED');\n },\n onUserReject: () => {\n // close the Privacy agreement and BLOCK the experience\n setAgreementStatus('REJECTED');\n CallbackHelper.onPrivacyReject();\n },\n onError: (error) => {\n setAgreementStatus('ERROR');\n CallbackHelper.onPrivacyFail(error);\n },\n onAuthUpdated: CallbackHelper.onAuthUpdated\n }} privacy={{\n termsAndConditions: CONFIG.privacy.termsAndConditions,\n localizationText: CONFIG.privacy?.localizationText\n }}/>\n );\n break;\n case 'APPROVED':\n CallbackHelper.onCaptureProcess();\n content = (\n }>\n \n \n );\n break;\n case 'ERROR':\n content = { setAgreementStatus('INITIAL'); }} />;\n break;\n case 'REJECTED':\n default:\n content = <>;\n break;\n }\n\n return (\n
\n {content}\n
\n );\n};\n\nexport {\n VtoCaptureContainer\n};\n","enum RecordingStatus {\n OFF = 'OFF',\n STEP_1 = 'STEP_1',\n STEP_2 = 'STEP_2',\n STEP_3 = 'STEP_3',\n STEP_4 = 'STEP_4',\n STEP_5 = 'STEP_5',\n}\n\nexport {\n RecordingStatus,\n};\n","import { GuidanceCommand, PoseResponse, PoseTracker } from '@luxottica/vm-posetracker-faceweb';\nimport { RemoteLogConfig } from '@luxottica/vm-remotelog';\nimport React, { Component, createRef, RefObject } from 'react';\nimport { name, version } from '../../../package.json';\nimport { VideoStatus } from '../../constants/VideoStatus';\nimport { CallbackHelper, guidanceUpdate } from '../../helpers/CallbackHelper';\nimport { RequestHelper } from '../../helpers/RequestHelper';\nimport { Timer } from '../../helpers/Timer';\nimport { WebcamHelper } from '../../helpers/WebCamHelper';\nimport { VtoCaptureOptions } from '../../interfaces/CaptureParameters';\nimport { CaptureStatus } from '../../interfaces/CaptureStatus';\nimport './VtoCaptureVideo.scss';\nimport { VtoCaptureErrorOverlay } from './VtoCaptureErrorOverlay';\nimport { VtoCaptureOverlay } from './VtoCaptureOverlay';\nimport { RecordingHelper } from '../../helpers/RecordingHelper';\nimport { RecordingStatus } from '../../interfaces/RecordingStatus';\nimport { DefaultCaptureDuration } from '../../constants/DefaultVtoCaptureOptions';\nimport { MicroserviceEnvironment } from '@luxottica/vto-microservices';\n\nconst logger = RemoteLogConfig.getInstance().getLoggerInfo(name, version, 'VtoCaptureVideo');\n\nconst VIDEO_DIV_ID = 'webcam-target';\n\nlet canvas: HTMLCanvasElement;\nlet context: CanvasRenderingContext2D;\nlet mounted: boolean;\n\ninterface VtoCaptureVideoProps {\n options: VtoCaptureOptions,\n environment: MicroserviceEnvironment\n}\n\ninterface VtoCaptureVideoState {\n webcamStream: MediaStream;\n videoStatus: VideoStatus;\n captureStatus: CaptureStatus;\n recordingStatus: RecordingStatus;\n pose: PoseResponse;\n}\n\nclass VtoCaptureVideo extends Component<\n VtoCaptureVideoProps,\n VtoCaptureVideoState\n> {\n\n poseTracker: PoseTracker;\n \n animationRef: number = undefined;\n videoRef: RefObject = undefined;\n timer = new Timer();\n\n constructor(props: VtoCaptureVideoProps) {\n super(props);\n this.state = {\n webcamStream: undefined,\n videoStatus: VideoStatus.LOADING,\n captureStatus: CaptureStatus.LOADING,\n recordingStatus: RecordingStatus.OFF,\n pose: undefined,\n };\n this.videoRef = createRef();\n }\n\n private update = async () => {\n if (!this.videoRef.current || this.state.videoStatus === VideoStatus.STOPPED) {\n return;\n\n } else if (!!this.poseTracker && this.poseTracker.isReady()) {\n context.drawImage(this.videoRef.current, 0, 0, this.videoRef.current.videoWidth, this.videoRef.current.videoHeight);\n \n if (this.state.captureStatus === CaptureStatus.INITIAL\n && this.state.videoStatus === VideoStatus.PLAYING\n && this.state.recordingStatus === RecordingStatus.OFF) {\n const response = await this.poseTracker.getPose({image: canvas});\n \n // store the guidance update because after react state update will not be possible to check it\n const hasGuidanceUpdate = response.guidanceCommand !== this.state.pose?.guidanceCommand;\n\n // set the state and let update the UI before the next step\n // we permit to pause the capture but probably is better to update the UI first\n await new Promise((resolve) => {\n this.setState({\n pose: response\n }, resolve);\n });\n\n // wait for user input in case of necessity\n await guidanceUpdate(response.guidanceCommand, hasGuidanceUpdate, true);\n }\n }\n\n this.animationRef = requestAnimationFrame(this.update);\n };\n\n componentDidMount() {\n canvas = document.createElement('canvas');\n context = canvas.getContext('2d', { preserveDrawingBuffer: true }) as CanvasRenderingContext2D;\n mounted = true;\n this.setState({ videoStatus: VideoStatus.LOADING});\n\n WebcamHelper.openWebcam(1280, 720).then((stream) => {\n this.setState({ webcamStream: stream as MediaStream });\n this.videoRef.current.onplaying = () => {\n try {\n this.poseTracker = new PoseTracker(\n 52,\n this.props.options.tracking.filter,\n this.props.environment == 'PRODUCTION' ? 'PRODUCTION' : 'TEST',\n () => { this.setState({ captureStatus: CaptureStatus.INITIAL }); },\n () => { return; },\n {\n accountForLightingConditions: false,\n standstill: {\n depthRange: {\n min: 300,\n max: 800,\n }\n }\n }\n );\n canvas.width = this.videoRef.current.videoWidth;\n canvas.height = this.videoRef.current.videoHeight;\n this.setState({ videoStatus: VideoStatus.PLAYING});\n this.animationRef = requestAnimationFrame(this.update);\n } catch (error) {\n this.setState({ captureStatus: CaptureStatus.ERROR });\n CallbackHelper.onCaptureError(error);\n }\n };\n try {\n RecordingHelper.initialize(\n stream as MediaStream,\n (videoBlob) => { this.uploadVideo(videoBlob); }\n );\n } catch (error) {\n this.setState({ captureStatus: CaptureStatus.ERROR });\n logger.error(error);\n }\n }).catch((error) => {\n this.setState({ captureStatus: CaptureStatus.ERROR });\n logger.error(error);\n CallbackHelper.onCaptureError(error);\n });\n }\n\n componentWillUnmount() {\n this.timer.stop();\n WebcamHelper.closeStream();\n cancelAnimationFrame(this.animationRef);\n mounted = false;\n this.poseTracker.destroy();\n this.setState({ videoStatus: VideoStatus.STOPPED });\n }\n\n componentDidUpdate(\n prevProps: VtoCaptureVideoProps,\n prevState: VtoCaptureVideoState\n ) {\n if (!prevState.webcamStream && this.state.webcamStream) {\n this.videoRef.current.srcObject = this.state.webcamStream;\n }\n\n if (this.state.captureStatus === CaptureStatus.INITIAL) {\n if (this.state.pose?.guidanceCommand === GuidanceCommand.STAY_STILL) {\n if (!this.timer.active) {\n this.timer.start(2000, this.startRecording);\n }\n } else {\n this.timer.stop();\n }\n }\n }\n\n startRecording = () => {\n RecordingHelper.startRecording();\n const recordingInterval = DefaultCaptureDuration * 0.2;\n this.setState({\n captureStatus: CaptureStatus.SAVING,\n recordingStatus: RecordingStatus.STEP_1\n });\n\n setTimeout(() => {\n //TODO: make this better\n if (mounted) {\n this.setState({ recordingStatus: RecordingStatus.STEP_2 });\n\n if (mounted) {\n setTimeout(() => {\n this.setState({ recordingStatus: RecordingStatus.STEP_3 });\n\n if (mounted) {\n setTimeout(() => {\n this.setState({ recordingStatus: RecordingStatus.STEP_4 });\n\n if (mounted) {\n setTimeout(() => {\n this.setState({ recordingStatus: RecordingStatus.STEP_5 });\n\n if (mounted) {\n setTimeout(() => {\n this.setState({ recordingStatus: RecordingStatus.OFF });\n RecordingHelper.stopRecording();\n }, recordingInterval);\n }\n\n }, recordingInterval);\n }\n\n }, recordingInterval);\n }\n\n }, recordingInterval);\n }\n\n }\n }, recordingInterval);\n }\n\n uploadVideo = (videoBlob: Blob[]) => {\n CallbackHelper.onLoading();\n\n logger.debug('UPLOADING');\n if (mounted) {\n this.setState({ captureStatus: CaptureStatus.UPLOADING });\n return RequestHelper.uploadVideo(videoBlob).then(() => {\n logger.debug('PROCESSING');\n if (mounted) {\n this.setState({ captureStatus: CaptureStatus.PROCESSING });\n return RequestHelper.processVideo(\n this.props.options.enableMachineLearning,\n this.props.options.enableVto,\n () => { return !mounted; });\n }\n }).then((result) => {\n logger.debug('COMPLETE', result);\n if (mounted) {\n this.setState({ captureStatus: CaptureStatus.COMPLETE });\n CallbackHelper.onAdvisorResult({\n ...(this.props.options.enableMachineLearning && { properties: result.properties }),\n videoId: result.videoId\n });\n }\n }).catch((error) => {\n if (mounted) {\n this.setState({ captureStatus: CaptureStatus.ERROR });\n CallbackHelper.onCaptureError(error);\n }\n });\n }\n }\n\n resetCapture = () => {\n this.timer.stop();\n cancelAnimationFrame(this.animationRef);\n this.animationRef = requestAnimationFrame(this.update);\n this.setState({ captureStatus: CaptureStatus.INITIAL });\n }\n\n render() {\n return (\n <>\n