@corva/ui 3.47.0-1 → 3.47.0-3

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 (464) hide show
  1. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  2. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  3. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  4. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  5. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  6. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  7. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  8. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  9. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  10. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  11. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  12. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  13. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  14. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  15. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  16. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  17. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  18. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  19. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  20. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +1 -1
  21. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  22. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  23. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  24. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  25. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  26. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  27. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  28. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  29. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  30. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  31. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  32. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  33. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  34. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  35. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  36. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  37. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  38. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  39. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  40. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  41. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  42. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  43. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  44. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  45. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  46. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  47. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  48. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  49. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  50. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  51. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  52. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  53. package/cjs-bundle/components/FeedItem/components/FeedComments.js +1 -1
  54. package/cjs-bundle/components/FeedItem/components/FeedComments.js.map +1 -1
  55. package/cjs-bundle/components/ImageViewer/index.js +1 -1
  56. package/cjs-bundle/components/ImageViewer/index.js.map +1 -1
  57. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  58. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  59. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  60. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  61. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js +1 -1
  62. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  63. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  64. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  65. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  66. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  67. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  68. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  69. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  70. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  71. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  72. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  73. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  74. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  75. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  76. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  77. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  78. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  79. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
  80. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
  81. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/AppHeader.module.css.js +1 -1
  82. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
  83. package/cjs-bundle/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js +1 -1
  84. package/cjs-bundle/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js.map +1 -1
  85. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  86. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
  87. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  88. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  89. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +1 -1
  90. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  91. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +2 -0
  92. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -0
  93. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.module.css.js +2 -0
  94. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.js +1 -1
  95. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.js +1 -1
  96. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  97. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  98. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.js +1 -1
  99. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
  100. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js.map +1 -1
  101. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
  102. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.js +1 -1
  103. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.js +1 -1
  104. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.js +1 -1
  105. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  106. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  107. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  108. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  109. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
  110. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
  111. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js +1 -1
  112. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js.map +1 -1
  113. package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
  114. package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
  115. package/cjs-bundle/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js +2 -0
  116. package/cjs-bundle/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js.map +1 -0
  117. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.js +1 -1
  118. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.js +1 -1
  119. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.js +1 -1
  120. package/cjs-bundle/components/OffsetWellPickerV5/effects/useBicWells.js +1 -1
  121. package/cjs-bundle/components/OffsetWellPickerV5/effects/useBicWells.js.map +1 -1
  122. package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/constants.js +1 -1
  123. package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.js +1 -1
  124. package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js +1 -1
  125. package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js.map +1 -1
  126. package/cjs-bundle/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.js +1 -1
  127. package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js +2 -0
  128. package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js.map +1 -0
  129. package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js +2 -0
  130. package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js.map +1 -0
  131. package/cjs-bundle/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.js +1 -1
  132. package/cjs-bundle/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.js +1 -1
  133. package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.js +1 -1
  134. package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js +2 -0
  135. package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js.map +1 -0
  136. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewType.js +2 -0
  137. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewType.js.map +1 -0
  138. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportContext.js +2 -0
  139. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportContext.js.map +1 -0
  140. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportProvider.js +2 -0
  141. package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportProvider.js.map +1 -0
  142. package/cjs-bundle/components/OffsetWellPickerV5/viewport/computeViewType.js +2 -0
  143. package/cjs-bundle/components/OffsetWellPickerV5/viewport/computeViewType.js.map +1 -0
  144. package/cjs-bundle/components/OffsetWellPickerV5/viewport/useViewType.js +2 -0
  145. package/cjs-bundle/components/OffsetWellPickerV5/viewport/useViewType.js.map +1 -0
  146. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  147. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  148. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  149. package/cjs-bundle/components/Popover/Popover.js +1 -1
  150. package/cjs-bundle/components/Popper/Popper.js +1 -1
  151. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  152. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  153. package/cjs-bundle/componentsV2/Slider/Slider.js +2 -0
  154. package/cjs-bundle/componentsV2/Slider/Slider.js.map +1 -0
  155. package/cjs-bundle/componentsV2/Slider/Slider.scss.js +2 -0
  156. package/cjs-bundle/componentsV2/Slider/Slider.scss.js.map +1 -0
  157. package/cjs-bundle/componentsV2/Slider/components/SliderInput.js +2 -0
  158. package/cjs-bundle/componentsV2/Slider/components/SliderInput.js.map +1 -0
  159. package/cjs-bundle/componentsV2/Slider/components/SliderThumb.js +2 -0
  160. package/cjs-bundle/componentsV2/Slider/components/SliderThumb.js.map +1 -0
  161. package/cjs-bundle/componentsV2/Slider/constants.js +2 -0
  162. package/cjs-bundle/componentsV2/Slider/constants.js.map +1 -0
  163. package/cjs-bundle/componentsV2/Slider/strategies/horizontal.js +2 -0
  164. package/cjs-bundle/componentsV2/Slider/strategies/horizontal.js.map +1 -0
  165. package/cjs-bundle/componentsV2/Slider/strategies/vertical.js +2 -0
  166. package/cjs-bundle/componentsV2/Slider/strategies/vertical.js.map +1 -0
  167. package/cjs-bundle/componentsV2/Slider/utils.js +2 -0
  168. package/cjs-bundle/componentsV2/Slider/utils.js.map +1 -0
  169. package/cjs-bundle/componentsV2/Tooltip/Tooltip.js +1 -1
  170. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  171. package/cjs-bundle/componentsV2/index.js +1 -1
  172. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  173. package/components/AddComment/Popover.js +1 -1
  174. package/components/AddComment/Popover.js.map +1 -1
  175. package/components/AddComment/components/Content.js +1 -1
  176. package/components/AddComment/components/Content.js.map +1 -1
  177. package/components/BICOffsetPickerDialog/index.js +1 -1
  178. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  179. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  180. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  181. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  182. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  183. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  184. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  185. package/components/CollapsableSidebar.js +1 -1
  186. package/components/CollapsableSidebar.js.map +1 -1
  187. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  188. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  189. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  190. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  191. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  192. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +1 -1
  193. package/components/DocumentViewer/DocumentViewer.js +1 -1
  194. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  195. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  196. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  197. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  198. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  199. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  200. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  201. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  202. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  203. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  204. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  205. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  206. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  207. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  208. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  209. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  210. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  211. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  212. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  213. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  214. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  215. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  216. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  217. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  218. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  219. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  220. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  221. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  222. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  223. package/components/FeedItem/FeedItem.js +1 -1
  224. package/components/FeedItem/FeedItem.js.map +1 -1
  225. package/components/FeedItem/components/FeedComments.js +1 -1
  226. package/components/FeedItem/components/FeedComments.js.map +1 -1
  227. package/components/ImageViewer/index.js +1 -1
  228. package/components/ImageViewer/index.js.map +1 -1
  229. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  230. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  231. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  232. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  233. package/components/OffsetWellPickerV2/effects/index.d.ts.map +1 -1
  234. package/components/OffsetWellPickerV2/effects/index.js +1 -1
  235. package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  236. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  237. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  238. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  239. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  240. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  241. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  242. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  243. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  244. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  245. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  246. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  247. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  248. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  249. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  250. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  251. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  252. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  253. package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.d.ts.map +1 -1
  254. package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
  255. package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.d.ts.map +1 -1
  256. package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
  257. package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.module.css.js +1 -1
  258. package/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
  259. package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.d.ts.map +1 -1
  260. package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js +1 -1
  261. package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js.map +1 -1
  262. package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts +1 -2
  263. package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts.map +1 -1
  264. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  265. package/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
  266. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  267. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  268. package/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +1 -1
  269. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  270. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  271. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.d.ts +8 -0
  272. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.d.ts.map +1 -0
  273. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +2 -0
  274. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -0
  275. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.module.css.js +2 -0
  276. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/index.d.ts +2 -0
  277. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/index.d.ts.map +1 -0
  278. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.d.ts.map +1 -1
  279. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.js +1 -1
  280. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.d.ts +1 -7
  281. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.d.ts.map +1 -1
  282. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.js +1 -1
  283. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  284. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  285. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.d.ts.map +1 -1
  286. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.js +1 -1
  287. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts +6 -2
  288. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts.map +1 -1
  289. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
  290. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js.map +1 -1
  291. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.d.ts.map +1 -1
  292. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
  293. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.d.ts +1 -2
  294. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.d.ts.map +1 -1
  295. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.js +1 -1
  296. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.d.ts +8 -0
  297. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.d.ts.map +1 -1
  298. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.js +1 -1
  299. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.d.ts +1 -5
  300. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.d.ts.map +1 -1
  301. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.js +1 -1
  302. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  303. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  304. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  305. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  306. package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
  307. package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
  308. package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.d.ts.map +1 -1
  309. package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js +1 -1
  310. package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js.map +1 -1
  311. package/components/OffsetWellPickerV5/constants.d.ts +0 -1
  312. package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
  313. package/components/OffsetWellPickerV5/constants.js +1 -1
  314. package/components/OffsetWellPickerV5/constants.js.map +1 -1
  315. package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.d.ts +2 -0
  316. package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.d.ts.map +1 -0
  317. package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js +2 -0
  318. package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js.map +1 -0
  319. package/components/OffsetWellPickerV5/effects/cache-utils/index.d.ts +3 -0
  320. package/components/OffsetWellPickerV5/effects/cache-utils/index.d.ts.map +1 -0
  321. package/components/OffsetWellPickerV5/effects/cache-utils/types.d.ts +21 -0
  322. package/components/OffsetWellPickerV5/effects/cache-utils/types.d.ts.map +1 -0
  323. package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.d.ts +9 -1
  324. package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.d.ts.map +1 -1
  325. package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.js +1 -1
  326. package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.d.ts +5 -1
  327. package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.d.ts.map +1 -1
  328. package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.js +1 -1
  329. package/components/OffsetWellPickerV5/effects/useAllWellsCache/types.d.ts +3 -8
  330. package/components/OffsetWellPickerV5/effects/useAllWellsCache/types.d.ts.map +1 -1
  331. package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.d.ts +5 -26
  332. package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.d.ts.map +1 -1
  333. package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.js +1 -1
  334. package/components/OffsetWellPickerV5/effects/useBicWells.d.ts.map +1 -1
  335. package/components/OffsetWellPickerV5/effects/useBicWells.js +1 -1
  336. package/components/OffsetWellPickerV5/effects/useBicWells.js.map +1 -1
  337. package/components/OffsetWellPickerV5/effects/useTileCache/constants.d.ts +5 -1
  338. package/components/OffsetWellPickerV5/effects/useTileCache/constants.d.ts.map +1 -1
  339. package/components/OffsetWellPickerV5/effects/useTileCache/constants.js +1 -1
  340. package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.d.ts +3 -17
  341. package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.d.ts.map +1 -1
  342. package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.js +1 -1
  343. package/components/OffsetWellPickerV5/effects/useTileCache/index.d.ts +1 -1
  344. package/components/OffsetWellPickerV5/effects/useTileCache/index.d.ts.map +1 -1
  345. package/components/OffsetWellPickerV5/effects/useTileCache/types.d.ts +4 -11
  346. package/components/OffsetWellPickerV5/effects/useTileCache/types.d.ts.map +1 -1
  347. package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.d.ts +6 -76
  348. package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.d.ts.map +1 -1
  349. package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js +1 -1
  350. package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js.map +1 -1
  351. package/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.d.ts.map +1 -1
  352. package/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.js +1 -1
  353. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts +13 -0
  354. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts.map +1 -0
  355. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js +2 -0
  356. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js.map +1 -0
  357. package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts +4 -0
  358. package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts.map +1 -0
  359. package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.d.ts +3 -0
  360. package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.d.ts.map +1 -0
  361. package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js +2 -0
  362. package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js.map +1 -0
  363. package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.d.ts.map +1 -1
  364. package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.js +1 -1
  365. package/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.d.ts.map +1 -1
  366. package/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.js +1 -1
  367. package/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.d.ts.map +1 -1
  368. package/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.js +1 -1
  369. package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.d.ts +2 -0
  370. package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.d.ts.map +1 -0
  371. package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js +2 -0
  372. package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js.map +1 -0
  373. package/components/OffsetWellPickerV5/viewport/ViewType.d.ts +7 -0
  374. package/components/OffsetWellPickerV5/viewport/ViewType.d.ts.map +1 -0
  375. package/components/OffsetWellPickerV5/viewport/ViewType.js +2 -0
  376. package/components/OffsetWellPickerV5/viewport/ViewType.js.map +1 -0
  377. package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts +3 -0
  378. package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts.map +1 -0
  379. package/components/OffsetWellPickerV5/viewport/ViewportContext.js +2 -0
  380. package/components/OffsetWellPickerV5/viewport/ViewportContext.js.map +1 -0
  381. package/components/OffsetWellPickerV5/viewport/ViewportProvider.d.ts +7 -0
  382. package/components/OffsetWellPickerV5/viewport/ViewportProvider.d.ts.map +1 -0
  383. package/components/OffsetWellPickerV5/viewport/ViewportProvider.js +2 -0
  384. package/components/OffsetWellPickerV5/viewport/ViewportProvider.js.map +1 -0
  385. package/components/OffsetWellPickerV5/viewport/computeViewType.d.ts +3 -0
  386. package/components/OffsetWellPickerV5/viewport/computeViewType.d.ts.map +1 -0
  387. package/components/OffsetWellPickerV5/viewport/computeViewType.js +2 -0
  388. package/components/OffsetWellPickerV5/viewport/computeViewType.js.map +1 -0
  389. package/components/OffsetWellPickerV5/viewport/index.d.ts +5 -0
  390. package/components/OffsetWellPickerV5/viewport/index.d.ts.map +1 -0
  391. package/components/OffsetWellPickerV5/viewport/useViewType.d.ts +7 -0
  392. package/components/OffsetWellPickerV5/viewport/useViewType.d.ts.map +1 -0
  393. package/components/OffsetWellPickerV5/viewport/useViewType.js +2 -0
  394. package/components/OffsetWellPickerV5/viewport/useViewType.js.map +1 -0
  395. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  396. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  397. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  398. package/components/Popover/Popover.js +1 -1
  399. package/components/Popper/Popper.js +1 -1
  400. package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  401. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  402. package/componentsV2/Popper/Popper.d.ts +7 -1
  403. package/componentsV2/Popper/Popper.d.ts.map +1 -1
  404. package/componentsV2/Slider/Slider.d.ts +60 -0
  405. package/componentsV2/Slider/Slider.d.ts.map +1 -0
  406. package/componentsV2/Slider/Slider.js +2 -0
  407. package/componentsV2/Slider/Slider.js.map +1 -0
  408. package/componentsV2/Slider/Slider.scss.js +2 -0
  409. package/componentsV2/Slider/Slider.scss.js.map +1 -0
  410. package/componentsV2/Slider/Slider.stories.d.ts +13 -0
  411. package/componentsV2/Slider/Slider.stories.d.ts.map +1 -0
  412. package/componentsV2/Slider/components/SliderInput.d.ts +9 -0
  413. package/componentsV2/Slider/components/SliderInput.d.ts.map +1 -0
  414. package/componentsV2/Slider/components/SliderInput.js +2 -0
  415. package/componentsV2/Slider/components/SliderInput.js.map +1 -0
  416. package/componentsV2/Slider/components/SliderThumb.d.ts +9 -0
  417. package/componentsV2/Slider/components/SliderThumb.d.ts.map +1 -0
  418. package/componentsV2/Slider/components/SliderThumb.js +2 -0
  419. package/componentsV2/Slider/components/SliderThumb.js.map +1 -0
  420. package/componentsV2/Slider/constants.d.ts +19 -0
  421. package/componentsV2/Slider/constants.d.ts.map +1 -0
  422. package/componentsV2/Slider/constants.js +2 -0
  423. package/componentsV2/Slider/constants.js.map +1 -0
  424. package/componentsV2/Slider/index.d.ts +2 -0
  425. package/componentsV2/Slider/index.d.ts.map +1 -0
  426. package/componentsV2/Slider/strategies/horizontal.d.ts +22 -0
  427. package/componentsV2/Slider/strategies/horizontal.d.ts.map +1 -0
  428. package/componentsV2/Slider/strategies/horizontal.js +2 -0
  429. package/componentsV2/Slider/strategies/horizontal.js.map +1 -0
  430. package/componentsV2/Slider/strategies/vertical.d.ts +22 -0
  431. package/componentsV2/Slider/strategies/vertical.d.ts.map +1 -0
  432. package/componentsV2/Slider/strategies/vertical.js +2 -0
  433. package/componentsV2/Slider/strategies/vertical.js.map +1 -0
  434. package/componentsV2/Slider/utils.d.ts +48 -0
  435. package/componentsV2/Slider/utils.d.ts.map +1 -0
  436. package/componentsV2/Slider/utils.js +2 -0
  437. package/componentsV2/Slider/utils.js.map +1 -0
  438. package/componentsV2/Tooltip/Tooltip.d.ts +3 -1
  439. package/componentsV2/Tooltip/Tooltip.d.ts.map +1 -1
  440. package/componentsV2/Tooltip/Tooltip.js +1 -1
  441. package/componentsV2/Tooltip/Tooltip.stories.d.ts.map +1 -1
  442. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  443. package/componentsV2/index.d.ts +1 -0
  444. package/componentsV2/index.d.ts.map +1 -1
  445. package/componentsV2/index.js +1 -1
  446. package/mcp-server/server.mjs +341 -2
  447. package/mcp-server/server.mjs.map +1 -1
  448. package/mcp-server/setup.mjs +1108 -16
  449. package/package.json +3 -2
  450. package/storyBookHelpers/components.d.ts +4 -2
  451. package/storyBookHelpers/components.d.ts.map +1 -1
  452. package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  453. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js +0 -2
  454. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js.map +0 -1
  455. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.module.css.js +0 -2
  456. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js +0 -2
  457. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js.map +0 -1
  458. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js +0 -2
  459. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js.map +0 -1
  460. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.module.css.js +0 -2
  461. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js +0 -2
  462. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js.map +0 -1
  463. /package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/{ConfirmationPopup/ConfirmationPopup.module.css.js.map → ClusterTooltip/ClusterTooltip.module.css.js.map} +0 -0
  464. /package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/{ConfirmationPopup/ConfirmationPopup.module.css.js.map → ClusterTooltip/ClusterTooltip.module.css.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n useCompanies,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n useLoadAllWellsCompanySafeguard,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useAllWells } from './effects/useAllWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { useSelectionToolStore } from './stores/selection-tool-store';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\nimport { fetchWellsByRigIds } from './api';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nexport const OffsetWellPickerV5 = () => {\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1, MAX_OFFSET_SIZE + 1);\n const maxOffsetWellNumber = Math.min(\n Math.max(maxOffsetSize, localMaxOffsetSize + 1),\n MAX_OFFSET_SIZE + 1\n );\n\n const subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n const isLoadAllWells = usePickerPropsStore(state => state.isLoadAllWells);\n const resetIsLoadAllWells = usePickerPropsStore(state => state.resetIsLoadAllWells);\n const shouldRecenter = usePickerPropsStore(state => state.shouldRecenter);\n const setShouldRecenter = usePickerPropsStore(state => state.setShouldRecenter);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n const resetSelectionTool = useSelectionToolStore(state => state.reset);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { canViewCompanies, canViewCompaniesLoading, companies } = useCompanies({ open });\n const [selectedWells, setSelectedWells] = useState([]);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n // Disabled when all-wells mode is active\n useViewportWells(!isLoadAllWells);\n // Apply company safeguard when Load All Wells is enabled (must run before useAllWells)\n const { isSafeguardReady, resetSafeguard } = useLoadAllWellsCompanySafeguard({\n companies,\n canViewCompanies,\n canViewCompaniesLoading,\n });\n // Start all-wells loading when enabled and safeguard is ready\n useAllWells(isLoadAllWells, isSafeguardReady);\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const prevIdsSet = new Set(prevSelectedWellIds.current || []);\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n (offsetSettings?.selectedWellIds || []).every(id => prevIdsSet.has(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n // TODO: Check reference stability. Initially had only isLimitedOffsetWells, open, offsetSettings.\n }, [isLimitedOffsetWells, open, offsetSettings, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\n\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n // Deduplicated total count (wells array may contain duplicates from merged sources)\n const uniqueWellsCount = useMemo(() => {\n if (!wells) return 0;\n return uniqBy(wells, 'id').length;\n }, [wells]);\n\n // NOTE: Include selected wells from other companies so they can be deselected\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // For selected wells, use fresh data from wells when available\n // This ensures metrics are up-to-date for ALL selected wells\n const selectedWithFreshData = selectedWells.map(w => wellsMap.get(w.id) || w);\n\n // Include BIC wells so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n // Ensure ALL selected wells and BIC wells are displayed\n // regardless of current company filter or radius\n return uniqBy(selectedWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [wells, filteredWells, selectedWells, rawBicWells, selectedWellSection]);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) {\n return;\n }\n\n if (initLoading.current) {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n\n let data = wells.filter(well => selectedIdsSet.has(well.id));\n\n // Preserve existing selectedWells not in wells array (may have been fetched by usePinnedWells)\n const dataIds = new Set(data.map(w => w.id));\n const preserved = selectedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n }\n }, [\n wells,\n filteredWells,\n offsetSettings?.selectedWellIds,\n isAllWellsLoaded,\n subjectWell,\n selectedWells,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length > 0) {\n // Clear loading state for wells being added (spinner → checked checkbox)\n const enrichedIds = enrichedWells.map(w => w.id);\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIds.includes(id)));\n\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = enrichedWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n\n return uniqBy(prev.concat(limited), 'id');\n });\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }\n }, [wells, maxOffsetWellNumber]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType, rigIds) => {\n setCurrentSelectionZone(null);\n\n let addingWellIds;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // For rigs: fetch all wells belonging to the selected rigs\n if (!rigIds || rigIds.length === 0) {\n return;\n }\n\n // Show loading state\n setIsTableLoading(true);\n\n try {\n const rigWells = await fetchWellsByRigIds(rigIds, null);\n addingWellIds = rigWells.map(well => well.id);\n } catch (error) {\n console.error('Failed to fetch wells for rigs:', error);\n return;\n } finally {\n setIsTableLoading(false);\n }\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = wells.filter(({ id }) => addingWellIdsSet.has(id));\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n // Show loading spinner in search dropdown\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n // Trigger fetch to add wells to enrichment pipeline\n await fetchSearchedWells(missingIds);\n\n // Store as pending - effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n missingIds.forEach(id => pendingSearchSelectionRef.current.add(id));\n }\n }\n\n if (isAdding) {\n // Only add wells that are already enriched (in wells array)\n const limitedWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n if (limitedWells.length > 0) {\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(limitedWells), 'id'));\n }\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n // TODO: Check reference stability. Initially had wells, selectedWells\n [wells, maxOffsetWellNumber, selectedWells.length, fetchSearchedWells, setIsTableLoading]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n setSelectedWellSection(section);\n await updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const performSave = useCallback(() => {\n resetSafeguard();\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n isLoadAllWells,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n resetSafeguard,\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n isLoadAllWells,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters({\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n });\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n resetIsLoadAllWells();\n resetSafeguard();\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n resetSelectionTool();\n setCurrentSelectionZone(null);\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, resetSelectionTool, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n // Calculations for table header and search - moved from OffsetWellsTable\n const uniqTableWells = useMemo(() => uniqBy(tableWells, 'id'), [tableWells]);\n\n const [selectedTableWells, indeterminate, isAllWellsSelected] = useMemo(() => {\n const selectedTableWells = uniqTableWells.filter(well => well.checked);\n const indeterminate =\n uniqTableWells.length !== selectedTableWells.length &&\n Boolean(selectedTableWells.length) &&\n !isLimitedOffsetWells;\n const isAllWellsSelected =\n selectedTableWells.length === uniqTableWells.length || isLimitedOffsetWells;\n\n return [selectedTableWells, indeterminate, isAllWellsSelected];\n }, [uniqTableWells, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n return (\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={uniqueWellsCount}\n filteredCount={filteredWells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n shouldRecenter={shouldRecenter}\n onRecenterComplete={() => setShouldRecenter(false)}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n isSafeguardReady={isSafeguardReady}\n />\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedTableWells.map(({ id }) => id)}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator />\n )}\n </div>\n </Modal>\n );\n};\n"],"names":["PAGE_NAME","OffsetWellPickerV5","_filteredWells$length","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","setFilters","resetFilters","resetSelectionTool","useSelectionToolStore","reset","viewportWells","useViewportStore","wells","viewportBounds","bounds","_useCompanies","useCompanies","canViewCompanies","canViewCompaniesLoading","companies","_useState4","_useState3","selectedWells","setSelectedWells","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","_useLoadAllWellsCompa","useLoadAllWellsCompanySafeguard","isSafeguardReady","resetSafeguard","useAllWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","initLoading","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","length","prevSelectedWellIds","_useState16","_useState15","appLoading","setAppLoading","useEffect","showInfoNotification","_offsetSettings$selec","_prevSelectedWellIds$","prevIdsSet","current","selectedWellIds","every","id","has","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","result","existingIds","map","w","missingPinned","filter","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","_ref","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec2","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","offsetWellsLimited","stop","apply","this","arguments","filterOptions","useFilterOptions","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","uniqueWellsCount","uniqBy","wellsToDisplay","wellsMap","Map","selectedWithFreshData","get","bicWellsToShow","undefined","selectedIdsSet","data","dataIds","preserved","size","pendingIds","enrichedWells","enrichedIds","includes","limited","delete","_ref2","_ref5","_ref6","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","rigIds","addingWellIds","rigWells","addingWellIdsSet","addingWells","foundIds","missingIds","limitedWells","_context2","SEARCH_CATEGORIES","abrupt","fetchWellsByRigIds","t0","console","error","finish","_ref3","add","uniq","_ref4","_callee2","_x","_x2","_x3","_x4","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","key","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context3","set","_callee3","_x5","handleChangeWellSection","_context4","_callee4","_x6","selectedWellsCount","_ref7","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","performSave","selectedIds","_ref8","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","_callee5","_context5","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","uniqTableWells","selectedTableWells","Boolean","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsx","Modal","className","styles","modalDialog","title","AppHeader","totalCount","filteredCount","selectedCount","onChangeMetricsKeys","actions","_jsxs","actionsWrapper","children","Tooltip","placement","Button","onClick","color","startIcon","ReplayIcon","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref10","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","onRecenterComplete","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","_ref11","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
1
+ {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useAllWells } from './effects/useAllWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { areWellMapsEqual } from './stores/viewport-store/utils/areWellMapsEqual';\nimport { useCompanySafeguard } from './stores/company-safeguard';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { useSelectionToolStore } from './stores/selection-tool-store';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\nimport { fetchWellsByRigIds } from './api';\nimport { useViewType } from './viewport';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nconst AllWellsEffect = () => {\n useAllWells();\n return null;\n};\n\nexport const OffsetWellPickerV5 = () => {\n const { isMobile } = useViewType();\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1);\n const maxOffsetWellNumber = Math.max(maxOffsetSize, localMaxOffsetSize + 1);\n\n const subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n const isLoadAllWells = usePickerPropsStore(state => state.isLoadAllWells);\n const resetIsLoadAllWells = usePickerPropsStore(state => state.resetIsLoadAllWells);\n const shouldRecenter = usePickerPropsStore(state => state.shouldRecenter);\n const setShouldRecenter = usePickerPropsStore(state => state.setShouldRecenter);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n const resetSelectionTool = useSelectionToolStore(state => state.reset);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells, areWellMapsEqual);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { companies, canViewCompanies, resetSafeguard } = useCompanySafeguard();\n const [selectedWells, setSelectedWells] = useState([]);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n // Disabled when all-wells mode is active\n useViewportWells(!isLoadAllWells);\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const prevIdsSet = new Set(prevSelectedWellIds.current || []);\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n (offsetSettings?.selectedWellIds || []).every(id => prevIdsSet.has(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n // TODO: Check reference stability. Initially had only isLimitedOffsetWells, open, offsetSettings.\n }, [isLimitedOffsetWells, open, offsetSettings, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\n\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n // Deduplicated total count (wells array may contain duplicates from merged sources)\n const uniqueWellsCount = useMemo(() => {\n if (!wells) return 0;\n return uniqBy(wells, 'id').length;\n }, [wells]);\n\n // NOTE: Include selected wells from other companies so they can be deselected\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // For selected wells, use fresh data from wells when available\n // This ensures metrics are up-to-date for ALL selected wells\n const selectedWithFreshData = selectedWells.map(w => wellsMap.get(w.id) || w);\n\n // Include BIC wells so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n // Ensure ALL selected wells and BIC wells are displayed\n // regardless of current company filter or radius\n return uniqBy(selectedWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [wells, filteredWells, selectedWells, rawBicWells, selectedWellSection]);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) {\n return;\n }\n\n if (initLoading.current) {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n\n let data = wells.filter(well => selectedIdsSet.has(well.id));\n\n // Preserve existing selectedWells not in wells array (may have been fetched by usePinnedWells)\n const dataIds = new Set(data.map(w => w.id));\n const preserved = selectedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n }\n }, [\n wells,\n filteredWells,\n offsetSettings?.selectedWellIds,\n isAllWellsLoaded,\n subjectWell,\n selectedWells,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length > 0) {\n // Clear loading state for wells being added (spinner → checked checkbox)\n const enrichedIds = enrichedWells.map(w => w.id);\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIds.includes(id)));\n\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = enrichedWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n\n return uniqBy(prev.concat(limited), 'id');\n });\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }\n }, [wells, maxOffsetWellNumber]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType, rigIds) => {\n setCurrentSelectionZone(null);\n\n let addingWellIds;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // For rigs: fetch all wells belonging to the selected rigs\n if (!rigIds || rigIds.length === 0) {\n return;\n }\n\n // Show loading state\n setIsTableLoading(true);\n\n try {\n const rigWells = await fetchWellsByRigIds(rigIds, null);\n addingWellIds = rigWells.map(well => well.id);\n } catch (error) {\n console.error('Failed to fetch wells for rigs:', error);\n return;\n } finally {\n setIsTableLoading(false);\n }\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = wells.filter(({ id }) => addingWellIdsSet.has(id));\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n // Show loading spinner in search dropdown\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n // Trigger fetch to add wells to enrichment pipeline\n await fetchSearchedWells(missingIds);\n\n // Store as pending - effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n missingIds.forEach(id => pendingSearchSelectionRef.current.add(id));\n }\n }\n\n if (isAdding) {\n // Only add wells that are already enriched (in wells array)\n const limitedWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n if (limitedWells.length > 0) {\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(limitedWells), 'id'));\n }\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n // TODO: Check reference stability. Initially had wells, selectedWells\n [wells, maxOffsetWellNumber, selectedWells.length, fetchSearchedWells, setIsTableLoading]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n setSelectedWellSection(section);\n await updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const performSave = useCallback(() => {\n resetSafeguard();\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n isLoadAllWells,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n resetSafeguard,\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n isLoadAllWells,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters({\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n });\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n resetIsLoadAllWells();\n resetSafeguard();\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n resetSelectionTool();\n setCurrentSelectionZone(null);\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, resetSelectionTool, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n // Calculations for table header and search - moved from OffsetWellsTable\n const uniqTableWells = useMemo(() => uniqBy(tableWells, 'id'), [tableWells]);\n\n const [selectedTableWells, indeterminate, isAllWellsSelected] = useMemo(() => {\n const selectedTableWells = uniqTableWells.filter(well => well.checked);\n const indeterminate =\n uniqTableWells.length !== selectedTableWells.length &&\n Boolean(selectedTableWells.length) &&\n !isLimitedOffsetWells;\n const isAllWellsSelected =\n selectedTableWells.length === uniqTableWells.length || isLimitedOffsetWells;\n\n return [selectedTableWells, indeterminate, isAllWellsSelected];\n }, [uniqTableWells, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n return (\n <>\n {isLoadAllWells && <AllWellsEffect />}\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={uniqueWellsCount}\n filteredCount={filteredWells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n {isMobile ? (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n className={styles.resetButtonMobile}\n >\n <ReplayIcon />\n </Button>\n ) : (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n )}\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n shouldRecenter={shouldRecenter}\n onRecenterComplete={() => setShouldRecenter(false)}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n {!isMobile && (\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n />\n )}\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedTableWells.map(({ id }) => id)}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator />\n )}\n </div>\n </Modal>\n </>\n );\n};\n"],"names":["PAGE_NAME","AllWellsEffect","useAllWells","OffsetWellPickerV5","_filteredWells$length","isMobile","useViewType","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","setFilters","resetFilters","resetSelectionTool","useSelectionToolStore","reset","viewportWells","useViewportStore","wells","areWellMapsEqual","viewportBounds","bounds","_useCompanySafeguard","useCompanySafeguard","companies","canViewCompanies","resetSafeguard","_useState4","_useState3","selectedWells","setSelectedWells","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","initLoading","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","length","prevSelectedWellIds","_useState16","_useState15","appLoading","setAppLoading","useEffect","showInfoNotification","_offsetSettings$selec","_prevSelectedWellIds$","prevIdsSet","current","selectedWellIds","every","id","has","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","result","existingIds","map","w","missingPinned","filter","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","_ref","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec2","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","offsetWellsLimited","stop","apply","this","arguments","filterOptions","useFilterOptions","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","uniqueWellsCount","uniqBy","wellsToDisplay","wellsMap","Map","selectedWithFreshData","get","bicWellsToShow","undefined","selectedIdsSet","data","dataIds","preserved","size","pendingIds","enrichedWells","enrichedIds","includes","limited","delete","_ref2","_ref5","_ref6","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","rigIds","addingWellIds","rigWells","addingWellIdsSet","addingWells","foundIds","missingIds","limitedWells","_context2","SEARCH_CATEGORIES","abrupt","fetchWellsByRigIds","t0","console","error","finish","_ref3","add","uniq","_ref4","_callee2","_x","_x2","_x3","_x4","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","key","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context3","set","_callee3","_x5","handleChangeWellSection","_context4","_callee4","_x6","selectedWellsCount","_ref7","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","performSave","selectedIds","_ref8","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","_callee5","_context5","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","uniqTableWells","selectedTableWells","Boolean","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsxs","_Fragment","children","_jsx","Modal","className","styles","modalDialog","title","AppHeader","totalCount","filteredCount","selectedCount","onChangeMetricsKeys","actions","actionsWrapper","Tooltip","placement","Button","onClick","color","resetButtonMobile","ReplayIcon","startIcon","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref10","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","onRecenterComplete","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","_ref11","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV5WithStore.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA0B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA+E1E,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,uBAAuB,CAmBnE,CAAC"}
1
+ {"version":3,"file":"OffsetWellPickerV5WithStore.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAmC,MAAM,OAAO,CAAC;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAqH1E,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,uBAAuB,CAuBnE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{__assign as r}from'./../../ext-esm/tslib/tslib.es6.js';import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{useCallback as i}from"react";import{PickerPropsStoreProvider as s}from"./stores/picker-props-store/PickerPropsStoreProvider.js";import{usePickerPropsStore as n}from"./stores/picker-props-store/usePickerPropsStore.js";import{FilterStoreProvider as l}from"./stores/filter-store/FilterStoreProvider.js";import{ViewStoreProvider as d}from"./stores/view-store/ViewStoreProvider.js";import"./stores/viewport-store/ViewportStoreContext.js";import{ViewportStoreProvider as a}from"./stores/viewport-store/ViewportStoreProvider.js";import"zustand";import"lodash/isEqual";import"./stores/selection-tool-store/SelectionToolStoreContext.js";import{SelectionToolStoreProvider as p}from"./stores/selection-tool-store/SelectionToolStoreProvider.js";import{UserSettingsStoreProvider as u}from"./stores/user-settings-store/UserSettingsStoreProvider.js";import{useUserSettingsStore as c}from"./stores/user-settings-store/useUserSettingsStore.js";import"./stores/user-settings-store/UserSettingsStoreContext.js";import{OffsetWellPickerV5 as m}from"./OffsetWellPickerV5.js";import{MapPreloader as f}from"./components/MapPreloader/MapPreloader.js";var S=function(r){var t=r.children,o=n((function(r){return r.offsetSettings}));return e(l,{filters:null==o?void 0:o.filters,children:t})};S.displayName="FilterStoreWrapper";var h=function(r){var t=r.children,o=n((function(r){return r.offsetSettings})),s=c((function(r){return r.settings})),l=c((function(r){return r.hasManuallyChanged})),a=c((function(r){return r.setSetting})),p=i((function(r,e){a(r,e)}),[a]);return e(d,{isFilterExpanded:null==o?void 0:o.filterExpanded,isMapHidden:null==o?void 0:o.mapHidden,userSettings:s,hasManuallyChanged:l,onSettingChange:p,children:t})};h.displayName="ViewStoreWrapper";var v=function(r){var t=r.children;return e(a,{children:t})};v.displayName="ViewportStoreWrapper";var g=function(r){var t=r.children,o=n((function(r){return r.currentUser})),i=null==o?void 0:o.id;return e(u,{userId:i,children:t})};g.displayName="UserSettingsWrapper";var j=function(r){var t=r.children,i=c((function(r){return r.loadState}));return"loading"===i||"idle"===i?null:e(o,{children:t})};j.displayName="SettingsLoadingGuard";var P=function(o){return e(s,r({},o,{children:t(g,{children:[e(f,{}),e(j,{children:e(S,{children:e(v,{children:e(p,{children:e(h,{children:e(m,{})})})})})})]})}))};P.displayName="OffsetWellPickerV5WithStore";export{P as OffsetWellPickerV5WithStore};
1
+ import{__assign as r}from'./../../ext-esm/tslib/tslib.es6.js';import{jsx as t,jsxs as e,Fragment as o}from"react/jsx-runtime";import{useCallback as s,useMemo as i}from"react";import{PickerPropsStoreProvider as n}from"./stores/picker-props-store/PickerPropsStoreProvider.js";import{usePickerPropsStore as a}from"./stores/picker-props-store/usePickerPropsStore.js";import{FilterStoreProvider as p}from"./stores/filter-store/FilterStoreProvider.js";import{ViewStoreProvider as m}from"./stores/view-store/ViewStoreProvider.js";import"./stores/viewport-store/ViewportStoreContext.js";import{ViewportStoreProvider as l}from"./stores/viewport-store/ViewportStoreProvider.js";import"zustand";import"lodash/isEqual";import"./stores/selection-tool-store/SelectionToolStoreContext.js";import{SelectionToolStoreProvider as c}from"./stores/selection-tool-store/SelectionToolStoreProvider.js";import{UserSettingsStoreProvider as d}from"./stores/user-settings-store/UserSettingsStoreProvider.js";import{useUserSettingsStore as u}from"./stores/user-settings-store/useUserSettingsStore.js";import"./stores/user-settings-store/UserSettingsStoreContext.js";import{CompanySafeguardContext as f}from"./stores/company-safeguard/CompanySafeguardContext.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/slicedToArray";import"@babel/runtime/regenerator";import"lodash";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/jsonApi/index.js";import"../../clients/subscriptions/constants.js";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"./constants.js";import"./api/shared/dataFormatter.js";import"./utils/wellTransformations.js";import"./stores/picker-props-store/PickerPropsStoreContext.js";import"../../utils/index.js";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/alerts.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/completion.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"react-virtualized";import"./effects/useAssetsData.js";import{useCompanies as j}from"./effects/useCompanies.js";import"lodash/debounce";import"@mapbox/tilebelt";import"./stores/filter-store/FilterStoreContext.js";import"lz-string";import"@turf/bbox";import"@turf/circle";import"./components/Map/OffsetWellMap/constants.js";import{useLoadAllWellsCompanySafeguard as h}from"./effects/useLoadAllWellsCompanySafeguard.js";import{OffsetWellPickerV5 as g}from"./OffsetWellPickerV5.js";import{MapPreloader as S}from"./components/MapPreloader/MapPreloader.js";import{ViewportProvider as v}from"./viewport/ViewportProvider.js";import{useViewType as b}from"./viewport/useViewType.js";var y=function(r){var e=r.children,o=a((function(r){return r.offsetSettings}));return t(p,{filters:null==o?void 0:o.filters,children:e})};y.displayName="FilterStoreWrapper";var C=function(r){var e=r.children,o=a((function(r){return r.offsetSettings})),i=u((function(r){return r.settings})),n=u((function(r){return r.hasManuallyChanged})),p=u((function(r){return r.setSetting})),l=s((function(r,t){p(r,t)}),[p]);return t(m,{isFilterExpanded:null==o?void 0:o.filterExpanded,isMapHidden:null==o?void 0:o.mapHidden,userSettings:i,hasManuallyChanged:n,onSettingChange:l,children:e})};C.displayName="ViewStoreWrapper";var P=function(r){var e=r.children;return t(l,{children:e})};P.displayName="ViewportStoreWrapper";var w=function(r){var e=r.children,o=a((function(r){return r.currentUser})),s=null==o?void 0:o.id;return t(d,{userId:s,children:e})};w.displayName="UserSettingsWrapper";var x=function(r){var e=r.children,s=u((function(r){return r.loadState}));return"loading"===s||"idle"===s?null:t(o,{children:e})};x.displayName="SettingsLoadingGuard";var V=function(){return b().isMobile?null:t(S,{})};V.displayName="MapPreloaderGuard";var M=function(r){var e=r.children,o=a((function(r){return r.open})),s=j({open:o}),n=s.canViewCompanies,p=s.canViewCompaniesLoading,m=s.companies,l=h({companies:m,canViewCompanies:n,canViewCompaniesLoading:p}),c=l.isSafeguardReady,d=l.resetSafeguard,u=i((function(){return{companies:m,canViewCompanies:n,isSafeguardReady:c,resetSafeguard:d}}),[m,n,c,d]);return t(f.Provider,{value:u,children:e})};M.displayName="CompanySafeguardWrapper";var W=function(o){return t(v,{children:t(n,r({},o,{children:e(w,{children:[t(V,{}),t(x,{children:t(y,{children:t(P,{children:t(M,{children:t(c,{children:t(C,{children:t(g,{})})})})})})})]})}))})};W.displayName="OffsetWellPickerV5WithStore";export{W as OffsetWellPickerV5WithStore};
2
2
  //# sourceMappingURL=OffsetWellPickerV5WithStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/AppHeader/AppHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAehD,KAAK,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErE,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,oJAUvB,cAAc,gBAwFhB,CAAC"}
1
+ {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/AppHeader/AppHeader.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAgBhD,KAAK,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAErE,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,oJAUvB,cAAc,gBA6GhB,CAAC"}
@@ -1,2 +1,2 @@
1
- import{jsxs as o,jsx as s,Fragment as t}from"react/jsx-runtime";import{Divider as e,Tooltip as n}from"@material-ui/core";import i from"classnames";import{useCallback as p}from"react";import{CustomInfoIcon as r}from"../CustomInfoIcon/CustomInfoIcon.js";import{MetricsSettingMenu as c}from"../OffsetWellsTable/MetricsSettingMenu.js";import{RESYNC_STATUS as m}from"../../constants.js";import{usePickerPropsStore as a}from"../../stores/picker-props-store/usePickerPropsStore.js";import{useViewStore as l}from"../../stores/view-store/useViewStore.js";import{LoadAllWellsToggle as d}from"./LoadAllWellsToggle.js";import j from"./AppHeader.module.css.js";import{Regular20 as u,Regular14 as V,Regular12 as A}from"../../../Typography.js";import"../../../../componentsV2/Text/Text.js";import"../../../../componentsV2/Grid/Grid.js";import"../../../../componentsV2/Grid/Cell.js";import"../../../../componentsV2/Header/Header.scss.js";import{Button as C}from"../../../../componentsV2/Button/Button.js";import{ButtonIcon as h}from"../../../../componentsV2/ButtonIcon/ButtonIcon.js";import"../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../../componentsV2/Popover/Popover.js";import"../../../../componentsV2/Radio/Radio.js";import"../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../../componentsV2/Checkbox/Checkbox.js";import"../../../../componentsV2/TextInput/TextInput.js";import"../../../../componentsV2/Label/Label.js";import"lodash";import"../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../../../componentsV2/TextLink/TextLink.js";import"../../../../componentsV2/Chip/Chip.js";import"../../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../../componentsV2/Avatar/Avatar.js";import"../../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../../componentsV2/Paper/Paper.js";import"../../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../../componentsV2/Modal/Modal.scss.js";import"../../../../componentsV2/Menu/Menu.js";import{CenterAlignmentIcon as I,MapDrawIcon as S}from"../../../../icons/iconParkIcons.js";import"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../componentsV2/utils.js";import"../../../../componentsV2/Hint/Hint.scss.js";import"../../../../componentsV2/Counter/Counter.js";import"../../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../../componentsV2/TemplatesControl/utils.js";import"../../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../../componentsV2/TemplatesControl/Store/utils.js";import"../../../../componentsV2/TemplatesControl/types.js";import"../../../../utils/index.js";import"../../../../clients/jsonApi/index.js";import"../../../../permissions/PermissionsContext.js";import"../../../../permissions/constants/index.js";import"../../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/slicedToArray";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../permissions/ProvidePermissions.js";import"../../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../../componentsV2/Switch/Switch.js";import"../../../../componentsV2/Tabs/Tabs.js";import"../../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../../componentsV2/FileIcon/FileIcon.js";import"../../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../../utils/main.js";import"../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../../componentsV2/Stepper/Stepper.scss.js";import"../../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../../componentsV2/ButtonText/ButtonText.js";import"../../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../../componentsV2/Accordion/Accordion.scss.js";import"../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../../componentsV2/AppContainer/AppContainer.js";import"../../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../../componentsV2/AppFooter/AppFooter.js";import"immutable";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.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"../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../../PadModeSelect/PadModeSelect.js";import"../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../../constants/streamSourceType.js";import"../../../../types/shared/Completions.js";import"../../../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../clients/subscriptions/constants.js";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../../../utils/env.js";import"../../../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../../AppIcon/AppIcon.js";import"../../../../utils/getSingleAsset.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../../componentsV2/AppContainer/headerCommon.scss.js";import"../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../../componentsV2/AppSettings/AppSettings.js";import"../../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../../../componentsV2/Menu/MenuItem/MenuItem.js";import"../../../../componentsV2/Autocomplete/AutocompleteListBox.js";import"../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../../componentsV2/DatePicker/DatePicker.js";import"../../../../componentsV2/DragHandle/DragHandle.js";import"../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";var g=function(g){var v=g.totalCount,f=g.filteredCount,b=g.selectedCount,D=g.maxOffsetWellNumber,P=g.isXtoProvider,T=g.resyncStatus,x=g.setResyncStatus,H=g.metricsKeys,M=g.onChangeMetricsKeys,y=a((function(o){return o.isViewOnly})),L=a((function(o){return o.isGlobalMode})),B=l((function(o){return o.isFilterExpanded})),F=l((function(o){return o.toggleFilterExpanded})),k=l((function(o){return o.isMapHidden})),q=l((function(o){return o.toggleMapHidden})),O=p((function(){x(m.TRIGGERED)}),[x]),W=T===m.RUNNING;return o("div",{className:j.headerContainer,children:[o("div",{className:j.leftSection,children:[s(u,{children:"Offset Wells"}),s(e,{className:j.divideLine}),s(d,{disabled:y}),s(V,{className:j.totalLabel,children:"Total:"}),s(V,{"data-testid":"".concat("AppHeader","_totalWells"),className:j.countValue,children:v}),f!==v&&o(t,{children:[s(V,{className:j.filteredLabel,children:"Filtered:"}),s(V,{"data-testid":"".concat("AppHeader","_filteredWells"),className:j.countValue,children:f})]}),s(V,{className:j.selectedLabel,children:"Selected:"}),s(V,{"data-testid":"".concat("AppHeader","_selected"),className:j.countValue,children:b}),L?s(A,{className:i(j.maxOffsetSize,j.maxOffsetSizeGlobal),children:"No global limit. Each app may have its own offset limit."}):s(n,{title:"App can't process more than (".concat(D-1,") Offset Wells."),placement:"right",children:o(A,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:j.maxOffsetSize,children:["/",D-1]})}),y&&s(r,{})]}),o("div",{className:j.rightSection,children:[P&&s(C,{size:"small",type:"primary",onClick:O,disabled:y||W,children:"Re-Sync with IDAS"}),s(n,{title:"Filters",children:s(h,{testId:"".concat("AppHeader","_filters"),size:"small",type:B?"secondaryBg":"tertiaryBg",onClick:F,disabled:y,children:s(I,{})})}),s(n,{title:"Map",children:s(h,{testId:"".concat("AppHeader","_map"),size:"small",type:k?"tertiaryBg":"secondaryBg",onClick:q,children:s(S,{})})}),s(c,{metricsKeys:H,onChange:M})]})]})};export{g as AppHeader};
1
+ import{jsxs as o,jsx as s,Fragment as t}from"react/jsx-runtime";import{Divider as e,Tooltip as n}from"@material-ui/core";import i from"classnames";import{useCallback as r}from"react";import{CustomInfoIcon as p}from"../CustomInfoIcon/CustomInfoIcon.js";import{MetricsSettingMenu as c}from"../OffsetWellsTable/MetricsSettingMenu.js";import{RESYNC_STATUS as m}from"../../constants.js";import{usePickerPropsStore as a}from"../../stores/picker-props-store/usePickerPropsStore.js";import{useViewStore as l}from"../../stores/view-store/useViewStore.js";import"../../viewport/ViewportProvider.js";import{useViewType as d}from"../../viewport/useViewType.js";import{LoadAllWellsToggle as j}from"./LoadAllWellsToggle.js";import u from"./AppHeader.module.css.js";import{Regular20 as V,Regular14 as A,Regular12 as C}from"../../../Typography.js";import"../../../../componentsV2/Text/Text.js";import"../../../../componentsV2/Grid/Grid.js";import"../../../../componentsV2/Grid/Cell.js";import"../../../../componentsV2/Header/Header.scss.js";import{Button as S}from"../../../../componentsV2/Button/Button.js";import{ButtonIcon as h}from"../../../../componentsV2/ButtonIcon/ButtonIcon.js";import"../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../../componentsV2/Popover/Popover.js";import"../../../../componentsV2/Radio/Radio.js";import"../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../../componentsV2/Checkbox/Checkbox.js";import"../../../../componentsV2/TextInput/TextInput.js";import"../../../../componentsV2/Label/Label.js";import"lodash";import"../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../../../componentsV2/TextLink/TextLink.js";import"../../../../componentsV2/Chip/Chip.js";import"../../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../../componentsV2/Avatar/Avatar.js";import"../../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../../componentsV2/Paper/Paper.js";import"../../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../../componentsV2/Modal/Modal.scss.js";import"../../../../componentsV2/Menu/Menu.js";import{RefreshIcon as I,CenterAlignmentIcon as v,MapDrawIcon as g}from"../../../../icons/iconParkIcons.js";import"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../componentsV2/utils.js";import"../../../../componentsV2/Hint/Hint.scss.js";import"../../../../componentsV2/Counter/Counter.js";import"../../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../../componentsV2/TemplatesControl/utils.js";import"../../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../../componentsV2/TemplatesControl/Store/utils.js";import"../../../../componentsV2/TemplatesControl/types.js";import"../../../../utils/index.js";import"../../../../clients/jsonApi/index.js";import"../../../../permissions/PermissionsContext.js";import"../../../../permissions/constants/index.js";import"../../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/slicedToArray";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../permissions/ProvidePermissions.js";import"../../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../../componentsV2/Switch/Switch.js";import"../../../../componentsV2/Tabs/Tabs.js";import"../../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../../componentsV2/FileIcon/FileIcon.js";import"../../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../../utils/main.js";import"../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../../componentsV2/Stepper/Stepper.scss.js";import"../../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../../componentsV2/ButtonText/ButtonText.js";import"../../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../../componentsV2/Accordion/Accordion.scss.js";import"../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../../componentsV2/AppContainer/AppContainer.js";import"../../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../../componentsV2/AppFooter/AppFooter.js";import"immutable";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.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"../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../../PadModeSelect/PadModeSelect.js";import"../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../../constants/streamSourceType.js";import"../../../../types/shared/Completions.js";import"../../../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../clients/subscriptions/constants.js";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../../../utils/env.js";import"../../../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../../AppIcon/AppIcon.js";import"../../../../utils/getSingleAsset.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../../componentsV2/AppContainer/headerCommon.scss.js";import"../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../../componentsV2/AppSettings/AppSettings.js";import"../../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../../../componentsV2/Menu/MenuItem/MenuItem.js";import"../../../../componentsV2/Autocomplete/AutocompleteListBox.js";import"../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../../componentsV2/DatePicker/DatePicker.js";import"../../../../componentsV2/DragHandle/DragHandle.js";import"../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../../../componentsV2/Slider/constants.js";import"../../../../componentsV2/Slider/components/SliderThumb.js";import"../../../../componentsV2/Slider/Slider.scss.js";var f=function(f){var b,D=f.totalCount,P=f.filteredCount,T=f.selectedCount,M=f.maxOffsetWellNumber,x=f.isXtoProvider,y=f.resyncStatus,H=f.setResyncStatus,L=f.metricsKeys,B=f.onChangeMetricsKeys,F=d().isMobile,k=a((function(o){return o.isViewOnly})),q=a((function(o){return o.isGlobalMode})),O=l((function(o){return o.isFilterExpanded})),W=l((function(o){return o.toggleFilterExpanded})),R=l((function(o){return o.isMapHidden})),w=l((function(o){return o.toggleMapHidden})),E=r((function(){H(m.TRIGGERED)}),[H]),G=y===m.RUNNING;return o("div",{className:u.headerContainer,children:[o("div",{className:i(u.leftSection,(b={},b[u.leftSectionMobile]=F,b)),children:[s(V,{children:"Offset Wells"}),!F&&o(t,{children:[s(e,{className:u.divideLine}),s(j,{disabled:k})]}),s(A,{className:u.totalLabel,children:"Total:"}),s(A,{"data-testid":"".concat("AppHeader","_totalWells"),className:u.countValue,children:D}),P!==D&&o(t,{children:[s(A,{className:u.filteredLabel,children:"Filtered:"}),s(A,{"data-testid":"".concat("AppHeader","_filteredWells"),className:u.countValue,children:P})]}),s(A,{className:u.selectedLabel,children:"Selected:"}),s(A,{"data-testid":"".concat("AppHeader","_selected"),className:u.countValue,children:T}),q?s(C,{className:i(u.maxOffsetSize,u.maxOffsetSizeGlobal),children:"No global limit. Each app may have its own offset limit."}):s(n,{title:"App can't process more than (".concat(M-1,") Offset Wells."),placement:"right",children:o(C,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:u.maxOffsetSize,children:["/",M-1]})}),k&&s(p,{})]}),o("div",{className:u.rightSection,children:[x&&(F?s(n,{title:"Re-Sync with IDAS",children:s(h,{size:"small",type:"primary",onClick:E,disabled:k||G,children:s(I,{})})}):s(S,{size:"small",type:"primary",onClick:E,disabled:k||G,children:"Re-Sync with IDAS"})),!F&&o(t,{children:[s(n,{title:"Filters",children:s(h,{testId:"".concat("AppHeader","_filters"),size:"small",type:O?"secondaryBg":"tertiaryBg",onClick:W,disabled:k,children:s(v,{})})}),s(n,{title:"Map",children:s(h,{testId:"".concat("AppHeader","_map"),size:"small",type:R?"tertiaryBg":"secondaryBg",onClick:w,children:s(g,{})})}),s(c,{metricsKeys:L,onChange:B})]})]})]})};export{f as AppHeader};
2
2
  //# sourceMappingURL=AppHeader.js.map
@@ -1,2 +1,2 @@
1
- import e from'./../../../../ext-esm/style-inject/dist/style-inject.es.js';var l={headerContainer:"AppHeader-module_headerContainer__053cv",leftSection:"AppHeader-module_leftSection__6nVK4",rightSection:"AppHeader-module_rightSection__tEZhz",divideLine:"AppHeader-module_divideLine__wxtQy",totalLabel:"AppHeader-module_totalLabel__JvpeF",filteredLabel:"AppHeader-module_filteredLabel__FcXEW",selectedLabel:"AppHeader-module_selectedLabel__tCIhp",countValue:"AppHeader-module_countValue__XFiCd",maxOffsetSize:"AppHeader-module_maxOffsetSize__8fU2y",maxOffsetSizeGlobal:"AppHeader-module_maxOffsetSizeGlobal__yCI-y",clearWrapper:"AppHeader-module_clearWrapper__iQpLG",clearIcon:"AppHeader-module_clearIcon__S59zS",clearLabel:"AppHeader-module_clearLabel__Gm9t2",loadAllWellsToggle:"AppHeader-module_loadAllWellsToggle__7lSmH"};e(".AppHeader-module_headerContainer__053cv{justify-content:space-between;width:100%}.AppHeader-module_headerContainer__053cv,.AppHeader-module_leftSection__6nVK4{align-items:center;display:flex;flex-direction:row}.AppHeader-module_rightSection__tEZhz{align-items:center;display:flex;gap:16px}.AppHeader-module_divideLine__wxtQy{height:12px!important;margin-left:16px!important;margin-right:16px!important;width:1px}.AppHeader-module_totalLabel__JvpeF{color:var(--palette-primary-text-6)}.AppHeader-module_filteredLabel__FcXEW,.AppHeader-module_selectedLabel__tCIhp{color:var(--palette-primary-text-6);padding-left:16px}.AppHeader-module_countValue__XFiCd{color:var(--palette-primary-text-1);padding-left:4px}.AppHeader-module_maxOffsetSize__8fU2y{color:var(--palette-primary-text-6);cursor:default;padding-left:4px}.AppHeader-module_maxOffsetSizeGlobal__yCI-y{margin-left:4px!important}.AppHeader-module_clearWrapper__iQpLG{align-items:center;color:var(--palette-primary-main);display:flex;gap:4px;margin-left:8px}.AppHeader-module_clearWrapper__iQpLG:hover{color:var(--palette-primary-light)}.AppHeader-module_clearIcon__S59zS{font-size:16px!important}.AppHeader-module_clearLabel__Gm9t2{font-size:12px;font-weight:400;line-height:16px;text-transform:none}.AppHeader-module_loadAllWellsToggle__7lSmH{align-items:center;display:flex;margin-right:8px}");export{l as default};
1
+ import e from'./../../../../ext-esm/style-inject/dist/style-inject.es.js';var l={headerContainer:"AppHeader-module_headerContainer__053cv",leftSection:"AppHeader-module_leftSection__6nVK4",leftSectionMobile:"AppHeader-module_leftSectionMobile__YcWM1",rightSection:"AppHeader-module_rightSection__tEZhz",divideLine:"AppHeader-module_divideLine__wxtQy",totalLabel:"AppHeader-module_totalLabel__JvpeF",filteredLabel:"AppHeader-module_filteredLabel__FcXEW",selectedLabel:"AppHeader-module_selectedLabel__tCIhp",countValue:"AppHeader-module_countValue__XFiCd",maxOffsetSize:"AppHeader-module_maxOffsetSize__8fU2y",maxOffsetSizeGlobal:"AppHeader-module_maxOffsetSizeGlobal__yCI-y",clearWrapper:"AppHeader-module_clearWrapper__iQpLG",clearIcon:"AppHeader-module_clearIcon__S59zS",clearLabel:"AppHeader-module_clearLabel__Gm9t2",loadAllWellsToggle:"AppHeader-module_loadAllWellsToggle__7lSmH"};e(".AppHeader-module_headerContainer__053cv{justify-content:space-between;width:100%}.AppHeader-module_headerContainer__053cv,.AppHeader-module_leftSection__6nVK4{align-items:center;display:flex;flex-direction:row}.AppHeader-module_leftSectionMobile__YcWM1{gap:4px}.AppHeader-module_rightSection__tEZhz{align-items:center;display:flex;gap:16px}.AppHeader-module_divideLine__wxtQy{height:12px!important;margin-left:16px!important;margin-right:16px!important;width:1px}.AppHeader-module_totalLabel__JvpeF{color:var(--palette-primary-text-6)}.AppHeader-module_filteredLabel__FcXEW,.AppHeader-module_selectedLabel__tCIhp{color:var(--palette-primary-text-6);padding-left:16px}.AppHeader-module_countValue__XFiCd{color:var(--palette-primary-text-1);padding-left:4px}.AppHeader-module_maxOffsetSize__8fU2y{color:var(--palette-primary-text-6);cursor:default;padding-left:4px}.AppHeader-module_maxOffsetSizeGlobal__yCI-y{margin-left:4px!important}.AppHeader-module_clearWrapper__iQpLG{align-items:center;color:var(--palette-primary-main);display:flex;gap:4px;margin-left:8px}.AppHeader-module_clearWrapper__iQpLG:hover{color:var(--palette-primary-light)}.AppHeader-module_clearIcon__S59zS{font-size:16px!important}.AppHeader-module_clearLabel__Gm9t2{font-size:12px;font-weight:400;line-height:16px;text-transform:none}.AppHeader-module_loadAllWellsToggle__7lSmH{align-items:center;display:flex;margin-right:8px}");export{l as default};
2
2
  //# sourceMappingURL=AppHeader.module.css.js.map