@hedia/recommendation-screen 2.1.73 → 2.1.74-alpha.0

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 (408) hide show
  1. package/lib/commonjs/RecommendationScreen.js +768 -0
  2. package/lib/commonjs/RecommendationScreen.js.map +1 -0
  3. package/lib/commonjs/assets/IconsSVG/Close.js +20 -0
  4. package/lib/commonjs/assets/IconsSVG/Close.js.map +1 -0
  5. package/lib/commonjs/assets/IconsSVG/CloseOutlined.js +28 -0
  6. package/lib/commonjs/assets/IconsSVG/CloseOutlined.js.map +1 -0
  7. package/lib/commonjs/assets/IconsSVG/Edit.js +23 -0
  8. package/lib/commonjs/assets/IconsSVG/Edit.js.map +1 -0
  9. package/lib/commonjs/assets/IconsSVG/activity/Cycling.js +43 -0
  10. package/lib/commonjs/assets/IconsSVG/activity/Cycling.js.map +1 -0
  11. package/lib/commonjs/assets/IconsSVG/activity/Running.js +33 -0
  12. package/lib/commonjs/assets/IconsSVG/activity/Running.js.map +1 -0
  13. package/lib/commonjs/assets/IconsSVG/activity/Stretching.js +33 -0
  14. package/lib/commonjs/assets/IconsSVG/activity/Stretching.js.map +1 -0
  15. package/lib/commonjs/assets/IconsSVG/activity/Swimming.js +48 -0
  16. package/lib/commonjs/assets/IconsSVG/activity/Swimming.js.map +1 -0
  17. package/lib/commonjs/assets/IconsSVG/activity/Walking.js +38 -0
  18. package/lib/commonjs/assets/IconsSVG/activity/Walking.js.map +1 -0
  19. package/lib/commonjs/assets/IconsSVG/mood/Happy.js +34 -0
  20. package/lib/commonjs/assets/IconsSVG/mood/Happy.js.map +1 -0
  21. package/lib/commonjs/assets/IconsSVG/mood/Neutral.js +34 -0
  22. package/lib/commonjs/assets/IconsSVG/mood/Neutral.js.map +1 -0
  23. package/lib/commonjs/assets/IconsSVG/mood/Sad.js +34 -0
  24. package/lib/commonjs/assets/IconsSVG/mood/Sad.js.map +1 -0
  25. package/lib/commonjs/assets/IconsSVG/mood/SemiHappy.js +34 -0
  26. package/lib/commonjs/assets/IconsSVG/mood/SemiHappy.js.map +1 -0
  27. package/lib/commonjs/assets/IconsSVG/mood/SemiSad.js +34 -0
  28. package/lib/commonjs/assets/IconsSVG/mood/SemiSad.js.map +1 -0
  29. package/lib/commonjs/components/ExitModal.js +124 -0
  30. package/lib/commonjs/components/ExitModal.js.map +1 -0
  31. package/lib/commonjs/components/InfoBars.js +123 -0
  32. package/lib/commonjs/components/InfoBars.js.map +1 -0
  33. package/lib/commonjs/components/InvisibleNumberInput.js +150 -0
  34. package/lib/commonjs/components/InvisibleNumberInput.js.map +1 -0
  35. package/lib/commonjs/components/LineSeparator.js +27 -0
  36. package/lib/commonjs/components/LineSeparator.js.map +1 -0
  37. package/lib/commonjs/components/RecentInsulin.js +105 -0
  38. package/lib/commonjs/components/RecentInsulin.js.map +1 -0
  39. package/lib/commonjs/components/RecommendationModal.js +302 -0
  40. package/lib/commonjs/components/RecommendationModal.js.map +1 -0
  41. package/lib/commonjs/components/RecommendedCarbs.js +289 -0
  42. package/lib/commonjs/components/RecommendedCarbs.js.map +1 -0
  43. package/lib/commonjs/components/RecommendedInsulin.js +208 -0
  44. package/lib/commonjs/components/RecommendedInsulin.js.map +1 -0
  45. package/lib/commonjs/components/Remeasure.js +131 -0
  46. package/lib/commonjs/components/Remeasure.js.map +1 -0
  47. package/lib/commonjs/components/Text.js +25 -0
  48. package/lib/commonjs/components/Text.js.map +1 -0
  49. package/lib/commonjs/components/TimeoutModal.js +113 -0
  50. package/lib/commonjs/components/TimeoutModal.js.map +1 -0
  51. package/lib/commonjs/components/TransferToLogbook.js +83 -0
  52. package/lib/commonjs/components/TransferToLogbook.js.map +1 -0
  53. package/lib/commonjs/components/activity/Activity.js +112 -0
  54. package/lib/commonjs/components/activity/Activity.js.map +1 -0
  55. package/lib/commonjs/components/activity/ActivityIcon.js +86 -0
  56. package/lib/commonjs/components/activity/ActivityIcon.js.map +1 -0
  57. package/lib/commonjs/components/activity/ActivityIntensity.js +65 -0
  58. package/lib/commonjs/components/activity/ActivityIntensity.js.map +1 -0
  59. package/lib/commonjs/components/mood/Emotion.js +86 -0
  60. package/lib/commonjs/components/mood/Emotion.js.map +1 -0
  61. package/lib/commonjs/components/mood/MoodIcon.js +107 -0
  62. package/lib/commonjs/components/mood/MoodIcon.js.map +1 -0
  63. package/lib/commonjs/components/styles/fonts.js +154 -0
  64. package/lib/commonjs/components/styles/fonts.js.map +1 -0
  65. package/lib/commonjs/index.js +21 -0
  66. package/lib/commonjs/index.js.map +1 -0
  67. package/lib/commonjs/locales/da/translations.json +82 -0
  68. package/lib/commonjs/locales/de/translations.json +81 -0
  69. package/lib/commonjs/locales/en/translations.json +84 -0
  70. package/lib/commonjs/locales/es/translations.json +81 -0
  71. package/lib/commonjs/locales/fr/translations.json +81 -0
  72. package/lib/commonjs/locales/it/translations.json +81 -0
  73. package/lib/commonjs/locales/translate.js +63 -0
  74. package/lib/commonjs/locales/translate.js.map +1 -0
  75. package/lib/commonjs/types/enum.js +179 -0
  76. package/lib/commonjs/types/enum.js.map +1 -0
  77. package/lib/commonjs/types/types.js +6 -0
  78. package/lib/commonjs/types/types.js.map +1 -0
  79. package/lib/commonjs/utils/AttentionMessages.js +141 -0
  80. package/lib/commonjs/utils/AttentionMessages.js.map +1 -0
  81. package/lib/commonjs/utils/Constants.js +138 -0
  82. package/lib/commonjs/utils/Constants.js.map +1 -0
  83. package/lib/commonjs/utils/RecommendationError.js +116 -0
  84. package/lib/commonjs/utils/RecommendationError.js.map +1 -0
  85. package/lib/commonjs/utils/RecommendationUtils.js +212 -0
  86. package/lib/commonjs/utils/RecommendationUtils.js.map +1 -0
  87. package/lib/commonjs/utils/Translations.js +22 -0
  88. package/lib/commonjs/utils/Translations.js.map +1 -0
  89. package/lib/commonjs/utils/Utils.js +162 -0
  90. package/lib/commonjs/utils/Utils.js.map +1 -0
  91. package/lib/commonjs/utils/Validations.js +468 -0
  92. package/lib/commonjs/utils/Validations.js.map +1 -0
  93. package/lib/module/RecommendationScreen.js +758 -0
  94. package/lib/module/RecommendationScreen.js.map +1 -0
  95. package/lib/module/assets/IconsSVG/Close.js +11 -0
  96. package/lib/module/assets/IconsSVG/Close.js.map +1 -0
  97. package/lib/module/assets/IconsSVG/CloseOutlined.js +19 -0
  98. package/lib/module/assets/IconsSVG/CloseOutlined.js.map +1 -0
  99. package/lib/module/assets/IconsSVG/Edit.js +14 -0
  100. package/lib/module/assets/IconsSVG/Edit.js.map +1 -0
  101. package/lib/module/assets/IconsSVG/activity/Cycling.js +34 -0
  102. package/lib/module/assets/IconsSVG/activity/Cycling.js.map +1 -0
  103. package/lib/module/assets/IconsSVG/activity/Running.js +24 -0
  104. package/lib/module/assets/IconsSVG/activity/Running.js.map +1 -0
  105. package/lib/module/assets/IconsSVG/activity/Stretching.js +24 -0
  106. package/lib/module/assets/IconsSVG/activity/Stretching.js.map +1 -0
  107. package/lib/module/assets/IconsSVG/activity/Swimming.js +39 -0
  108. package/lib/module/assets/IconsSVG/activity/Swimming.js.map +1 -0
  109. package/lib/module/assets/IconsSVG/activity/Walking.js +29 -0
  110. package/lib/module/assets/IconsSVG/activity/Walking.js.map +1 -0
  111. package/lib/module/assets/IconsSVG/mood/Happy.js +25 -0
  112. package/lib/module/assets/IconsSVG/mood/Happy.js.map +1 -0
  113. package/lib/module/assets/IconsSVG/mood/Neutral.js +25 -0
  114. package/lib/module/assets/IconsSVG/mood/Neutral.js.map +1 -0
  115. package/lib/module/assets/IconsSVG/mood/Sad.js +25 -0
  116. package/lib/module/assets/IconsSVG/mood/Sad.js.map +1 -0
  117. package/lib/module/assets/IconsSVG/mood/SemiHappy.js +25 -0
  118. package/lib/module/assets/IconsSVG/mood/SemiHappy.js.map +1 -0
  119. package/lib/module/assets/IconsSVG/mood/SemiSad.js +25 -0
  120. package/lib/module/assets/IconsSVG/mood/SemiSad.js.map +1 -0
  121. package/lib/module/components/ExitModal.js +114 -0
  122. package/lib/module/components/ExitModal.js.map +1 -0
  123. package/lib/module/components/InfoBars.js +114 -0
  124. package/lib/module/components/InfoBars.js.map +1 -0
  125. package/lib/module/components/InvisibleNumberInput.js +142 -0
  126. package/lib/module/components/InvisibleNumberInput.js.map +1 -0
  127. package/lib/module/components/LineSeparator.js +19 -0
  128. package/lib/module/components/LineSeparator.js.map +1 -0
  129. package/lib/module/components/RecentInsulin.js +97 -0
  130. package/lib/module/components/RecentInsulin.js.map +1 -0
  131. package/lib/module/components/RecommendationModal.js +291 -0
  132. package/lib/module/components/RecommendationModal.js.map +1 -0
  133. package/lib/module/components/RecommendedCarbs.js +281 -0
  134. package/lib/module/components/RecommendedCarbs.js.map +1 -0
  135. package/lib/module/components/RecommendedInsulin.js +200 -0
  136. package/lib/module/components/RecommendedInsulin.js.map +1 -0
  137. package/lib/module/components/Remeasure.js +123 -0
  138. package/lib/module/components/Remeasure.js.map +1 -0
  139. package/lib/module/components/Text.js +16 -0
  140. package/lib/module/components/Text.js.map +1 -0
  141. package/lib/module/components/TimeoutModal.js +103 -0
  142. package/lib/module/components/TimeoutModal.js.map +1 -0
  143. package/lib/module/components/TransferToLogbook.js +75 -0
  144. package/lib/module/components/TransferToLogbook.js.map +1 -0
  145. package/lib/module/components/activity/Activity.js +104 -0
  146. package/lib/module/components/activity/Activity.js.map +1 -0
  147. package/lib/module/components/activity/ActivityIcon.js +78 -0
  148. package/lib/module/components/activity/ActivityIcon.js.map +1 -0
  149. package/lib/module/components/activity/ActivityIntensity.js +57 -0
  150. package/lib/module/components/activity/ActivityIntensity.js.map +1 -0
  151. package/lib/module/components/mood/Emotion.js +78 -0
  152. package/lib/module/components/mood/Emotion.js.map +1 -0
  153. package/lib/module/components/mood/MoodIcon.js +97 -0
  154. package/lib/module/components/mood/MoodIcon.js.map +1 -0
  155. package/lib/module/components/styles/fonts.js +145 -0
  156. package/lib/module/components/styles/fonts.js.map +1 -0
  157. package/lib/module/index.js +5 -0
  158. package/lib/module/index.js.map +1 -0
  159. package/lib/module/locales/da/translations.json +82 -0
  160. package/lib/module/locales/de/translations.json +81 -0
  161. package/lib/module/locales/en/translations.json +84 -0
  162. package/lib/module/locales/es/translations.json +81 -0
  163. package/lib/module/locales/fr/translations.json +81 -0
  164. package/lib/module/locales/it/translations.json +81 -0
  165. package/lib/module/locales/translate.js +55 -0
  166. package/lib/module/locales/translate.js.map +1 -0
  167. package/lib/module/types/enum.js +170 -0
  168. package/lib/module/types/enum.js.map +1 -0
  169. package/lib/module/types/types.js.map +1 -0
  170. package/lib/module/utils/AttentionMessages.js +131 -0
  171. package/lib/module/utils/AttentionMessages.js.map +1 -0
  172. package/{dist/src → lib/module}/utils/Constants.js +78 -35
  173. package/lib/module/utils/Constants.js.map +1 -0
  174. package/{dist/src → lib/module}/utils/RecommendationError.js +28 -6
  175. package/lib/module/utils/RecommendationError.js.map +1 -0
  176. package/{dist/src → lib/module}/utils/RecommendationUtils.js +89 -90
  177. package/lib/module/utils/RecommendationUtils.js.map +1 -0
  178. package/{dist/src → lib/module}/utils/Translations.js +5 -3
  179. package/lib/module/utils/Translations.js.map +1 -0
  180. package/lib/module/utils/Utils.js +155 -0
  181. package/lib/module/utils/Utils.js.map +1 -0
  182. package/{dist/src → lib/module}/utils/Validations.js +155 -128
  183. package/lib/module/utils/Validations.js.map +1 -0
  184. package/{dist/src → lib/typescript}/RecommendationScreen.d.ts +2 -1
  185. package/lib/typescript/RecommendationScreen.d.ts.map +1 -0
  186. package/{dist/src → lib/typescript}/assets/IconsSVG/Close.d.ts +1 -0
  187. package/lib/typescript/assets/IconsSVG/Close.d.ts.map +1 -0
  188. package/{dist/src → lib/typescript}/assets/IconsSVG/CloseOutlined.d.ts +1 -0
  189. package/lib/typescript/assets/IconsSVG/CloseOutlined.d.ts.map +1 -0
  190. package/{dist/src → lib/typescript}/assets/IconsSVG/Edit.d.ts +1 -0
  191. package/lib/typescript/assets/IconsSVG/Edit.d.ts.map +1 -0
  192. package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Cycling.d.ts +1 -0
  193. package/lib/typescript/assets/IconsSVG/activity/Cycling.d.ts.map +1 -0
  194. package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Running.d.ts +1 -0
  195. package/lib/typescript/assets/IconsSVG/activity/Running.d.ts.map +1 -0
  196. package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Stretching.d.ts +1 -0
  197. package/lib/typescript/assets/IconsSVG/activity/Stretching.d.ts.map +1 -0
  198. package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Swimming.d.ts +1 -0
  199. package/lib/typescript/assets/IconsSVG/activity/Swimming.d.ts.map +1 -0
  200. package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Walking.d.ts +1 -0
  201. package/lib/typescript/assets/IconsSVG/activity/Walking.d.ts.map +1 -0
  202. package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Happy.d.ts +1 -0
  203. package/lib/typescript/assets/IconsSVG/mood/Happy.d.ts.map +1 -0
  204. package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Neutral.d.ts +1 -0
  205. package/lib/typescript/assets/IconsSVG/mood/Neutral.d.ts.map +1 -0
  206. package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Sad.d.ts +1 -0
  207. package/lib/typescript/assets/IconsSVG/mood/Sad.d.ts.map +1 -0
  208. package/{dist/src → lib/typescript}/assets/IconsSVG/mood/SemiHappy.d.ts +1 -0
  209. package/lib/typescript/assets/IconsSVG/mood/SemiHappy.d.ts.map +1 -0
  210. package/{dist/src → lib/typescript}/assets/IconsSVG/mood/SemiSad.d.ts +1 -0
  211. package/lib/typescript/assets/IconsSVG/mood/SemiSad.d.ts.map +1 -0
  212. package/{dist/src → lib/typescript}/components/ExitModal.d.ts +1 -0
  213. package/lib/typescript/components/ExitModal.d.ts.map +1 -0
  214. package/{dist/src → lib/typescript}/components/InfoBars.d.ts +1 -0
  215. package/lib/typescript/components/InfoBars.d.ts.map +1 -0
  216. package/{dist/src → lib/typescript}/components/InvisibleNumberInput.d.ts +1 -0
  217. package/lib/typescript/components/InvisibleNumberInput.d.ts.map +1 -0
  218. package/{dist/src → lib/typescript}/components/LineSeparator.d.ts +1 -0
  219. package/lib/typescript/components/LineSeparator.d.ts.map +1 -0
  220. package/{dist/src → lib/typescript}/components/RecentInsulin.d.ts +1 -0
  221. package/lib/typescript/components/RecentInsulin.d.ts.map +1 -0
  222. package/{dist/src → lib/typescript}/components/RecommendationModal.d.ts +1 -0
  223. package/lib/typescript/components/RecommendationModal.d.ts.map +1 -0
  224. package/{dist/src → lib/typescript}/components/RecommendedCarbs.d.ts +1 -0
  225. package/lib/typescript/components/RecommendedCarbs.d.ts.map +1 -0
  226. package/{dist/src → lib/typescript}/components/RecommendedInsulin.d.ts +1 -0
  227. package/lib/typescript/components/RecommendedInsulin.d.ts.map +1 -0
  228. package/{dist/src → lib/typescript}/components/Remeasure.d.ts +1 -0
  229. package/lib/typescript/components/Remeasure.d.ts.map +1 -0
  230. package/{dist/src → lib/typescript}/components/Text.d.ts +1 -0
  231. package/lib/typescript/components/Text.d.ts.map +1 -0
  232. package/{dist/src → lib/typescript}/components/TimeoutModal.d.ts +1 -0
  233. package/lib/typescript/components/TimeoutModal.d.ts.map +1 -0
  234. package/{dist/src → lib/typescript}/components/TransferToLogbook.d.ts +1 -0
  235. package/lib/typescript/components/TransferToLogbook.d.ts.map +1 -0
  236. package/{dist/src → lib/typescript}/components/activity/Activity.d.ts +1 -0
  237. package/lib/typescript/components/activity/Activity.d.ts.map +1 -0
  238. package/{dist/src → lib/typescript}/components/activity/ActivityIcon.d.ts +1 -0
  239. package/lib/typescript/components/activity/ActivityIcon.d.ts.map +1 -0
  240. package/{dist/src → lib/typescript}/components/activity/ActivityIntensity.d.ts +1 -0
  241. package/lib/typescript/components/activity/ActivityIntensity.d.ts.map +1 -0
  242. package/{dist/src → lib/typescript}/components/mood/Emotion.d.ts +1 -0
  243. package/lib/typescript/components/mood/Emotion.d.ts.map +1 -0
  244. package/{dist/src → lib/typescript}/components/mood/MoodIcon.d.ts +1 -0
  245. package/lib/typescript/components/mood/MoodIcon.d.ts.map +1 -0
  246. package/{dist/src → lib/typescript}/components/styles/fonts.d.ts +1 -0
  247. package/lib/typescript/components/styles/fonts.d.ts.map +1 -0
  248. package/lib/typescript/index.d.ts +5 -0
  249. package/lib/typescript/index.d.ts.map +1 -0
  250. package/{dist/src → lib/typescript}/locales/translate.d.ts +1 -0
  251. package/lib/typescript/locales/translate.d.ts.map +1 -0
  252. package/{dist/src → lib/typescript}/types/enum.d.ts +1 -0
  253. package/lib/typescript/types/enum.d.ts.map +1 -0
  254. package/{dist/src → lib/typescript}/types/types.d.ts +1 -0
  255. package/lib/typescript/types/types.d.ts.map +1 -0
  256. package/{dist/src → lib/typescript}/utils/AttentionMessages.d.ts +1 -0
  257. package/lib/typescript/utils/AttentionMessages.d.ts.map +1 -0
  258. package/{dist/src → lib/typescript}/utils/Constants.d.ts +1 -0
  259. package/lib/typescript/utils/Constants.d.ts.map +1 -0
  260. package/{dist/src → lib/typescript}/utils/RecommendationError.d.ts +1 -0
  261. package/lib/typescript/utils/RecommendationError.d.ts.map +1 -0
  262. package/{dist/src → lib/typescript}/utils/RecommendationUtils.d.ts +1 -0
  263. package/lib/typescript/utils/RecommendationUtils.d.ts.map +1 -0
  264. package/{dist/src → lib/typescript}/utils/Translations.d.ts +1 -0
  265. package/lib/typescript/utils/Translations.d.ts.map +1 -0
  266. package/{dist/src → lib/typescript}/utils/Utils.d.ts +1 -0
  267. package/lib/typescript/utils/Utils.d.ts.map +1 -0
  268. package/{dist/src → lib/typescript}/utils/Validations.d.ts +1 -0
  269. package/lib/typescript/utils/Validations.d.ts.map +1 -0
  270. package/package.json +27 -7
  271. package/src/RecommendationScreen.tsx +854 -0
  272. package/src/assets/IconsSVG/Close.tsx +13 -0
  273. package/src/assets/IconsSVG/CloseOutlined.tsx +23 -0
  274. package/src/assets/IconsSVG/Edit.tsx +16 -0
  275. package/src/assets/IconsSVG/activity/Cycling.tsx +41 -0
  276. package/src/assets/IconsSVG/activity/Running.tsx +29 -0
  277. package/src/assets/IconsSVG/activity/Stretching.tsx +29 -0
  278. package/src/assets/IconsSVG/activity/Swimming.tsx +47 -0
  279. package/src/assets/IconsSVG/activity/Walking.tsx +35 -0
  280. package/src/assets/IconsSVG/mood/Happy.tsx +30 -0
  281. package/src/assets/IconsSVG/mood/Neutral.tsx +30 -0
  282. package/src/assets/IconsSVG/mood/Sad.tsx +30 -0
  283. package/src/assets/IconsSVG/mood/SemiHappy.tsx +30 -0
  284. package/src/assets/IconsSVG/mood/SemiSad.tsx +30 -0
  285. package/src/components/ExitModal.tsx +134 -0
  286. package/src/components/InfoBars.tsx +122 -0
  287. package/src/components/InvisibleNumberInput.tsx +170 -0
  288. package/src/components/LineSeparator.tsx +29 -0
  289. package/src/components/RecentInsulin.tsx +109 -0
  290. package/src/components/RecommendationModal.tsx +319 -0
  291. package/src/components/RecommendedCarbs.tsx +303 -0
  292. package/src/components/RecommendedInsulin.tsx +219 -0
  293. package/src/components/Remeasure.tsx +135 -0
  294. package/src/components/Text.tsx +27 -0
  295. package/src/components/TimeoutModal.tsx +121 -0
  296. package/src/components/TransferToLogbook.tsx +92 -0
  297. package/src/components/activity/Activity.tsx +107 -0
  298. package/src/components/activity/ActivityIcon.tsx +77 -0
  299. package/src/components/activity/ActivityIntensity.tsx +67 -0
  300. package/src/components/mood/Emotion.tsx +97 -0
  301. package/src/components/mood/MoodIcon.tsx +91 -0
  302. package/src/components/styles/fonts.ts +145 -0
  303. package/src/index.ts +5 -0
  304. package/src/locales/da/translations.json +82 -0
  305. package/src/locales/de/translations.json +81 -0
  306. package/src/locales/en/translations.json +84 -0
  307. package/src/locales/es/translations.json +81 -0
  308. package/src/locales/fr/translations.json +81 -0
  309. package/src/locales/it/translations.json +81 -0
  310. package/src/locales/translate.ts +62 -0
  311. package/src/types/enum.ts +164 -0
  312. package/src/types/types.ts +19 -0
  313. package/src/utils/AttentionMessages.ts +167 -0
  314. package/src/utils/Constants.ts +77 -0
  315. package/src/utils/RecommendationError.ts +182 -0
  316. package/src/utils/RecommendationUtils.ts +232 -0
  317. package/src/utils/Translations.ts +17 -0
  318. package/src/utils/Utils.ts +156 -0
  319. package/src/utils/Validations.ts +490 -0
  320. package/dist/index.d.ts +0 -5
  321. package/dist/index.js +0 -6
  322. package/dist/index.js.map +0 -1
  323. package/dist/src/RecommendationScreen.js +0 -537
  324. package/dist/src/RecommendationScreen.js.map +0 -1
  325. package/dist/src/assets/IconsSVG/Close.js +0 -7
  326. package/dist/src/assets/IconsSVG/Close.js.map +0 -1
  327. package/dist/src/assets/IconsSVG/CloseOutlined.js +0 -9
  328. package/dist/src/assets/IconsSVG/CloseOutlined.js.map +0 -1
  329. package/dist/src/assets/IconsSVG/Edit.js +0 -8
  330. package/dist/src/assets/IconsSVG/Edit.js.map +0 -1
  331. package/dist/src/assets/IconsSVG/activity/Cycling.js +0 -12
  332. package/dist/src/assets/IconsSVG/activity/Cycling.js.map +0 -1
  333. package/dist/src/assets/IconsSVG/activity/Running.js +0 -10
  334. package/dist/src/assets/IconsSVG/activity/Running.js.map +0 -1
  335. package/dist/src/assets/IconsSVG/activity/Stretching.js +0 -10
  336. package/dist/src/assets/IconsSVG/activity/Stretching.js.map +0 -1
  337. package/dist/src/assets/IconsSVG/activity/Swimming.js +0 -13
  338. package/dist/src/assets/IconsSVG/activity/Swimming.js.map +0 -1
  339. package/dist/src/assets/IconsSVG/activity/Walking.js +0 -11
  340. package/dist/src/assets/IconsSVG/activity/Walking.js.map +0 -1
  341. package/dist/src/assets/IconsSVG/mood/Happy.js +0 -11
  342. package/dist/src/assets/IconsSVG/mood/Happy.js.map +0 -1
  343. package/dist/src/assets/IconsSVG/mood/Neutral.js +0 -11
  344. package/dist/src/assets/IconsSVG/mood/Neutral.js.map +0 -1
  345. package/dist/src/assets/IconsSVG/mood/Sad.js +0 -11
  346. package/dist/src/assets/IconsSVG/mood/Sad.js.map +0 -1
  347. package/dist/src/assets/IconsSVG/mood/SemiHappy.js +0 -11
  348. package/dist/src/assets/IconsSVG/mood/SemiHappy.js.map +0 -1
  349. package/dist/src/assets/IconsSVG/mood/SemiSad.js +0 -11
  350. package/dist/src/assets/IconsSVG/mood/SemiSad.js.map +0 -1
  351. package/dist/src/components/ExitModal.js +0 -91
  352. package/dist/src/components/ExitModal.js.map +0 -1
  353. package/dist/src/components/InfoBars.js +0 -98
  354. package/dist/src/components/InfoBars.js.map +0 -1
  355. package/dist/src/components/InvisibleNumberInput.js +0 -123
  356. package/dist/src/components/InvisibleNumberInput.js.map +0 -1
  357. package/dist/src/components/LineSeparator.js +0 -17
  358. package/dist/src/components/LineSeparator.js.map +0 -1
  359. package/dist/src/components/RecentInsulin.js +0 -90
  360. package/dist/src/components/RecentInsulin.js.map +0 -1
  361. package/dist/src/components/RecommendationModal.js +0 -241
  362. package/dist/src/components/RecommendationModal.js.map +0 -1
  363. package/dist/src/components/RecommendedCarbs.js +0 -234
  364. package/dist/src/components/RecommendedCarbs.js.map +0 -1
  365. package/dist/src/components/RecommendedInsulin.js +0 -166
  366. package/dist/src/components/RecommendedInsulin.js.map +0 -1
  367. package/dist/src/components/Remeasure.js +0 -103
  368. package/dist/src/components/Remeasure.js.map +0 -1
  369. package/dist/src/components/Text.js +0 -14
  370. package/dist/src/components/Text.js.map +0 -1
  371. package/dist/src/components/TimeoutModal.js +0 -84
  372. package/dist/src/components/TimeoutModal.js.map +0 -1
  373. package/dist/src/components/TransferToLogbook.js +0 -68
  374. package/dist/src/components/TransferToLogbook.js.map +0 -1
  375. package/dist/src/components/activity/Activity.js +0 -93
  376. package/dist/src/components/activity/Activity.js.map +0 -1
  377. package/dist/src/components/activity/ActivityIcon.js +0 -66
  378. package/dist/src/components/activity/ActivityIcon.js.map +0 -1
  379. package/dist/src/components/activity/ActivityIntensity.js +0 -55
  380. package/dist/src/components/activity/ActivityIntensity.js.map +0 -1
  381. package/dist/src/components/mood/Emotion.js +0 -69
  382. package/dist/src/components/mood/Emotion.js.map +0 -1
  383. package/dist/src/components/mood/MoodIcon.js +0 -68
  384. package/dist/src/components/mood/MoodIcon.js.map +0 -1
  385. package/dist/src/components/styles/fonts.js +0 -145
  386. package/dist/src/components/styles/fonts.js.map +0 -1
  387. package/dist/src/locales/da/translations.json +0 -82
  388. package/dist/src/locales/de/translations.json +0 -81
  389. package/dist/src/locales/en/translations.json +0 -84
  390. package/dist/src/locales/es/translations.json +0 -81
  391. package/dist/src/locales/fr/translations.json +0 -81
  392. package/dist/src/locales/it/translations.json +0 -81
  393. package/dist/src/locales/translate.js +0 -53
  394. package/dist/src/locales/translate.js.map +0 -1
  395. package/dist/src/types/enum.js +0 -154
  396. package/dist/src/types/enum.js.map +0 -1
  397. package/dist/src/types/types.js.map +0 -1
  398. package/dist/src/utils/AttentionMessages.js +0 -123
  399. package/dist/src/utils/AttentionMessages.js.map +0 -1
  400. package/dist/src/utils/Constants.js.map +0 -1
  401. package/dist/src/utils/RecommendationError.js.map +0 -1
  402. package/dist/src/utils/RecommendationUtils.js.map +0 -1
  403. package/dist/src/utils/Translations.js.map +0 -1
  404. package/dist/src/utils/Utils.js +0 -142
  405. package/dist/src/utils/Utils.js.map +0 -1
  406. package/dist/src/utils/Validations.js.map +0 -1
  407. package/dist/tsconfig.tsbuildinfo +0 -1
  408. /package/{dist/src → lib/module}/types/types.js +0 -0
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _translate = require("../locales/translate");
10
+ var _enum = require("../types/enum");
11
+ var _Constants = require("../utils/Constants");
12
+ var _fonts = require("./styles/fonts");
13
+ var _Text = _interopRequireDefault(require("./Text"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ /** Display a card that prompts the user to recall if they injected insulin recently. */
16
+ class RecentInsulin extends _react.default.Component {
17
+ /**
18
+ *
19
+ * @returns JSX element that displays a card with the question “Have you taken insulin within the last 4 hours?
20
+ * Along with two buttons labeled “Yes” and “No” respectively.
21
+ * If the user taps the “Yes” button, the onRecentInsulinYes prop callback function should be called.
22
+ * If the user taps the “No” button, the onRecentInsulinNo prop callback function should be called.
23
+ */
24
+ render = () => {
25
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
26
+ style: recentInsulinStyles.container
27
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
28
+ style: recentInsulinStyles.textContainer
29
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
30
+ style: recentInsulinStyles.recommended
31
+ }, (0, _translate.t)(`Recommended amount of insulin`)), /*#__PURE__*/_react.default.createElement(_Text.default, {
32
+ style: recentInsulinStyles.takenInsulin
33
+ }, (0, _translate.t)(`Have you taken insulin within the last 4 hours?`))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
34
+ style: recentInsulinStyles.buttonContainer
35
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
36
+ testID: _enum.Testing.Id.RecentInsulinTestIds.Yes,
37
+ onPress: this.props.onRecentInsulinYes,
38
+ style: recentInsulinStyles.yesButton
39
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
40
+ style: recentInsulinStyles.yesNoText
41
+ }, (0, _translate.t)(`Yes`))), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
42
+ testID: _enum.Testing.Id.RecentInsulinTestIds.No,
43
+ onPress: this.props.onRecentInsulinNo,
44
+ style: recentInsulinStyles.noButton
45
+ }, /*#__PURE__*/_react.default.createElement(_Text.default, {
46
+ style: recentInsulinStyles.yesNoText
47
+ }, (0, _translate.t)(`No`)))));
48
+ };
49
+ }
50
+ exports.default = RecentInsulin;
51
+ const recentInsulinStyles = _reactNative.StyleSheet.create({
52
+ container: {
53
+ minHeight: 220,
54
+ backgroundColor: _Constants.colors.deepPurple,
55
+ borderRadius: 5,
56
+ marginBottom: 32,
57
+ paddingHorizontal: 16,
58
+ paddingTop: 16,
59
+ paddingBottom: 50
60
+ },
61
+ textContainer: {
62
+ justifyContent: `center`,
63
+ alignItems: `center`,
64
+ marginBottom: 32
65
+ },
66
+ recommended: {
67
+ ..._fonts.FONTS.Poppins.medium_Base,
68
+ color: _Constants.colors.white,
69
+ textAlign: `center`,
70
+ marginBottom: 2
71
+ },
72
+ takenInsulin: {
73
+ ..._fonts.FONTS.Poppins.regular_SM,
74
+ color: _Constants.colors.white,
75
+ textAlign: `center`
76
+ },
77
+ buttonContainer: {
78
+ flexDirection: `row`,
79
+ justifyContent: `center`
80
+ },
81
+ yesButton: {
82
+ flex: 1,
83
+ borderRadius: 50,
84
+ minWidth: 127,
85
+ marginLeft: 30,
86
+ marginRight: 12,
87
+ backgroundColor: _Constants.colors.teal
88
+ },
89
+ noButton: {
90
+ flex: 1,
91
+ borderRadius: 50,
92
+ minWidth: 127,
93
+ marginRight: 30,
94
+ marginLeft: 12,
95
+ backgroundColor: _Constants.colors.teal
96
+ },
97
+ yesNoText: {
98
+ ..._fonts.FONTS.Poppins.bold_Base,
99
+ textAlign: `center`,
100
+ paddingHorizontal: 16,
101
+ paddingVertical: 12,
102
+ color: _Constants.colors.black
103
+ }
104
+ });
105
+ //# sourceMappingURL=RecentInsulin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_translate","_enum","_Constants","_fonts","_Text","obj","__esModule","default","RecentInsulin","React","Component","render","createElement","View","style","recentInsulinStyles","container","textContainer","recommended","t","takenInsulin","buttonContainer","TouchableOpacity","testID","Testing","Id","RecentInsulinTestIds","Yes","onPress","props","onRecentInsulinYes","yesButton","yesNoText","No","onRecentInsulinNo","noButton","exports","StyleSheet","create","minHeight","backgroundColor","colors","deepPurple","borderRadius","marginBottom","paddingHorizontal","paddingTop","paddingBottom","justifyContent","alignItems","FONTS","Poppins","medium_Base","color","white","textAlign","regular_SM","flexDirection","flex","minWidth","marginLeft","marginRight","teal","bold_Base","paddingVertical","black"],"sourceRoot":"../../../src","sources":["components/RecentInsulin.tsx"],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.stylesModal = exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeModal = _interopRequireDefault(require("react-native-modal"));
10
+ var _translate = require("../locales/translate");
11
+ var _enum = require("../types/enum");
12
+ var _Constants = require("../utils/Constants");
13
+ var _fonts = require("./styles/fonts");
14
+ var _Text = _interopRequireDefault(require("./Text"));
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ const {
19
+ RecommendationModalTestIds
20
+ } = _enum.Testing.Id;
21
+ /**
22
+ * Popup modal for displaying information messages or warnings to the user if necessary.
23
+ * The modal has two “pages” with different content that it is able to display.
24
+ * The first page is for informing the user if their insulin recommendation was limited by the maximum insulin safety limit.
25
+ * This page will only be displayed if the recommendation was actually limited.
26
+ * The second page is for displaying a general attention message that may contain instructions for the user,
27
+ * and for letting the user know if they are being recommended eating additional carbohydrates.
28
+ */
29
+ class RecommendationModal extends React.Component {
30
+ /**
31
+ * Steps:
32
+ * 1. Call the super() method with the props.
33
+ * 2. Set the firstPageVisible state variable true if the limitationMessage prop is truthy.
34
+ * @param props The class props
35
+ */
36
+ constructor(props) {
37
+ super(props);
38
+ this.state = {
39
+ firstPageVisible: !!this.props.limitationMessage
40
+ };
41
+ }
42
+
43
+ /*
44
+ * Steps:
45
+ * 1. Set the firstPageVisible state variable true if the limitationMessage prop was updated.
46
+ */
47
+ componentDidUpdate(prevProps) {
48
+ if (prevProps.limitationMessage !== this.props.limitationMessage) {
49
+ this.setState({
50
+ firstPageVisible: !!this.props.limitationMessage
51
+ });
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Handle what happens when the “next” button is pressed.
57
+ *
58
+ * Steps:
59
+ * 1. Unpack attentionMessage and suggestedCarbohydrates from the props object.
60
+ * 2. Define isPageVisible to be true if either attentionMessage or suggestedCarbohydrates is truthy.
61
+ * 3. If isPageVisible is true then set the firstPageVisible state variable to false. Otherwise call the onClickOkButton prop callback function.
62
+ */
63
+ onPressNextButton = () => {
64
+ const {
65
+ attentionMessage,
66
+ suggestedCarbohydrates
67
+ } = this.props;
68
+ const isSecondPageVisible = !!attentionMessage || !!suggestedCarbohydrates;
69
+ return isSecondPageVisible ? this.setState({
70
+ firstPageVisible: false
71
+ }) : this.props.onClickOkButton();
72
+ };
73
+
74
+ /**
75
+ * @returns Return an JSX element for composing two buttons: one for accepting a suggestion and one for rejecting it.
76
+ * If the accept button is pressed the onAcceptCarbohydrates prop callback function shall be called.
77
+ * If the accept button is pressed the onDeclineCarbohydrates prop callback function shall be called.
78
+ */
79
+ recommendationButtons = () => {
80
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
81
+ style: stylesModal.recommendationButtonsContainer
82
+ }, /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
83
+ testID: RecommendationModalTestIds.AcceptCarbs,
84
+ style: [stylesModal.button, {
85
+ marginRight: 12
86
+ }],
87
+ onPress: this.props.onAcceptCarbohydrates
88
+ }, /*#__PURE__*/React.createElement(_Text.default, {
89
+ style: stylesModal.carbsButtonText
90
+ }, (0, _translate.t)(`OK`))), /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
91
+ testID: RecommendationModalTestIds.DeclineCarbs,
92
+ style: [stylesModal.button, {
93
+ marginLeft: 12
94
+ }],
95
+ onPress: this.props.onDeclineCarbohydrates
96
+ }, /*#__PURE__*/React.createElement(_Text.default, {
97
+ style: stylesModal.carbsButtonText
98
+ }, (0, _translate.t)(`NO`))));
99
+ };
100
+
101
+ /**
102
+ * Compose a JSX element for displaying a recommendation of additional carbohydrates (the value of the suggestedCarbohydrates prop rounded to the nearest integer)
103
+ * to the user in a way that explains what to do with the suggestion.
104
+ * @param suggestedCarbohydrates the recommended additional carbohydrates
105
+ */
106
+ recommendCarbohydrates = suggestedCarbohydrates => {
107
+ const displayCarbs = Math.round(suggestedCarbohydrates);
108
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNative.View, {
109
+ style: stylesModal.innerView
110
+ }, /*#__PURE__*/React.createElement(_Text.default, {
111
+ style: stylesModal.recommendEatingText
112
+ }, (0, _translate.t)(`We recommend eating an additional:`)), /*#__PURE__*/React.createElement(_Text.default, {
113
+ style: stylesModal.textCenter
114
+ }, /*#__PURE__*/React.createElement(_Text.default, {
115
+ style: stylesModal.suggestedCarbs,
116
+ testID: RecommendationModalTestIds.SuggestedCarbs
117
+ }, `${displayCarbs} `), /*#__PURE__*/React.createElement(_Text.default, {
118
+ style: stylesModal.carbohydrateText
119
+ }, (0, _translate.t)(`grams of carbohydrates`))), /*#__PURE__*/React.createElement(_Text.default, {
120
+ style: stylesModal.recommendEatingText
121
+ }, (0, _translate.t)(`Instead of taking insulin`))), /*#__PURE__*/React.createElement(_Text.default, {
122
+ style: stylesModal.addToCalculation
123
+ }, (0, _translate.t)(`Would you like to add this to your current calculation?`)), this.recommendationButtons());
124
+ };
125
+
126
+ /**
127
+ * @returns JSX element for displaying the “second” page of the recommendation modal. The second page displays the string from the attentionMessage prop.
128
+ */
129
+ secondPage = () => {
130
+ const {
131
+ attentionMessage,
132
+ suggestedCarbohydrates
133
+ } = this.props;
134
+ const willRecommendCarbs = suggestedCarbohydrates !== null && suggestedCarbohydrates > 0;
135
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNative.View, {
136
+ style: stylesModal.container
137
+ }, /*#__PURE__*/React.createElement(_Text.default, {
138
+ style: stylesModal.textTittleMessage
139
+ }, (0, _translate.t)(`Attention`)), attentionMessage && /*#__PURE__*/React.createElement(_Text.default, {
140
+ style: stylesModal.textMessage
141
+ }, attentionMessage), willRecommendCarbs && this.recommendCarbohydrates(suggestedCarbohydrates)), !willRecommendCarbs && /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
142
+ testID: RecommendationModalTestIds.OkButton,
143
+ style: stylesModal.okButton,
144
+ onPress: this.props.onClickOkButton
145
+ }, /*#__PURE__*/React.createElement(_Text.default, {
146
+ style: stylesModal.buttonText
147
+ }, (0, _translate.t)(`OK`))));
148
+ };
149
+
150
+ /**
151
+ * @returns JSX element for displaying the “first” page of the recommendation modal.
152
+ * The first page consists of a limitation message rendered using a LimitationMessage component.
153
+ */
154
+ firstPage = () => {
155
+ const {
156
+ limitationMessage
157
+ } = this.props;
158
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Text.default, {
159
+ style: stylesModal.textTittleMessage
160
+ }, (0, _translate.t)(`Attention`)), /*#__PURE__*/React.createElement(_Text.default, {
161
+ style: stylesModal.textMessage
162
+ }, limitationMessage), /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
163
+ testID: _enum.Testing.Id.RecommendationModalTestIds.LimitationOkButton,
164
+ style: stylesModal.okButton,
165
+ onPress: this.props.onlyShowLimitationMessage ? this.props.onClickOkButton : this.onPressNextButton
166
+ }, /*#__PURE__*/React.createElement(_Text.default, {
167
+ style: stylesModal.buttonText
168
+ }, (0, _translate.t)(`OK`))));
169
+ };
170
+
171
+ /**
172
+ * @returns JSX element for rendering a modal that is visible if the isVisible prop is true.
173
+ * If the firstPageVisible state variable is true then use firstPage() to render the first page.
174
+ * Otherwise use secondPage() to render the second page.
175
+ */
176
+ render() {
177
+ const {
178
+ isVisible
179
+ } = this.props;
180
+ const {
181
+ firstPageVisible
182
+ } = this.state;
183
+ return /*#__PURE__*/React.createElement(_reactNativeModal.default, {
184
+ isVisible: isVisible,
185
+ style: stylesModal.modalStyle,
186
+ backdropColor: _Constants.colors.darkBlue,
187
+ backdropOpacity: 1,
188
+ animationIn: `fadeIn`,
189
+ animationOut: `fadeOut`
190
+ }, /*#__PURE__*/React.createElement(_reactNative.StatusBar, {
191
+ backgroundColor: _Constants.colors.darkBlue
192
+ }), /*#__PURE__*/React.createElement(_reactNative.SafeAreaView, {
193
+ style: stylesModal.safe
194
+ }, /*#__PURE__*/React.createElement(_reactNative.ScrollView, {
195
+ contentContainerStyle: stylesModal.scrollViewContainer
196
+ }, firstPageVisible ? this.firstPage() : this.secondPage())));
197
+ }
198
+ }
199
+
200
+ /** @internal */
201
+ exports.default = RecommendationModal;
202
+ const stylesModal = _reactNative.StyleSheet.create({
203
+ safe: {
204
+ backgroundColor: _Constants.colors.darkBlue
205
+ },
206
+ modalStyle: {
207
+ margin: 0
208
+ },
209
+ scrollViewContainer: {
210
+ flexGrow: 1,
211
+ justifyContent: `center`
212
+ },
213
+ container: {
214
+ justifyContent: `center`
215
+ },
216
+ textTittleMessage: {
217
+ ..._fonts.FONTS.Poppins.bold_3XL,
218
+ color: _Constants.colors.white,
219
+ textAlign: `center`
220
+ },
221
+ textMessage: {
222
+ ..._fonts.FONTS.Poppins.regular_Base,
223
+ color: _Constants.colors.white,
224
+ textAlign: `center`,
225
+ marginHorizontal: 30,
226
+ marginTop: 8
227
+ },
228
+ buttonText: {
229
+ ..._fonts.FONTS.Poppins.bold_Base,
230
+ color: _Constants.colors.white,
231
+ textAlign: `center`,
232
+ paddingHorizontal: 16,
233
+ paddingVertical: 12
234
+ },
235
+ innerView: {
236
+ alignContent: `center`,
237
+ borderRadius: 8,
238
+ backgroundColor: _Constants.colors.purple,
239
+ paddingVertical: 24,
240
+ marginHorizontal: 30,
241
+ marginTop: 24,
242
+ marginBottom: 36
243
+ },
244
+ suggestedCarbs: {
245
+ ..._fonts.FONTS.Poppins.bold_XL,
246
+ color: _Constants.colors.white
247
+ },
248
+ textCenter: {
249
+ ..._fonts.FONTS.Poppins.regular_Base,
250
+ textAlign: `center`,
251
+ paddingHorizontal: 26.5
252
+ },
253
+ recommendEatingText: {
254
+ ..._fonts.FONTS.Poppins.regular_Base,
255
+ color: _Constants.colors.white,
256
+ textAlign: `center`,
257
+ paddingHorizontal: 15,
258
+ marginBottom: 8
259
+ },
260
+ carbohydrateText: {
261
+ ..._fonts.FONTS.Poppins.bold_Base,
262
+ color: _Constants.colors.white
263
+ },
264
+ addToCalculation: {
265
+ ..._fonts.FONTS.Poppins.regular_Base,
266
+ color: _Constants.colors.white,
267
+ textAlign: `center`,
268
+ marginBottom: 16,
269
+ marginHorizontal: 50
270
+ },
271
+ recommendationButtonsContainer: {
272
+ justifyContent: `center`,
273
+ flexDirection: `row`,
274
+ paddingHorizontal: 47
275
+ },
276
+ carbsButtonText: {
277
+ ..._fonts.FONTS.Poppins.bold_Base,
278
+ color: _Constants.colors.white,
279
+ textAlign: `center`,
280
+ paddingHorizontal: 16,
281
+ paddingVertical: 12
282
+ },
283
+ button: {
284
+ borderRadius: 50,
285
+ borderWidth: 1,
286
+ borderColor: _Constants.colors.white,
287
+ alignSelf: `center`,
288
+ minWidth: 127
289
+ },
290
+ okButton: {
291
+ backgroundColor: _Constants.colors.darkBlue,
292
+ justifyContent: `flex-start`,
293
+ marginTop: 24,
294
+ borderRadius: 50,
295
+ borderWidth: 1,
296
+ borderColor: _Constants.colors.white,
297
+ alignSelf: `center`,
298
+ minWidth: 127
299
+ }
300
+ });
301
+ exports.stylesModal = stylesModal;
302
+ //# sourceMappingURL=RecommendationModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeModal","_interopRequireDefault","_translate","_enum","_Constants","_fonts","_Text","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RecommendationModalTestIds","Testing","Id","RecommendationModal","Component","constructor","props","state","firstPageVisible","limitationMessage","componentDidUpdate","prevProps","setState","onPressNextButton","attentionMessage","suggestedCarbohydrates","isSecondPageVisible","onClickOkButton","recommendationButtons","createElement","View","style","stylesModal","recommendationButtonsContainer","TouchableOpacity","testID","AcceptCarbs","button","marginRight","onPress","onAcceptCarbohydrates","carbsButtonText","t","DeclineCarbs","marginLeft","onDeclineCarbohydrates","recommendCarbohydrates","displayCarbs","Math","round","Fragment","innerView","recommendEatingText","textCenter","suggestedCarbs","SuggestedCarbs","carbohydrateText","addToCalculation","secondPage","willRecommendCarbs","container","textTittleMessage","textMessage","OkButton","okButton","buttonText","firstPage","LimitationOkButton","onlyShowLimitationMessage","render","isVisible","modalStyle","backdropColor","colors","darkBlue","backdropOpacity","animationIn","animationOut","StatusBar","backgroundColor","SafeAreaView","safe","ScrollView","contentContainerStyle","scrollViewContainer","exports","StyleSheet","create","margin","flexGrow","justifyContent","FONTS","Poppins","bold_3XL","color","white","textAlign","regular_Base","marginHorizontal","marginTop","bold_Base","paddingHorizontal","paddingVertical","alignContent","borderRadius","purple","marginBottom","bold_XL","flexDirection","borderWidth","borderColor","alignSelf","minWidth"],"sourceRoot":"../../../src","sources":["components/RecommendationModal.tsx"],"mappings":"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"}