UNPKG

tethysfaceid

Version:

1 lines 53.9 kB
{"ast":null,"code":"import { Config } from 'common/Config';\nimport { FaceTecSDK } from 'core-sdk/FaceTecSDK.js/FaceTecSDK';\nimport { FaceMapAppUtillities } from './faceMapAppUtilities';\nexport var ThemeHelpers = function ThemeHelpers() {\n  var currentTheme = \"Sample Bank\";\n  var themeResourceDirectory = \"resources/themes/\";\n\n  function setAppTheme(theme) {\n    Config.currentCustomization = getCustomizationForTheme(theme);\n    var currentLowLightCustomization = getLowLightCustomizationForTheme(theme);\n    FaceTecSDK.setCustomization(Config.currentCustomization);\n    FaceTecSDK.setLowLightCustomization(currentLowLightCustomization);\n  }\n\n  function getCustomizationForTheme() {\n    var currentCustomization = new FaceTecSDK.FaceTecCustomization();\n\n    if (FaceMapAppUtillities.isLikelyMobileDevice()) {\n      // using strings with breaks for Ready Screen text on mobile devices\n      currentCustomization.guidanceCustomization.readyScreenHeaderAttributedString = \"Get Ready For<br/>Your Video Selfie\";\n      currentCustomization.guidanceCustomization.readyScreenSubtextAttributedString = \"Please Frame Your Face In<br/>The Small Oval, Then The Big Oval\";\n    }\n\n    var retryScreenSlideshowImages = [themeResourceDirectory + \"FaceTec_ideal_1.png\", themeResourceDirectory + \"FaceTec_ideal_2.png\", themeResourceDirectory + \"FaceTec_ideal_3.png\", themeResourceDirectory + \"FaceTec_ideal_4.png\", themeResourceDirectory + \"FaceTec_ideal_5.png\"];\n    var primaryColor = \"#03224c\";\n    var primaryColorDark = \"#000025\";\n    var backgroundColor = \"white\"; // navy\n\n    var font = \"'Source Sans Pro', Helvetica, sans-serif\"; // Initial Loading Animation Customization\n\n    currentCustomization.initialLoadingAnimationCustomization.customAnimation = null;\n    currentCustomization.initialLoadingAnimationCustomization.animationRelativeScale = 1.0;\n    currentCustomization.initialLoadingAnimationCustomization.backgroundColor = primaryColor;\n    currentCustomization.initialLoadingAnimationCustomization.foregroundColor = backgroundColor;\n    currentCustomization.initialLoadingAnimationCustomization.messageTextColor = primaryColor;\n    currentCustomization.initialLoadingAnimationCustomization.messageFont = font;\n    currentCustomization.initialLoadingAnimationCustomization.messageTextSpacing = \"normal\";\n    currentCustomization.initialLoadingAnimationCustomization.messageTextSize = \"16px\"; // Overlay Customization\n\n    currentCustomization.overlayCustomization.backgroundColor = white;\n    currentCustomization.overlayCustomization.showBrandingImage = true;\n    currentCustomization.overlayCustomization.brandingImage = themeResourceDirectory + \"sample-bank/sample_bank_logo.png\"; // Guidance Customization\n\n    currentCustomization.guidanceCustomization.backgroundColors = backgroundColor;\n    currentCustomization.guidanceCustomization.foregroundColor = primaryColor;\n    currentCustomization.guidanceCustomization.headerFont = font;\n    currentCustomization.guidanceCustomization.headerTextSpacing = \"normal\";\n    currentCustomization.guidanceCustomization.headerTextSize = \"20px\";\n    currentCustomization.guidanceCustomization.subtextFont = font;\n    currentCustomization.guidanceCustomization.subtextTextSpacing = \"normal\";\n    currentCustomization.guidanceCustomization.subtextTextSize = \"12px\";\n    currentCustomization.guidanceCustomization.buttonFont = font;\n    currentCustomization.guidanceCustomization.buttonTextSpacing = \"normal\";\n    currentCustomization.guidanceCustomization.buttonTextSize = \"16px\";\n    currentCustomization.guidanceCustomization.buttonTextNormalColor = backgroundColor;\n    currentCustomization.guidanceCustomization.buttonBackgroundNormalColor = primaryColor;\n    currentCustomization.guidanceCustomization.buttonTextHighlightColor = backgroundColor;\n    currentCustomization.guidanceCustomization.buttonBackgroundHighlightColor = primaryColorDark;\n    currentCustomization.guidanceCustomization.buttonTextDisabledColor = \"rgba(29, 23, 79, 0.3)\";\n    currentCustomization.guidanceCustomization.buttonBackgroundDisabledColor = primaryColor;\n    currentCustomization.guidanceCustomization.buttonBorderColor = backgroundColor;\n    currentCustomization.guidanceCustomization.buttonBorderWidth = \"2px\";\n    currentCustomization.guidanceCustomization.buttonCornerRadius = \"2px\";\n    currentCustomization.guidanceCustomization.buttonRelativeWidth = \"1.0\";\n    currentCustomization.guidanceCustomization.buttonRelativeWidthOnDesktop = \"0.5\";\n    currentCustomization.guidanceCustomization.readyScreenOvalFillColor = \"rgba(255, 255, 255, 0.2)\";\n    currentCustomization.guidanceCustomization.readyScreenTextBackgroundColor = backgroundColor;\n    currentCustomization.guidanceCustomization.readyScreenTextBackgroundCornerRadius = \"2px\";\n    currentCustomization.guidanceCustomization.retryScreenImageBorderColor = primaryColor;\n    currentCustomization.guidanceCustomization.retryScreenImageBorderWidth = \"2px\";\n    currentCustomization.guidanceCustomization.retryScreenImageCornerRadius = \"2px\";\n    currentCustomization.guidanceCustomization.retryScreenOvalStrokeColor = primaryColor;\n    currentCustomization.guidanceCustomization.retryScreenSlideshowImages = retryScreenSlideshowImages;\n    currentCustomization.guidanceCustomization.retryScreenSlideshowInterval = \"1500ms\";\n    currentCustomization.guidanceCustomization.enableRetryScreenSlideshowShuffle = false;\n    currentCustomization.guidanceCustomization.enableRetryScreenBulletedInstructions = true;\n    currentCustomization.guidanceCustomization.cameraPermissionsScreenImage = themeResourceDirectory + \"sample-bank/camera_white_navy.png\"; // ID Scan Customization\n\n    currentCustomization.idScanCustomization.showSelectionScreenBrandingImage = false;\n    currentCustomization.idScanCustomization.selectionScreenBrandingImage = \"\";\n    currentCustomization.idScanCustomization.selectionScreenBackgroundColors = backgroundColor;\n    currentCustomization.idScanCustomization.reviewScreenBackgroundColors = backgroundColor;\n    currentCustomization.idScanCustomization.captureScreenForegroundColor = backgroundColor;\n    currentCustomization.idScanCustomization.reviewScreenForegroundColor = backgroundColor;\n    currentCustomization.idScanCustomization.selectionScreenForegroundColor = primaryColor;\n    currentCustomization.idScanCustomization.headerFont = font;\n    currentCustomization.idScanCustomization.headerTextSpacing = \"normal\";\n    currentCustomization.idScanCustomization.headerTextSize = \"20px\";\n    currentCustomization.idScanCustomization.subtextFont = font;\n    currentCustomization.idScanCustomization.subtextTextSpacing = \"normal\";\n    currentCustomization.idScanCustomization.subtextTextSize = \"12px\";\n    currentCustomization.idScanCustomization.buttonFont = font;\n    currentCustomization.idScanCustomization.buttonTextSpacing = \"normal\";\n    currentCustomization.idScanCustomization.buttonTextSize = \"16px\";\n    currentCustomization.idScanCustomization.buttonTextNormalColor = backgroundColor;\n    currentCustomization.idScanCustomization.buttonBackgroundNormalColor = primaryColor;\n    currentCustomization.idScanCustomization.buttonTextHighlightColor = backgroundColor;\n    currentCustomization.idScanCustomization.buttonBackgroundHighlightColor = \"rgba(255, 255, 255, 0.8)\";\n    currentCustomization.idScanCustomization.buttonTextDisabledColor = \"rgba(29, 23, 79, 0.3)\";\n    currentCustomization.idScanCustomization.buttonBackgroundDisabledColor = primaryColor;\n    currentCustomization.idScanCustomization.buttonBorderColor = backgroundColor;\n    currentCustomization.idScanCustomization.buttonBorderWidth = \"2px\";\n    currentCustomization.idScanCustomization.buttonCornerRadius = \"2px\";\n    currentCustomization.idScanCustomization.buttonRelativeWidth = \"1.0\";\n    currentCustomization.idScanCustomization.buttonRelativeWidthOnDesktop = \"0.5\";\n    currentCustomization.idScanCustomization.captureScreenTextBackgroundColor = primaryColor;\n    currentCustomization.idScanCustomization.captureScreenTextBackgroundBorderColor = backgroundColor;\n    currentCustomization.idScanCustomization.captureScreenTextBackgroundBorderWidth = \"2px\";\n    currentCustomization.idScanCustomization.captureScreenTextBackgroundCornerRadius = \"2px\";\n    currentCustomization.idScanCustomization.reviewScreenTextBackgroundColor = primaryColor;\n    currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderColor = backgroundColor;\n    currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderWidth = \"2px\";\n    currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderCornerRadius = \"2px\";\n    currentCustomization.idScanCustomization.captureScreenBackgroundColor = backgroundColor;\n    currentCustomization.idScanCustomization.captureFrameStrokeColor = primaryColor;\n    currentCustomization.idScanCustomization.captureFrameStrokeWidth = \"2px\";\n    currentCustomization.idScanCustomization.captureFrameCornerRadius = \"12px\"; // Result Screen Customization\n\n    currentCustomization.resultScreenCustomization.backgroundColors = backgroundColor;\n    currentCustomization.resultScreenCustomization.foregroundColor = primaryColor;\n    currentCustomization.resultScreenCustomization.messageFont = font;\n    currentCustomization.resultScreenCustomization.messageTextSpacing = \"normal\";\n    currentCustomization.resultScreenCustomization.messageTextSize = \"16px\";\n    currentCustomization.resultScreenCustomization.activityIndicatorColor = primaryColor;\n    currentCustomization.resultScreenCustomization.customActivityIndicatorImage = themeResourceDirectory + \"sample-bank/activity_indicator_navy.png\";\n    currentCustomization.resultScreenCustomization.customActivityIndicatorRotationInterval = \"1s\";\n    currentCustomization.resultScreenCustomization.customActivityIndicatorAnimation = null;\n    currentCustomization.resultScreenCustomization.resultAnimationBackgroundColor = \"transparent\";\n    currentCustomization.resultScreenCustomization.resultAnimationForegroundColor = primaryColor;\n    currentCustomization.resultScreenCustomization.resultAnimationSuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n    currentCustomization.resultScreenCustomization.resultAnimationUnsuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n    currentCustomization.resultScreenCustomization.customResultAnimationSuccess = null;\n    currentCustomization.resultScreenCustomization.customResultAnimationUnsuccess = null;\n    currentCustomization.resultScreenCustomization.showUploadProgressBar = true;\n    currentCustomization.resultScreenCustomization.uploadProgressTrackColor = \"rgba(255, 255, 255, 0.2)\";\n    currentCustomization.resultScreenCustomization.uploadProgressFillColor = primaryColor;\n    currentCustomization.resultScreenCustomization.animationRelativeScale = 1.0; // Feedback Customization\n\n    currentCustomization.feedbackCustomization.backgroundColor = primaryColor;\n    currentCustomization.feedbackCustomization.textColor = backgroundColor;\n    currentCustomization.feedbackCustomization.textFont = font;\n    currentCustomization.feedbackCustomization.textSpacing = \"normal\";\n    currentCustomization.feedbackCustomization.textSize = \"18px\";\n    currentCustomization.feedbackCustomization.cornerRadius = \"2px\";\n    currentCustomization.feedbackCustomization.shadow = \"none\";\n    currentCustomization.feedbackCustomization.relativeWidth = \"1.0\";\n    currentCustomization.feedbackCustomization.relativeWidthOnDesktop = \"0.5\"; // Frame Customization\n\n    currentCustomization.frameCustomization.backgroundColor = backgroundColor;\n    currentCustomization.frameCustomization.borderColor = backgroundColor;\n    currentCustomization.frameCustomization.borderWidth = \"2px\";\n    currentCustomization.frameCustomization.borderCornerRadius = \"2px\";\n    currentCustomization.frameCustomization.shadow = \"none\"; // Oval Customization\n\n    currentCustomization.ovalCustomization.strokeColor = primaryColor;\n    currentCustomization.ovalCustomization.progressColor1 = \"rgba(255, 255, 255, 0.8)\";\n    currentCustomization.ovalCustomization.progressColor2 = \"rgba(255, 255, 255, 0.8)\"; // Cancel Button Customization\n\n    currentCustomization.cancelButtonCustomization.customImage = themeResourceDirectory + \"sample-bank/cancel_navy.png\";\n    currentCustomization.cancelButtonCustomization.location = FaceTecSDK.FaceTecCancelButtonLocation.TopLeft;\n    return currentCustomization;\n  }\n\n  function getLowLightCustomizationForTheme(theme) {\n    var currentLowLightCustomization = getCustomizationForTheme(theme);\n    var retryScreenSlideshowImages = [themeResourceDirectory + \"FaceTec_ideal_1.png\", themeResourceDirectory + \"FaceTec_ideal_2.png\", themeResourceDirectory + \"FaceTec_ideal_3.png\", themeResourceDirectory + \"FaceTec_ideal_4.png\", themeResourceDirectory + \"FaceTec_ideal_5.png\"];\n    var primaryColor = \"white\";\n    var backgroundColor = \"rgb(29, 23, 79)\"; // navy\n    // Overlay Customization\n\n    currentLowLightCustomization.overlayCustomization.brandingImage = themeResourceDirectory + \"sample-bank/sample_bank_logo.png\"; // Guidance Customization\n\n    currentLowLightCustomization.guidanceCustomization.foregroundColor = backgroundColor;\n    currentLowLightCustomization.guidanceCustomization.buttonTextNormalColor = primaryColor;\n    currentLowLightCustomization.guidanceCustomization.buttonBackgroundNormalColor = backgroundColor;\n    currentLowLightCustomization.guidanceCustomization.buttonTextHighlightColor = primaryColor;\n    currentLowLightCustomization.guidanceCustomization.buttonBackgroundHighlightColor = \"rgba(29, 23, 79, 0.8)\";\n    currentLowLightCustomization.guidanceCustomization.buttonTextDisabledColor = \"rgba(255, 255, 255, 0.3)\";\n    currentLowLightCustomization.guidanceCustomization.buttonBackgroundDisabledColor = backgroundColor;\n    currentLowLightCustomization.guidanceCustomization.buttonBorderColor = backgroundColor;\n    currentLowLightCustomization.guidanceCustomization.readyScreenOvalFillColor = \"rgba(255, 255, 255, 0.2)\";\n    currentLowLightCustomization.guidanceCustomization.readyScreenTextBackgroundColor = primaryColor;\n    currentLowLightCustomization.guidanceCustomization.retryScreenImageBorderColor = backgroundColor;\n    currentLowLightCustomization.guidanceCustomization.retryScreenOvalStrokeColor = primaryColor;\n    currentLowLightCustomization.guidanceCustomization.retryScreenSlideshowImages = retryScreenSlideshowImages; // ID Scan Customization\n\n    currentLowLightCustomization.idScanCustomization.selectionScreenBrandingImage = \"\";\n    currentLowLightCustomization.idScanCustomization.captureScreenForegroundColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.reviewScreenForegroundColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.selectionScreenForegroundColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.buttonTextNormalColor = primaryColor;\n    currentLowLightCustomization.idScanCustomization.buttonBackgroundNormalColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.buttonTextHighlightColor = primaryColor;\n    currentLowLightCustomization.idScanCustomization.buttonBackgroundHighlightColor = \"rgba(29, 23, 79, 0.8)\";\n    currentLowLightCustomization.idScanCustomization.buttonTextDisabledColor = \"rgba(255, 255, 255, 0.3)\";\n    currentLowLightCustomization.idScanCustomization.buttonBackgroundDisabledColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.buttonBorderColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.captureScreenTextBackgroundColor = primaryColor;\n    currentLowLightCustomization.idScanCustomization.captureScreenTextBackgroundBorderColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.reviewScreenTextBackgroundColor = primaryColor;\n    currentLowLightCustomization.idScanCustomization.reviewScreenTextBackgroundBorderColor = backgroundColor;\n    currentLowLightCustomization.idScanCustomization.captureFrameStrokeColor = primaryColor; // Result Screen Customization\n\n    currentLowLightCustomization.resultScreenCustomization.foregroundColor = backgroundColor;\n    currentLowLightCustomization.resultScreenCustomization.activityIndicatorColor = backgroundColor;\n    currentLowLightCustomization.resultScreenCustomization.customActivityIndicatorImage = themeResourceDirectory + \"sample-bank/activity_indicator_navy.png\";\n    currentLowLightCustomization.resultScreenCustomization.customActivityIndicatorAnimation = null;\n    currentLowLightCustomization.resultScreenCustomization.resultAnimationBackgroundColor = \"transparent\";\n    currentLowLightCustomization.resultScreenCustomization.resultAnimationForegroundColor = backgroundColor;\n    currentLowLightCustomization.resultScreenCustomization.resultAnimationSuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n    currentLowLightCustomization.resultScreenCustomization.resultAnimationUnsuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n    currentLowLightCustomization.resultScreenCustomization.customResultAnimationSuccess = null;\n    currentLowLightCustomization.resultScreenCustomization.customResultAnimationUnsuccess = null;\n    currentLowLightCustomization.resultScreenCustomization.uploadProgressTrackColor = \"rgba(0, 0, 0, 0.2)\";\n    currentLowLightCustomization.resultScreenCustomization.uploadProgressFillColor = backgroundColor; // Feedback Customization\n\n    currentLowLightCustomization.feedbackCustomization.backgroundColor = backgroundColor;\n    currentLowLightCustomization.feedbackCustomization.textColor = primaryColor; // Frame Customization\n\n    currentLowLightCustomization.frameCustomization.borderColor = backgroundColor; // Oval Customization\n\n    currentLowLightCustomization.ovalCustomization.strokeColor = backgroundColor;\n    currentLowLightCustomization.ovalCustomization.progressColor1 = \"rgba(29, 23, 79, 0.8)\";\n    currentLowLightCustomization.ovalCustomization.progressColor2 = \"rgba(29, 23, 79, 0.8)\"; // Cancel Button Customization\n\n    currentLowLightCustomization.cancelButtonCustomization.customImage = themeResourceDirectory + \"sample-bank/cancel_navy.png\";\n    return currentLowLightCustomization;\n  }\n\n  setAppTheme();\n};\n_c = ThemeHelpers;\n\nvar _c;\n\n$RefreshReg$(_c, \"ThemeHelpers\");","map":{"version":3,"sources":["/Users/dhrumil1/Documents/Tethy/online-verification/components/LivenessCheck/utilities/themeHelpers.js"],"names":["Config","FaceTecSDK","FaceMapAppUtillities","ThemeHelpers","currentTheme","themeResourceDirectory","setAppTheme","theme","currentCustomization","getCustomizationForTheme","currentLowLightCustomization","getLowLightCustomizationForTheme","setCustomization","setLowLightCustomization","FaceTecCustomization","isLikelyMobileDevice","guidanceCustomization","readyScreenHeaderAttributedString","readyScreenSubtextAttributedString","retryScreenSlideshowImages","primaryColor","primaryColorDark","backgroundColor","font","initialLoadingAnimationCustomization","customAnimation","animationRelativeScale","foregroundColor","messageTextColor","messageFont","messageTextSpacing","messageTextSize","overlayCustomization","white","showBrandingImage","brandingImage","backgroundColors","headerFont","headerTextSpacing","headerTextSize","subtextFont","subtextTextSpacing","subtextTextSize","buttonFont","buttonTextSpacing","buttonTextSize","buttonTextNormalColor","buttonBackgroundNormalColor","buttonTextHighlightColor","buttonBackgroundHighlightColor","buttonTextDisabledColor","buttonBackgroundDisabledColor","buttonBorderColor","buttonBorderWidth","buttonCornerRadius","buttonRelativeWidth","buttonRelativeWidthOnDesktop","readyScreenOvalFillColor","readyScreenTextBackgroundColor","readyScreenTextBackgroundCornerRadius","retryScreenImageBorderColor","retryScreenImageBorderWidth","retryScreenImageCornerRadius","retryScreenOvalStrokeColor","retryScreenSlideshowInterval","enableRetryScreenSlideshowShuffle","enableRetryScreenBulletedInstructions","cameraPermissionsScreenImage","idScanCustomization","showSelectionScreenBrandingImage","selectionScreenBrandingImage","selectionScreenBackgroundColors","reviewScreenBackgroundColors","captureScreenForegroundColor","reviewScreenForegroundColor","selectionScreenForegroundColor","captureScreenTextBackgroundColor","captureScreenTextBackgroundBorderColor","captureScreenTextBackgroundBorderWidth","captureScreenTextBackgroundCornerRadius","reviewScreenTextBackgroundColor","reviewScreenTextBackgroundBorderColor","reviewScreenTextBackgroundBorderWidth","reviewScreenTextBackgroundBorderCornerRadius","captureScreenBackgroundColor","captureFrameStrokeColor","captureFrameStrokeWidth","captureFrameCornerRadius","resultScreenCustomization","activityIndicatorColor","customActivityIndicatorImage","customActivityIndicatorRotationInterval","customActivityIndicatorAnimation","resultAnimationBackgroundColor","resultAnimationForegroundColor","resultAnimationSuccessBackgroundImage","resultAnimationUnsuccessBackgroundImage","customResultAnimationSuccess","customResultAnimationUnsuccess","showUploadProgressBar","uploadProgressTrackColor","uploadProgressFillColor","feedbackCustomization","textColor","textFont","textSpacing","textSize","cornerRadius","shadow","relativeWidth","relativeWidthOnDesktop","frameCustomization","borderColor","borderWidth","borderCornerRadius","ovalCustomization","strokeColor","progressColor1","progressColor2","cancelButtonCustomization","customImage","location","FaceTecCancelButtonLocation","TopLeft"],"mappings":"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","sourcesContent":["import { Config } from 'common/Config';\nimport { FaceTecSDK } from 'core-sdk/FaceTecSDK.js/FaceTecSDK';\nimport { FaceMapAppUtillities } from './faceMapAppUtilities';\n\nexport const ThemeHelpers = () => {\n    var currentTheme = \"Sample Bank\";\n    var themeResourceDirectory = \"resources/themes/\";\n    function setAppTheme(theme) {\n        Config.currentCustomization = getCustomizationForTheme(theme);\n        var currentLowLightCustomization = getLowLightCustomizationForTheme(theme);\n        FaceTecSDK.setCustomization(Config.currentCustomization);\n        FaceTecSDK.setLowLightCustomization(currentLowLightCustomization);\n    }\n    function getCustomizationForTheme() {\n        var currentCustomization = new FaceTecSDK.FaceTecCustomization();\n        if (FaceMapAppUtillities.isLikelyMobileDevice()) {\n            // using strings with breaks for Ready Screen text on mobile devices\n            currentCustomization.guidanceCustomization.readyScreenHeaderAttributedString = \"Get Ready For<br/>Your Video Selfie\";\n            currentCustomization.guidanceCustomization.readyScreenSubtextAttributedString = \"Please Frame Your Face In<br/>The Small Oval, Then The Big Oval\";\n        }\n        var retryScreenSlideshowImages = [themeResourceDirectory + \"FaceTec_ideal_1.png\", themeResourceDirectory + \"FaceTec_ideal_2.png\", themeResourceDirectory + \"FaceTec_ideal_3.png\", themeResourceDirectory + \"FaceTec_ideal_4.png\", themeResourceDirectory + \"FaceTec_ideal_5.png\"];\n\n        var primaryColor = \"#03224c\";\n        var primaryColorDark = \"#000025\";\n        var backgroundColor = \"white\"; // navy\n        var font = \"'Source Sans Pro', Helvetica, sans-serif\";\n        // Initial Loading Animation Customization\n        currentCustomization.initialLoadingAnimationCustomization.customAnimation = null;\n        currentCustomization.initialLoadingAnimationCustomization.animationRelativeScale = 1.0;\n        currentCustomization.initialLoadingAnimationCustomization.backgroundColor = primaryColor;\n        currentCustomization.initialLoadingAnimationCustomization.foregroundColor = backgroundColor;\n        currentCustomization.initialLoadingAnimationCustomization.messageTextColor = primaryColor;\n        currentCustomization.initialLoadingAnimationCustomization.messageFont = font;\n        currentCustomization.initialLoadingAnimationCustomization.messageTextSpacing = \"normal\";\n        currentCustomization.initialLoadingAnimationCustomization.messageTextSize = \"16px\";\n        // Overlay Customization\n        currentCustomization.overlayCustomization.backgroundColor = white;\n        currentCustomization.overlayCustomization.showBrandingImage = true;\n        currentCustomization.overlayCustomization.brandingImage = themeResourceDirectory + \"sample-bank/sample_bank_logo.png\";\n        // Guidance Customization\n        currentCustomization.guidanceCustomization.backgroundColors = backgroundColor;\n        currentCustomization.guidanceCustomization.foregroundColor = primaryColor;\n        currentCustomization.guidanceCustomization.headerFont = font;\n        currentCustomization.guidanceCustomization.headerTextSpacing = \"normal\";\n        currentCustomization.guidanceCustomization.headerTextSize = \"20px\";\n        currentCustomization.guidanceCustomization.subtextFont = font;\n        currentCustomization.guidanceCustomization.subtextTextSpacing = \"normal\";\n        currentCustomization.guidanceCustomization.subtextTextSize = \"12px\";\n        currentCustomization.guidanceCustomization.buttonFont = font;\n        currentCustomization.guidanceCustomization.buttonTextSpacing = \"normal\";\n        currentCustomization.guidanceCustomization.buttonTextSize = \"16px\";\n        currentCustomization.guidanceCustomization.buttonTextNormalColor = backgroundColor;\n        currentCustomization.guidanceCustomization.buttonBackgroundNormalColor = primaryColor;\n        currentCustomization.guidanceCustomization.buttonTextHighlightColor = backgroundColor;\n        currentCustomization.guidanceCustomization.buttonBackgroundHighlightColor = primaryColorDark;\n        currentCustomization.guidanceCustomization.buttonTextDisabledColor = \"rgba(29, 23, 79, 0.3)\";\n        currentCustomization.guidanceCustomization.buttonBackgroundDisabledColor = primaryColor;\n        currentCustomization.guidanceCustomization.buttonBorderColor = backgroundColor;\n        currentCustomization.guidanceCustomization.buttonBorderWidth = \"2px\";\n        currentCustomization.guidanceCustomization.buttonCornerRadius = \"2px\";\n        currentCustomization.guidanceCustomization.buttonRelativeWidth = \"1.0\";\n        currentCustomization.guidanceCustomization.buttonRelativeWidthOnDesktop = \"0.5\";\n        currentCustomization.guidanceCustomization.readyScreenOvalFillColor = \"rgba(255, 255, 255, 0.2)\";\n        currentCustomization.guidanceCustomization.readyScreenTextBackgroundColor = backgroundColor;\n        currentCustomization.guidanceCustomization.readyScreenTextBackgroundCornerRadius = \"2px\";\n        currentCustomization.guidanceCustomization.retryScreenImageBorderColor = primaryColor;\n        currentCustomization.guidanceCustomization.retryScreenImageBorderWidth = \"2px\";\n        currentCustomization.guidanceCustomization.retryScreenImageCornerRadius = \"2px\";\n        currentCustomization.guidanceCustomization.retryScreenOvalStrokeColor = primaryColor;\n        currentCustomization.guidanceCustomization.retryScreenSlideshowImages = retryScreenSlideshowImages;\n        currentCustomization.guidanceCustomization.retryScreenSlideshowInterval = \"1500ms\";\n        currentCustomization.guidanceCustomization.enableRetryScreenSlideshowShuffle = false;\n        currentCustomization.guidanceCustomization.enableRetryScreenBulletedInstructions = true;\n        currentCustomization.guidanceCustomization.cameraPermissionsScreenImage = themeResourceDirectory + \"sample-bank/camera_white_navy.png\";\n        // ID Scan Customization\n        currentCustomization.idScanCustomization.showSelectionScreenBrandingImage = false;\n        currentCustomization.idScanCustomization.selectionScreenBrandingImage = \"\";\n        currentCustomization.idScanCustomization.selectionScreenBackgroundColors = backgroundColor;\n        currentCustomization.idScanCustomization.reviewScreenBackgroundColors = backgroundColor;\n        currentCustomization.idScanCustomization.captureScreenForegroundColor = backgroundColor;\n        currentCustomization.idScanCustomization.reviewScreenForegroundColor = backgroundColor;\n        currentCustomization.idScanCustomization.selectionScreenForegroundColor = primaryColor;\n        currentCustomization.idScanCustomization.headerFont = font;\n        currentCustomization.idScanCustomization.headerTextSpacing = \"normal\";\n        currentCustomization.idScanCustomization.headerTextSize = \"20px\";\n        currentCustomization.idScanCustomization.subtextFont = font;\n        currentCustomization.idScanCustomization.subtextTextSpacing = \"normal\";\n        currentCustomization.idScanCustomization.subtextTextSize = \"12px\";\n        currentCustomization.idScanCustomization.buttonFont = font;\n        currentCustomization.idScanCustomization.buttonTextSpacing = \"normal\";\n        currentCustomization.idScanCustomization.buttonTextSize = \"16px\";\n        currentCustomization.idScanCustomization.buttonTextNormalColor = backgroundColor;\n        currentCustomization.idScanCustomization.buttonBackgroundNormalColor = primaryColor;\n        currentCustomization.idScanCustomization.buttonTextHighlightColor = backgroundColor;\n        currentCustomization.idScanCustomization.buttonBackgroundHighlightColor = \"rgba(255, 255, 255, 0.8)\";\n        currentCustomization.idScanCustomization.buttonTextDisabledColor = \"rgba(29, 23, 79, 0.3)\";\n        currentCustomization.idScanCustomization.buttonBackgroundDisabledColor = primaryColor;\n        currentCustomization.idScanCustomization.buttonBorderColor = backgroundColor;\n        currentCustomization.idScanCustomization.buttonBorderWidth = \"2px\";\n        currentCustomization.idScanCustomization.buttonCornerRadius = \"2px\";\n        currentCustomization.idScanCustomization.buttonRelativeWidth = \"1.0\";\n        currentCustomization.idScanCustomization.buttonRelativeWidthOnDesktop = \"0.5\";\n        currentCustomization.idScanCustomization.captureScreenTextBackgroundColor = primaryColor;\n        currentCustomization.idScanCustomization.captureScreenTextBackgroundBorderColor = backgroundColor;\n        currentCustomization.idScanCustomization.captureScreenTextBackgroundBorderWidth = \"2px\";\n        currentCustomization.idScanCustomization.captureScreenTextBackgroundCornerRadius = \"2px\";\n        currentCustomization.idScanCustomization.reviewScreenTextBackgroundColor = primaryColor;\n        currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderColor = backgroundColor;\n        currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderWidth = \"2px\";\n        currentCustomization.idScanCustomization.reviewScreenTextBackgroundBorderCornerRadius = \"2px\";\n        currentCustomization.idScanCustomization.captureScreenBackgroundColor = backgroundColor;\n        currentCustomization.idScanCustomization.captureFrameStrokeColor = primaryColor;\n        currentCustomization.idScanCustomization.captureFrameStrokeWidth = \"2px\";\n        currentCustomization.idScanCustomization.captureFrameCornerRadius = \"12px\";\n        // Result Screen Customization\n        currentCustomization.resultScreenCustomization.backgroundColors = backgroundColor;\n        currentCustomization.resultScreenCustomization.foregroundColor = primaryColor;\n        currentCustomization.resultScreenCustomization.messageFont = font;\n        currentCustomization.resultScreenCustomization.messageTextSpacing = \"normal\";\n        currentCustomization.resultScreenCustomization.messageTextSize = \"16px\";\n        currentCustomization.resultScreenCustomization.activityIndicatorColor = primaryColor;\n        currentCustomization.resultScreenCustomization.customActivityIndicatorImage = themeResourceDirectory + \"sample-bank/activity_indicator_navy.png\";\n        currentCustomization.resultScreenCustomization.customActivityIndicatorRotationInterval = \"1s\";\n        currentCustomization.resultScreenCustomization.customActivityIndicatorAnimation = null;\n        currentCustomization.resultScreenCustomization.resultAnimationBackgroundColor = \"transparent\";\n        currentCustomization.resultScreenCustomization.resultAnimationForegroundColor = primaryColor;\n        currentCustomization.resultScreenCustomization.resultAnimationSuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n        currentCustomization.resultScreenCustomization.resultAnimationUnsuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n        currentCustomization.resultScreenCustomization.customResultAnimationSuccess = null;\n        currentCustomization.resultScreenCustomization.customResultAnimationUnsuccess = null;\n        currentCustomization.resultScreenCustomization.showUploadProgressBar = true;\n        currentCustomization.resultScreenCustomization.uploadProgressTrackColor = \"rgba(255, 255, 255, 0.2)\";\n        currentCustomization.resultScreenCustomization.uploadProgressFillColor = primaryColor;\n        currentCustomization.resultScreenCustomization.animationRelativeScale = 1.0;\n        // Feedback Customization\n        currentCustomization.feedbackCustomization.backgroundColor = primaryColor;\n        currentCustomization.feedbackCustomization.textColor = backgroundColor;\n        currentCustomization.feedbackCustomization.textFont = font;\n        currentCustomization.feedbackCustomization.textSpacing = \"normal\";\n        currentCustomization.feedbackCustomization.textSize = \"18px\";\n        currentCustomization.feedbackCustomization.cornerRadius = \"2px\";\n        currentCustomization.feedbackCustomization.shadow = \"none\";\n        currentCustomization.feedbackCustomization.relativeWidth = \"1.0\";\n        currentCustomization.feedbackCustomization.relativeWidthOnDesktop = \"0.5\";\n        // Frame Customization\n        currentCustomization.frameCustomization.backgroundColor = backgroundColor;\n        currentCustomization.frameCustomization.borderColor = backgroundColor;\n        currentCustomization.frameCustomization.borderWidth = \"2px\";\n        currentCustomization.frameCustomization.borderCornerRadius = \"2px\";\n        currentCustomization.frameCustomization.shadow = \"none\";\n        // Oval Customization\n        currentCustomization.ovalCustomization.strokeColor = primaryColor;\n        currentCustomization.ovalCustomization.progressColor1 = \"rgba(255, 255, 255, 0.8)\";\n        currentCustomization.ovalCustomization.progressColor2 = \"rgba(255, 255, 255, 0.8)\";\n        // Cancel Button Customization\n        currentCustomization.cancelButtonCustomization.customImage = themeResourceDirectory + \"sample-bank/cancel_navy.png\";\n        currentCustomization.cancelButtonCustomization.location = FaceTecSDK.FaceTecCancelButtonLocation.TopLeft;\n        return currentCustomization;\n    }\n    function getLowLightCustomizationForTheme(theme) {\n        var currentLowLightCustomization = getCustomizationForTheme(theme);\n        var retryScreenSlideshowImages = [themeResourceDirectory + \"FaceTec_ideal_1.png\", themeResourceDirectory + \"FaceTec_ideal_2.png\", themeResourceDirectory + \"FaceTec_ideal_3.png\", themeResourceDirectory + \"FaceTec_ideal_4.png\", themeResourceDirectory + \"FaceTec_ideal_5.png\"];\n\n        var primaryColor = \"white\";\n        var backgroundColor = \"rgb(29, 23, 79)\"; // navy\n        // Overlay Customization\n        currentLowLightCustomization.overlayCustomization.brandingImage = themeResourceDirectory + \"sample-bank/sample_bank_logo.png\";\n        // Guidance Customization\n        currentLowLightCustomization.guidanceCustomization.foregroundColor = backgroundColor;\n        currentLowLightCustomization.guidanceCustomization.buttonTextNormalColor = primaryColor;\n        currentLowLightCustomization.guidanceCustomization.buttonBackgroundNormalColor = backgroundColor;\n        currentLowLightCustomization.guidanceCustomization.buttonTextHighlightColor = primaryColor;\n        currentLowLightCustomization.guidanceCustomization.buttonBackgroundHighlightColor = \"rgba(29, 23, 79, 0.8)\";\n        currentLowLightCustomization.guidanceCustomization.buttonTextDisabledColor = \"rgba(255, 255, 255, 0.3)\";\n        currentLowLightCustomization.guidanceCustomization.buttonBackgroundDisabledColor = backgroundColor;\n        currentLowLightCustomization.guidanceCustomization.buttonBorderColor = backgroundColor;\n        currentLowLightCustomization.guidanceCustomization.readyScreenOvalFillColor = \"rgba(255, 255, 255, 0.2)\";\n        currentLowLightCustomization.guidanceCustomization.readyScreenTextBackgroundColor = primaryColor;\n        currentLowLightCustomization.guidanceCustomization.retryScreenImageBorderColor = backgroundColor;\n        currentLowLightCustomization.guidanceCustomization.retryScreenOvalStrokeColor = primaryColor;\n        currentLowLightCustomization.guidanceCustomization.retryScreenSlideshowImages = retryScreenSlideshowImages;\n        // ID Scan Customization\n        currentLowLightCustomization.idScanCustomization.selectionScreenBrandingImage = \"\";\n        currentLowLightCustomization.idScanCustomization.captureScreenForegroundColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.reviewScreenForegroundColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.selectionScreenForegroundColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.buttonTextNormalColor = primaryColor;\n        currentLowLightCustomization.idScanCustomization.buttonBackgroundNormalColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.buttonTextHighlightColor = primaryColor;\n        currentLowLightCustomization.idScanCustomization.buttonBackgroundHighlightColor = \"rgba(29, 23, 79, 0.8)\";\n        currentLowLightCustomization.idScanCustomization.buttonTextDisabledColor = \"rgba(255, 255, 255, 0.3)\";\n        currentLowLightCustomization.idScanCustomization.buttonBackgroundDisabledColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.buttonBorderColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.captureScreenTextBackgroundColor = primaryColor;\n        currentLowLightCustomization.idScanCustomization.captureScreenTextBackgroundBorderColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.reviewScreenTextBackgroundColor = primaryColor;\n        currentLowLightCustomization.idScanCustomization.reviewScreenTextBackgroundBorderColor = backgroundColor;\n        currentLowLightCustomization.idScanCustomization.captureFrameStrokeColor = primaryColor;\n        // Result Screen Customization\n        currentLowLightCustomization.resultScreenCustomization.foregroundColor = backgroundColor;\n        currentLowLightCustomization.resultScreenCustomization.activityIndicatorColor = backgroundColor;\n        currentLowLightCustomization.resultScreenCustomization.customActivityIndicatorImage = themeResourceDirectory + \"sample-bank/activity_indicator_navy.png\";\n        currentLowLightCustomization.resultScreenCustomization.customActivityIndicatorAnimation = null;\n        currentLowLightCustomization.resultScreenCustomization.resultAnimationBackgroundColor = \"transparent\";\n        currentLowLightCustomization.resultScreenCustomization.resultAnimationForegroundColor = backgroundColor;\n        currentLowLightCustomization.resultScreenCustomization.resultAnimationSuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n        currentLowLightCustomization.resultScreenCustomization.resultAnimationUnsuccessBackgroundImage = themeResourceDirectory + \"sample-bank/reticle_navy.png\";\n        currentLowLightCustomization.resultScreenCustomization.customResultAnimationSuccess = null;\n        currentLowLightCustomization.resultScreenCustomization.customResultAnimationUnsuccess = null;\n        currentLowLightCustomization.resultScreenCustomization.uploadProgressTrackColor = \"rgba(0, 0, 0, 0.2)\";\n        currentLowLightCustomization.resultScreenCustomization.uploadProgressFillColor = backgroundColor;\n        // Feedback Customization\n        currentLowLightCustomization.feedbackCustomization.backgroundColor = backgroundColor;\n        currentLowLightCustomization.feedbackCustomization.textColor = primaryColor;\n        // Frame Customization\n        currentLowLightCustomization.frameCustomization.borderColor = backgroundColor;\n        // Oval Customization\n        currentLowLightCustomization.ovalCustomization.strokeColor = backgroundColor;\n        currentLowLightCustomization.ovalCustomization.progressColor1 = \"rgba(29, 23, 79, 0.8)\";\n        currentLowLightCustomization.ovalCustomization.progressColor2 = \"rgba(29, 23, 79, 0.8)\";\n        // Cancel Button Customization\n        currentLowLightCustomization.cancelButtonCustomization.customImage = themeResourceDirectory + \"sample-bank/cancel_navy.png\";\n        return currentLowLightCustomization;\n    }\n    setAppTheme();\n};\n"]},"metadata":{},"sourceType":"module"}