package com.complycube.reactnative.config import com.complycube.sdk.data.remote.model.response.ComponentFormat import com.complycube.sdk.data.remote.model.response.ComponentType object TestFixtures { fun baseSettings(): MutableMap = mutableMapOf( "clientID" to "client_123", "clientToken" to "token_456" ) fun stageDocumentCapture(): Map = mapOf( "name" to "documentCapture", "documentTypes" to mapOf( "passport" to true, "driving_license" to listOf("GB", "US") ), "nfcEnabled" to false, "showGuidance" to true, "useLiveCaptureOnly" to true, "useMLAssistance" to true, "retryLimit" to 2 ) fun stageFaceCapture(mode: String = "photo"): Map = mapOf( "name" to "face_capture", "mode" to mode, "showGuidance" to true, "useMLAssistance" to true, "useLiveCaptureOnly" to true, "retryLimit" to 1 ) fun stageAddressCapture(): Map = mapOf( "name" to "addressCapture", "allowedCountries" to listOf("GB", "XX"), "useAutoComplete" to true ) fun stageWelcome(name: String): Map = mapOf( "name" to name, "title" to "Hello", "message" to "World" ) fun tinTemplates(): List> { val formatType = ComponentFormat.values().first().name val componentType = ComponentType.values().first().name val common = mapOf( "question" to "Tax number for {country}?", "description" to "Provide TIN for {country}", "componentType" to componentType, "options" to listOf( mapOf("label" to "Yes", "value" to "yes"), mapOf("label" to "No", "value" to "no") ), "format" to mapOf( "type" to formatType, "validation" to ".*" ) ) return listOf( mapOf("templateKey" to "TIN_HAS") + common, mapOf("templateKey" to "TIN") + common, mapOf("templateKey" to "TIN_REASON") + common, mapOf("templateKey" to "TIN_REASON_OTHER") + common ) } fun metadataWithCountrySelection(mode: String, list: List): Map { return mapOf( "key" to "tax_residence", "question" to "Countries", "componentType" to ComponentType.MULTI_SELECT_COUNTRY.name, "countries" to mapOf( "mode" to mode, "list" to list ), "required" to true ) } fun metadataSimple(): Map { val formatType = ComponentFormat.values().first().name val nonCountryType = ComponentType.values().firstOrNull { it != ComponentType.MULTI_SELECT_COUNTRY }?.name ?: ComponentType.MULTI_SELECT_COUNTRY.name return mapOf( "key" to "job", "question" to "Job title", "componentType" to nonCountryType, "format" to mapOf( "type" to formatType, "validation" to ".*" ), "options" to listOf( mapOf("label" to "Dev", "value" to "dev"), mapOf("label" to "QA", "value" to "qa") ), "constraint" to mapOf("expression" to "metadata.job contains dev"), "required" to false, "description" to "role" ) } fun designTokens( version: Number = 2, roundingMd: Number = 8, weight: Number = 600, lineHeight: Number = 1.5 ): Map { return mapOf( "updatedAt" to "2026-03-17T12:00:00Z", "version" to version, "theme" to "dark", "colors" to mapOf( "light" to mapOf( "primary" to mapOf( "bg" to mapOf( "default" to "#1D4ED8", "active" to "#1E40AF" ), "on" to mapOf( "default" to "#F8FAFC" ) ), "secondary" to mapOf( "bg" to mapOf("default" to "#DBEAFE"), "on" to mapOf("default" to "#1D4ED8") ), "surface" to mapOf( "bg" to mapOf("default" to "#FFFFFF"), "on" to mapOf("default" to "#0F172A") ), "info" to mapOf( "bg" to mapOf("default" to "#EFF6FF"), "on" to mapOf("default" to "#1E3A8A") ), "error" to mapOf( "bg" to mapOf("default" to "#FEF2F2"), "on" to mapOf("default" to "#991B1B") ) ), "dark" to mapOf( "primary" to mapOf( "bg" to mapOf( "default" to "#1D4ED8", "hover" to "#111827" ), "on" to mapOf( "default" to "#F8FAFC" ) ), "surface" to mapOf( "bg" to mapOf("default" to "#0F172A"), "on" to mapOf("default" to "#F8FAFC") ) ) ), "rounding" to mapOf( "sm" to 4, "md" to roundingMd, "lg" to 12, "xl" to 16 ), "padding" to mapOf( "sm" to 4, "md" to 8, "lg" to 12, "xl" to 16 ), "text" to mapOf( "title" to mapOf( "family" to "sans-serif", "weight" to 700, "size" to 32, "line-height" to 40 ), "body-lg" to mapOf( "family" to "sans-serif", "weight" to weight, "size" to 16, "line-height" to lineHeight ), "button" to mapOf( "family" to "sans-serif-medium", "weight" to 600, "size" to 18, "line-height" to 24 ) ), "components" to mapOf( "background-overlay" to mapOf( "color" to "#80000000" ) ), "animations" to mapOf( "enabled" to true ), "haptics" to mapOf( "enabled" to true ), "logo" to mapOf( "footerLight" to "https://cdn.example.com/light.svg", "footerDark" to "https://cdn.example.com/dark.svg", "footerText" to "Example footer" ) ) } }