react-native-persona 1.3.0 → 1.3.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 (50) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/bin/persona-tool +1 -2
  3. package/lib/commonjs/persona-tools/AndroidResourcePrinter.js +694 -0
  4. package/lib/commonjs/persona-tools/AndroidResourcePrinter.js.map +1 -0
  5. package/lib/commonjs/persona-tools/Config.js +95 -0
  6. package/lib/commonjs/persona-tools/Config.js.map +1 -0
  7. package/lib/commonjs/persona-tools/Theme.js +228 -0
  8. package/lib/commonjs/persona-tools/Theme.js.map +1 -0
  9. package/lib/commonjs/persona-tools/index.js +41 -0
  10. package/lib/commonjs/persona-tools/index.js.map +1 -0
  11. package/lib/commonjs/persona-tools/prompts.js +48 -0
  12. package/lib/commonjs/persona-tools/prompts.js.map +1 -0
  13. package/lib/commonjs/persona-tools/tools/AndroidThemeGenerator.js +112 -0
  14. package/lib/commonjs/persona-tools/tools/AndroidThemeGenerator.js.map +1 -0
  15. package/lib/commonjs/persona-tools/tools/IosThemeInstructions.js +50 -0
  16. package/lib/commonjs/persona-tools/tools/IosThemeInstructions.js.map +1 -0
  17. package/lib/module/persona-tools/AndroidResourcePrinter.js +686 -0
  18. package/lib/module/persona-tools/AndroidResourcePrinter.js.map +1 -0
  19. package/lib/module/persona-tools/Config.js +82 -0
  20. package/lib/module/persona-tools/Config.js.map +1 -0
  21. package/lib/module/persona-tools/Theme.js +212 -0
  22. package/lib/module/persona-tools/Theme.js.map +1 -0
  23. package/lib/module/persona-tools/index.js +33 -0
  24. package/lib/module/persona-tools/index.js.map +1 -0
  25. package/lib/module/persona-tools/prompts.js +31 -0
  26. package/lib/module/persona-tools/prompts.js.map +1 -0
  27. package/lib/module/persona-tools/tools/AndroidThemeGenerator.js +82 -0
  28. package/lib/module/persona-tools/tools/AndroidThemeGenerator.js.map +1 -0
  29. package/lib/module/persona-tools/tools/IosThemeInstructions.js +37 -0
  30. package/lib/module/persona-tools/tools/IosThemeInstructions.js.map +1 -0
  31. package/lib/typescript/{src/index.d.ts → index.d.ts} +0 -0
  32. package/lib/typescript/persona-tools/{lib/AndroidResourcePrinter.d.ts → AndroidResourcePrinter.d.ts} +1 -1
  33. package/lib/typescript/persona-tools/{lib/prompts.d.ts → prompts.d.ts} +0 -0
  34. package/lib/typescript/{src/util.d.ts → util.d.ts} +0 -0
  35. package/package.json +2 -3
  36. package/{persona-tools/lib → src/persona-tools}/AndroidResourcePrinter.ts +1 -1
  37. package/{persona-tools → src/persona-tools}/Config.ts +0 -0
  38. package/{persona-tools → src/persona-tools}/Theme.ts +0 -0
  39. package/{persona-tools → src/persona-tools}/index.ts +1 -1
  40. package/{persona-tools/lib → src/persona-tools}/prompts.ts +0 -0
  41. package/{persona-tools → src/persona-tools}/tools/AndroidThemeGenerator.ts +2 -2
  42. package/{persona-tools → src/persona-tools}/tools/IosThemeInstructions.ts +1 -1
  43. package/lib/commonjs/util.spec.js +0 -31
  44. package/lib/commonjs/util.spec.js.map +0 -1
  45. package/lib/module/util.spec.js +0 -28
  46. package/lib/module/util.spec.js.map +0 -1
  47. package/lib/typescript/persona-tools/lib/AndroidResourcePrinter.spec.d.ts +0 -1
  48. package/lib/typescript/src/util.spec.d.ts +0 -1
  49. package/persona-tools/lib/AndroidResourcePrinter.spec.ts +0 -1228
  50. package/src/util.spec.ts +0 -22
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+
12
+ var _path = _interopRequireDefault(require("path"));
13
+
14
+ var _Theme = _interopRequireDefault(require("../Theme"));
15
+
16
+ var _prompts = require("../prompts");
17
+
18
+ var _AndroidResourcePrinter = _interopRequireDefault(require("../AndroidResourcePrinter"));
19
+
20
+ var _Config = _interopRequireDefault(require("../Config"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ const ANDROID_STYLES_RESOURCE_PATH = './android/app/src/main/res/values/styles_persona.xml';
25
+ const ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH = './android/app/src/main/res/drawable/rn_persona_button.xml';
26
+ const ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH = './android/app/src/main/res/drawable/rn_persona_button_secondary.xml';
27
+ const ANDROID_BUTTON_COLOR_RESOURCE_PATH = './android/app/src/main/res/color/rn_persona_button.xml';
28
+
29
+ class ThemeGenerator {
30
+ async run() {
31
+ await _Theme.default.print();
32
+ const {
33
+ isConfirmed: themeValuesConfirmed
34
+ } = await (0, _prompts.confirmThemeValues)();
35
+
36
+ if (!themeValuesConfirmed) {
37
+ console.log(_chalk.default.yellow('\nPlease adjust the values in package.json.\n'));
38
+ return;
39
+ }
40
+
41
+ console.log(`\n${_chalk.default.yellow('Creating an Android Resource files for your project at:')}\n
42
+ - ${ANDROID_STYLES_RESOURCE_PATH}
43
+ - ${ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH}
44
+ - ${ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH}
45
+ - ${ANDROID_BUTTON_COLOR_RESOURCE_PATH}\n`);
46
+ console.log('Building your application with this resource file themes your Persona Inquiry flow.\n');
47
+ const config = await _Config.default.get();
48
+ const theme = config.androidTheme;
49
+ const {
50
+ style,
51
+ buttonDrawable,
52
+ buttonSecondaryDrawable,
53
+ buttonColor
54
+ } = new _AndroidResourcePrinter.default(theme).process();
55
+ let {
56
+ isConfirmed: confirmed
57
+ } = await (0, _prompts.confirmResourceFiles)();
58
+
59
+ if (!confirmed) {
60
+ process.exit(1);
61
+ } // Add a line after confirmation
62
+
63
+
64
+ console.log('');
65
+
66
+ _fs.default.mkdirSync(_path.default.dirname(ANDROID_STYLES_RESOURCE_PATH), {
67
+ recursive: true
68
+ });
69
+
70
+ _fs.default.writeFileSync(ANDROID_STYLES_RESOURCE_PATH, style.end({
71
+ prettyPrint: true
72
+ }));
73
+
74
+ console.log(`${_chalk.default.green('Saved an Android style file at path:')} ${ANDROID_STYLES_RESOURCE_PATH}.`);
75
+
76
+ _fs.default.mkdirSync(_path.default.dirname(ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH), {
77
+ recursive: true
78
+ });
79
+
80
+ _fs.default.writeFileSync(ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH, buttonDrawable.end({
81
+ prettyPrint: true
82
+ }));
83
+
84
+ console.log(`${_chalk.default.green('Saved an Android drawable file at path:')} ${ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH}.`);
85
+
86
+ _fs.default.mkdirSync(_path.default.dirname(ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH), {
87
+ recursive: true
88
+ });
89
+
90
+ _fs.default.writeFileSync(ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH, buttonSecondaryDrawable.end({
91
+ prettyPrint: true
92
+ }));
93
+
94
+ console.log(`${_chalk.default.green('Saved an Android drawable file at path:')} ${ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH}.`);
95
+
96
+ _fs.default.mkdirSync(_path.default.dirname(ANDROID_BUTTON_COLOR_RESOURCE_PATH), {
97
+ recursive: true
98
+ });
99
+
100
+ _fs.default.writeFileSync(ANDROID_BUTTON_COLOR_RESOURCE_PATH, buttonColor.end({
101
+ prettyPrint: true
102
+ }));
103
+
104
+ console.log(`${_chalk.default.green('Saved an Android color file at path:')} ${ANDROID_BUTTON_COLOR_RESOURCE_PATH}.`);
105
+ }
106
+
107
+ }
108
+
109
+ var _default = new ThemeGenerator();
110
+
111
+ exports.default = _default;
112
+ //# sourceMappingURL=AndroidThemeGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["AndroidThemeGenerator.ts"],"names":["ANDROID_STYLES_RESOURCE_PATH","ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH","ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH","ANDROID_BUTTON_COLOR_RESOURCE_PATH","ThemeGenerator","run","Theme","print","isConfirmed","themeValuesConfirmed","console","log","chalk","yellow","config","Configuration","get","theme","androidTheme","style","buttonDrawable","buttonSecondaryDrawable","buttonColor","AndroidResourcePrinter","process","confirmed","exit","fs","mkdirSync","path","dirname","recursive","writeFileSync","end","prettyPrint","green"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,4BAA4B,GAChC,sDADF;AAEA,MAAMC,qCAAqC,GACzC,2DADF;AAEA,MAAMC,+CAA+C,GACnD,qEADF;AAEA,MAAMC,kCAAkC,GACtC,wDADF;;AAGA,MAAMC,cAAN,CAAqB;AACV,QAAHC,GAAG,GAAG;AACV,UAAMC,eAAMC,KAAN,EAAN;AAEA,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAAwC,MAAM,kCAApD;;AAEA,QAAI,CAACA,oBAAL,EAA2B;AACzBC,MAAAA,OAAO,CAACC,GAAR,CACEC,eAAMC,MAAN,CAAa,+CAAb,CADF;AAGA;AACD;;AAEDH,IAAAA,OAAO,CAACC,GAAR,CACG,KAAIC,eAAMC,MAAN,CACH,yDADG,CAEH;AACR,UAAUb,4BAA6B;AACvC,UAAUC,qCAAsC;AAChD,UAAUC,+CAAgD;AAC1D,UAAUC,kCAAmC,IAPzC;AASAO,IAAAA,OAAO,CAACC,GAAR,CACE,uFADF;AAIA,UAAMG,MAAM,GAAG,MAAMC,gBAAcC,GAAd,EAArB;AACA,UAAMC,KAAK,GAAGH,MAAM,CAACI,YAArB;AAEA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA,cAAT;AAAyBC,MAAAA,uBAAzB;AAAkDC,MAAAA;AAAlD,QACJ,IAAIC,+BAAJ,CAA2BN,KAA3B,EAAkCO,OAAlC,EADF;AAGA,QAAI;AAAEhB,MAAAA,WAAW,EAAEiB;AAAf,QAA6B,MAAM,oCAAvC;;AAEA,QAAI,CAACA,SAAL,EAAgB;AACdD,MAAAA,OAAO,CAACE,IAAR,CAAa,CAAb;AACD,KAnCS,CAqCV;;;AACAhB,IAAAA,OAAO,CAACC,GAAR,CAAY,EAAZ;;AAEAgB,gBAAGC,SAAH,CAAaC,cAAKC,OAAL,CAAa9B,4BAAb,CAAb,EAAyD;AACvD+B,MAAAA,SAAS,EAAE;AAD4C,KAAzD;;AAGAJ,gBAAGK,aAAH,CACEhC,4BADF,EAEEmB,KAAK,CAACc,GAAN,CAAU;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAV,CAFF;;AAKAxB,IAAAA,OAAO,CAACC,GAAR,CACG,GAAEC,eAAMuB,KAAN,CACD,sCADC,CAED,IAAGnC,4BAA6B,GAHpC;;AAMA2B,gBAAGC,SAAH,CAAaC,cAAKC,OAAL,CAAa7B,qCAAb,CAAb,EAAkE;AAChE8B,MAAAA,SAAS,EAAE;AADqD,KAAlE;;AAGAJ,gBAAGK,aAAH,CACE/B,qCADF,EAEEmB,cAAc,CAACa,GAAf,CAAmB;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAnB,CAFF;;AAIAxB,IAAAA,OAAO,CAACC,GAAR,CACG,GAAEC,eAAMuB,KAAN,CACD,yCADC,CAED,IAAGlC,qCAAsC,GAH7C;;AAMA0B,gBAAGC,SAAH,CACEC,cAAKC,OAAL,CAAa5B,+CAAb,CADF,EAEE;AACE6B,MAAAA,SAAS,EAAE;AADb,KAFF;;AAMAJ,gBAAGK,aAAH,CACE9B,+CADF,EAEEmB,uBAAuB,CAACY,GAAxB,CAA4B;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAA5B,CAFF;;AAIAxB,IAAAA,OAAO,CAACC,GAAR,CACG,GAAEC,eAAMuB,KAAN,CACD,yCADC,CAED,IAAGjC,+CAAgD,GAHvD;;AAMAyB,gBAAGC,SAAH,CAAaC,cAAKC,OAAL,CAAa3B,kCAAb,CAAb,EAA+D;AAC7D4B,MAAAA,SAAS,EAAE;AADkD,KAA/D;;AAGAJ,gBAAGK,aAAH,CACE7B,kCADF,EAEEmB,WAAW,CAACW,GAAZ,CAAgB;AAAEC,MAAAA,WAAW,EAAE;AAAf,KAAhB,CAFF;;AAIAxB,IAAAA,OAAO,CAACC,GAAR,CACG,GAAEC,eAAMuB,KAAN,CACD,sCADC,CAED,IAAGhC,kCAAmC,GAH1C;AAKD;;AAhGkB;;eAmGN,IAAIC,cAAJ,E","sourcesContent":["import fs from 'fs';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport Theme, { AndroidThemeObject } from '../Theme';\nimport { confirmThemeValues, confirmResourceFiles } from '../prompts';\nimport AndroidResourcePrinter from '../AndroidResourcePrinter';\nimport Configuration from '../Config';\n\nconst ANDROID_STYLES_RESOURCE_PATH =\n './android/app/src/main/res/values/styles_persona.xml';\nconst ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH =\n './android/app/src/main/res/drawable/rn_persona_button.xml';\nconst ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH =\n './android/app/src/main/res/drawable/rn_persona_button_secondary.xml';\nconst ANDROID_BUTTON_COLOR_RESOURCE_PATH =\n './android/app/src/main/res/color/rn_persona_button.xml';\n\nclass ThemeGenerator {\n async run() {\n await Theme.print();\n\n const { isConfirmed: themeValuesConfirmed } = await confirmThemeValues();\n\n if (!themeValuesConfirmed) {\n console.log(\n chalk.yellow('\\nPlease adjust the values in package.json.\\n')\n );\n return;\n }\n\n console.log(\n `\\n${chalk.yellow(\n 'Creating an Android Resource files for your project at:'\n )}\\n\n - ${ANDROID_STYLES_RESOURCE_PATH}\n - ${ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH}\n - ${ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH}\n - ${ANDROID_BUTTON_COLOR_RESOURCE_PATH}\\n`\n );\n console.log(\n 'Building your application with this resource file themes your Persona Inquiry flow.\\n'\n );\n\n const config = await Configuration.get();\n const theme = config.androidTheme as AndroidThemeObject;\n\n const { style, buttonDrawable, buttonSecondaryDrawable, buttonColor } =\n new AndroidResourcePrinter(theme).process();\n\n let { isConfirmed: confirmed } = await confirmResourceFiles();\n\n if (!confirmed) {\n process.exit(1);\n }\n\n // Add a line after confirmation\n console.log('');\n\n fs.mkdirSync(path.dirname(ANDROID_STYLES_RESOURCE_PATH), {\n recursive: true,\n });\n fs.writeFileSync(\n ANDROID_STYLES_RESOURCE_PATH,\n style.end({ prettyPrint: true })\n );\n\n console.log(\n `${chalk.green(\n 'Saved an Android style file at path:'\n )} ${ANDROID_STYLES_RESOURCE_PATH}.`\n );\n\n fs.mkdirSync(path.dirname(ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH), {\n recursive: true,\n });\n fs.writeFileSync(\n ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH,\n buttonDrawable.end({ prettyPrint: true })\n );\n console.log(\n `${chalk.green(\n 'Saved an Android drawable file at path:'\n )} ${ANDROID_BUTTON_DRAWABLE_RESOURCE_PATH}.`\n );\n\n fs.mkdirSync(\n path.dirname(ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH),\n {\n recursive: true,\n }\n );\n fs.writeFileSync(\n ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH,\n buttonSecondaryDrawable.end({ prettyPrint: true })\n );\n console.log(\n `${chalk.green(\n 'Saved an Android drawable file at path:'\n )} ${ANDROID_BUTTON_SECONDARY_DRAWABLE_RESOURCE_PATH}.`\n );\n\n fs.mkdirSync(path.dirname(ANDROID_BUTTON_COLOR_RESOURCE_PATH), {\n recursive: true,\n });\n fs.writeFileSync(\n ANDROID_BUTTON_COLOR_RESOURCE_PATH,\n buttonColor.end({ prettyPrint: true })\n );\n console.log(\n `${chalk.green(\n 'Saved an Android color file at path:'\n )} ${ANDROID_BUTTON_COLOR_RESOURCE_PATH}.`\n );\n }\n}\n\nexport default new ThemeGenerator();\n"]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Theme = _interopRequireDefault(require("../Theme"));
9
+
10
+ var _prompts = require("../prompts");
11
+
12
+ var _chalk = _interopRequireDefault(require("chalk"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ class IosThemeInstructions {
17
+ async run() {
18
+ await _Theme.default.print('ios');
19
+ const {
20
+ isConfirmed: themeValuesConfirmed
21
+ } = await (0, _prompts.confirmThemeValues)();
22
+
23
+ if (!themeValuesConfirmed) {
24
+ console.log(_chalk.default.yellow('\nPlease adjust the values in package.json.\n'));
25
+ return;
26
+ }
27
+
28
+ console.log(`\n${_chalk.default.yellow('To theme the Persona Inquiry flow for iOS:')}`);
29
+ console.log('Add the theme values to the Persona Inquiry SDK client by using the `.iosTheme` builder function');
30
+ console.log(`
31
+ ${_chalk.default.green(`+ import { persona } from '../package.json'`)}
32
+ ...
33
+ Inquiry.fromTemplate(selectedTemplateId)
34
+ .onSuccess(handleSuccess)
35
+ .onCancelled(handleCancelled)
36
+ .onFailed(handleFailed)
37
+ .onError(handleError)
38
+ ${_chalk.default.green('+ .iosTheme(persona.iosTheme)')}
39
+ .build()
40
+ .start();
41
+ ...
42
+ `);
43
+ }
44
+
45
+ }
46
+
47
+ var _default = new IosThemeInstructions();
48
+
49
+ exports.default = _default;
50
+ //# sourceMappingURL=IosThemeInstructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["IosThemeInstructions.ts"],"names":["IosThemeInstructions","run","Theme","print","isConfirmed","themeValuesConfirmed","console","log","chalk","yellow","green"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,oBAAN,CAA2B;AAChB,QAAHC,GAAG,GAAG;AACV,UAAMC,eAAMC,KAAN,CAAY,KAAZ,CAAN;AAEA,UAAM;AAAEC,MAAAA,WAAW,EAAEC;AAAf,QAAwC,MAAM,kCAApD;;AAEA,QAAI,CAACA,oBAAL,EAA2B;AACzBC,MAAAA,OAAO,CAACC,GAAR,CACEC,eAAMC,MAAN,CAAa,+CAAb,CADF;AAGA;AACD;;AAEDH,IAAAA,OAAO,CAACC,GAAR,CACG,KAAIC,eAAMC,MAAN,CAAa,4CAAb,CAA2D,EADlE;AAGAH,IAAAA,OAAO,CAACC,GAAR,CACE,kGADF;AAIAD,IAAAA,OAAO,CAACC,GAAR,CAAa;AACjB,MAAMC,eAAME,KAAN,CAAa,6CAAb,CAA2D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,MAAMF,eAAME,KAAN,CAAY,iCAAZ,CAA+C;AACrD;AACA;AACA;AACA,KAZI;AAaD;;AAjCwB;;eAoCZ,IAAIV,oBAAJ,E","sourcesContent":["import Theme from '../Theme';\nimport { confirmThemeValues } from '../prompts';\nimport chalk from 'chalk';\n\nclass IosThemeInstructions {\n async run() {\n await Theme.print('ios');\n\n const { isConfirmed: themeValuesConfirmed } = await confirmThemeValues();\n\n if (!themeValuesConfirmed) {\n console.log(\n chalk.yellow('\\nPlease adjust the values in package.json.\\n')\n );\n return;\n }\n\n console.log(\n `\\n${chalk.yellow('To theme the Persona Inquiry flow for iOS:')}`\n );\n console.log(\n 'Add the theme values to the Persona Inquiry SDK client by using the `.iosTheme` builder function'\n );\n\n console.log(`\n ${chalk.green(`+ import { persona } from '../package.json'`)}\n ...\n Inquiry.fromTemplate(selectedTemplateId)\n .onSuccess(handleSuccess)\n .onCancelled(handleCancelled)\n .onFailed(handleFailed)\n .onError(handleError)\n ${chalk.green('+ .iosTheme(persona.iosTheme)')}\n .build()\n .start();\n ...\n `);\n }\n}\n\nexport default new IosThemeInstructions();\n"]}