# TextPatternScannerScreenConfiguration.fromJson constructor

TextPatternScannerScreenConfiguration.fromJson(

1. Map<String, dynamic> json

)

## Implementation

    factory TextPatternScannerScreenConfiguration.fromJson(
            Map<String, dynamic> json) =>
        TextPatternScannerScreenConfiguration(
          version:
              json.containsKey("version") ? json["version"] as String : "1.0",
          screen: json.containsKey("screen")
              ? json["screen"] as String
              : "TextPatternScanner",
          localization: json.containsKey("localization")
              ? TextPatternScannerScreenTextLocalization.fromJson(
                  json["localization"] as Map<String, dynamic>)
              : TextPatternScannerScreenTextLocalization(),
          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")),
          finderViewUserGuidance: json.containsKey("finderViewUserGuidance")
              ? UserGuidanceConfiguration.fromJson(
                  json["finderViewUserGuidance"] as Map<String, dynamic>)
              : UserGuidanceConfiguration(
                  title: StyledText(text: "?finderViewUserGuidance")),
          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")
              ? TextPatternScannerIntroScreenConfiguration.fromJson(
                  json["introScreen"] as Map<String, dynamic>)
              : TextPatternScannerIntroScreenConfiguration(),
          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: 3.85, height: 1.0),
                  preferredHeight: 48.0),
          scannerConfiguration: json.containsKey("scannerConfiguration")
              ? TextPatternScannerConfiguration.fromJson(
                  json["scannerConfiguration"] as Map<String, dynamic>)
              : TextPatternScannerConfiguration(),
          shouldShowWordBoxes: json.containsKey("shouldShowWordBoxes")
              ? (json["shouldShowWordBoxes"] as bool)
              : true,
          wordBoxesFillColor: json.containsKey("wordBoxesFillColor")
              ? ScanbotColor(json["wordBoxesFillColor"] as String)
              : ScanbotColor("#33CCE54C"),
          wordBoxesLineColor: json.containsKey("wordBoxesLineColor")
              ? ScanbotColor(json["wordBoxesLineColor"] as String)
              : ScanbotColor("#33CCE599"),
          confirmationAlertDialogEnabled:
              json.containsKey("confirmationAlertDialogEnabled")
                  ? (json["confirmationAlertDialogEnabled"] as bool)
                  : false,
          confirmationAlertDialog: json.containsKey("confirmationAlertDialog")
              ? ScanbotAlertDialog.fromJson(
                  json["confirmationAlertDialog"] as Map<String, dynamic>)
              : ScanbotAlertDialog(
                  title: StyledText(
                      text: "?textPatternConfirmationAlertTitle",
                      color: ScanbotColor("?sbColorOnSurface")),
                  subtitle:
                      StyledText(color: ScanbotColor("?sbColorOnSurfaceVariant")),
                  sheetColor: ScanbotColor("?sbColorSurface"),
                  modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
                  dividerColor: ScanbotColor("?sbColorOutline"),
                  okButton: ButtonConfiguration(
                      visible: true,
                      text: "?textPatternConfirmationAlertSubmitButton",
                      accessibilityDescription:
                          "?accessibilityDescriptionConfirmationSubmitButton",
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("?sbColorPrimary"),
                          fillColor: ScanbotColor("?sbColorPrimary"),
                          strokeWidth: 1.0),
                      foreground: ForegroundStyle(
                          iconVisible: true,
                          color: ScanbotColor("?sbColorOnPrimary"),
                          useShadow: false)),
                  cancelButton: ButtonConfiguration(
                      visible: true,
                      text: "?textPatternConfirmationAlertCancelButton",
                      accessibilityDescription:
                          "?accessibilityDescriptionConfirmationCancelButton",
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#00000000"),
                          fillColor: ScanbotColor("#00000000"),
                          strokeWidth: 1.0),
                      foreground: ForegroundStyle(
                          iconVisible: false,
                          color: ScanbotColor("?sbColorPrimary"),
                          useShadow: false))),
          successOverlay: json.containsKey("successOverlay")
              ? ScanCompletionOverlay.fromJson(
                  json["successOverlay"] as Map<String, dynamic>)
              : ScanCompletionOverlay(),
          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,
        );