react-native-persona 1.2.10 → 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 (77) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/RNPersonaInquiry.podspec +1 -1
  3. package/android/README.md +14 -0
  4. package/android/build.gradle +21 -100
  5. package/bin/persona-tool +1 -2
  6. package/lib/commonjs/index.js +477 -0
  7. package/lib/commonjs/index.js.map +1 -0
  8. package/lib/commonjs/persona-tools/AndroidResourcePrinter.js +694 -0
  9. package/lib/commonjs/persona-tools/AndroidResourcePrinter.js.map +1 -0
  10. package/lib/commonjs/persona-tools/Config.js +95 -0
  11. package/lib/commonjs/persona-tools/Config.js.map +1 -0
  12. package/lib/commonjs/persona-tools/Theme.js +228 -0
  13. package/lib/commonjs/persona-tools/Theme.js.map +1 -0
  14. package/lib/commonjs/persona-tools/index.js +41 -0
  15. package/lib/commonjs/persona-tools/index.js.map +1 -0
  16. package/lib/commonjs/persona-tools/prompts.js +48 -0
  17. package/lib/commonjs/persona-tools/prompts.js.map +1 -0
  18. package/lib/commonjs/persona-tools/tools/AndroidThemeGenerator.js +112 -0
  19. package/lib/commonjs/persona-tools/tools/AndroidThemeGenerator.js.map +1 -0
  20. package/lib/commonjs/persona-tools/tools/IosThemeInstructions.js +50 -0
  21. package/lib/commonjs/persona-tools/tools/IosThemeInstructions.js.map +1 -0
  22. package/lib/commonjs/util.js +36 -0
  23. package/lib/commonjs/util.js.map +1 -0
  24. package/lib/module/index.js +452 -0
  25. package/lib/module/index.js.map +1 -0
  26. package/lib/module/persona-tools/AndroidResourcePrinter.js +686 -0
  27. package/lib/module/persona-tools/AndroidResourcePrinter.js.map +1 -0
  28. package/lib/module/persona-tools/Config.js +82 -0
  29. package/lib/module/persona-tools/Config.js.map +1 -0
  30. package/lib/module/persona-tools/Theme.js +212 -0
  31. package/lib/module/persona-tools/Theme.js.map +1 -0
  32. package/lib/module/persona-tools/index.js +33 -0
  33. package/lib/module/persona-tools/index.js.map +1 -0
  34. package/lib/module/persona-tools/prompts.js +31 -0
  35. package/lib/module/persona-tools/prompts.js.map +1 -0
  36. package/lib/module/persona-tools/tools/AndroidThemeGenerator.js +82 -0
  37. package/lib/module/persona-tools/tools/AndroidThemeGenerator.js.map +1 -0
  38. package/lib/module/persona-tools/tools/IosThemeInstructions.js +37 -0
  39. package/lib/module/persona-tools/tools/IosThemeInstructions.js.map +1 -0
  40. package/lib/module/util.js +29 -0
  41. package/lib/module/util.js.map +1 -0
  42. package/{generatedTypes → lib/typescript}/index.d.ts +67 -3
  43. package/lib/typescript/persona-tools/AndroidResourcePrinter.d.ts +40 -0
  44. package/lib/typescript/persona-tools/Config.d.ts +15 -0
  45. package/lib/typescript/persona-tools/Theme.d.ts +124 -0
  46. package/lib/typescript/persona-tools/index.d.ts +1 -0
  47. package/lib/typescript/persona-tools/prompts.d.ts +8 -0
  48. package/lib/typescript/persona-tools/tools/AndroidThemeGenerator.d.ts +5 -0
  49. package/lib/typescript/persona-tools/tools/IosThemeInstructions.d.ts +5 -0
  50. package/lib/typescript/util.d.ts +3 -0
  51. package/package.json +79 -22
  52. package/src/index.ts +17 -18
  53. package/{persona-tools/lib → src/persona-tools}/AndroidResourcePrinter.ts +314 -278
  54. package/{persona-tools/config.ts → src/persona-tools/Config.ts} +7 -7
  55. package/src/persona-tools/Theme.ts +262 -0
  56. package/src/persona-tools/index.ts +30 -0
  57. package/{persona-tools/lib → src/persona-tools}/prompts.ts +11 -11
  58. package/{persona-tools → src/persona-tools}/tools/AndroidThemeGenerator.ts +31 -32
  59. package/{persona-tools → src/persona-tools}/tools/IosThemeInstructions.ts +8 -8
  60. package/src/util.ts +3 -3
  61. package/jest.config.js +0 -10
  62. package/persona-tools/Theme.js +0 -213
  63. package/persona-tools/Theme.ts +0 -260
  64. package/persona-tools/config.js +0 -72
  65. package/persona-tools/index.js +0 -30
  66. package/persona-tools/index.ts +0 -30
  67. package/persona-tools/lib/AndroidResourcePrinter.js +0 -832
  68. package/persona-tools/lib/AndroidResourcePrinter.spec.js +0 -1135
  69. package/persona-tools/lib/AndroidResourcePrinter.spec.ts +0 -1229
  70. package/persona-tools/lib/prompts.js +0 -39
  71. package/persona-tools/tools/AndroidThemeGenerator.js +0 -59
  72. package/persona-tools/tools/IosThemeInstructions.js +0 -34
  73. package/src/index.js +0 -307
  74. package/src/util.js +0 -29
  75. package/src/util.spec.js +0 -15
  76. package/src/util.spec.ts +0 -16
  77. package/tsconfig.json +0 -29
@@ -1,1229 +0,0 @@
1
- import AndroidResourcePrinter from "./AndroidResourcePrinter";
2
- import { AndroidThemeObject } from "../Theme";
3
-
4
- const EMPTY_THEME: AndroidThemeObject = {
5
- backgroundColor: null,
6
- primaryColor: null,
7
- darkPrimaryColor: null,
8
- accentColor: null,
9
- titleTextColor: null,
10
- titleTextFont: null,
11
- titleTextSize: null,
12
- bodyTextColor: null,
13
- bodyTextFont: null,
14
- bodyTextSize: null,
15
- footnoteTextColor: null,
16
- footnoteTextFont: null,
17
- footnoteTextSize: null,
18
- cameraInstructionsTextColor: null,
19
- cameraInstructionsTextFont: null,
20
- cameraInstructionsTextSize: null,
21
- cameraHintTextColor: null,
22
- cameraHintTextFont: null,
23
- cameraHintTextSize: null,
24
- cameraGuideHintTextColor: null,
25
- cameraGuideHintTextFont: null,
26
- cameraGuideHintTextSize: null,
27
- // formLabelTextColor: null,
28
- // formLabelTextFont: null,
29
- textFieldTextColor: null,
30
- textFieldTextFont: null,
31
- pickerTextColor: null,
32
- pickerTextFont: null,
33
- buttonBackgroundColor: null,
34
- buttonDisabledBackgroundColor: null,
35
- buttonTouchedBackgroundColor: null,
36
- buttonTextColor: null,
37
- buttonDisabledTextColor: null,
38
- // buttonTextAlignment: null,
39
- buttonCornerRadius: null,
40
- buttonFont: null,
41
- buttonTextSize: null,
42
- progressColor: null,
43
- successAsset: null,
44
- failAsset: null,
45
- loadingAnimationAsset: null,
46
- loadingAnimationWidthPercent: null,
47
- selfieAnimationAsset: null,
48
- selfieAnimationWidthPercent: null,
49
- };
50
-
51
- function printTheme(theme: AndroidThemeObject) {
52
- const { style, buttonDrawable, buttonSecondaryDrawable, buttonColor } = new AndroidResourcePrinter(
53
- theme
54
- ).process();
55
-
56
- return [
57
- "res/values/styles_persona.xml",
58
- "-----------------------------",
59
- style.end({ prettyPrint: true }),
60
- "\n",
61
- "res/drawable/rn_persona_button.xml",
62
- "----------------------------------",
63
- buttonDrawable.end({
64
- prettyPrint: true,
65
- }),
66
- "\n",
67
- "res/drawable/rn_persona_button_secondary.xml",
68
- "----------------------------------",
69
- buttonSecondaryDrawable.end({
70
- prettyPrint: true,
71
- }),
72
- "\n",
73
- "res/color/rn_persona_button.xml",
74
- "-------------------------------",
75
- buttonColor.end({ prettyPrint: true }),
76
- ].join("\n");
77
- }
78
-
79
- it("works when empty", () => {
80
- const theme = EMPTY_THEME;
81
-
82
- expect(printTheme(theme)).toMatchInlineSnapshot(`
83
- "res/values/styles_persona.xml
84
- -----------------------------
85
- <?xml version=\\"1.0\\"?>
86
- <resources/>
87
-
88
-
89
- res/drawable/rn_persona_button.xml
90
- ----------------------------------
91
- <?xml version=\\"1.0\\"?>
92
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
93
-
94
-
95
- res/drawable/rn_persona_button_secondary.xml
96
- ----------------------------------
97
- <?xml version=\\"1.0\\"?>
98
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
99
-
100
-
101
- res/color/rn_persona_button.xml
102
- -------------------------------
103
- <?xml version=\\"1.0\\"?>
104
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
105
- `);
106
- });
107
-
108
- it("primaryColor", () => {
109
- const theme = { ...EMPTY_THEME, primaryColor: "#FFFFFF" };
110
- expect(printTheme(theme)).toMatchInlineSnapshot(`
111
- "res/values/styles_persona.xml
112
- -----------------------------
113
- <?xml version=\\"1.0\\"?>
114
- <resources>
115
- <style name=\\"RN\\"/>
116
- <style name=\\"RN.Persona\\"/>
117
- <style name=\\"RN.Persona.Text\\"/>
118
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
119
- <item name=\\"colorPrimary\\">#FFFFFF</item>
120
-
121
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
122
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
123
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
124
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
125
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
126
- </style>
127
- </resources>
128
-
129
-
130
- res/drawable/rn_persona_button.xml
131
- ----------------------------------
132
- <?xml version=\\"1.0\\"?>
133
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
134
-
135
-
136
- res/drawable/rn_persona_button_secondary.xml
137
- ----------------------------------
138
- <?xml version=\\"1.0\\"?>
139
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
140
-
141
-
142
- res/color/rn_persona_button.xml
143
- -------------------------------
144
- <?xml version=\\"1.0\\"?>
145
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
146
- `);
147
- });
148
-
149
- it("accentColor", () => {
150
- const theme = { ...EMPTY_THEME, accentColor: "#FFFFFF" };
151
- expect(printTheme(theme)).toMatchInlineSnapshot(`
152
- "res/values/styles_persona.xml
153
- -----------------------------
154
- <?xml version=\\"1.0\\"?>
155
- <resources>
156
- <style name=\\"RN\\"/>
157
- <style name=\\"RN.Persona\\"/>
158
- <style name=\\"RN.Persona.Text\\"/>
159
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
160
- <item name=\\"colorAccent\\">#FFFFFF</item>
161
-
162
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
163
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
164
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
165
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
166
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
167
- </style>
168
- </resources>
169
-
170
-
171
- res/drawable/rn_persona_button.xml
172
- ----------------------------------
173
- <?xml version=\\"1.0\\"?>
174
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
175
-
176
-
177
- res/drawable/rn_persona_button_secondary.xml
178
- ----------------------------------
179
- <?xml version=\\"1.0\\"?>
180
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
181
-
182
-
183
- res/color/rn_persona_button.xml
184
- -------------------------------
185
- <?xml version=\\"1.0\\"?>
186
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
187
- `);
188
- });
189
-
190
- it("darkPrimaryColor", () => {
191
- const theme = { ...EMPTY_THEME, darkPrimaryColor: "#FFFFFF" };
192
- expect(printTheme(theme)).toMatchInlineSnapshot(`
193
- "res/values/styles_persona.xml
194
- -----------------------------
195
- <?xml version=\\"1.0\\"?>
196
- <resources>
197
- <style name=\\"RN\\"/>
198
- <style name=\\"RN.Persona\\"/>
199
- <style name=\\"RN.Persona.Text\\"/>
200
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
201
- <item name=\\"colorPrimaryDark\\">#FFFFFF</item>
202
-
203
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
204
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
205
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
206
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
207
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
208
- </style>
209
- </resources>
210
-
211
-
212
- res/drawable/rn_persona_button.xml
213
- ----------------------------------
214
- <?xml version=\\"1.0\\"?>
215
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
216
-
217
-
218
- res/drawable/rn_persona_button_secondary.xml
219
- ----------------------------------
220
- <?xml version=\\"1.0\\"?>
221
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
222
-
223
-
224
- res/color/rn_persona_button.xml
225
- -------------------------------
226
- <?xml version=\\"1.0\\"?>
227
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
228
- `);
229
- });
230
-
231
- it("backgroundColor", () => {
232
- const theme = { ...EMPTY_THEME, backgroundColor: "#FFFFFF" };
233
-
234
- expect(printTheme(theme)).toMatchInlineSnapshot(`
235
- "res/values/styles_persona.xml
236
- -----------------------------
237
- <?xml version=\\"1.0\\"?>
238
- <resources>
239
- <color name=\\"customPersonaBackgroundColor\\">#FFFFFF</color>
240
-
241
- <style name=\\"RN\\"/>
242
- <style name=\\"RN.Persona\\"/>
243
- <style name=\\"RN.Persona.Text\\"/>
244
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
245
- <item name=\\"android:colorBackground\\">@color/customPersonaBackgroundColor</item>
246
-
247
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
248
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
249
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
250
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
251
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
252
- </style>
253
- </resources>
254
-
255
-
256
- res/drawable/rn_persona_button.xml
257
- ----------------------------------
258
- <?xml version=\\"1.0\\"?>
259
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
260
-
261
-
262
- res/drawable/rn_persona_button_secondary.xml
263
- ----------------------------------
264
- <?xml version=\\"1.0\\"?>
265
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
266
-
267
-
268
- res/color/rn_persona_button.xml
269
- -------------------------------
270
- <?xml version=\\"1.0\\"?>
271
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
272
- `);
273
- });
274
-
275
- it("titleTextColor", () => {
276
- const theme = { ...EMPTY_THEME, titleTextColor: "#FFFFFF" };
277
-
278
- expect(printTheme(theme)).toMatchInlineSnapshot(`
279
- "res/values/styles_persona.xml
280
- -----------------------------
281
- <?xml version=\\"1.0\\"?>
282
- <resources>
283
- <style name=\\"RN\\"/>
284
- <style name=\\"RN.Persona\\"/>
285
- <style name=\\"RN.Persona.Text\\"/>
286
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
287
- <item name=\\"personaTitleTextAppearance\\">@style/RN.Persona.Text.Title</item>
288
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
289
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
290
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
291
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
292
- </style>
293
- <style name=\\"RN.Persona.Text.Title\\" parent=\\"Persona.Text.Body\\">
294
- <item name=\\"android:textColor\\">#FFFFFF</item>
295
- <item name=\\"android:textSize\\">26sp</item>
296
- <item name=\\"android:textStyle\\">bold</item>
297
- </style>
298
- </resources>
299
-
300
-
301
- res/drawable/rn_persona_button.xml
302
- ----------------------------------
303
- <?xml version=\\"1.0\\"?>
304
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
305
-
306
-
307
- res/drawable/rn_persona_button_secondary.xml
308
- ----------------------------------
309
- <?xml version=\\"1.0\\"?>
310
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
311
-
312
-
313
- res/color/rn_persona_button.xml
314
- -------------------------------
315
- <?xml version=\\"1.0\\"?>
316
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
317
- `);
318
- });
319
-
320
- it("titleTextFont", () => {
321
- const theme = { ...EMPTY_THEME, titleTextFont: "Arial" };
322
-
323
- expect(printTheme(theme)).toMatchInlineSnapshot(`
324
- "res/values/styles_persona.xml
325
- -----------------------------
326
- <?xml version=\\"1.0\\"?>
327
- <resources>
328
- <style name=\\"RN\\"/>
329
- <style name=\\"RN.Persona\\"/>
330
- <style name=\\"RN.Persona.Text\\"/>
331
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
332
- <item name=\\"personaTitleTextAppearance\\">@style/RN.Persona.Text.Title</item>
333
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
334
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
335
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
336
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
337
- </style>
338
- <style name=\\"RN.Persona.Text.Title\\" parent=\\"Persona.Text.Body\\">
339
- <item name=\\"android:fontFamily\\">Arial</item>
340
- <item name=\\"android:textSize\\">26sp</item>
341
- <item name=\\"android:textStyle\\">bold</item>
342
- </style>
343
- </resources>
344
-
345
-
346
- res/drawable/rn_persona_button.xml
347
- ----------------------------------
348
- <?xml version=\\"1.0\\"?>
349
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
350
-
351
-
352
- res/drawable/rn_persona_button_secondary.xml
353
- ----------------------------------
354
- <?xml version=\\"1.0\\"?>
355
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
356
-
357
-
358
- res/color/rn_persona_button.xml
359
- -------------------------------
360
- <?xml version=\\"1.0\\"?>
361
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
362
- `);
363
- });
364
-
365
- it("titleTextFont and titleTextColor", () => {
366
- const theme = {
367
- ...EMPTY_THEME,
368
- titleTextColor: "#000000",
369
- titleTextFont: "Arial",
370
- };
371
-
372
- expect(printTheme(theme)).toMatchInlineSnapshot(`
373
- "res/values/styles_persona.xml
374
- -----------------------------
375
- <?xml version=\\"1.0\\"?>
376
- <resources>
377
- <style name=\\"RN\\"/>
378
- <style name=\\"RN.Persona\\"/>
379
- <style name=\\"RN.Persona.Text\\"/>
380
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
381
- <item name=\\"personaTitleTextAppearance\\">@style/RN.Persona.Text.Title</item>
382
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
383
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
384
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
385
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
386
- </style>
387
- <style name=\\"RN.Persona.Text.Title\\" parent=\\"Persona.Text.Body\\">
388
- <item name=\\"android:textColor\\">#000000</item>
389
- <item name=\\"android:fontFamily\\">Arial</item>
390
- <item name=\\"android:textSize\\">26sp</item>
391
- <item name=\\"android:textStyle\\">bold</item>
392
- </style>
393
- </resources>
394
-
395
-
396
- res/drawable/rn_persona_button.xml
397
- ----------------------------------
398
- <?xml version=\\"1.0\\"?>
399
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
400
-
401
-
402
- res/drawable/rn_persona_button_secondary.xml
403
- ----------------------------------
404
- <?xml version=\\"1.0\\"?>
405
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
406
-
407
-
408
- res/color/rn_persona_button.xml
409
- -------------------------------
410
- <?xml version=\\"1.0\\"?>
411
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
412
- `);
413
- });
414
-
415
- it("bodyTextColor", () => {
416
- const theme = { ...EMPTY_THEME, bodyTextColor: "#FFFFFF" };
417
-
418
- expect(printTheme(theme)).toMatchInlineSnapshot(`
419
- "res/values/styles_persona.xml
420
- -----------------------------
421
- <?xml version=\\"1.0\\"?>
422
- <resources>
423
- <style name=\\"RN\\"/>
424
- <style name=\\"RN.Persona\\"/>
425
- <style name=\\"RN.Persona.Text\\"/>
426
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
427
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
428
- <item name=\\"personaBodyTextAppearance\\">@style/RN.Persona.Text.Body</item>
429
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
430
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
431
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
432
- </style>
433
- <style name=\\"RN.Persona.Text.Body\\" parent=\\"Persona.Text.Body\\">
434
- <item name=\\"android:textColor\\">#FFFFFF</item>
435
- <item name=\\"android:textSize\\">18sp</item>
436
- </style>
437
- </resources>
438
-
439
-
440
- res/drawable/rn_persona_button.xml
441
- ----------------------------------
442
- <?xml version=\\"1.0\\"?>
443
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
444
-
445
-
446
- res/drawable/rn_persona_button_secondary.xml
447
- ----------------------------------
448
- <?xml version=\\"1.0\\"?>
449
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
450
-
451
-
452
- res/color/rn_persona_button.xml
453
- -------------------------------
454
- <?xml version=\\"1.0\\"?>
455
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
456
- `);
457
- });
458
-
459
- it("bodyTextFont", () => {
460
- const theme = { ...EMPTY_THEME, bodyTextFont: "Arial" };
461
-
462
- expect(printTheme(theme)).toMatchInlineSnapshot(`
463
- "res/values/styles_persona.xml
464
- -----------------------------
465
- <?xml version=\\"1.0\\"?>
466
- <resources>
467
- <style name=\\"RN\\"/>
468
- <style name=\\"RN.Persona\\"/>
469
- <style name=\\"RN.Persona.Text\\"/>
470
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
471
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
472
- <item name=\\"personaBodyTextAppearance\\">@style/RN.Persona.Text.Body</item>
473
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
474
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
475
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
476
- </style>
477
- <style name=\\"RN.Persona.Text.Body\\" parent=\\"Persona.Text.Body\\">
478
- <item name=\\"android:fontFamily\\">Arial</item>
479
- <item name=\\"android:textSize\\">18sp</item>
480
- </style>
481
- </resources>
482
-
483
-
484
- res/drawable/rn_persona_button.xml
485
- ----------------------------------
486
- <?xml version=\\"1.0\\"?>
487
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
488
-
489
-
490
- res/drawable/rn_persona_button_secondary.xml
491
- ----------------------------------
492
- <?xml version=\\"1.0\\"?>
493
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
494
-
495
-
496
- res/color/rn_persona_button.xml
497
- -------------------------------
498
- <?xml version=\\"1.0\\"?>
499
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
500
- `);
501
- });
502
-
503
- it("bodyTextFont and bodyTextColor", () => {
504
- const theme = {
505
- ...EMPTY_THEME,
506
- bodyTextFont: "Arial",
507
- bodyTextColor: "#000000",
508
- };
509
-
510
- expect(printTheme(theme)).toMatchInlineSnapshot(`
511
- "res/values/styles_persona.xml
512
- -----------------------------
513
- <?xml version=\\"1.0\\"?>
514
- <resources>
515
- <style name=\\"RN\\"/>
516
- <style name=\\"RN.Persona\\"/>
517
- <style name=\\"RN.Persona.Text\\"/>
518
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
519
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
520
- <item name=\\"personaBodyTextAppearance\\">@style/RN.Persona.Text.Body</item>
521
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
522
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
523
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
524
- </style>
525
- <style name=\\"RN.Persona.Text.Body\\" parent=\\"Persona.Text.Body\\">
526
- <item name=\\"android:textColor\\">#000000</item>
527
- <item name=\\"android:fontFamily\\">Arial</item>
528
- <item name=\\"android:textSize\\">18sp</item>
529
- </style>
530
- </resources>
531
-
532
-
533
- res/drawable/rn_persona_button.xml
534
- ----------------------------------
535
- <?xml version=\\"1.0\\"?>
536
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
537
-
538
-
539
- res/drawable/rn_persona_button_secondary.xml
540
- ----------------------------------
541
- <?xml version=\\"1.0\\"?>
542
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
543
-
544
-
545
- res/color/rn_persona_button.xml
546
- -------------------------------
547
- <?xml version=\\"1.0\\"?>
548
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
549
- `);
550
- });
551
-
552
- it("footnoteTextColor", () => {
553
- const theme = { ...EMPTY_THEME, footnoteTextColor: "#FFFFFF" };
554
-
555
- expect(printTheme(theme)).toMatchInlineSnapshot(`
556
- "res/values/styles_persona.xml
557
- -----------------------------
558
- <?xml version=\\"1.0\\"?>
559
- <resources>
560
- <style name=\\"RN\\"/>
561
- <style name=\\"RN.Persona\\"/>
562
- <style name=\\"RN.Persona.Text\\"/>
563
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
564
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
565
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
566
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
567
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
568
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
569
- </style>
570
- <style name=\\"TextAppearance.AppCompat.Small\\">
571
- <item name=\\"android:textColor\\">#FFFFFF</item>
572
- <item name=\\"android:textSize\\">@dimen/abc_text_size_small_material</item>
573
- </style>
574
- </resources>
575
-
576
-
577
- res/drawable/rn_persona_button.xml
578
- ----------------------------------
579
- <?xml version=\\"1.0\\"?>
580
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
581
-
582
-
583
- res/drawable/rn_persona_button_secondary.xml
584
- ----------------------------------
585
- <?xml version=\\"1.0\\"?>
586
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
587
-
588
-
589
- res/color/rn_persona_button.xml
590
- -------------------------------
591
- <?xml version=\\"1.0\\"?>
592
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
593
- `);
594
- });
595
-
596
- it("footnoteTextFont", () => {
597
- const theme = { ...EMPTY_THEME, footnoteTextFont: "Arial" };
598
-
599
- expect(printTheme(theme)).toMatchInlineSnapshot(`
600
- "res/values/styles_persona.xml
601
- -----------------------------
602
- <?xml version=\\"1.0\\"?>
603
- <resources>
604
- <style name=\\"RN\\"/>
605
- <style name=\\"RN.Persona\\"/>
606
- <style name=\\"RN.Persona.Text\\"/>
607
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
608
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
609
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
610
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
611
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
612
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
613
- </style>
614
- <style name=\\"TextAppearance.AppCompat.Small\\">
615
- <item name=\\"android:textColor\\">?android:attr/textColorTertiary</item>
616
- <item name=\\"android:fontFamily\\">Arial</item>
617
- <item name=\\"android:textSize\\">@dimen/abc_text_size_small_material</item>
618
- </style>
619
- </resources>
620
-
621
-
622
- res/drawable/rn_persona_button.xml
623
- ----------------------------------
624
- <?xml version=\\"1.0\\"?>
625
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
626
-
627
-
628
- res/drawable/rn_persona_button_secondary.xml
629
- ----------------------------------
630
- <?xml version=\\"1.0\\"?>
631
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
632
-
633
-
634
- res/color/rn_persona_button.xml
635
- -------------------------------
636
- <?xml version=\\"1.0\\"?>
637
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
638
- `);
639
- });
640
-
641
- it("footnoteTextFont and footnoteTextColor", () => {
642
- const theme = {
643
- ...EMPTY_THEME,
644
- footnoteTextFont: "Arial",
645
- footnoteTextColor: "#000000",
646
- };
647
-
648
- expect(printTheme(theme)).toMatchInlineSnapshot(`
649
- "res/values/styles_persona.xml
650
- -----------------------------
651
- <?xml version=\\"1.0\\"?>
652
- <resources>
653
- <style name=\\"RN\\"/>
654
- <style name=\\"RN.Persona\\"/>
655
- <style name=\\"RN.Persona.Text\\"/>
656
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
657
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
658
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
659
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
660
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
661
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
662
- </style>
663
- <style name=\\"TextAppearance.AppCompat.Small\\">
664
- <item name=\\"android:textColor\\">#000000</item>
665
- <item name=\\"android:fontFamily\\">Arial</item>
666
- <item name=\\"android:textSize\\">@dimen/abc_text_size_small_material</item>
667
- </style>
668
- </resources>
669
-
670
-
671
- res/drawable/rn_persona_button.xml
672
- ----------------------------------
673
- <?xml version=\\"1.0\\"?>
674
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
675
-
676
-
677
- res/drawable/rn_persona_button_secondary.xml
678
- ----------------------------------
679
- <?xml version=\\"1.0\\"?>
680
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
681
-
682
-
683
- res/color/rn_persona_button.xml
684
- -------------------------------
685
- <?xml version=\\"1.0\\"?>
686
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
687
- `);
688
- });
689
-
690
- it("pickerTextColor", () => {
691
- const theme = { ...EMPTY_THEME, pickerTextColor: "#FFFFFF" };
692
-
693
- expect(printTheme(theme)).toMatchInlineSnapshot(`
694
- "res/values/styles_persona.xml
695
- -----------------------------
696
- <?xml version=\\"1.0\\"?>
697
- <resources>
698
- <style name=\\"RN\\"/>
699
- <style name=\\"RN.Persona\\"/>
700
- <style name=\\"RN.Persona.Text\\"/>
701
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
702
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
703
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
704
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
705
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
706
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
707
- <item name=\\"spinnerStyle\\">@style/RN.Persona.Spinner</item>
708
- <item name=\\"spinnerDropDownItemStyle\\">@style/RN.Persona.DropDownItem.Spinner</item>
709
- </style>
710
- <style name=\\"RN.Persona.Spinner\\" parent=\\"Widget.AppCompat.Spinner\\">
711
- <item name=\\"android:textColor\\">#FFFFFF</item>
712
- <item name=\\"android:textAppearance\\">@style/Persona.Text.Body</item>
713
- </style>
714
- <style name=\\"RN.Persona.DropDownItem.Spinner\\" parent=\\"Widget.AppCompat.DropDownItem.Spinner\\">
715
- <item name=\\"android:textColor\\">#FFFFFF</item>
716
- <item name=\\"android:textAppearance\\">@style/Persona.Text.Body</item>
717
- </style>
718
- <style name=\\"RN.Persona.Text.Spinner\\">
719
- <item name=\\"android:textColor\\">#FFFFFF</item>
720
- </style>
721
- </resources>
722
-
723
-
724
- res/drawable/rn_persona_button.xml
725
- ----------------------------------
726
- <?xml version=\\"1.0\\"?>
727
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
728
-
729
-
730
- res/drawable/rn_persona_button_secondary.xml
731
- ----------------------------------
732
- <?xml version=\\"1.0\\"?>
733
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
734
-
735
-
736
- res/color/rn_persona_button.xml
737
- -------------------------------
738
- <?xml version=\\"1.0\\"?>
739
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
740
- `);
741
- });
742
-
743
- it("pickerTextFont", () => {
744
- const theme = { ...EMPTY_THEME, pickerTextFont: "Arial" };
745
-
746
- expect(printTheme(theme)).toMatchInlineSnapshot(`
747
- "res/values/styles_persona.xml
748
- -----------------------------
749
- <?xml version=\\"1.0\\"?>
750
- <resources>
751
- <style name=\\"RN\\"/>
752
- <style name=\\"RN.Persona\\"/>
753
- <style name=\\"RN.Persona.Text\\"/>
754
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
755
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
756
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
757
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
758
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
759
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
760
- <item name=\\"spinnerStyle\\">@style/RN.Persona.Spinner</item>
761
- <item name=\\"spinnerDropDownItemStyle\\">@style/RN.Persona.DropDownItem.Spinner</item>
762
- </style>
763
- <style name=\\"RN.Persona.Spinner\\" parent=\\"Widget.AppCompat.Spinner\\">
764
- <item name=\\"android:textColor\\">?android:attr/textColorPrimary</item>
765
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
766
- </style>
767
- <style name=\\"RN.Persona.DropDownItem.Spinner\\" parent=\\"Widget.AppCompat.DropDownItem.Spinner\\">
768
- <item name=\\"android:textColor\\">?android:attr/textColorPrimary</item>
769
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
770
- </style>
771
- <style name=\\"RN.Persona.Text.Spinner\\">
772
- <item name=\\"android:fontFamily\\">Arial</item>
773
- </style>
774
- </resources>
775
-
776
-
777
- res/drawable/rn_persona_button.xml
778
- ----------------------------------
779
- <?xml version=\\"1.0\\"?>
780
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
781
-
782
-
783
- res/drawable/rn_persona_button_secondary.xml
784
- ----------------------------------
785
- <?xml version=\\"1.0\\"?>
786
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
787
-
788
-
789
- res/color/rn_persona_button.xml
790
- -------------------------------
791
- <?xml version=\\"1.0\\"?>
792
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
793
- `);
794
- });
795
-
796
- it("pickerTextFont and pickerTextColor", () => {
797
- const theme = {
798
- ...EMPTY_THEME,
799
- pickerTextFont: "Arial",
800
- pickerTextColor: "#000000",
801
- };
802
-
803
- expect(printTheme(theme)).toMatchInlineSnapshot(`
804
- "res/values/styles_persona.xml
805
- -----------------------------
806
- <?xml version=\\"1.0\\"?>
807
- <resources>
808
- <style name=\\"RN\\"/>
809
- <style name=\\"RN.Persona\\"/>
810
- <style name=\\"RN.Persona.Text\\"/>
811
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
812
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
813
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
814
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
815
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
816
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
817
- <item name=\\"spinnerStyle\\">@style/RN.Persona.Spinner</item>
818
- <item name=\\"spinnerDropDownItemStyle\\">@style/RN.Persona.DropDownItem.Spinner</item>
819
- </style>
820
- <style name=\\"RN.Persona.Spinner\\" parent=\\"Widget.AppCompat.Spinner\\">
821
- <item name=\\"android:textColor\\">#000000</item>
822
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
823
- </style>
824
- <style name=\\"RN.Persona.DropDownItem.Spinner\\" parent=\\"Widget.AppCompat.DropDownItem.Spinner\\">
825
- <item name=\\"android:textColor\\">#000000</item>
826
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
827
- </style>
828
- <style name=\\"RN.Persona.Text.Spinner\\">
829
- <item name=\\"android:textColor\\">#000000</item>
830
- <item name=\\"android:fontFamily\\">Arial</item>
831
- </style>
832
- </resources>
833
-
834
-
835
- res/drawable/rn_persona_button.xml
836
- ----------------------------------
837
- <?xml version=\\"1.0\\"?>
838
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
839
-
840
-
841
- res/drawable/rn_persona_button_secondary.xml
842
- ----------------------------------
843
- <?xml version=\\"1.0\\"?>
844
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
845
-
846
-
847
- res/color/rn_persona_button.xml
848
- -------------------------------
849
- <?xml version=\\"1.0\\"?>
850
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
851
- `);
852
- });
853
-
854
- it("button", () => {
855
- const theme = {
856
- ...EMPTY_THEME,
857
- buttonBackgroundColor: "#FF0000",
858
- buttonDisabledBackgroundColor: null,
859
- buttonTouchedBackgroundColor: null,
860
- buttonTextColor: null,
861
- buttonDisabledTextColor: null,
862
- buttonTextAlignment: null,
863
- buttonCornerRadius: null,
864
- buttonFont: null,
865
- buttonTextSize: null,
866
- };
867
-
868
- expect(printTheme(theme)).toMatchInlineSnapshot(`
869
- "res/values/styles_persona.xml
870
- -----------------------------
871
- <?xml version=\\"1.0\\"?>
872
- <resources>
873
- <style name=\\"RN\\"/>
874
- <style name=\\"RN.Persona\\"/>
875
- <style name=\\"RN.Persona.Text\\"/>
876
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
877
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
878
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
879
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
880
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
881
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
882
- <item name=\\"buttonStyle\\">@style/RN.Persona.Button</item>
883
- <item name=\\"buttonStyleSecondary\\">@style/RN.Persona.Button.Secondary</item>
884
- </style>
885
- <style name=\\"RN.Persona.Button\\" parent=\\"android:style/Widget.Button\\">
886
- <item name=\\"android:minHeight\\">48dip</item>
887
- <item name=\\"android:minWidth\\">88dip</item>
888
- <item name=\\"android:textSize\\">18sp</item>
889
- <item name=\\"android:background\\">@drawable/rn_persona_button</item>
890
- <item name=\\"android:textColor\\">@color/rn_persona_button</item>
891
- </style>
892
- <style name=\\"RN.Persona.Button.Secondary\\" parent=\\"RN.Persona.Button\\">
893
- <item name=\\"android:background\\">@drawable/rn_persona_button_secondary</item>
894
- </style>
895
- </resources>
896
-
897
-
898
- res/drawable/rn_persona_button.xml
899
- ----------------------------------
900
- <?xml version=\\"1.0\\"?>
901
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
902
- <item android:state_enabled=\\"false\\">
903
- <shape android:shape=\\"rectangle\\">
904
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
905
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
906
- <solid android:color=\\"?attr/colorPrimaryDark\\"/>
907
- </shape>
908
- </item>
909
- <item android:state_pressed=\\"true\\">
910
- <shape android:shape=\\"rectangle\\">
911
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
912
- <solid android:color=\\"?attr/colorPrimaryDark\\"/>
913
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
914
- </shape>
915
- </item>
916
- <item>
917
- <shape android:shape=\\"rectangle\\">
918
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
919
- <solid android:color=\\"#FF0000\\"/>
920
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
921
- </shape>
922
- </item>
923
- </selector>
924
-
925
-
926
- res/drawable/rn_persona_button_secondary.xml
927
- ----------------------------------
928
- <?xml version=\\"1.0\\"?>
929
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
930
- <item android:state_enabled=\\"false\\">
931
- <shape android:shape=\\"rectangle\\">
932
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
933
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
934
- <solid android:color=\\"@android:color/darker_gray\\"/>
935
- </shape>
936
- </item>
937
- <item android:state_pressed=\\"true\\">
938
- <shape android:shape=\\"rectangle\\">
939
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
940
- <solid android:color=\\"@color/grayButtonDark\\"/>
941
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
942
- </shape>
943
- </item>
944
- <item>
945
- <shape android:shape=\\"rectangle\\">
946
- <corners android:radius=\\"@dimen/abc_control_corner_material\\"/>
947
- <solid android:color=\\"@color/grayButton\\"/>
948
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
949
- </shape>
950
- </item>
951
- </selector>
952
-
953
-
954
- res/color/rn_persona_button.xml
955
- -------------------------------
956
- <?xml version=\\"1.0\\"?>
957
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
958
- <item android:state_enabled=\\"false\\" android:color=\\"@android:color/darker_gray\\"/>
959
- <item android:state_pressed=\\"true\\" android:color=\\"@android:color/white\\"/>
960
- <item android:color=\\"@android:color/white\\"/>
961
- </selector>"
962
- `);
963
- });
964
-
965
- it("progressColor", () => {
966
- const theme = {
967
- ...EMPTY_THEME,
968
- progressColor: "#FF0000",
969
- };
970
-
971
- expect(printTheme(theme)).toMatchInlineSnapshot(`
972
- "res/values/styles_persona.xml
973
- -----------------------------
974
- <?xml version=\\"1.0\\"?>
975
- <resources>
976
- <style name=\\"RN\\"/>
977
- <style name=\\"RN.Persona\\"/>
978
- <style name=\\"RN.Persona.Text\\"/>
979
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
980
- <item name=\\"personaTitleTextAppearance\\">@style/Persona.Text.Title</item>
981
- <item name=\\"personaBodyTextAppearance\\">@style/Persona.Text.Body</item>
982
- <item name=\\"personaCameraTitleTextAppearance\\">@style/Persona.Text.CameraTitle</item>
983
- <item name=\\"personaCameraBodyTextAppearance\\">@style/Persona.Text.CameraBody</item>
984
- <item name=\\"personaCameraHintTextAppearance\\">@style/Persona.Text.CameraHint</item>
985
- <item name=\\"colorControlActivated\\">#FF0000</item>
986
- </style>
987
- </resources>
988
-
989
-
990
- res/drawable/rn_persona_button.xml
991
- ----------------------------------
992
- <?xml version=\\"1.0\\"?>
993
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
994
-
995
-
996
- res/drawable/rn_persona_button_secondary.xml
997
- ----------------------------------
998
- <?xml version=\\"1.0\\"?>
999
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>
1000
-
1001
-
1002
- res/color/rn_persona_button.xml
1003
- -------------------------------
1004
- <?xml version=\\"1.0\\"?>
1005
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\"/>"
1006
- `);
1007
- });
1008
-
1009
- it("fullTheme", () => {
1010
- const theme = {
1011
- backgroundColor: "#FF0000",
1012
- primaryColor: "#FF0000",
1013
- darkPrimaryColor: "#FF0000",
1014
- accentColor: "#FF0000",
1015
- titleTextColor: "#FF0000",
1016
- titleTextFont: "Arial",
1017
- titleTextSize: "40",
1018
- bodyTextColor: "#FF0000",
1019
- bodyTextFont: "Arial",
1020
- bodyTextSize: "4",
1021
- footnoteTextColor: "#FF0000",
1022
- footnoteTextFont: "Arial",
1023
- footnoteTextSize: "2",
1024
- cameraInstructionsTextColor: "#FF0000",
1025
- cameraInstructionsTextFont: "Arial",
1026
- cameraInstructionsTextSize: "30",
1027
- cameraHintTextColor: "#FF0000",
1028
- cameraHintTextFont: "Arial",
1029
- cameraHintTextSize: "16",
1030
- cameraGuideHintTextColor: "#FF0000",
1031
- cameraGuideHintTextFont: "Arial",
1032
- cameraGuideHintTextSize: "28",
1033
- // formLabelTextColor: "#FF0000",
1034
- // formLabelTextFont: "Arial",
1035
- textFieldTextColor: "#FF0000",
1036
- textFieldTextFont: "Arial",
1037
- pickerTextColor: "#FF0000",
1038
- pickerTextFont: "Arial",
1039
- buttonBackgroundColor: "#FF0000",
1040
- buttonDisabledBackgroundColor: "#FF0000",
1041
- buttonTouchedBackgroundColor: "#FF0000",
1042
- buttonTextColor: "#FF0000",
1043
- buttonDisabledTextColor: "#FF0000",
1044
- buttonTextAlignment: "left",
1045
- buttonCornerRadius: "4",
1046
- buttonFont: "Arial",
1047
- buttonTextSize: "14",
1048
- progressColor: "#FF0000",
1049
- successAsset: "@drawable/success",
1050
- failAsset: "@drawable/fail",
1051
- loadingAnimationAsset: "@raw/loading",
1052
- loadingAnimationWidthPercent: "0.2",
1053
- selfieAnimationAsset: "@raw/selfie",
1054
- selfieAnimationWidthPercent: "0.6",
1055
- };
1056
-
1057
- expect(printTheme(theme)).toMatchInlineSnapshot(`
1058
- "res/values/styles_persona.xml
1059
- -----------------------------
1060
- <?xml version=\\"1.0\\"?>
1061
- <resources>
1062
- <color name=\\"customPersonaBackgroundColor\\">#FF0000</color>
1063
-
1064
- <style name=\\"RN\\"/>
1065
- <style name=\\"RN.Persona\\"/>
1066
- <style name=\\"RN.Persona.Text\\"/>
1067
- <style name=\\"Persona.Inquiry.Theme\\" parent=\\"Base.Persona.Inquiry.Theme.Light\\">
1068
- <item name=\\"colorPrimary\\">#FF0000</item>
1069
-
1070
- <item name=\\"colorAccent\\">#FF0000</item>
1071
-
1072
- <item name=\\"colorPrimaryDark\\">#FF0000</item>
1073
-
1074
- <item name=\\"android:colorBackground\\">@color/customPersonaBackgroundColor</item>
1075
-
1076
- <item name=\\"personaTitleTextAppearance\\">@style/RN.Persona.Text.Title</item>
1077
- <item name=\\"personaBodyTextAppearance\\">@style/RN.Persona.Text.Body</item>
1078
- <item name=\\"personaCameraTitleTextAppearance\\">@style/RN.Persona.Text.CameraTitle</item>
1079
- <item name=\\"personaCameraBodyTextAppearance\\">@style/RN.Persona.Text.CameraBody</item>
1080
- <item name=\\"personaCameraHintTextAppearance\\">@style/RN.Persona.Text.CameraHint</item>
1081
- <item name=\\"editTextStyle\\">@style/RN.Persona.EditText</item>
1082
- <item name=\\"spinnerStyle\\">@style/RN.Persona.Spinner</item>
1083
- <item name=\\"spinnerDropDownItemStyle\\">@style/RN.Persona.DropDownItem.Spinner</item>
1084
- <item name=\\"buttonStyle\\">@style/RN.Persona.Button</item>
1085
- <item name=\\"buttonStyleSecondary\\">@style/RN.Persona.Button.Secondary</item>
1086
- <item name=\\"colorControlActivated\\">#FF0000</item>
1087
- <item name=\\"personaInquiryCompleteImage\\">@drawable/success</item>
1088
-
1089
- <item name=\\"personaInquiryFailImage\\">@drawable/fail</item>
1090
-
1091
- <item name=\\"personaInquiryLoadingLottieRaw\\">@raw/loading</item>
1092
-
1093
- <item name=\\"personaInquiryLoadingLottieWidthPercent\\">0.2</item>
1094
-
1095
- <item name=\\"personaInquirySelfieLottieRaw\\">@raw/selfie</item>
1096
-
1097
- <item name=\\"personaInquirySelfieLottieWidthPercent\\">0.6</item>
1098
-
1099
- </style>
1100
- <style name=\\"RN.Persona.Text.Title\\" parent=\\"Persona.Text.Body\\">
1101
- <item name=\\"android:textColor\\">#FF0000</item>
1102
- <item name=\\"android:fontFamily\\">Arial</item>
1103
- <item name=\\"android:textSize\\">40sp</item>
1104
- <item name=\\"android:textStyle\\">bold</item>
1105
- </style>
1106
- <style name=\\"RN.Persona.Text.Body\\" parent=\\"Persona.Text.Body\\">
1107
- <item name=\\"android:textColor\\">#FF0000</item>
1108
- <item name=\\"android:fontFamily\\">Arial</item>
1109
- <item name=\\"android:textSize\\">4sp</item>
1110
- </style>
1111
- <style name=\\"TextAppearance.AppCompat.Small\\">
1112
- <item name=\\"android:textColor\\">#FF0000</item>
1113
- <item name=\\"android:fontFamily\\">Arial</item>
1114
- <item name=\\"android:textSize\\">2sp</item>
1115
- </style>
1116
- <style name=\\"RN.Persona.Text.CameraTitle\\" parent=\\"Persona.Text.CameraTitle\\">
1117
- <item name=\\"android:textColor\\">#FF0000</item>
1118
- <item name=\\"android:fontFamily\\">Arial</item>
1119
- <item name=\\"android:textSize\\">30sp</item>
1120
- </style>
1121
- <style name=\\"RN.Persona.Text.CameraBody\\" parent=\\"Persona.Text.CameraBody\\">
1122
- <item name=\\"android:textColor\\">#FF0000</item>
1123
- <item name=\\"android:fontFamily\\">Arial</item>
1124
- <item name=\\"android:textSize\\">16sp</item>
1125
- </style>
1126
- <style name=\\"RN.Persona.Text.CameraHint\\" parent=\\"Persona.Text.CameraHint\\">
1127
- <item name=\\"android:textColor\\">#FF0000</item>
1128
- <item name=\\"android:fontFamily\\">Arial</item>
1129
- <item name=\\"android:textSize\\">28sp</item>
1130
- </style>
1131
- <style name=\\"RN.Persona.EditText\\" parent=\\"Widget.AppCompat.EditText\\">
1132
- <item name=\\"android:textAppearance\\">@style/RN.Persona.EditText.TextAppearance</item>
1133
- <item name=\\"android:textColor\\">#FF0000</item>
1134
- </style>
1135
- <style name=\\"RN.Persona.EditText.TextAppearance\\" parent=\\"Base.TextAppearance.AppCompat.Medium\\">
1136
- <item name=\\"android:textSize\\">18sp</item>
1137
- <item name=\\"android:fontFamily\\">Arial</item>
1138
- </style>
1139
- <style name=\\"RN.Persona.Spinner\\" parent=\\"Widget.AppCompat.Spinner\\">
1140
- <item name=\\"android:textColor\\">#FF0000</item>
1141
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
1142
- </style>
1143
- <style name=\\"RN.Persona.DropDownItem.Spinner\\" parent=\\"Widget.AppCompat.DropDownItem.Spinner\\">
1144
- <item name=\\"android:textColor\\">#FF0000</item>
1145
- <item name=\\"android:textAppearance\\">@style/RN.Persona.Text.Spinner</item>
1146
- </style>
1147
- <style name=\\"RN.Persona.Text.Spinner\\">
1148
- <item name=\\"android:textColor\\">#FF0000</item>
1149
- <item name=\\"android:fontFamily\\">Arial</item>
1150
- </style>
1151
- <style name=\\"RN.Persona.Button\\" parent=\\"android:style/Widget.Button\\">
1152
- <item name=\\"android:minHeight\\">48dip</item>
1153
- <item name=\\"android:minWidth\\">88dip</item>
1154
- <item name=\\"android:textSize\\">14sp</item>
1155
- <item name=\\"android:background\\">@drawable/rn_persona_button</item>
1156
- <item name=\\"android:textColor\\">@color/rn_persona_button</item>
1157
- </style>
1158
- <style name=\\"RN.Persona.Button.Secondary\\" parent=\\"RN.Persona.Button\\">
1159
- <item name=\\"android:background\\">@drawable/rn_persona_button_secondary</item>
1160
- </style>
1161
- </resources>
1162
-
1163
-
1164
- res/drawable/rn_persona_button.xml
1165
- ----------------------------------
1166
- <?xml version=\\"1.0\\"?>
1167
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
1168
- <item android:state_enabled=\\"false\\">
1169
- <shape android:shape=\\"rectangle\\">
1170
- <corners android:radius=\\"4dp\\"/>
1171
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1172
- <solid android:color=\\"#FF0000\\"/>
1173
- </shape>
1174
- </item>
1175
- <item android:state_pressed=\\"true\\">
1176
- <shape android:shape=\\"rectangle\\">
1177
- <corners android:radius=\\"4dp\\"/>
1178
- <solid android:color=\\"#FF0000\\"/>
1179
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1180
- </shape>
1181
- </item>
1182
- <item>
1183
- <shape android:shape=\\"rectangle\\">
1184
- <corners android:radius=\\"4dp\\"/>
1185
- <solid android:color=\\"#FF0000\\"/>
1186
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1187
- </shape>
1188
- </item>
1189
- </selector>
1190
-
1191
-
1192
- res/drawable/rn_persona_button_secondary.xml
1193
- ----------------------------------
1194
- <?xml version=\\"1.0\\"?>
1195
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
1196
- <item android:state_enabled=\\"false\\">
1197
- <shape android:shape=\\"rectangle\\">
1198
- <corners android:radius=\\"4dp\\"/>
1199
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1200
- <solid android:color=\\"@android:color/darker_gray\\"/>
1201
- </shape>
1202
- </item>
1203
- <item android:state_pressed=\\"true\\">
1204
- <shape android:shape=\\"rectangle\\">
1205
- <corners android:radius=\\"4dp\\"/>
1206
- <solid android:color=\\"@color/grayButtonDark\\"/>
1207
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1208
- </shape>
1209
- </item>
1210
- <item>
1211
- <shape android:shape=\\"rectangle\\">
1212
- <corners android:radius=\\"4dp\\"/>
1213
- <solid android:color=\\"@color/grayButton\\"/>
1214
- <padding android:left=\\"@dimen/abc_button_padding_horizontal_material\\" android:top=\\"@dimen/abc_button_padding_vertical_material\\" android:right=\\"@dimen/abc_button_padding_horizontal_material\\" android:bottom=\\"@dimen/abc_button_padding_vertical_material\\"/>
1215
- </shape>
1216
- </item>
1217
- </selector>
1218
-
1219
-
1220
- res/color/rn_persona_button.xml
1221
- -------------------------------
1222
- <?xml version=\\"1.0\\"?>
1223
- <selector xmlns:android=\\"http://schemas.android.com/apk/res/android\\">
1224
- <item android:state_enabled=\\"false\\" android:color=\\"#FF0000\\"/>
1225
- <item android:state_pressed=\\"true\\" android:color=\\"#FF0000\\"/>
1226
- <item android:color=\\"#FF0000\\"/>
1227
- </selector>"
1228
- `);
1229
- });