facecog-liveness-showcase 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/.browserslistrc +15 -0
  2. package/.dockerignore +48 -0
  3. package/.editorconfig +16 -0
  4. package/.eslintrc.json +47 -0
  5. package/.vercelignore +7 -0
  6. package/.vscode/extensions.json +5 -0
  7. package/.vscode/settings.json +3 -0
  8. package/DOCKER.md +221 -0
  9. package/Dockerfile +33 -0
  10. package/README.md +268 -0
  11. package/angular.json +156 -0
  12. package/capacitor.config.ts +9 -0
  13. package/docker-compose.dev.yml +20 -0
  14. package/docker-compose.yml +18 -0
  15. package/ionic.config.json +7 -0
  16. package/jest.config.js +38 -0
  17. package/nginx.conf +50 -0
  18. package/package.json +131 -0
  19. package/patches/ng-packagr+20.3.2.patch +60 -0
  20. package/projects/facecog-liveness-verification/README.md +295 -0
  21. package/projects/facecog-liveness-verification/ng-package.json +7 -0
  22. package/projects/facecog-liveness-verification/package.json +48 -0
  23. package/projects/facecog-liveness-verification/scripts/build-with-wrapper-copy.js +38 -0
  24. package/projects/facecog-liveness-verification/scripts/copy-wrapper-after-ngc.js +35 -0
  25. package/projects/facecog-liveness-verification/sources/FaceLivenessReactWrapper.tsx +320 -0
  26. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/FaceLivenessReactWrapper.generated.d.ts +28 -0
  27. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/FaceLivenessReactWrapper.generated.js +247 -0
  28. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/FaceLivenessReactWrapper.generated.js.map +1 -0
  29. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/FaceLivenessReactWrapper.js.map +1 -0
  30. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/FaceLivenessReactWrapper.ts +5 -0
  31. package/projects/facecog-liveness-verification/src/lib/components/aws-face-liveness/aws-face-liveness.component.ts +500 -0
  32. package/projects/facecog-liveness-verification/src/lib/components/camera-permission/camera-permission.component.html +41 -0
  33. package/projects/facecog-liveness-verification/src/lib/components/camera-permission/camera-permission.component.scss +234 -0
  34. package/projects/facecog-liveness-verification/src/lib/components/camera-permission/camera-permission.component.spec.ts +158 -0
  35. package/projects/facecog-liveness-verification/src/lib/components/camera-permission/camera-permission.component.ts +58 -0
  36. package/projects/facecog-liveness-verification/src/lib/components/camera-verification/camera-verification.component.html +34 -0
  37. package/projects/facecog-liveness-verification/src/lib/components/camera-verification/camera-verification.component.ts +210 -0
  38. package/projects/facecog-liveness-verification/src/lib/components/dialogs/save-custom-pose-dialog.component.ts +174 -0
  39. package/projects/facecog-liveness-verification/src/lib/components/facetec-scan/facetec-scan.component.html +45 -0
  40. package/projects/facecog-liveness-verification/src/lib/components/facetec-scan/facetec-scan.component.scss +87 -0
  41. package/projects/facecog-liveness-verification/src/lib/components/facetec-scan/facetec-scan.component.ts +182 -0
  42. package/projects/facecog-liveness-verification/src/lib/components/intro/intro.component.html +394 -0
  43. package/projects/facecog-liveness-verification/src/lib/components/intro/intro.component.scss +1567 -0
  44. package/projects/facecog-liveness-verification/src/lib/components/intro/intro.component.spec.ts +699 -0
  45. package/projects/facecog-liveness-verification/src/lib/components/intro/intro.component.ts +721 -0
  46. package/projects/facecog-liveness-verification/src/lib/components/live-preview/live-preview.component.html +120 -0
  47. package/projects/facecog-liveness-verification/src/lib/components/live-preview/live-preview.component.scss +611 -0
  48. package/projects/facecog-liveness-verification/src/lib/components/live-preview/live-preview.component.spec.ts +605 -0
  49. package/projects/facecog-liveness-verification/src/lib/components/live-preview/live-preview.component.ts +524 -0
  50. package/projects/facecog-liveness-verification/src/lib/components/liveness-flow/liveness-flow.component.html +73 -0
  51. package/projects/facecog-liveness-verification/src/lib/components/liveness-flow/liveness-flow.component.scss +19 -0
  52. package/projects/facecog-liveness-verification/src/lib/components/liveness-flow/liveness-flow.component.spec.ts +673 -0
  53. package/projects/facecog-liveness-verification/src/lib/components/liveness-flow/liveness-flow.component.ts +963 -0
  54. package/projects/facecog-liveness-verification/src/lib/components/liveness-verification/liveness-verification.component.html +38 -0
  55. package/projects/facecog-liveness-verification/src/lib/components/liveness-verification/liveness-verification.component.scss +10 -0
  56. package/projects/facecog-liveness-verification/src/lib/components/liveness-verification/liveness-verification.component.ts +233 -0
  57. package/projects/facecog-liveness-verification/src/lib/components/pose-selection/pose-selection.component.html +17 -0
  58. package/projects/facecog-liveness-verification/src/lib/components/pose-selection/pose-selection.component.spec.ts +35 -0
  59. package/projects/facecog-liveness-verification/src/lib/components/pose-selection/pose-selection.component.ts +33 -0
  60. package/projects/facecog-liveness-verification/src/lib/components/processing/processing.component.html +17 -0
  61. package/projects/facecog-liveness-verification/src/lib/components/processing/processing.component.scss +156 -0
  62. package/projects/facecog-liveness-verification/src/lib/components/processing/processing.component.spec.ts +46 -0
  63. package/projects/facecog-liveness-verification/src/lib/components/processing/processing.component.ts +18 -0
  64. package/projects/facecog-liveness-verification/src/lib/components/verification-result/verification-result.component.html +190 -0
  65. package/projects/facecog-liveness-verification/src/lib/components/verification-result/verification-result.component.scss +534 -0
  66. package/projects/facecog-liveness-verification/src/lib/components/verification-result/verification-result.component.spec.ts +286 -0
  67. package/projects/facecog-liveness-verification/src/lib/components/verification-result/verification-result.component.ts +155 -0
  68. package/projects/facecog-liveness-verification/src/lib/interfaces/analyze-response.interface.ts +16 -0
  69. package/projects/facecog-liveness-verification/src/lib/interfaces/aws-face-liveness.interface.ts +46 -0
  70. package/projects/facecog-liveness-verification/src/lib/interfaces/backend-adapter.interface.ts +21 -0
  71. package/projects/facecog-liveness-verification/src/lib/interfaces/backend-http-client.interface.ts +93 -0
  72. package/projects/facecog-liveness-verification/src/lib/interfaces/backend-response.interface.ts +9 -0
  73. package/projects/facecog-liveness-verification/src/lib/interfaces/camera-provider.interface.ts +107 -0
  74. package/projects/facecog-liveness-verification/src/lib/interfaces/category-info.interface.ts +9 -0
  75. package/projects/facecog-liveness-verification/src/lib/interfaces/custom-pose-data.interface.ts +14 -0
  76. package/projects/facecog-liveness-verification/src/lib/interfaces/custom-pose-repository.interface.ts +48 -0
  77. package/projects/facecog-liveness-verification/src/lib/interfaces/custom-pose-response.interface.ts +14 -0
  78. package/projects/facecog-liveness-verification/src/lib/interfaces/index.ts +52 -0
  79. package/projects/facecog-liveness-verification/src/lib/interfaces/liveness-action-result.interface.ts +13 -0
  80. package/projects/facecog-liveness-verification/src/lib/interfaces/liveness-config.interface.ts +17 -0
  81. package/projects/facecog-liveness-verification/src/lib/interfaces/liveness-metadata.interface.ts +17 -0
  82. package/projects/facecog-liveness-verification/src/lib/interfaces/liveness-result.interface.ts +24 -0
  83. package/projects/facecog-liveness-verification/src/lib/interfaces/liveness-verification-config.interface.ts +41 -0
  84. package/projects/facecog-liveness-verification/src/lib/interfaces/multi-backend-analyze-response.interface.ts +21 -0
  85. package/projects/facecog-liveness-verification/src/lib/interfaces/multi-backend-liveness-result.interface.ts +14 -0
  86. package/projects/facecog-liveness-verification/src/lib/interfaces/pose-definition.interface.ts +35 -0
  87. package/projects/facecog-liveness-verification/src/lib/interfaces/pose-keypoint.interface.ts +12 -0
  88. package/projects/facecog-liveness-verification/src/lib/interfaces/pose-match-result.interface.ts +9 -0
  89. package/projects/facecog-liveness-verification/src/lib/interfaces/pose-verify-response.interface.ts +8 -0
  90. package/projects/facecog-liveness-verification/src/lib/interfaces/scan-results.interface.ts +29 -0
  91. package/projects/facecog-liveness-verification/src/lib/interfaces/verification-plan.interface.ts +42 -0
  92. package/projects/facecog-liveness-verification/src/lib/interfaces/verification-progress-event.interface.ts +12 -0
  93. package/projects/facecog-liveness-verification/src/lib/interfaces/verification-session.interface.ts +72 -0
  94. package/projects/facecog-liveness-verification/src/lib/interfaces/verification-step-change-event.interface.ts +11 -0
  95. package/projects/facecog-liveness-verification/src/lib/interfaces/video-recording.interface.ts +9 -0
  96. package/projects/facecog-liveness-verification/src/lib/liveness-verification.module.ts +123 -0
  97. package/projects/facecog-liveness-verification/src/lib/models/constants/aws-face-liveness-component.token.ts +23 -0
  98. package/projects/facecog-liveness-verification/src/lib/models/constants/category-info.constant.ts +14 -0
  99. package/projects/facecog-liveness-verification/src/lib/models/constants/default-liveness-config.constant.ts +18 -0
  100. package/projects/facecog-liveness-verification/src/lib/models/constants/index.ts +5 -0
  101. package/projects/facecog-liveness-verification/src/lib/models/constants/liveness-verification-config.token.ts +16 -0
  102. package/projects/facecog-liveness-verification/src/lib/models/constants/pose-definitions.constant.ts +377 -0
  103. package/projects/facecog-liveness-verification/src/lib/models/index.ts +5 -0
  104. package/projects/facecog-liveness-verification/src/lib/models/utils/index.ts +2 -0
  105. package/projects/facecog-liveness-verification/src/lib/models/utils/pose.utils.spec.ts +76 -0
  106. package/projects/facecog-liveness-verification/src/lib/models/utils/pose.utils.ts +59 -0
  107. package/projects/facecog-liveness-verification/src/lib/services/aws-face-liveness.service.ts +49 -0
  108. package/projects/facecog-liveness-verification/src/lib/services/backend-http.service.spec.ts +111 -0
  109. package/projects/facecog-liveness-verification/src/lib/services/backend-http.service.ts +130 -0
  110. package/projects/facecog-liveness-verification/src/lib/services/backends/azure-backend.service.spec.ts +69 -0
  111. package/projects/facecog-liveness-verification/src/lib/services/backends/azure-backend.service.ts +72 -0
  112. package/projects/facecog-liveness-verification/src/lib/services/backends/facetec-backend.service.spec.ts +24 -0
  113. package/projects/facecog-liveness-verification/src/lib/services/backends/facetec-backend.service.ts +35 -0
  114. package/projects/facecog-liveness-verification/src/lib/services/backends/mock-backend.service.spec.ts +36 -0
  115. package/projects/facecog-liveness-verification/src/lib/services/backends/mock-backend.service.ts +39 -0
  116. package/projects/facecog-liveness-verification/src/lib/services/backends/openpose-backend.service.spec.ts +81 -0
  117. package/projects/facecog-liveness-verification/src/lib/services/backends/openpose-backend.service.ts +72 -0
  118. package/projects/facecog-liveness-verification/src/lib/services/backends/rekognition-analysis-backend.service.spec.ts +69 -0
  119. package/projects/facecog-liveness-verification/src/lib/services/backends/rekognition-analysis-backend.service.ts +83 -0
  120. package/projects/facecog-liveness-verification/src/lib/services/camera.service.spec.ts +200 -0
  121. package/projects/facecog-liveness-verification/src/lib/services/camera.service.ts +155 -0
  122. package/projects/facecog-liveness-verification/src/lib/services/custom-poses-api.service.ts +117 -0
  123. package/projects/facecog-liveness-verification/src/lib/services/index.ts +18 -0
  124. package/projects/facecog-liveness-verification/src/lib/services/liveness-backend.service.spec.ts +103 -0
  125. package/projects/facecog-liveness-verification/src/lib/services/liveness-backend.service.ts +61 -0
  126. package/projects/facecog-liveness-verification/src/lib/services/liveness-config.service.spec.ts +109 -0
  127. package/projects/facecog-liveness-verification/src/lib/services/liveness-config.service.ts +70 -0
  128. package/projects/facecog-liveness-verification/src/lib/services/liveness-orchestrator.service.spec.ts +144 -0
  129. package/projects/facecog-liveness-verification/src/lib/services/liveness-orchestrator.service.ts +162 -0
  130. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/hand-gesture-detection.service.ts +315 -0
  131. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/index.ts +5 -0
  132. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/openpose.service.ts +287 -0
  133. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/pose-comparison.service.ts +353 -0
  134. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/pose-matching.service.ts +2370 -0
  135. package/projects/facecog-liveness-verification/src/lib/services/pose-detection/reference-pose.service.ts +271 -0
  136. package/projects/facecog-liveness-verification/src/lib/services/pose-selection.service.spec.ts +183 -0
  137. package/projects/facecog-liveness-verification/src/lib/services/pose-selection.service.ts +179 -0
  138. package/projects/facecog-liveness-verification/src/lib/services/verification-api.service.spec.ts +159 -0
  139. package/projects/facecog-liveness-verification/src/lib/services/verification-api.service.ts +151 -0
  140. package/projects/facecog-liveness-verification/src/lib/services/verification-plan.service.spec.ts +184 -0
  141. package/projects/facecog-liveness-verification/src/lib/services/verification-plan.service.ts +94 -0
  142. package/projects/facecog-liveness-verification/src/lib/services/video-recorder.service.spec.ts +52 -0
  143. package/projects/facecog-liveness-verification/src/lib/services/video-recorder.service.ts +117 -0
  144. package/projects/facecog-liveness-verification/src/lib/types/detection-strategy.type.ts +5 -0
  145. package/projects/facecog-liveness-verification/src/lib/types/index.ts +7 -0
  146. package/projects/facecog-liveness-verification/src/lib/types/liveness-action.type.ts +31 -0
  147. package/projects/facecog-liveness-verification/src/lib/types/liveness-backend.type.ts +5 -0
  148. package/projects/facecog-liveness-verification/src/lib/types/pose-category.type.ts +5 -0
  149. package/projects/facecog-liveness-verification/src/lib/types/pose-difficulty.type.ts +5 -0
  150. package/projects/facecog-liveness-verification/src/lib/types/verification-flow-step.type.ts +5 -0
  151. package/projects/facecog-liveness-verification/src/lib/types/verification-step-kind.type.ts +4 -0
  152. package/projects/facecog-liveness-verification/src/public-api.ts +150 -0
  153. package/projects/facecog-liveness-verification/tsconfig.lib.json +20 -0
  154. package/projects/facecog-liveness-verification/tsconfig.lib.prod.json +11 -0
  155. package/projects/facecog-liveness-verification/tsconfig.spec.json +13 -0
  156. package/projects/facecog-liveness-verification/tsconfig.wrapper.json +15 -0
  157. package/projects/facecog-liveness-verification-test/src/app/app-routing.module.ts +22 -0
  158. package/projects/facecog-liveness-verification-test/src/app/app.component.html +3 -0
  159. package/projects/facecog-liveness-verification-test/src/app/app.component.scss +0 -0
  160. package/projects/facecog-liveness-verification-test/src/app/app.component.ts +11 -0
  161. package/projects/facecog-liveness-verification-test/src/app/app.module.ts +27 -0
  162. package/projects/facecog-liveness-verification-test/src/app/home/home-routing.module.ts +16 -0
  163. package/projects/facecog-liveness-verification-test/src/app/home/home.module.ts +19 -0
  164. package/projects/facecog-liveness-verification-test/src/app/home/home.page.html +39 -0
  165. package/projects/facecog-liveness-verification-test/src/app/home/home.page.scss +97 -0
  166. package/projects/facecog-liveness-verification-test/src/app/home/home.page.spec.ts +24 -0
  167. package/projects/facecog-liveness-verification-test/src/app/home/home.page.ts +92 -0
  168. package/projects/facecog-liveness-verification-test/src/app/home/verification-modal.component.ts +106 -0
  169. package/projects/facecog-liveness-verification-test/src/assets/fonts/gilroy/Gilroy-Bold_0.ttf +0 -0
  170. package/projects/facecog-liveness-verification-test/src/assets/fonts/gilroy/Gilroy-Medium_0.ttf +0 -0
  171. package/projects/facecog-liveness-verification-test/src/assets/fonts/gilroy/Gilroy-Regular_0.ttf +0 -0
  172. package/projects/facecog-liveness-verification-test/src/assets/fonts/gilroy/Gilroy-SemiBold_0.ttf +0 -0
  173. package/projects/facecog-liveness-verification-test/src/assets/fonts/gilroy/Gilroy-Thin_0.ttf +0 -0
  174. package/projects/facecog-liveness-verification-test/src/assets/icon/favicon.png +0 -0
  175. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Five_Fingers_Left.jpg +0 -0
  176. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Left_Palm.jpg +0 -0
  177. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Ok_Sign_Right.jpg +0 -0
  178. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Peace_Sign_Left.jpg +0 -0
  179. package/projects/facecog-liveness-verification-test/src/assets/images/poses/README.md +77 -0
  180. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Right_Palm.jpg +0 -0
  181. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Speak_Phrase.jpg +0 -0
  182. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Three_Fingers_Right.jpg +0 -0
  183. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Thumbs_Up_Left.jpg +0 -0
  184. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Thumbs_Up_Right.jpg +0 -0
  185. package/projects/facecog-liveness-verification-test/src/assets/images/poses/Wave_Right.jpg +0 -0
  186. package/projects/facecog-liveness-verification-test/src/assets/images/poses/blink.jpeg +0 -0
  187. package/projects/facecog-liveness-verification-test/src/assets/images/poses/blink_twice.jpeg +0 -0
  188. package/projects/facecog-liveness-verification-test/src/assets/images/poses/center_face.png +0 -0
  189. package/projects/facecog-liveness-verification-test/src/assets/images/poses/clap.jpeg +0 -0
  190. package/projects/facecog-liveness-verification-test/src/assets/images/poses/cover_mouth.png +0 -0
  191. package/projects/facecog-liveness-verification-test/src/assets/images/poses/cover_right_eye.png +0 -0
  192. package/projects/facecog-liveness-verification-test/src/assets/images/poses/cross_arms.png +0 -0
  193. package/projects/facecog-liveness-verification-test/src/assets/images/poses/face_straight.png +0 -0
  194. package/projects/facecog-liveness-verification-test/src/assets/images/poses/follow_dot.png +0 -0
  195. package/projects/facecog-liveness-verification-test/src/assets/images/poses/look_down.png +0 -0
  196. package/projects/facecog-liveness-verification-test/src/assets/images/poses/look_up.png +0 -0
  197. package/projects/facecog-liveness-verification-test/src/assets/images/poses/move_closer.png +0 -0
  198. package/projects/facecog-liveness-verification-test/src/assets/images/poses/nod.png +0 -0
  199. package/projects/facecog-liveness-verification-test/src/assets/images/poses/open_mouth.png +0 -0
  200. package/projects/facecog-liveness-verification-test/src/assets/images/poses/raise_eyebrow.png +0 -0
  201. package/projects/facecog-liveness-verification-test/src/assets/images/poses/rotate_face.jpeg +0 -0
  202. package/projects/facecog-liveness-verification-test/src/assets/images/poses/shake_head.jpeg +0 -0
  203. package/projects/facecog-liveness-verification-test/src/assets/images/poses/smile.png +0 -0
  204. package/projects/facecog-liveness-verification-test/src/assets/images/poses/tilt_left.png +0 -0
  205. package/projects/facecog-liveness-verification-test/src/assets/images/poses/tilt_right.png +0 -0
  206. package/projects/facecog-liveness-verification-test/src/assets/images/poses/touch_chin_left.jpg +0 -0
  207. package/projects/facecog-liveness-verification-test/src/assets/images/poses/touch_left_cheek.jpeg +0 -0
  208. package/projects/facecog-liveness-verification-test/src/assets/images/poses/touch_nose_right.png +0 -0
  209. package/projects/facecog-liveness-verification-test/src/assets/images/poses/touch_right_cheek.jpeg +0 -0
  210. package/projects/facecog-liveness-verification-test/src/assets/images/poses/turn_left.png +0 -0
  211. package/projects/facecog-liveness-verification-test/src/assets/images/poses/turn_right.png +0 -0
  212. package/projects/facecog-liveness-verification-test/src/assets/images/poses/wink.jpeg +0 -0
  213. package/projects/facecog-liveness-verification-test/src/assets/images/reference-pose.jpg +0 -0
  214. package/projects/facecog-liveness-verification-test/src/assets/shapes.svg +1 -0
  215. package/projects/facecog-liveness-verification-test/src/environments/environment.prod.ts +4 -0
  216. package/projects/facecog-liveness-verification-test/src/environments/environment.ts +17 -0
  217. package/projects/facecog-liveness-verification-test/src/global.scss +288 -0
  218. package/projects/facecog-liveness-verification-test/src/index.html +31 -0
  219. package/projects/facecog-liveness-verification-test/src/main.ts +6 -0
  220. package/projects/facecog-liveness-verification-test/src/polyfills.ts +55 -0
  221. package/projects/facecog-liveness-verification-test/src/theme/nextsapien-theme.scss +174 -0
  222. package/projects/facecog-liveness-verification-test/src/theme/variables.scss +2 -0
  223. package/projects/facecog-liveness-verification-test/src/zone-flags.ts +6 -0
  224. package/projects/facecog-liveness-verification-test/tsconfig.app.json +15 -0
  225. package/projects/facecog-liveness-verification-test/tsconfig.spec.json +14 -0
  226. package/setup-jest.ts +118 -0
  227. package/tsconfig.json +41 -0
  228. package/tsconfig.spec.json +15 -0
  229. package/vercel.json +24 -0
@@ -0,0 +1,288 @@
1
+ /*
2
+ * App Global CSS
3
+ * ----------------------------------------------------------------------------
4
+ * Put style rules here that you want to apply globally. These styles are for
5
+ * the entire app and not just one component. Additionally, this file can be
6
+ * used as an entry point to import other CSS/Sass files to be included in the
7
+ * output CSS.
8
+ * For more information on global stylesheets, visit the documentation:
9
+ * https://ionicframework.com/docs/layout/global-stylesheets
10
+ */
11
+
12
+ /* AWS Amplify UI Liveness Styles - Required for FaceLivenessDetector */
13
+ @import '../../../node_modules/@aws-amplify/ui-react/dist/styles.css';
14
+
15
+ /* Core CSS required for Ionic components to work properly */
16
+ @import "@ionic/angular/css/core.css";
17
+
18
+ /* Basic CSS for apps built with Ionic */
19
+ @import "@ionic/angular/css/normalize.css";
20
+ @import "@ionic/angular/css/structure.css";
21
+ @import "@ionic/angular/css/typography.css";
22
+ @import "@ionic/angular/css/display.css";
23
+
24
+ /* Optional CSS utils that can be commented out */
25
+ @import "@ionic/angular/css/padding.css";
26
+ @import "@ionic/angular/css/float-elements.css";
27
+ @import "@ionic/angular/css/text-alignment.css";
28
+ @import "@ionic/angular/css/text-transformation.css";
29
+ @import "@ionic/angular/css/flex-utils.css";
30
+
31
+ /**
32
+ * Ionic Dark Mode
33
+ * -----------------------------------------------------
34
+ * For more info, please see:
35
+ * https://ionicframework.com/docs/theming/dark-mode
36
+ */
37
+
38
+ /* @import "@ionic/angular/css/palettes/dark.always.css"; */
39
+ /* @import "@ionic/angular/css/palettes/dark.class.css"; */
40
+ @import "@ionic/angular/css/palettes/dark.system.css";
41
+
42
+ /* Custom Fonts */
43
+ @font-face {
44
+ font-family: 'Gilroy-Regular';
45
+ src: url('./assets/fonts/gilroy/Gilroy-Regular_0.ttf') format('truetype');
46
+ font-weight: normal;
47
+ font-style: normal;
48
+ }
49
+
50
+ @font-face {
51
+ font-family: 'Gilroy-Medium';
52
+ src: url('./assets/fonts/gilroy/Gilroy-Medium_0.ttf') format('truetype');
53
+ font-weight: 500;
54
+ font-style: normal;
55
+ }
56
+
57
+ @font-face {
58
+ font-family: 'Gilroy-SemiBold';
59
+ src: url('./assets/fonts/gilroy/Gilroy-SemiBold_0.ttf') format('truetype');
60
+ font-weight: 600;
61
+ font-style: normal;
62
+ }
63
+
64
+ @font-face {
65
+ font-family: 'Gilroy-Bold';
66
+ src: url('./assets/fonts/gilroy/Gilroy-Bold_0.ttf') format('truetype');
67
+ font-weight: bold;
68
+ font-style: normal;
69
+ }
70
+
71
+ @font-face {
72
+ font-family: 'Gilroy-Thin';
73
+ src: url('./assets/fonts/gilroy/Gilroy-Thin_0.ttf') format('truetype');
74
+ font-weight: 100;
75
+ font-style: normal;
76
+ }
77
+
78
+ /* Next Sapien Component Library Theme */
79
+ @import '../../../node_modules/@naniteninja/ionic-lib/src/lib/shared-styles/styles.scss';
80
+
81
+ /* Global Theme Overrides */
82
+ :root {
83
+ --ion-background-color: #1a1a2e;
84
+ --ion-background-color-rgb: 26, 26, 46;
85
+
86
+ --ion-text-color: #ffffff;
87
+ --ion-text-color-rgb: 255, 255, 255;
88
+
89
+ --ion-color-primary: #fe3c72;
90
+ --ion-color-primary-rgb: 254, 60, 114;
91
+ --ion-color-primary-contrast: #ffffff;
92
+ --ion-color-primary-contrast-rgb: 255, 255, 255;
93
+ --ion-color-primary-shade: #e03564;
94
+ --ion-color-primary-tint: #fe5080;
95
+
96
+ --ion-toolbar-background: #2b2d42;
97
+ --ion-item-background: #2b2d42;
98
+ --ion-card-background: #2b2d42;
99
+ }
100
+
101
+ body {
102
+ font-family: 'Gilroy-Regular', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
103
+ background: #1a1a2e;
104
+ }
105
+
106
+ * {
107
+ font-family: 'Gilroy-Regular', sans-serif;
108
+ }
109
+
110
+ /* Verification Modal - full screen on mobile, centered on desktop */
111
+ .verification-modal {
112
+ --width: 100%;
113
+ --height: 100%;
114
+ --border-radius: 0;
115
+
116
+ @media (min-width: 768px) {
117
+ --width: 520px;
118
+ --height: 85vh;
119
+ --border-radius: 16px;
120
+ }
121
+
122
+ .ion-page {
123
+ display: flex;
124
+ flex-direction: column;
125
+ }
126
+ }
127
+
128
+ /* AWS Amplify FaceLivenessDetector Full Screen Overrides */
129
+ app-aws-face-liveness {
130
+ display: block;
131
+ width: 100%;
132
+ height: 100%;
133
+ position: fixed;
134
+ top: 0;
135
+ left: 0;
136
+ right: 0;
137
+ bottom: 0;
138
+ z-index: 9999;
139
+ }
140
+
141
+ .aws-face-liveness-container {
142
+ width: 100% !important;
143
+ height: 100% !important;
144
+ min-height: 100vh !important;
145
+ position: fixed !important;
146
+ top: 0 !important;
147
+ left: 0 !important;
148
+ right: 0 !important;
149
+ bottom: 0 !important;
150
+ z-index: 9999 !important;
151
+ background: #fff !important;
152
+ overflow: auto !important;
153
+ }
154
+
155
+ .aws-face-liveness-container .react-container {
156
+ width: 100% !important;
157
+ height: 100% !important;
158
+ min-height: 100vh !important;
159
+ overflow: auto !important;
160
+ }
161
+
162
+ /* AWS Amplify Liveness Detector - Make it full screen */
163
+ .face-liveness-container {
164
+ width: 100% !important;
165
+ height: 100% !important;
166
+ min-height: 100vh !important;
167
+ overflow: auto !important;
168
+ }
169
+
170
+ /* Override Amplify UI Liveness Component styles */
171
+ [data-amplify-liveness-detector] {
172
+ width: 100% !important;
173
+ height: auto !important;
174
+ min-height: 100vh !important;
175
+ overflow: visible !important;
176
+ }
177
+
178
+ /* Fix Amplify Flex container that wraps everything */
179
+ [data-amplify-liveness-detector] > .amplify-flex {
180
+ width: 100% !important;
181
+ height: auto !important;
182
+ min-height: 100vh !important;
183
+ flex-direction: column !important;
184
+ overflow: visible !important;
185
+ }
186
+
187
+ /* Start screen container - ensure full visibility */
188
+ [class*="StartScreen"] {
189
+ width: 100% !important;
190
+ height: auto !important;
191
+ min-height: 100vh !important;
192
+ padding-bottom: 100px !important;
193
+ overflow: visible !important;
194
+ }
195
+
196
+ /* Amplify View container */
197
+ .amplify-view {
198
+ width: 100% !important;
199
+ height: auto !important;
200
+ overflow: visible !important;
201
+ }
202
+
203
+ /* Fix the start screen scrolling */
204
+ .amplify-liveness-start-screen,
205
+ [class*="liveness-detector-start"] {
206
+ width: 100% !important;
207
+ height: auto !important;
208
+ min-height: 100vh !important;
209
+ overflow-y: auto !important;
210
+ padding-bottom: 120px !important;
211
+ }
212
+
213
+ /* Make sure the button container is visible */
214
+ .amplify-button,
215
+ [data-amplify-liveness-detector] button {
216
+ z-index: 10000 !important;
217
+ position: relative !important;
218
+ }
219
+
220
+ /* Start video check button - ensure visibility */
221
+ [class*="StartButton"],
222
+ button[class*="start"],
223
+ .amplify-button--primary {
224
+ position: relative !important;
225
+ z-index: 10001 !important;
226
+ margin-top: 20px !important;
227
+ margin-bottom: 40px !important;
228
+ }
229
+
230
+ /* Camera/video preview area */
231
+ .amplify-liveness-video-container,
232
+ .amplify-liveness-canvas-container,
233
+ [class*="VideoContainer"] {
234
+ width: 100% !important;
235
+ max-height: 60vh !important;
236
+ }
237
+
238
+ /* Ensure the oval overlay fills properly during check */
239
+ .amplify-liveness-oval-canvas {
240
+ width: 100% !important;
241
+ height: 100% !important;
242
+ }
243
+
244
+ /* Fix the instructions and hints */
245
+ [class*="Instructions"],
246
+ [class*="Hint"] {
247
+ padding: 16px !important;
248
+ text-align: center !important;
249
+ }
250
+
251
+ /* Recording indicator */
252
+ .amplify-liveness-recording-icon-container {
253
+ position: fixed !important;
254
+ top: 20px !important;
255
+ right: 20px !important;
256
+ z-index: 10002 !important;
257
+ }
258
+
259
+ /* Cancel button visibility */
260
+ .amplify-liveness-cancel-button,
261
+ button[class*="cancel"],
262
+ button[class*="Cancel"] {
263
+ position: relative !important;
264
+ z-index: 10001 !important;
265
+ margin: 20px !important;
266
+ }
267
+
268
+ /* Photosensitivity warning screen */
269
+ [class*="PhotosensitiveWarning"],
270
+ [class*="photosensitive"] {
271
+ width: 100% !important;
272
+ height: auto !important;
273
+ min-height: 100vh !important;
274
+ padding: 20px !important;
275
+ padding-bottom: 100px !important;
276
+ overflow-y: auto !important;
277
+ }
278
+
279
+ /* Good fit / too far images container */
280
+ [class*="FigureContainer"],
281
+ [class*="figure-container"] {
282
+ display: flex !important;
283
+ justify-content: center !important;
284
+ gap: 20px !important;
285
+ flex-wrap: wrap !important;
286
+ padding: 20px !important;
287
+ }
288
+
@@ -0,0 +1,31 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <title>Ionic App</title>
7
+
8
+ <base href="/" />
9
+
10
+ <meta name="color-scheme" content="light dark" />
11
+ <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
12
+ <meta name="format-detection" content="telephone=no" />
13
+ <meta name="msapplication-tap-highlight" content="no" />
14
+
15
+ <link rel="icon" type="image/png" href="assets/icon/favicon.png" />
16
+
17
+ <!-- Google Fonts - Calistoga -->
18
+ <link rel="preconnect" href="https://fonts.googleapis.com">
19
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20
+ <link href="https://fonts.googleapis.com/css2?family=Calistoga&display=swap" rel="stylesheet">
21
+
22
+ <!-- add to homescreen for ios -->
23
+ <meta name="mobile-web-app-capable" content="yes" />
24
+ <meta name="apple-mobile-web-app-status-bar-style" content="black" />
25
+ </head>
26
+
27
+ <body>
28
+ <app-root></app-root>
29
+ </body>
30
+
31
+ </html>
@@ -0,0 +1,6 @@
1
+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2
+
3
+ import { AppModule } from './app/app.module';
4
+
5
+ platformBrowserDynamic().bootstrapModule(AppModule)
6
+ .catch(err => console.log(err));
@@ -0,0 +1,55 @@
1
+ /**
2
+ * This file includes polyfills needed by Angular and is loaded before the app.
3
+ * You can add your own extra polyfills to this file.
4
+ *
5
+ * This file is divided into 2 sections:
6
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
8
+ * file.
9
+ *
10
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11
+ * automatically update themselves. This includes recent versions of Safari, Chrome (including
12
+ * Opera), Edge on the desktop, and iOS and Chrome on mobile.
13
+ *
14
+ * Learn more in https://angular.io/guide/browser-support
15
+ */
16
+
17
+ /***************************************************************************************************
18
+ * BROWSER POLYFILLS
19
+ */
20
+
21
+ /**
22
+ * By default, zone.js will patch all possible macroTask and DomEvents
23
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
24
+ * because those flags need to be set before `zone.js` being loaded, and webpack
25
+ * will put import in the top of bundle, so user need to create a separate file
26
+ * in this directory (for example: zone-flags.ts), and put the following flags
27
+ * into that file, and then add the following code before importing zone.js.
28
+ * import './zone-flags';
29
+ *
30
+ * The flags allowed in zone-flags.ts are listed here.
31
+ *
32
+ * The following flags will work for all browsers.
33
+ *
34
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
35
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
36
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
37
+ *
38
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
39
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
40
+ *
41
+ * (window as any).__Zone_enable_cross_context_check = true;
42
+ *
43
+ */
44
+
45
+ import './zone-flags';
46
+
47
+ /***************************************************************************************************
48
+ * Zone JS is required by default for Angular itself.
49
+ */
50
+ import 'zone.js'; // Included with Angular CLI.
51
+
52
+
53
+ /***************************************************************************************************
54
+ * APPLICATION IMPORTS
55
+ */
@@ -0,0 +1,174 @@
1
+ // Next Sapien Component Library Theme
2
+ // Replicated from showcase.thecyrano.app
3
+
4
+ // Color Palette
5
+ $ns-primary: #fe3c72;
6
+ $ns-accent: #ff6b9d;
7
+ $ns-background: #1a1a2e;
8
+ $ns-surface: #2b2d42;
9
+ $ns-card-bg: #2b2d42;
10
+ $ns-text: #ffffff;
11
+ $ns-text-secondary: rgba(255, 255, 255, 0.7);
12
+ $ns-border: rgba(255, 255, 255, 0.1);
13
+ $ns-shadow: rgba(0, 0, 0, 0.3);
14
+
15
+ // Success/Error Colors
16
+ $ns-success: #4caf50;
17
+ $ns-warning: #ff9800;
18
+ $ns-error: #f44336;
19
+ $ns-info: #2196f3;
20
+
21
+ // Typography
22
+ $ns-font-family: 'Gilroy', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
23
+ $ns-font-size-base: 14px;
24
+ $ns-font-size-small: 12px;
25
+ $ns-font-size-large: 16px;
26
+ $ns-font-size-xlarge: 20px;
27
+
28
+ // Spacing
29
+ $ns-spacing-xs: 4px;
30
+ $ns-spacing-sm: 8px;
31
+ $ns-spacing-md: 16px;
32
+ $ns-spacing-lg: 24px;
33
+ $ns-spacing-xl: 32px;
34
+
35
+ // Border Radius
36
+ $ns-border-radius-sm: 4px;
37
+ $ns-border-radius-md: 8px;
38
+ $ns-border-radius-lg: 12px;
39
+ $ns-border-radius-xl: 16px;
40
+
41
+ // Shadows
42
+ $ns-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
43
+ $ns-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.2);
44
+ $ns-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.3);
45
+ $ns-shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.4);
46
+
47
+ // Base Card
48
+ @mixin ns-card {
49
+ background: $ns-card-bg;
50
+ border-radius: $ns-border-radius-md;
51
+ box-shadow: $ns-shadow-md;
52
+ padding: $ns-spacing-lg;
53
+ }
54
+
55
+ // Primary Button
56
+ @mixin ns-button-primary {
57
+ background: linear-gradient(135deg, $ns-primary 0%, $ns-accent 100%);
58
+ color: $ns-text;
59
+ border: none;
60
+ border-radius: $ns-border-radius-sm;
61
+ padding: 12px 24px;
62
+ font-size: $ns-font-size-base;
63
+ font-weight: 600;
64
+ text-transform: uppercase;
65
+ letter-spacing: 0.5px;
66
+ cursor: pointer;
67
+ transition: all 0.3s ease;
68
+ box-shadow: 0 4px 12px rgba($ns-primary, 0.3);
69
+
70
+ &:hover {
71
+ transform: translateY(-2px);
72
+ box-shadow: 0 6px 16px rgba($ns-primary, 0.4);
73
+ }
74
+
75
+ &:active {
76
+ transform: translateY(0);
77
+ }
78
+
79
+ &:disabled {
80
+ opacity: 0.5;
81
+ cursor: not-allowed;
82
+ transform: none;
83
+ }
84
+ }
85
+
86
+ // Secondary Button
87
+ @mixin ns-button-secondary {
88
+ background: transparent;
89
+ color: $ns-primary;
90
+ border: 2px solid $ns-primary;
91
+ border-radius: $ns-border-radius-sm;
92
+ padding: 10px 22px;
93
+ font-size: $ns-font-size-base;
94
+ font-weight: 600;
95
+ text-transform: uppercase;
96
+ letter-spacing: 0.5px;
97
+ cursor: pointer;
98
+ transition: all 0.3s ease;
99
+
100
+ &:hover {
101
+ background: rgba($ns-primary, 0.1);
102
+ transform: translateY(-2px);
103
+ }
104
+
105
+ &:disabled {
106
+ opacity: 0.5;
107
+ cursor: not-allowed;
108
+ }
109
+ }
110
+
111
+ // Progress Bar
112
+ @mixin ns-progress-bar {
113
+ height: 8px;
114
+ background: rgba(255, 255, 255, 0.1);
115
+ border-radius: 4px;
116
+ overflow: hidden;
117
+
118
+ .progress-fill {
119
+ height: 100%;
120
+ background: linear-gradient(90deg, $ns-primary 0%, $ns-accent 100%);
121
+ transition: width 0.3s ease;
122
+ border-radius: 4px;
123
+ }
124
+ }
125
+
126
+ // Toast Notification
127
+ @mixin ns-toast {
128
+ background: $ns-surface;
129
+ color: $ns-text;
130
+ padding: $ns-spacing-md $ns-spacing-lg;
131
+ border-radius: $ns-border-radius-sm;
132
+ box-shadow: $ns-shadow-lg;
133
+ display: flex;
134
+ align-items: center;
135
+ gap: $ns-spacing-sm;
136
+ min-width: 300px;
137
+
138
+ &.success {
139
+ border-left: 4px solid $ns-success;
140
+ }
141
+
142
+ &.error {
143
+ border-left: 4px solid $ns-error;
144
+ }
145
+
146
+ &.warning {
147
+ border-left: 4px solid $ns-warning;
148
+ }
149
+
150
+ &.info {
151
+ border-left: 4px solid $ns-info;
152
+ }
153
+ }
154
+
155
+ // Input Field
156
+ @mixin ns-input {
157
+ background: rgba(255, 255, 255, 0.05);
158
+ border: 1px solid $ns-border;
159
+ border-radius: $ns-border-radius-sm;
160
+ color: $ns-text;
161
+ padding: 12px 16px;
162
+ font-size: $ns-font-size-base;
163
+ transition: all 0.3s ease;
164
+
165
+ &:focus {
166
+ outline: none;
167
+ border-color: $ns-primary;
168
+ box-shadow: 0 0 0 3px rgba($ns-primary-rgb, 0.1);
169
+ }
170
+
171
+ &::placeholder {
172
+ color: $ns-text-secondary;
173
+ }
174
+ }
@@ -0,0 +1,2 @@
1
+ // For information on how to create your own theme, please see:
2
+ // http://ionicframework.com/docs/theming/
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Prevents Angular change detection from
3
+ * running with certain Web Component callbacks
4
+ */
5
+ // eslint-disable-next-line no-underscore-dangle
6
+ (window as any).__Zone_disable_customElements = true;
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../out-tsc/app",
5
+ "types": []
6
+ },
7
+ "files": [
8
+ "src/main.ts",
9
+ "src/polyfills.ts"
10
+ ],
11
+ "include": [
12
+ "src/**/*.d.ts",
13
+ "src/**/*.tsx"
14
+ ]
15
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/spec",
7
+ "types": [
8
+ "jasmine"
9
+ ]
10
+ },
11
+ "include": [
12
+ "src/**/*.ts"
13
+ ]
14
+ }