# CreditCardScannerScreenConfiguration.fromJson constructor

CreditCardScannerScreenConfiguration.fromJson(

1. Map<String, dynamic> json

)

## Implementation

    factory CreditCardScannerScreenConfiguration.fromJson(
            Map<String, dynamic> json) =>
        CreditCardScannerScreenConfiguration(
          version:
              json.containsKey("version") ? json["version"] as String : "1.0",
          screen: json.containsKey("screen")
              ? json["screen"] as String
              : "CreditCardScanner",
          localization: json.containsKey("localization")
              ? CreditCardScannerScreenTextLocalization.fromJson(
                  json["localization"] as Map<String, dynamic>)
              : CreditCardScannerScreenTextLocalization(),
          palette: json.containsKey("palette")
              ? Palette.fromJson(json["palette"] as Map<String, dynamic>)
              : Palette(),
          backgroundColor: json.containsKey("backgroundColor")
              ? ScanbotColor(json["backgroundColor"] as String)
              : ScanbotColor("?sbColorSurfaceLow"),
          cameraConfiguration: json.containsKey("cameraConfiguration")
              ? CameraConfiguration.fromJson(
                  json["cameraConfiguration"] as Map<String, dynamic>)
              : CameraConfiguration(
                  orientationLockMode: OrientationLockMode.PORTRAIT),
          cameraPermission: json.containsKey("cameraPermission")
              ? CameraPermissionScreen.fromJson(
                  json["cameraPermission"] as Map<String, dynamic>)
              : CameraPermissionScreen(
                  statusBarMode: StatusBarMode.DARK,
                  background: ScanbotColor("?sbColorSurface"),
                  iconBackground: ScanbotColor("?sbColorOutline"),
                  icon: IconStyle(
                      visible: true, color: ScanbotColor("?sbColorOnSurface")),
                  enableCameraButton: ButtonConfiguration(
                      visible: true,
                      text: "?cameraPermissionEnableCameraButton",
                      accessibilityDescription:
                          "?accessibilityDescriptionCameraPermissionEnableCameraButton",
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("?sbColorPrimary"),
                          fillColor: ScanbotColor("?sbColorPrimary"),
                          strokeWidth: 0.0),
                      foreground: ForegroundStyle(
                          iconVisible: false,
                          color: ScanbotColor("?sbColorOnPrimary"),
                          useShadow: false)),
                  closeButton: ButtonConfiguration(
                      visible: true,
                      text: "?cameraPermissionCloseButton",
                      accessibilityDescription:
                          "?accessibilityDescriptionCameraPermissionCloseButton",
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#00000000"),
                          fillColor: ScanbotColor("#00000000"),
                          strokeWidth: 0.0),
                      foreground: ForegroundStyle(
                          iconVisible: false,
                          color: ScanbotColor("?sbColorPrimary"),
                          useShadow: false)),
                  enableCameraTitle: StyledText(
                      text: "?cameraPermissionEnableCameraTitle",
                      color: ScanbotColor("?sbColorOnSurface")),
                  enableCameraExplanation: StyledText(
                      text: "?cameraPermissionEnableCameraExplanation",
                      color: ScanbotColor("?sbColorOnSurfaceVariant"))),
          topUserGuidance: json.containsKey("topUserGuidance")
              ? UserGuidanceConfiguration.fromJson(
                  json["topUserGuidance"] as Map<String, dynamic>)
              : UserGuidanceConfiguration(
                  title: StyledText(text: "?topUserGuidance")),
          scanStatusUserGuidance: json.containsKey("scanStatusUserGuidance")
              ? CreditCardScanGuidanceConfiguration.fromJson(
                  json["scanStatusUserGuidance"] as Map<String, dynamic>)
              : CreditCardScanGuidanceConfiguration(),
          topBar: json.containsKey("topBar")
              ? TopBarConfiguration.fromJson(
                  json["topBar"] as Map<String, dynamic>)
              : TopBarConfiguration(
                  title: StyledText(visible: true, text: "?topBarTitle"),
                  cancelButton: ButtonConfiguration(
                      text: "?topBarCancelButton",
                      accessibilityDescription:
                          "?accessibilityDescriptionCancelButton",
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#00000000"),
                          fillColor: ScanbotColor("#00000000"),
                          strokeWidth: 0.0),
                      foreground: ForegroundStyle(
                          color: ScanbotColor("?sbColorOnPrimary")))),
          topBarOpenIntroScreenButton:
              json.containsKey("topBarOpenIntroScreenButton")
                  ? IconButton.fromJson(
                      json["topBarOpenIntroScreenButton"] as Map<String, dynamic>)
                  : IconButton(
                      color: ScanbotColor("?sbColorOnPrimary"),
                      accessibilityDescription:
                          "?accessibilityDescriptionOpenIntroScreenButton"),
          introScreen: json.containsKey("introScreen")
              ? CreditCardScannerIntroScreenConfiguration.fromJson(
                  json["introScreen"] as Map<String, dynamic>)
              : CreditCardScannerIntroScreenConfiguration(),
          actionBar: json.containsKey("actionBar")
              ? ActionBarConfiguration.fromJson(
                  json["actionBar"] as Map<String, dynamic>)
              : ActionBarConfiguration(
                  flipCameraButton: RoundButton(
                      visible: false,
                      accessibilityDescription:
                          "?accessibilityDescriptionFlipCameraButton",
                      backgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
                      foregroundColor: ScanbotColor("?sbColorOnPrimary"),
                      activeBackgroundColor: ScanbotColor("?sbColorWarning"),
                      activeForegroundColor: ScanbotColor("#1C1B1F"))),
          viewFinder: json.containsKey("viewFinder")
              ? PermanentViewFinderConfiguration.fromJson(
                  json["viewFinder"] as Map<String, dynamic>)
              : PermanentViewFinderConfiguration(
                  style: FinderCorneredStyle(
                      strokeColor: ScanbotColor("?sbColorSurface"),
                      strokeWidth: 2.0),
                  aspectRatio: AspectRatio(width: 1.586, height: 1.0),
                  minimumInsets: EdgeInsets(
                      top: 24.0, left: 24.0, bottom: 24.0, right: 24.0)),
          scannerConfiguration: json.containsKey("scannerConfiguration")
              ? CreditCardScannerConfiguration.fromJson(
                  json["scannerConfiguration"] as Map<String, dynamic>)
              : CreditCardScannerConfiguration(),
          exampleOverlayVisible: json.containsKey("exampleOverlayVisible")
              ? (json["exampleOverlayVisible"] as bool)
              : true,
          scanningProgress: json.containsKey("scanningProgress")
              ? CreditCardScanningProgressConfiguration.fromJson(
                  json["scanningProgress"] as Map<String, dynamic>)
              : CreditCardScanningProgressConfiguration(),
          scanIncompleteDataTimeout: json.containsKey("scanIncompleteDataTimeout")
              ? (json["scanIncompleteDataTimeout"] as int)
              : 3000,
          successOverlay: json.containsKey("successOverlay")
              ? ScanCompletionOverlay.fromJson(
                  json["successOverlay"] as Map<String, dynamic>)
              : ScanCompletionOverlay(),
          incompleteDataOverlay: json.containsKey("incompleteDataOverlay")
              ? ScanCompletionOverlay.fromJson(
                  json["incompleteDataOverlay"] as Map<String, dynamic>)
              : ScanCompletionOverlay(
                  message: StyledText(
                      text: "?completionOverlayIncompleteDataMessage")),
          sound: json.containsKey("sound")
              ? Sound.fromJson(json["sound"] as Map<String, dynamic>)
              : Sound(),
          vibration: json.containsKey("vibration")
              ? Vibration.fromJson(json["vibration"] as Map<String, dynamic>)
              : Vibration(),
          keepScreenOn: json.containsKey("keepScreenOn")
              ? (json["keepScreenOn"] as bool)
              : true,
        );