@monkvision/inspection-capture-web 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/LICENSE +32 -0
  2. package/README.md +97 -0
  3. package/lib/PhotoCapture/PhotoCapture.d.ts +44 -0
  4. package/lib/PhotoCapture/PhotoCapture.js +179 -0
  5. package/lib/PhotoCapture/PhotoCapture.js.map +1 -0
  6. package/lib/PhotoCapture/PhotoCapture.styles.d.ts +2 -0
  7. package/lib/PhotoCapture/PhotoCapture.styles.js +34 -0
  8. package/lib/PhotoCapture/PhotoCapture.styles.js.map +1 -0
  9. package/lib/PhotoCapture/PhotoCaptureHOC.d.ts +40 -0
  10. package/lib/PhotoCapture/PhotoCaptureHOC.js +60 -0
  11. package/lib/PhotoCapture/PhotoCaptureHOC.js.map +1 -0
  12. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.d.ts +88 -0
  13. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.js +51 -0
  14. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.js.map +1 -0
  15. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.styles.d.ts +2 -0
  16. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.styles.js +25 -0
  17. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUD.styles.js.map +1 -0
  18. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.d.ts +66 -0
  19. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.js +44 -0
  20. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.js.map +1 -0
  21. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.styles.d.ts +5 -0
  22. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.styles.js +72 -0
  23. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/PhotoCaptureHUDButtons.styles.js.map +1 -0
  24. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/hooks.d.ts +25 -0
  25. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/hooks.js +45 -0
  26. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/hooks.js.map +1 -0
  27. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/index.d.ts +1 -0
  28. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/index.js +6 -0
  29. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDButtons/index.js.map +1 -0
  30. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/PhotoCaptureHUDCancelButton.d.ts +13 -0
  31. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/PhotoCaptureHUDCancelButton.js +29 -0
  32. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/PhotoCaptureHUDCancelButton.js.map +1 -0
  33. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/index.d.ts +1 -0
  34. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/index.js +6 -0
  35. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCancelButton/index.js.map +1 -0
  36. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.d.ts +5 -0
  37. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.js +28 -0
  38. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.js.map +1 -0
  39. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.styles.d.ts +2 -0
  40. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.styles.js +17 -0
  41. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/PhotoCaptureHUDCounter.styles.js.map +1 -0
  42. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/hooks.d.ts +24 -0
  43. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/hooks.js +17 -0
  44. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/hooks.js.map +1 -0
  45. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/index.d.ts +2 -0
  46. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/index.js +6 -0
  47. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDCounter/index.js.map +1 -0
  48. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/PhotoCaptureHUDElements.d.ts +63 -0
  49. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/PhotoCaptureHUDElements.js +25 -0
  50. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/PhotoCaptureHUDElements.js.map +1 -0
  51. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/index.d.ts +1 -0
  52. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/index.js +6 -0
  53. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElements/index.js.map +1 -0
  54. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.d.ts +14 -0
  55. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.js +39 -0
  56. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.js.map +1 -0
  57. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.styles.d.ts +2 -0
  58. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.styles.js +46 -0
  59. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/PhotoCaptureHUDElementsAddDamage1stShot.styles.js.map +1 -0
  60. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/hooks.d.ts +6 -0
  61. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/hooks.js +25 -0
  62. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/hooks.js.map +1 -0
  63. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/index.d.ts +1 -0
  64. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/index.js +6 -0
  65. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage1stShot/index.js.map +1 -0
  66. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.d.ts +19 -0
  67. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.js +41 -0
  68. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.js.map +1 -0
  69. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.styles.d.ts +2 -0
  70. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.styles.js +78 -0
  71. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/PhotoCaptureHUDElementsAddDamage2ndShot.styles.js.map +1 -0
  72. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/hooks.d.ts +7 -0
  73. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/hooks.js +26 -0
  74. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/hooks.js.map +1 -0
  75. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/index.d.ts +1 -0
  76. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/index.js +6 -0
  77. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsAddDamage2ndShot/index.js.map +1 -0
  78. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/AddDamageButton.d.ts +19 -0
  79. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/AddDamageButton.js +29 -0
  80. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/AddDamageButton.js.map +1 -0
  81. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/index.d.ts +1 -0
  82. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/index.js +6 -0
  83. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/AddDamageButton/index.js.map +1 -0
  84. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.d.ts +6 -0
  85. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.js +35 -0
  86. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.js.map +1 -0
  87. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.styles.d.ts +2 -0
  88. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.styles.js +40 -0
  89. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/PhotoCaptureHUDElementsSight.styles.js.map +1 -0
  90. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.d.ts +14 -0
  91. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.js +37 -0
  92. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.js.map +1 -0
  93. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.styles.d.ts +2 -0
  94. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.styles.js +28 -0
  95. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/SightGuideline.styles.js.map +1 -0
  96. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/index.d.ts +1 -0
  97. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/index.js +18 -0
  98. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightGuideline/index.js.map +1 -0
  99. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.d.ts +36 -0
  100. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.js +63 -0
  101. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.js.map +1 -0
  102. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.styles.d.ts +2 -0
  103. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.styles.js +30 -0
  104. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSlider.styles.js.map +1 -0
  105. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSliderButton.d.ts +26 -0
  106. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSliderButton.js +67 -0
  107. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/SightSliderButton.js.map +1 -0
  108. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/hooks.d.ts +5 -0
  109. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/hooks.js +24 -0
  110. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/hooks.js.map +1 -0
  111. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/index.d.ts +2 -0
  112. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/index.js +8 -0
  113. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/SightSlider/index.js.map +1 -0
  114. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/hooks.d.ts +867 -0
  115. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/hooks.js +38 -0
  116. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/hooks.js.map +1 -0
  117. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/index.d.ts +5 -0
  118. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/index.js +23 -0
  119. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDElementsSight/index.js.map +1 -0
  120. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.d.ts +6 -0
  121. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.js +37 -0
  122. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.js.map +1 -0
  123. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.styles.d.ts +2 -0
  124. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.styles.js +40 -0
  125. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/PhotoCaptureHUDOverlay.styles.js.map +1 -0
  126. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.d.ts +28 -0
  127. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.js +58 -0
  128. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/hooks.js.map +1 -0
  129. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/index.d.ts +2 -0
  130. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/index.js +6 -0
  131. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDOverlay/index.js.map +1 -0
  132. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/ArrowIcon.d.ts +5 -0
  133. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/ArrowIcon.js +20 -0
  134. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/ArrowIcon.js.map +1 -0
  135. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/DisplayText.d.ts +5 -0
  136. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/DisplayText.js +25 -0
  137. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/DisplayText.js.map +1 -0
  138. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.d.ts +27 -0
  139. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.js +37 -0
  140. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.js.map +1 -0
  141. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.styles.d.ts +2 -0
  142. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.styles.js +68 -0
  143. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/PhotoCaptureHUDTutorial.styles.js.map +1 -0
  144. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/index.d.ts +3 -0
  145. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/index.js +10 -0
  146. package/lib/PhotoCapture/PhotoCaptureHUD/PhotoCaptureHUDTutorial/index.js.map +1 -0
  147. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/index.d.ts +2 -0
  148. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/index.js +19 -0
  149. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/index.js.map +1 -0
  150. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDButtonBackground.d.ts +4 -0
  151. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDButtonBackground.js +14 -0
  152. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDButtonBackground.js.map +1 -0
  153. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDStyle.d.ts +814 -0
  154. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDStyle.js +25 -0
  155. package/lib/PhotoCapture/PhotoCaptureHUD/hooks/usePhotoCaptureHUDStyle.js.map +1 -0
  156. package/lib/PhotoCapture/PhotoCaptureHUD/index.d.ts +11 -0
  157. package/lib/PhotoCapture/PhotoCaptureHUD/index.js +30 -0
  158. package/lib/PhotoCapture/PhotoCaptureHUD/index.js.map +1 -0
  159. package/lib/PhotoCapture/errors.d.ts +3 -0
  160. package/lib/PhotoCapture/errors.js +8 -0
  161. package/lib/PhotoCapture/errors.js.map +1 -0
  162. package/lib/PhotoCapture/hooks/index.d.ts +11 -0
  163. package/lib/PhotoCapture/hooks/index.js +28 -0
  164. package/lib/PhotoCapture/hooks/index.js.map +1 -0
  165. package/lib/PhotoCapture/hooks/useAdaptiveCameraConfig.d.ts +29 -0
  166. package/lib/PhotoCapture/hooks/useAdaptiveCameraConfig.js +80 -0
  167. package/lib/PhotoCapture/hooks/useAdaptiveCameraConfig.js.map +1 -0
  168. package/lib/PhotoCapture/hooks/useAddDamageMode.d.ts +42 -0
  169. package/lib/PhotoCapture/hooks/useAddDamageMode.js +58 -0
  170. package/lib/PhotoCapture/hooks/useAddDamageMode.js.map +1 -0
  171. package/lib/PhotoCapture/hooks/useBadConnectionWarning.d.ts +27 -0
  172. package/lib/PhotoCapture/hooks/useBadConnectionWarning.js +38 -0
  173. package/lib/PhotoCapture/hooks/useBadConnectionWarning.js.map +1 -0
  174. package/lib/PhotoCapture/hooks/useComplianceAnalytics.d.ts +20 -0
  175. package/lib/PhotoCapture/hooks/useComplianceAnalytics.js +54 -0
  176. package/lib/PhotoCapture/hooks/useComplianceAnalytics.js.map +1 -0
  177. package/lib/PhotoCapture/hooks/usePhotoCaptureImages.d.ts +5 -0
  178. package/lib/PhotoCapture/hooks/usePhotoCaptureImages.js +14 -0
  179. package/lib/PhotoCapture/hooks/usePhotoCaptureImages.js.map +1 -0
  180. package/lib/PhotoCapture/hooks/usePhotoCaptureSightState.d.ts +80 -0
  181. package/lib/PhotoCapture/hooks/usePhotoCaptureSightState.js +201 -0
  182. package/lib/PhotoCapture/hooks/usePhotoCaptureSightState.js.map +1 -0
  183. package/lib/PhotoCapture/hooks/usePhotoCaptureTutorial.d.ts +36 -0
  184. package/lib/PhotoCapture/hooks/usePhotoCaptureTutorial.js +67 -0
  185. package/lib/PhotoCapture/hooks/usePhotoCaptureTutorial.js.map +1 -0
  186. package/lib/PhotoCapture/hooks/usePictureTaken.d.ts +35 -0
  187. package/lib/PhotoCapture/hooks/usePictureTaken.js +45 -0
  188. package/lib/PhotoCapture/hooks/usePictureTaken.js.map +1 -0
  189. package/lib/PhotoCapture/hooks/useStartTasksOnComplete.d.ts +33 -0
  190. package/lib/PhotoCapture/hooks/useStartTasksOnComplete.js +100 -0
  191. package/lib/PhotoCapture/hooks/useStartTasksOnComplete.js.map +1 -0
  192. package/lib/PhotoCapture/hooks/useTracking.d.ts +17 -0
  193. package/lib/PhotoCapture/hooks/useTracking.js +29 -0
  194. package/lib/PhotoCapture/hooks/useTracking.js.map +1 -0
  195. package/lib/PhotoCapture/hooks/useUploadQueue.d.ts +95 -0
  196. package/lib/PhotoCapture/hooks/useUploadQueue.js +117 -0
  197. package/lib/PhotoCapture/hooks/useUploadQueue.js.map +1 -0
  198. package/lib/PhotoCapture/index.d.ts +3 -0
  199. package/lib/PhotoCapture/index.js +21 -0
  200. package/lib/PhotoCapture/index.js.map +1 -0
  201. package/lib/assets/arrows.asset.d.ts +2 -0
  202. package/lib/assets/arrows.asset.js +6 -0
  203. package/lib/assets/arrows.asset.js.map +1 -0
  204. package/lib/assets/crosshair.asset.d.ts +1 -0
  205. package/lib/assets/crosshair.asset.js +5 -0
  206. package/lib/assets/crosshair.asset.js.map +1 -0
  207. package/lib/assets/index.d.ts +2 -0
  208. package/lib/assets/index.js +19 -0
  209. package/lib/assets/index.js.map +1 -0
  210. package/lib/i18n.d.ts +6 -0
  211. package/lib/i18n.js +25 -0
  212. package/lib/i18n.js.map +1 -0
  213. package/lib/index.d.ts +2 -0
  214. package/lib/index.js +19 -0
  215. package/lib/index.js.map +1 -0
  216. package/lib/translations/de.json +45 -0
  217. package/lib/translations/en.json +45 -0
  218. package/lib/translations/fr.json +45 -0
  219. package/lib/translations/nl.json +45 -0
  220. package/package.json +94 -0
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.usePhotoCaptureSightState = void 0;
13
+ var react_1 = require("react");
14
+ var network_1 = require("@monkvision/network");
15
+ var monitoring_1 = require("@monkvision/monitoring");
16
+ var common_1 = require("@monkvision/common");
17
+ var types_1 = require("@monkvision/types");
18
+ var sights_1 = require("@monkvision/sights");
19
+ var analytics_1 = require("@monkvision/analytics");
20
+ var errors_1 = require("../errors");
21
+ function getCaptureTasks(captureSights, tasksBySight) {
22
+ var tasks = [];
23
+ captureSights.forEach(function (sight) {
24
+ var sightTasks = tasksBySight ? tasksBySight[sight.id] : sight.tasks;
25
+ sightTasks.forEach(function (task) {
26
+ if (!tasks.includes(task)) {
27
+ tasks.push(task);
28
+ }
29
+ });
30
+ });
31
+ return tasks;
32
+ }
33
+ function assertInspectionIsValid(inspectionId, response, captureSights, tasksBySight) {
34
+ var _a, _b;
35
+ var inspectionTasks = (_b = (_a = response.entities.tasks) === null || _a === void 0 ? void 0 : _a.filter(function (task) { return task.inspectionId === inspectionId; })) === null || _b === void 0 ? void 0 : _b.map(function (task) { return task.name; });
36
+ if (inspectionTasks) {
37
+ var missingTasks_1 = [];
38
+ getCaptureTasks(captureSights, tasksBySight).forEach(function (captureTask) {
39
+ if (!inspectionTasks.includes(captureTask)) {
40
+ missingTasks_1.push(captureTask);
41
+ }
42
+ });
43
+ if (missingTasks_1.length > 0) {
44
+ var error = new Error("The provided inspection is missing the following tasks required by the current capture configuration : ".concat(missingTasks_1));
45
+ error.name = errors_1.PhotoCaptureErrorName.MISSING_TASK_IN_INSPECTION;
46
+ throw error;
47
+ }
48
+ }
49
+ }
50
+ function getSightsTaken(inspectionId, response) {
51
+ var _a, _b;
52
+ return (0, common_1.uniq)((_b = (_a = response.entities.images) === null || _a === void 0 ? void 0 : _a.filter(function (image) { return image.inspectionId === inspectionId && image.sightId; }).map(function (image) { return sights_1.sights[image.sightId]; })) !== null && _b !== void 0 ? _b : []);
53
+ }
54
+ function getLastPictureTakenUri(inspectionId, response) {
55
+ var images = response.entities.images.filter(function (image) { return image.inspectionId === inspectionId; });
56
+ return images && images.length > 0 ? images[images.length - 1].path : null;
57
+ }
58
+ /**
59
+ * Custom hook used to manage the state of the PhotoCapture sights. This state is automatically fetched from the API at
60
+ * the start of the PhotoCapture process in order to allow users to start the inspection where they left it before.
61
+ */
62
+ function usePhotoCaptureSightState(_a) {
63
+ var inspectionId = _a.inspectionId, captureSights = _a.captureSights, apiConfig = _a.apiConfig, loading = _a.loading, onLastSightTaken = _a.onLastSightTaken, tasksBySight = _a.tasksBySight, setIsInitialInspectionFetched = _a.setIsInitialInspectionFetched, complianceOptions = _a.complianceOptions;
64
+ if (captureSights.length === 0) {
65
+ throw new Error('Empty sight list given to the Monk PhotoCapture component.');
66
+ }
67
+ var _b = (0, react_1.useState)(0), retryCount = _b[0], setRetryCount = _b[1];
68
+ var _c = (0, react_1.useState)(null), lastPictureTakenUri = _c[0], setLastPictureTakenUri = _c[1];
69
+ var _d = (0, react_1.useState)(captureSights[0]), selectedSight = _d[0], setSelectedSight = _d[1];
70
+ var _e = (0, react_1.useState)([]), sightsTaken = _e[0], setSightsTaken = _e[1];
71
+ var getInspection = (0, network_1.useMonkApi)(apiConfig).getInspection;
72
+ var handleError = (0, monitoring_1.useMonitoring)().handleError;
73
+ var state = (0, common_1.useMonkState)().state;
74
+ var analytics = (0, analytics_1.useAnalytics)();
75
+ var onFetchInspection = function (response) {
76
+ try {
77
+ setIsInitialInspectionFetched(true);
78
+ assertInspectionIsValid(inspectionId, response, captureSights, tasksBySight);
79
+ var alreadyTakenSights_1 = getSightsTaken(inspectionId, response);
80
+ setSightsTaken(alreadyTakenSights_1);
81
+ var notCapturedSights = captureSights.filter(function (s) { return !alreadyTakenSights_1.includes(s); });
82
+ analytics.setUserProperties({
83
+ alreadyTakenSights: alreadyTakenSights_1.length,
84
+ totalSights: captureSights.length,
85
+ sightSelected: notCapturedSights.length > 0 ? notCapturedSights[0].label : null,
86
+ });
87
+ analytics.setEventsProperties({ totalSights: captureSights.length });
88
+ analytics.trackEvent('Capture Started', {
89
+ newInspection: alreadyTakenSights_1.length === 0,
90
+ alreadyTakenSights: alreadyTakenSights_1.length,
91
+ totalSights: captureSights.length,
92
+ });
93
+ if (notCapturedSights.length > 0) {
94
+ setSelectedSight(notCapturedSights[0]);
95
+ }
96
+ else {
97
+ onLastSightTaken();
98
+ var notCompliantSights = captureSights
99
+ .map(function (s) { return ({
100
+ sight: s,
101
+ image: (0, common_1.getInspectionImages)(inspectionId, state.images, true).find(function (i) { return i.inspectionId === inspectionId && i.sightId === s.id; }),
102
+ }); })
103
+ .filter(function (_a) {
104
+ var image = _a.image;
105
+ return !!image &&
106
+ [types_1.ImageStatus.NOT_COMPLIANT, types_1.ImageStatus.UPLOAD_FAILED].includes(image.status);
107
+ })
108
+ .map(function (_a) {
109
+ var sight = _a.sight;
110
+ return sight;
111
+ });
112
+ var sightToRetake_1 = notCompliantSights.length > 0
113
+ ? notCompliantSights[0]
114
+ : captureSights[captureSights.length - 1];
115
+ setSightsTaken(alreadyTakenSights_1.filter(function (sight) { return sight !== sightToRetake_1; }));
116
+ setSelectedSight(sightToRetake_1);
117
+ }
118
+ setLastPictureTakenUri(getLastPictureTakenUri(inspectionId, response));
119
+ loading.onSuccess();
120
+ }
121
+ catch (err) {
122
+ handleError(err);
123
+ loading.onError(err);
124
+ }
125
+ };
126
+ (0, common_1.useAsyncEffect)(function () {
127
+ loading.start();
128
+ analytics.setUserProperties({ inspectionId: inspectionId });
129
+ analytics.setEventsProperties({ inspectionId: inspectionId });
130
+ return getInspection({
131
+ id: inspectionId,
132
+ compliance: complianceOptions,
133
+ });
134
+ }, [inspectionId, retryCount, complianceOptions], {
135
+ onResolve: onFetchInspection,
136
+ onReject: function (err) {
137
+ handleError(err);
138
+ loading.onError(err);
139
+ },
140
+ });
141
+ var retryLoadingInspection = (0, react_1.useCallback)(function () {
142
+ setRetryCount(function (value) { return value + 1; });
143
+ }, []);
144
+ var takeSelectedSight = (0, react_1.useCallback)(function () {
145
+ var _a, _b;
146
+ var isRetake = sightsTaken.includes(selectedSight);
147
+ var updatedSightsTaken = isRetake ? sightsTaken : __spreadArray(__spreadArray([], sightsTaken, true), [selectedSight], false);
148
+ setSightsTaken(updatedSightsTaken);
149
+ var nextSight = captureSights.filter(function (s) { return !updatedSightsTaken.includes(s); })[0];
150
+ analytics.trackEvent('Sight Captured', {
151
+ order: captureSights.indexOf(selectedSight) + 1,
152
+ alreadyTakenSights: updatedSightsTaken.length,
153
+ totalSights: captureSights.length,
154
+ sightId: selectedSight.id,
155
+ sightLabel: selectedSight.label,
156
+ nextSightId: (_a = nextSight === null || nextSight === void 0 ? void 0 : nextSight.id) !== null && _a !== void 0 ? _a : null,
157
+ nextSightLabel: (_b = nextSight === null || nextSight === void 0 ? void 0 : nextSight.label) !== null && _b !== void 0 ? _b : null,
158
+ retake: isRetake,
159
+ });
160
+ analytics.setUserProperties({
161
+ alreadyTakenSights: updatedSightsTaken.length,
162
+ sightSelected: selectedSight.label,
163
+ });
164
+ if (nextSight) {
165
+ setSelectedSight(nextSight);
166
+ }
167
+ else {
168
+ onLastSightTaken();
169
+ }
170
+ }, [sightsTaken, selectedSight, captureSights, onLastSightTaken]);
171
+ var retakeSight = (0, react_1.useCallback)(function (id) {
172
+ var sightToRetake = captureSights.find(function (sight) { return sight.id === id; });
173
+ if (sightToRetake) {
174
+ setSelectedSight(sightToRetake);
175
+ }
176
+ }, [captureSights]);
177
+ var selectSight = function (s) {
178
+ var _a, _b;
179
+ var sightsNotTaken = (_a = captureSights.filter(function (sight) { return !sightsTaken.includes(sight); })) !== null && _a !== void 0 ? _a : [];
180
+ var nextSight = (_b = sightsNotTaken.at(sightsNotTaken.indexOf(s) + 1)) !== null && _b !== void 0 ? _b : null;
181
+ setSelectedSight(s);
182
+ analytics.trackEvent('Sight Selected', {
183
+ sightId: s.id,
184
+ sightLabel: s.label,
185
+ nextSightId: nextSight === null || nextSight === void 0 ? void 0 : nextSight.id,
186
+ nextSightLabel: nextSight === null || nextSight === void 0 ? void 0 : nextSight.label,
187
+ });
188
+ };
189
+ return (0, common_1.useObjectMemo)({
190
+ selectedSight: selectedSight,
191
+ sightsTaken: sightsTaken,
192
+ selectSight: selectSight,
193
+ takeSelectedSight: takeSelectedSight,
194
+ lastPictureTakenUri: lastPictureTakenUri,
195
+ setLastPictureTakenUri: setLastPictureTakenUri,
196
+ retryLoadingInspection: retryLoadingInspection,
197
+ retakeSight: retakeSight,
198
+ });
199
+ }
200
+ exports.usePhotoCaptureSightState = usePhotoCaptureSightState;
201
+ //# sourceMappingURL=usePhotoCaptureSightState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePhotoCaptureSightState.js","sourceRoot":"","sources":["../../../src/PhotoCapture/hooks/usePhotoCaptureSightState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { CaptureAppConfig } from '@monkvision/types';
2
+ export declare const STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL = "@monk_photoCaptureTutorial";
3
+ /**
4
+ * Enum of the different steps of the PhotoCapture Tutorial component.
5
+ */
6
+ export declare enum TutorialSteps {
7
+ /**
8
+ * Welcome step.
9
+ */
10
+ WELCOME = "welcome",
11
+ /**
12
+ * Guideline step.
13
+ */
14
+ GUIDELINE = "guideline",
15
+ /**
16
+ * Sight tutorial step.
17
+ */
18
+ SIGHT_TUTORIAL = "sightTutorial",
19
+ /**
20
+ * Sight step.
21
+ */
22
+ SIGHT = "sight"
23
+ }
24
+ /**
25
+ * Parameters of the usePhotoCaptureTutorial hook.
26
+ */
27
+ export interface PhotoCaptureTutorial extends Pick<CaptureAppConfig, 'enableTutorial' | 'enableSightTutorial' | 'enableSightGuidelines'> {
28
+ }
29
+ /**
30
+ * Custom hook used to manage the state of photo capture tutorial.
31
+ */
32
+ export declare function usePhotoCaptureTutorial({ enableTutorial, enableSightTutorial, enableSightGuidelines, }: PhotoCaptureTutorial): {
33
+ currentTutorialStep: TutorialSteps | null;
34
+ goToNextTutorialStep: () => void;
35
+ closeTutorial: () => void;
36
+ };
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePhotoCaptureTutorial = exports.TutorialSteps = exports.STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL = void 0;
4
+ var react_1 = require("react");
5
+ var types_1 = require("@monkvision/types");
6
+ var common_1 = require("@monkvision/common");
7
+ exports.STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL = '@monk_photoCaptureTutorial';
8
+ /**
9
+ * Enum of the different steps of the PhotoCapture Tutorial component.
10
+ */
11
+ var TutorialSteps;
12
+ (function (TutorialSteps) {
13
+ /**
14
+ * Welcome step.
15
+ */
16
+ TutorialSteps["WELCOME"] = "welcome";
17
+ /**
18
+ * Guideline step.
19
+ */
20
+ TutorialSteps["GUIDELINE"] = "guideline";
21
+ /**
22
+ * Sight tutorial step.
23
+ */
24
+ TutorialSteps["SIGHT_TUTORIAL"] = "sightTutorial";
25
+ /**
26
+ * Sight step.
27
+ */
28
+ TutorialSteps["SIGHT"] = "sight";
29
+ })(TutorialSteps = exports.TutorialSteps || (exports.TutorialSteps = {}));
30
+ function getTutorialState(enableTutorial) {
31
+ var isFirstTime = !!localStorage.getItem(exports.STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL);
32
+ return enableTutorial === types_1.PhotoCaptureTutorialOption.DISABLED ||
33
+ (enableTutorial === types_1.PhotoCaptureTutorialOption.FIRST_TIME_ONLY && isFirstTime)
34
+ ? null
35
+ : TutorialSteps.WELCOME;
36
+ }
37
+ /**
38
+ * Custom hook used to manage the state of photo capture tutorial.
39
+ */
40
+ function usePhotoCaptureTutorial(_a) {
41
+ var enableTutorial = _a.enableTutorial, enableSightTutorial = _a.enableSightTutorial, enableSightGuidelines = _a.enableSightGuidelines;
42
+ var _b = (0, react_1.useState)(getTutorialState(enableTutorial)), currentTutorialStep = _b[0], setCurrentTutorialStep = _b[1];
43
+ var goToNextTutorialStep = (0, react_1.useCallback)(function () {
44
+ var steps = Object.values(TutorialSteps);
45
+ if (!enableSightGuidelines) {
46
+ steps = steps.filter(function (v) { return v !== TutorialSteps.GUIDELINE; });
47
+ }
48
+ if (!enableSightTutorial) {
49
+ steps = steps.filter(function (v) { return v !== TutorialSteps.SIGHT_TUTORIAL; });
50
+ }
51
+ if (currentTutorialStep === steps.at(-1)) {
52
+ setCurrentTutorialStep(null);
53
+ return;
54
+ }
55
+ var currentIndex = steps.findIndex(function (v) { return currentTutorialStep === v; });
56
+ setCurrentTutorialStep(steps[currentIndex + 1]);
57
+ }, [currentTutorialStep]);
58
+ var closeTutorial = (0, react_1.useCallback)(function () {
59
+ setCurrentTutorialStep(null);
60
+ }, []);
61
+ (0, react_1.useEffect)(function () {
62
+ localStorage.setItem(exports.STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL, exports.STORAGE_KEY_PHOTO_CAPTURE_TUTORIAL);
63
+ }, []);
64
+ return (0, common_1.useObjectMemo)({ currentTutorialStep: currentTutorialStep, goToNextTutorialStep: goToNextTutorialStep, closeTutorial: closeTutorial });
65
+ }
66
+ exports.usePhotoCaptureTutorial = usePhotoCaptureTutorial;
67
+ //# sourceMappingURL=usePhotoCaptureTutorial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePhotoCaptureTutorial.js","sourceRoot":"","sources":["../../../src/PhotoCapture/hooks/usePhotoCaptureTutorial.ts"],"names":[],"mappings":";;;AAAA,+BAAyD;AACzD,2CAAiF;AACjF,6CAAmD;AAEtC,QAAA,kCAAkC,GAAG,4BAA4B,CAAC;AAE/E;;GAEG;AACH,IAAY,aAiBX;AAjBD,WAAY,aAAa;IACvB;;OAEG;IACH,oCAAmB,CAAA;IACnB;;OAEG;IACH,wCAAuB,CAAA;IACvB;;OAEG;IACH,iDAAgC,CAAA;IAChC;;OAEG;IACH,gCAAe,CAAA;AACjB,CAAC,EAjBW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAiBxB;AAED,SAAS,gBAAgB,CACvB,cAAsD;IAEtD,IAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,0CAAkC,CAAC,CAAC;IAE/E,OAAO,cAAc,KAAK,kCAA0B,CAAC,QAAQ;QAC3D,CAAC,cAAc,KAAK,kCAA0B,CAAC,eAAe,IAAI,WAAW,CAAC;QAC9E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;AAC5B,CAAC;AAWD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,EAIjB;QAHrB,cAAc,oBAAA,EACd,mBAAmB,yBAAA,EACnB,qBAAqB,2BAAA;IAEf,IAAA,KAAgD,IAAA,gBAAQ,EAC5D,gBAAgB,CAAC,cAAc,CAAC,CACjC,EAFM,mBAAmB,QAAA,EAAE,sBAAsB,QAEjD,CAAC;IAEF,IAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC;QACvC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,qBAAqB,EAAE;YAC1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,aAAa,CAAC,SAAS,EAA7B,CAA6B,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,mBAAmB,EAAE;YACxB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,aAAa,CAAC,cAAc,EAAlC,CAAkC,CAAC,CAAC;SACjE;QACD,IAAI,mBAAmB,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACxC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;SACR;QACD,IAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,mBAAmB,KAAK,CAAC,EAAzB,CAAyB,CAAC,CAAC;QACvE,sBAAsB,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC;QAChC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,YAAY,CAAC,OAAO,CAAC,0CAAkC,EAAE,0CAAkC,CAAC,CAAC;IAC/F,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAA,sBAAa,EAAC,EAAE,mBAAmB,qBAAA,EAAE,oBAAoB,sBAAA,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;AACrF,CAAC;AAlCD,0DAkCC"}
@@ -0,0 +1,35 @@
1
+ import { MonkPicture, TaskName } from '@monkvision/types';
2
+ import { Queue } from '@monkvision/common';
3
+ import { PictureUpload } from './useUploadQueue';
4
+ import { AddDamageHandle } from './useAddDamageMode';
5
+ import { PhotoCaptureSightState } from './usePhotoCaptureSightState';
6
+ /**
7
+ * Parameters of the usePictureTaken hook.
8
+ */
9
+ export interface UseTakePictureParams {
10
+ /**
11
+ * The PhotoCapture sight state, created using the usePhotoCaptureSightState hook.
12
+ */
13
+ sightState: PhotoCaptureSightState;
14
+ /**
15
+ * The PhotoCapture add damage handle, created using the useAddDamageMode hook.
16
+ */
17
+ addDamageHandle: AddDamageHandle;
18
+ /**
19
+ * Photo capture upload queue, created using the useUploadQueue hook.
20
+ */
21
+ uploadQueue: Queue<PictureUpload>;
22
+ /**
23
+ * Record associating each sight to a list of tasks to execute for it. If not provided, the default tasks of the sight
24
+ * will be used.
25
+ */
26
+ tasksBySight?: Record<string, TaskName[]>;
27
+ }
28
+ /**
29
+ * Callback called when the user has taken a picture.
30
+ */
31
+ export type HandleTakePictureFunction = (picture: MonkPicture) => void;
32
+ /**
33
+ * Custom hook used to generate the callback called when the user has taken a picture to handle picture upload etc.
34
+ */
35
+ export declare function usePictureTaken({ sightState, addDamageHandle, uploadQueue, tasksBySight, }: UseTakePictureParams): HandleTakePictureFunction;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePictureTaken = void 0;
4
+ var react_1 = require("react");
5
+ var analytics_1 = require("@monkvision/analytics");
6
+ var useAddDamageMode_1 = require("./useAddDamageMode");
7
+ /**
8
+ * Custom hook used to generate the callback called when the user has taken a picture to handle picture upload etc.
9
+ */
10
+ function usePictureTaken(_a) {
11
+ var sightState = _a.sightState, addDamageHandle = _a.addDamageHandle, uploadQueue = _a.uploadQueue, tasksBySight = _a.tasksBySight;
12
+ var trackEvent = (0, analytics_1.useAnalytics)().trackEvent;
13
+ return (0, react_1.useCallback)(function (picture) {
14
+ var _a;
15
+ sightState.setLastPictureTakenUri(picture.uri);
16
+ var upload = addDamageHandle.mode === useAddDamageMode_1.PhotoCaptureMode.SIGHT
17
+ ? {
18
+ mode: addDamageHandle.mode,
19
+ picture: picture,
20
+ sightId: sightState.selectedSight.id,
21
+ tasks: (_a = tasksBySight === null || tasksBySight === void 0 ? void 0 : tasksBySight[sightState.selectedSight.id]) !== null && _a !== void 0 ? _a : sightState.selectedSight.tasks,
22
+ }
23
+ : { mode: addDamageHandle.mode, picture: picture };
24
+ uploadQueue.push(upload);
25
+ if (addDamageHandle.mode === useAddDamageMode_1.PhotoCaptureMode.SIGHT) {
26
+ sightState.takeSelectedSight();
27
+ }
28
+ else {
29
+ trackEvent('AddDamage Captured', {
30
+ mode: addDamageHandle.mode,
31
+ });
32
+ }
33
+ addDamageHandle.updatePhotoCaptureModeAfterPictureTaken();
34
+ }, [
35
+ sightState.setLastPictureTakenUri,
36
+ addDamageHandle.mode,
37
+ sightState.selectedSight.id,
38
+ tasksBySight,
39
+ uploadQueue.push,
40
+ sightState.takeSelectedSight,
41
+ addDamageHandle.updatePhotoCaptureModeAfterPictureTaken,
42
+ ]);
43
+ }
44
+ exports.usePictureTaken = usePictureTaken;
45
+ //# sourceMappingURL=usePictureTaken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePictureTaken.js","sourceRoot":"","sources":["../../../src/PhotoCapture/hooks/usePictureTaken.ts"],"names":[],"mappings":";;;AAEA,+BAAoC;AACpC,mDAAqD;AAErD,uDAAuE;AA+BvE;;GAEG;AACH,SAAgB,eAAe,CAAC,EAKT;QAJrB,UAAU,gBAAA,EACV,eAAe,qBAAA,EACf,WAAW,iBAAA,EACX,YAAY,kBAAA;IAEJ,IAAA,UAAU,GAAK,IAAA,wBAAY,GAAE,WAAnB,CAAoB;IACtC,OAAO,IAAA,mBAAW,EAChB,UAAC,OAAoB;;QACnB,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAM,MAAM,GACV,eAAe,CAAC,IAAI,KAAK,mCAAgB,CAAC,KAAK;YAC7C,CAAC,CAAC;gBACE,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,OAAO,SAAA;gBACP,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE;gBACpC,KAAK,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,mCAAI,UAAU,CAAC,aAAa,CAAC,KAAK;aACrF;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC;QAC9C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,eAAe,CAAC,IAAI,KAAK,mCAAgB,CAAC,KAAK,EAAE;YACnD,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAChC;aAAM;YACL,UAAU,CAAC,oBAAoB,EAAE;gBAC/B,IAAI,EAAE,eAAe,CAAC,IAAI;aAC3B,CAAC,CAAC;SACJ;QACD,eAAe,CAAC,uCAAuC,EAAE,CAAC;IAC5D,CAAC,EACD;QACE,UAAU,CAAC,sBAAsB;QACjC,eAAe,CAAC,IAAI;QACpB,UAAU,CAAC,aAAa,CAAC,EAAE;QAC3B,YAAY;QACZ,WAAW,CAAC,IAAI;QAChB,UAAU,CAAC,iBAAiB;QAC5B,eAAe,CAAC,uCAAuC;KACxD,CACF,CAAC;AACJ,CAAC;AAvCD,0CAuCC"}
@@ -0,0 +1,33 @@
1
+ import { CaptureAppConfig, Sight } from '@monkvision/types';
2
+ import { LoadingState } from '@monkvision/common';
3
+ import { MonkApiConfig } from '@monkvision/network';
4
+ /**
5
+ * Parameters of the useStartTasksOnComplete hook.
6
+ */
7
+ export interface UseStartTasksOnCompleteParams extends Pick<CaptureAppConfig, 'additionalTasks' | 'tasksBySight' | 'startTasksOnComplete'> {
8
+ /**
9
+ * The inspection ID.
10
+ */
11
+ inspectionId: string;
12
+ /**
13
+ * The list of sights passed to the PhotoCapture component.
14
+ */
15
+ sights: Sight[];
16
+ /**
17
+ * The api config used to communicate with the API.
18
+ */
19
+ apiConfig: MonkApiConfig;
20
+ /**
21
+ * Global loading state of the PhotoCapture component.
22
+ */
23
+ loading: LoadingState;
24
+ }
25
+ /**
26
+ * Callback to be called when the PhotoCapture inspection is complete in order to start (or not) to inspection tasks.
27
+ */
28
+ export type StartTasksFunction = () => Promise<void>;
29
+ /**
30
+ * Custom hook used to generate a callback called at the end of the PhotoCapture inspection in order to automatically
31
+ * start (or not) the inspection tasks.
32
+ */
33
+ export declare function useStartTasksOnComplete({ inspectionId, apiConfig, sights, additionalTasks, tasksBySight, startTasksOnComplete, loading, }: UseStartTasksOnCompleteParams): StartTasksFunction;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.useStartTasksOnComplete = void 0;
40
+ var types_1 = require("@monkvision/types");
41
+ var common_1 = require("@monkvision/common");
42
+ var network_1 = require("@monkvision/network");
43
+ var monitoring_1 = require("@monkvision/monitoring");
44
+ var react_1 = require("react");
45
+ var TASKS_NOT_TO_START = [types_1.TaskName.HUMAN_IN_THE_LOOP];
46
+ function getTasksToStart(_a) {
47
+ var sights = _a.sights, additionalTasks = _a.additionalTasks, tasksBySight = _a.tasksBySight, startTasksOnComplete = _a.startTasksOnComplete;
48
+ var tasks;
49
+ if (Array.isArray(startTasksOnComplete)) {
50
+ tasks = startTasksOnComplete;
51
+ }
52
+ else {
53
+ tasks = (0, common_1.uniq)((0, common_1.flatMap)(sights, function (sight) { var _a; return (_a = tasksBySight === null || tasksBySight === void 0 ? void 0 : tasksBySight[sight.id]) !== null && _a !== void 0 ? _a : sight.tasks; }));
54
+ additionalTasks === null || additionalTasks === void 0 ? void 0 : additionalTasks.forEach(function (additionalTask) {
55
+ if (!tasks.includes(additionalTask)) {
56
+ tasks.push(additionalTask);
57
+ }
58
+ });
59
+ }
60
+ return tasks.filter(function (task) { return !TASKS_NOT_TO_START.includes(task); });
61
+ }
62
+ /**
63
+ * Custom hook used to generate a callback called at the end of the PhotoCapture inspection in order to automatically
64
+ * start (or not) the inspection tasks.
65
+ */
66
+ function useStartTasksOnComplete(_a) {
67
+ var _this = this;
68
+ var inspectionId = _a.inspectionId, apiConfig = _a.apiConfig, sights = _a.sights, additionalTasks = _a.additionalTasks, tasksBySight = _a.tasksBySight, startTasksOnComplete = _a.startTasksOnComplete, loading = _a.loading;
69
+ var startInspectionTasks = (0, network_1.useMonkApi)(apiConfig).startInspectionTasks;
70
+ var handleError = (0, monitoring_1.useMonitoring)().handleError;
71
+ return (0, react_1.useCallback)(function () { return __awaiter(_this, void 0, void 0, function () {
72
+ var names, err_1;
73
+ return __generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0:
76
+ if (!startTasksOnComplete) {
77
+ return [2 /*return*/];
78
+ }
79
+ names = getTasksToStart({ sights: sights, additionalTasks: additionalTasks, tasksBySight: tasksBySight, startTasksOnComplete: startTasksOnComplete });
80
+ loading.start();
81
+ _a.label = 1;
82
+ case 1:
83
+ _a.trys.push([1, 3, , 4]);
84
+ return [4 /*yield*/, startInspectionTasks({ inspectionId: inspectionId, names: names })];
85
+ case 2:
86
+ _a.sent();
87
+ loading.onSuccess();
88
+ return [3 /*break*/, 4];
89
+ case 3:
90
+ err_1 = _a.sent();
91
+ handleError(err_1);
92
+ loading.onError(err_1);
93
+ return [3 /*break*/, 4];
94
+ case 4: return [2 /*return*/];
95
+ }
96
+ });
97
+ }); }, [startTasksOnComplete, loading, sights, tasksBySight, inspectionId, handleError]);
98
+ }
99
+ exports.useStartTasksOnComplete = useStartTasksOnComplete;
100
+ //# sourceMappingURL=useStartTasksOnComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStartTasksOnComplete.js","sourceRoot":"","sources":["../../../src/PhotoCapture/hooks/useStartTasksOnComplete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,6CAAiE;AACjE,+CAAgE;AAChE,qDAAuD;AACvD,+BAAoC;AA8BpC,IAAM,kBAAkB,GAAG,CAAC,gBAAQ,CAAC,iBAAiB,CAAC,CAAC;AAExD,SAAS,eAAe,CAAC,EAQxB;QAPC,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,oBAAoB,0BAAA;IAKpB,IAAI,KAAiB,CAAC;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;QACvC,KAAK,GAAG,oBAAoB,CAAC;KAC9B;SAAM;QACL,KAAK,GAAG,IAAA,aAAI,EAAC,IAAA,gBAAO,EAAC,MAAM,EAAE,UAAC,KAAK,YAAK,OAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,KAAK,CAAC,EAAE,CAAC,mCAAI,KAAK,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC,CAAC;QAClF,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,CAAC,UAAC,cAAc;YACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACnC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAlC,CAAkC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,EAQR;IARhC,iBA2BC;QA1BC,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,oBAAoB,0BAAA,EACpB,OAAO,aAAA;IAEC,IAAA,oBAAoB,GAAK,IAAA,oBAAU,EAAC,SAAS,CAAC,qBAA1B,CAA2B;IAC/C,IAAA,WAAW,GAAK,IAAA,0BAAa,GAAE,YAApB,CAAqB;IAExC,OAAO,IAAA,mBAAW,EAAC;;;;;oBACjB,IAAI,CAAC,oBAAoB,EAAE;wBACzB,sBAAO;qBACR;oBACK,KAAK,GAAG,eAAe,CAAC,EAAE,MAAM,QAAA,EAAE,eAAe,iBAAA,EAAE,YAAY,cAAA,EAAE,oBAAoB,sBAAA,EAAE,CAAC,CAAC;oBAE/F,OAAO,CAAC,KAAK,EAAE,CAAC;;;;oBAEd,qBAAM,oBAAoB,CAAC,EAAE,YAAY,cAAA,EAAE,KAAK,OAAA,EAAE,CAAC,EAAA;;oBAAnD,SAAmD,CAAC;oBACpD,OAAO,CAAC,SAAS,EAAE,CAAC;;;;oBAEpB,WAAW,CAAC,KAAG,CAAC,CAAC;oBACjB,OAAO,CAAC,OAAO,CAAC,KAAG,CAAC,CAAC;;;;;SAExB,EAAE,CAAC,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AACvF,CAAC;AA3BD,0DA2BC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Parameters of the useTracking hook.
3
+ */
4
+ export interface TrackingParams {
5
+ /**
6
+ * The inspection ID.
7
+ */
8
+ inspectionId: string;
9
+ /**
10
+ * The authentication token used to communicate with the API.
11
+ */
12
+ authToken: string;
13
+ }
14
+ /**
15
+ * Custom hook used for adding tags and userId to analytics and monitoring provider.
16
+ */
17
+ export declare function useTracking({ inspectionId, authToken }: TrackingParams): void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTracking = void 0;
4
+ var analytics_1 = require("@monkvision/analytics");
5
+ var monitoring_1 = require("@monkvision/monitoring");
6
+ var network_1 = require("@monkvision/network");
7
+ var react_1 = require("react");
8
+ /**
9
+ * Custom hook used for adding tags and userId to analytics and monitoring provider.
10
+ */
11
+ function useTracking(_a) {
12
+ var inspectionId = _a.inspectionId, authToken = _a.authToken;
13
+ var analytics = (0, analytics_1.useAnalytics)();
14
+ var monitoring = (0, monitoring_1.useMonitoring)();
15
+ (0, react_1.useEffect)(function () {
16
+ var _a;
17
+ analytics.setUserId(inspectionId);
18
+ monitoring.setTags({
19
+ inspectionId: inspectionId,
20
+ });
21
+ var userId = (_a = (0, network_1.decodeMonkJwt)(authToken)) === null || _a === void 0 ? void 0 : _a.sub;
22
+ if (userId) {
23
+ monitoring.setUserId(userId);
24
+ analytics.setUserProperties({ authToken: userId });
25
+ }
26
+ }, [inspectionId, authToken]);
27
+ }
28
+ exports.useTracking = useTracking;
29
+ //# sourceMappingURL=useTracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTracking.js","sourceRoot":"","sources":["../../../src/PhotoCapture/hooks/useTracking.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,qDAAuD;AACvD,+CAAoD;AACpD,+BAAkC;AAgBlC;;GAEG;AACH,SAAgB,WAAW,CAAC,EAA2C;QAAzC,YAAY,kBAAA,EAAE,SAAS,eAAA;IACnD,IAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,IAAM,UAAU,GAAG,IAAA,0BAAa,GAAE,CAAC;IAEnC,IAAA,iBAAS,EAAC;;QACR,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAClC,UAAU,CAAC,OAAO,CAAC;YACjB,YAAY,cAAA;SACb,CAAC,CAAC;QACH,IAAM,MAAM,GAAG,MAAA,IAAA,uBAAa,EAAC,SAAS,CAAC,0CAAE,GAAG,CAAC;QAC7C,IAAI,MAAM,EAAE;YACV,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,SAAS,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC;AAfD,kCAeC"}