@hedia/recommendation-screen 2.1.73 → 2.1.74-alpha.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.
- package/lib/commonjs/RecommendationScreen.js +768 -0
- package/lib/commonjs/RecommendationScreen.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/Close.js +20 -0
- package/lib/commonjs/assets/IconsSVG/Close.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/CloseOutlined.js +28 -0
- package/lib/commonjs/assets/IconsSVG/CloseOutlined.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/Edit.js +23 -0
- package/lib/commonjs/assets/IconsSVG/Edit.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/activity/Cycling.js +43 -0
- package/lib/commonjs/assets/IconsSVG/activity/Cycling.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/activity/Running.js +33 -0
- package/lib/commonjs/assets/IconsSVG/activity/Running.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/activity/Stretching.js +33 -0
- package/lib/commonjs/assets/IconsSVG/activity/Stretching.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/activity/Swimming.js +48 -0
- package/lib/commonjs/assets/IconsSVG/activity/Swimming.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/activity/Walking.js +38 -0
- package/lib/commonjs/assets/IconsSVG/activity/Walking.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/mood/Happy.js +34 -0
- package/lib/commonjs/assets/IconsSVG/mood/Happy.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/mood/Neutral.js +34 -0
- package/lib/commonjs/assets/IconsSVG/mood/Neutral.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/mood/Sad.js +34 -0
- package/lib/commonjs/assets/IconsSVG/mood/Sad.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/mood/SemiHappy.js +34 -0
- package/lib/commonjs/assets/IconsSVG/mood/SemiHappy.js.map +1 -0
- package/lib/commonjs/assets/IconsSVG/mood/SemiSad.js +34 -0
- package/lib/commonjs/assets/IconsSVG/mood/SemiSad.js.map +1 -0
- package/lib/commonjs/components/ExitModal.js +124 -0
- package/lib/commonjs/components/ExitModal.js.map +1 -0
- package/lib/commonjs/components/InfoBars.js +123 -0
- package/lib/commonjs/components/InfoBars.js.map +1 -0
- package/lib/commonjs/components/InvisibleNumberInput.js +150 -0
- package/lib/commonjs/components/InvisibleNumberInput.js.map +1 -0
- package/lib/commonjs/components/LineSeparator.js +27 -0
- package/lib/commonjs/components/LineSeparator.js.map +1 -0
- package/lib/commonjs/components/RecentInsulin.js +105 -0
- package/lib/commonjs/components/RecentInsulin.js.map +1 -0
- package/lib/commonjs/components/RecommendationModal.js +302 -0
- package/lib/commonjs/components/RecommendationModal.js.map +1 -0
- package/lib/commonjs/components/RecommendedCarbs.js +289 -0
- package/lib/commonjs/components/RecommendedCarbs.js.map +1 -0
- package/lib/commonjs/components/RecommendedInsulin.js +208 -0
- package/lib/commonjs/components/RecommendedInsulin.js.map +1 -0
- package/lib/commonjs/components/Remeasure.js +131 -0
- package/lib/commonjs/components/Remeasure.js.map +1 -0
- package/lib/commonjs/components/Text.js +25 -0
- package/lib/commonjs/components/Text.js.map +1 -0
- package/lib/commonjs/components/TimeoutModal.js +113 -0
- package/lib/commonjs/components/TimeoutModal.js.map +1 -0
- package/lib/commonjs/components/TransferToLogbook.js +83 -0
- package/lib/commonjs/components/TransferToLogbook.js.map +1 -0
- package/lib/commonjs/components/activity/Activity.js +112 -0
- package/lib/commonjs/components/activity/Activity.js.map +1 -0
- package/lib/commonjs/components/activity/ActivityIcon.js +86 -0
- package/lib/commonjs/components/activity/ActivityIcon.js.map +1 -0
- package/lib/commonjs/components/activity/ActivityIntensity.js +65 -0
- package/lib/commonjs/components/activity/ActivityIntensity.js.map +1 -0
- package/lib/commonjs/components/mood/Emotion.js +86 -0
- package/lib/commonjs/components/mood/Emotion.js.map +1 -0
- package/lib/commonjs/components/mood/MoodIcon.js +107 -0
- package/lib/commonjs/components/mood/MoodIcon.js.map +1 -0
- package/lib/commonjs/components/styles/fonts.js +154 -0
- package/lib/commonjs/components/styles/fonts.js.map +1 -0
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/locales/da/translations.json +82 -0
- package/lib/commonjs/locales/de/translations.json +81 -0
- package/lib/commonjs/locales/en/translations.json +84 -0
- package/lib/commonjs/locales/es/translations.json +81 -0
- package/lib/commonjs/locales/fr/translations.json +81 -0
- package/lib/commonjs/locales/it/translations.json +81 -0
- package/lib/commonjs/locales/translate.js +63 -0
- package/lib/commonjs/locales/translate.js.map +1 -0
- package/lib/commonjs/types/enum.js +179 -0
- package/lib/commonjs/types/enum.js.map +1 -0
- package/lib/commonjs/types/types.js +6 -0
- package/lib/commonjs/types/types.js.map +1 -0
- package/lib/commonjs/utils/AttentionMessages.js +141 -0
- package/lib/commonjs/utils/AttentionMessages.js.map +1 -0
- package/lib/commonjs/utils/Constants.js +138 -0
- package/lib/commonjs/utils/Constants.js.map +1 -0
- package/lib/commonjs/utils/RecommendationError.js +116 -0
- package/lib/commonjs/utils/RecommendationError.js.map +1 -0
- package/lib/commonjs/utils/RecommendationUtils.js +212 -0
- package/lib/commonjs/utils/RecommendationUtils.js.map +1 -0
- package/lib/commonjs/utils/Translations.js +22 -0
- package/lib/commonjs/utils/Translations.js.map +1 -0
- package/lib/commonjs/utils/Utils.js +162 -0
- package/lib/commonjs/utils/Utils.js.map +1 -0
- package/lib/commonjs/utils/Validations.js +468 -0
- package/lib/commonjs/utils/Validations.js.map +1 -0
- package/lib/module/RecommendationScreen.js +758 -0
- package/lib/module/RecommendationScreen.js.map +1 -0
- package/lib/module/assets/IconsSVG/Close.js +11 -0
- package/lib/module/assets/IconsSVG/Close.js.map +1 -0
- package/lib/module/assets/IconsSVG/CloseOutlined.js +19 -0
- package/lib/module/assets/IconsSVG/CloseOutlined.js.map +1 -0
- package/lib/module/assets/IconsSVG/Edit.js +14 -0
- package/lib/module/assets/IconsSVG/Edit.js.map +1 -0
- package/lib/module/assets/IconsSVG/activity/Cycling.js +34 -0
- package/lib/module/assets/IconsSVG/activity/Cycling.js.map +1 -0
- package/lib/module/assets/IconsSVG/activity/Running.js +24 -0
- package/lib/module/assets/IconsSVG/activity/Running.js.map +1 -0
- package/lib/module/assets/IconsSVG/activity/Stretching.js +24 -0
- package/lib/module/assets/IconsSVG/activity/Stretching.js.map +1 -0
- package/lib/module/assets/IconsSVG/activity/Swimming.js +39 -0
- package/lib/module/assets/IconsSVG/activity/Swimming.js.map +1 -0
- package/lib/module/assets/IconsSVG/activity/Walking.js +29 -0
- package/lib/module/assets/IconsSVG/activity/Walking.js.map +1 -0
- package/lib/module/assets/IconsSVG/mood/Happy.js +25 -0
- package/lib/module/assets/IconsSVG/mood/Happy.js.map +1 -0
- package/lib/module/assets/IconsSVG/mood/Neutral.js +25 -0
- package/lib/module/assets/IconsSVG/mood/Neutral.js.map +1 -0
- package/lib/module/assets/IconsSVG/mood/Sad.js +25 -0
- package/lib/module/assets/IconsSVG/mood/Sad.js.map +1 -0
- package/lib/module/assets/IconsSVG/mood/SemiHappy.js +25 -0
- package/lib/module/assets/IconsSVG/mood/SemiHappy.js.map +1 -0
- package/lib/module/assets/IconsSVG/mood/SemiSad.js +25 -0
- package/lib/module/assets/IconsSVG/mood/SemiSad.js.map +1 -0
- package/lib/module/components/ExitModal.js +114 -0
- package/lib/module/components/ExitModal.js.map +1 -0
- package/lib/module/components/InfoBars.js +114 -0
- package/lib/module/components/InfoBars.js.map +1 -0
- package/lib/module/components/InvisibleNumberInput.js +142 -0
- package/lib/module/components/InvisibleNumberInput.js.map +1 -0
- package/lib/module/components/LineSeparator.js +19 -0
- package/lib/module/components/LineSeparator.js.map +1 -0
- package/lib/module/components/RecentInsulin.js +97 -0
- package/lib/module/components/RecentInsulin.js.map +1 -0
- package/lib/module/components/RecommendationModal.js +291 -0
- package/lib/module/components/RecommendationModal.js.map +1 -0
- package/lib/module/components/RecommendedCarbs.js +281 -0
- package/lib/module/components/RecommendedCarbs.js.map +1 -0
- package/lib/module/components/RecommendedInsulin.js +200 -0
- package/lib/module/components/RecommendedInsulin.js.map +1 -0
- package/lib/module/components/Remeasure.js +123 -0
- package/lib/module/components/Remeasure.js.map +1 -0
- package/lib/module/components/Text.js +16 -0
- package/lib/module/components/Text.js.map +1 -0
- package/lib/module/components/TimeoutModal.js +103 -0
- package/lib/module/components/TimeoutModal.js.map +1 -0
- package/lib/module/components/TransferToLogbook.js +75 -0
- package/lib/module/components/TransferToLogbook.js.map +1 -0
- package/lib/module/components/activity/Activity.js +104 -0
- package/lib/module/components/activity/Activity.js.map +1 -0
- package/lib/module/components/activity/ActivityIcon.js +78 -0
- package/lib/module/components/activity/ActivityIcon.js.map +1 -0
- package/lib/module/components/activity/ActivityIntensity.js +57 -0
- package/lib/module/components/activity/ActivityIntensity.js.map +1 -0
- package/lib/module/components/mood/Emotion.js +78 -0
- package/lib/module/components/mood/Emotion.js.map +1 -0
- package/lib/module/components/mood/MoodIcon.js +97 -0
- package/lib/module/components/mood/MoodIcon.js.map +1 -0
- package/lib/module/components/styles/fonts.js +145 -0
- package/lib/module/components/styles/fonts.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/locales/da/translations.json +82 -0
- package/lib/module/locales/de/translations.json +81 -0
- package/lib/module/locales/en/translations.json +84 -0
- package/lib/module/locales/es/translations.json +81 -0
- package/lib/module/locales/fr/translations.json +81 -0
- package/lib/module/locales/it/translations.json +81 -0
- package/lib/module/locales/translate.js +55 -0
- package/lib/module/locales/translate.js.map +1 -0
- package/lib/module/types/enum.js +170 -0
- package/lib/module/types/enum.js.map +1 -0
- package/lib/module/types/types.js.map +1 -0
- package/lib/module/utils/AttentionMessages.js +131 -0
- package/lib/module/utils/AttentionMessages.js.map +1 -0
- package/{dist/src → lib/module}/utils/Constants.js +78 -35
- package/lib/module/utils/Constants.js.map +1 -0
- package/{dist/src → lib/module}/utils/RecommendationError.js +28 -6
- package/lib/module/utils/RecommendationError.js.map +1 -0
- package/{dist/src → lib/module}/utils/RecommendationUtils.js +89 -90
- package/lib/module/utils/RecommendationUtils.js.map +1 -0
- package/{dist/src → lib/module}/utils/Translations.js +5 -3
- package/lib/module/utils/Translations.js.map +1 -0
- package/lib/module/utils/Utils.js +155 -0
- package/lib/module/utils/Utils.js.map +1 -0
- package/{dist/src → lib/module}/utils/Validations.js +155 -128
- package/lib/module/utils/Validations.js.map +1 -0
- package/{dist/src → lib/typescript}/RecommendationScreen.d.ts +2 -1
- package/lib/typescript/RecommendationScreen.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/Close.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/Close.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/CloseOutlined.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/CloseOutlined.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/Edit.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/Edit.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Cycling.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/activity/Cycling.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Running.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/activity/Running.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Stretching.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/activity/Stretching.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Swimming.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/activity/Swimming.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/activity/Walking.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/activity/Walking.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Happy.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/mood/Happy.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Neutral.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/mood/Neutral.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/mood/Sad.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/mood/Sad.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/mood/SemiHappy.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/mood/SemiHappy.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/assets/IconsSVG/mood/SemiSad.d.ts +1 -0
- package/lib/typescript/assets/IconsSVG/mood/SemiSad.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/ExitModal.d.ts +1 -0
- package/lib/typescript/components/ExitModal.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/InfoBars.d.ts +1 -0
- package/lib/typescript/components/InfoBars.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/InvisibleNumberInput.d.ts +1 -0
- package/lib/typescript/components/InvisibleNumberInput.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/LineSeparator.d.ts +1 -0
- package/lib/typescript/components/LineSeparator.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/RecentInsulin.d.ts +1 -0
- package/lib/typescript/components/RecentInsulin.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/RecommendationModal.d.ts +1 -0
- package/lib/typescript/components/RecommendationModal.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/RecommendedCarbs.d.ts +1 -0
- package/lib/typescript/components/RecommendedCarbs.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/RecommendedInsulin.d.ts +1 -0
- package/lib/typescript/components/RecommendedInsulin.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/Remeasure.d.ts +1 -0
- package/lib/typescript/components/Remeasure.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/Text.d.ts +1 -0
- package/lib/typescript/components/Text.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/TimeoutModal.d.ts +1 -0
- package/lib/typescript/components/TimeoutModal.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/TransferToLogbook.d.ts +1 -0
- package/lib/typescript/components/TransferToLogbook.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/activity/Activity.d.ts +1 -0
- package/lib/typescript/components/activity/Activity.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/activity/ActivityIcon.d.ts +1 -0
- package/lib/typescript/components/activity/ActivityIcon.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/activity/ActivityIntensity.d.ts +1 -0
- package/lib/typescript/components/activity/ActivityIntensity.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/mood/Emotion.d.ts +1 -0
- package/lib/typescript/components/mood/Emotion.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/mood/MoodIcon.d.ts +1 -0
- package/lib/typescript/components/mood/MoodIcon.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/components/styles/fonts.d.ts +1 -0
- package/lib/typescript/components/styles/fonts.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/locales/translate.d.ts +1 -0
- package/lib/typescript/locales/translate.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/types/enum.d.ts +1 -0
- package/lib/typescript/types/enum.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/types/types.d.ts +1 -0
- package/lib/typescript/types/types.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/AttentionMessages.d.ts +1 -0
- package/lib/typescript/utils/AttentionMessages.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/Constants.d.ts +1 -0
- package/lib/typescript/utils/Constants.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/RecommendationError.d.ts +1 -0
- package/lib/typescript/utils/RecommendationError.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/RecommendationUtils.d.ts +1 -0
- package/lib/typescript/utils/RecommendationUtils.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/Translations.d.ts +1 -0
- package/lib/typescript/utils/Translations.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/Utils.d.ts +1 -0
- package/lib/typescript/utils/Utils.d.ts.map +1 -0
- package/{dist/src → lib/typescript}/utils/Validations.d.ts +1 -0
- package/lib/typescript/utils/Validations.d.ts.map +1 -0
- package/package.json +27 -7
- package/src/RecommendationScreen.tsx +854 -0
- package/src/assets/IconsSVG/Close.tsx +13 -0
- package/src/assets/IconsSVG/CloseOutlined.tsx +23 -0
- package/src/assets/IconsSVG/Edit.tsx +16 -0
- package/src/assets/IconsSVG/activity/Cycling.tsx +41 -0
- package/src/assets/IconsSVG/activity/Running.tsx +29 -0
- package/src/assets/IconsSVG/activity/Stretching.tsx +29 -0
- package/src/assets/IconsSVG/activity/Swimming.tsx +47 -0
- package/src/assets/IconsSVG/activity/Walking.tsx +35 -0
- package/src/assets/IconsSVG/mood/Happy.tsx +30 -0
- package/src/assets/IconsSVG/mood/Neutral.tsx +30 -0
- package/src/assets/IconsSVG/mood/Sad.tsx +30 -0
- package/src/assets/IconsSVG/mood/SemiHappy.tsx +30 -0
- package/src/assets/IconsSVG/mood/SemiSad.tsx +30 -0
- package/src/components/ExitModal.tsx +134 -0
- package/src/components/InfoBars.tsx +122 -0
- package/src/components/InvisibleNumberInput.tsx +170 -0
- package/src/components/LineSeparator.tsx +29 -0
- package/src/components/RecentInsulin.tsx +109 -0
- package/src/components/RecommendationModal.tsx +319 -0
- package/src/components/RecommendedCarbs.tsx +303 -0
- package/src/components/RecommendedInsulin.tsx +219 -0
- package/src/components/Remeasure.tsx +135 -0
- package/src/components/Text.tsx +27 -0
- package/src/components/TimeoutModal.tsx +121 -0
- package/src/components/TransferToLogbook.tsx +92 -0
- package/src/components/activity/Activity.tsx +107 -0
- package/src/components/activity/ActivityIcon.tsx +77 -0
- package/src/components/activity/ActivityIntensity.tsx +67 -0
- package/src/components/mood/Emotion.tsx +97 -0
- package/src/components/mood/MoodIcon.tsx +91 -0
- package/src/components/styles/fonts.ts +145 -0
- package/src/index.ts +5 -0
- package/src/locales/da/translations.json +82 -0
- package/src/locales/de/translations.json +81 -0
- package/src/locales/en/translations.json +84 -0
- package/src/locales/es/translations.json +81 -0
- package/src/locales/fr/translations.json +81 -0
- package/src/locales/it/translations.json +81 -0
- package/src/locales/translate.ts +62 -0
- package/src/types/enum.ts +164 -0
- package/src/types/types.ts +19 -0
- package/src/utils/AttentionMessages.ts +167 -0
- package/src/utils/Constants.ts +77 -0
- package/src/utils/RecommendationError.ts +182 -0
- package/src/utils/RecommendationUtils.ts +232 -0
- package/src/utils/Translations.ts +17 -0
- package/src/utils/Utils.ts +156 -0
- package/src/utils/Validations.ts +490 -0
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/src/RecommendationScreen.js +0 -537
- package/dist/src/RecommendationScreen.js.map +0 -1
- package/dist/src/assets/IconsSVG/Close.js +0 -7
- package/dist/src/assets/IconsSVG/Close.js.map +0 -1
- package/dist/src/assets/IconsSVG/CloseOutlined.js +0 -9
- package/dist/src/assets/IconsSVG/CloseOutlined.js.map +0 -1
- package/dist/src/assets/IconsSVG/Edit.js +0 -8
- package/dist/src/assets/IconsSVG/Edit.js.map +0 -1
- package/dist/src/assets/IconsSVG/activity/Cycling.js +0 -12
- package/dist/src/assets/IconsSVG/activity/Cycling.js.map +0 -1
- package/dist/src/assets/IconsSVG/activity/Running.js +0 -10
- package/dist/src/assets/IconsSVG/activity/Running.js.map +0 -1
- package/dist/src/assets/IconsSVG/activity/Stretching.js +0 -10
- package/dist/src/assets/IconsSVG/activity/Stretching.js.map +0 -1
- package/dist/src/assets/IconsSVG/activity/Swimming.js +0 -13
- package/dist/src/assets/IconsSVG/activity/Swimming.js.map +0 -1
- package/dist/src/assets/IconsSVG/activity/Walking.js +0 -11
- package/dist/src/assets/IconsSVG/activity/Walking.js.map +0 -1
- package/dist/src/assets/IconsSVG/mood/Happy.js +0 -11
- package/dist/src/assets/IconsSVG/mood/Happy.js.map +0 -1
- package/dist/src/assets/IconsSVG/mood/Neutral.js +0 -11
- package/dist/src/assets/IconsSVG/mood/Neutral.js.map +0 -1
- package/dist/src/assets/IconsSVG/mood/Sad.js +0 -11
- package/dist/src/assets/IconsSVG/mood/Sad.js.map +0 -1
- package/dist/src/assets/IconsSVG/mood/SemiHappy.js +0 -11
- package/dist/src/assets/IconsSVG/mood/SemiHappy.js.map +0 -1
- package/dist/src/assets/IconsSVG/mood/SemiSad.js +0 -11
- package/dist/src/assets/IconsSVG/mood/SemiSad.js.map +0 -1
- package/dist/src/components/ExitModal.js +0 -91
- package/dist/src/components/ExitModal.js.map +0 -1
- package/dist/src/components/InfoBars.js +0 -98
- package/dist/src/components/InfoBars.js.map +0 -1
- package/dist/src/components/InvisibleNumberInput.js +0 -123
- package/dist/src/components/InvisibleNumberInput.js.map +0 -1
- package/dist/src/components/LineSeparator.js +0 -17
- package/dist/src/components/LineSeparator.js.map +0 -1
- package/dist/src/components/RecentInsulin.js +0 -90
- package/dist/src/components/RecentInsulin.js.map +0 -1
- package/dist/src/components/RecommendationModal.js +0 -241
- package/dist/src/components/RecommendationModal.js.map +0 -1
- package/dist/src/components/RecommendedCarbs.js +0 -234
- package/dist/src/components/RecommendedCarbs.js.map +0 -1
- package/dist/src/components/RecommendedInsulin.js +0 -166
- package/dist/src/components/RecommendedInsulin.js.map +0 -1
- package/dist/src/components/Remeasure.js +0 -103
- package/dist/src/components/Remeasure.js.map +0 -1
- package/dist/src/components/Text.js +0 -14
- package/dist/src/components/Text.js.map +0 -1
- package/dist/src/components/TimeoutModal.js +0 -84
- package/dist/src/components/TimeoutModal.js.map +0 -1
- package/dist/src/components/TransferToLogbook.js +0 -68
- package/dist/src/components/TransferToLogbook.js.map +0 -1
- package/dist/src/components/activity/Activity.js +0 -93
- package/dist/src/components/activity/Activity.js.map +0 -1
- package/dist/src/components/activity/ActivityIcon.js +0 -66
- package/dist/src/components/activity/ActivityIcon.js.map +0 -1
- package/dist/src/components/activity/ActivityIntensity.js +0 -55
- package/dist/src/components/activity/ActivityIntensity.js.map +0 -1
- package/dist/src/components/mood/Emotion.js +0 -69
- package/dist/src/components/mood/Emotion.js.map +0 -1
- package/dist/src/components/mood/MoodIcon.js +0 -68
- package/dist/src/components/mood/MoodIcon.js.map +0 -1
- package/dist/src/components/styles/fonts.js +0 -145
- package/dist/src/components/styles/fonts.js.map +0 -1
- package/dist/src/locales/da/translations.json +0 -82
- package/dist/src/locales/de/translations.json +0 -81
- package/dist/src/locales/en/translations.json +0 -84
- package/dist/src/locales/es/translations.json +0 -81
- package/dist/src/locales/fr/translations.json +0 -81
- package/dist/src/locales/it/translations.json +0 -81
- package/dist/src/locales/translate.js +0 -53
- package/dist/src/locales/translate.js.map +0 -1
- package/dist/src/types/enum.js +0 -154
- package/dist/src/types/enum.js.map +0 -1
- package/dist/src/types/types.js.map +0 -1
- package/dist/src/utils/AttentionMessages.js +0 -123
- package/dist/src/utils/AttentionMessages.js.map +0 -1
- package/dist/src/utils/Constants.js.map +0 -1
- package/dist/src/utils/RecommendationError.js.map +0 -1
- package/dist/src/utils/RecommendationUtils.js.map +0 -1
- package/dist/src/utils/Translations.js.map +0 -1
- package/dist/src/utils/Utils.js +0 -142
- package/dist/src/utils/Utils.js.map +0 -1
- package/dist/src/utils/Validations.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/{dist/src → lib/module}/types/types.js +0 -0
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Alert, StyleSheet, TouchableOpacity, View } from "react-native";
|
|
3
|
-
import { BolusCalculator } from "@hedia/types";
|
|
4
|
-
import Edit from "../assets/IconsSVG/Edit";
|
|
5
|
-
import { t } from "../locales/translate";
|
|
6
|
-
import { Testing } from "../types/enum";
|
|
7
|
-
import { Messages } from "../utils/AttentionMessages";
|
|
8
|
-
import { colors } from "../utils/Constants";
|
|
9
|
-
import { Utils } from "../utils/Utils";
|
|
10
|
-
import InvisibleNumberInput from "./InvisibleNumberInput";
|
|
11
|
-
import { FONTS } from "./styles/fonts";
|
|
12
|
-
import Text from "./Text";
|
|
13
|
-
const { RecommendedInsulinTestIds } = Testing.Id;
|
|
14
|
-
const SAFETY_INSULIN_LIMIT = BolusCalculator.Constants.SAFETY_INSULIN_LIMIT;
|
|
15
|
-
/** Input field for displaying the entered amount of insulin (which defaults to HDA’s recommendation) and allowing the user to edit it. */
|
|
16
|
-
export default class RecommendedInsulin extends React.Component {
|
|
17
|
-
/** Initialise the state partialInput variable with undefined */
|
|
18
|
-
state = {
|
|
19
|
-
partialInput: undefined,
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Function taking no arguments and returning no value.
|
|
23
|
-
* Will be bound to the function that activates input for InvisibleNumberInput when that component has been mounted.
|
|
24
|
-
*/
|
|
25
|
-
callbackInput;
|
|
26
|
-
/**
|
|
27
|
-
* Called immediately after updating occurs. Not called for the initial render.
|
|
28
|
-
* The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.
|
|
29
|
-
*
|
|
30
|
-
* Steps:
|
|
31
|
-
* 1. If the value of the enteredInsulin prop was changed, set the partialInput state variable to the new value.
|
|
32
|
-
* @param prevProps The previous component props
|
|
33
|
-
*/
|
|
34
|
-
componentDidUpdate(prevProps) {
|
|
35
|
-
const { enteredInsulin } = this.props;
|
|
36
|
-
if (prevProps.enteredInsulin !== enteredInsulin) {
|
|
37
|
-
this.setState({ partialInput: enteredInsulin?.toString() });
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Handle what should happen when the InsulinRecommendation component has been pressed.
|
|
42
|
-
* Uses the InvisibleNumberInput child component to enable the user to input the amount of insulin that hey are taking.
|
|
43
|
-
*
|
|
44
|
-
* Steps:
|
|
45
|
-
* 1. Call the callbackInput() member method.
|
|
46
|
-
*/
|
|
47
|
-
handleOnPress = () => {
|
|
48
|
-
this.callbackInput?.();
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Passed to the InvisibleNumberInput child component as a callback function to be called every time the content of the input field changes.
|
|
52
|
-
*
|
|
53
|
-
* Steps:
|
|
54
|
-
* 1. Assign a new local variable, replacedZero, with the value of the insulin argument string
|
|
55
|
-
* except for the first character if insulin is longer than 1 character and starts with a '0' but doesn’t start with ‘0.’.
|
|
56
|
-
* Otherwise set it to insulin. This would be better handled by converting it to a number: replacedZero = Number(insulin);
|
|
57
|
-
* 2. Save replacedZero to the partialInput state variable.
|
|
58
|
-
* 3. Return replacedZero
|
|
59
|
-
* @param insulin The contents of the input field.
|
|
60
|
-
* @returns The partially cleaned input.
|
|
61
|
-
*/
|
|
62
|
-
updatePartially = (insulin) => {
|
|
63
|
-
const replacedZero = insulin.length > 1 && insulin.startsWith(`0`) && !insulin.startsWith(`0.`) ? insulin.substring(1) : insulin;
|
|
64
|
-
this.setState({
|
|
65
|
-
partialInput: replacedZero,
|
|
66
|
-
});
|
|
67
|
-
return replacedZero;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* Handle what happens when input in the InvisibleNumberInput child component is completed.
|
|
71
|
-
*
|
|
72
|
-
* Steps:
|
|
73
|
-
* 1. Get the rounded insulin amount using the value argument and the injectionMethod prop as arguments for the Utils.roundValue() function.
|
|
74
|
-
* 2. Get the adjusted safety insulin limit (due to activity) by multiplying the activity reduction factor (which is 1 minus the activityReduction prop) with the SAFETY_INSULIN_LIMIT constant.
|
|
75
|
-
* 3. If the rounded value exceeds the adjusted safety threshold:
|
|
76
|
-
* - Call the updatePartially() method with the adjusted safety threshold to set the insulin amount to the capped value.
|
|
77
|
-
* - Return an Alert with a message about the insulin limit.
|
|
78
|
-
* 4. Call the updatePartially() method with the rounded value to set the entered insulin value.
|
|
79
|
-
* 5. Call the updateRecommendedInsulin callback function prop with rounded as the argument to report back the updated insulin amount to the parent RecommendationScreen component.
|
|
80
|
-
* @param value The numerical value of the input field at completion.
|
|
81
|
-
*/
|
|
82
|
-
handleUpdatedInsulin = (value) => {
|
|
83
|
-
const rounded = Utils.roundValue(value, this.props.injectionMethod);
|
|
84
|
-
// https://hedia.atlassian.net/browse/HDA-795
|
|
85
|
-
const limited = (1 - (this.props.activityReduction ?? 0)) * SAFETY_INSULIN_LIMIT;
|
|
86
|
-
if (rounded > limited) {
|
|
87
|
-
this.setState({ partialInput: this.props.insulinRecommendation?.toString() ?? null });
|
|
88
|
-
this.props.updateRecommendedInsulin(this.props.insulinRecommendation);
|
|
89
|
-
return Alert.alert(t(`Attention`), Messages.InsulinInputWasLimited(this.props.activityReduction), [
|
|
90
|
-
{ text: t(`OK`) },
|
|
91
|
-
]);
|
|
92
|
-
}
|
|
93
|
-
this.updatePartially(`${rounded}`);
|
|
94
|
-
this.props.updateRecommendedInsulin(rounded);
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Render a JSX element to display the insulin input field with the current insulin amount value
|
|
98
|
-
* and using an InvisibleNumberInput component to enable input when the insulin amount is tapped.
|
|
99
|
-
*/
|
|
100
|
-
render = () => {
|
|
101
|
-
const shownInsulin = this.state.partialInput ?? this.props.insulinRecommendation ?? `0`;
|
|
102
|
-
const { EditRecommendedInsulin, EditRecommendedInsulinIcon, ShownInsulinText, InvisibleInsulinInput } = RecommendedInsulinTestIds;
|
|
103
|
-
return (<React.Fragment>
|
|
104
|
-
<TouchableOpacity testID={EditRecommendedInsulin} onPress={this.handleOnPress} style={style.container}>
|
|
105
|
-
<Text style={style.titleText}>{t(`Recommended amount of insulin`)}</Text>
|
|
106
|
-
<Text style={style.insulinText} testID={ShownInsulinText}>
|
|
107
|
-
{shownInsulin}
|
|
108
|
-
</Text>
|
|
109
|
-
<Text style={style.unitsText}>{t(`Units`)}</Text>
|
|
110
|
-
<View style={style.enterManually}>
|
|
111
|
-
{Edit({ color: colors.teal, style: style.editIcon, testID: EditRecommendedInsulinIcon })}
|
|
112
|
-
<Text style={style.editText}>{t(`Enter Manually`)}</Text>
|
|
113
|
-
</View>
|
|
114
|
-
</TouchableOpacity>
|
|
115
|
-
|
|
116
|
-
<InvisibleNumberInput testID={InvisibleInsulinInput} decimalPlaces={1} maxLength={4} negativeAllowed={false} cleanPartialInput={false} partialInput={this.updatePartially} onEnd={this.handleUpdatedInsulin} visible={(visible) => (this.callbackInput = visible)} startValue={`${shownInsulin}`}/>
|
|
117
|
-
</React.Fragment>);
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
const style = StyleSheet.create({
|
|
121
|
-
container: {
|
|
122
|
-
borderRadius: 5,
|
|
123
|
-
padding: 16,
|
|
124
|
-
backgroundColor: colors.deepPurple,
|
|
125
|
-
marginBottom: 32,
|
|
126
|
-
minHeight: 200,
|
|
127
|
-
},
|
|
128
|
-
editText: {
|
|
129
|
-
...FONTS.Poppins.regular_SM,
|
|
130
|
-
color: colors.teal,
|
|
131
|
-
textAlign: `center`,
|
|
132
|
-
},
|
|
133
|
-
unitsText: {
|
|
134
|
-
...FONTS.Poppins.medium_XS,
|
|
135
|
-
color: colors.white,
|
|
136
|
-
textAlign: `center`,
|
|
137
|
-
marginTop: -16,
|
|
138
|
-
marginBottom: 16,
|
|
139
|
-
},
|
|
140
|
-
insulinText: {
|
|
141
|
-
...FONTS.Oswald.bold_7XL,
|
|
142
|
-
color: colors.white,
|
|
143
|
-
textAlign: `center`,
|
|
144
|
-
minHeight: 110,
|
|
145
|
-
lineHeight: 90,
|
|
146
|
-
letterSpacing: 6,
|
|
147
|
-
justifyContent: `center`,
|
|
148
|
-
},
|
|
149
|
-
titleText: {
|
|
150
|
-
...FONTS.Poppins.medium_Base,
|
|
151
|
-
color: colors.white,
|
|
152
|
-
textAlign: `center`,
|
|
153
|
-
marginBottom: 16,
|
|
154
|
-
},
|
|
155
|
-
editIcon: {
|
|
156
|
-
height: 16,
|
|
157
|
-
width: 16,
|
|
158
|
-
marginRight: 4,
|
|
159
|
-
alignSelf: `center`,
|
|
160
|
-
},
|
|
161
|
-
enterManually: {
|
|
162
|
-
flexDirection: `row`,
|
|
163
|
-
justifyContent: `center`,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
//# sourceMappingURL=RecommendedInsulin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedInsulin.js","sourceRoot":"","sources":["../../../src/components/RecommendedInsulin.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import Slider from "@react-native-community/slider";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { StyleSheet, View } from "react-native";
|
|
4
|
-
import { t } from "../locales/translate";
|
|
5
|
-
import { Testing } from "../types/enum";
|
|
6
|
-
import { colors } from "../utils/Constants";
|
|
7
|
-
import { FONTS } from "./styles/fonts";
|
|
8
|
-
import Text from "./Text";
|
|
9
|
-
/**
|
|
10
|
-
* The Remeasure component has a slider child component that the user can drag to change
|
|
11
|
-
* when they will get a reminder notification about measuring their BGL again.
|
|
12
|
-
*/
|
|
13
|
-
export default class Remeasure extends React.Component {
|
|
14
|
-
constructor(props) {
|
|
15
|
-
super(props);
|
|
16
|
-
this.state = { remeasureTime: props.remeasureTime };
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Steps:
|
|
20
|
-
* 1. Use limitTime() to limit/clamp the value of remeasureTime in the range 0 to 6.
|
|
21
|
-
* 2. Call the onSliderChange prop callback function with the limited value as argument.
|
|
22
|
-
* @param remeasureTime The value of the remeasurement slider.
|
|
23
|
-
*/
|
|
24
|
-
handleSliderChange = (remeasureTime) => {
|
|
25
|
-
this.setState({ remeasureTime });
|
|
26
|
-
const limited = this.limitTime(remeasureTime);
|
|
27
|
-
this.props.onSliderChange(limited);
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Steps:
|
|
31
|
-
* 1.Use Math.min() and Math.max() to clamp remeasureTime in the range 0 to 6 and return the result.
|
|
32
|
-
* @param remeasureTime The value of the remeasurement slider.
|
|
33
|
-
* @returns The limited remeasurement time in hours
|
|
34
|
-
*/
|
|
35
|
-
limitTime = (remeasureTime) => {
|
|
36
|
-
return Math.min(Math.max(0, remeasureTime), 6);
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Compose a JSX element for displaying the currently selected remeasurement time along
|
|
40
|
-
* with a horizontal slider for changing it in increments of 0.5 hours in the range 0 to 6.
|
|
41
|
-
*/
|
|
42
|
-
render() {
|
|
43
|
-
const measure = this.state.remeasureTime > 0;
|
|
44
|
-
const limited = this.limitTime(this.state.remeasureTime);
|
|
45
|
-
const { RemeasureHours, RemeasureSlider } = Testing.Id.RemeasureTestIds;
|
|
46
|
-
return (<View style={styles.container}>
|
|
47
|
-
<View style={styles.textContainer}>
|
|
48
|
-
<Text style={styles.remeasureLabel} maxFontSizeMultiplier={1}>
|
|
49
|
-
{t(`Remind me to remeasure in`)}
|
|
50
|
-
</Text>
|
|
51
|
-
<View style={styles.valueUnitContainer}>
|
|
52
|
-
<Text style={styles.value} testID={RemeasureHours} maxFontSizeMultiplier={1}>
|
|
53
|
-
{measure ? limited : t(`OFF`)}
|
|
54
|
-
</Text>
|
|
55
|
-
{measure && (<Text style={styles.units} maxFontSizeMultiplier={1}>
|
|
56
|
-
{t(`hours`)}
|
|
57
|
-
</Text>)}
|
|
58
|
-
</View>
|
|
59
|
-
</View>
|
|
60
|
-
|
|
61
|
-
<Slider testID={RemeasureSlider} maximumTrackTintColor={colors.mistBlue} minimumTrackTintColor={colors.blue} thumbTintColor={colors.white} maximumValue={6} minimumValue={0} step={0.5} onValueChange={this.handleSliderChange} value={limited}/>
|
|
62
|
-
</View>);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const styles = StyleSheet.create({
|
|
66
|
-
container: {
|
|
67
|
-
flexDirection: `column`,
|
|
68
|
-
marginVertical: 32,
|
|
69
|
-
},
|
|
70
|
-
textContainer: {
|
|
71
|
-
flexDirection: `row`,
|
|
72
|
-
marginBottom: 18,
|
|
73
|
-
},
|
|
74
|
-
remeasureLabel: {
|
|
75
|
-
...FONTS.Poppins.regular_Base,
|
|
76
|
-
color: colors.white,
|
|
77
|
-
flex: 7,
|
|
78
|
-
alignSelf: `center`,
|
|
79
|
-
},
|
|
80
|
-
offText: {
|
|
81
|
-
...FONTS.Poppins.bold_Base,
|
|
82
|
-
color: colors.white,
|
|
83
|
-
},
|
|
84
|
-
valueUnitContainer: {
|
|
85
|
-
flex: 3,
|
|
86
|
-
justifyContent: `center`,
|
|
87
|
-
alignItems: `baseline`,
|
|
88
|
-
flexDirection: `row`,
|
|
89
|
-
alignSelf: `center`,
|
|
90
|
-
},
|
|
91
|
-
value: {
|
|
92
|
-
...FONTS.Poppins.medium_2XL,
|
|
93
|
-
textAlign: `right`,
|
|
94
|
-
color: colors.white,
|
|
95
|
-
},
|
|
96
|
-
units: {
|
|
97
|
-
...FONTS.Poppins.regular_XS,
|
|
98
|
-
textAlign: `left`,
|
|
99
|
-
paddingLeft: 4,
|
|
100
|
-
color: colors.white,
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
//# sourceMappingURL=Remeasure.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Remeasure.js","sourceRoot":"","sources":["../../../src/components/Remeasure.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { StyleSheet, Text as RNText } from "react-native";
|
|
3
|
-
import { FONTS } from "./styles/fonts";
|
|
4
|
-
const maxFontSizeMultiplier = 1.235;
|
|
5
|
-
const Text = (props) => (<RNText {...props} style={[styles.defaultText, props.style]} maxFontSizeMultiplier={maxFontSizeMultiplier}>
|
|
6
|
-
{props.children}
|
|
7
|
-
</RNText>);
|
|
8
|
-
const styles = StyleSheet.create({
|
|
9
|
-
defaultText: {
|
|
10
|
-
...FONTS.Poppins.regular_Base,
|
|
11
|
-
},
|
|
12
|
-
});
|
|
13
|
-
export default Text;
|
|
14
|
-
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,MAAM,EAAwB,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAUpC,MAAM,IAAI,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,CAC7C,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CACzG;EAAA,CAAC,KAAK,CAAC,QAAQ,CAChB;CAAA,EAAE,MAAM,CAAC,CACT,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAChC,WAAW,EAAE;QACZ,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY;KAC7B;CACD,CAAC,CAAC;AACH,eAAe,IAAI,CAAC"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { StatusBar, StyleSheet, TouchableOpacity, View } from "react-native";
|
|
3
|
-
import ReactNativeModal from "react-native-modal";
|
|
4
|
-
import { Testing } from "../types/enum";
|
|
5
|
-
import { colors } from "../utils/Constants";
|
|
6
|
-
import { FONTS } from "./styles/fonts";
|
|
7
|
-
import Text from "./Text";
|
|
8
|
-
const { TimeOutModalTestIds } = Testing.Id;
|
|
9
|
-
/** Display a modal with two buttons for the user to choose between. */
|
|
10
|
-
export default class TimeoutModal extends React.Component {
|
|
11
|
-
/** Compose a JSX element for displaying the modal. */
|
|
12
|
-
render() {
|
|
13
|
-
return (<ReactNativeModal style={style.container} isVisible={this.props.isVisible} onModalHide={this.props.onModalHide} animationIn={`fadeIn`} animationOut={`fadeOut`}>
|
|
14
|
-
<StatusBar backgroundColor={colors.black}/>
|
|
15
|
-
<View style={style.modalContainer}>
|
|
16
|
-
<View style={style.textContainer}>
|
|
17
|
-
<Text style={style.title}>{this.props.title}</Text>
|
|
18
|
-
<Text style={style.message}>{this.props.message}</Text>
|
|
19
|
-
</View>
|
|
20
|
-
<View style={style.buttonContainer}>
|
|
21
|
-
<TouchableOpacity testID={TimeOutModalTestIds.FirstOption} onPress={this.props.firstOption} style={[style.button, { backgroundColor: colors.teal, marginBottom: 16 }]}>
|
|
22
|
-
<Text style={style.textFirstButton}>{this.props.textFirstOption}</Text>
|
|
23
|
-
</TouchableOpacity>
|
|
24
|
-
<TouchableOpacity testID={TimeOutModalTestIds.SecondOption} onPress={this.props.secondOption} style={style.button}>
|
|
25
|
-
<Text style={style.textSecondButton}>{this.props.textSecondOption}</Text>
|
|
26
|
-
</TouchableOpacity>
|
|
27
|
-
</View>
|
|
28
|
-
</View>
|
|
29
|
-
</ReactNativeModal>);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/** @internal */
|
|
33
|
-
const style = StyleSheet.create({
|
|
34
|
-
container: {
|
|
35
|
-
margin: 0,
|
|
36
|
-
justifyContent: `center`,
|
|
37
|
-
backgroundColor: colors.transparentBlack,
|
|
38
|
-
},
|
|
39
|
-
modalContainer: {
|
|
40
|
-
margin: 16,
|
|
41
|
-
padding: 24,
|
|
42
|
-
backgroundColor: colors.semiDarkBlue,
|
|
43
|
-
borderRadius: 24,
|
|
44
|
-
},
|
|
45
|
-
textContainer: {
|
|
46
|
-
alignSelf: `flex-start`,
|
|
47
|
-
marginBottom: 24,
|
|
48
|
-
},
|
|
49
|
-
title: {
|
|
50
|
-
...FONTS.Poppins.bold_XL,
|
|
51
|
-
color: colors.white,
|
|
52
|
-
textAlign: `center`,
|
|
53
|
-
marginBottom: 24,
|
|
54
|
-
},
|
|
55
|
-
message: {
|
|
56
|
-
...FONTS.Poppins.regular_Base,
|
|
57
|
-
color: colors.lightBlue,
|
|
58
|
-
textAlign: `center`,
|
|
59
|
-
},
|
|
60
|
-
buttonContainer: {
|
|
61
|
-
flexDirection: `column`,
|
|
62
|
-
justifyContent: `space-around`,
|
|
63
|
-
},
|
|
64
|
-
button: {
|
|
65
|
-
borderRadius: 50,
|
|
66
|
-
borderWidth: 1,
|
|
67
|
-
borderColor: colors.teal,
|
|
68
|
-
},
|
|
69
|
-
textFirstButton: {
|
|
70
|
-
...FONTS.Poppins.bold_LG,
|
|
71
|
-
textAlign: `center`,
|
|
72
|
-
color: colors.black,
|
|
73
|
-
paddingHorizontal: 16,
|
|
74
|
-
paddingVertical: 12,
|
|
75
|
-
},
|
|
76
|
-
textSecondButton: {
|
|
77
|
-
...FONTS.Poppins.bold_LG,
|
|
78
|
-
textAlign: `center`,
|
|
79
|
-
color: colors.teal,
|
|
80
|
-
paddingHorizontal: 16,
|
|
81
|
-
paddingVertical: 12,
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
//# sourceMappingURL=TimeoutModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimeoutModal.js","sourceRoot":"","sources":["../../../src/components/TimeoutModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StyleSheet, TouchableOpacity, View } from "react-native";
|
|
3
|
-
import { t } from "../locales/translate";
|
|
4
|
-
import { Testing } from "../types/enum";
|
|
5
|
-
import { colors } from "../utils/Constants";
|
|
6
|
-
import { FONTS } from "./styles/fonts";
|
|
7
|
-
import Text from "./Text";
|
|
8
|
-
/**
|
|
9
|
-
* Render a button for transferring the recommendation to a logbook entry.
|
|
10
|
-
* The button has a visually distinct pressed state to signal to the user that the button was actually activated before returning to the dashboard screen.
|
|
11
|
-
*/
|
|
12
|
-
export default class TransferToLogbook extends React.Component {
|
|
13
|
-
/** Initialise the state pressed variable with false */
|
|
14
|
-
state = {
|
|
15
|
-
pressed: false,
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Handle what happens when the button is pressed.
|
|
19
|
-
*
|
|
20
|
-
* Steps:
|
|
21
|
-
* 1. Toggle the pressed state to the opposite of its current value.
|
|
22
|
-
* 2. Call the transfer prop callback function.
|
|
23
|
-
*/
|
|
24
|
-
handlePress = () => {
|
|
25
|
-
this.setState({
|
|
26
|
-
pressed: !this.state.pressed,
|
|
27
|
-
});
|
|
28
|
-
this.props.transfer();
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Steps:
|
|
32
|
-
* 1. If the visible prop is false, display an empty space to keep the correct margins in the screen.
|
|
33
|
-
* 2. Return a JSX element to display a touchable button (that is disabled when the pressed state is true)
|
|
34
|
-
* @returns JSX element for displaying the transfer button
|
|
35
|
-
*/
|
|
36
|
-
render() {
|
|
37
|
-
if (!this.props.visible) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
return (<TouchableOpacity testID={Testing.Id.TransferToLogbookTestIds.TransferButton} onPress={this.handlePress} disabled={this.state.pressed} style={addToLogbookStyles.container}>
|
|
41
|
-
<View style={addToLogbookStyles.textContainer}>
|
|
42
|
-
<Text style={addToLogbookStyles.transferText}>{t(`Transfer to logbook`)}</Text>
|
|
43
|
-
</View>
|
|
44
|
-
</TouchableOpacity>);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const addToLogbookStyles = StyleSheet.create({
|
|
48
|
-
container: {
|
|
49
|
-
minWidth: 230,
|
|
50
|
-
borderRadius: 50,
|
|
51
|
-
backgroundColor: colors.teal,
|
|
52
|
-
marginBottom: 32,
|
|
53
|
-
justifyContent: `center`,
|
|
54
|
-
alignSelf: `center`,
|
|
55
|
-
},
|
|
56
|
-
textContainer: {
|
|
57
|
-
flexDirection: `row`,
|
|
58
|
-
justifyContent: `center`,
|
|
59
|
-
},
|
|
60
|
-
transferText: {
|
|
61
|
-
...FONTS.Poppins.bold_Base,
|
|
62
|
-
color: colors.black,
|
|
63
|
-
paddingVertical: 12,
|
|
64
|
-
paddingHorizontal: 16,
|
|
65
|
-
textAlign: `center`,
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=TransferToLogbook.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransferToLogbook.js","sourceRoot":"","sources":["../../../src/components/TransferToLogbook.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAc1B;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAyB;IAC7E,uDAAuD;IAChD,KAAK,GAAW;QACtB,OAAO,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;OAMG;IACI,WAAW,GAAG,GAAS,EAAE;QAC/B,IAAI,CAAC,QAAQ,CAAC;YACb,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF;;;;;OAKG;IACI,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACxB,OAAO;SACP;QAED,OAAO,CACN,CAAC,gBAAgB,CAChB,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAC3D,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC1B,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAC7B,KAAK,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAEpC;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAC7C;KAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAC/E;IAAA,EAAE,IAAI,CACP;GAAA,EAAE,gBAAgB,CAAC,CACnB,CAAC;IACH,CAAC;CACD;AAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE;QACV,QAAQ,EAAE,GAAG;QACb,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,MAAM,CAAC,IAAI;QAC5B,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,QAAQ;QACxB,SAAS,EAAE,QAAQ;KACnB;IACD,aAAa,EAAE;QACd,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,QAAQ;KACxB;IACD,YAAY,EAAE;QACb,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS;QAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,SAAS,EAAE,QAAQ;KACnB;CACD,CAAC,CAAC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StyleSheet, View } from "react-native";
|
|
3
|
-
import { t } from "../../locales/translate";
|
|
4
|
-
import { Testing } from "../../types/enum";
|
|
5
|
-
import { colors } from "../../utils/Constants";
|
|
6
|
-
import { infoStyles } from "../InfoBars";
|
|
7
|
-
import { FONTS } from "../styles/fonts";
|
|
8
|
-
import Text from "../Text";
|
|
9
|
-
import ActivityIcon from "./ActivityIcon";
|
|
10
|
-
import ActivityIntensity from "./ActivityIntensity";
|
|
11
|
-
/**
|
|
12
|
-
* Component for displaying a summary of the entered physical activity along with the effect it has on the insulin recommendation.
|
|
13
|
-
*/
|
|
14
|
-
export default class Activity extends React.Component {
|
|
15
|
-
/**
|
|
16
|
-
* Steps:
|
|
17
|
-
* 1. Unpack activity, activityType, activityReduction, and activityTitle from props.
|
|
18
|
-
* 2. Compute the reductionPercentage by multiplying the activityReduction prop by 100 and rounding to the nearest integer.
|
|
19
|
-
* 3. Generate and return the JSX element to display the following on the screen:
|
|
20
|
-
* - Print the activity duration.
|
|
21
|
-
* - Display the ActivityIcon that corresponds to the type of activity.
|
|
22
|
-
* - Display the ActivityIntensity for the activity.
|
|
23
|
-
* - Print the reductionPercentage.
|
|
24
|
-
* @returns JSX Element containing all the user's physical activity details
|
|
25
|
-
*/
|
|
26
|
-
render() {
|
|
27
|
-
const { activity, activityType, activityReduction, activityTitle } = this.props;
|
|
28
|
-
const reductionPercentage = ((activityReduction ?? 0) * 100).toFixed(0);
|
|
29
|
-
return (<View style={styles.container}>
|
|
30
|
-
<View style={styles.activityTextContainer}>
|
|
31
|
-
<View style={infoStyles.labelContainer}>
|
|
32
|
-
<Text style={styles.label}>{t(`Activity`)}</Text>
|
|
33
|
-
</View>
|
|
34
|
-
<View style={infoStyles.valueUnitContainer}>
|
|
35
|
-
<Text style={infoStyles.value} testID={Testing.Id.ActivityTestIds.ActivityDuration}>
|
|
36
|
-
{activity.activityDuration}
|
|
37
|
-
</Text>
|
|
38
|
-
<Text style={infoStyles.units}>{t(`min`)}</Text>
|
|
39
|
-
</View>
|
|
40
|
-
</View>
|
|
41
|
-
<ActivityIcon activityType={activityType} activityTitle={activityTitle}/>
|
|
42
|
-
<ActivityIntensity activityIntensity={activity.activityIntensity}/>
|
|
43
|
-
<Text style={styles.infoText}>
|
|
44
|
-
{t(`Based on the selected activity your insulin recommendation is reduced by:`)}
|
|
45
|
-
</Text>
|
|
46
|
-
<View style={styles.reductionContainer}>
|
|
47
|
-
<Text style={styles.reductionPercentage} testID={Testing.Id.ActivityTestIds.ActivityReduction}>
|
|
48
|
-
{reductionPercentage}
|
|
49
|
-
</Text>
|
|
50
|
-
<Text style={styles.percentage}>{`%`}</Text>
|
|
51
|
-
</View>
|
|
52
|
-
</View>);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const styles = StyleSheet.create({
|
|
56
|
-
container: {
|
|
57
|
-
flex: 1,
|
|
58
|
-
marginTop: 8,
|
|
59
|
-
padding: 16,
|
|
60
|
-
borderWidth: 1,
|
|
61
|
-
borderColor: colors.dustyDarkBlue,
|
|
62
|
-
borderRadius: 5,
|
|
63
|
-
},
|
|
64
|
-
activityTextContainer: {
|
|
65
|
-
flex: 1,
|
|
66
|
-
flexDirection: `row`,
|
|
67
|
-
marginBottom: 6,
|
|
68
|
-
alignItems: `center`,
|
|
69
|
-
},
|
|
70
|
-
infoText: {
|
|
71
|
-
...FONTS.Poppins.regular_Base,
|
|
72
|
-
color: colors.lightBlue,
|
|
73
|
-
marginBottom: 4,
|
|
74
|
-
},
|
|
75
|
-
reductionContainer: {
|
|
76
|
-
flexDirection: `row`,
|
|
77
|
-
alignItems: `baseline`,
|
|
78
|
-
},
|
|
79
|
-
reductionPercentage: {
|
|
80
|
-
...FONTS.Poppins.medium_2XL,
|
|
81
|
-
color: colors.white,
|
|
82
|
-
},
|
|
83
|
-
percentage: {
|
|
84
|
-
...FONTS.Poppins.regular_XS,
|
|
85
|
-
color: colors.white,
|
|
86
|
-
marginLeft: 4,
|
|
87
|
-
},
|
|
88
|
-
label: {
|
|
89
|
-
...FONTS.Poppins.regular_Base,
|
|
90
|
-
color: colors.white,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=Activity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Activity.js","sourceRoot":"","sources":["../../../../src/components/activity/Activity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { StyleSheet, View } from "react-native";
|
|
3
|
-
import { Activity } from "@hedia/types";
|
|
4
|
-
import Cycling from "../../assets/IconsSVG/activity/Cycling";
|
|
5
|
-
import Running from "../../assets/IconsSVG/activity/Running";
|
|
6
|
-
import Stretching from "../../assets/IconsSVG/activity/Stretching";
|
|
7
|
-
import Swimming from "../../assets/IconsSVG/activity/Swimming";
|
|
8
|
-
import Walking from "../../assets/IconsSVG/activity/Walking";
|
|
9
|
-
import { t } from "../../locales/translate";
|
|
10
|
-
import { colors } from "../../utils/Constants";
|
|
11
|
-
import { FONTS } from "../styles/fonts";
|
|
12
|
-
import Text from "../Text";
|
|
13
|
-
const { Other } = Activity.Enums.ActivityEnum;
|
|
14
|
-
/**
|
|
15
|
-
Component used to displat the user's physical activity type icon
|
|
16
|
-
Mapping from ActivityEnums to corresponding image resource.
|
|
17
|
-
*/
|
|
18
|
-
export default class ActivityIcon extends React.Component {
|
|
19
|
-
/**
|
|
20
|
-
* @returns The value from the ACTIVITY_ICONS constant that corresponds to the value of the activityType prop.
|
|
21
|
-
*/
|
|
22
|
-
getActivityIcon = (props) => {
|
|
23
|
-
const ACTIVITY_ICONS = {
|
|
24
|
-
Run: Running(props),
|
|
25
|
-
Walk: Walking(props),
|
|
26
|
-
Cycling: Cycling(props),
|
|
27
|
-
Swim: Swimming(props),
|
|
28
|
-
Other: Stretching(props),
|
|
29
|
-
};
|
|
30
|
-
return ACTIVITY_ICONS[this.props.activityType ?? Other];
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Steps:
|
|
34
|
-
* 1. Unpack activityType and activityTitle from props.
|
|
35
|
-
* 2. Create a testID string by appending ‘_activity’ to the enum label corresponding to the activityType prop.
|
|
36
|
-
* @returns A JSX element including the following:
|
|
37
|
-
* 1. An svg component with the generated testID displaying the icon from getActivityIcon().
|
|
38
|
-
* 2. The activityTitle if it is truthy or the string “Untitled Activity” otherwise
|
|
39
|
-
*/
|
|
40
|
-
render() {
|
|
41
|
-
const { activityType, activityTitle } = this.props;
|
|
42
|
-
const testID = `${Activity.Enums.ActivityEnum[activityType ?? Other]}-icon`.toLowerCase();
|
|
43
|
-
return (<View style={styles.container}>
|
|
44
|
-
{this.getActivityIcon({ testID, style: styles.icon })}
|
|
45
|
-
<Text style={styles.activityTitle}>{activityTitle || t(`Untitled Activity`)}</Text>
|
|
46
|
-
</View>);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const styles = StyleSheet.create({
|
|
50
|
-
container: {
|
|
51
|
-
flex: 1,
|
|
52
|
-
flexDirection: `row`,
|
|
53
|
-
alignItems: `center`,
|
|
54
|
-
marginBottom: 6,
|
|
55
|
-
},
|
|
56
|
-
activityTitle: {
|
|
57
|
-
...FONTS.Poppins.regular_SM,
|
|
58
|
-
color: colors.white,
|
|
59
|
-
marginLeft: 4,
|
|
60
|
-
},
|
|
61
|
-
icon: {
|
|
62
|
-
width: 20,
|
|
63
|
-
height: 20,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=ActivityIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityIcon.js","sourceRoot":"","sources":["../../../../src/components/activity/ActivityIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAC7D,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAC7D,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,OAAO,MAAM,wCAAwC,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;AAE9C;;;EAGE;AAEF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAAgC;IAC/E;;OAEG;IACI,eAAe,GAAG,CAAC,KAAgB,EAAe,EAAE;QAC1D,MAAM,cAAc,GAAqD;YACxE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;YACnB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACvB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;SACxB,CAAC;QACF,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF;;;;;;;OAOG;IACI,MAAM;QACZ,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE1F,OAAO,CACN,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC7B;IAAA,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CACrD;IAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CACnF;GAAA,EAAE,IAAI,CAAC,CACP,CAAC;IACH,CAAC;CACD;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE;QACV,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,CAAC;KACf;IACD,aAAa,EAAE;QACd,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,CAAC;KACb;IACD,IAAI,EAAE;QACL,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACV;CACD,CAAC,CAAC"}
|