react-native-persona 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/RNPersonaInquiry2.podspec +2 -2
  2. package/android/build.gradle +8 -12
  3. package/android/gradle.properties +0 -1
  4. package/android/src/main/java/com/withpersona/sdk2/reactnative/PersonaInquiryModule2.java +7 -0
  5. package/ios/PersonaInquiry2.swift +4 -0
  6. package/lib/commonjs/fields.js +9 -44
  7. package/lib/commonjs/fields.js.map +1 -1
  8. package/lib/commonjs/index.js +73 -206
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/persona-tool/AndroidResourcePrinter.js +48 -83
  11. package/lib/commonjs/persona-tool/AndroidResourcePrinter.js.map +1 -1
  12. package/lib/commonjs/persona-tool/Config.js +3 -20
  13. package/lib/commonjs/persona-tool/Config.js.map +1 -1
  14. package/lib/commonjs/persona-tool/Theme.js +12 -36
  15. package/lib/commonjs/persona-tool/Theme.js.map +1 -1
  16. package/lib/commonjs/persona-tool/index.js +0 -10
  17. package/lib/commonjs/persona-tool/index.js.map +1 -1
  18. package/lib/commonjs/persona-tool/prompts.js +0 -6
  19. package/lib/commonjs/persona-tool/prompts.js.map +1 -1
  20. package/lib/commonjs/persona-tool/tools/AndroidThemeGenerator.js +2 -27
  21. package/lib/commonjs/persona-tool/tools/AndroidThemeGenerator.js.map +1 -1
  22. package/lib/commonjs/persona-tool/tools/IosThemeInstructions.js +0 -10
  23. package/lib/commonjs/persona-tool/tools/IosThemeInstructions.js.map +1 -1
  24. package/lib/commonjs/util.js +0 -6
  25. package/lib/commonjs/util.js.map +1 -1
  26. package/lib/commonjs/versions.js +0 -5
  27. package/lib/commonjs/versions.js.map +1 -1
  28. package/lib/module/fields.js +9 -43
  29. package/lib/module/fields.js.map +1 -1
  30. package/lib/module/index.js +70 -177
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/persona-tool/AndroidResourcePrinter.js +48 -82
  33. package/lib/module/persona-tool/AndroidResourcePrinter.js.map +1 -1
  34. package/lib/module/persona-tool/Config.js +3 -15
  35. package/lib/module/persona-tool/Config.js.map +1 -1
  36. package/lib/module/persona-tool/Theme.js +10 -28
  37. package/lib/module/persona-tool/Theme.js.map +1 -1
  38. package/lib/module/persona-tool/index.js +0 -5
  39. package/lib/module/persona-tool/index.js.map +1 -1
  40. package/lib/module/persona-tool/prompts.js.map +1 -1
  41. package/lib/module/persona-tool/tools/AndroidThemeGenerator.js +2 -8
  42. package/lib/module/persona-tool/tools/AndroidThemeGenerator.js.map +1 -1
  43. package/lib/module/persona-tool/tools/IosThemeInstructions.js +0 -5
  44. package/lib/module/persona-tool/tools/IosThemeInstructions.js.map +1 -1
  45. package/lib/module/util.js +0 -5
  46. package/lib/module/util.js.map +1 -1
  47. package/lib/module/versions.js +0 -1
  48. package/lib/module/versions.js.map +1 -1
  49. package/lib/typescript/fields.d.ts +2 -2
  50. package/lib/typescript/index.d.ts +14 -8
  51. package/lib/typescript/persona-tool/Theme.d.ts +3 -3
  52. package/package.json +2 -2
  53. package/src/index.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["PersonaInquiry2","NativeModules","InvalidTemplateId","Error","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","NativeEventEmitter","Inquiry","options","templateId","templateVersion","inquiryId","referenceId","accountId","environment","environmentId","sessionToken","fields","returnCollectedData","routingCountry","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","fromInquiry","InquiryBuilder","start","addListener","event","key","Object","keys","field","undefined","InquiryField","Unknown","type","Integer","Number","parseInt","value","Boolean","String","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","build","_fields","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","_environmentId","InquiryBuilders"],"mappings":"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","sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate && candidate.startsWith('inq_')) {\n return candidate as InquiryId;\n }\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate && candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate && candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate && candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.templateVersion = options.templateVersion;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.environmentId = options.environmentId;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(\n Number.parseInt(field.value)\n );\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n templateVersion: this.templateVersion,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n environmentId: this.environmentId,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: string;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _environmentId?: string;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n environmentId(environmentId: string): TemplateBuilder {\n this._environmentId = environmentId;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n environmentId: this._environmentId,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"]}
1
+ {"version":3,"names":["_reactNative","require","_util","_fields","_versions","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","PersonaInquiry2","NativeModules","InvalidTemplateId","Error","exports","InvalidTemplateVersion","InvalidInquiryId","InvalidAccountId","makeInquiryId","candidate","startsWith","makeTemplateId","makeTemplateVersion","makeAccountId","Environment","ThemeSource","RoutingCountry","DocumentStepData","constructor","stepName","documents","GovernmentIdStepData","captures","GovernmentIdCaptureMethod","GovernmentIdCaptureSide","SelfieStepData","centerCapture","leftCapture","rightCapture","SelfieCaptureMethod","UiStepData","componentParams","eventEmitter","NativeEventEmitter","Inquiry","options","templateId","templateVersion","inquiryId","referenceId","accountId","environment","environmentId","sessionToken","fields","returnCollectedData","routingCountry","locale","onComplete","onCanceled","onError","iosThemeObject","themeSource","clearListeners","onCompleteListener","remove","onCanceledListener","onErrorListener","fromTemplate","TemplateBuilder","fromTemplateVersion","fromInquiry","InquiryBuilder","start","addListener","event","_event$collectedData","keys","field","InquiryField","Unknown","type","Integer","parseInt","Boolean","collectedData","stepData","translatedStepData","stepDatum","push","assign","extraData","status","debugMessage","startInquiry","iosTheme","processThemeValues","SERVER","_inquiryId","_sessionToken","callback","_onComplete","_onCanceled","_onError","themeObject","_iosThemeObject","_themeSource","CLIENT","iosThemeToUse","_routingCountry","_locale","build","_templateId","_templateVersion","_returnCollectedData","_accountId","_referenceId","_environment","_environmentId","InquiryBuilders","_InquiryBuilders","_default","default"],"sources":["index.ts"],"sourcesContent":["import {\n EventSubscription,\n NativeEventEmitter,\n NativeModules,\n} from 'react-native';\nimport { processThemeValues } from './util';\nimport { Fields, InquiryField, RawInquiryField } from './fields';\n\nexport { Fields };\n\nimport { Versions } from './versions';\n\nexport { Versions };\n\nconst { PersonaInquiry2 } = NativeModules;\n\n// Using Opaque types + Smart Constructor enforces validation at\n// instantiation time for IDS\ndeclare const Unique: unique symbol;\nexport type Opaque<T, Tag> = T & { [Unique]: Tag };\n\ntype TemplateId = Opaque<string, 'TemplateId'>;\ntype TemplateVersion = Opaque<string, 'TemplateVersion'>;\ntype InquiryId = Opaque<string, 'InquiryId'>;\ntype AccountId = Opaque<string, 'AccountId'>;\n\nexport class InvalidTemplateId extends Error {}\n\nexport class InvalidTemplateVersion extends Error {}\n\nexport class InvalidInquiryId extends Error {}\n\nexport class InvalidAccountId extends Error {}\n\n/**\n * Run validations that the string is in proper Inquiry token format\n * and do a type conversion to InquiryId.\n *\n * @param candidate\n */\nfunction makeInquiryId(candidate: string): InquiryId {\n if (candidate && candidate.startsWith('inq_')) {\n return candidate as InquiryId;\n }\n\n throw new InvalidInquiryId(\n `Valid template IDs start with \"inq_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to TemplateId.\n *\n * @param candidate\n */\nfunction makeTemplateId(candidate: string): TemplateId {\n if (candidate && candidate.startsWith('itmpl_')) {\n return candidate as TemplateId;\n }\n\n throw new InvalidTemplateId(\n `Valid template IDs start with \"itmpl_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template Version token format\n * and do a type conversion to TemplateVersion.\n *\n * @param candidate\n */\nfunction makeTemplateVersion(candidate: string): TemplateVersion {\n if (candidate && candidate.startsWith('itmplv_')) {\n return candidate as TemplateVersion;\n }\n\n throw new InvalidTemplateVersion(\n `Valid template versions start with \"itmplv_\". Received: ${candidate} `\n );\n}\n\n/**\n * Run validations that the string is in proper Template token format\n * and do a type conversion to AccountId.\n *\n * @param candidate\n */\nfunction makeAccountId(candidate: string): AccountId {\n if (candidate && candidate.startsWith('act_')) {\n return candidate as AccountId;\n }\n\n throw new InvalidAccountId(\n `Valid account IDs start with \"act_\". Received: ${candidate} `\n );\n}\n\n/**\n * String enum for environments. These strings will be parsed\n * on the native side bridge into Kotlin / Swift enums.\n */\nexport enum Environment {\n SANDBOX = 'sandbox',\n PRODUCTION = 'production',\n}\n\n/**\n * An enum value which determines whether this sdk should use the theme values sent from the server.\n */\nexport enum ThemeSource {\n SERVER = 'server',\n /**\n * @deprecated Client side theming is deprecated, please configure your theme inside\n * the Persona Dashboard and use SERVER as the theme source.\n */\n CLIENT = 'client',\n}\n\n/**\n * Defines the country api requests route to\n */\nexport enum RoutingCountry {\n /**\n * Route api requests to germany servers\n */\n DE = 'de',\n /**\n * Route api requests to us servers\n */\n US = 'us',\n}\n\nexport interface InquiryOptions {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n locale?: String;\n\n // Fields\n fields?: Fields;\n\n // Callbacks\n onComplete?: OnCompleteCallback;\n onCanceled?: OnCanceledCallback;\n onError?: OnErrorCallback;\n\n // Customization\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n}\n\ntype OnCompleteCallback = (\n inquiryId: string,\n status: string,\n fields: Fields,\n extraData: ExtraData\n) => void;\n\n/**\n * Type for collected data that came directly from iOS/Android.\n * Needs to be translated to TS classes before returning.\n */\ninterface ExternalCollectedData {\n stepData: any[];\n}\n\nexport interface ExtraData {\n collectedData: CollectedData | null;\n}\nexport interface CollectedData {\n stepData: StepData[];\n}\n\nexport interface StepData {\n stepName: string;\n}\n\nexport class DocumentStepData implements StepData {\n stepName: string;\n documents: Document[];\n\n constructor() {\n this.stepName = '';\n this.documents = [];\n }\n}\n\nexport interface Document {\n absoluteFilePath: string;\n}\n\nexport class GovernmentIdStepData implements StepData {\n stepName: string;\n captures: GovernmentIdCapture[];\n\n constructor() {\n this.stepName = '';\n this.captures = [];\n }\n}\n\nexport interface GovernmentIdCapture {\n idClass: string;\n captureMethod: GovernmentIdCaptureMethod;\n side: GovernmentIdCaptureSide;\n frames: GovernmentIdCaptureFrames[];\n}\n\nexport enum GovernmentIdCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n Upload = 'Upload',\n}\n\nexport enum GovernmentIdCaptureSide {\n Front = 'Front',\n Back = 'Back',\n}\n\nexport interface GovernmentIdCaptureFrames {\n absoluteFilePath: string;\n}\n\nexport class SelfieStepData implements StepData {\n stepName: string;\n centerCapture: SelfieCapture | null;\n leftCapture: SelfieCapture | null;\n rightCapture: SelfieCapture | null;\n\n constructor() {\n this.stepName = '';\n this.centerCapture = null;\n this.leftCapture = null;\n this.rightCapture = null;\n }\n}\n\nexport interface SelfieCapture {\n captureMethod: SelfieCaptureMethod;\n absoluteFilePath: string;\n}\n\nexport enum SelfieCaptureMethod {\n Manual = 'Manual',\n Auto = 'Auto',\n}\n\nexport class UiStepData implements StepData {\n stepName: string;\n componentParams: { [key: string]: any };\n\n constructor() {\n this.stepName = '';\n this.componentParams = {};\n }\n}\n\ntype OnCanceledCallback = (inquiryId?: string, sessionToken?: string) => void;\n\ntype OnErrorCallback = (error: Error) => void;\n\nconst eventEmitter = new NativeEventEmitter(PersonaInquiry2);\n\nexport class Inquiry {\n templateId?: TemplateId;\n templateVersion?: TemplateVersion;\n inquiryId?: InquiryId;\n referenceId?: string;\n accountId?: AccountId;\n environment?: Environment;\n environmentId?: string;\n sessionToken?: string;\n returnCollectedData?: boolean;\n routingCountry?: string;\n locale?: String;\n\n iosThemeObject?: Object | null;\n themeSource?: ThemeSource | null;\n fields?: Fields | null;\n\n private readonly onComplete?: OnCompleteCallback;\n private readonly onCanceled?: OnCanceledCallback;\n private readonly onError?: OnErrorCallback;\n\n private onCompleteListener?: EventSubscription;\n private onCanceledListener?: EventSubscription;\n private onErrorListener?: EventSubscription;\n\n constructor(options: InquiryOptions) {\n this.templateId = options.templateId;\n this.templateVersion = options.templateVersion;\n this.inquiryId = options.inquiryId;\n this.referenceId = options.referenceId;\n this.accountId = options.accountId;\n this.environment = options.environment;\n this.environmentId = options.environmentId;\n this.sessionToken = options.sessionToken;\n this.fields = options.fields;\n this.returnCollectedData = options.returnCollectedData;\n this.routingCountry = options.routingCountry;\n this.locale = options.locale;\n\n // Callbacks\n this.onComplete = options.onComplete;\n this.onCanceled = options.onCanceled;\n this.onError = options.onError;\n\n // Theme object\n this.iosThemeObject = options.iosThemeObject;\n this.themeSource = options.themeSource;\n }\n\n private clearListeners() {\n if (this.onCompleteListener) this.onCompleteListener.remove();\n if (this.onCanceledListener) this.onCanceledListener.remove();\n if (this.onErrorListener) this.onErrorListener.remove();\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID.\n *\n * You can find your template ID on the Dashboard under Inquiries > Templates.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateId template ID from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplate(templateId: string) {\n return new TemplateBuilder(makeTemplateId(templateId), null);\n }\n\n /**\n * Create an Inquiry flow builder based on a template ID version.\n *\n * You can find your template ID version on the Dashboard under the\n * settings view of a specific template.\n * {@link https://app.withpersona.com/dashboard/inquiry-templates}\n *\n * @param templateVersion template version from your Persona Dashboard\n * @return builder for the Inquiry flow\n */\n static fromTemplateVersion(templateVersion: string) {\n return new TemplateBuilder(null, makeTemplateVersion(templateVersion));\n }\n\n /**\n * Create an Inquiry flow builder based on an inquiry ID.\n *\n * You will need to generate the inquiry ID on the server. To try it out, you can create an\n * inquiry from the Persona Dashboard under \"Inquiries\". Click on the \"Create Inquiry\" button\n * and copy the inquiry ID from the URL.\n * {@link https://app.withpersona.com/dashboard/inquiries}\n *\n * @param inquiryId inquiry ID from your server\n * @return builder for the Inquiry flow\n */\n static fromInquiry(inquiryId: string) {\n return new InquiryBuilder(makeInquiryId(inquiryId));\n }\n\n /**\n * Launch the Persona Inquiry.\n */\n start() {\n this.onCompleteListener = eventEmitter.addListener(\n 'onComplete',\n (event: {\n inquiryId: string;\n status: string;\n fields: Record<string, RawInquiryField>;\n collectedData: ExternalCollectedData | null;\n }) => {\n if (this.onComplete) {\n let fields: Fields = {};\n for (let key of Object.keys(event.fields || {})) {\n let field = event.fields[key];\n if (field == undefined) {\n fields[key] = new InquiryField.Unknown('null');\n continue;\n }\n switch (field.type) {\n case 'integer':\n fields[key] = new InquiryField.Integer(\n Number.parseInt(field.value)\n );\n break;\n case 'boolean':\n fields[key] = new InquiryField.Boolean(field.value);\n break;\n case 'string':\n fields[key] = new InquiryField.String(field.value);\n break;\n default:\n fields[key] = new InquiryField.Unknown(field.type);\n break;\n }\n }\n\n let collectedData: CollectedData | null = null;\n\n let stepData = event.collectedData?.stepData;\n if (stepData != null) {\n // Translate the step data from JSON to actual class objects\n let translatedStepData = [];\n\n for (let stepDatum of stepData) {\n switch (stepDatum.type) {\n case 'DocumentStepData':\n translatedStepData.push(\n Object.assign(new DocumentStepData(), stepDatum)\n );\n break;\n case 'GovernmentIdStepData':\n translatedStepData.push(\n Object.assign(new GovernmentIdStepData(), stepDatum)\n );\n break;\n case 'SelfieStepData':\n translatedStepData.push(\n Object.assign(new SelfieStepData(), stepDatum)\n );\n break;\n case 'UiStepData':\n translatedStepData.push(\n Object.assign(new UiStepData(), stepDatum)\n );\n break;\n }\n }\n\n collectedData = {\n stepData: translatedStepData,\n };\n }\n\n let extraData: ExtraData = {\n collectedData: collectedData,\n };\n\n this.onComplete(event.inquiryId, event.status, fields, extraData);\n }\n this.clearListeners();\n }\n );\n\n this.onCanceledListener = eventEmitter.addListener(\n 'onCanceled',\n (event: { inquiryId?: string; sessionToken?: string }) => {\n if (this.onCanceled)\n this.onCanceled(event.inquiryId, event.sessionToken);\n this.clearListeners();\n }\n );\n\n this.onErrorListener = eventEmitter.addListener(\n 'onError',\n (event: { debugMessage: string }) => {\n if (this.onError) this.onError(new Error(event.debugMessage));\n this.clearListeners();\n }\n );\n\n PersonaInquiry2.startInquiry({\n templateId: this.templateId,\n templateVersion: this.templateVersion,\n inquiryId: this.inquiryId,\n referenceId: this.referenceId,\n accountId: this.accountId,\n environment: this.environment,\n environmentId: this.environmentId,\n sessionToken: this.sessionToken,\n fields: this.fields,\n returnCollectedData: this.returnCollectedData,\n themeSource: this.themeSource,\n iosTheme: processThemeValues(this.iosThemeObject || {}),\n routingCountry: this.routingCountry,\n locale: this.locale,\n });\n }\n}\n\nclass InquiryBuilder {\n private _inquiryId: InquiryId;\n private _sessionToken?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n private _fields?: Fields;\n private _routingCountry?: string;\n private _locale?: string;\n\n constructor(inquiryId: InquiryId) {\n this._inquiryId = inquiryId;\n }\n\n sessionToken(sessionToken: string): InquiryBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): InquiryBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): InquiryBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): InquiryBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(themeObject: Object, themeSource: ThemeSource): InquiryBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n routingCountry(routingCountry: string): InquiryBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n locale(locale: string): InquiryBuilder {\n this._locale = locale;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n inquiryId: this._inquiryId,\n sessionToken: this._sessionToken,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n fields: this._fields,\n routingCountry: this._routingCountry,\n locale: this._locale,\n });\n }\n}\n\nclass TemplateBuilder {\n private readonly _templateId?: TemplateId;\n private readonly _templateVersion?: TemplateVersion;\n private _accountId?: AccountId;\n private _referenceId?: string;\n private _environment?: Environment;\n private _environmentId?: string;\n private _fields?: Fields;\n private _sessionToken?: string;\n private _returnCollectedData?: boolean;\n private _routingCountry?: string;\n private _locale?: string;\n\n // Callbacks\n private _onComplete?: OnCompleteCallback;\n private _onCanceled?: OnCanceledCallback;\n private _onError?: OnErrorCallback;\n\n // Customization\n private _iosThemeObject?: Object;\n private _themeSource: ThemeSource = ThemeSource.SERVER;\n\n constructor(\n templateId?: TemplateId | null,\n templateVersion?: TemplateVersion | null\n ) {\n if (templateId != null) {\n this._templateId = templateId;\n } else if (templateVersion != null) {\n this._templateVersion = templateVersion;\n } else {\n throw new InvalidTemplateId(\n `Either templateId or templateVersion needs to be set.`\n );\n }\n return this;\n }\n\n returnCollectedData(returnCollectedData: boolean) {\n this._returnCollectedData = returnCollectedData;\n\n return this;\n }\n\n referenceId(referenceId: string): TemplateBuilder {\n this._accountId = undefined;\n this._referenceId = referenceId;\n\n return this;\n }\n\n accountId(accountId: string): TemplateBuilder {\n this._referenceId = undefined;\n this._accountId = makeAccountId(accountId);\n\n return this;\n }\n\n environment(environment: Environment): TemplateBuilder {\n this._environment = environment;\n\n return this;\n }\n\n environmentId(environmentId: string): TemplateBuilder {\n this._environmentId = environmentId;\n\n return this;\n }\n\n sessionToken(sessionToken: string): TemplateBuilder {\n this._sessionToken = sessionToken;\n\n return this;\n }\n\n fields(fields: Fields): TemplateBuilder {\n this._fields = fields;\n\n return this;\n }\n\n routingCountry(routingCountry: string): TemplateBuilder {\n this._routingCountry = routingCountry;\n\n return this;\n }\n\n locale(locale: string): TemplateBuilder {\n this._locale = locale;\n\n return this;\n }\n\n onComplete(callback: OnCompleteCallback): TemplateBuilder {\n this._onComplete = callback;\n\n return this;\n }\n\n onCanceled(callback: OnCanceledCallback): TemplateBuilder {\n this._onCanceled = callback;\n\n return this;\n }\n\n onError(callback: OnErrorCallback): TemplateBuilder {\n this._onError = callback;\n\n return this;\n }\n\n /**\n * @deprecated Use iosThemeToUse\n */\n iosTheme(themeObject: Object): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = ThemeSource.CLIENT;\n\n return this;\n }\n\n iosThemeToUse(\n themeObject: Object,\n themeSource: ThemeSource\n ): TemplateBuilder {\n this._iosThemeObject = themeObject;\n this._themeSource = themeSource;\n\n return this;\n }\n\n build(): Inquiry {\n return new Inquiry({\n templateId: this._templateId,\n templateVersion: this._templateVersion,\n accountId: this._accountId,\n referenceId: this._referenceId,\n environment: this._environment,\n environmentId: this._environmentId,\n sessionToken: this._sessionToken,\n fields: this._fields,\n onComplete: this._onComplete,\n onCanceled: this._onCanceled,\n onError: this._onError,\n iosThemeObject: this._iosThemeObject,\n themeSource: this._themeSource,\n returnCollectedData: this._returnCollectedData,\n routingCountry: this._routingCountry,\n locale: this._locale,\n });\n }\n}\n\n/**\n * @deprecated Use the `Inquiry` static methods instead\n */\nnamespace InquiryBuilders {\n /**\n * @deprecated Use {@link Inquiry#fromInquiry} instead\n */\n export function fromInquiry(inquiryId: string) {\n return Inquiry.fromInquiry(inquiryId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplate} instead\n */\n export function fromTemplate(templateId: string) {\n return Inquiry.fromTemplate(templateId);\n }\n\n /**\n * @deprecated Use {@link Inquiry#fromTemplateVersion} instead\n */\n export function fromTemplateVersion(templateVersion: string) {\n return Inquiry.fromTemplateVersion(templateVersion);\n }\n}\n\nexport default InquiryBuilders;\n"],"mappings":"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"}
@@ -4,27 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _xmlbuilder = require("xmlbuilder2");
9
-
10
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
10
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
12
11
  class AndroidResourcePrinter {
13
12
  constructor(theme) {
14
13
  _defineProperty(this, "theme", void 0);
15
-
16
14
  _defineProperty(this, "root", void 0);
17
-
18
15
  _defineProperty(this, "buttonDrawable", void 0);
19
-
20
16
  _defineProperty(this, "buttonColor", void 0);
21
-
22
17
  _defineProperty(this, "preprintQueue", []);
23
-
24
18
  _defineProperty(this, "printQueue", []);
25
-
26
19
  _defineProperty(this, "postPrintQueue", []);
27
-
28
20
  this.theme = theme;
29
21
  this.root = (0, _xmlbuilder.create)({
30
22
  version: '1.0'
@@ -40,21 +32,18 @@ class AndroidResourcePrinter {
40
32
  'xmlns:android': 'http://schemas.android.com/apk/res/android'
41
33
  });
42
34
  }
43
-
44
35
  process() {
45
36
  if (!this.hasTheme()) {
46
37
  this.root = this.root.up();
47
38
  } else {
48
39
  this.print();
49
40
  }
50
-
51
41
  return {
52
42
  style: this.root,
53
43
  buttonDrawable: this.buttonDrawable,
54
44
  buttonColor: this.buttonColor
55
45
  };
56
46
  }
57
-
58
47
  print() {
59
48
  this.primaryColor();
60
49
  this.accentColor();
@@ -62,8 +51,8 @@ class AndroidResourcePrinter {
62
51
  this.backgroundColor();
63
52
  this.titleText();
64
53
  this.bodyText();
65
- this.footnoteText(); // this.formLabelText();
66
-
54
+ this.footnoteText();
55
+ // this.formLabelText();
67
56
  this.textField();
68
57
  this.pickerText();
69
58
  this.button();
@@ -72,8 +61,9 @@ class AndroidResourcePrinter {
72
61
  this.failAsset();
73
62
  this.loadingAnimationAsset();
74
63
  this.selfieAnimationAsset();
75
- this.preprintQueue.forEach(fn => fn()); // Precreate some style namespaces
64
+ this.preprintQueue.forEach(fn => fn());
76
65
 
66
+ // Precreate some style namespaces
77
67
  this.root = this.root.ele('style', {
78
68
  name: 'RN'
79
69
  }).up();
@@ -91,11 +81,9 @@ class AndroidResourcePrinter {
91
81
  this.root = this.root.up();
92
82
  this.postPrintQueue.forEach(fn => fn());
93
83
  }
94
-
95
84
  hasTheme() {
96
85
  return Object.keys(this.theme).length > 0 && Object.values(this.theme).filter(Boolean).length > 0;
97
86
  }
98
-
99
87
  primaryColor() {
100
88
  if (!this.theme.primaryColor) return;
101
89
  this.printQueue.push(() => {
@@ -104,7 +92,6 @@ class AndroidResourcePrinter {
104
92
  }).txt(this.theme.primaryColor).up().txt(' ');
105
93
  });
106
94
  }
107
-
108
95
  accentColor() {
109
96
  if (!this.theme.accentColor) return;
110
97
  this.printQueue.push(() => {
@@ -113,7 +100,6 @@ class AndroidResourcePrinter {
113
100
  }).txt(this.theme.accentColor).up().txt(' ');
114
101
  });
115
102
  }
116
-
117
103
  darkPrimaryColor() {
118
104
  if (!this.theme.darkPrimaryColor) return;
119
105
  this.printQueue.push(() => {
@@ -122,7 +108,6 @@ class AndroidResourcePrinter {
122
108
  }).txt(this.theme.darkPrimaryColor).up().txt(' ');
123
109
  });
124
110
  }
125
-
126
111
  backgroundColor() {
127
112
  if (!this.theme.backgroundColor) return;
128
113
  this.preprintQueue.push(() => {
@@ -136,37 +121,35 @@ class AndroidResourcePrinter {
136
121
  }).txt('@color/customPersonaBackgroundColor').up().txt(' ');
137
122
  });
138
123
  }
139
-
140
124
  titleText() {
141
125
  if (this.theme.titleTextColor || this.theme.titleTextFont) {
142
126
  this.printQueue.push(() => {
143
127
  this.root = this.root.ele('item', {
144
128
  name: 'textAppearanceHeadline6'
145
129
  }).txt('@style/RN.Persona.Text.Title').up();
146
- }); // Create a text appearance
130
+ });
147
131
 
132
+ // Create a text appearance
148
133
  this.postPrintQueue.push(() => {
149
134
  this.root = this.root.ele('style', {
150
135
  name: 'RN.Persona.Text.Title',
151
136
  parent: 'Persona.Inquiry2.Text.Body'
152
137
  });
153
-
154
138
  if (this.theme.titleTextColor) {
155
139
  this.root = this.root.ele('item', {
156
140
  name: 'android:textColor'
157
141
  }).txt(this.theme.titleTextColor).up();
158
142
  }
159
-
160
143
  if (this.theme.titleTextFont) {
161
144
  // TODO: Add notice about how to add a custom font that can be
162
145
  // referenced here on Android
163
146
  this.root = this.root.ele('item', {
164
147
  name: 'android:fontFamily'
165
148
  }).txt(this.theme.titleTextFont).up();
166
- } // Default values taken from `Persona.Text.Title`
167
- // in shared/src/main/res/values/styles.xml
168
-
149
+ }
169
150
 
151
+ // Default values taken from `Persona.Text.Title`
152
+ // in shared/src/main/res/values/styles.xml
170
153
  this.root = this.root.ele('item', {
171
154
  name: 'android:textSize'
172
155
  }).txt('26sp').up().ele('item', {
@@ -182,37 +165,35 @@ class AndroidResourcePrinter {
182
165
  });
183
166
  }
184
167
  }
185
-
186
168
  bodyText() {
187
169
  if (this.theme.bodyTextColor || this.theme.bodyTextFont) {
188
170
  this.printQueue.push(() => {
189
171
  this.root = this.root.ele('item', {
190
172
  name: 'textAppearanceSubtitle1'
191
173
  }).txt('@style/RN.Persona.Text.Body').up();
192
- }); // Create a text appearance
174
+ });
193
175
 
176
+ // Create a text appearance
194
177
  this.postPrintQueue.push(() => {
195
178
  this.root = this.root.ele('style', {
196
179
  name: 'RN.Persona.Text.Body',
197
180
  parent: 'Persona.Inquiry2.Text.Body'
198
181
  });
199
-
200
182
  if (this.theme.bodyTextColor) {
201
183
  this.root = this.root.ele('item', {
202
184
  name: 'android:textColor'
203
185
  }).txt(this.theme.bodyTextColor).up();
204
186
  }
205
-
206
187
  if (this.theme.bodyTextFont) {
207
188
  // TODO: Add notice about how to add a custom font that can be
208
189
  // referenced here on Android
209
190
  this.root = this.root.ele('item', {
210
191
  name: 'android:fontFamily'
211
192
  }).txt(this.theme.bodyTextFont).up();
212
- } // Default values taken from `Persona.Text.Body`
213
- // in shared/src/main/res/values/styles.xml
214
-
193
+ }
215
194
 
195
+ // Default values taken from `Persona.Text.Body`
196
+ // in shared/src/main/res/values/styles.xml
216
197
  this.root = this.root.ele('item', {
217
198
  name: 'android:textSize'
218
199
  }).txt('18sp').up();
@@ -226,36 +207,31 @@ class AndroidResourcePrinter {
226
207
  });
227
208
  }
228
209
  }
229
-
230
210
  footnoteText() {
231
211
  if (this.theme.footnoteTextColor || this.theme.footnoteTextFont) {
232
212
  this.postPrintQueue.push(() => {
233
- var _this$theme$footnoteT;
234
-
235
213
  this.root = this.root.ele('style', {
236
214
  name: 'TextAppearance.AppCompat.Small'
237
215
  }).ele('item', {
238
216
  name: 'android:textSize'
239
- }) // Used default value found in the Android SDK
217
+ })
218
+ // Used default value found in the Android SDK
240
219
  .txt('@dimen/abc_text_size_small_material').up().ele('item', {
241
220
  name: 'android:textColor'
242
- }).txt( // Used default value found in the Android SDK
243
- (_this$theme$footnoteT = this.theme.footnoteTextColor) !== null && _this$theme$footnoteT !== void 0 ? _this$theme$footnoteT : '?android:attr/textColorTertiary').up();
244
-
221
+ }).txt(
222
+ // Used default value found in the Android SDK
223
+ this.theme.footnoteTextColor ?? '?android:attr/textColorTertiary').up();
245
224
  if (this.theme.footnoteTextFont) {
246
- var _this$theme$footnoteT2;
247
-
248
225
  this.root = this.root.ele('item', {
249
226
  name: 'android:fontFamily'
250
- }).txt( // Used default value found in the Android SDK
251
- (_this$theme$footnoteT2 = this.theme.footnoteTextFont) !== null && _this$theme$footnoteT2 !== void 0 ? _this$theme$footnoteT2 : '?android:attr/textColorTertiary').up();
227
+ }).txt(
228
+ // Used default value found in the Android SDK
229
+ this.theme.footnoteTextFont ?? '?android:attr/textColorTertiary').up();
252
230
  }
253
-
254
231
  this.root = this.root.up();
255
232
  });
256
233
  }
257
234
  }
258
-
259
235
  textField() {
260
236
  if (this.theme.textFieldTextColor || this.theme.textFieldTextFont) {
261
237
  this.printQueue.push(() => {
@@ -276,24 +252,20 @@ class AndroidResourcePrinter {
276
252
  name: 'RN.Persona.EditText.TextAppearance',
277
253
  parent: 'Base.TextAppearance.TextAppearance.MaterialComponents.Body1'
278
254
  });
279
-
280
255
  if (this.theme.textFieldTextColor) {
281
256
  this.root = this.root.ele('item', {
282
257
  name: 'android:textSize'
283
258
  }).txt('18sp').up();
284
259
  }
285
-
286
260
  if (this.theme.textFieldTextFont) {
287
261
  this.root = this.root.ele('item', {
288
262
  name: 'android:fontFamily'
289
263
  }).txt(this.theme.textFieldTextFont).up();
290
264
  }
291
-
292
265
  this.root = this.root.up();
293
266
  });
294
267
  }
295
268
  }
296
-
297
269
  pickerText() {
298
270
  if (this.theme.pickerTextColor || this.theme.pickerTextFont) {
299
271
  this.printQueue.push(() => {
@@ -305,37 +277,35 @@ class AndroidResourcePrinter {
305
277
  }).txt('@style/RN.Persona.DropDownItem.Spinner').up();
306
278
  });
307
279
  this.postPrintQueue.push(() => {
308
- var _this$theme$pickerTex, _this$theme$pickerTex2;
309
-
310
280
  // Build Rn.Persona.Spinner
311
281
  this.root = this.root.ele('style', {
312
282
  name: 'RN.Persona.Spinner',
313
283
  parent: 'Persona.Inquiry2.Spinner'
314
284
  }).ele('item', {
315
285
  name: 'android:textColor'
316
- }).txt((_this$theme$pickerTex = this.theme.pickerTextColor) !== null && _this$theme$pickerTex !== void 0 ? _this$theme$pickerTex : '?android:attr/textColorPrimary').up().ele('item', {
286
+ }).txt(this.theme.pickerTextColor ?? '?android:attr/textColorPrimary').up().ele('item', {
317
287
  name: 'android:textAppearance'
318
- }).txt(this.theme.pickerTextFont ? '@style/RN.Persona.Text.Spinner' : '@style/Persona.Inquiry2.Text.Body').up().up(); // Build RN.Persona.DropDownItem.Spinner
288
+ }).txt(this.theme.pickerTextFont ? '@style/RN.Persona.Text.Spinner' : '@style/Persona.Inquiry2.Text.Body').up().up();
319
289
 
290
+ // Build RN.Persona.DropDownItem.Spinner
320
291
  this.root = this.root.ele('style', {
321
292
  name: 'RN.Persona.DropDownItem.Spinner',
322
293
  parent: 'Persona.Inquiry2.Spinner'
323
294
  }).ele('item', {
324
295
  name: 'android:textColor'
325
- }).txt((_this$theme$pickerTex2 = this.theme.pickerTextColor) !== null && _this$theme$pickerTex2 !== void 0 ? _this$theme$pickerTex2 : '?android:attr/textColorPrimary').up().ele('item', {
296
+ }).txt(this.theme.pickerTextColor ?? '?android:attr/textColorPrimary').up().ele('item', {
326
297
  name: 'android:textAppearance'
327
- }).txt(this.theme.pickerTextFont ? '@style/RN.Persona.Text.Spinner' : '@style/Persona.Inquiry2.Text.Body').up().up(); // Build RN.Persona.Text.Spinner
298
+ }).txt(this.theme.pickerTextFont ? '@style/RN.Persona.Text.Spinner' : '@style/Persona.Inquiry2.Text.Body').up().up();
328
299
 
300
+ // Build RN.Persona.Text.Spinner
329
301
  this.root = this.root.ele('style', {
330
302
  name: 'RN.Persona.Text.Spinner'
331
303
  });
332
-
333
304
  if (this.theme.pickerTextColor) {
334
305
  this.root = this.root.ele('item', {
335
306
  name: 'android:textColor'
336
307
  }).txt(this.theme.pickerTextColor).up();
337
308
  }
338
-
339
309
  if (this.theme.pickerTextFont) {
340
310
  // TODO: Add notice about how to add a custom font that can be
341
311
  // referenced here on Android
@@ -343,12 +313,10 @@ class AndroidResourcePrinter {
343
313
  name: 'android:fontFamily'
344
314
  }).txt(this.theme.pickerTextFont).up();
345
315
  }
346
-
347
316
  this.root = this.root.up();
348
317
  });
349
318
  }
350
319
  }
351
-
352
320
  button() {
353
321
  if (this.theme.buttonBackgroundColor || this.theme.buttonDisabledBackgroundColor || this.theme.buttonTouchedBackgroundColor || this.theme.buttonTextColor || this.theme.buttonDisabledTextColor || this.theme.buttonCornerRadius || this.theme.buttonFont) {
354
322
  this.printQueue.push(() => {
@@ -357,20 +325,21 @@ class AndroidResourcePrinter {
357
325
  }).txt('@style/RN.Persona.Button').up();
358
326
  });
359
327
  this.postPrintQueue.push(() => {
360
- var _this$theme$buttonTou, _this$theme$buttonBac, _this$theme$buttonDis, _this$theme$buttonTex, _this$theme$buttonTex2;
361
-
362
328
  this.root = this.root.ele('style', {
363
329
  name: 'RN.Persona.Button',
364
330
  parent: 'Persona.Inquiry2.Button'
365
- }) // Taken from
331
+ })
332
+ // Taken from
366
333
  // appcompat's res/values/values.xml
367
334
  .ele('item', {
368
335
  name: 'android:minHeight'
369
- }).txt('48dip').up() // Taken from
336
+ }).txt('48dip').up()
337
+ // Taken from
370
338
  // appcompat's res/values/values.xml
371
339
  .ele('item', {
372
340
  name: 'android:minWidth'
373
- }).txt('88dip').up() // Taken from
341
+ }).txt('88dip').up()
342
+ // Taken from
374
343
  // persona-android's shared/src/main/res/values/styles.xml
375
344
  .ele('item', {
376
345
  name: 'android:textSize'
@@ -378,8 +347,9 @@ class AndroidResourcePrinter {
378
347
  name: 'android:background'
379
348
  }).txt('@drawable/rn_persona_button').up().ele('item', {
380
349
  name: 'android:textColor'
381
- }).txt('@color/rn_persona_button').up().up(); // Disabled
350
+ }).txt('@color/rn_persona_button').up().up();
382
351
 
352
+ // Disabled
383
353
  this.buttonDrawable = this.buttonDrawable.ele('item', {
384
354
  'android:state_enabled': 'false'
385
355
  }).ele('shape', {
@@ -393,8 +363,9 @@ class AndroidResourcePrinter {
393
363
  'android:bottom': '@dimen/abc_button_padding_vertical_material'
394
364
  }).up().ele('solid', {
395
365
  'android:color': this.theme.buttonDisabledBackgroundColor ? this.theme.buttonDisabledBackgroundColor : '?attr/colorPrimaryVariant'
396
- }).up().up().up(); // touched
366
+ }).up().up().up();
397
367
 
368
+ // touched
398
369
  this.buttonDrawable = this.buttonDrawable.ele('item', {
399
370
  'android:state_pressed': 'true'
400
371
  }).ele('shape', {
@@ -402,7 +373,7 @@ class AndroidResourcePrinter {
402
373
  }).ele('corners', {
403
374
  'android:radius': this.theme.buttonCornerRadius ? `${this.theme.buttonCornerRadius}dp` : '@dimen/abc_control_corner_material'
404
375
  }).up().ele('solid', {
405
- 'android:color': (_this$theme$buttonTou = this.theme.buttonTouchedBackgroundColor) !== null && _this$theme$buttonTou !== void 0 ? _this$theme$buttonTou : '?attr/colorPrimaryVariant'
376
+ 'android:color': this.theme.buttonTouchedBackgroundColor ?? '?attr/colorPrimaryVariant'
406
377
  }).up().ele('padding', {
407
378
  'android:left': '@dimen/abc_button_padding_horizontal_material',
408
379
  'android:top': '@dimen/abc_button_padding_vertical_material',
@@ -414,30 +385,30 @@ class AndroidResourcePrinter {
414
385
  }).ele('corners', {
415
386
  'android:radius': this.theme.buttonCornerRadius ? `${this.theme.buttonCornerRadius}dp` : '@dimen/abc_control_corner_material'
416
387
  }).up().ele('solid', {
417
- 'android:color': (_this$theme$buttonBac = this.theme.buttonBackgroundColor) !== null && _this$theme$buttonBac !== void 0 ? _this$theme$buttonBac : '?attr/colorPrimary'
388
+ 'android:color': this.theme.buttonBackgroundColor ?? '?attr/colorPrimary'
418
389
  }).up().ele('padding', {
419
390
  'android:left': '@dimen/abc_button_padding_horizontal_material',
420
391
  'android:top': '@dimen/abc_button_padding_vertical_material',
421
392
  'android:right': '@dimen/abc_button_padding_horizontal_material',
422
393
  'android:bottom': '@dimen/abc_button_padding_vertical_material'
423
- }).up().up().up(); // Finish button drawable
394
+ }).up().up().up();
424
395
 
396
+ // Finish button drawable
425
397
  this.buttonDrawable = this.buttonDrawable.up();
426
398
  this.buttonColor = this.buttonColor.ele('item', {
427
399
  'android:state_enabled': 'false',
428
- 'android:color': (_this$theme$buttonDis = this.theme.buttonDisabledTextColor) !== null && _this$theme$buttonDis !== void 0 ? _this$theme$buttonDis : '@android:color/darker_gray'
400
+ 'android:color': this.theme.buttonDisabledTextColor ?? '@android:color/darker_gray'
429
401
  }).up().ele('item', {
430
402
  'android:state_pressed': 'true',
431
- 'android:color': (_this$theme$buttonTex = this.theme.buttonTextColor) !== null && _this$theme$buttonTex !== void 0 ? _this$theme$buttonTex : '@android:color/white'
403
+ 'android:color': this.theme.buttonTextColor ?? '@android:color/white'
432
404
  }).up().ele('item', {
433
- 'android:color': (_this$theme$buttonTex2 = this.theme.buttonTextColor) !== null && _this$theme$buttonTex2 !== void 0 ? _this$theme$buttonTex2 : '@android:color/white'
405
+ 'android:color': this.theme.buttonTextColor ?? '@android:color/white'
434
406
  }).up();
435
407
  this.buttonColor = this.buttonColor.up();
436
408
  this.root = this.root.up();
437
409
  });
438
410
  }
439
411
  }
440
-
441
412
  progressColor() {
442
413
  if (this.theme.progressColor) {
443
414
  this.printQueue.push(() => {
@@ -447,7 +418,6 @@ class AndroidResourcePrinter {
447
418
  });
448
419
  }
449
420
  }
450
-
451
421
  successAsset() {
452
422
  if (!this.theme.successAsset) return;
453
423
  this.printQueue.push(() => {
@@ -456,7 +426,6 @@ class AndroidResourcePrinter {
456
426
  }).txt(this.theme.successAsset).up().txt(' ');
457
427
  });
458
428
  }
459
-
460
429
  failAsset() {
461
430
  if (!this.theme.failAsset) return;
462
431
  this.printQueue.push(() => {
@@ -465,7 +434,6 @@ class AndroidResourcePrinter {
465
434
  }).txt(this.theme.failAsset).up().txt(' ');
466
435
  });
467
436
  }
468
-
469
437
  loadingAnimationAsset() {
470
438
  if (!this.theme.loadingAnimationAsset || !this.theme.loadingAnimationWidthPercent) return;
471
439
  this.printQueue.push(() => {
@@ -477,7 +445,6 @@ class AndroidResourcePrinter {
477
445
  }).txt(this.theme.loadingAnimationWidthPercent).up().txt(' ');
478
446
  });
479
447
  }
480
-
481
448
  selfieAnimationAsset() {
482
449
  if (!this.theme.selfieAnimationAsset || !this.theme.selfieAnimationWidthPercent) return;
483
450
  this.printQueue.push(() => {
@@ -489,9 +456,7 @@ class AndroidResourcePrinter {
489
456
  }).txt(this.theme.selfieAnimationWidthPercent).up().txt(' ');
490
457
  });
491
458
  }
492
-
493
459
  }
494
-
495
460
  var _default = AndroidResourcePrinter;
496
461
  exports.default = _default;
497
462
  //# sourceMappingURL=AndroidResourcePrinter.js.map