@corva/ui 3.77.0-2 → 3.77.0-20

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 (845) hide show
  1. package/MCP_README.md +9 -6
  2. package/README.md +8 -2
  3. package/cjs-bundle/clients/jsonApi/index.js +1 -1
  4. package/cjs-bundle/clients/jsonApi/index.js.map +1 -1
  5. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  6. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  7. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  8. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  9. package/cjs-bundle/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js +1 -1
  10. package/cjs-bundle/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js.map +1 -1
  11. package/cjs-bundle/components/Annotations/components/AnnotationsList/index.js +1 -1
  12. package/cjs-bundle/components/Annotations/components/AnnotationsList/index.js.map +1 -1
  13. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  14. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  15. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  16. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  17. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  18. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  19. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  20. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
  21. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  22. package/cjs-bundle/components/AssetEditorV2/constants.js.map +1 -1
  23. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js +2 -0
  24. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  25. package/cjs-bundle/components/AssetEditorV2/effects/index.js +1 -1
  26. package/cjs-bundle/components/AssetEditorV2/effects/index.js.map +1 -1
  27. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  28. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  29. package/cjs-bundle/components/AssetEditorV2/index.js +1 -1
  30. package/cjs-bundle/components/AssetEditorV2/index.js.map +1 -1
  31. package/cjs-bundle/components/AssetEditorV2/utils/index.js +1 -1
  32. package/cjs-bundle/components/AssetEditorV2/utils/index.js.map +1 -1
  33. package/cjs-bundle/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
  34. package/cjs-bundle/components/AssetsMultipleSelector/AssetsMultipleSelector.js.map +1 -1
  35. package/cjs-bundle/components/Attachment/index.js +1 -1
  36. package/cjs-bundle/components/Attachment/index.js.map +1 -1
  37. package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  38. package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  39. package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
  40. package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
  41. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  42. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  43. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  44. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  45. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  46. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  47. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  48. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  49. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  50. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  51. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  52. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  53. package/cjs-bundle/components/CommentCard/CommentCard.js +1 -1
  54. package/cjs-bundle/components/CommentCard/CommentCard.js.map +1 -1
  55. package/cjs-bundle/components/CommentCard/CommentCard.scss.js +1 -1
  56. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js +1 -1
  57. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  58. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
  59. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
  60. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  61. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  62. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  63. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  64. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  65. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  66. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  67. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  68. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
  69. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
  70. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
  71. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
  72. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  73. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  74. package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
  75. package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
  76. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +1 -1
  77. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -1
  78. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
  79. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  80. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  81. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  82. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  83. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  84. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  85. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  86. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  87. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  88. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  89. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  90. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  91. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  92. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  93. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  94. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  95. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  96. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  97. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  98. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  99. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  100. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  101. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  102. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  103. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  104. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  105. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  106. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  107. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  108. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  109. package/cjs-bundle/components/EmbeddedApp/EmbeddedApp.js +1 -1
  110. package/cjs-bundle/components/EmbeddedApp/EmbeddedApp.js.map +1 -1
  111. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  112. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  113. package/cjs-bundle/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js +1 -1
  114. package/cjs-bundle/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js.map +1 -1
  115. package/cjs-bundle/components/FeedItem/components/Content.js +1 -1
  116. package/cjs-bundle/components/FeedItem/components/Content.js.map +1 -1
  117. package/cjs-bundle/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js +1 -1
  118. package/cjs-bundle/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js.map +1 -1
  119. package/cjs-bundle/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js +1 -1
  120. package/cjs-bundle/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js.map +1 -1
  121. package/cjs-bundle/components/FilesLoaderV2/utils.js +1 -1
  122. package/cjs-bundle/components/FilesLoaderV2/utils.js.map +1 -1
  123. package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
  124. package/cjs-bundle/components/GradientManager/GradientManager.js.map +1 -1
  125. package/cjs-bundle/components/GradientManager/GradientSelect.js +1 -1
  126. package/cjs-bundle/components/GradientManager/GradientSelect.js.map +1 -1
  127. package/cjs-bundle/components/InfiniteList/index.js +1 -1
  128. package/cjs-bundle/components/InfiniteList/index.js.map +1 -1
  129. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
  130. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  131. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  132. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  133. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  134. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  135. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  136. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  137. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  138. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  139. package/cjs-bundle/components/OffsetWellPickerV2/constants.js +1 -1
  140. package/cjs-bundle/components/OffsetWellPickerV2/constants.js.map +1 -1
  141. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js +1 -1
  142. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  143. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
  144. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
  145. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  146. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  147. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js +1 -1
  148. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js.map +1 -1
  149. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
  150. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
  151. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  152. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  153. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  154. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  155. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  156. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  157. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  158. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  159. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  160. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  161. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  162. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  163. package/cjs-bundle/components/OffsetWellPickerV3/index.js +1 -1
  164. package/cjs-bundle/components/OffsetWellPickerV3/index.js.map +1 -1
  165. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  166. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  167. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  168. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
  169. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  170. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
  171. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  172. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  173. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  174. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  175. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  176. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  177. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  178. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
  179. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  180. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
  181. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  182. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
  183. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  184. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
  185. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
  186. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
  187. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
  188. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
  189. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
  190. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
  191. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js +1 -1
  192. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js.map +1 -1
  193. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
  194. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
  195. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
  196. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
  197. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  198. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  199. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
  200. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
  201. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
  202. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
  203. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
  204. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
  205. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  206. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
  207. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
  208. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
  209. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
  210. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
  211. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
  212. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
  213. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
  214. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
  215. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
  216. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
  217. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
  218. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
  219. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
  220. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
  221. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
  222. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
  223. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
  224. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
  225. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
  226. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  227. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  228. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
  229. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
  230. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
  231. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
  232. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
  233. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
  234. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
  235. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
  236. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
  237. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
  238. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  239. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  240. package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  241. package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
  242. package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
  243. package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
  244. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
  245. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
  246. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
  247. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
  248. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  249. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
  250. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
  251. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
  252. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js +1 -1
  253. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js.map +1 -1
  254. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
  255. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
  256. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useLimitNotification.js +1 -1
  257. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useLimitNotification.js.map +1 -1
  258. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
  259. package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
  260. package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
  261. package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
  262. package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
  263. package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
  264. package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
  265. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  266. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  267. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  268. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  269. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  270. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
  271. package/cjs-bundle/components/Search/Search.js.map +1 -1
  272. package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
  273. package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
  274. package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js +1 -1
  275. package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
  276. package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
  277. package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
  278. package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
  279. package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
  280. package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  281. package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
  282. package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
  283. package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
  284. package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
  285. package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
  286. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  287. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  288. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  289. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  290. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.scss.js +1 -1
  291. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  292. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  293. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js +1 -1
  294. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js.map +1 -1
  295. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  296. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
  297. package/cjs-bundle/componentsV2/FilesDropzone/utils.js +1 -1
  298. package/cjs-bundle/componentsV2/FilesDropzone/utils.js.map +1 -1
  299. package/cjs-bundle/componentsV2/FilesLoader/utils.js +1 -1
  300. package/cjs-bundle/componentsV2/FilesLoader/utils.js.map +1 -1
  301. package/cjs-bundle/componentsV2/IndicatorLive/IndicatorLive.js.map +1 -1
  302. package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
  303. package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
  304. package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
  305. package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
  306. package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
  307. package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
  308. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js +1 -1
  309. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js.map +1 -1
  310. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js +1 -1
  311. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js.map +1 -1
  312. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js +1 -1
  313. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js.map +1 -1
  314. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js +1 -1
  315. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js.map +1 -1
  316. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js +1 -1
  317. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js.map +1 -1
  318. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js +1 -1
  319. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js.map +1 -1
  320. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useInitialize.js +1 -1
  321. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useInitialize.js.map +1 -1
  322. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js +1 -1
  323. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js.map +1 -1
  324. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js +1 -1
  325. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js.map +1 -1
  326. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js +1 -1
  327. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js.map +1 -1
  328. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js +1 -1
  329. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js.map +1 -1
  330. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js +1 -1
  331. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js.map +1 -1
  332. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js +1 -1
  333. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js.map +1 -1
  334. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js +1 -1
  335. package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js.map +1 -1
  336. package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
  337. package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
  338. package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js +1 -1
  339. package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
  340. package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js +1 -1
  341. package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
  342. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  343. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  344. package/cjs-bundle/constants/notifications.js +1 -1
  345. package/cjs-bundle/constants/notifications.js.map +1 -1
  346. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
  347. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
  348. package/cjs-bundle/effects/useSharedDCStore.js +1 -1
  349. package/cjs-bundle/effects/useSharedDCStore.js.map +1 -1
  350. package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
  351. package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
  352. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  353. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
  354. package/cjs-bundle/utils/DrillstringUtils.js +1 -1
  355. package/cjs-bundle/utils/DrillstringUtils.js.map +1 -1
  356. package/cjs-bundle/utils/apps.js +1 -1
  357. package/cjs-bundle/utils/apps.js.map +1 -1
  358. package/cjs-bundle/utils/convert.js +1 -1
  359. package/cjs-bundle/utils/convert.js.map +1 -1
  360. package/cjs-bundle/utils/devcenter.js +1 -1
  361. package/cjs-bundle/utils/devcenter.js.map +1 -1
  362. package/cjs-bundle/utils/index.js +1 -1
  363. package/cjs-bundle/utils/index.js.map +1 -1
  364. package/cjs-bundle/utils/lasParser.js +1 -1
  365. package/cjs-bundle/utils/lasParser.js.map +1 -1
  366. package/cjs-bundle/utils/time.js.map +1 -1
  367. package/clients/jsonApi/index.js +1 -1
  368. package/clients/jsonApi/index.js.map +1 -1
  369. package/components/AddComment/Popover.js +1 -1
  370. package/components/AddComment/Popover.js.map +1 -1
  371. package/components/AddComment/components/Content.js +1 -1
  372. package/components/AddComment/components/Content.js.map +1 -1
  373. package/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js +1 -1
  374. package/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js.map +1 -1
  375. package/components/Annotations/components/AnnotationsList/index.js +1 -1
  376. package/components/Annotations/components/AnnotationsList/index.js.map +1 -1
  377. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts +2 -0
  378. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts.map +1 -0
  379. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts +2 -0
  380. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts.map +1 -0
  381. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts +17 -6
  382. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts.map +1 -1
  383. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  384. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +30 -39
  385. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts.map +1 -1
  386. package/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  387. package/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  388. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +4 -41
  389. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts.map +1 -1
  390. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  391. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  392. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +22 -18
  393. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
  394. package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  395. package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  396. package/components/AssetEditorV2/components/SelectItem.d.ts +10 -1
  397. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  398. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  399. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  400. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts +2 -0
  401. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts.map +1 -0
  402. package/components/AssetEditorV2/components/__tests__/MultipleAssetsToggle.test.d.ts.map +1 -1
  403. package/components/AssetEditorV2/components/__tests__/SelectItem.test.d.ts.map +1 -1
  404. package/components/AssetEditorV2/components/index.d.ts.map +1 -1
  405. package/components/AssetEditorV2/constants.d.ts +2 -9
  406. package/components/AssetEditorV2/constants.d.ts.map +1 -1
  407. package/components/AssetEditorV2/constants.js.map +1 -1
  408. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts +2 -0
  409. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts.map +1 -0
  410. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts +2 -0
  411. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts.map +1 -0
  412. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts +2 -0
  413. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts.map +1 -0
  414. package/components/AssetEditorV2/effects/assetResponse.d.ts +4 -0
  415. package/components/AssetEditorV2/effects/assetResponse.d.ts.map +1 -0
  416. package/components/AssetEditorV2/effects/assetResponse.js +2 -0
  417. package/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  418. package/components/AssetEditorV2/effects/index.d.ts +34 -28
  419. package/components/AssetEditorV2/effects/index.d.ts.map +1 -1
  420. package/components/AssetEditorV2/effects/index.js +1 -1
  421. package/components/AssetEditorV2/effects/index.js.map +1 -1
  422. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +21 -17
  423. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts.map +1 -1
  424. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  425. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  426. package/components/AssetEditorV2/index.d.ts +36 -67
  427. package/components/AssetEditorV2/index.d.ts.map +1 -1
  428. package/components/AssetEditorV2/index.js +1 -1
  429. package/components/AssetEditorV2/index.js.map +1 -1
  430. package/components/AssetEditorV2/types.d.ts +82 -0
  431. package/components/AssetEditorV2/types.d.ts.map +1 -0
  432. package/components/AssetEditorV2/utils/__tests__/utils.test.d.ts.map +1 -1
  433. package/components/AssetEditorV2/utils/index.d.ts +23 -19
  434. package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
  435. package/components/AssetEditorV2/utils/index.js +1 -1
  436. package/components/AssetEditorV2/utils/index.js.map +1 -1
  437. package/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
  438. package/components/AssetsMultipleSelector/AssetsMultipleSelector.js.map +1 -1
  439. package/components/Attachment/index.js +1 -1
  440. package/components/Attachment/index.js.map +1 -1
  441. package/components/AttachmentLightbox/AttachmentDocument.d.ts.map +1 -1
  442. package/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  443. package/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  444. package/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
  445. package/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
  446. package/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  447. package/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  448. package/components/BICOffsetPickerDialog/index.js +1 -1
  449. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  450. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  451. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  452. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  453. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  454. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  455. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  456. package/components/CollapsableSidebar.js +1 -1
  457. package/components/CollapsableSidebar.js.map +1 -1
  458. package/components/CommentCard/CommentCard.d.ts.map +1 -1
  459. package/components/CommentCard/CommentCard.js +1 -1
  460. package/components/CommentCard/CommentCard.js.map +1 -1
  461. package/components/CommentCard/CommentCard.scss.js +1 -1
  462. package/components/CommentCard/CommentCard.types.d.ts +0 -1
  463. package/components/CommentCard/CommentCard.types.d.ts.map +1 -1
  464. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts +2 -0
  465. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts.map +1 -0
  466. package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
  467. package/components/CommentComposer/useAttachmentUpload.js +1 -1
  468. package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  469. package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
  470. package/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
  471. package/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
  472. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  473. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  474. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  475. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  476. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  477. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  478. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  479. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  480. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  481. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
  482. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
  483. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
  484. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
  485. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  486. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  487. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.d.ts.map +1 -1
  488. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
  489. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
  490. package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.d.ts.map +1 -1
  491. package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +1 -1
  492. package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -1
  493. package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts.map +1 -1
  494. package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
  495. package/components/DocumentViewer/DocumentViewer.js +1 -1
  496. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  497. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  498. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  499. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  500. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  501. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  502. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  503. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  504. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  505. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  506. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  507. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  508. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  509. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  510. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  511. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  512. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  513. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  514. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  515. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  516. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  517. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  518. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  519. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  520. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  521. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  522. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  523. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  524. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  525. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  526. package/components/EmbeddedApp/EmbeddedApp.d.ts.map +1 -1
  527. package/components/EmbeddedApp/EmbeddedApp.js +1 -1
  528. package/components/EmbeddedApp/EmbeddedApp.js.map +1 -1
  529. package/components/FeedItem/FeedItem.js +1 -1
  530. package/components/FeedItem/FeedItem.js.map +1 -1
  531. package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js +1 -1
  532. package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js.map +1 -1
  533. package/components/FeedItem/components/Content.d.ts.map +1 -1
  534. package/components/FeedItem/components/Content.js +1 -1
  535. package/components/FeedItem/components/Content.js.map +1 -1
  536. package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.d.ts.map +1 -1
  537. package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js +1 -1
  538. package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js.map +1 -1
  539. package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.d.ts.map +1 -1
  540. package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js +1 -1
  541. package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js.map +1 -1
  542. package/components/FilesLoaderV2/utils.js +1 -1
  543. package/components/FilesLoaderV2/utils.js.map +1 -1
  544. package/components/GradientManager/GradientManager.js +1 -1
  545. package/components/GradientManager/GradientManager.js.map +1 -1
  546. package/components/GradientManager/GradientSelect.js +1 -1
  547. package/components/GradientManager/GradientSelect.js.map +1 -1
  548. package/components/InfiniteList/index.d.ts.map +1 -1
  549. package/components/InfiniteList/index.js +1 -1
  550. package/components/InfiniteList/index.js.map +1 -1
  551. package/components/OffsetWellMap/OffsetWellMap.js +1 -1
  552. package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  553. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  554. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  555. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  556. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  557. package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  558. package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  559. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  560. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  561. package/components/OffsetWellPickerV2/constants.js +1 -1
  562. package/components/OffsetWellPickerV2/constants.js.map +1 -1
  563. package/components/OffsetWellPickerV2/effects/index.js +1 -1
  564. package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  565. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
  566. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
  567. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  568. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  569. package/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js +1 -1
  570. package/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js.map +1 -1
  571. package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
  572. package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
  573. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  574. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  575. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  576. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  577. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  578. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  579. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  580. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  581. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  582. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  583. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  584. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  585. package/components/OffsetWellPickerV3/index.js +1 -1
  586. package/components/OffsetWellPickerV3/index.js.map +1 -1
  587. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  588. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  589. package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.d.ts.map +1 -1
  590. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  591. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  592. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts +2 -0
  593. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts.map +1 -0
  594. package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  595. package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
  596. package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  597. package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
  598. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  599. package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  600. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  601. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  602. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  603. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  604. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  605. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
  606. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  607. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
  608. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  609. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
  610. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  611. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
  612. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
  613. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
  614. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
  615. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
  616. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
  617. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
  618. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js +1 -1
  619. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js.map +1 -1
  620. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
  621. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
  622. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
  623. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
  624. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  625. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  626. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
  627. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
  628. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
  629. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
  630. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
  631. package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
  632. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  633. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
  634. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
  635. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
  636. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
  637. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
  638. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
  639. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
  640. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
  641. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
  642. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts +2 -1
  643. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts.map +1 -1
  644. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
  645. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
  646. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
  647. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
  648. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
  649. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
  650. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
  651. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
  652. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts +3 -1
  653. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts.map +1 -1
  654. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
  655. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
  656. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
  657. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts +2 -0
  658. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts.map +1 -0
  659. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
  660. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  661. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  662. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
  663. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
  664. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
  665. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
  666. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
  667. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
  668. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
  669. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
  670. package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
  671. package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
  672. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +0 -1
  673. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
  674. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  675. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  676. package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  677. package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
  678. package/components/OffsetWellPickerV5/constants.d.ts +26 -3
  679. package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
  680. package/components/OffsetWellPickerV5/constants.js +1 -1
  681. package/components/OffsetWellPickerV5/constants.js.map +1 -1
  682. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts +2 -0
  683. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts.map +1 -0
  684. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  685. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  686. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.d.ts.map +1 -1
  687. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
  688. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
  689. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
  690. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
  691. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  692. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
  693. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
  694. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
  695. package/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js +1 -1
  696. package/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js.map +1 -1
  697. package/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
  698. package/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
  699. package/components/OffsetWellPickerV5/hooks/useLimitNotification.js +1 -1
  700. package/components/OffsetWellPickerV5/hooks/useLimitNotification.js.map +1 -1
  701. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts +2 -1
  702. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts.map +1 -1
  703. package/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
  704. package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
  705. package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
  706. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts +2 -0
  707. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts.map +1 -0
  708. package/components/OffsetWellPickerV5/utils/getCoordinatedWells.d.ts.map +1 -1
  709. package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
  710. package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
  711. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts +4 -0
  712. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts.map +1 -1
  713. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
  714. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
  715. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  716. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  717. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  718. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  719. package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  720. package/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
  721. package/components/Search/Search.d.ts +6 -3
  722. package/components/Search/Search.d.ts.map +1 -1
  723. package/components/Search/Search.js.map +1 -1
  724. package/components/index.d.ts +1 -0
  725. package/components/index.d.ts.map +1 -1
  726. package/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
  727. package/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
  728. package/componentsV2/AppHeader/AppAssets/utils.js +1 -1
  729. package/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
  730. package/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
  731. package/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
  732. package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
  733. package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
  734. package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  735. package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
  736. package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
  737. package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
  738. package/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
  739. package/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
  740. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  741. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  742. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  743. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  744. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.scss.js +1 -1
  745. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
  746. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  747. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  748. package/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js +1 -1
  749. package/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js.map +1 -1
  750. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  751. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
  752. package/componentsV2/FilesDropzone/utils.js +1 -1
  753. package/componentsV2/FilesDropzone/utils.js.map +1 -1
  754. package/componentsV2/FilesLoader/utils.js +1 -1
  755. package/componentsV2/FilesLoader/utils.js.map +1 -1
  756. package/componentsV2/IndicatorLive/IndicatorLive.d.ts.map +1 -1
  757. package/componentsV2/IndicatorLive/IndicatorLive.js.map +1 -1
  758. package/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
  759. package/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
  760. package/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
  761. package/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
  762. package/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
  763. package/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
  764. package/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js +1 -1
  765. package/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js.map +1 -1
  766. package/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js +1 -1
  767. package/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js.map +1 -1
  768. package/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js +1 -1
  769. package/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js.map +1 -1
  770. package/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js +1 -1
  771. package/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js.map +1 -1
  772. package/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js +1 -1
  773. package/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js.map +1 -1
  774. package/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js +1 -1
  775. package/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js.map +1 -1
  776. package/componentsV2/TemplatesControl/Store/hooks/useInitialize.js +1 -1
  777. package/componentsV2/TemplatesControl/Store/hooks/useInitialize.js.map +1 -1
  778. package/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js +1 -1
  779. package/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js.map +1 -1
  780. package/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js +1 -1
  781. package/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js.map +1 -1
  782. package/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js +1 -1
  783. package/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js.map +1 -1
  784. package/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js +1 -1
  785. package/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js.map +1 -1
  786. package/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js +1 -1
  787. package/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js.map +1 -1
  788. package/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js +1 -1
  789. package/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js.map +1 -1
  790. package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js +1 -1
  791. package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js.map +1 -1
  792. package/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
  793. package/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
  794. package/componentsV2/TextInputBase/TextInputBase.js +1 -1
  795. package/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
  796. package/componentsV2/TextInputNext/TextInputNext.js +1 -1
  797. package/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
  798. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  799. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  800. package/constants/assets.d.ts +40 -1
  801. package/constants/assets.d.ts.map +1 -1
  802. package/constants/bha.d.ts +4 -4
  803. package/constants/notifications.d.ts +5 -2
  804. package/constants/notifications.d.ts.map +1 -1
  805. package/constants/notifications.js +1 -1
  806. package/constants/notifications.js.map +1 -1
  807. package/effects/useGlobalOffsetWellsSync.js +1 -1
  808. package/effects/useGlobalOffsetWellsSync.js.map +1 -1
  809. package/effects/useSharedDCStore.js +1 -1
  810. package/effects/useSharedDCStore.js.map +1 -1
  811. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts +2 -0
  812. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts.map +1 -0
  813. package/hocs/withAssetEditorLockHOC.d.ts +11 -1
  814. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  815. package/hocs/withAssetEditorLockHOC.js +1 -1
  816. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  817. package/mcp-server/server.mjs +373 -163
  818. package/mcp-server/setup.mjs +129 -44
  819. package/package.json +3 -3
  820. package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  821. package/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
  822. package/tsconfig.tsbuildinfo +1 -1
  823. package/utils/DrillstringUtils.d.ts.map +1 -1
  824. package/utils/DrillstringUtils.js +1 -1
  825. package/utils/DrillstringUtils.js.map +1 -1
  826. package/utils/apps.js +1 -1
  827. package/utils/apps.js.map +1 -1
  828. package/utils/convert.d.ts +0 -19
  829. package/utils/convert.d.ts.map +1 -1
  830. package/utils/convert.js +1 -1
  831. package/utils/convert.js.map +1 -1
  832. package/utils/devcenter.d.ts.map +1 -1
  833. package/utils/devcenter.js +1 -1
  834. package/utils/devcenter.js.map +1 -1
  835. package/utils/index.d.ts +4 -4
  836. package/utils/index.d.ts.map +1 -1
  837. package/utils/index.js +1 -1
  838. package/utils/index.js.map +1 -1
  839. package/utils/lasParser.d.ts.map +1 -1
  840. package/utils/lasParser.js +1 -1
  841. package/utils/lasParser.js.map +1 -1
  842. package/utils/time.d.ts.map +1 -1
  843. package/utils/time.js.map +1 -1
  844. package/utils/HeatmapUtils.d.ts +0 -1
  845. package/utils/HeatmapUtils.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Attachment/index.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactPlayer from 'react-player';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport ImageIcon from '@material-ui/icons/Image';\nimport FullSizeIcon from '@material-ui/icons/Fullscreen';\nimport grey from '@material-ui/core/colors/grey';\n\nimport { NewDocumentViewer } from '../NewDocumentViewer';\nimport { UnavailableFileIcon } from '../NewDocumentViewer/icons/UnavailableFileIcon';\nimport { ImageViewer } from '../../componentsV2/ImageViewer';\n\nimport styles from './styles.css';\n\nimport FileTypeIcon from '~components/FileTypeIcon';\nimport IconButton from '~components/IconButton';\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport { getIsImage, getIsVideo } from '~/utils/fileExtension';\nimport { getIsPreviewUnavailable } from '~/utils/filePreview';\nimport { DownloadIcon } from '~/icons';\nimport { useSignedURL } from '~/effects';\nimport utils from '~utils/main';\n\nconst PAGE_NAME = 'Attachment';\n\nconst grey200 = grey[200];\nconst grey400 = grey[400];\n\nconst SIZES = {\n small: { label: 'small', value: 135 },\n medium: { label: 'medium', value: 300 },\n};\n\nconst style = {\n fileImage: (imageIsLoaded, size) => ({\n maxWidth: '100%',\n borderRadius: 4,\n overflow: 'hidden',\n // NOTE: Makes one-line comment with image fits into comments container. Equals to\n // imagePlaceholder height\n maxHeight: size === SIZES.small.label ? SIZES.small.value : SIZES.medium.value,\n display: imageIsLoaded ? 'initial' : 'none',\n cursor: 'pointer',\n }),\n fileDownloadWrapper: {\n padding: '10px 10px 10px 5px',\n border: `1px solid #616161`,\n borderRadius: 3,\n maxWidth: 500, // NOTE: Corresponds to react-player max width\n width: '75%',\n },\n imagePlaceholder: {\n position: 'relative',\n backgroundColor: grey200,\n borderRadius: 3,\n marginTop: 10,\n height: 135,\n width: 135,\n },\n};\n\nconst muiStyles = theme => ({\n imageIconRoot: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n },\n dialog: {\n width: '95%',\n height: '95%',\n maxWidth: '100%',\n position: 'relative',\n },\n nativeDialog: {\n width: '100%',\n height: '100%',\n maxWidth: '100%',\n maxHeight: '100%',\n margin: 0,\n },\n dialogRoot: {\n // NOTE: Make background color similar to lightbox\n backgroundColor: 'rgba(0, 0, 0, 0.85)',\n },\n fileName: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n fontWeight: 400,\n },\n downloadIcon: {\n color: theme.palette.primary.text3,\n },\n disabledPreview: {\n backgroundColor: theme.palette.primary.text9,\n },\n unavailableFileIcon: {\n marginRight: 12,\n minWidth: 32,\n },\n titleContainer: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n },\n caption: {\n fontSize: 12,\n fontWeight: 400,\n width: 'fit-content',\n },\n unavailableFileName: {\n fontSize: 12,\n fontWeight: 400,\n },\n});\n\n/* eslint-disable react/prop-types */\nconst ImageAttachment = props => {\n const downloadLink = useSignedURL(props.attachmentFileName) || props.attachmentUrl;\n\n return (\n <>\n <div onClick={props.openLightbox} className={styles.cAttachmentImg}>\n <img\n data-testid={`${PAGE_NAME}_image`}\n src={downloadLink}\n style={style.fileImage(!!props.imageDimensions, props.size)}\n alt=\"Attachment\"\n onLoad={props.onImageLoaded}\n />\n <div data-testid={`${PAGE_NAME}_button`} className={styles.cAttachmentImgPreviwBtn}>\n <FullSizeIcon />\n </div>\n </div>\n\n {!props.imageDimensions && (\n <div style={style.imagePlaceholder}>\n <ImageIcon\n data-testid={`${PAGE_NAME}_placeholder`}\n className={props.classes.imageIconRoot}\n htmlColor={grey400}\n fontSize=\"large\"\n />\n </div>\n )}\n\n {props.lightboxIsOpen && (\n <ImageViewer\n src={downloadLink}\n onClose={props.handleLightboxClose}\n onOpen={props.handleLightboxOpen}\n width={props.imageDimensions?.width}\n height={props.imageDimensions?.height}\n />\n )}\n </>\n );\n};\n\nconst FileAttachment = props => {\n const fileName = utils.getFileNameWithExtensionFromPath(props.displayName || props.attachmentUrl);\n\n const previewUrl = useSignedURL(props.attachmentFileName, 'inline');\n const downloadUrl = useSignedURL(props.attachmentFileName, 'attachment');\n\n const isPreviewUnavailable = getIsPreviewUnavailable(fileName);\n\n const handleFilePreviewOpen = () => {\n if (isPreviewUnavailable) return;\n props.openPreview();\n };\n\n return (\n <div className={styles.cAttachmentFileWrapper}>\n <div\n className={classNames(\n styles.cAttachmentFileDownloadWrapper,\n isPreviewUnavailable && props.classes.disabledPreview\n )}\n style={style.fileDownloadWrapper}\n onClick={handleFilePreviewOpen}\n >\n {isPreviewUnavailable ? (\n <UnavailableFileIcon className={props.classes.unavailableFileIcon} />\n ) : (\n <FileTypeIcon\n fileName={props.displayName || props.attachmentUrl}\n className={styles.cAttachmentFileDownloadWrapperFileIcon}\n size={props.small ? 25 : 50}\n />\n )}\n <div className={props.classes.titleContainer}>\n {isPreviewUnavailable && <div className={props.classes.caption}>Preview unavailable</div>}\n <div\n data-testid={`${PAGE_NAME}_name`}\n className={classNames(\n styles.cAttachmentFileDownloadWrapperFileName,\n isPreviewUnavailable && props.classes.fileName\n )}\n >\n <Typography variant=\"subtitle2\" noWrap className={props.classes.unavailableFileName}>\n {fileName}\n </Typography>\n </div>\n </div>\n <NewDocumentViewer\n fileUrl={previewUrl}\n classes={{\n root: props.classes.dialogRoot,\n paper: isNativeDetected ? props.classes.nativeDialog : props.classes.dialog,\n }}\n fileName={fileName}\n fileSize={props.attachmentSize}\n onClose={props.closePreview}\n open={props.previewIsOpen}\n />\n </div>\n <a\n download={props.displayName}\n href={downloadUrl}\n className={styles.cAttachmentFileDownloadWrapperForm}\n >\n <IconButton\n data-testid={`${PAGE_NAME}_downloadButton`}\n className={props.classes.downloadIcon}\n type=\"submit\"\n >\n <DownloadIcon size={24} className={props.classes.downloadIcon} />\n </IconButton>\n </a>\n </div>\n );\n};\n\n/* eslint-enable react/prop-types */\n\nfunction Attachment(rawProps) {\n const {\n displayName = null,\n fileName: attachmentFileName = null,\n attachmentSize = undefined,\n size = SIZES.medium.label,\n small = false,\n ...otherProps\n } = rawProps;\n const props = {\n ...otherProps,\n displayName,\n fileName: attachmentFileName,\n attachmentSize,\n size,\n small,\n };\n\n const [imageDimensions, setImageDimensions] = useState(undefined);\n const [isLightboxOpen, setIsLightboxOpen] = useState(false);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n\n const fileName = props.displayName || props.attachmentUrl || props.fileName;\n const isImage = getIsImage(fileName);\n const isVideo = getIsVideo(fileName);\n\n // Don't fetch download link if attachmentUrl is provided\n const downloadLink = useSignedURL(!props.attachmentUrl && props.fileName);\n const attachmentUrl = props.attachmentUrl || downloadLink;\n const preventIOSScroll = useCallback(e => e.preventDefault(), []);\n\n // NOTE: iOS WebView has a bug when background content of React Modal is scrollable\n // Source: https://github.com/reactjs/react-modal/issues/369\n const handleLightboxOpen = useCallback(() => {\n if (isNativeDetected) {\n // document.documentElement.style.overflowY = 'hidden';\n document.documentElement.addEventListener('touchmove', preventIOSScroll, {\n passive: false,\n });\n }\n }, [preventIOSScroll]);\n\n const handleLightboxClose = useCallback(() => {\n if (isNativeDetected) {\n // document.documentElement.style.overflowY = 'visible';\n document.documentElement.removeEventListener('touchmove', preventIOSScroll);\n }\n setIsLightboxOpen(false);\n }, [preventIOSScroll]);\n\n const openLightbox = useCallback(() => setIsLightboxOpen(true), []);\n const onImageLoaded = useCallback(e => {\n const { naturalWidth, naturalHeight } = e.currentTarget;\n setImageDimensions({ width: naturalWidth, height: naturalHeight });\n }, []);\n const openPreview = useCallback(() => setIsPreviewOpen(true), []);\n const closePreview = useCallback(e => {\n e.stopPropagation();\n setIsPreviewOpen(false);\n }, []);\n\n if (isImage)\n return (\n <div className={styles.cAttachment}>\n <ImageAttachment\n size={props.size}\n openLightbox={openLightbox}\n attachmentFileName={props.fileName}\n attachmentUrl={props.attachmentUrl}\n onImageLoaded={onImageLoaded}\n imageDimensions={imageDimensions}\n lightboxIsOpen={isLightboxOpen}\n handleLightboxOpen={handleLightboxOpen}\n handleLightboxClose={handleLightboxClose}\n classes={props.classes}\n />\n </div>\n );\n\n if (isVideo && ReactPlayer.canPlay(attachmentUrl))\n return (\n <div className={styles.cAttachment}>\n <ReactPlayer\n data-testid={`${PAGE_NAME}_player`}\n className={styles.cAttachmentReactPlayer}\n url={attachmentUrl}\n config={{ file: { attributes: { preload: 'metadata' } } }}\n controls\n height={props.size === SIZES.small.label ? SIZES.small.value : SIZES.medium.value}\n width={null}\n />\n </div>\n );\n\n return (\n <div className={styles.cAttachment}>\n <FileAttachment\n attachmentUrl={attachmentUrl}\n attachmentFileName={props.fileName}\n attachmentSize={props.attachmentSize}\n displayName={props.displayName}\n openPreview={openPreview}\n closePreview={closePreview}\n previewIsOpen={isPreviewOpen}\n classes={props.classes}\n small={props.small}\n />\n </div>\n );\n}\n\nAttachment.propTypes = {\n attachmentUrl: PropTypes.string.isRequired,\n attachmentSize: PropTypes.number,\n displayName: PropTypes.string,\n fileName: PropTypes.string,\n size: PropTypes.oneOf([SIZES.small.label, SIZES.medium.label]),\n classes: PropTypes.shape({}).isRequired,\n small: PropTypes.bool,\n};\n\nexport default withStyles(muiStyles)(Attachment);\n"],"names":["grey200","grey","grey400","SIZES","label","value","style","fileImage","imageIsLoaded","size","maxWidth","borderRadius","overflow","maxHeight","display","cursor","fileDownloadWrapper","padding","border","width","imagePlaceholder","position","backgroundColor","marginTop","height","ImageAttachment","props","_props$imageDimension","_props$imageDimension2","downloadLink","useSignedURL","attachmentFileName","attachmentUrl","_jsxs","_Fragment","children","onClick","openLightbox","className","styles","cAttachmentImg","_jsx","concat","src","imageDimensions","alt","onLoad","onImageLoaded","cAttachmentImgPreviwBtn","FullSizeIcon","ImageIcon","classes","imageIconRoot","htmlColor","fontSize","lightboxIsOpen","ImageViewer","onClose","handleLightboxClose","onOpen","handleLightboxOpen","FileAttachment","fileName","utils","getFileNameWithExtensionFromPath","displayName","previewUrl","downloadUrl","isPreviewUnavailable","getIsPreviewUnavailable","cAttachmentFileWrapper","classNames","cAttachmentFileDownloadWrapper","disabledPreview","openPreview","UnavailableFileIcon","unavailableFileIcon","FileTypeIcon","cAttachmentFileDownloadWrapperFileIcon","small","titleContainer","caption","cAttachmentFileDownloadWrapperFileName","Typography","variant","noWrap","unavailableFileName","NewDocumentViewer","fileUrl","root","dialogRoot","paper","isNativeDetected","nativeDialog","dialog","fileSize","attachmentSize","closePreview","open","previewIsOpen","download","href","cAttachmentFileDownloadWrapperForm","IconButton","downloadIcon","type","DownloadIcon","Attachment","rawProps","_rawProps$displayName","_rawProps$fileName","_rawProps$attachmentS","undefined","_rawProps$size","_rawProps$small","_excluded","useState","_useState2","_slicedToArray","_useState","setImageDimensions","_useState4","_useState3","isLightboxOpen","setIsLightboxOpen","_useState6","_useState5","isPreviewOpen","setIsPreviewOpen","isImage","getIsImage","isVideo","getIsVideo","preventIOSScroll","useCallback","e","preventDefault","document","documentElement","addEventListener","passive","removeEventListener","currentTarget","naturalWidth","naturalHeight","stopPropagation","cAttachment","ReactPlayer","canPlay","cAttachmentReactPlayer","url","config","file","attributes","preload","controls","propTypes","PropTypes","string","isRequired","number","oneOf","shape","bool","Attachment$1","withStyles","theme","top","left","transform","margin","whiteSpace","textOverflow","fontWeight","color","palette","primary","text3","text9","marginRight","minWidth","flexDirection"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Attachment/index.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactPlayer from 'react-player';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport ImageIcon from '@material-ui/icons/Image';\nimport FullSizeIcon from '@material-ui/icons/Fullscreen';\nimport grey from '@material-ui/core/colors/grey';\n\nimport { NewDocumentViewer } from '../NewDocumentViewer';\nimport { UnavailableFileIcon } from '../NewDocumentViewer/icons/UnavailableFileIcon';\nimport { ImageViewer } from '../../componentsV2/ImageViewer';\n\nimport styles from './styles.css';\n\nimport FileTypeIcon from '~components/FileTypeIcon';\nimport IconButton from '~components/IconButton';\nimport { isNativeDetected } from '~/utils/mobileDetect';\nimport { getIsImage, getIsVideo } from '~/utils/fileExtension';\nimport { getIsPreviewUnavailable } from '~/utils/filePreview';\nimport { DownloadIcon } from '~/icons';\nimport { useSignedURL } from '~/effects';\nimport utils from '~utils/main';\n\nconst PAGE_NAME = 'Attachment';\n\nconst grey200 = grey[200];\nconst grey400 = grey[400];\n\nconst SIZES = {\n small: { label: 'small', value: 135 },\n medium: { label: 'medium', value: 300 },\n};\n\nconst style = {\n fileImage: (imageIsLoaded, size) => ({\n maxWidth: '100%',\n borderRadius: 4,\n overflow: 'hidden',\n // NOTE: Makes one-line comment with image fits into comments container. Equals to\n // imagePlaceholder height\n maxHeight: size === SIZES.small.label ? SIZES.small.value : SIZES.medium.value,\n display: imageIsLoaded ? 'initial' : 'none',\n cursor: 'pointer',\n }),\n fileDownloadWrapper: {\n padding: '10px 10px 10px 5px',\n border: `1px solid #616161`,\n borderRadius: 3,\n maxWidth: 500, // NOTE: Corresponds to react-player max width\n width: '75%',\n },\n imagePlaceholder: {\n position: 'relative',\n backgroundColor: grey200,\n borderRadius: 3,\n marginTop: 10,\n height: 135,\n width: 135,\n },\n};\n\nconst muiStyles = theme => ({\n imageIconRoot: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n },\n dialog: {\n width: '95%',\n height: '95%',\n maxWidth: '100%',\n position: 'relative',\n },\n nativeDialog: {\n width: '100%',\n height: '100%',\n maxWidth: '100%',\n maxHeight: '100%',\n margin: 0,\n },\n dialogRoot: {\n // NOTE: Make background color similar to lightbox\n backgroundColor: 'rgba(0, 0, 0, 0.85)',\n },\n fileName: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n fontWeight: 400,\n },\n downloadIcon: {\n color: theme.palette.primary.text3,\n },\n disabledPreview: {\n backgroundColor: theme.palette.primary.text9,\n },\n unavailableFileIcon: {\n marginRight: 12,\n minWidth: 32,\n },\n titleContainer: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n },\n caption: {\n fontSize: 12,\n fontWeight: 400,\n width: 'fit-content',\n },\n unavailableFileName: {\n fontSize: 12,\n fontWeight: 400,\n },\n});\n\n/* eslint-disable react/prop-types */\nconst ImageAttachment = props => {\n const downloadLink = useSignedURL(props.attachmentFileName) || props.attachmentUrl;\n\n return (\n <>\n <div onClick={props.openLightbox} className={styles.cAttachmentImg}>\n <img\n data-testid={`${PAGE_NAME}_image`}\n src={downloadLink}\n style={style.fileImage(!!props.imageDimensions, props.size)}\n alt=\"Attachment\"\n onLoad={props.onImageLoaded}\n />\n <div data-testid={`${PAGE_NAME}_button`} className={styles.cAttachmentImgPreviwBtn}>\n <FullSizeIcon />\n </div>\n </div>\n\n {!props.imageDimensions && (\n <div style={style.imagePlaceholder}>\n <ImageIcon\n data-testid={`${PAGE_NAME}_placeholder`}\n className={props.classes.imageIconRoot}\n htmlColor={grey400}\n fontSize=\"large\"\n />\n </div>\n )}\n\n {props.lightboxIsOpen && (\n <ImageViewer\n src={downloadLink}\n onClose={props.handleLightboxClose}\n onOpen={props.handleLightboxOpen}\n width={props.imageDimensions?.width}\n height={props.imageDimensions?.height}\n />\n )}\n </>\n );\n};\n\nconst FileAttachment = props => {\n const fileName = utils.getFileNameWithExtensionFromPath(props.displayName || props.attachmentUrl);\n\n const previewUrl = useSignedURL(props.attachmentFileName, 'inline');\n const downloadUrl = useSignedURL(props.attachmentFileName, 'attachment');\n\n const isPreviewUnavailable = getIsPreviewUnavailable(fileName);\n\n const handleFilePreviewOpen = () => {\n if (isPreviewUnavailable) return;\n props.openPreview();\n };\n\n return (\n <div className={styles.cAttachmentFileWrapper}>\n <div\n className={classNames(\n styles.cAttachmentFileDownloadWrapper,\n isPreviewUnavailable && props.classes.disabledPreview\n )}\n style={style.fileDownloadWrapper}\n onClick={handleFilePreviewOpen}\n >\n {isPreviewUnavailable ? (\n <UnavailableFileIcon className={props.classes.unavailableFileIcon} />\n ) : (\n <FileTypeIcon\n fileName={props.displayName || props.attachmentUrl}\n className={styles.cAttachmentFileDownloadWrapperFileIcon}\n size={props.small ? 25 : 50}\n />\n )}\n <div className={props.classes.titleContainer}>\n {isPreviewUnavailable && <div className={props.classes.caption}>Preview unavailable</div>}\n <div\n data-testid={`${PAGE_NAME}_name`}\n className={classNames(\n styles.cAttachmentFileDownloadWrapperFileName,\n isPreviewUnavailable && props.classes.fileName\n )}\n >\n <Typography variant=\"subtitle2\" noWrap className={props.classes.unavailableFileName}>\n {fileName}\n </Typography>\n </div>\n </div>\n <NewDocumentViewer\n fileUrl={previewUrl}\n classes={{\n root: props.classes.dialogRoot,\n paper: isNativeDetected ? props.classes.nativeDialog : props.classes.dialog,\n }}\n fileName={fileName}\n fileSize={props.attachmentSize}\n onClose={props.closePreview}\n open={props.previewIsOpen}\n />\n </div>\n <a\n download={props.displayName}\n href={downloadUrl}\n className={styles.cAttachmentFileDownloadWrapperForm}\n >\n <IconButton\n data-testid={`${PAGE_NAME}_downloadButton`}\n className={props.classes.downloadIcon}\n type=\"submit\"\n >\n <DownloadIcon size={24} className={props.classes.downloadIcon} />\n </IconButton>\n </a>\n </div>\n );\n};\n\n/* eslint-enable react/prop-types */\n\nfunction Attachment(rawProps) {\n const {\n displayName = null,\n fileName: attachmentFileName = null,\n attachmentSize = undefined,\n size = SIZES.medium.label,\n small = false,\n ...otherProps\n } = rawProps;\n const props = {\n ...otherProps,\n displayName,\n fileName: attachmentFileName,\n attachmentSize,\n size,\n small,\n };\n\n const [imageDimensions, setImageDimensions] = useState(undefined);\n const [isLightboxOpen, setIsLightboxOpen] = useState(false);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n\n const fileName = props.displayName || props.attachmentUrl || props.fileName;\n const isImage = getIsImage(fileName);\n const isVideo = getIsVideo(fileName);\n\n // Don't fetch download link if attachmentUrl is provided\n const downloadLink = useSignedURL(!props.attachmentUrl && props.fileName);\n const attachmentUrl = props.attachmentUrl || downloadLink;\n const preventIOSScroll = useCallback(e => e.preventDefault(), []);\n\n // NOTE: iOS WebView has a bug when background content of React Modal is scrollable\n // Source: https://github.com/reactjs/react-modal/issues/369\n const handleLightboxOpen = useCallback(() => {\n if (isNativeDetected) {\n // document.documentElement.style.overflowY = 'hidden';\n document.documentElement.addEventListener('touchmove', preventIOSScroll, {\n passive: false,\n });\n }\n }, [preventIOSScroll]);\n\n const handleLightboxClose = useCallback(() => {\n if (isNativeDetected) {\n // document.documentElement.style.overflowY = 'visible';\n document.documentElement.removeEventListener('touchmove', preventIOSScroll);\n }\n setIsLightboxOpen(false);\n }, [preventIOSScroll]);\n\n const openLightbox = useCallback(() => setIsLightboxOpen(true), []);\n const onImageLoaded = useCallback(e => {\n const { naturalWidth, naturalHeight } = e.currentTarget;\n setImageDimensions({ width: naturalWidth, height: naturalHeight });\n }, []);\n const openPreview = useCallback(() => setIsPreviewOpen(true), []);\n const closePreview = useCallback(e => {\n e.stopPropagation();\n setIsPreviewOpen(false);\n }, []);\n\n if (isImage)\n return (\n <div className={styles.cAttachment}>\n <ImageAttachment\n size={props.size}\n openLightbox={openLightbox}\n attachmentFileName={props.fileName}\n attachmentUrl={props.attachmentUrl}\n onImageLoaded={onImageLoaded}\n imageDimensions={imageDimensions}\n lightboxIsOpen={isLightboxOpen}\n handleLightboxOpen={handleLightboxOpen}\n handleLightboxClose={handleLightboxClose}\n classes={props.classes}\n />\n </div>\n );\n\n if (isVideo && ReactPlayer.canPlay(attachmentUrl))\n return (\n <div className={styles.cAttachment}>\n <ReactPlayer\n data-testid={`${PAGE_NAME}_player`}\n className={styles.cAttachmentReactPlayer}\n url={attachmentUrl}\n config={{ file: { attributes: { preload: 'metadata' } } }}\n controls\n height={props.size === SIZES.small.label ? SIZES.small.value : SIZES.medium.value}\n width={null}\n />\n </div>\n );\n\n return (\n <div className={styles.cAttachment}>\n <FileAttachment\n attachmentUrl={attachmentUrl}\n attachmentFileName={props.fileName}\n attachmentSize={props.attachmentSize}\n displayName={props.displayName}\n openPreview={openPreview}\n closePreview={closePreview}\n previewIsOpen={isPreviewOpen}\n classes={props.classes}\n small={props.small}\n />\n </div>\n );\n}\n\nAttachment.propTypes = {\n attachmentUrl: PropTypes.string.isRequired,\n attachmentSize: PropTypes.number,\n displayName: PropTypes.string,\n fileName: PropTypes.string,\n size: PropTypes.oneOf([SIZES.small.label, SIZES.medium.label]),\n classes: PropTypes.shape({}).isRequired,\n small: PropTypes.bool,\n};\n\nexport default withStyles(muiStyles)(Attachment);\n"],"names":["grey200","grey","grey400","SIZES","label","value","style","fileImage","imageIsLoaded","size","maxWidth","borderRadius","overflow","maxHeight","display","cursor","fileDownloadWrapper","padding","border","width","imagePlaceholder","position","backgroundColor","marginTop","height","ImageAttachment","props","_props$imageDimension","_props$imageDimension2","downloadLink","useSignedURL","attachmentFileName","attachmentUrl","_jsxs","_Fragment","children","onClick","openLightbox","className","styles","cAttachmentImg","_jsx","concat","src","imageDimensions","alt","onLoad","onImageLoaded","cAttachmentImgPreviwBtn","FullSizeIcon","ImageIcon","classes","imageIconRoot","htmlColor","fontSize","lightboxIsOpen","ImageViewer","onClose","handleLightboxClose","onOpen","handleLightboxOpen","FileAttachment","fileName","utils","getFileNameWithExtensionFromPath","displayName","previewUrl","downloadUrl","isPreviewUnavailable","getIsPreviewUnavailable","cAttachmentFileWrapper","classNames","cAttachmentFileDownloadWrapper","disabledPreview","openPreview","UnavailableFileIcon","unavailableFileIcon","FileTypeIcon","cAttachmentFileDownloadWrapperFileIcon","small","titleContainer","caption","cAttachmentFileDownloadWrapperFileName","Typography","variant","noWrap","unavailableFileName","NewDocumentViewer","fileUrl","root","dialogRoot","paper","isNativeDetected","nativeDialog","dialog","fileSize","attachmentSize","closePreview","open","previewIsOpen","download","href","cAttachmentFileDownloadWrapperForm","IconButton","downloadIcon","type","DownloadIcon","Attachment","rawProps","_rawProps$displayName","_rawProps$fileName","_rawProps$attachmentS","undefined","_rawProps$size","_rawProps$small","_excluded","useState","_useState2","_slicedToArray","_useState","setImageDimensions","_useState4","_useState3","isLightboxOpen","setIsLightboxOpen","_useState6","_useState5","isPreviewOpen","setIsPreviewOpen","isImage","getIsImage","isVideo","getIsVideo","preventIOSScroll","useCallback","e","preventDefault","document","documentElement","addEventListener","passive","removeEventListener","currentTarget","naturalWidth","naturalHeight","stopPropagation","cAttachment","ReactPlayer","canPlay","cAttachmentReactPlayer","url","config","file","attributes","preload","controls","propTypes","PropTypes","string","isRequired","number","oneOf","shape","bool","Attachment$1","withStyles","theme","top","left","transform","margin","whiteSpace","textOverflow","fontWeight","color","palette","primary","text3","text9","marginRight","minWidth","flexDirection"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentDocument.d.ts","sourceRoot":"","sources":["../../../src/components/AttachmentLightbox/AttachmentDocument.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AA2G1F,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,uBAAuB,4CA2EnE,CAAC"}
1
+ {"version":3,"file":"AttachmentDocument.d.ts","sourceRoot":"","sources":["../../../src/components/AttachmentLightbox/AttachmentDocument.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAwH1F,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,uBAAuB,4CA2EnE,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/toArray";import n from"@babel/runtime/regenerator";import{useState as a,useEffect as o}from"react";import{FileIcon as i}from"../../componentsV2/FileIcon/FileIcon.js";import{Button as c}from"../../componentsV2/Button/Button.js";import{LoaderCircular as s}from"../../componentsV2/LoaderCircular/LoaderCircular.js";import{TextViewer as l}from"../NewDocumentViewer/components/TextViewer.js";import{CsvViewer as m}from"../NewDocumentViewer/components/CsvViewer.js";import{PdfViewer as d}from"../NewDocumentViewer/components/PdfViewer.js";import{getTextData as u,getXlsxData as f,getCsvData as p}from"../NewDocumentViewer/utils.js";import{openAttachmentInNewTab as b,downloadAttachment as h}from"./downloadAttachment.js";import v from"./AttachmentLightbox.scss.js";import{fetchAttachment as w}from"../../utils/fetchAttachment.js";import{getFileExtension as x}from"../../utils/fileExtension.js";import j from"../../utils/main.js";import{jsx as k,jsxs as N}from"react/jsx-runtime";var L={pdf:"pdf",csv:"table",xlsx:"table",txt:"text",json:"text"},g=function(e){var t=r(e),n=t[0],a=void 0===n?[]:n,o=t.slice(1),i=function(e){var t=new Map;return e.map((function(e,r){var n,a=e||"Column ".concat(r+1),o=null!==(n=t.get(a))&&void 0!==n?n:0;return t.set(a,o+1),o?"".concat(a," (").concat(o+1,")"):a}))}(a);return o.map((function(e){return Object.fromEntries(i.map((function(t,r){var n;return[t,null!==(n=e[r])&&void 0!==n?n:""]})))}))},F=function(){var e=t(n.mark((function e(t,r){var a,o;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("pdf"!==r){e.next=7;break}return e.next=3,w(t);case 3:return e.next=5,e.sent.blob();case 5:return o=e.sent,e.abrupt("return",URL.createObjectURL(o.type?o:new Blob([o],{type:"application/pdf"})));case 7:if("csv"!==r){e.next=9;break}return e.abrupt("return",p(t));case 9:if("xlsx"!==r){e.next=24;break}return e.t0=g,e.next=13,f(t);case 13:if(e.t2=a=e.sent,e.t1=null!==e.t2,!e.t1){e.next=17;break}e.t1=void 0!==a;case 17:if(!e.t1){e.next=21;break}e.t3=a,e.next=22;break;case 21:e.t3=[];case 22:return e.t4=e.t3,e.abrupt("return",(0,e.t0)(e.t4));case 24:return e.abrupt("return",u(t));case 25:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),U=["pdf","text","table"],y=function(r){var u=r.item,f=j.getFileNameWithExtensionFromPath(u.name),p=x(f),w=u.src||u.downloadUrl||"",g=L[p],y=function(t,r,n){var i=a((function(){return{data:"",isLoading:!!t&&U.includes(n),hasFailed:!1}})),c=e(i,2),s=c[0],l=c[1];return o((function(){if(t&&U.includes(n)){var e=!0;l({data:"",isLoading:!0,hasFailed:!1});var a="";return F(t,r).then((function(t){"pdf"===n&&(a=t),e?l({data:t,isLoading:!1,hasFailed:!1}):a&&URL.revokeObjectURL(a)})).catch((function(r){console.error('Failed to read attachment "'.concat(t,'"'),r),e&&l({data:"",isLoading:!1,hasFailed:!0})})),function(){e=!1,a&&URL.revokeObjectURL(a)}}l({data:"",isLoading:!1,hasFailed:!1})}),[t,r,n]),s}(w,p,g),D=y.data,V=y.isLoading,R=y.hasFailed;if(V)return k("div",{className:v.documentState,"data-testid":"attachment-preview-loading",children:k(s,{size:"medium"})});var T=!!w&&!R;if(T&&"pdf"===g)return k("div",{className:v.documentFrame,children:k(d,{fileUrl:D,fileName:f})});if(T&&"table"===g)return k("div",{className:v.documentTable,children:k(m,{fileData:D})});if(T&&"text"===g)return k("div",{className:v.documentText,children:k(l,{fileData:D})});var A=R||!w&&!!g;return N("div",{className:v.documentState,"data-testid":"attachment-preview-fallback",children:[k(i,{name:f,size:48}),k("div",{className:v.fallbackName,children:f}),k("div",{className:v.fallbackHint,children:A?"This file could not be opened.":"No preview available for this file type."}),!(!u.downloadUrl&&!u.src)&&!u.hideDownload&&k("a",{href:u.downloadUrl||u.src,download:f,target:"_blank",rel:"noopener noreferrer",className:v.fallbackDownload,"data-testid":"attachment-preview-fallback-download",onClick:function(){var e=t(n.mark((function e(t){var r;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.downloadUrl||u.src||"",t.preventDefault(),e.next=4,h(r,f);case 4:if(e.sent){e.next=6;break}b(r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),children:k(c,{type:"secondary",size:"medium",children:"Download"})})]})};export{y as AttachmentDocument};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/toArray";import n from"@babel/runtime/regenerator";import{useState as a,useEffect as o}from"react";import{FileIcon as i}from"../../componentsV2/FileIcon/FileIcon.js";import{Button as c}from"../../componentsV2/Button/Button.js";import{LoaderCircular as s}from"../../componentsV2/LoaderCircular/LoaderCircular.js";import{TextViewer as l}from"../NewDocumentViewer/components/TextViewer.js";import{CsvViewer as d}from"../NewDocumentViewer/components/CsvViewer.js";import{PdfViewer as m}from"../NewDocumentViewer/components/PdfViewer.js";import{getTextData as u,getXlsxData as f,getCsvData as p}from"../NewDocumentViewer/utils.js";import{openAttachmentInNewTab as b,downloadAttachment as h}from"./downloadAttachment.js";import v from"./AttachmentLightbox.scss.js";import{fetchAttachment as w}from"../../utils/fetchAttachment.js";import{getFileExtension as x}from"../../utils/fileExtension.js";import k from"../../utils/main.js";import{jsx as j,jsxs as N}from"react/jsx-runtime";var L={pdf:"pdf",csv:"table",xlsx:"table",txt:"text",json:"text"},g=function(e){var t=r(e),n=t[0],a=void 0===n?[]:n,o=t.slice(1),i=function(e){var t=new Map;return e.map((function(e,r){var n,a=e||"Column ".concat(r+1),o=null!==(n=t.get(a))&&void 0!==n?n:0;return t.set(a,o+1),o?"".concat(a," (").concat(o+1,")"):a}))}(a);return o.map((function(e){return Object.fromEntries(i.map((function(t,r){var n;return[t,null!==(n=e[r])&&void 0!==n?n:""]})))}))},F=function(){var e=t(n.mark((function e(t,r){var a,o,i;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("pdf"!==r){e.next=10;break}return e.next=3,w(t);case 3:if((o=e.sent).ok){e.next=6;break}throw new Error("Could not read the file (".concat(o.status,")"));case 6:return e.next=8,o.blob();case 8:return i=e.sent,e.abrupt("return",URL.createObjectURL("application/pdf"===i.type?i:new Blob([i],{type:"application/pdf"})));case 10:if("csv"!==r){e.next=12;break}return e.abrupt("return",p(t));case 12:if("xlsx"!==r){e.next=27;break}return e.t0=g,e.next=16,f(t);case 16:if(e.t2=a=e.sent,e.t1=null!==e.t2,!e.t1){e.next=20;break}e.t1=void 0!==a;case 20:if(!e.t1){e.next=24;break}e.t3=a,e.next=25;break;case 24:e.t3=[];case 25:return e.t4=e.t3,e.abrupt("return",(0,e.t0)(e.t4));case 27:return e.abrupt("return",u(t));case 28:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),U=["pdf","text","table"],y=function(r){var u=r.item,f=k.getFileNameWithExtensionFromPath(u.name),p=x(f),w=u.src||u.downloadUrl||"",g=L[p],y=function(t,r,n){var i=a((function(){return{data:"",isLoading:!!t&&U.includes(n),hasFailed:!1}})),c=e(i,2),s=c[0],l=c[1];return o((function(){if(t&&U.includes(n)){var e=!0;l({data:"",isLoading:!0,hasFailed:!1});var a="";return F(t,r).then((function(t){"pdf"===n&&(a=t),e?l({data:t,isLoading:!1,hasFailed:!1}):a&&URL.revokeObjectURL(a)})).catch((function(r){console.error('Failed to read attachment "'.concat(t,'"'),r),e&&l({data:"",isLoading:!1,hasFailed:!0})})),function(){e=!1,a&&URL.revokeObjectURL(a)}}l({data:"",isLoading:!1,hasFailed:!1})}),[t,r,n]),s}(w,p,g),D=y.data,V=y.isLoading,C=y.hasFailed;if(V)return j("div",{className:v.documentState,"data-testid":"attachment-preview-loading",children:j(s,{size:"medium"})});var R=!!w&&!C;if(R&&"pdf"===g)return j("div",{className:v.documentFrame,children:j(m,{fileUrl:D,fileName:f})});if(R&&"table"===g)return j("div",{className:v.documentTable,children:j(d,{fileData:D})});if(R&&"text"===g)return j("div",{className:v.documentText,children:j(l,{fileData:D})});var T=C||!w&&!!g;return N("div",{className:v.documentState,"data-testid":"attachment-preview-fallback",children:[j(i,{name:f,size:48}),j("div",{className:v.fallbackName,children:f}),j("div",{className:v.fallbackHint,children:T?"This file could not be opened.":"No preview available for this file type."}),!(!u.downloadUrl&&!u.src)&&!u.hideDownload&&j("a",{href:u.downloadUrl||u.src,download:f,target:"_blank",rel:"noopener noreferrer",className:v.fallbackDownload,"data-testid":"attachment-preview-fallback-download",onClick:function(){var e=t(n.mark((function e(t){var r;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.downloadUrl||u.src||"",t.preventDefault(),e.next=4,h(r,f);case 4:if(e.sent){e.next=6;break}b(r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),children:j(c,{type:"secondary",size:"medium",children:"Download"})})]})};export{y as AttachmentDocument};
2
2
  //# sourceMappingURL=AttachmentDocument.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentDocument.js","sources":["../../../src/components/AttachmentLightbox/AttachmentDocument.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { FileIcon } from '../../componentsV2/FileIcon';\nimport { Button } from '../../componentsV2/Button';\nimport { LoaderCircular } from '../../componentsV2/LoaderCircular';\nimport { CsvViewer, PdfViewer, TextViewer } from '../NewDocumentViewer/components';\nimport { getCsvData, getTextData, getXlsxData } from '../NewDocumentViewer/utils';\nimport type { AttachmentPreviewItem } from '../AttachmentPreview/AttachmentPreview.types';\n\nimport { downloadAttachment, openAttachmentInNewTab } from './downloadAttachment';\n\nimport styles from './AttachmentLightbox.scss';\n\nimport { fetchAttachment } from '~/utils/fetchAttachment';\nimport { getFileExtension } from '~/utils/fileExtension';\nimport utils from '~/utils/main';\n\nconst RENDERERS = {\n pdf: 'pdf',\n csv: 'table',\n xlsx: 'table',\n txt: 'text',\n json: 'text',\n} as const;\n\ntype Renderer = typeof RENDERERS[keyof typeof RENDERERS];\n\ntype TableRow = Record<string, unknown>;\n\n/** The table viewer keys cells off the first row, so every column needs its own name. */\nconst toColumnNames = (header: string[]): string[] => {\n const seen = new Map<string, number>();\n\n return header.map((column, index) => {\n const name = column || `Column ${index + 1}`;\n const taken = seen.get(name) ?? 0;\n\n seen.set(name, taken + 1);\n\n return taken ? `${name} (${taken + 1})` : name;\n });\n};\n\nconst toTableRows = (rows: string[][]): TableRow[] => {\n const [header = [], ...body] = rows;\n const columns = toColumnNames(header);\n\n return body.map(row =>\n Object.fromEntries(columns.map((column, index) => [column, row[index] ?? '']))\n );\n};\n\nconst fetchData = async (src: string, extension: string) => {\n if (extension === 'pdf') {\n // The host serves this as a download, which navigates a frame to `about:blank` and shows\n // nothing. Holding the bytes ourselves lets the viewer render them whatever it was sent as.\n const blob = await (await fetchAttachment(src)).blob();\n\n return URL.createObjectURL(blob.type ? blob : new Blob([blob], { type: 'application/pdf' }));\n }\n if (extension === 'csv') return getCsvData(src);\n if (extension === 'xlsx') return toTableRows((await getXlsxData(src)) ?? []);\n\n return getTextData(src);\n};\n\nconst NEEDS_DATA: Renderer[] = ['pdf', 'text', 'table'];\nconst useDocumentData = (src: string, extension: string, renderer?: Renderer) => {\n const [state, setState] = useState<{\n data: string | TableRow[];\n isLoading: boolean;\n hasFailed: boolean;\n }>(() => ({\n data: '',\n isLoading: !!src && NEEDS_DATA.includes(renderer as Renderer),\n hasFailed: false,\n }));\n\n useEffect(() => {\n if (!src || !NEEDS_DATA.includes(renderer as Renderer)) {\n setState({ data: '', isLoading: false, hasFailed: false });\n\n return undefined;\n }\n\n let isActive = true;\n setState({ data: '', isLoading: true, hasFailed: false });\n\n let objectUrl = '';\n\n fetchData(src, extension)\n .then(data => {\n if (renderer === 'pdf') objectUrl = data as string;\n\n if (isActive) {\n setState({ data: data as string | TableRow[], isLoading: false, hasFailed: false });\n } else if (objectUrl) {\n URL.revokeObjectURL(objectUrl);\n }\n })\n .catch(error => {\n console.error(`Failed to read attachment \"${src}\"`, error);\n if (isActive) setState({ data: '', isLoading: false, hasFailed: true });\n });\n\n return () => {\n isActive = false;\n if (objectUrl) URL.revokeObjectURL(objectUrl);\n };\n }, [src, extension, renderer]);\n\n return state;\n};\n\nexport type AttachmentDocumentProps = {\n item: AttachmentPreviewItem;\n};\n\nexport const AttachmentDocument = ({ item }: AttachmentDocumentProps) => {\n const fileName = utils.getFileNameWithExtensionFromPath(item.name);\n const extension = getFileExtension(fileName);\n const src = item.src || item.downloadUrl || '';\n const renderer: Renderer | undefined = RENDERERS[extension as keyof typeof RENDERERS];\n\n const { data, isLoading, hasFailed } = useDocumentData(src, extension, renderer);\n\n if (isLoading) {\n return (\n <div className={styles.documentState} data-testid=\"attachment-preview-loading\">\n <LoaderCircular size=\"medium\" />\n </div>\n );\n }\n\n const isRenderable = !!src && !hasFailed;\n\n if (isRenderable && renderer === 'pdf') {\n return (\n <div className={styles.documentFrame}>\n <PdfViewer fileUrl={data as string} fileName={fileName} />\n </div>\n );\n }\n\n if (isRenderable && renderer === 'table') {\n return (\n <div className={styles.documentTable}>\n <CsvViewer fileData={data as TableRow[]} />\n </div>\n );\n }\n\n if (isRenderable && renderer === 'text') {\n return (\n <div className={styles.documentText}>\n <TextViewer fileData={data as string} />\n </div>\n );\n }\n\n const isUnopenable = hasFailed || (!src && !!renderer);\n\n return (\n <div className={styles.documentState} data-testid=\"attachment-preview-fallback\">\n <FileIcon name={fileName} size={48} />\n <div className={styles.fallbackName}>{fileName}</div>\n <div className={styles.fallbackHint}>\n {isUnopenable\n ? 'This file could not be opened.'\n : 'No preview available for this file type.'}\n </div>\n {!!(item.downloadUrl || item.src) && !item.hideDownload && (\n <a\n href={item.downloadUrl || item.src}\n download={fileName}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.fallbackDownload}\n data-testid=\"attachment-preview-fallback-download\"\n onClick={async event => {\n const url = item.downloadUrl || item.src || '';\n event.preventDefault();\n\n if (!(await downloadAttachment(url, fileName))) openAttachmentInNewTab(url);\n }}\n >\n <Button type=\"secondary\" size=\"medium\">\n Download\n </Button>\n </a>\n )}\n </div>\n );\n};\n"],"names":["RENDERERS","pdf","csv","xlsx","txt","json","toTableRows","rows","_rows","_toArray","_rows$","header","body","slice","columns","seen","Map","map","column","index","_seen$get","name","taken","get","set","concat","toColumnNames","row","Object","fromEntries","_row$index","fetchData","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","src","extension","_yield$getXlsxData","blob","wrap","_context","prev","next","fetchAttachment","sent","abrupt","URL","createObjectURL","type","Blob","getCsvData","t0","getXlsxData","t2","t1","t3","t4","getTextData","stop","_x","_x2","apply","this","arguments","NEEDS_DATA","AttachmentDocument","_ref2","item","fileName","utils","getFileNameWithExtensionFromPath","getFileExtension","downloadUrl","renderer","_useDocumentData","_useState","useState","data","isLoading","includes","hasFailed","_useState2","_slicedToArray","state","setState","useEffect","isActive","objectUrl","then","revokeObjectURL","catch","error","console","useDocumentData","_jsx","className","styles","documentState","children","LoaderCircular","size","isRenderable","documentFrame","PdfViewer","fileUrl","documentTable","CsvViewer","fileData","documentText","TextViewer","isUnopenable","_jsxs","FileIcon","fallbackName","fallbackHint","hideDownload","href","download","target","rel","fallbackDownload","onClick","_ref3","event","url","_context2","preventDefault","downloadAttachment","openAttachmentInNewTab","_callee2","_x3","Button"],"mappings":"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"}
1
+ {"version":3,"file":"AttachmentDocument.js","sources":["../../../src/components/AttachmentLightbox/AttachmentDocument.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { FileIcon } from '../../componentsV2/FileIcon';\nimport { Button } from '../../componentsV2/Button';\nimport { LoaderCircular } from '../../componentsV2/LoaderCircular';\nimport { CsvViewer, PdfViewer, TextViewer } from '../NewDocumentViewer/components';\nimport { getCsvData, getTextData, getXlsxData } from '../NewDocumentViewer/utils';\nimport type { AttachmentPreviewItem } from '../AttachmentPreview/AttachmentPreview.types';\n\nimport { downloadAttachment, openAttachmentInNewTab } from './downloadAttachment';\n\nimport styles from './AttachmentLightbox.scss';\n\nimport { fetchAttachment } from '~/utils/fetchAttachment';\nimport { getFileExtension } from '~/utils/fileExtension';\nimport utils from '~/utils/main';\n\nconst RENDERERS = {\n pdf: 'pdf',\n csv: 'table',\n xlsx: 'table',\n txt: 'text',\n json: 'text',\n} as const;\n\ntype Renderer = typeof RENDERERS[keyof typeof RENDERERS];\n\ntype TableRow = Record<string, unknown>;\n\n/** The table viewer keys cells off the first row, so every column needs its own name. */\nconst toColumnNames = (header: string[]): string[] => {\n const seen = new Map<string, number>();\n\n return header.map((column, index) => {\n const name = column || `Column ${index + 1}`;\n const taken = seen.get(name) ?? 0;\n\n seen.set(name, taken + 1);\n\n return taken ? `${name} (${taken + 1})` : name;\n });\n};\n\nconst toTableRows = (rows: string[][]): TableRow[] => {\n const [header = [], ...body] = rows;\n const columns = toColumnNames(header);\n\n return body.map(row =>\n Object.fromEntries(columns.map((column, index) => [column, row[index] ?? '']))\n );\n};\n\nconst PDF_MIME_TYPE = 'application/pdf';\n\nconst fetchData = async (src: string, extension: string) => {\n if (extension === 'pdf') {\n // The host serves this as a download, which navigates a frame to `about:blank` and shows\n // nothing. Holding the bytes ourselves lets the viewer render them whatever it was sent as.\n const response = await fetchAttachment(src);\n\n // A refused read answers with an XML error page; retyped below it would reach the viewer as\n // a \"pdf\" instead of the failure fallback.\n if (!response.ok) throw new Error(`Could not read the file (${response.status})`);\n\n const blob = await response.blob();\n\n // The frame renders a blob by its type alone: pipeline uploads (stage reports, PJRs) sit in\n // S3 as `application/octet-stream`, which the frame downloads instead of showing — so the\n // extension decides, not the header.\n return URL.createObjectURL(\n blob.type === PDF_MIME_TYPE ? blob : new Blob([blob], { type: PDF_MIME_TYPE })\n );\n }\n if (extension === 'csv') return getCsvData(src);\n if (extension === 'xlsx') return toTableRows((await getXlsxData(src)) ?? []);\n\n return getTextData(src);\n};\n\nconst NEEDS_DATA: Renderer[] = ['pdf', 'text', 'table'];\nconst useDocumentData = (src: string, extension: string, renderer?: Renderer) => {\n const [state, setState] = useState<{\n data: string | TableRow[];\n isLoading: boolean;\n hasFailed: boolean;\n }>(() => ({\n data: '',\n isLoading: !!src && NEEDS_DATA.includes(renderer as Renderer),\n hasFailed: false,\n }));\n\n useEffect(() => {\n if (!src || !NEEDS_DATA.includes(renderer as Renderer)) {\n setState({ data: '', isLoading: false, hasFailed: false });\n\n return undefined;\n }\n\n let isActive = true;\n setState({ data: '', isLoading: true, hasFailed: false });\n\n let objectUrl = '';\n\n fetchData(src, extension)\n .then(data => {\n if (renderer === 'pdf') objectUrl = data as string;\n\n if (isActive) {\n setState({ data: data as string | TableRow[], isLoading: false, hasFailed: false });\n } else if (objectUrl) {\n URL.revokeObjectURL(objectUrl);\n }\n })\n .catch(error => {\n console.error(`Failed to read attachment \"${src}\"`, error);\n if (isActive) setState({ data: '', isLoading: false, hasFailed: true });\n });\n\n return () => {\n isActive = false;\n if (objectUrl) URL.revokeObjectURL(objectUrl);\n };\n }, [src, extension, renderer]);\n\n return state;\n};\n\nexport type AttachmentDocumentProps = {\n item: AttachmentPreviewItem;\n};\n\nexport const AttachmentDocument = ({ item }: AttachmentDocumentProps) => {\n const fileName = utils.getFileNameWithExtensionFromPath(item.name);\n const extension = getFileExtension(fileName);\n const src = item.src || item.downloadUrl || '';\n const renderer: Renderer | undefined = RENDERERS[extension as keyof typeof RENDERERS];\n\n const { data, isLoading, hasFailed } = useDocumentData(src, extension, renderer);\n\n if (isLoading) {\n return (\n <div className={styles.documentState} data-testid=\"attachment-preview-loading\">\n <LoaderCircular size=\"medium\" />\n </div>\n );\n }\n\n const isRenderable = !!src && !hasFailed;\n\n if (isRenderable && renderer === 'pdf') {\n return (\n <div className={styles.documentFrame}>\n <PdfViewer fileUrl={data as string} fileName={fileName} />\n </div>\n );\n }\n\n if (isRenderable && renderer === 'table') {\n return (\n <div className={styles.documentTable}>\n <CsvViewer fileData={data as TableRow[]} />\n </div>\n );\n }\n\n if (isRenderable && renderer === 'text') {\n return (\n <div className={styles.documentText}>\n <TextViewer fileData={data as string} />\n </div>\n );\n }\n\n const isUnopenable = hasFailed || (!src && !!renderer);\n\n return (\n <div className={styles.documentState} data-testid=\"attachment-preview-fallback\">\n <FileIcon name={fileName} size={48} />\n <div className={styles.fallbackName}>{fileName}</div>\n <div className={styles.fallbackHint}>\n {isUnopenable\n ? 'This file could not be opened.'\n : 'No preview available for this file type.'}\n </div>\n {!!(item.downloadUrl || item.src) && !item.hideDownload && (\n <a\n href={item.downloadUrl || item.src}\n download={fileName}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.fallbackDownload}\n data-testid=\"attachment-preview-fallback-download\"\n onClick={async event => {\n const url = item.downloadUrl || item.src || '';\n event.preventDefault();\n\n if (!(await downloadAttachment(url, fileName))) openAttachmentInNewTab(url);\n }}\n >\n <Button type=\"secondary\" size=\"medium\">\n Download\n </Button>\n </a>\n )}\n </div>\n );\n};\n"],"names":["RENDERERS","pdf","csv","xlsx","txt","json","toTableRows","rows","_rows","_toArray","_rows$","header","body","slice","columns","seen","Map","map","column","index","_seen$get","name","taken","get","set","concat","toColumnNames","row","Object","fromEntries","_row$index","fetchData","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","src","extension","_yield$getXlsxData","response","blob","wrap","_context","prev","next","fetchAttachment","sent","ok","Error","status","abrupt","URL","createObjectURL","type","Blob","getCsvData","t0","getXlsxData","t2","t1","t3","t4","getTextData","stop","_x","_x2","apply","this","arguments","NEEDS_DATA","AttachmentDocument","_ref2","item","fileName","utils","getFileNameWithExtensionFromPath","getFileExtension","downloadUrl","renderer","_useDocumentData","_useState","useState","data","isLoading","includes","hasFailed","_useState2","_slicedToArray","state","setState","useEffect","isActive","objectUrl","then","revokeObjectURL","catch","error","console","useDocumentData","_jsx","className","styles","documentState","children","LoaderCircular","size","isRenderable","documentFrame","PdfViewer","fileUrl","documentTable","CsvViewer","fileData","documentText","TextViewer","isUnopenable","_jsxs","FileIcon","fallbackName","fallbackHint","hideDownload","href","download","target","rel","fallbackDownload","onClick","_ref3","event","url","_context2","preventDefault","downloadAttachment","openAttachmentInNewTab","_callee2","_x3","Button"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/slicedToArray";import{memo as r,useRef as t,useState as o,useMemo as n,useEffect as i,createElement as u}from"react";import a from"prop-types";import{get as l}from"lodash";import c from"./Map.css.js";import{mapbox as s}from"../../../../utils/index.js";import{createAdaptiveRoot as d}from"../../../../utils/createAdaptiveRoot.js";import"../../../../config/mapboxGl/index.js";import{IS_MAPBOX_ENABLED as p}from"../../../../config/mapbox/index.js";import"mapbox-gl/dist/mapbox-gl.css";import{jsx as f}from"react/jsx-runtime";import m from"mapbox-gl";var v=[29.749907,-95.358421],y="wells-highlight",g={type:"FeatureCollection",features:[]},h=function(r){var t=e(r,2),o=t[0];return[t[1],o]};function w(r){var a=r.subjectWell,w=void 0===a?null:a,S=r.wells,j=r.offsetWells,C=void 0===j?null:j,M=r.radius,D=r.subjectWellMarkerSize,F=void 0===D?b:D,P=r.wellMarkerSize,L=void 0===P?x:P,W=r.coordsDataPath,k=void 0===W?"settings.top_hole.coordinates":W,z=t(null),B=t(null),I=t(null),R=t(null),T=t(null),q=t(null),N=t(),O=o(!1),A=e(O,2),E=A[0],G=A[1],H=n((function(){return w&&l(w,k)}),[w,k]);i((function(){if(p){B.current=new m.Map({container:z.current,style:"mapbox://styles/mapbox/dark-v9",center:h(v),zoom:1,attributionControl:!1,scrollZoom:!1}),B.current.addControl(new m.NavigationControl({showCompass:!1}),"bottom-right"),B.current.on("load",(function(){B.current.addSource("radius-circle",{type:"geojson",data:g}),B.current.addLayer({id:"radius-circle",type:"fill",source:"radius-circle",paint:{"fill-color":"#03BCD4","fill-opacity":.2}}),B.current.addSource("wells",{type:"geojson",data:g}),B.current.addLayer({id:"wells",type:"circle",source:"wells",paint:{"circle-radius":["get","radius"],"circle-color":"#FFC107","circle-opacity":["get","opacity"]}}),B.current.addSource(y,{type:"geojson",data:g}),B.current.addLayer({id:y,type:"circle",source:y,paint:{"circle-radius":["get","radius"],"circle-color":"#FFC107","circle-opacity":.2}}),G(!0)}));var e=B.current;return function(){var r;null===(r=T.current)||void 0===r||r.unmount(),T.current=null,q.current=null,e.remove(),B.current=null,I.current=null}}}),[]),i((function(){if(B.current&&E)if(H){var r=function(r,t){for(var o=e(r,2),n=o[0],i=o[1],u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,a=[],l=t/(111320*Math.cos(n*Math.PI/180)),c=t/110574,s=0;s<=u;s+=1){var d=s/u*(2*Math.PI);a.push([i+l*Math.cos(d),n+c*Math.sin(d)])}return a}(H,1609.34*M);B.current.getSource("radius-circle").setData({type:"Feature",geometry:{type:"Polygon",coordinates:[r]}})}else B.current.getSource("radius-circle").setData(g)}),[M,H,E]);return i((function(){var e;if(B.current&&E){var r=N.current;N.current=S,null===(e=R.current)||void 0===e||e.remove(),B.current.getSource(y).setData(g);var t=C.map((function(e){return e.id})),o=[],n={},i=new m.LngLatBounds;S.forEach((function(e){var r=l(e,k);if(r&&s.isValidCoordinates(r)){var u=w&&w.id===e.id,a=t.includes(e.id),c=u?F:L,d=u||a?1:.3;n[e.id]=e,i.extend(h(r)),o.push({type:"Feature",geometry:{type:"Point",coordinates:h(r)},properties:{wellId:e.id,radius:c,opacity:d}})}})),B.current.getSource("wells").setData({type:"FeatureCollection",features:o}),I.current=o.length?i:null;var a=B.current,c=null,p=function(e){a.getCanvas().style.cursor="pointer";var r=n[e.features[0].properties.wellId];if(r&&r.id!==c){c=r.id;var t=l(r,k);q.current||(q.current=document.createElement("div"),T.current=d(q.current)),T.current.render(u((function(e){var r=e.well;return f("div",{style:{color:"#fff",background:"##414141"},children:f("span",{style:{fontSize:"11px",lineHeight:"16px"},children:l(r,"name")})})}),{well:r})),R.current||(R.current=new m.Popup({closeButton:!1,maxWidth:"none"})),R.current.setLngLat(h(t)).setDOMContent(q.current).addTo(a),function(e,r){B.current.getSource(y).setData({type:"Feature",geometry:{type:"Point",coordinates:h(e)},properties:{radius:3*r}})}(t,e.features[0].properties.radius)}},v=function(){var e;c=null,a.getCanvas().style.cursor="",a.getSource(y).setData(g),null===(e=R.current)||void 0===e||e.remove()},b=function(e){null!=e&&e.point&&a.queryRenderedFeatures(e.point,{layers:[y]}).length||v()};return a.on("mousemove","wells",p),a.on("mouseleave","wells",b),a.on("mouseleave",y,v),setTimeout((function(){B.current&&I.current&&S!==r&&B.current.fitBounds(I.current)}),500),function(){a.off("mousemove","wells",p),a.off("mouseleave","wells",b),a.off("mouseleave",y,v)}}}),[w,S,C,E]),f("div",{className:c.map,children:f("div",{className:c.mapMain,ref:z})})}w.propTypes={subjectWell:a.shape({id:a.number,formation:a.string}),wells:a.arrayOf(a.shape({})).isRequired,offsetWells:a.arrayOf(a.shape({})),radius:a.number.isRequired,subjectWellMarkerSize:a.number,wellMarkerSize:a.number,coordsDataPath:a.string};var b=8,x=5,S=r(w);export{S as default};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import{memo as r,useRef as t,useState as o,useMemo as i,useEffect as n,createElement as s}from"react";import a from"prop-types";import{get as l}from"lodash";import u from"./Map.css.js";import"../../../UserMention/utils/index.js";import"@babel/runtime/helpers/defineProperty";import"../../../../utils/convert.js";import"../../../../constants/completion.js";import"moment";import"../../../../constants/alerts.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"../../../GradientManager/configuration/constants.js";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import{isValidCoordinates as c}from"../../../../utils/mapbox.js";import"../../../../utils/metrics/metricsConfig.js";import"../../../../utils/mobileDetect.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../../../utils/dashboardReports.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"../../../../clients/jsonApi/index.js";import"@babel/runtime/helpers/objectWithoutProperties";import"classnames";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import{createAdaptiveRoot as p}from"../../../../utils/createAdaptiveRoot.js";import"../../../../config/mapboxGl/index.js";import{IS_MAPBOX_ENABLED as m}from"../../../../config/mapbox/index.js";import"mapbox-gl/dist/mapbox-gl.css";import{jsx as d}from"react/jsx-runtime";import f from"mapbox-gl";var g=[29.749907,-95.358421],v="wells-highlight",j={type:"FeatureCollection",features:[]},y=function(r){var t=e(r,2),o=t[0];return[t[1],o]};function h(r){var a=r.subjectWell,h=void 0===a?null:a,x=r.wells,C=r.offsetWells,S=void 0===C?null:C,M=r.radius,D=r.subjectWellMarkerSize,P=void 0===D?b:D,F=r.wellMarkerSize,W=void 0===F?w:F,k=r.coordsDataPath,z=void 0===k?"settings.top_hole.coordinates":k,L=t(null),T=t(null),A=t(null),I=t(null),R=t(null),q=t(null),B=t(),N=o(!1),G=e(N,2),O=G[0],E=G[1],H=i((function(){return h&&l(h,z)}),[h,z]);n((function(){if(m){T.current=new f.Map({container:L.current,style:"mapbox://styles/mapbox/dark-v9",center:y(g),zoom:1,attributionControl:!1,scrollZoom:!1}),T.current.addControl(new f.NavigationControl({showCompass:!1}),"bottom-right"),T.current.on("load",(function(){T.current.addSource("radius-circle",{type:"geojson",data:j}),T.current.addLayer({id:"radius-circle",type:"fill",source:"radius-circle",paint:{"fill-color":"#03BCD4","fill-opacity":.2}}),T.current.addSource("wells",{type:"geojson",data:j}),T.current.addLayer({id:"wells",type:"circle",source:"wells",paint:{"circle-radius":["get","radius"],"circle-color":"#FFC107","circle-opacity":["get","opacity"]}}),T.current.addSource(v,{type:"geojson",data:j}),T.current.addLayer({id:v,type:"circle",source:v,paint:{"circle-radius":["get","radius"],"circle-color":"#FFC107","circle-opacity":.2}}),E(!0)}));var e=T.current;return function(){var r;null===(r=R.current)||void 0===r||r.unmount(),R.current=null,q.current=null,e.remove(),T.current=null,A.current=null}}}),[]),n((function(){if(T.current&&O)if(H){var r=function(r,t){for(var o=e(r,2),i=o[0],n=o[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,a=[],l=t/(111320*Math.cos(i*Math.PI/180)),u=t/110574,c=0;c<=s;c+=1){var p=c/s*(2*Math.PI);a.push([n+l*Math.cos(p),i+u*Math.sin(p)])}return a}(H,1609.34*M);T.current.getSource("radius-circle").setData({type:"Feature",geometry:{type:"Polygon",coordinates:[r]}})}else T.current.getSource("radius-circle").setData(j)}),[M,H,O]);return n((function(){var e;if(T.current&&O){var r=B.current;B.current=x,null===(e=I.current)||void 0===e||e.remove(),T.current.getSource(v).setData(j);var t=S.map((function(e){return e.id})),o=[],i={},n=new f.LngLatBounds;x.forEach((function(e){var r=l(e,z);if(r&&c(r)){var s=h&&h.id===e.id,a=t.includes(e.id),u=s?P:W,p=s||a?1:.3;i[e.id]=e,n.extend(y(r)),o.push({type:"Feature",geometry:{type:"Point",coordinates:y(r)},properties:{wellId:e.id,radius:u,opacity:p}})}})),T.current.getSource("wells").setData({type:"FeatureCollection",features:o}),A.current=o.length?n:null;var a=T.current,u=null,m=function(e){a.getCanvas().style.cursor="pointer";var r=i[e.features[0].properties.wellId];if(r&&r.id!==u){u=r.id;var t=l(r,z);q.current||(q.current=document.createElement("div"),R.current=p(q.current)),R.current.render(s((function(e){var r=e.well;return d("div",{style:{color:"#fff",background:"##414141"},children:d("span",{style:{fontSize:"11px",lineHeight:"16px"},children:l(r,"name")})})}),{well:r})),I.current||(I.current=new f.Popup({closeButton:!1,maxWidth:"none"})),I.current.setLngLat(y(t)).setDOMContent(q.current).addTo(a),function(e,r){T.current.getSource(v).setData({type:"Feature",geometry:{type:"Point",coordinates:y(e)},properties:{radius:3*r}})}(t,e.features[0].properties.radius)}},g=function(){var e;u=null,a.getCanvas().style.cursor="",a.getSource(v).setData(j),null===(e=I.current)||void 0===e||e.remove()},b=function(e){null!=e&&e.point&&a.queryRenderedFeatures(e.point,{layers:[v]}).length||g()};return a.on("mousemove","wells",m),a.on("mouseleave","wells",b),a.on("mouseleave",v,g),setTimeout((function(){T.current&&A.current&&x!==r&&T.current.fitBounds(A.current)}),500),function(){a.off("mousemove","wells",m),a.off("mouseleave","wells",b),a.off("mouseleave",v,g)}}}),[h,x,S,O]),d("div",{className:u.map,children:d("div",{className:u.mapMain,ref:L})})}h.propTypes={subjectWell:a.shape({id:a.number,formation:a.string}),wells:a.arrayOf(a.shape({})).isRequired,offsetWells:a.arrayOf(a.shape({})),radius:a.number.isRequired,subjectWellMarkerSize:a.number,wellMarkerSize:a.number,coordsDataPath:a.string};var b=8,w=5,x=r(h);export{x as default};
2
2
  //# sourceMappingURL=Map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sources":["../../../../../src/components/BICOffsetPickerDialog/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { get } from 'lodash';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { createAdaptiveRoot } from '~/utils/createAdaptiveRoot';\nimport mapboxgl from '~/config/mapboxGl';\nimport { IS_MAPBOX_ENABLED } from '~/config/mapbox';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 8;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#FFC107';\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\nconst RADIUS_CIRCLE_ID = 'radius-circle';\nconst WELLS_ID = 'wells';\nconst HIGHLIGHT_ID = 'wells-highlight';\nconst EMPTY_FEATURE_COLLECTION = { type: 'FeatureCollection', features: [] };\n\nconst toLngLat = ([lat, lng]) => [lng, lat];\n\n// NOTE: mapbox-gl has no geographic-radius circle primitive, so approximate it with a polygon\nconst makeCirclePolygon = ([lat, lng], radiusMeters, points = 64) => {\n const ring = [];\n const distanceX = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const distanceY = radiusMeters / 110574;\n for (let i = 0; i <= points; i += 1) {\n const theta = (i / points) * (2 * Math.PI);\n ring.push([lng + distanceX * Math.cos(theta), lat + distanceY * Math.sin(theta)]);\n }\n return ring;\n};\n\nconst toolTip =\n () =>\n // eslint-disable-next-line react/prop-types\n ({ well }) => {\n return (\n <div style={{ color: '#fff', background: '##414141' }}>\n <span style={{ fontSize: '11px', lineHeight: '16px' }}>{get(well, 'name')}</span>\n </div>\n );\n };\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell = null,\n wells,\n offsetWells = null,\n radius,\n subjectWellMarkerSize = DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize = DEFAULT_WELLS_MAP_WELL_MARKER_SIZE,\n coordsDataPath = 'settings.top_hole.coordinates',\n}) {\n const mapContainerRef = useRef(null);\n const mapRef = useRef(null);\n const markersBoundsRef = useRef(null);\n const popupRef = useRef(null);\n const tooltipRootRef = useRef(null);\n const tooltipContainerRef = useRef(null);\n const prevWellsRef = useRef();\n const [isMapReady, setIsMapReady] = useState(false);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!IS_MAPBOX_ENABLED) return undefined;\n\n mapRef.current = new mapboxgl.Map({\n container: mapContainerRef.current,\n style: 'mapbox://styles/mapbox/dark-v9',\n center: toLngLat(DEFAULT_COORDS),\n zoom: 1,\n attributionControl: false,\n scrollZoom: false,\n });\n\n mapRef.current.addControl(\n new mapboxgl.NavigationControl({ showCompass: false }),\n 'bottom-right'\n );\n\n // NOTE: Sources/layers can only be added once the style has loaded.\n // The radius circle layer is added first so well markers render above it (was bringToBack),\n // and the hover highlight layer last so it renders on top of the markers\n mapRef.current.on('load', () => {\n mapRef.current.addSource(RADIUS_CIRCLE_ID, {\n type: 'geojson',\n data: EMPTY_FEATURE_COLLECTION,\n });\n mapRef.current.addLayer({\n id: RADIUS_CIRCLE_ID,\n type: 'fill',\n source: RADIUS_CIRCLE_ID,\n paint: {\n 'fill-color': RADIUS_CIRCLE_COLOR,\n 'fill-opacity': 0.2,\n },\n });\n\n mapRef.current.addSource(WELLS_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n mapRef.current.addLayer({\n id: WELLS_ID,\n type: 'circle',\n source: WELLS_ID,\n paint: {\n 'circle-radius': ['get', 'radius'],\n 'circle-color': OFFSET_WELL_COLOR,\n 'circle-opacity': ['get', 'opacity'],\n },\n });\n\n mapRef.current.addSource(HIGHLIGHT_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n mapRef.current.addLayer({\n id: HIGHLIGHT_ID,\n type: 'circle',\n source: HIGHLIGHT_ID,\n paint: {\n 'circle-radius': ['get', 'radius'],\n 'circle-color': OFFSET_WELL_COLOR,\n 'circle-opacity': 0.2,\n },\n });\n\n setIsMapReady(true);\n });\n\n const map = mapRef.current;\n return () => {\n tooltipRootRef.current?.unmount();\n tooltipRootRef.current = null;\n tooltipContainerRef.current = null;\n\n map.remove();\n mapRef.current = null;\n markersBoundsRef.current = null;\n };\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapRef.current || !isMapReady) {\n return;\n }\n\n if (!subjectWellCoords) {\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData(EMPTY_FEATURE_COLLECTION);\n return;\n }\n\n const ring = makeCirclePolygon(subjectWellCoords, radius * METERS_IN_MILE);\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData({\n type: 'Feature',\n geometry: { type: 'Polygon', coordinates: [ring] },\n });\n }, [radius, subjectWellCoords, isMapReady]);\n\n const handleMouseOver = (coords, r) => {\n // Highlight the hovered well with a bigger translucent circle\n mapRef.current.getSource(HIGHLIGHT_ID).setData({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: { radius: r * 3 },\n });\n };\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapRef.current || !isMapReady) {\n return undefined;\n }\n\n const prevWells = prevWellsRef.current;\n prevWellsRef.current = wells;\n\n popupRef.current?.remove();\n mapRef.current.getSource(HIGHLIGHT_ID).setData(EMPTY_FEATURE_COLLECTION);\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const features = [];\n const wellsById = {};\n const bounds = new mapboxgl.LngLatBounds();\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && mapbox.isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n wellsById[well.id] = well;\n bounds.extend(toLngLat(coords));\n features.push({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: { wellId: well.id, radius: r, opacity },\n });\n }\n });\n\n mapRef.current.getSource(WELLS_ID).setData({ type: 'FeatureCollection', features });\n markersBoundsRef.current = features.length ? bounds : null;\n\n const map = mapRef.current;\n let hoveredWellId = null;\n\n const handleMouseMove = e => {\n map.getCanvas().style.cursor = 'pointer';\n\n const well = wellsById[e.features[0].properties.wellId];\n if (!well || well.id === hoveredWellId) {\n return;\n }\n hoveredWellId = well.id;\n\n const coords = get(well, coordsDataPath);\n\n // Tooltip\n if (!tooltipContainerRef.current) {\n tooltipContainerRef.current = document.createElement('div');\n tooltipRootRef.current = createAdaptiveRoot(tooltipContainerRef.current);\n }\n tooltipRootRef.current.render(createElement(toolTip(), { well }));\n\n if (!popupRef.current) {\n popupRef.current = new mapboxgl.Popup({ closeButton: false, maxWidth: 'none' });\n }\n popupRef.current\n .setLngLat(toLngLat(coords))\n .setDOMContent(tooltipContainerRef.current)\n .addTo(map);\n\n // Highlight\n handleMouseOver(coords, e.features[0].properties.radius);\n };\n\n // NOTE: was the mouseout handler of the Leaflet highlight marker\n const handleHighlightMouseLeave = () => {\n hoveredWellId = null;\n map.getCanvas().style.cursor = '';\n map.getSource(HIGHLIGHT_ID).setData(EMPTY_FEATURE_COLLECTION);\n popupRef.current?.remove();\n };\n\n // NOTE: If the pointer exits before the highlight renders under it, the highlight\n // layer never emits mouseleave — clear here unless the cursor is inside the highlight\n const handleWellsMouseLeave = e => {\n if (e?.point && map.queryRenderedFeatures(e.point, { layers: [HIGHLIGHT_ID] }).length) {\n return;\n }\n handleHighlightMouseLeave();\n };\n\n map.on('mousemove', WELLS_ID, handleMouseMove);\n map.on('mouseleave', WELLS_ID, handleWellsMouseLeave);\n map.on('mouseleave', HIGHLIGHT_ID, handleHighlightMouseLeave);\n\n setTimeout(() => {\n if (mapRef.current && markersBoundsRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(markersBoundsRef.current);\n }\n }, 500);\n\n return () => {\n map.off('mousemove', WELLS_ID, handleMouseMove);\n map.off('mouseleave', WELLS_ID, handleWellsMouseLeave);\n map.off('mouseleave', HIGHLIGHT_ID, handleHighlightMouseLeave);\n };\n }, [subjectWell, wells, offsetWells, isMapReady]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n coordsDataPath: PropTypes.string,\n};\n\nconst DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE = DEFAULT_SUBJECT_WELL_MARKER_SIZE;\nconst DEFAULT_WELLS_MAP_WELL_MARKER_SIZE = DEFAULT_WELL_MARKER_SIZE;\n\nexport default memo(WellsMap);\n"],"names":["DEFAULT_COORDS","HIGHLIGHT_ID","EMPTY_FEATURE_COLLECTION","type","features","toLngLat","_ref","_ref2","_slicedToArray","lat","WellsMap","_ref6","_ref6$subjectWell","subjectWell","wells","_ref6$offsetWells","offsetWells","radius","_ref6$subjectWellMark","subjectWellMarkerSize","DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE","_ref6$wellMarkerSize","wellMarkerSize","DEFAULT_WELLS_MAP_WELL_MARKER_SIZE","_ref6$coordsDataPath","coordsDataPath","mapContainerRef","useRef","mapRef","markersBoundsRef","popupRef","tooltipRootRef","tooltipContainerRef","prevWellsRef","useState","_useState2","_useState","isMapReady","setIsMapReady","subjectWellCoords","useMemo","get","useEffect","IS_MAPBOX_ENABLED","current","mapboxgl","Map","container","style","center","zoom","attributionControl","scrollZoom","addControl","NavigationControl","showCompass","on","addSource","data","addLayer","id","source","paint","map","_tooltipRootRef$curre","unmount","remove","ring","_ref3","radiusMeters","_ref4","lng","points","distanceX","Math","cos","PI","distanceY","i","theta","push","sin","makeCirclePolygon","getSource","setData","geometry","coordinates","_popupRef$current","prevWells","offsetWellIds","well","wellsById","bounds","LngLatBounds","forEach","coords","mapbox","isValidCoordinates","isWellSubject","isWellOffset","includes","r","opacity","extend","properties","wellId","length","hoveredWellId","handleMouseMove","e","getCanvas","cursor","document","createElement","createAdaptiveRoot","render","_ref5","_jsx","color","background","children","fontSize","lineHeight","Popup","closeButton","maxWidth","setLngLat","setDOMContent","addTo","handleMouseOver","handleHighlightMouseLeave","_popupRef$current2","handleWellsMouseLeave","point","queryRenderedFeatures","layers","setTimeout","fitBounds","off","className","styles","mapMain","ref","propTypes","PropTypes","shape","number","formation","string","arrayOf","isRequired","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sources":["../../../../../src/components/BICOffsetPickerDialog/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { get } from 'lodash';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport { createAdaptiveRoot } from '~/utils/createAdaptiveRoot';\nimport mapboxgl from '~/config/mapboxGl';\nimport { IS_MAPBOX_ENABLED } from '~/config/mapbox';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 8;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#FFC107';\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\n\nconst RADIUS_CIRCLE_ID = 'radius-circle';\nconst WELLS_ID = 'wells';\nconst HIGHLIGHT_ID = 'wells-highlight';\nconst EMPTY_FEATURE_COLLECTION = { type: 'FeatureCollection', features: [] };\n\nconst toLngLat = ([lat, lng]) => [lng, lat];\n\n// NOTE: mapbox-gl has no geographic-radius circle primitive, so approximate it with a polygon\nconst makeCirclePolygon = ([lat, lng], radiusMeters, points = 64) => {\n const ring = [];\n const distanceX = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const distanceY = radiusMeters / 110574;\n for (let i = 0; i <= points; i += 1) {\n const theta = (i / points) * (2 * Math.PI);\n ring.push([lng + distanceX * Math.cos(theta), lat + distanceY * Math.sin(theta)]);\n }\n return ring;\n};\n\nconst toolTip =\n () =>\n // eslint-disable-next-line react/prop-types\n ({ well }) => {\n return (\n <div style={{ color: '#fff', background: '##414141' }}>\n <span style={{ fontSize: '11px', lineHeight: '16px' }}>{get(well, 'name')}</span>\n </div>\n );\n };\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n subjectWell = null,\n wells,\n offsetWells = null,\n radius,\n subjectWellMarkerSize = DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE,\n wellMarkerSize = DEFAULT_WELLS_MAP_WELL_MARKER_SIZE,\n coordsDataPath = 'settings.top_hole.coordinates',\n}) {\n const mapContainerRef = useRef(null);\n const mapRef = useRef(null);\n const markersBoundsRef = useRef(null);\n const popupRef = useRef(null);\n const tooltipRootRef = useRef(null);\n const tooltipContainerRef = useRef(null);\n const prevWellsRef = useRef();\n const [isMapReady, setIsMapReady] = useState(false);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!IS_MAPBOX_ENABLED) return undefined;\n\n mapRef.current = new mapboxgl.Map({\n container: mapContainerRef.current,\n style: 'mapbox://styles/mapbox/dark-v9',\n center: toLngLat(DEFAULT_COORDS),\n zoom: 1,\n attributionControl: false,\n scrollZoom: false,\n });\n\n mapRef.current.addControl(\n new mapboxgl.NavigationControl({ showCompass: false }),\n 'bottom-right'\n );\n\n // NOTE: Sources/layers can only be added once the style has loaded.\n // The radius circle layer is added first so well markers render above it (was bringToBack),\n // and the hover highlight layer last so it renders on top of the markers\n mapRef.current.on('load', () => {\n mapRef.current.addSource(RADIUS_CIRCLE_ID, {\n type: 'geojson',\n data: EMPTY_FEATURE_COLLECTION,\n });\n mapRef.current.addLayer({\n id: RADIUS_CIRCLE_ID,\n type: 'fill',\n source: RADIUS_CIRCLE_ID,\n paint: {\n 'fill-color': RADIUS_CIRCLE_COLOR,\n 'fill-opacity': 0.2,\n },\n });\n\n mapRef.current.addSource(WELLS_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n mapRef.current.addLayer({\n id: WELLS_ID,\n type: 'circle',\n source: WELLS_ID,\n paint: {\n 'circle-radius': ['get', 'radius'],\n 'circle-color': OFFSET_WELL_COLOR,\n 'circle-opacity': ['get', 'opacity'],\n },\n });\n\n mapRef.current.addSource(HIGHLIGHT_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n mapRef.current.addLayer({\n id: HIGHLIGHT_ID,\n type: 'circle',\n source: HIGHLIGHT_ID,\n paint: {\n 'circle-radius': ['get', 'radius'],\n 'circle-color': OFFSET_WELL_COLOR,\n 'circle-opacity': 0.2,\n },\n });\n\n setIsMapReady(true);\n });\n\n const map = mapRef.current;\n return () => {\n tooltipRootRef.current?.unmount();\n tooltipRootRef.current = null;\n tooltipContainerRef.current = null;\n\n map.remove();\n mapRef.current = null;\n markersBoundsRef.current = null;\n };\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapRef.current || !isMapReady) {\n return;\n }\n\n if (!subjectWellCoords) {\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData(EMPTY_FEATURE_COLLECTION);\n return;\n }\n\n const ring = makeCirclePolygon(subjectWellCoords, radius * METERS_IN_MILE);\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData({\n type: 'Feature',\n geometry: { type: 'Polygon', coordinates: [ring] },\n });\n }, [radius, subjectWellCoords, isMapReady]);\n\n const handleMouseOver = (coords, r) => {\n // Highlight the hovered well with a bigger translucent circle\n mapRef.current.getSource(HIGHLIGHT_ID).setData({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: { radius: r * 3 },\n });\n };\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapRef.current || !isMapReady) {\n return undefined;\n }\n\n const prevWells = prevWellsRef.current;\n prevWellsRef.current = wells;\n\n popupRef.current?.remove();\n mapRef.current.getSource(HIGHLIGHT_ID).setData(EMPTY_FEATURE_COLLECTION);\n\n const offsetWellIds = offsetWells.map(well => well.id);\n\n const features = [];\n const wellsById = {};\n const bounds = new mapboxgl.LngLatBounds();\n wells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && mapbox.isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? subjectWellMarkerSize : wellMarkerSize;\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n wellsById[well.id] = well;\n bounds.extend(toLngLat(coords));\n features.push({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: { wellId: well.id, radius: r, opacity },\n });\n }\n });\n\n mapRef.current.getSource(WELLS_ID).setData({ type: 'FeatureCollection', features });\n markersBoundsRef.current = features.length ? bounds : null;\n\n const map = mapRef.current;\n let hoveredWellId = null;\n\n const handleMouseMove = e => {\n map.getCanvas().style.cursor = 'pointer';\n\n const well = wellsById[e.features[0].properties.wellId];\n if (!well || well.id === hoveredWellId) {\n return;\n }\n hoveredWellId = well.id;\n\n const coords = get(well, coordsDataPath);\n\n // Tooltip\n if (!tooltipContainerRef.current) {\n tooltipContainerRef.current = document.createElement('div');\n tooltipRootRef.current = createAdaptiveRoot(tooltipContainerRef.current);\n }\n tooltipRootRef.current.render(createElement(toolTip(), { well }));\n\n if (!popupRef.current) {\n popupRef.current = new mapboxgl.Popup({ closeButton: false, maxWidth: 'none' });\n }\n popupRef.current\n .setLngLat(toLngLat(coords))\n .setDOMContent(tooltipContainerRef.current)\n .addTo(map);\n\n // Highlight\n handleMouseOver(coords, e.features[0].properties.radius);\n };\n\n // NOTE: was the mouseout handler of the Leaflet highlight marker\n const handleHighlightMouseLeave = () => {\n hoveredWellId = null;\n map.getCanvas().style.cursor = '';\n map.getSource(HIGHLIGHT_ID).setData(EMPTY_FEATURE_COLLECTION);\n popupRef.current?.remove();\n };\n\n // NOTE: If the pointer exits before the highlight renders under it, the highlight\n // layer never emits mouseleave — clear here unless the cursor is inside the highlight\n const handleWellsMouseLeave = e => {\n if (e?.point && map.queryRenderedFeatures(e.point, { layers: [HIGHLIGHT_ID] }).length) {\n return;\n }\n handleHighlightMouseLeave();\n };\n\n map.on('mousemove', WELLS_ID, handleMouseMove);\n map.on('mouseleave', WELLS_ID, handleWellsMouseLeave);\n map.on('mouseleave', HIGHLIGHT_ID, handleHighlightMouseLeave);\n\n setTimeout(() => {\n if (mapRef.current && markersBoundsRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(markersBoundsRef.current);\n }\n }, 500);\n\n return () => {\n map.off('mousemove', WELLS_ID, handleMouseMove);\n map.off('mouseleave', WELLS_ID, handleWellsMouseLeave);\n map.off('mouseleave', HIGHLIGHT_ID, handleHighlightMouseLeave);\n };\n }, [subjectWell, wells, offsetWells, isMapReady]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n </div>\n );\n}\n\nWellsMap.propTypes = {\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n subjectWellMarkerSize: PropTypes.number,\n wellMarkerSize: PropTypes.number,\n coordsDataPath: PropTypes.string,\n};\n\nconst DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE = DEFAULT_SUBJECT_WELL_MARKER_SIZE;\nconst DEFAULT_WELLS_MAP_WELL_MARKER_SIZE = DEFAULT_WELL_MARKER_SIZE;\n\nexport default memo(WellsMap);\n"],"names":["DEFAULT_COORDS","HIGHLIGHT_ID","EMPTY_FEATURE_COLLECTION","type","features","toLngLat","_ref","_ref2","_slicedToArray","lat","WellsMap","_ref6","_ref6$subjectWell","subjectWell","wells","_ref6$offsetWells","offsetWells","radius","_ref6$subjectWellMark","subjectWellMarkerSize","DEFAULT_WELLS_MAP_SUBJECT_WELL_MARKER_SIZE","_ref6$wellMarkerSize","wellMarkerSize","DEFAULT_WELLS_MAP_WELL_MARKER_SIZE","_ref6$coordsDataPath","coordsDataPath","mapContainerRef","useRef","mapRef","markersBoundsRef","popupRef","tooltipRootRef","tooltipContainerRef","prevWellsRef","useState","_useState2","_useState","isMapReady","setIsMapReady","subjectWellCoords","useMemo","get","useEffect","IS_MAPBOX_ENABLED","current","mapboxgl","Map","container","style","center","zoom","attributionControl","scrollZoom","addControl","NavigationControl","showCompass","on","addSource","data","addLayer","id","source","paint","map","_tooltipRootRef$curre","unmount","remove","ring","_ref3","radiusMeters","_ref4","lng","points","distanceX","Math","cos","PI","distanceY","i","theta","push","sin","makeCirclePolygon","getSource","setData","geometry","coordinates","_popupRef$current","prevWells","offsetWellIds","well","wellsById","bounds","LngLatBounds","forEach","coords","mapbox","isWellSubject","isWellOffset","includes","r","opacity","extend","properties","wellId","length","hoveredWellId","handleMouseMove","e","getCanvas","cursor","document","createElement","createAdaptiveRoot","render","_ref5","_jsx","color","background","children","fontSize","lineHeight","Popup","closeButton","maxWidth","setLngLat","setDOMContent","addTo","handleMouseOver","handleHighlightMouseLeave","_popupRef$current2","handleWellsMouseLeave","point","queryRenderedFeatures","layers","setTimeout","fitBounds","off","className","styles","mapMain","ref","propTypes","PropTypes","shape","number","formation","string","arrayOf","isRequired","memo"],"mappings":"s/EAYA,IAMMA,EAAiB,CAAC,WAAY,WAI9BC,EAAe,kBACfC,EAA2B,CAAEC,KAAM,oBAAqBC,SAAU,IAElEC,EAAW,SAAHC,GAAA,IAAAC,EAAAC,EAAAF,EAAA,GAAKG,EAAGF,EAAA,GAAK,MAAM,CAANA,EAAA,GAAYE,EAAI,EA0B3C,SAASC,EAQNC,GAAA,IAAAC,EAAAD,EAPDE,YAAAA,aAAc,KAAID,EAClBE,IAAAA,MAAKC,EAAAJ,EACLK,YAAAA,aAAc,KAAID,EAClBE,IAAAA,OAAMC,EAAAP,EACNQ,sBAAAA,aAAwBC,EAA0CF,EAAAG,EAAAV,EAClEW,eAAAA,aAAiBC,EAAkCF,EAAAG,EAAAb,EACnDc,eAAAA,aAAiB,gCAA+BD,EAE1CE,EAAkBC,EAAO,MACzBC,EAASD,EAAO,MAChBE,EAAmBF,EAAO,MAC1BG,EAAWH,EAAO,MAClBI,EAAiBJ,EAAO,MACxBK,EAAsBL,EAAO,MAC7BM,EAAeN,IACeO,EAAAA,GAAS,GAAMC,EAAA3B,EAAA4B,EAAA,GAA5CC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAE1BI,EAAoBC,GAAQ,WAChC,OAAO3B,GAAe4B,EAAI5B,EAAaY,EACzC,GAAG,CAACZ,EAAaY,IAGjBiB,GAAU,WACR,GAAKC,EAAL,CAEAf,EAAOgB,QAAU,IAAIC,EAASC,IAAI,CAChCC,UAAWrB,EAAgBkB,QAC3BI,MAAO,iCACPC,OAAQ5C,EAASL,GACjBkD,KAAM,EACNC,oBAAoB,EACpBC,YAAY,IAGdxB,EAAOgB,QAAQS,WACb,IAAIR,EAASS,kBAAkB,CAAEC,aAAa,IAC9C,gBAMF3B,EAAOgB,QAAQY,GAAG,QAAQ,WACxB5B,EAAOgB,QAAQa,UA3EI,gBA2EwB,CACzCtD,KAAM,UACNuD,KAAMxD,IAER0B,EAAOgB,QAAQe,SAAS,CACtBC,GAhFiB,gBAiFjBzD,KAAM,OACN0D,OAlFiB,gBAmFjBC,MAAO,CACL,aA5FkB,UA6FlB,eAAgB,MAIpBlC,EAAOgB,QAAQa,UAxFJ,QAwFwB,CAAEtD,KAAM,UAAWuD,KAAMxD,IAC5D0B,EAAOgB,QAAQe,SAAS,CACtBC,GA1FS,QA2FTzD,KAAM,SACN0D,OA5FS,QA6FTC,MAAO,CACL,gBAAiB,CAAC,MAAO,UACzB,eApGgB,UAqGhB,iBAAkB,CAAC,MAAO,cAI9BlC,EAAOgB,QAAQa,UAAUxD,EAAc,CAAEE,KAAM,UAAWuD,KAAMxD,IAChE0B,EAAOgB,QAAQe,SAAS,CACtBC,GAAI3D,EACJE,KAAM,SACN0D,OAAQ5D,EACR6D,MAAO,CACL,gBAAiB,CAAC,MAAO,UACzB,eAhHgB,UAiHhB,iBAAkB,MAItBxB,GAAc,EAChB,IAEA,IAAMyB,EAAMnC,EAAOgB,QACnB,OAAO,WAAM,IAAAoB,EACX,QAAAA,EAAAjC,EAAea,eAAf,IAAAoB,GAAAA,EAAwBC,UACxBlC,EAAea,QAAU,KACzBZ,EAAoBY,QAAU,KAE9BmB,EAAIG,SACJtC,EAAOgB,QAAU,KACjBf,EAAiBe,QAAU,KArEW,CAuEzC,GAAE,IAGHF,GAAU,WACR,GAAKd,EAAOgB,SAAYP,EAIxB,GAAKE,EAAL,CAKA,IAAM4B,EAnIgB,SAAHC,EAAgBC,GAIrC,IAJmE,IAAAC,EAAA9D,EAAA4D,EAAA,GAAzC3D,EAAG6D,EAAA,GAAEC,EAAGD,EAAA,GAAiBE,yDAAS,GACtDL,EAAO,GACPM,EAAYJ,GAAgB,OAASK,KAAKC,IAAKlE,EAAMiE,KAAKE,GAAM,MAChEC,EAAYR,EAAe,OACxBS,EAAI,EAAGA,GAAKN,EAAQM,GAAK,EAAG,CACnC,IAAMC,EAASD,EAAIN,GAAW,EAAIE,KAAKE,IACvCT,EAAKa,KAAK,CAACT,EAAME,EAAYC,KAAKC,IAAII,GAAQtE,EAAMoE,EAAYH,KAAKO,IAAIF,IAC3E,CACA,OAAOZ,CACT,CA0HiBe,CAAkB3C,EAlJZ,QAkJ+BtB,GAClDW,EAAOgB,QAAQuC,UA5IM,iBA4IsBC,QAAQ,CACjDjF,KAAM,UACNkF,SAAU,CAAElF,KAAM,UAAWmF,YAAa,CAACnB,KAL7C,MAFEvC,EAAOgB,QAAQuC,UAvII,iBAuIwBC,QAAQlF,EAStD,GAAE,CAACe,EAAQsB,EAAmBF,IAqH/B,OAzGAK,GAAU,WAAM,IAAA6C,EACd,GAAK3D,EAAOgB,SAAYP,EAAxB,CAIA,IAAMmD,EAAYvD,EAAaW,QAC/BX,EAAaW,QAAU9B,EAEvB,QAAAyE,EAAAzD,EAASc,eAAT,IAAA2C,GAAAA,EAAkBrB,SAClBtC,EAAOgB,QAAQuC,UAAUlF,GAAcmF,QAAQlF,GAE/C,IAAMuF,EAAgBzE,EAAY+C,KAAI,SAAA2B,GAAI,OAAIA,EAAK9B,MAE7CxD,EAAW,GACXuF,EAAY,CAAA,EACZC,EAAS,IAAI/C,EAASgD,aAC5B/E,EAAMgF,SAAQ,SAAAJ,GACZ,IAAMK,EAAStD,EAAIiD,EAAMjE,GAEzB,GAAIsE,GAAUC,EAA0BD,GAAS,CAC/C,IAAME,EAAgBpF,GAAeA,EAAY+C,KAAO8B,EAAK9B,GACvDsC,EAAeT,EAAcU,SAAST,EAAK9B,IAC3CwC,EAAIH,EAAgB9E,EAAwBG,EAC5C+E,EAAUJ,GAAiBC,EAAe,EAAI,GAEpDP,EAAUD,EAAK9B,IAAM8B,EACrBE,EAAOU,OAAOjG,EAAS0F,IACvB3F,EAAS4E,KAAK,CACZ7E,KAAM,UACNkF,SAAU,CAAElF,KAAM,QAASmF,YAAajF,EAAS0F,IACjDQ,WAAY,CAAEC,OAAQd,EAAK9B,GAAI3C,OAAQmF,EAAGC,QAAAA,IAE9C,CACF,IAEAzE,EAAOgB,QAAQuC,UA9LF,SA8LsBC,QAAQ,CAAEjF,KAAM,oBAAqBC,SAAAA,IACxEyB,EAAiBe,QAAUxC,EAASqG,OAASb,EAAS,KAEtD,IAAM7B,EAAMnC,EAAOgB,QACf8D,EAAgB,KAEdC,EAAkB,SAAAC,GACtB7C,EAAI8C,YAAY7D,MAAM8D,OAAS,UAE/B,IAAMpB,EAAOC,EAAUiB,EAAExG,SAAS,GAAGmG,WAAWC,QAChD,GAAKd,GAAQA,EAAK9B,KAAO8C,EAAzB,CAGAA,EAAgBhB,EAAK9B,GAErB,IAAMmC,EAAStD,EAAIiD,EAAMjE,GAGpBO,EAAoBY,UACvBZ,EAAoBY,QAAUmE,SAASC,cAAc,OACrDjF,EAAea,QAAUqE,EAAmBjF,EAAoBY,UAElEb,EAAea,QAAQsE,OAAOF,GAlMvB,SAGGG,GAAA,IAAXzB,IAAAA,KACD,OACE0B,EAAA,MAAA,CAAKpE,MAAO,CAAEqE,MAAO,OAAQC,WAAY,YAAaC,SACpDH,EAAA,OAAA,CAAMpE,MAAO,CAAEwE,SAAU,OAAQC,WAAY,QAASF,SAAE9E,EAAIiD,EAAM,WAGvE,GAyL0D,CAAEA,KAAAA,KAEpD5D,EAASc,UACZd,EAASc,QAAU,IAAIC,EAAS6E,MAAM,CAAEC,aAAa,EAAOC,SAAU,UAExE9F,EAASc,QACNiF,UAAUxH,EAAS0F,IACnB+B,cAAc9F,EAAoBY,SAClCmF,MAAMhE,GA3EW,SAACgC,EAAQK,GAE/BxE,EAAOgB,QAAQuC,UAAUlF,GAAcmF,QAAQ,CAC7CjF,KAAM,UACNkF,SAAU,CAAElF,KAAM,QAASmF,YAAajF,EAAS0F,IACjDQ,WAAY,CAAEtF,OAAY,EAAJmF,KAyEtB4B,CAAgBjC,EAAQa,EAAExG,SAAS,GAAGmG,WAAWtF,OArBjD,GAyBIgH,EAA4B,WAAM,IAAAC,EACtCxB,EAAgB,KAChB3C,EAAI8C,YAAY7D,MAAM8D,OAAS,GAC/B/C,EAAIoB,UAAUlF,GAAcmF,QAAQlF,GACpC,QAAAgI,EAAApG,EAASc,eAAT,IAAAsF,GAAAA,EAAkBhE,UAKdiE,EAAwB,SAAAvB,GACxBA,SAAAA,EAAGwB,OAASrE,EAAIsE,sBAAsBzB,EAAEwB,MAAO,CAAEE,OAAQ,CAACrI,KAAiBwG,QAG/EwB,KAaF,OAVAlE,EAAIP,GAAG,YAnPM,QAmPiBmD,GAC9B5C,EAAIP,GAAG,aApPM,QAoPkB2E,GAC/BpE,EAAIP,GAAG,aAAcvD,EAAcgI,GAEnCM,YAAW,WACL3G,EAAOgB,SAAWf,EAAiBe,SAAW9B,IAAU0E,GAC1D5D,EAAOgB,QAAQ4F,UAAU3G,EAAiBe,QAE7C,GAAE,KAEI,WACLmB,EAAI0E,IAAI,YA9PG,QA8PoB9B,GAC/B5C,EAAI0E,IAAI,aA/PG,QA+PqBN,GAChCpE,EAAI0E,IAAI,aAAcxI,EAAcgI,GAlGtC,CAoGD,GAAE,CAACpH,EAAaC,EAAOE,EAAaqB,IAGnC+E,EAAA,MAAA,CAAKsB,UAAWC,EAAO5E,IAAIwD,SACzBH,EAAA,MAAA,CAAKsB,UAAWC,EAAOC,QAASC,IAAKnH,KAG3C,CAEAhB,EAASoI,UAAY,CACnBjI,YAAakI,EAAUC,MAAM,CAC3BpF,GAAImF,EAAUE,OACdC,UAAWH,EAAUI,SAEvBrI,MAAOiI,EAAUK,QAAQL,EAAUC,MAAM,CAAA,IAAKK,WAC9CrI,YAAa+H,EAAUK,QAAQL,EAAUC,MAAM,CAAE,IACjD/H,OAAQ8H,EAAUE,OAAOI,WACzBlI,sBAAuB4H,EAAUE,OACjC3H,eAAgByH,EAAUE,OAC1BxH,eAAgBsH,EAAUI,QAG5B,IAAM/H,EA/RmC,EAgSnCG,EA/R2B,EAiSlB+H,EAAAA,EAAK5I"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import{memo as n}from"react";import{string as r,arrayOf as o,shape as i,func as a}from"prop-types";import c from"classnames";import{makeStyles as l,Typography as s,Accordion as d,AccordionSummary as m,AccordionDetails as p,List as u}from"@material-ui/core";import{ExpandMore as f}from"@material-ui/icons";import h from"./AssetSearch.js";import w from"./SectionItem.js";import y from"./WellListItem.js";import"../../../../utils/index.js";import{jsxs as x,jsx as b}from"react/jsx-runtime";import{showSuccessNotification as g}from"../../../../utils/notificationToasts.js";function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?v(Object(r),!0).forEach((function(n){t(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var S=l((function(e){return{content:{width:"472px",marginTop:"24px"},sectionItem:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:"8px",fontSize:"12px",fontWeight:"normal",color:e.palette.primary.text6,borderTop:"1px solid ".concat(e.palette.primary.text8),"&:last-child":{borderBottom:"1px solid ".concat(e.palette.primary.text8)}},disabledSectionItem:{color:e.palette.primary.text8},wellList:{width:"100%",margin:0,padding:0},searchContainer:{display:"flex",justifyContent:"space-between",marginBottom:"24px",alignItems:"center"},advancedSearch:{fontSize:"14px",fontWeight:500,color:"#03BCD4",cursor:"pointer","&:hover":{textDecoration:"underline"}}}}));function O(t){var n=t.company,r=t.wellSections,o=void 0===r?C:r,i=t.getWellName,a=t.onChangeWellSections,l=t.onExploreMode,v=S(),O=function(e,t){var n=o.find((function(t){return t.name===e.name})).wells.map((function(e){return e.id})),r=o.map((function(e){var r=e.wells.map((function(e){return n.includes(e.id)?j(j({},e),{},{checked:t}):j({},e)}));return j(j({},e),{},{wells:r})}));a(r)},N=function(e){var t=o.map((function(t){return t.name===e.name?j(j({},t),{},{expanded:!t.expanded}):t}));a(t)},I=function(e){var t=o.map((function(t){var n=t.wells.map((function(t){return t.id===e.id?j(j({},t),{},{checked:!t.checked}):t}));return j(j({},t),{},{wells:n})}));a(t)},k=function(e){O(e,!0)},P=function(e){O(e,!1)};return x("div",{className:v.content,children:[x("div",{className:v.searchContainer,children:[b(h,{company:+n,onClickAsset:function(t,n){var r=o.map((function(r){if("Search Results"===r.name){var o=e(r.wells);return r.wells.find((function(e){return e.id===t}))||o.push({id:t,checked:!0,name:n,kind:"manual"}),j(j({},r),{},{wells:o})}return j(j({},r),{},{wells:r.wells.map((function(e){return e.id===t?j(j({},e),{},{checked:!0}):e}))})}));a(r),g("Offset well successfully added!")},onExploreMode:l}),b(s,{"data-testid":"".concat("WellSection","_advancedSearch"),className:v.advancedSearch,onClick:function(){l()},children:"Advanced Search"})]}),(o||[]).map((function(e){return 0===e.wells.length?b("div",{className:c(v.sectionItem,v.disabledSectionItem),children:b(w,{section:e,disabled:!0})},"empty-".concat(e.name)):b("div",{className:v.sectionItem,children:x(d,{expanded:e.expanded,onChange:function(){return N(e)},children:[b(m,{expandIcon:b(f,{}),style:{width:"100%"},children:b(w,{section:e,onExpandCollapse:N,onSelectAll:k,onClearAll:P})}),b(p,{children:b(u,{dense:!0,className:v.wellList,children:e.wells.map((function(t){return b(y,{well:t,wellName:i(e.wells,t.id),rigName:t.rigName,onToggleWell:I},"well-".concat(e.name,"-").concat(t.id))}))})})]})},"section-".concat(e.name))}))]})}O.propTypes={company:r.isRequired,wellSections:o(i({})),getWellName:a.isRequired,onChangeWellSections:a.isRequired,onExploreMode:a.isRequired};var C=[],N=n(O);export{N as default};
1
+ import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import{memo as r}from"react";import{string as n,arrayOf as o,shape as i,func as s}from"prop-types";import a from"classnames";import{makeStyles as l,Typography as c,Accordion as m,AccordionSummary as p,AccordionDetails as d,List as u}from"@material-ui/core";import{ExpandMore as f}from"@material-ui/icons";import h from"./AssetSearch.js";import j from"./SectionItem.js";import g from"./WellListItem.js";import"../../../UserMention/utils/index.js";import"../../../../utils/convert.js";import"../../../../constants/completion.js";import"moment";import"../../../../constants/alerts.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../utils/casing/validation.js";import"@babel/runtime/helpers/slicedToArray";import"lodash/mean";import"lodash";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"../../../GradientManager/configuration/constants.js";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import"../../../../utils/mobileDetect.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import{showSuccessNotification as b}from"../../../../utils/notificationToasts.js";import"@babel/runtime/helpers/typeof";import"../../../../utils/dashboardReports.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"../../../../clients/jsonApi/index.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import{jsxs as y,jsx as w}from"react/jsx-runtime";function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?x(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var S=l((function(e){return{content:{width:"472px",marginTop:"24px"},sectionItem:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:"8px",fontSize:"12px",fontWeight:"normal",color:e.palette.primary.text6,borderTop:"1px solid ".concat(e.palette.primary.text8),"&:last-child":{borderBottom:"1px solid ".concat(e.palette.primary.text8)}},disabledSectionItem:{color:e.palette.primary.text8},wellList:{width:"100%",margin:0,padding:0},searchContainer:{display:"flex",justifyContent:"space-between",marginBottom:"24px",alignItems:"center"},advancedSearch:{fontSize:"14px",fontWeight:500,color:"#03BCD4",cursor:"pointer","&:hover":{textDecoration:"underline"}}}}));function O(t){var r=t.company,n=t.wellSections,o=void 0===n?C:n,i=t.getWellName,s=t.onChangeWellSections,l=t.onExploreMode,x=S(),O=function(e,t){var r=o.find((function(t){return t.name===e.name})).wells.map((function(e){return e.id})),n=o.map((function(e){var n=e.wells.map((function(e){return r.includes(e.id)?v(v({},e),{},{checked:t}):v({},e)}));return v(v({},e),{},{wells:n})}));s(n)},N=function(e){var t=o.map((function(t){return t.name===e.name?v(v({},t),{},{expanded:!t.expanded}):t}));s(t)},P=function(e){var t=o.map((function(t){var r=t.wells.map((function(t){return t.id===e.id?v(v({},t),{},{checked:!t.checked}):t}));return v(v({},t),{},{wells:r})}));s(t)},I=function(e){O(e,!0)},k=function(e){O(e,!1)};return y("div",{className:x.content,children:[y("div",{className:x.searchContainer,children:[w(h,{company:+r,onClickAsset:function(t,r){var n=o.map((function(n){if("Search Results"===n.name){var o=e(n.wells);return n.wells.find((function(e){return e.id===t}))||o.push({id:t,checked:!0,name:r,kind:"manual"}),v(v({},n),{},{wells:o})}return v(v({},n),{},{wells:n.wells.map((function(e){return e.id===t?v(v({},e),{},{checked:!0}):e}))})}));s(n),b("Offset well successfully added!")},onExploreMode:l}),w(c,{"data-testid":"".concat("WellSection","_advancedSearch"),className:x.advancedSearch,onClick:function(){l()},children:"Advanced Search"})]}),(o||[]).map((function(e){return 0===e.wells.length?w("div",{className:a(x.sectionItem,x.disabledSectionItem),children:w(j,{section:e,disabled:!0})},"empty-".concat(e.name)):w("div",{className:x.sectionItem,children:y(m,{expanded:e.expanded,onChange:function(){return N(e)},children:[w(p,{expandIcon:w(f,{}),style:{width:"100%"},children:w(j,{section:e,onExpandCollapse:N,onSelectAll:I,onClearAll:k})}),w(d,{children:w(u,{dense:!0,className:x.wellList,children:e.wells.map((function(t){return w(g,{well:t,wellName:i(e.wells,t.id),rigName:t.rigName,onToggleWell:P},"well-".concat(e.name,"-").concat(t.id))}))})})]})},"section-".concat(e.name))}))]})}O.propTypes={company:n.isRequired,wellSections:o(i({})),getWellName:s.isRequired,onChangeWellSections:s.isRequired,onExploreMode:s.isRequired};var C=[],N=r(O);export{N as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/BICOffsetPickerDialog/components/WellSection/index.js"],"sourcesContent":["import { memo } from 'react';\nimport { string, shape, func, arrayOf } from 'prop-types';\nimport classNames from 'classnames';\nimport {\n makeStyles,\n List,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n} from '@material-ui/core';\nimport { ExpandMore } from '@material-ui/icons';\n\nimport AssetSearch from './AssetSearch';\nimport SectionItem from './SectionItem';\nimport WellListItem from './WellListItem';\n\nimport { showSuccessNotification } from '~/utils';\n\nconst PAGE_NAME = 'WellSection';\n\nconst useStyles = makeStyles(theme => ({\n content: {\n width: '472px',\n marginTop: '24px',\n },\n sectionItem: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '8px',\n fontSize: '12px',\n fontWeight: 'normal',\n color: theme.palette.primary.text6,\n borderTop: `1px solid ${theme.palette.primary.text8}`,\n '&:last-child': {\n borderBottom: `1px solid ${theme.palette.primary.text8}`,\n },\n },\n disabledSectionItem: {\n color: theme.palette.primary.text8,\n },\n wellList: {\n width: '100%',\n margin: 0,\n padding: 0,\n },\n searchContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: '24px',\n alignItems: 'center',\n },\n advancedSearch: {\n fontSize: '14px',\n fontWeight: 500,\n color: '#03BCD4',\n cursor: 'pointer',\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n}));\n\nfunction WellSection({\n company,\n wellSections = DEFAULT_WELL_SECTION_WELL_SECTIONS,\n getWellName,\n onChangeWellSections,\n onExploreMode,\n}) {\n const classes = useStyles();\n\n const selectAllWells = (targetSection, f) => {\n const selectedWellIds = wellSections\n .find(section => section.name === targetSection.name)\n .wells.map(item => item.id);\n\n const data = wellSections.map(section => {\n const sectionData = section.wells.map(well => {\n if (selectedWellIds.includes(well.id)) {\n return { ...well, checked: f };\n } else {\n return { ...well };\n }\n });\n return {\n ...section,\n wells: sectionData,\n };\n });\n onChangeWellSections(data);\n };\n\n const handleExpandCollapseSection = targetSection => {\n const data = wellSections.map(section => {\n if (section.name === targetSection.name) {\n return { ...section, expanded: !section.expanded };\n }\n return section;\n });\n onChangeWellSections(data);\n };\n\n const handleToggleWell = targetWell => {\n const data = wellSections.map(section => {\n const sectionData = section.wells.map(well => {\n if (well.id === targetWell.id) {\n return { ...well, checked: !well.checked };\n }\n return well;\n });\n return {\n ...section,\n wells: sectionData,\n };\n });\n onChangeWellSections(data);\n };\n\n const handleSelectAll = targetSection => {\n selectAllWells(targetSection, true);\n };\n\n const handleClearAll = targetSection => {\n selectAllWells(targetSection, false);\n };\n\n const handleClickAsset = (redirectAssetId, name) => {\n const data = wellSections.map(section => {\n if (section.name === 'Search Results') {\n const wells = [...section.wells];\n if (!section.wells.find(item => item.id === redirectAssetId)) {\n wells.push({ id: redirectAssetId, checked: true, name, kind: 'manual' });\n }\n return { ...section, wells };\n }\n return {\n ...section,\n wells: section.wells.map(well =>\n well.id === redirectAssetId ? { ...well, checked: true } : well\n ),\n };\n });\n onChangeWellSections(data);\n showSuccessNotification('Offset well successfully added!');\n };\n\n const handleOffsetPickerDialog = () => {\n onExploreMode();\n };\n\n return (\n <div className={classes.content}>\n <div className={classes.searchContainer}>\n <AssetSearch\n company={+company}\n onClickAsset={handleClickAsset}\n onExploreMode={onExploreMode}\n />\n <Typography\n data-testid={`${PAGE_NAME}_advancedSearch`}\n className={classes.advancedSearch}\n onClick={handleOffsetPickerDialog}\n >\n Advanced Search\n </Typography>\n </div>\n\n {(wellSections || []).map(section =>\n section.wells.length === 0 ? (\n <div\n key={`empty-${section.name}`}\n className={classNames(classes.sectionItem, classes.disabledSectionItem)}\n >\n <SectionItem section={section} disabled />\n </div>\n ) : (\n <div key={`section-${section.name}`} className={classes.sectionItem}>\n <Accordion\n expanded={section.expanded}\n onChange={() => handleExpandCollapseSection(section)}\n >\n <AccordionSummary expandIcon={<ExpandMore />} style={{ width: '100%' }}>\n <SectionItem\n section={section}\n onExpandCollapse={handleExpandCollapseSection}\n onSelectAll={handleSelectAll}\n onClearAll={handleClearAll}\n />\n </AccordionSummary>\n <AccordionDetails>\n <List dense className={classes.wellList}>\n {section.wells.map(well => (\n <WellListItem\n key={`well-${section.name}-${well.id}`}\n well={well}\n wellName={getWellName(section.wells, well.id)}\n rigName={well.rigName}\n onToggleWell={handleToggleWell}\n />\n ))}\n </List>\n </AccordionDetails>\n </Accordion>\n </div>\n )\n )}\n </div>\n );\n}\n\nWellSection.propTypes = {\n company: string.isRequired,\n wellSections: arrayOf(shape({})),\n getWellName: func.isRequired,\n onChangeWellSections: func.isRequired,\n onExploreMode: func.isRequired,\n};\n\nconst DEFAULT_WELL_SECTION_WELL_SECTIONS = [];\n\n// Important: Do not change root component default export (WellSection.js). Use it as container\n// for your WellSection. It's required to make build and zip scripts work as expected;\nexport default memo(WellSection);\n"],"names":["useStyles","makeStyles","theme","content","width","marginTop","sectionItem","display","flexDirection","justifyContent","alignItems","padding","fontSize","fontWeight","color","palette","primary","text6","borderTop","concat","text8","borderBottom","disabledSectionItem","wellList","margin","searchContainer","marginBottom","advancedSearch","cursor","textDecoration","WellSection","_ref","company","_ref$wellSections","wellSections","DEFAULT_WELL_SECTION_WELL_SECTIONS","getWellName","onChangeWellSections","onExploreMode","classes","selectAllWells","targetSection","f","selectedWellIds","find","section","name","wells","map","item","id","data","sectionData","well","includes","_objectSpread","checked","handleExpandCollapseSection","expanded","handleToggleWell","targetWell","handleSelectAll","handleClearAll","_jsxs","className","children","_jsx","AssetSearch","onClickAsset","redirectAssetId","_toConsumableArray","push","kind","showSuccessNotification","Typography","onClick","length","classNames","SectionItem","disabled","Accordion","onChange","AccordionSummary","expandIcon","ExpandMore","style","onExpandCollapse","onSelectAll","onClearAll","AccordionDetails","List","dense","WellListItem","wellName","rigName","onToggleWell","propTypes","string","isRequired","arrayOf","shape","func","memo"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/BICOffsetPickerDialog/components/WellSection/index.js"],"sourcesContent":["import { memo } from 'react';\nimport { string, shape, func, arrayOf } from 'prop-types';\nimport classNames from 'classnames';\nimport {\n makeStyles,\n List,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n} from '@material-ui/core';\nimport { ExpandMore } from '@material-ui/icons';\n\nimport AssetSearch from './AssetSearch';\nimport SectionItem from './SectionItem';\nimport WellListItem from './WellListItem';\n\nimport { showSuccessNotification } from '~/utils';\n\nconst PAGE_NAME = 'WellSection';\n\nconst useStyles = makeStyles(theme => ({\n content: {\n width: '472px',\n marginTop: '24px',\n },\n sectionItem: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '8px',\n fontSize: '12px',\n fontWeight: 'normal',\n color: theme.palette.primary.text6,\n borderTop: `1px solid ${theme.palette.primary.text8}`,\n '&:last-child': {\n borderBottom: `1px solid ${theme.palette.primary.text8}`,\n },\n },\n disabledSectionItem: {\n color: theme.palette.primary.text8,\n },\n wellList: {\n width: '100%',\n margin: 0,\n padding: 0,\n },\n searchContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: '24px',\n alignItems: 'center',\n },\n advancedSearch: {\n fontSize: '14px',\n fontWeight: 500,\n color: '#03BCD4',\n cursor: 'pointer',\n '&:hover': {\n textDecoration: 'underline',\n },\n },\n}));\n\nfunction WellSection({\n company,\n wellSections = DEFAULT_WELL_SECTION_WELL_SECTIONS,\n getWellName,\n onChangeWellSections,\n onExploreMode,\n}) {\n const classes = useStyles();\n\n const selectAllWells = (targetSection, f) => {\n const selectedWellIds = wellSections\n .find(section => section.name === targetSection.name)\n .wells.map(item => item.id);\n\n const data = wellSections.map(section => {\n const sectionData = section.wells.map(well => {\n if (selectedWellIds.includes(well.id)) {\n return { ...well, checked: f };\n } else {\n return { ...well };\n }\n });\n return {\n ...section,\n wells: sectionData,\n };\n });\n onChangeWellSections(data);\n };\n\n const handleExpandCollapseSection = targetSection => {\n const data = wellSections.map(section => {\n if (section.name === targetSection.name) {\n return { ...section, expanded: !section.expanded };\n }\n return section;\n });\n onChangeWellSections(data);\n };\n\n const handleToggleWell = targetWell => {\n const data = wellSections.map(section => {\n const sectionData = section.wells.map(well => {\n if (well.id === targetWell.id) {\n return { ...well, checked: !well.checked };\n }\n return well;\n });\n return {\n ...section,\n wells: sectionData,\n };\n });\n onChangeWellSections(data);\n };\n\n const handleSelectAll = targetSection => {\n selectAllWells(targetSection, true);\n };\n\n const handleClearAll = targetSection => {\n selectAllWells(targetSection, false);\n };\n\n const handleClickAsset = (redirectAssetId, name) => {\n const data = wellSections.map(section => {\n if (section.name === 'Search Results') {\n const wells = [...section.wells];\n if (!section.wells.find(item => item.id === redirectAssetId)) {\n wells.push({ id: redirectAssetId, checked: true, name, kind: 'manual' });\n }\n return { ...section, wells };\n }\n return {\n ...section,\n wells: section.wells.map(well =>\n well.id === redirectAssetId ? { ...well, checked: true } : well\n ),\n };\n });\n onChangeWellSections(data);\n showSuccessNotification('Offset well successfully added!');\n };\n\n const handleOffsetPickerDialog = () => {\n onExploreMode();\n };\n\n return (\n <div className={classes.content}>\n <div className={classes.searchContainer}>\n <AssetSearch\n company={+company}\n onClickAsset={handleClickAsset}\n onExploreMode={onExploreMode}\n />\n <Typography\n data-testid={`${PAGE_NAME}_advancedSearch`}\n className={classes.advancedSearch}\n onClick={handleOffsetPickerDialog}\n >\n Advanced Search\n </Typography>\n </div>\n\n {(wellSections || []).map(section =>\n section.wells.length === 0 ? (\n <div\n key={`empty-${section.name}`}\n className={classNames(classes.sectionItem, classes.disabledSectionItem)}\n >\n <SectionItem section={section} disabled />\n </div>\n ) : (\n <div key={`section-${section.name}`} className={classes.sectionItem}>\n <Accordion\n expanded={section.expanded}\n onChange={() => handleExpandCollapseSection(section)}\n >\n <AccordionSummary expandIcon={<ExpandMore />} style={{ width: '100%' }}>\n <SectionItem\n section={section}\n onExpandCollapse={handleExpandCollapseSection}\n onSelectAll={handleSelectAll}\n onClearAll={handleClearAll}\n />\n </AccordionSummary>\n <AccordionDetails>\n <List dense className={classes.wellList}>\n {section.wells.map(well => (\n <WellListItem\n key={`well-${section.name}-${well.id}`}\n well={well}\n wellName={getWellName(section.wells, well.id)}\n rigName={well.rigName}\n onToggleWell={handleToggleWell}\n />\n ))}\n </List>\n </AccordionDetails>\n </Accordion>\n </div>\n )\n )}\n </div>\n );\n}\n\nWellSection.propTypes = {\n company: string.isRequired,\n wellSections: arrayOf(shape({})),\n getWellName: func.isRequired,\n onChangeWellSections: func.isRequired,\n onExploreMode: func.isRequired,\n};\n\nconst DEFAULT_WELL_SECTION_WELL_SECTIONS = [];\n\n// Important: Do not change root component default export (WellSection.js). Use it as container\n// for your WellSection. It's required to make build and zip scripts work as expected;\nexport default memo(WellSection);\n"],"names":["useStyles","makeStyles","theme","content","width","marginTop","sectionItem","display","flexDirection","justifyContent","alignItems","padding","fontSize","fontWeight","color","palette","primary","text6","borderTop","concat","text8","borderBottom","disabledSectionItem","wellList","margin","searchContainer","marginBottom","advancedSearch","cursor","textDecoration","WellSection","_ref","company","_ref$wellSections","wellSections","DEFAULT_WELL_SECTION_WELL_SECTIONS","getWellName","onChangeWellSections","onExploreMode","classes","selectAllWells","targetSection","f","selectedWellIds","find","section","name","wells","map","item","id","data","sectionData","well","includes","_objectSpread","checked","handleExpandCollapseSection","expanded","handleToggleWell","targetWell","handleSelectAll","handleClearAll","_jsxs","className","children","_jsx","AssetSearch","onClickAsset","redirectAssetId","_toConsumableArray","push","kind","showSuccessNotification","Typography","onClick","length","classNames","SectionItem","disabled","Accordion","onChange","AccordionSummary","expandIcon","ExpandMore","style","onExpandCollapse","onSelectAll","onClearAll","AccordionDetails","List","dense","WellListItem","wellName","rigName","onToggleWell","propTypes","string","isRequired","arrayOf","shape","func","memo"],"mappings":"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"}