@corva/ui 3.75.0-0 → 3.75.0-2

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 (283) 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/AnnotationsButton.js.map +1 -0
  18. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js +1 -1
  19. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js.map +1 -1
  20. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  21. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  22. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  23. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  24. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  25. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js.map +1 -1
  26. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js +2 -0
  27. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -0
  28. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  29. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +2 -0
  30. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -0
  31. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +1 -1
  32. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +2 -0
  33. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -0
  34. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  35. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  36. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js +1 -1
  37. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js.map +1 -1
  38. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  39. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  40. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js +1 -1
  41. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js.map +1 -1
  42. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js +2 -0
  43. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -0
  44. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  45. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  46. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  47. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  48. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  49. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  50. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  51. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  52. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  53. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  54. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  55. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  56. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  57. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  58. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  59. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  60. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  61. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  62. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  63. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  64. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  65. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  66. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  67. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  68. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  69. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  70. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  71. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  72. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  73. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  74. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  75. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  76. package/cjs-bundle/components/FeedItem/components/FeedComments.js +1 -1
  77. package/cjs-bundle/components/FeedItem/components/FeedComments.js.map +1 -1
  78. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  79. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  80. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  81. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  82. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  83. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  84. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  85. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  86. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  87. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  88. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  89. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  90. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  91. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  92. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  93. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  94. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  95. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  96. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  97. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  98. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  99. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  100. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  101. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  102. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  103. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  104. package/cjs-bundle/components/Popover/Popover.js +1 -1
  105. package/cjs-bundle/components/Popover/Popover.js.map +1 -1
  106. package/cjs-bundle/components/Popper/Popper.js +1 -1
  107. package/cjs-bundle/components/Popper/Popper.js.map +1 -1
  108. package/cjs-bundle/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  109. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  110. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  111. package/components/AddComment/Popover.js +1 -1
  112. package/components/AddComment/Popover.js.map +1 -1
  113. package/components/AddComment/components/Content.js +1 -1
  114. package/components/AddComment/components/Content.js.map +1 -1
  115. package/components/BICOffsetPickerDialog/index.js +1 -1
  116. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  117. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  118. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  119. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  120. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  121. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  122. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  123. package/components/CollapsableSidebar.js +1 -1
  124. package/components/CollapsableSidebar.js.map +1 -1
  125. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts +63 -39
  126. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
  127. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  128. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  129. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton.d.ts +5 -0
  130. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton.d.ts.map +1 -0
  131. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton.js.map +1 -0
  132. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.d.ts +5 -4
  133. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.d.ts.map +1 -1
  134. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js +1 -1
  135. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js.map +1 -1
  136. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts +1 -1
  137. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  138. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  139. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.d.ts.map +1 -1
  140. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  141. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts +1 -1
  142. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts.map +1 -1
  143. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  144. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  145. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.d.ts +6 -4
  146. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.d.ts.map +1 -1
  147. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js +1 -1
  148. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js.map +1 -1
  149. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts +29 -0
  150. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts.map +1 -0
  151. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js +2 -0
  152. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -0
  153. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +1 -1
  154. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
  155. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  156. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.d.ts +28 -0
  157. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.d.ts.map +1 -0
  158. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +2 -0
  159. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -0
  160. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts +1 -1
  161. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts.map +1 -1
  162. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +1 -1
  163. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.d.ts +9 -0
  164. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.d.ts.map +1 -0
  165. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +2 -0
  166. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -0
  167. package/components/DevCenter/DevCenterAppContainer/components/index.d.ts +4 -2
  168. package/components/DevCenter/DevCenterAppContainer/components/index.d.ts.map +1 -1
  169. package/components/DevCenter/DevCenterAppContainer/constants.d.ts +13 -0
  170. package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -0
  171. package/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  172. package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  173. package/components/DevCenter/DevCenterAppContainer/effects/index.d.ts +2 -1
  174. package/components/DevCenter/DevCenterAppContainer/effects/index.d.ts.map +1 -1
  175. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.d.ts.map +1 -1
  176. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js +1 -1
  177. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js.map +1 -1
  178. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.d.ts.map +1 -1
  179. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  180. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  181. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.d.ts +6 -4
  182. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.d.ts.map +1 -1
  183. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js +1 -1
  184. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js.map +1 -1
  185. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts +71 -0
  186. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts.map +1 -0
  187. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js +2 -0
  188. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -0
  189. package/components/DevCenter/DevCenterAppContainer/index.d.ts +2 -0
  190. package/components/DevCenter/DevCenterAppContainer/index.d.ts.map +1 -1
  191. package/components/DevCenter/DevCenterAppContainer/types.d.ts +113 -0
  192. package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -0
  193. package/components/DocumentViewer/DocumentViewer.js +1 -1
  194. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  195. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  196. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  197. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  198. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  199. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  200. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  201. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  202. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  203. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  204. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  205. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  206. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  207. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  208. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  209. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  210. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  211. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  212. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  213. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  214. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  215. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  216. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  217. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  218. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  219. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  220. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  221. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  222. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  223. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  224. package/components/FeedItem/FeedItem.js +1 -1
  225. package/components/FeedItem/FeedItem.js.map +1 -1
  226. package/components/FeedItem/components/FeedComments.js +1 -1
  227. package/components/FeedItem/components/FeedComments.js.map +1 -1
  228. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  229. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  230. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  231. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  232. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  233. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  234. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  235. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  236. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  237. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  238. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  239. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  240. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  241. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  242. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  243. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  244. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  245. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  246. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  247. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  248. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  249. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  250. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  251. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  252. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  253. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  254. package/components/Popover/Popover.js +1 -1
  255. package/components/Popover/Popover.js.map +1 -1
  256. package/components/Popper/Popper.js +1 -1
  257. package/components/Popper/Popper.js.map +1 -1
  258. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts +2 -2
  259. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts.map +1 -1
  260. package/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  261. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  262. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  263. package/mcp-server/server.mjs +2 -2
  264. package/package.json +1 -1
  265. package/tsconfig.tsbuildinfo +1 -1
  266. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js.map +0 -1
  267. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +0 -2
  268. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +0 -1
  269. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.d.ts +0 -5
  270. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.d.ts.map +0 -1
  271. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js.map +0 -1
  272. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/index.d.ts +0 -2
  273. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/index.d.ts.map +0 -1
  274. package/components/DevCenter/DevCenterAppContainer/components/AppActions/index.d.ts +0 -2
  275. package/components/DevCenter/DevCenterAppContainer/components/AppActions/index.d.ts.map +0 -1
  276. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.d.ts +0 -6
  277. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.d.ts.map +0 -1
  278. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +0 -2
  279. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +0 -1
  280. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/index.d.ts +0 -2
  281. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/index.d.ts.map +0 -1
  282. /package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/{AnnotationsButton/AnnotationsButton.js → AnnotationsButton.js} +0 -0
  283. /package/components/DevCenter/DevCenterAppContainer/components/{AnnotationsButton/AnnotationsButton.js → AnnotationsButton.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { bool, func, shape, string } from 'prop-types';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = appId => `/app-store/app/${appId}`;\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor);\n\nconst AppSettingsErrorView = () => null;\n\nfunction AppSettingsDialog({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) {\n const hasSegmentSelector = app?.segment?.length > 1;\n const [appSegmentSetting, setAppSegmentSetting] = useState(getAppSegment(app));\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = SEGMENT_TO_ASSET_TYPE[appSegmentSetting];\n const isAssetPage = layoutEnvironment && layoutEnvironment.type === 'asset';\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && onAppRemove;\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef(rigId);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n const [appSettings, setAppSettings] = useState(() => ({\n ...cloneDeep(app.settings),\n package: app.settings.package || app?.package?.version,\n }));\n\n const handleChangeAppSegment = ({ target: { value: nextSegment } }) => {\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const [validationError, setValidationError] = useState('');\n const platformAppSettingsRef = useRef(null);\n const customAppSettingsRef = useRef(null);\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n\n const onSave = () => {\n const isNoPackageError = !appSettings.package && !isCLIApp;\n if (isNoPackageError) return setValidationError('Please select app version');\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset.assetType.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset.assetType.label;\n if (appTypeKey && !appSettings[appTypeKey])\n return setValidationError(`Please select ${appTypeLabel}`);\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n return toggleAppSettingsDialog();\n };\n\n const onAppSettingChange = (name, value) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const onAppSettingsChange = newSettings =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : AssetEditor;\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={onSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <DisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {app.segment.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : app.app.app_key}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={+appData?.well?.id}\n isHiddenMultipleAssetsToggle\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={onAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={appSettings.package}\n onChange={(value, appPackage, isUserChange) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host\n // opts the app out of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? onAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : onAppSettingChange('package', value)\n }\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={onAppSettingChange}\n onSettingsChange={onAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n}\n\nAppSettingsDialog.propTypes = {\n AppSettingsComponent: func,\n app: shape({}).isRequired,\n appData: shape({}).isRequired,\n appName: string.isRequired,\n currentUser: shape({}).isRequired,\n disableAppAssetSelection: bool,\n isMultiRig: bool.isRequired,\n isSettingsDialogHidden: bool,\n layoutEnvironment: shape({}).isRequired,\n onAppRemove: func,\n onCloneDashboard: func,\n onSettingsChange: func.isRequired,\n toggleAppSettingsDialog: func.isRequired,\n};\n\nconst DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT = () => null;\nconst DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD = noop;\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","AppSettingsErrorView","AppSettingsDialog","_ref","_app$segment","_app$app","_platformAppSettingsR","_customAppSettingsRef","_app$app2","_app$app2$icon","_appData$well","_ref$AppSettingsCompo","AppSettingsComponent","DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","hasSegmentSelector","segment","length","_useState","useState","getAppSegment","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","isCompletionSegment","SEGMENTS","COMPLETION","assetEditorAppType","SEGMENT_TO_ASSET_TYPE","isAssetPage","type","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","defaultRigId","useRef","useEffect","_useState7","_app$package","_objectSpread","cloneDeep","settings","package","version","_useState8","appSettings","setAppSettings","isSustainabilityApp","getIsSustainabilityApp","_useState10","_useState9","validationError","setValidationError","platformAppSettingsRef","customAppSettingsRef","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","styles","useStyles","isCompletionApp","isCLIApp","DEV_CENTER_CLI_APP_ID","onAppSettingChange","name","value","prevSettings","_defineProperty","onAppSettingsChange","newSettings","AssetEditorComponent","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","DisabledSettingsMessage","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","_ref2","nextSegment","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appKey","app_key","appType","defaultValue","secondaryDefaultValue","well","isHiddenMultipleAssetsToggle","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange","propTypes","func","shape","isRequired","string","bool","noop"],"mappings":"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"}
1
+ {"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { bool, func, shape, string } from 'prop-types';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = appId => `/app-store/app/${appId}`;\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor);\n\nconst AppSettingsErrorView = () => null;\n\nfunction AppSettingsDialog({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) {\n const hasSegmentSelector = app?.segment?.length > 1;\n const [appSegmentSetting, setAppSegmentSetting] = useState(getAppSegment(app));\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = SEGMENT_TO_ASSET_TYPE[appSegmentSetting];\n const isAssetPage = layoutEnvironment && layoutEnvironment.type === 'asset';\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && onAppRemove;\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef(rigId);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n const [appSettings, setAppSettings] = useState(() => ({\n ...cloneDeep(app.settings),\n package: app.settings.package || app?.package?.version,\n }));\n\n const handleChangeAppSegment = ({ target: { value: nextSegment } }) => {\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const [validationError, setValidationError] = useState('');\n const platformAppSettingsRef = useRef(null);\n const customAppSettingsRef = useRef(null);\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n\n const onSave = () => {\n const isNoPackageError = !appSettings.package && !isCLIApp;\n if (isNoPackageError) return setValidationError('Please select app version');\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset.assetType.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset.assetType.label;\n if (appTypeKey && !appSettings[appTypeKey])\n return setValidationError(`Please select ${appTypeLabel}`);\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n return toggleAppSettingsDialog();\n };\n\n const onAppSettingChange = (name, value) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const onAppSettingsChange = newSettings =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : AssetEditor;\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={onSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <DisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {app.segment.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : app.app.app_key}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={+appData?.well?.id}\n isHiddenMultipleAssetsToggle\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={onAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={appSettings.package}\n onChange={(value, appPackage, isUserChange) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host\n // opts the app out of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? onAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : onAppSettingChange('package', value)\n }\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={onAppSettingChange}\n onSettingsChange={onAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n}\n\nAppSettingsDialog.propTypes = {\n AppSettingsComponent: func,\n app: shape({}).isRequired,\n appData: shape({}).isRequired,\n appName: string.isRequired,\n currentUser: shape({}).isRequired,\n disableAppAssetSelection: bool,\n isMultiRig: bool.isRequired,\n isSettingsDialogHidden: bool,\n layoutEnvironment: shape({}),\n onAppRemove: func,\n onCloneDashboard: func,\n onSettingsChange: func.isRequired,\n toggleAppSettingsDialog: func.isRequired,\n};\n\nconst DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT = () => null;\nconst DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD = noop;\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","AppSettingsErrorView","AppSettingsDialog","_ref","_app$segment","_app$app","_platformAppSettingsR","_customAppSettingsRef","_app$app2","_app$app2$icon","_appData$well","_ref$AppSettingsCompo","AppSettingsComponent","DEFAULT_APP_SETTINGS_DIALOG_APP_SETTINGS_COMPONENT","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","DEFAULT_APP_SETTINGS_DIALOG_ON_CLONE_DASHBOARD","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","hasSegmentSelector","segment","length","_useState","useState","getAppSegment","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","isCompletionSegment","SEGMENTS","COMPLETION","assetEditorAppType","SEGMENT_TO_ASSET_TYPE","isAssetPage","type","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","defaultRigId","useRef","useEffect","_useState7","_app$package","_objectSpread","cloneDeep","settings","package","version","_useState8","appSettings","setAppSettings","isSustainabilityApp","getIsSustainabilityApp","_useState10","_useState9","validationError","setValidationError","platformAppSettingsRef","customAppSettingsRef","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","styles","useStyles","isCompletionApp","isCLIApp","DEV_CENTER_CLI_APP_ID","onAppSettingChange","name","value","prevSettings","_defineProperty","onAppSettingsChange","newSettings","AssetEditorComponent","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","DisabledSettingsMessage","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","_ref2","nextSegment","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appKey","app_key","appType","defaultValue","secondaryDefaultValue","well","isHiddenMultipleAssetsToggle","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange","propTypes","func","shape","isRequired","string","bool","noop"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommentsSwitchButton.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AASxC,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAuB9D,CAAC"}
1
+ {"version":3,"file":"CommentsSwitchButton.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AASxC,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA2B9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommentsSwitchButton.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.tsx"],"sourcesContent":["import { FC, useCallback } from 'react';\n\nimport { useAppCommentsMode, useSetAppCommentsMode } from './CommentsSwitchContext';\n\nimport styles from './CommentsSwitchButton.scss';\n\nimport { Avatar, BadgeComment, ButtonIcon, Tooltip } from '~/componentsV2';\nimport { CloseIcon } from '~/icons';\n\nexport type CommentsSwitchButtonProps = {\n currentUser?: {\n first_name?: string;\n last_name?: string;\n profile_photo?: string | null;\n };\n};\n\nexport const CommentsSwitchButton: FC<CommentsSwitchButtonProps> = ({ currentUser }) => {\n const {\n first_name: firstName,\n last_name: lastName,\n profile_photo: profilePhoto,\n } = currentUser || {};\n const commentsEnabled = useAppCommentsMode();\n const setCommentsEnabled = useSetAppCommentsMode();\n const onClick = useCallback(() => setCommentsEnabled(value => !value), [setCommentsEnabled]);\n\n return (\n <Tooltip title={commentsEnabled ? 'Cancel' : 'Add Comment'} placement=\"top\">\n <ButtonIcon size=\"small\" type=\"secondaryBg\" onClick={onClick}>\n {commentsEnabled ? (\n <CloseIcon />\n ) : (\n <BadgeComment className={styles.avatar}>\n <Avatar size={24} name={`${firstName} ${lastName}`} imageSrc={profilePhoto ?? undefined} />\n </BadgeComment>\n )}\n </ButtonIcon>\n </Tooltip>\n );\n};\n"],"names":["CommentsSwitchButton","_ref","currentUser","firstName","first_name","lastName","last_name","profilePhoto","profile_photo","commentsEnabled","useAppCommentsMode","setCommentsEnabled","useSetAppCommentsMode","onClick","useCallback","value","_jsx","Tooltip","title","placement","children","ButtonIcon","size","type","CloseIcon","BadgeComment","className","styles","avatar","Avatar","name","imageSrc","undefined"],"mappings":"sgfAiBaA,IAAAA,EAAsD,SAAqBC,GAAA,IAKlFC,IALgEA,aAKjD,CAAE,EAHPC,IAAZC,WACWC,IAAXC,UACeC,IAAfC,cAEIC,EAAkBC,IAClBC,EAAqBC,IACrBC,EAAUC,GAAY,WAAA,OAAMH,GAAmB,SAAAI,GAAK,OAAKA,OAAQ,CAACJ,IAExE,OACEK,EAACC,EAAO,CAACC,MAAOT,EAAkB,SAAW,cAAeU,UAAU,MAAKC,SACzEJ,EAACK,EAAU,CAACC,KAAK,QAAQC,KAAK,cAAcV,QAASA,EAAQO,SAC1DX,EACCO,EAACQ,EAAY,CAAA,GAEbR,EAACS,EAAY,CAACC,UAAWC,EAAOC,OAAOR,SACrCJ,EAACa,EAAM,CAACP,KAAM,GAAIQ,KAAS3B,GAAAA,OAAAA,EAAaE,KAAAA,OAAAA,GAAY0B,SAAUxB,QAAAA,OAAgByB,SAM1F"}
1
+ {"version":3,"file":"CommentsSwitchButton.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.tsx"],"sourcesContent":["import { FC, useCallback } from 'react';\n\nimport { useAppCommentsMode, useSetAppCommentsMode } from './CommentsSwitchContext';\n\nimport styles from './CommentsSwitchButton.scss';\n\nimport { Avatar, BadgeComment, ButtonIcon, Tooltip } from '~/componentsV2';\nimport { CloseIcon } from '~/icons';\n\nexport type CommentsSwitchButtonProps = {\n currentUser?: {\n first_name?: string;\n last_name?: string;\n profile_photo?: string | null;\n };\n};\n\nexport const CommentsSwitchButton: FC<CommentsSwitchButtonProps> = ({ currentUser }) => {\n const {\n first_name: firstName,\n last_name: lastName,\n profile_photo: profilePhoto,\n } = currentUser || {};\n const commentsEnabled = useAppCommentsMode();\n const setCommentsEnabled = useSetAppCommentsMode();\n const onClick = useCallback(() => setCommentsEnabled(value => !value), [setCommentsEnabled]);\n\n return (\n <Tooltip title={commentsEnabled ? 'Cancel' : 'Add Comment'} placement=\"top\">\n <ButtonIcon size=\"small\" type=\"secondaryBg\" onClick={onClick}>\n {commentsEnabled ? (\n <CloseIcon />\n ) : (\n <BadgeComment className={styles.avatar}>\n <Avatar\n size={24}\n name={`${firstName} ${lastName}`}\n imageSrc={profilePhoto ?? undefined}\n />\n </BadgeComment>\n )}\n </ButtonIcon>\n </Tooltip>\n );\n};\n"],"names":["CommentsSwitchButton","_ref","currentUser","firstName","first_name","lastName","last_name","profilePhoto","profile_photo","commentsEnabled","useAppCommentsMode","setCommentsEnabled","useSetAppCommentsMode","onClick","useCallback","value","_jsx","Tooltip","title","placement","children","ButtonIcon","size","type","CloseIcon","BadgeComment","className","styles","avatar","Avatar","name","imageSrc","undefined"],"mappings":"sgfAiBaA,IAAAA,EAAsD,SAAqBC,GAAA,IAKlFC,IALgEA,aAKjD,CAAE,EAHPC,IAAZC,WACWC,IAAXC,UACeC,IAAfC,cAEIC,EAAkBC,IAClBC,EAAqBC,IACrBC,EAAUC,GAAY,WAAA,OAAMH,GAAmB,SAAAI,GAAK,OAAKA,OAAQ,CAACJ,IAExE,OACEK,EAACC,EAAO,CAACC,MAAOT,EAAkB,SAAW,cAAeU,UAAU,MAAKC,SACzEJ,EAACK,EAAU,CAACC,KAAK,QAAQC,KAAK,cAAcV,QAASA,EAAQO,SAC1DX,EACCO,EAACQ,EAAY,CAAA,GAEbR,EAACS,EAAY,CAACC,UAAWC,EAAOC,OAAOR,SACrCJ,EAACa,EAAM,CACLP,KAAM,GACNQ,KAAS3B,GAAAA,OAAAA,EAAaE,KAAAA,OAAAA,GACtB0B,SAAUxB,QAAAA,OAAgByB,SAOxC"}
@@ -1,6 +1,6 @@
1
1
  import { Dispatch, FC, ReactNode, SetStateAction } from 'react';
2
2
  interface Props {
3
- setIsFullscreenModalMode: (arg: SetStateAction<boolean>, isModal?: boolean) => void;
3
+ setIsFullscreenModalMode: (value: boolean, isModal?: boolean) => void | Promise<void>;
4
4
  children: ReactNode | ReactNode[];
5
5
  }
6
6
  interface ElementInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,EAAE,EACF,SAAS,EACT,cAAc,EAIf,MAAM,OAAO,CAAC;AASf,UAAU,KAAK;IACb,wBAAwB,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpF,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACnC;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,GAAG;IACX,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AAgBD;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,oCAAoC,EAAE,EAAE,CAAC,KAAK,CAkI1D,CAAC;AAEF,wBAAgB,+BAA+B,eAE9C"}
1
+ {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,EAAE,EACF,SAAS,EACT,cAAc,EAIf,MAAM,OAAO,CAAC;AASf,UAAU,KAAK;IACb,wBAAwB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACnC;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,GAAG;IACX,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAClE;AA6BD;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,oCAAoC,EAAE,EAAE,CAAC,KAAK,CA8H1D,CAAC;AAEF,wBAAgB,+BAA+B,eAE9C"}
@@ -1,2 +1,2 @@
1
- import n from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/regenerator";import{createContext as e,useRef as t,useMemo as u,useContext as c}from"react";import{jsx as i}from"react/jsx-runtime";var o;!function(n){n.CLOSED="CLOSED",n.OPENNING="OPENNING",n.OPENED="OPENED",n.CLOSING="CLOSING"}(o||(o={}));var a=e(null),s=function(e){var c=e.setIsFullscreenModalMode,s=e.children,l={name:o.CLOSED,currentElementInfo:null},f=t({}),m=function(){return Object.keys(f.current).some((function(n){var r=f.current[n].name;return r===o.OPENNING||r===o.OPENED}))},p=u((function(){function e(n){return t.apply(this,arguments)}function t(){return(t=n(r.mark((function n(e){var t,u;return r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.transitionFn,u=e.plannedAfterTransitionFinishCb,n.prev=1,n.next=4,t();case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),console.error("Transition error: ",n.t0);case 9:u();case 10:case"end":return n.stop()}}),n,null,[[1,6]])})))).apply(this,arguments)}function u(n){var r=n.id;f.current[r]={name:o.OPENED,currentElementInfo:n},f.current[r].currentElementInfo.setIsOpened(!0)}function i(n,r){var t=n.id;f.current[t]={name:o.OPENNING,currentElementInfo:null},e({transitionFn:function(){return c(!0,r)},plannedAfterTransitionFinishCb:function(){u(n)}})}function a(t){var u;f.current[t].name=o.CLOSING,e({transitionFn:(u=n(r.mark((function n(){var e;return r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:null===(e=f.current[t].currentElementInfo)||void 0===e||e.setIsOpened(!1),f.current[t].currentElementInfo=null,m()||c(!1);case 3:case"end":return n.stop()}}),n)}))),function(){return u.apply(this,arguments)}),plannedAfterTransitionFinishCb:function(){f.current[t]&&(f.current[t].name=o.CLOSED)}})}return{requestOpen:function(n){var r,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=n.id;switch(null!==(r=f.current)&&void 0!==r&&r[t]||(f.current[t]=l),f.current[n.id].name){case o.CLOSED:i(n,e);break;case o.OPENNING:case o.OPENED:u(n);break;case o.CLOSING:i(n,e)}},requestClose:function(n){var r,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=n.id;if(null!==(r=f.current)&&void 0!==r&&r[t]||(f.current[t]=l),e)return delete f.current[t],void(m()||c(!1));a(t)}}}),[c]);return i(a.Provider,{value:p,children:s})};function l(){return c(a)}export{s as DcFullscreenElemsCoordinatorProvider,l as useDcFullscreenElemsCoordinator};
1
+ import n from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/regenerator";import{createContext as e,useRef as t,useMemo as u,useContext as c}from"react";import{jsx as i}from"react/jsx-runtime";var o;!function(n){n.CLOSED="CLOSED",n.OPENNING="OPENNING",n.OPENED="OPENED",n.CLOSING="CLOSING"}(o||(o={}));var a=function(){return{name:o.CLOSED,currentElementInfo:null}},s=e(null),l=function(e){var c=e.setIsFullscreenModalMode,l=e.children,f=t({}),m=function(){return Object.keys(f.current).some((function(n){var r=f.current[n].name;return r===o.OPENNING||r===o.OPENED}))},p=u((function(){function e(n){return t.apply(this,arguments)}function t(){return(t=n(r.mark((function n(e){var t,u;return r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.transitionFn,u=e.plannedAfterTransitionFinishCb,n.prev=1,n.next=4,t();case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),console.error("Transition error: ",n.t0);case 9:u();case 10:case"end":return n.stop()}}),n,null,[[1,6]])})))).apply(this,arguments)}function u(n){var r=n.id;f.current[r]={name:o.OPENED,currentElementInfo:n},f.current[r].currentElementInfo.setIsOpened(!0)}function i(n,r){var t=n.id;f.current[t]={name:o.OPENNING,currentElementInfo:null},e({transitionFn:function(){return c(!0,r)},plannedAfterTransitionFinishCb:function(){u(n)}})}function s(t){var u;f.current[t].name=o.CLOSING,e({transitionFn:(u=n(r.mark((function n(){var e;return r.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:null===(e=f.current[t].currentElementInfo)||void 0===e||e.setIsOpened(!1),f.current[t].currentElementInfo=null,m()||c(!1);case 3:case"end":return n.stop()}}),n)}))),function(){return u.apply(this,arguments)}),plannedAfterTransitionFinishCb:function(){f.current[t]&&(f.current[t].name=o.CLOSED)}})}return{requestOpen:function(n){var r,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=n.id;switch(null!==(r=f.current)&&void 0!==r&&r[t]||(f.current[t]=a()),f.current[n.id].name){case o.CLOSED:i(n,e);break;case o.OPENNING:case o.OPENED:u(n);break;case o.CLOSING:i(n,e)}},requestClose:function(n){var r,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=n.id;if(null!==(r=f.current)&&void 0!==r&&r[t]||(f.current[t]=a()),e)return delete f.current[t],void(m()||c(!1));s(t)}}}),[c]);return i(s.Provider,{value:p,children:l})};function f(){return c(s)}export{l as DcFullscreenElemsCoordinatorProvider,f as useDcFullscreenElemsCoordinator};
2
2
  //# sourceMappingURL=DcFullscreenElemsCoordinatorProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"sourcesContent":["import {\n createContext,\n Dispatch,\n FC,\n ReactNode,\n SetStateAction,\n useContext,\n useMemo,\n useRef,\n} from 'react';\n\nenum STATES {\n CLOSED = 'CLOSED',\n OPENNING = 'OPENNING',\n OPENED = 'OPENED',\n CLOSING = 'CLOSING',\n}\n\ninterface Props {\n setIsFullscreenModalMode: (arg: SetStateAction<boolean>, isModal?: boolean) => void;\n children: ReactNode | ReactNode[];\n}\n\ninterface ElementInfo {\n setIsOpened: Dispatch<SetStateAction<boolean>>;\n id: string;\n}\n\ninterface Api {\n requestOpen: (elInfo: ElementInfo, isModal?: boolean) => void;\n requestClose: (elInfo: ElementInfo, isUnmount?: boolean) => void;\n}\n\ninterface StartTransitionProps {\n transitionFn: () => void;\n plannedAfterTransitionFinishCb: () => void;\n}\n\ntype State = {\n [id in string]: {\n name: STATES;\n currentElementInfo: null | ElementInfo;\n };\n};\n\nconst DcFullscreenElemsCoordinator = createContext<Api | null>(null);\n\n/**\n * Component designed to manage fullscreen elements inside of iframe(such as tooltips, popovers, modals).\n * State changes flow:\n *\n * ↓closed↓\n * ↓openning↓\n * {call transitionFn} stretches iframe to fullscreen(returns promise).\n * {call plannedAfterTransitionFinishCb} just open planned element by default.\n * ↓opened↓\n * ↓closing transition↓\n * {call transitionFn} shrinks iframe to app size. In some cases another element could be opened. We don't want to call transitionFn in this case\n * {call plannedAfterTransitionFinishCb} just go to closed state of element.\n *\n * At any of these states a element can request to open\\close itself. See requestOpen/requestClose for more details\n */\n\nexport const DcFullscreenElemsCoordinatorProvider: FC<Props> = ({\n setIsFullscreenModalMode,\n children,\n}) => {\n const initialElementState: { name: STATES; currentElementInfo: ElementInfo | null } = {\n name: STATES.CLOSED,\n currentElementInfo: null,\n };\n const state = useRef<State>({});\n\n const getIsSomeElemOpeningOrOpened = () => {\n return Object.keys(state.current).some(elemId => {\n const elemState = state.current[elemId].name;\n return elemState === STATES.OPENNING || elemState === STATES.OPENED;\n });\n };\n\n const api = useMemo(() => {\n async function startTransition({\n transitionFn,\n plannedAfterTransitionFinishCb,\n }: StartTransitionProps) {\n try {\n await transitionFn();\n } catch (err) {\n console.error('Transition error: ', err);\n }\n plannedAfterTransitionFinishCb();\n }\n\n function goToOpenedState(elementInfo: ElementInfo) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENED,\n currentElementInfo: elementInfo,\n };\n state.current[id].currentElementInfo!.setIsOpened(true);\n }\n\n function goToOpenningState(elementInfo: ElementInfo, isModal: boolean) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENNING,\n currentElementInfo: null,\n };\n\n startTransition({\n transitionFn: () => setIsFullscreenModalMode(true, isModal),\n plannedAfterTransitionFinishCb: () => {\n goToOpenedState(elementInfo);\n },\n });\n }\n\n function goToClosingState(id: string) {\n state.current[id].name = STATES.CLOSING;\n\n startTransition({\n // current element is in closing state, so if any other is opening or opened\n // then don't change full screen mode to avoid shrinking of opened element\n transitionFn: async () => {\n state.current[id].currentElementInfo?.setIsOpened(false);\n state.current[id].currentElementInfo = null;\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n },\n plannedAfterTransitionFinishCb: () => {\n // element may be unmounted before this callback runs\n if (state.current[id]) {\n state.current[id].name = STATES.CLOSED;\n }\n },\n });\n }\n\n const requestOpen = (elementInfo: ElementInfo, isModal: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = initialElementState;\n }\n\n switch (state.current[elementInfo.id].name) {\n case STATES.CLOSED:\n goToOpenningState(elementInfo, isModal);\n break;\n case STATES.OPENNING:\n goToOpenedState(elementInfo);\n break;\n case STATES.OPENED:\n goToOpenedState(elementInfo);\n break;\n case STATES.CLOSING:\n goToOpenningState(elementInfo, isModal);\n break;\n default:\n }\n };\n\n const requestClose = (elementInfo: ElementInfo, isUnmount: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = initialElementState;\n }\n\n if (isUnmount) {\n delete state.current[id];\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n\n return;\n }\n\n goToClosingState(id);\n };\n\n return {\n requestOpen,\n requestClose,\n };\n }, [setIsFullscreenModalMode]);\n\n return (\n <DcFullscreenElemsCoordinator.Provider value={api}>\n {children}\n </DcFullscreenElemsCoordinator.Provider>\n );\n};\n\nexport function useDcFullscreenElemsCoordinator() {\n return useContext(DcFullscreenElemsCoordinator);\n}\n"],"names":["STATES","DcFullscreenElemsCoordinator","createContext","DcFullscreenElemsCoordinatorProvider","_ref","setIsFullscreenModalMode","children","initialElementState","name","CLOSED","currentElementInfo","state","useRef","getIsSomeElemOpeningOrOpened","Object","keys","current","some","elemId","elemState","OPENNING","OPENED","api","useMemo","startTransition","_x","_startTransition","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_ref2","transitionFn","plannedAfterTransitionFinishCb","wrap","_context2","prev","next","t0","console","error","stop","goToOpenedState","elementInfo","id","setIsOpened","goToOpenningState","isModal","goToClosingState","_transitionFn","CLOSING","_callee","_state$current$id$cur","_context","requestOpen","_state$current","requestClose","_state$current2","isUnmount","_jsx","Provider","value","useDcFullscreenElemsCoordinator","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"sourcesContent":["import {\n createContext,\n Dispatch,\n FC,\n ReactNode,\n SetStateAction,\n useContext,\n useMemo,\n useRef,\n} from 'react';\n\nenum STATES {\n CLOSED = 'CLOSED',\n OPENNING = 'OPENNING',\n OPENED = 'OPENED',\n CLOSING = 'CLOSING',\n}\n\ninterface Props {\n setIsFullscreenModalMode: (value: boolean, isModal?: boolean) => void | Promise<void>;\n children: ReactNode | ReactNode[];\n}\n\ninterface ElementInfo {\n setIsOpened: Dispatch<SetStateAction<boolean>>;\n id: string;\n}\n\ninterface Api {\n requestOpen: (elInfo: ElementInfo, isModal?: boolean) => void;\n requestClose: (elInfo: ElementInfo, isUnmount?: boolean) => void;\n}\n\ninterface StartTransitionProps {\n transitionFn: () => void;\n plannedAfterTransitionFinishCb: () => void;\n}\n\ntype ElementState = {\n name: STATES;\n currentElementInfo: null | ElementInfo;\n};\n\ntype State = {\n [id in string]: ElementState;\n};\n\n/**\n * A factory, not a shared constant. Element states are mutated in place — `goToClosingState`\n * writes `name` and `currentElementInfo` straight into the entry — so seeding two elements from\n * one object would make them share it: closing one would leave the next to start in `CLOSING`\n * instead of `CLOSED`, and its `requestOpen` would then never reach the branch that opens it.\n */\nconst createInitialElementState = (): ElementState => ({\n name: STATES.CLOSED,\n currentElementInfo: null,\n});\n\nconst DcFullscreenElemsCoordinator = createContext<Api | null>(null);\n\n/**\n * Component designed to manage fullscreen elements inside of iframe(such as tooltips, popovers, modals).\n * State changes flow:\n *\n * ↓closed↓\n * ↓openning↓\n * {call transitionFn} stretches iframe to fullscreen(returns promise).\n * {call plannedAfterTransitionFinishCb} just open planned element by default.\n * ↓opened↓\n * ↓closing transition↓\n * {call transitionFn} shrinks iframe to app size. In some cases another element could be opened. We don't want to call transitionFn in this case\n * {call plannedAfterTransitionFinishCb} just go to closed state of element.\n *\n * At any of these states a element can request to open\\close itself. See requestOpen/requestClose for more details\n */\n\nexport const DcFullscreenElemsCoordinatorProvider: FC<Props> = ({\n setIsFullscreenModalMode,\n children,\n}) => {\n const state = useRef<State>({});\n\n const getIsSomeElemOpeningOrOpened = () => {\n return Object.keys(state.current).some(elemId => {\n const elemState = state.current[elemId].name;\n return elemState === STATES.OPENNING || elemState === STATES.OPENED;\n });\n };\n\n const api = useMemo(() => {\n async function startTransition({\n transitionFn,\n plannedAfterTransitionFinishCb,\n }: StartTransitionProps) {\n try {\n await transitionFn();\n } catch (err) {\n console.error('Transition error: ', err);\n }\n plannedAfterTransitionFinishCb();\n }\n\n function goToOpenedState(elementInfo: ElementInfo) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENED,\n currentElementInfo: elementInfo,\n };\n state.current[id].currentElementInfo!.setIsOpened(true);\n }\n\n function goToOpenningState(elementInfo: ElementInfo, isModal: boolean) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENNING,\n currentElementInfo: null,\n };\n\n startTransition({\n transitionFn: () => setIsFullscreenModalMode(true, isModal),\n plannedAfterTransitionFinishCb: () => {\n goToOpenedState(elementInfo);\n },\n });\n }\n\n function goToClosingState(id: string) {\n state.current[id].name = STATES.CLOSING;\n\n startTransition({\n // current element is in closing state, so if any other is opening or opened\n // then don't change full screen mode to avoid shrinking of opened element\n transitionFn: async () => {\n state.current[id].currentElementInfo?.setIsOpened(false);\n state.current[id].currentElementInfo = null;\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n },\n plannedAfterTransitionFinishCb: () => {\n // element may be unmounted before this callback runs\n if (state.current[id]) {\n state.current[id].name = STATES.CLOSED;\n }\n },\n });\n }\n\n const requestOpen = (elementInfo: ElementInfo, isModal: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = createInitialElementState();\n }\n\n switch (state.current[elementInfo.id].name) {\n case STATES.CLOSED:\n goToOpenningState(elementInfo, isModal);\n break;\n case STATES.OPENNING:\n goToOpenedState(elementInfo);\n break;\n case STATES.OPENED:\n goToOpenedState(elementInfo);\n break;\n case STATES.CLOSING:\n goToOpenningState(elementInfo, isModal);\n break;\n default:\n }\n };\n\n const requestClose = (elementInfo: ElementInfo, isUnmount: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = createInitialElementState();\n }\n\n if (isUnmount) {\n delete state.current[id];\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n\n return;\n }\n\n goToClosingState(id);\n };\n\n return {\n requestOpen,\n requestClose,\n };\n }, [setIsFullscreenModalMode]);\n\n return (\n <DcFullscreenElemsCoordinator.Provider value={api}>\n {children}\n </DcFullscreenElemsCoordinator.Provider>\n );\n};\n\nexport function useDcFullscreenElemsCoordinator() {\n return useContext(DcFullscreenElemsCoordinator);\n}\n"],"names":["STATES","createInitialElementState","name","CLOSED","currentElementInfo","DcFullscreenElemsCoordinator","createContext","DcFullscreenElemsCoordinatorProvider","_ref","setIsFullscreenModalMode","children","state","useRef","getIsSomeElemOpeningOrOpened","Object","keys","current","some","elemId","elemState","OPENNING","OPENED","api","useMemo","startTransition","_x","_startTransition","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_ref2","transitionFn","plannedAfterTransitionFinishCb","wrap","_context2","prev","next","t0","console","error","stop","goToOpenedState","elementInfo","id","setIsOpened","goToOpenningState","isModal","goToClosingState","_transitionFn","CLOSING","_callee","_state$current$id$cur","_context","requestOpen","_state$current","requestClose","_state$current2","isUnmount","_jsx","Provider","value","useDcFullscreenElemsCoordinator","useContext"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- export declare function IsInsideDcFullscreenElemProvider({ children }: {
2
- children: any;
3
- }): import("react").JSX.Element;
4
- export declare function useIsInsideDcFullscreenElem(): boolean;
1
+ import type { ReactNode } from 'react';
2
+ export type IsInsideDcFullscreenElemProviderProps = {
3
+ children: ReactNode;
4
+ };
5
+ export declare const IsInsideDcFullscreenElemProvider: ({ children, }: IsInsideDcFullscreenElemProviderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const useIsInsideDcFullscreenElem: () => boolean;
5
7
  //# sourceMappingURL=IsInsideDcFullscreenElemProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsInsideDcFullscreenElemProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"],"names":[],"mappings":"AAIA,wBAAgB,gCAAgC,CAAC,EAAE,QAAQ,EAAE;;CAAA,+BAM5D;AAED,wBAAgB,2BAA2B,YAE1C"}
1
+ {"version":3,"file":"IsInsideDcFullscreenElemProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gCAAgC,kBAE1C,qCAAqC,4CAIvC,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAoD,CAAC"}
@@ -1,2 +1,2 @@
1
- import{createContext as r,useContext as e}from"react";import{jsx as t}from"react/jsx-runtime";var n=r(!1);function i(r){var e=r.children;return t(n.Provider,{value:!0,children:e})}function o(){return e(n)}export{i as IsInsideDcFullscreenElemProvider,o as useIsInsideDcFullscreenElem};
1
+ import{createContext as r,useContext as e}from"react";import{jsx as t}from"react/jsx-runtime";var n=r(!1),i=function(r){var e=r.children;return t(n.Provider,{value:!0,children:e})},o=function(){return e(n)};export{i as IsInsideDcFullscreenElemProvider,o as useIsInsideDcFullscreenElem};
2
2
  //# sourceMappingURL=IsInsideDcFullscreenElemProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsInsideDcFullscreenElemProvider.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nconst IsInsideDcFullscreenElemContext = createContext(false);\n\nexport function IsInsideDcFullscreenElemProvider({ children }) {\n return (\n <IsInsideDcFullscreenElemContext.Provider value>\n {children}\n </IsInsideDcFullscreenElemContext.Provider>\n );\n}\n\nexport function useIsInsideDcFullscreenElem() {\n return useContext(IsInsideDcFullscreenElemContext);\n}\n"],"names":["IsInsideDcFullscreenElemContext","createContext","IsInsideDcFullscreenElemProvider","_ref","children","_jsx","Provider","value","useIsInsideDcFullscreenElem","useContext"],"mappings":"8FAEA,IAAMA,EAAkCC,GAAc,GAE/C,SAASC,EAA+CC,GAAA,IAAZC,IAAAA,SACjD,OACEC,EAACL,EAAgCM,SAAQ,CAACC,OAAK,EAAAH,SAC5CA,GAGP,CAEO,SAASI,IACd,OAAOC,EAAWT,EACpB"}
1
+ {"version":3,"file":"IsInsideDcFullscreenElemProvider.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { ReactNode } from 'react';\n\nconst IsInsideDcFullscreenElemContext = createContext(false);\n\nexport type IsInsideDcFullscreenElemProviderProps = {\n children: ReactNode;\n};\n\nexport const IsInsideDcFullscreenElemProvider = ({\n children,\n}: IsInsideDcFullscreenElemProviderProps) => (\n <IsInsideDcFullscreenElemContext.Provider value>\n {children}\n </IsInsideDcFullscreenElemContext.Provider>\n);\n\nexport const useIsInsideDcFullscreenElem = () => useContext(IsInsideDcFullscreenElemContext);\n"],"names":["IsInsideDcFullscreenElemContext","createContext","IsInsideDcFullscreenElemProvider","_ref","children","_jsx","Provider","value","useIsInsideDcFullscreenElem","useContext"],"mappings":"8FAGA,IAAMA,EAAkCC,GAAc,GAMzCC,EAAmC,SAAHC,GAAA,IAC3CC,IAAAA,SAAQ,OAERC,EAACL,EAAgCM,SAAQ,CAACC,OAAK,EAAAH,SAC5CA,GACwC,EAGhCI,EAA8B,WAAH,OAASC,EAAWT,EAAgC"}
@@ -0,0 +1,29 @@
1
+ import type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';
2
+ import type { DevCenterAppContainerProps } from '../DevCenterAppContainer';
3
+ export type DevCenterAppDialogsProps = {
4
+ app: DevCenterAppResource;
5
+ appData: AppDataEntry;
6
+ appName: string;
7
+ appSettingsComponent?: any;
8
+ assetCompanyId: number;
9
+ assetIdForAnnotation: number;
10
+ currentUser: DevCenterCurrentUser;
11
+ isAnnotationsListOpened: boolean;
12
+ isAppSettingsDialogOpened: boolean;
13
+ isMultiRig: boolean;
14
+ disableAppAssetSelection?: boolean;
15
+ isSettingsDialogHidden?: boolean;
16
+ layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];
17
+ onAppRemove?: () => void;
18
+ onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];
19
+ onSettingsChange: (value: unknown) => void;
20
+ openIntercom?: () => void;
21
+ toggleAnnotationsList: () => void;
22
+ toggleAppSettingsDialog: () => void;
23
+ };
24
+ /**
25
+ * The two overlays the container can open on top of a rendered app: its settings dialog and the
26
+ * annotations list. Both mount only while open, so their data hooks stay idle otherwise.
27
+ */
28
+ export declare const DevCenterAppDialogs: ({ app, appData, appName, appSettingsComponent, assetCompanyId, assetIdForAnnotation, currentUser, isAnnotationsListOpened, isAppSettingsDialogOpened, isMultiRig, disableAppAssetSelection, isSettingsDialogHidden, layoutEnvironment, onAppRemove, onCloneDashboard, onSettingsChange, openIntercom, toggleAnnotationsList, toggleAppSettingsDialog, }: DevCenterAppDialogsProps) => import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=DevCenterAppDialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevCenterAppDialogs.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAO3E,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,oBAAoB,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAClE,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,4VAoB7B,wBAAwB,4CAoC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import n from"./AppSettingsDialog/AppSettingsDialog.js";import"./AppSettingsDialog/components/RemoveAppButton.js";import"./AppSettingsDialog/components/SettingsAccordion.js";import t from"../../../Annotations/components/AnnotationsList/index.js";import"../../../Annotations/components/LastAnnotation/index.js";import{AnnotationsProvider as o}from"../../../Annotations/AnnotationsContext.js";import{jsxs as e,Fragment as i,jsx as p}from"react/jsx-runtime";var s=function(s){var a,r,g=s.app,l=s.appData,m=s.appName,d=s.appSettingsComponent,A=s.assetCompanyId,c=s.assetIdForAnnotation,S=s.currentUser,u=s.isAnnotationsListOpened,D=s.isAppSettingsDialogOpened,v=s.isMultiRig,C=s.disableAppAssetSelection,I=s.isSettingsDialogHidden,j=s.layoutEnvironment,h=s.onAppRemove,f=s.onCloneDashboard,x=s.onSettingsChange,R=s.openIntercom,b=s.toggleAnnotationsList,y=s.toggleAppSettingsDialog;return e(i,{children:[D&&p(n,{AppSettingsComponent:d,app:g,appData:l,appName:m,currentUser:S,disableAppAssetSelection:C,isMultiRig:v,isSettingsDialogHidden:I,layoutEnvironment:j,onAppRemove:h,onCloneDashboard:f,onSettingsChange:x,openIntercom:R,rigId:null!==(a=null===(r=l.rig)||void 0===r?void 0:r.id)&&void 0!==a?a:null,toggleAppSettingsDialog:y}),u&&p(o,{children:p(t,{appId:g.app.id,appSettings:g.settings,appTitle:m,assetCompanyId:A,assetId:c,currentUser:S,onClose:b})})]})};export{s as DevCenterAppDialogs};
2
+ //# sourceMappingURL=DevCenterAppDialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevCenterAppDialogs.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"sourcesContent":["import AppSettingsDialog from './AppSettingsDialog';\nimport type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport { AnnotationsList, AnnotationsProvider } from '~/components/Annotations';\n\n/* eslint-disable @typescript-eslint/no-explicit-any --\n Mirrors the open payload shapes documented in ../types.ts. */\n\nexport type DevCenterAppDialogsProps = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n appSettingsComponent?: any;\n assetCompanyId: number;\n assetIdForAnnotation: number;\n currentUser: DevCenterCurrentUser;\n isAnnotationsListOpened: boolean;\n isAppSettingsDialogOpened: boolean;\n isMultiRig: boolean;\n disableAppAssetSelection?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];\n onAppRemove?: () => void;\n onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];\n onSettingsChange: (value: unknown) => void;\n openIntercom?: () => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n};\n\n/**\n * The two overlays the container can open on top of a rendered app: its settings dialog and the\n * annotations list. Both mount only while open, so their data hooks stay idle otherwise.\n */\nexport const DevCenterAppDialogs = ({\n app,\n appData,\n appName,\n appSettingsComponent,\n assetCompanyId,\n assetIdForAnnotation,\n currentUser,\n isAnnotationsListOpened,\n isAppSettingsDialogOpened,\n isMultiRig,\n disableAppAssetSelection,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard,\n onSettingsChange,\n openIntercom,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n}: DevCenterAppDialogsProps) => (\n <>\n {isAppSettingsDialogOpened && (\n <AppSettingsDialog\n AppSettingsComponent={appSettingsComponent}\n app={app}\n appData={appData}\n appName={appName}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n rigId={appData.rig?.id ?? null}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n\n {isAnnotationsListOpened && (\n <AnnotationsProvider>\n <AnnotationsList\n appId={app.app.id}\n appSettings={app.settings}\n appTitle={appName}\n assetCompanyId={assetCompanyId}\n assetId={assetIdForAnnotation}\n currentUser={currentUser}\n onClose={toggleAnnotationsList}\n />\n </AnnotationsProvider>\n )}\n </>\n);\n"],"names":["DevCenterAppDialogs","_ref","_appData$rig$id","_appData$rig","app","appData","appName","appSettingsComponent","assetCompanyId","assetIdForAnnotation","currentUser","isAnnotationsListOpened","isAppSettingsDialogOpened","isMultiRig","disableAppAssetSelection","isSettingsDialogHidden","layoutEnvironment","onAppRemove","onCloneDashboard","onSettingsChange","openIntercom","toggleAnnotationsList","toggleAppSettingsDialog","_jsxs","_Fragment","children","_jsx","AppSettingsDialog","AppSettingsComponent","rigId","rig","id","AnnotationsProvider","AnnotationsList","appId","appSettings","settings","appTitle","assetId","onClose"],"mappings":"ucAmCaA,IAAAA,EAAsB,SAAHC,GAAA,IAAAC,EAAAC,EAC9BC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,eACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,wBACAC,IAAAA,0BACAC,IAAAA,WACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,kBACAC,IAAAA,YACAC,IAAAA,iBACAC,IAAAA,iBACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,wBAAuB,OAEvBC,EAAAC,EAAA,CAAAC,SACGb,CAAAA,GACCc,EAACC,EAAiB,CAChBC,qBAAsBrB,EACtBH,IAAKA,EACLC,QAASA,EACTC,QAASA,EACTI,YAAaA,EACbI,yBAA0BA,EAC1BD,WAAYA,EACZE,uBAAwBA,EACxBC,kBAAmBA,EACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,aAAcA,EACdS,cAAK3B,UAAAC,EAAEE,EAAQyB,wBAAR3B,EAAa4B,kBAAM,KAC1BT,wBAAyBA,IAI5BX,GACCe,EAACM,EAAmB,CAAAP,SAClBC,EAACO,EAAe,CACdC,MAAO9B,EAAIA,IAAI2B,GACfI,YAAa/B,EAAIgC,SACjBC,SAAU/B,EACVE,eAAgBA,EAChB8B,QAAS7B,EACTC,YAAaA,EACb6B,QAASlB,QAId"}
@@ -18,7 +18,7 @@ interface DevCenterAppViewProps {
18
18
  openIntercom: () => void;
19
19
  segment: string;
20
20
  toggleAppSettingsDialog: () => void;
21
- onError: (error: Error) => void;
21
+ onError?: (error: Error) => void;
22
22
  }
23
23
  declare function DevCenterAppView({ AppComponent, app, appData, appProps, availability, isCLIApp, isLoading, isMultiRig, layoutEnvironment, openIntercom, segment, toggleAppSettingsDialog, onError, }: DevCenterAppViewProps): import("react/jsx-runtime").JSX.Element;
24
24
  export default DevCenterAppView;
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppView.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,sBAAsB,YAAa,MAAM,KAAG,MAAyC,CAAC;AAGnG,UAAU,qBAAqB;IAC7B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAE,sBAAsB,EAAE,OAAO,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAE,CAAC;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED,iBAAS,gBAAgB,CAAC,EACxB,YAAY,EACZ,GAAG,EACH,OAAO,EACP,QAAQ,EACR,YAAuD,EACvD,QAAQ,EACR,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,uBAAuB,EACvB,OAAO,GACR,EAAE,qBAAqB,2CAoJvB;eAOc,gBAAgB"}
1
+ {"version":3,"file":"DevCenterAppView.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,eAAO,MAAM,sBAAsB,YAAa,MAAM,KAAG,MAAyC,CAAC;AAGnG,UAAU,qBAAqB;IAC7B,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAE,sBAAsB,EAAE,OAAO,CAAC;QAAC,uBAAuB,EAAE,OAAO,CAAA;KAAE,CAAC;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,iBAAS,gBAAgB,CAAC,EACxB,YAAY,EACZ,GAAG,EACH,OAAO,EACP,QAAQ,EACR,YAAuD,EACvD,QAAQ,EACR,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,uBAAuB,EACvB,OAAO,GACR,EAAE,qBAAqB,2CAoJvB;eAOc,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppView.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppMessageWrapper } from '../../../../../componentsV2/AppInfoMessage';\nimport { EmptyState } from '../../../../../componentsV2/EmptyState';\nimport { LoaderLogo } from '../../../../../componentsV2/LoaderLogo';\n\nimport { ChooseAssetButton } from './components/ChooseAssetButton';\n\nimport styles from './DevCenterAppView.scss';\n\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport { SEGMENTS } from '~/constants/segment';\nimport { useAppCommonsInternal } from '~/componentsV2/AppCommonsProvider';\n\nexport const getNoActiveWellMessage = (rigName: string): string => `${rigName} has no active well`;\n\n// TODO: Replace `any` with specific types once DevCenterAppContainer.js is converted to TypeScript\ninterface DevCenterAppViewProps {\n AppComponent: React.ComponentType<any> | null;\n app: Record<string, any>;\n appData: Record<string, any>;\n appProps: Record<string, any>;\n availability?: { hasProductSubscription: boolean; isAppSubscribedForAsset: boolean };\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: { type?: string } | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError: (error: Error) => void;\n}\n\nfunction DevCenterAppView({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\n}: DevCenterAppViewProps) {\n const emptyStateTestId = 'DevCenterAppView_EmptyState';\n\n // Use overridden appSettings from AppCommonsProvider (e.g. localStorage-stable settingsByAsset)\n // so server polling doesn't reset selections passed via {...app.settings} to AppComponent.\n const appCommons = useAppCommonsInternal();\n const effectiveSettings = appCommons?.appSettings ?? app.settings;\n\n if (!app.package)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App package was not found\"\n subTitle=\"Please choose another version in the app settings menu or delete and add app again on your dashboard\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (isLoading)\n return (\n <AppMessageWrapper showHeader={false}>\n <LoaderLogo className={styles.loader} testId=\"DevCenterAppView_Loader\" />\n </AppMessageWrapper>\n );\n\n if (!(availability.hasProductSubscription && availability.isAppSubscribedForAsset)) {\n const { title, subtitle } = !availability.hasProductSubscription\n ? {\n title: 'No Subscription exists for this app.',\n subtitle: 'Contact your Corva Account rep to get access to this app.',\n }\n : {\n title: 'No Subscription exists for this asset.',\n subtitle: 'Contact your Corva Account rep to get access to this asset.',\n };\n\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={title}\n subTitle={subtitle}\n image=\"noSubscription\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!AppComponent)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App component was not found\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (!isMultiRig) {\n const actions = isCLIApp && (\n <ChooseAssetButton toggleAppSettingsDialog={toggleAppSettingsDialog} />\n );\n\n const isInterventionApp = segment === SEGMENTS.INTERVENTION;\n const primaryAsset = isInterventionApp ? appData.interventionUnit : appData.rig;\n\n if (primaryAsset && !appData.well) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={getNoActiveWellMessage(primaryAsset?.name)}\n image=\"noActiveWell\"\n subTitle={actions}\n />\n </AppMessageWrapper>\n );\n }\n\n const isGeneralDashboard = layoutEnvironment?.type === 'general';\n const isCompletionApp = segment === SEGMENTS.COMPLETION;\n\n if (isGeneralDashboard && isCompletionApp && !appData.fracFleet) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"Frac fleet was not found\"\n subTitle={actions}\n image=\"fleetHasNoPad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (\n isCompletionApp &&\n appData.fracFleet &&\n !appData.fracFleet.current_pad_id &&\n !app.settings.padId\n ) {\n // NOTE: completion app has fracFleet, that fracfleet has no current pad id and no specific pad id in settings\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"fleetHasNoPad\"\n subTitle={actions}\n title=\"Frac fleet has no active pad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (isCompletionApp && isGeneralDashboard && (!appData.wells || appData.wells.length < 1)) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"noWellsSelected\"\n subTitle={actions}\n title=\"This pad has no wells\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!appData.rig && !appData.well && !appData.settings && !appData.wells) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\n }\n }\n return (\n <ErrorBoundary openIntercom={openIntercom} onError={onError}>\n <AppComponent app={app} {...app.settings} {...effectiveSettings} {...appData} {...appProps} />\n </ErrorBoundary>\n );\n}\n\nconst DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DevCenterAppView","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","emptyStateTestId","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","showHeader","LoaderLogo","className","styles","loader","hasProductSubscription","isAppSubscribedForAsset","_ref2","subtitle","actions","ChooseAssetButton","primaryAsset","SEGMENTS","INTERVENTION","interventionUnit","rig","well","name","isGeneralDashboard","type","isCompletionApp","COMPLETION","fracFleet","current_pad_id","padId","wells","length","ErrorBoundary","_objectSpread"],"mappings":"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"}
1
+ {"version":3,"file":"DevCenterAppView.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppMessageWrapper } from '../../../../../componentsV2/AppInfoMessage';\nimport { EmptyState } from '../../../../../componentsV2/EmptyState';\nimport { LoaderLogo } from '../../../../../componentsV2/LoaderLogo';\n\nimport { ChooseAssetButton } from './components/ChooseAssetButton';\n\nimport styles from './DevCenterAppView.scss';\n\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport { SEGMENTS } from '~/constants/segment';\nimport { useAppCommonsInternal } from '~/componentsV2/AppCommonsProvider';\n\nexport const getNoActiveWellMessage = (rigName: string): string => `${rigName} has no active well`;\n\n// TODO: Replace `any` with specific types once DevCenterAppContainer.js is converted to TypeScript\ninterface DevCenterAppViewProps {\n AppComponent: React.ComponentType<any> | null;\n app: Record<string, any>;\n appData: Record<string, any>;\n appProps: Record<string, any>;\n availability?: { hasProductSubscription: boolean; isAppSubscribedForAsset: boolean };\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: { type?: string } | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError?: (error: Error) => void;\n}\n\nfunction DevCenterAppView({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\n}: DevCenterAppViewProps) {\n const emptyStateTestId = 'DevCenterAppView_EmptyState';\n\n // Use overridden appSettings from AppCommonsProvider (e.g. localStorage-stable settingsByAsset)\n // so server polling doesn't reset selections passed via {...app.settings} to AppComponent.\n const appCommons = useAppCommonsInternal();\n const effectiveSettings = appCommons?.appSettings ?? app.settings;\n\n if (!app.package)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App package was not found\"\n subTitle=\"Please choose another version in the app settings menu or delete and add app again on your dashboard\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (isLoading)\n return (\n <AppMessageWrapper showHeader={false}>\n <LoaderLogo className={styles.loader} testId=\"DevCenterAppView_Loader\" />\n </AppMessageWrapper>\n );\n\n if (!(availability.hasProductSubscription && availability.isAppSubscribedForAsset)) {\n const { title, subtitle } = !availability.hasProductSubscription\n ? {\n title: 'No Subscription exists for this app.',\n subtitle: 'Contact your Corva Account rep to get access to this app.',\n }\n : {\n title: 'No Subscription exists for this asset.',\n subtitle: 'Contact your Corva Account rep to get access to this asset.',\n };\n\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={title}\n subTitle={subtitle}\n image=\"noSubscription\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!AppComponent)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App component was not found\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (!isMultiRig) {\n const actions = isCLIApp && (\n <ChooseAssetButton toggleAppSettingsDialog={toggleAppSettingsDialog} />\n );\n\n const isInterventionApp = segment === SEGMENTS.INTERVENTION;\n const primaryAsset = isInterventionApp ? appData.interventionUnit : appData.rig;\n\n if (primaryAsset && !appData.well) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={getNoActiveWellMessage(primaryAsset?.name)}\n image=\"noActiveWell\"\n subTitle={actions}\n />\n </AppMessageWrapper>\n );\n }\n\n const isGeneralDashboard = layoutEnvironment?.type === 'general';\n const isCompletionApp = segment === SEGMENTS.COMPLETION;\n\n if (isGeneralDashboard && isCompletionApp && !appData.fracFleet) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"Frac fleet was not found\"\n subTitle={actions}\n image=\"fleetHasNoPad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (\n isCompletionApp &&\n appData.fracFleet &&\n !appData.fracFleet.current_pad_id &&\n !app.settings.padId\n ) {\n // NOTE: completion app has fracFleet, that fracfleet has no current pad id and no specific pad id in settings\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"fleetHasNoPad\"\n subTitle={actions}\n title=\"Frac fleet has no active pad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (isCompletionApp && isGeneralDashboard && (!appData.wells || appData.wells.length < 1)) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"noWellsSelected\"\n subTitle={actions}\n title=\"This pad has no wells\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!appData.rig && !appData.well && !appData.settings && !appData.wells) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\n }\n }\n return (\n <ErrorBoundary openIntercom={openIntercom} onError={onError}>\n <AppComponent app={app} {...app.settings} {...effectiveSettings} {...appData} {...appProps} />\n </ErrorBoundary>\n );\n}\n\nconst DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DevCenterAppView","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","emptyStateTestId","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","showHeader","LoaderLogo","className","styles","loader","hasProductSubscription","isAppSubscribedForAsset","_ref2","subtitle","actions","ChooseAssetButton","primaryAsset","SEGMENTS","INTERVENTION","interventionUnit","rig","well","name","isGeneralDashboard","type","isCompletionApp","COMPLETION","fracFleet","current_pad_id","padId","wells","length","ErrorBoundary","_objectSpread"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { DevCenterAppResource, DevCenterCurrentUser, DevCenterMenuItem, DevCenterRouter } from '../types';
2
+ import type { DevCenterAppContainerProps } from '../DevCenterAppContainer';
3
+ export type LegacyAppActionsProps = {
4
+ app: DevCenterAppResource;
5
+ currentUser: DevCenterCurrentUser;
6
+ devCenterRouter: DevCenterRouter;
7
+ isAnnotationsSupported: boolean;
8
+ isCLIApp: boolean;
9
+ isCommentsEnabled: boolean;
10
+ isInsideNewMobileApp: boolean;
11
+ isMaximized: boolean;
12
+ isMobileView: boolean;
13
+ mainMenuItems: DevCenterMenuItem[];
14
+ secondaryMenuItems: DevCenterMenuItem[];
15
+ onReportBugClick?: (() => void) | null;
16
+ setIsFullscreenModalMode: NonNullable<DevCenterAppContainerProps['setIsFullscreenModalMode']>;
17
+ setIsMaximized: (isMaximized: boolean) => void;
18
+ toggleAnnotationsList: () => void;
19
+ toggleAppSettingsDialog: () => void;
20
+ onHelpCenterClick?: () => void;
21
+ };
22
+ /**
23
+ * The action bar the container renders when App Header V3 is not driving the app's chrome.
24
+ * V3 publishes the same affordances through `AppCommonsProvider`, so this only appears for
25
+ * apps whose manifest has not opted in, or while one is still loading.
26
+ */
27
+ export declare const LegacyAppActions: ({ app, currentUser, devCenterRouter, isAnnotationsSupported, isCLIApp, isCommentsEnabled, isInsideNewMobileApp, isMaximized, isMobileView, mainMenuItems, secondaryMenuItems, onReportBugClick, setIsFullscreenModalMode, setIsMaximized, toggleAnnotationsList, toggleAppSettingsDialog, onHelpCenterClick, }: LegacyAppActionsProps) => import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=LegacyAppActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegacyAppActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAM3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,wBAAwB,EAAE,WAAW,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC9F,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,mTAkB1B,qBAAqB,4CAoEvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{BugReport as o}from"@material-ui/icons";import{AppActions as s}from"./AppActions/AppActions.js";import"@babel/runtime/helpers/slicedToArray";import"react";import"./CommentsSwitch/CommentsSwitchContext.js";import{jsxs as t,jsx as n,Fragment as e}from"react/jsx-runtime";import{CommentsSwitchButton as i}from"./CommentsSwitch/CommentsSwitchButton.js";import p from"./FullscreenButton/FullscreenButton.js";import{NonPriorityMenus as r}from"./NonPriorityMenus/NonPriorityMenus.js";import{PriorityMenus as c}from"./PriorityMenus.js";import{TOOLTIP_TITLES as m,PAGE_NAME as a}from"../constants.js";import l from"../../../Icons/AnnotationIcon.js";import{HelpCenterIcon as j}from"../../../HelpCenter/HelpCenterIcon.js";import"../../../../componentsV2/Text/Text.js";import"../../../../componentsV2/Grid/Grid.js";import"../../../../componentsV2/Grid/Cell.js";import"@babel/runtime/helpers/defineProperty";import"classnames";import"../../../../componentsV2/Header/Header.scss.js";import"../../../../componentsV2/Button/Button.js";import{ButtonIcon as d}from"../../../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as u}from"../../../../componentsV2/Tooltip/Tooltip.js";import"../../../../componentsV2/Popover/Popover.js";import"../../../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../../../componentsV2/Radio/Radio.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/core";import"../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../../componentsV2/Checkbox/Checkbox.js";import"@babel/runtime/helpers/toConsumableArray";import"../../../../componentsV2/TextInput/TextInput.js";import"../../../../componentsV2/TextInputNext/TextInputNext.js";import"../../../../componentsV2/TextArea/TextArea.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"uuid";import"./DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"./DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"./IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../../../../componentsV2/Modal/Modal.scss.js";import"../../../../componentsV2/Menu/Menu.js";import"@icon-park/react/es/all";import"../../../../icons/IconParkProvider.js";import"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.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"../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../icons/customIcons/icons/Company.js";import"../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../icons/customIcons/icons/Connect.js";import"../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../icons/customIcons/icons/Feed.js";import"../../../../icons/customIcons/icons/Prompt.js";import"../../../../icons/customIcons/icons/Companies.js";import"../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../icons/customIcons/icons/Key.js";import"../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../icons/customIcons/icons/MappingManual.js";import"../../../../icons/customIcons/icons/Mapping.js";import"../../../../icons/customIcons/icons/Metrics.js";import"../../../../icons/customIcons/icons/Drops.js";import"../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../icons/customIcons/icons/Template.js";import"../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../icons/customIcons/icons/NPT.js";import"../../../../icons/customIcons/icons/GuidedFrac.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"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";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"../../../../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"file-extension";import"image-extensions";import"video-extensions";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"query-string";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"../../DevCenterRouterContext/DevCenterRouterContext.js";import"../../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"react-router-dom";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"../../../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../../utils/mobileDetect.js";import"../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"moment";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"../../../../clients/subscriptions/constants.js";import"querystring";import"uuid/v1";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"jsona";import"../../../../utils/env.js";import"../../../StatusBadge/constants.js";import"lodash/set";import"lodash/get";import"lodash/unset";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.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/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/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../../../componentsV2/Autocomplete/Autocomplete.js";import"../../../../componentsV2/Select/Select.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";import"../../../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";var V=function(V){var A=V.app,I=V.currentUser,C=V.devCenterRouter,S=V.isAnnotationsSupported,h=V.isCLIApp,g=V.isCommentsEnabled,v=V.isInsideNewMobileApp,P=V.isMaximized,b=V.isMobileView,x=V.mainMenuItems,T=V.secondaryMenuItems,D=V.onReportBugClick,M=V.setIsFullscreenModalMode,k=V.setIsMaximized,B=V.toggleAnnotationsList,H=V.toggleAppSettingsDialog,y=V.onHelpCenterClick;return t(s,{children:[g&&n(i,{currentUser:I}),S&&n(u,{title:m.addAnnotation,placement:"top",disabled:!!b,children:n(d,{size:"small",type:"tertiaryBg",onClick:B,testId:"".concat(a,"_addAnnotation"),children:n(l,{})})}),D&&!h&&n(u,{title:m.reportBug,placement:"top",disabled:!!b,children:n(d,{size:"small",type:"tertiaryBg",onClick:function(){return null==D?void 0:D()},children:n(o,{})})}),n(u,{placement:"top",disabled:!!b||h,title:m.helpCenter,children:n(d,{testId:"".concat(a,"_helpContent"),onClick:function(){return null==y?void 0:y()},disabled:h,size:"small",type:"tertiaryBg",children:n(j,{appId:A.app.id,helpContentUpdatedAt:A.help_content_updated_at})})}),!b||P||v?t(e,{children:[n(c,{menuItems:x,devCenterRouter:C,isMobileView:b}),n(r,{devCenterRouter:C,isMaximized:P,isMobileView:b,menuItems:T,setIsFullscreenModalMode:M,setIsMaximized:k,toggleAppSettingsDialog:H})]}):n(p,{setIsMaximized:k})]})};export{V as LegacyAppActions};
2
+ //# sourceMappingURL=LegacyAppActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegacyAppActions.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"sourcesContent":["import { BugReport as BugReportIcon } from '@material-ui/icons';\n\nimport { AppActions } from './AppActions/AppActions';\nimport { CommentsSwitchButton } from './CommentsSwitch';\nimport FullscreenButton from './FullscreenButton';\nimport { NonPriorityMenus } from './NonPriorityMenus';\nimport { PriorityMenus } from './PriorityMenus';\nimport { PAGE_NAME, TOOLTIP_TITLES } from '../constants';\nimport type {\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n} from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport AnnotationIcon from '~/components/Icons/AnnotationIcon';\nimport { HelpCenterIcon } from '~/components/HelpCenter';\nimport { ButtonIcon, Tooltip } from '~/componentsV2';\n\nexport type LegacyAppActionsProps = {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n isAnnotationsSupported: boolean;\n isCLIApp: boolean;\n isCommentsEnabled: boolean;\n isInsideNewMobileApp: boolean;\n isMaximized: boolean;\n isMobileView: boolean;\n mainMenuItems: DevCenterMenuItem[];\n secondaryMenuItems: DevCenterMenuItem[];\n onReportBugClick?: (() => void) | null;\n setIsFullscreenModalMode: NonNullable<DevCenterAppContainerProps['setIsFullscreenModalMode']>;\n setIsMaximized: (isMaximized: boolean) => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n onHelpCenterClick?: () => void;\n};\n\n/**\n * The action bar the container renders when App Header V3 is not driving the app's chrome.\n * V3 publishes the same affordances through `AppCommonsProvider`, so this only appears for\n * apps whose manifest has not opted in, or while one is still loading.\n */\nexport const LegacyAppActions = ({\n app,\n currentUser,\n devCenterRouter,\n isAnnotationsSupported,\n isCLIApp,\n isCommentsEnabled,\n isInsideNewMobileApp,\n isMaximized,\n isMobileView,\n mainMenuItems,\n secondaryMenuItems,\n onReportBugClick,\n setIsFullscreenModalMode,\n setIsMaximized,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n onHelpCenterClick,\n}: LegacyAppActionsProps) => {\n const handleReportBugClick = () => onReportBugClick?.();\n\n const handleHelpCenterClick = () => onHelpCenterClick?.();\n\n return (\n <AppActions>\n {isCommentsEnabled && <CommentsSwitchButton currentUser={currentUser} />}\n\n {isAnnotationsSupported && (\n <Tooltip title={TOOLTIP_TITLES.addAnnotation} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n onClick={toggleAnnotationsList}\n testId={`${PAGE_NAME}_addAnnotation`}\n >\n <AnnotationIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {onReportBugClick && !isCLIApp && (\n <Tooltip title={TOOLTIP_TITLES.reportBug} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon size=\"small\" type=\"tertiaryBg\" onClick={handleReportBugClick}>\n <BugReportIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <Tooltip\n placement=\"top\"\n disabled={!!isMobileView || isCLIApp}\n title={TOOLTIP_TITLES.helpCenter}\n >\n <ButtonIcon\n testId={`${PAGE_NAME}_helpContent`}\n onClick={handleHelpCenterClick}\n disabled={isCLIApp}\n size=\"small\"\n type=\"tertiaryBg\"\n >\n <HelpCenterIcon appId={app.app.id} helpContentUpdatedAt={app.help_content_updated_at} />\n </ButtonIcon>\n </Tooltip>\n\n {isMobileView && !isMaximized && !isInsideNewMobileApp ? (\n <FullscreenButton setIsMaximized={setIsMaximized} />\n ) : (\n <>\n <PriorityMenus\n menuItems={mainMenuItems}\n devCenterRouter={devCenterRouter}\n isMobileView={isMobileView}\n />\n <NonPriorityMenus\n devCenterRouter={devCenterRouter}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n menuItems={secondaryMenuItems}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n </>\n )}\n </AppActions>\n );\n};\n"],"names":["LegacyAppActions","_ref","app","currentUser","devCenterRouter","isAnnotationsSupported","isCLIApp","isCommentsEnabled","isInsideNewMobileApp","isMaximized","isMobileView","mainMenuItems","secondaryMenuItems","onReportBugClick","setIsFullscreenModalMode","setIsMaximized","toggleAnnotationsList","toggleAppSettingsDialog","onHelpCenterClick","_jsxs","AppActions","children","_jsx","CommentsSwitchButton","Tooltip","title","TOOLTIP_TITLES","addAnnotation","placement","disabled","ButtonIcon","size","type","onClick","testId","concat","PAGE_NAME","AnnotationIcon","reportBug","BugReportIcon","helpCenter","HelpCenterIcon","appId","id","helpContentUpdatedAt","help_content_updated_at","_Fragment","PriorityMenus","menuItems","NonPriorityMenus","FullscreenButton"],"mappings":"oweA6CaA,IAAAA,EAAmB,SAkBHC,GAAA,IAjB3BC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,uBACAC,IAAAA,SACAC,IAAAA,kBACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,mBACAC,IAAAA,iBACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,kBAMA,OACEC,EAACC,EAAU,CAAAC,SACRd,CAAAA,GAAqBe,EAACC,EAAoB,CAACpB,YAAaA,IAExDE,GACCiB,EAACE,EAAO,CAACC,MAAOC,EAAeC,cAAeC,UAAU,MAAMC,WAAYnB,EAAaW,SACrFC,EAACQ,EAAU,CACTC,KAAK,QACLC,KAAK,aACLC,QAASjB,EACTkB,OAAM,GAAAC,OAAKC,EAA0B,kBAAAf,SAErCC,EAACe,EAAc,QAKpBxB,IAAqBP,GACpBgB,EAACE,EAAO,CAACC,MAAOC,EAAeY,UAAWV,UAAU,MAAMC,WAAYnB,EAAaW,SACjFC,EAACQ,EAAU,CAACC,KAAK,QAAQC,KAAK,aAAaC,QAvBtB,WAAH,OAASpB,aAAgB,EAAhBA,GAAoB,EAuB0BQ,SACvEC,EAACiB,EAAa,QAKpBjB,EAACE,EAAO,CACNI,UAAU,MACVC,WAAYnB,GAAgBJ,EAC5BmB,MAAOC,EAAec,WAAWnB,SAEjCC,EAACQ,EAAU,CACTI,OAAM,GAAAC,OAAKC,EAAwB,gBACnCH,QAlCsB,WAAH,OAASf,aAAiB,EAAjBA,GAAqB,EAmCjDW,SAAUvB,EACVyB,KAAK,QACLC,KAAK,aAAYX,SAEjBC,EAACmB,EAAc,CAACC,MAAOxC,EAAIA,IAAIyC,GAAIC,qBAAsB1C,EAAI2C,+BAIhEnC,GAAiBD,GAAgBD,EAGhCW,EAAA2B,EAAA,CAAAzB,SAAA,CACEC,EAACyB,EAAa,CACZC,UAAWrC,EACXP,gBAAiBA,EACjBM,aAAcA,IAEhBY,EAAC2B,EAAgB,CACf7C,gBAAiBA,EACjBK,YAAaA,EACbC,aAAcA,EACdsC,UAAWpC,EACXE,yBAA0BA,EAC1BC,eAAgBA,EAChBE,wBAAyBA,OAf7BK,EAAC4B,EAAgB,CAACnC,eAAgBA,MAqB1C"}
@@ -13,7 +13,7 @@ type NonPriorityMenusProps = {
13
13
  onClick?: () => void;
14
14
  to?: string | object;
15
15
  }[];
16
- setIsFullscreenModalMode: (value: boolean) => Promise<void>;
16
+ setIsFullscreenModalMode: (value: boolean) => void | Promise<void>;
17
17
  };
18
18
  export declare const NonPriorityMenus: ({ menuItems, isMaximized, setIsMaximized, toggleAppSettingsDialog, isMobileView, devCenterRouter, setIsFullscreenModalMode, }: NonPriorityMenusProps) => import("react/jsx-runtime").JSX.Element;
19
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"NonPriorityMenus.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAQpD,KAAK,qBAAqB,GAAG;IAC3B,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE;QACT,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,wBAAwB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,kIAQ1B,qBAAqB,4CA6EvB,CAAC"}
1
+ {"version":3,"file":"NonPriorityMenus.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,OAAO,CAAC;AAQpD,KAAK,qBAAqB,GAAG;IAC3B,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE;QACT,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB,EAAE,CAAC;IACJ,wBAAwB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,kIAQ1B,qBAAqB,4CA6EvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NonPriorityMenus.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"sourcesContent":["import { ReactNode, useRef, useState } from 'react';\nimport { Icon } from '@material-ui/core';\n\nimport { ButtonIcon, Menu, Tooltip } from '~/componentsV2';\nimport { FullScreenOneIcon, HamburgerButtonIcon, SettingTwoIcon } from '~/icons';\n\nconst PAGE_NAME = 'DevCenter_AppPriorityMenu';\n\ntype NonPriorityMenusProps = {\n toggleAppSettingsDialog: () => void;\n isMaximized: boolean;\n isMobileView: boolean;\n setIsMaximized: (value: boolean) => void;\n devCenterRouter: { push: (...args: unknown[]) => void };\n menuItems: {\n icon?: ReactNode;\n title?: string;\n onClick?: () => void;\n to?: string | object;\n }[];\n setIsFullscreenModalMode: (value: boolean) => Promise<void>;\n};\n\nexport const NonPriorityMenus = ({\n menuItems,\n isMaximized,\n setIsMaximized,\n toggleAppSettingsDialog,\n isMobileView,\n devCenterRouter,\n setIsFullscreenModalMode,\n}: NonPriorityMenusProps) => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = async () => {\n const nextValue = !isOpen;\n if (nextValue) {\n await setIsFullscreenModalMode(nextValue);\n setIsOpen(nextValue);\n } else {\n setIsOpen(nextValue);\n\n // NOTE: popover closing animation slightly moves down, in order to fix the issue I did it in async manner. It's min time the feature works with\n // As I call setIsFullscreenModalMode in setTimeout then I had to do the same when we open settings modal or fullscreen app\n setIsFullscreenModalMode(nextValue);\n }\n };\n\n const handleMenuItemClick = async (fn?: (value: boolean) => void) => {\n await toggleMenu();\n fn?.(true);\n };\n\n return (\n <>\n <Tooltip title=\"Menu\" disabled={!!isMobileView} placement=\"top\">\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={buttonRef}\n onClick={toggleMenu}\n testId={`${PAGE_NAME}_menu`}\n >\n <HamburgerButtonIcon />\n </ButtonIcon>\n </Tooltip>\n\n <Menu anchorEl={buttonRef.current} open={isOpen} onClose={toggleMenu} placement=\"top-end\">\n {menuItems.map(menuConfig => (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_${menuConfig.title}`}\n key={menuConfig.title}\n onClick={() => {\n handleMenuItemClick(menuConfig.onClick);\n if (menuConfig.to) {\n devCenterRouter.push(menuConfig.to);\n }\n }}\n prefix={\n typeof menuConfig.icon === 'string' ? <Icon>{menuConfig.icon}</Icon> : menuConfig.icon\n }\n >\n {menuConfig.title}\n </Menu.Item>\n ))}\n {!isMaximized && (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_fullScreenMenuItem`}\n onClick={() => handleMenuItemClick(setIsMaximized)}\n prefix={<FullScreenOneIcon />}\n >\n Full Screen\n </Menu.Item>\n )}\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_settings`}\n onClick={() => handleMenuItemClick(toggleAppSettingsDialog)}\n prefix={<SettingTwoIcon />}\n >\n Settings\n </Menu.Item>\n </Menu>\n </>\n );\n};\n"],"names":["PAGE_NAME","NonPriorityMenus","_ref","menuItems","isMaximized","setIsMaximized","toggleAppSettingsDialog","isMobileView","devCenterRouter","setIsFullscreenModalMode","buttonRef","useRef","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleMenu","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","nextValue","wrap","_context","prev","next","stop","apply","this","arguments","handleMenuItemClick","_ref3","fn","_context2","_callee2","_x","_jsxs","_Fragment","children","_jsx","Tooltip","title","disabled","placement","ButtonIcon","size","type","ref","onClick","testId","concat","HamburgerButtonIcon","Menu","anchorEl","current","open","onClose","map","menuConfig","Item","to","push","prefix","icon","Icon","FullScreenOneIcon","SettingTwoIcon"],"mappings":"ihfAMA,IAAMA,EAAY,4BAiBLC,EAAmB,SAQHC,GAAA,IAP3BC,IAAAA,UACAC,IAAAA,YACAC,IAAAA,eACAC,IAAAA,wBACAC,IAAAA,aACAC,IAAAA,gBACAC,IAAAA,yBAEMC,EAAYC,EAA0B,MAChBC,EAAAA,GAAS,GAAMC,EAAAC,EAAAC,EAAA,GAApCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAU,WAAA,IAAGC,EAAAC,EAAAC,EAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAI,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACQ,KAAnBJ,GAAaR,GACN,CAAAU,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EACLnB,EAAyBe,GAAU,KAAA,EACzCP,EAAUO,GAAWE,EAAAE,KAAA,EAAA,MAAA,KAAA,EAErBX,EAAUO,GAIVf,EAAyBe,GAAW,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAG,OAAA,GAAAN,EAEvC,KAAA,OAAA,WAZe,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,EAAA,GAcVC,EAAmB,WAAA,IAAAC,EAAAd,EAAAC,EAAAC,MAAG,WAAOa,GAA6B,OAAAd,EAAAI,MAAA,SAAAW,GAAA,OAAA,OAAAA,EAAAT,KAAAS,EAAAR,MAAA,KAAA,EAAA,OAAAQ,EAAAR,KAAA,EACxDV,IAAY,KAAA,EAClBiB,SAAAA,GAAK,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAC,EAAAP,OAAA,GAAAQ,EACZ,KAAA,OAAA,SAHwBC,GAAA,OAAAJ,EAAAJ,MAAAC,KAAAC,UAAA,EAAA,GAKzB,OACEO,EAAAC,EAAA,CAAAC,SAAA,CACEC,EAACC,EAAO,CAACC,MAAM,OAAOC,WAAYtC,EAAcuC,UAAU,MAAKL,SAC7DC,EAACK,EAAU,CACTC,KAAK,QACLC,KAAK,aACLC,IAAKxC,EACLyC,QAASjC,EACTkC,OAAM,GAAAC,OAAKrD,EAAiB,SAAAyC,SAE5BC,EAACY,EAAmB,QAIxBf,EAACgB,EAAI,CAACC,SAAU9C,EAAU+C,QAASC,KAAM1C,EAAQ2C,QAASzC,EAAY4B,UAAU,UAASL,SAAA,CACtFtC,EAAUyD,KAAI,SAAAC,GAAU,OACvBnB,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,iBAAWpD,EAAS,KAAAqD,OAAIQ,EAAWjB,OAEnCO,QAAS,WACPlB,EAAoB4B,EAAWV,SAC3BU,EAAWE,IACbvD,EAAgBwD,KAAKH,EAAWE,GAElC,EACFE,OAC6B,iBAApBJ,EAAWK,KAAoBxB,EAACyB,EAAI,CAAA1B,SAAEoB,EAAWK,OAAeL,EAAWK,KACnFzB,SAEAoB,EAAWjB,OAXPiB,EAAWjB,MAanB,KACCxC,GACAsC,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,OAAM,GAAAC,OAAKrD,EAA+B,uBAC1CmD,QAAS,WAAA,OAAMlB,EAAoB5B,EAAgB,EACnD4D,OAAQvB,EAAC0B,EAAqB,IAAA3B,SAAA,gBAKlCC,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,OAAM,GAAAC,OAAKrD,EAAqB,aAChCmD,QAAS,WAAA,OAAMlB,EAAoB3B,EAAyB,EAC5D2D,OAAQvB,EAAC2B,EAAkB,IAAA5B,SAAA,kBAOrC"}
1
+ {"version":3,"file":"NonPriorityMenus.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"sourcesContent":["import { ReactNode, useRef, useState } from 'react';\nimport { Icon } from '@material-ui/core';\n\nimport { ButtonIcon, Menu, Tooltip } from '~/componentsV2';\nimport { FullScreenOneIcon, HamburgerButtonIcon, SettingTwoIcon } from '~/icons';\n\nconst PAGE_NAME = 'DevCenter_AppPriorityMenu';\n\ntype NonPriorityMenusProps = {\n toggleAppSettingsDialog: () => void;\n isMaximized: boolean;\n isMobileView: boolean;\n setIsMaximized: (value: boolean) => void;\n devCenterRouter: { push: (...args: unknown[]) => void };\n menuItems: {\n icon?: ReactNode;\n title?: string;\n onClick?: () => void;\n to?: string | object;\n }[];\n setIsFullscreenModalMode: (value: boolean) => void | Promise<void>;\n};\n\nexport const NonPriorityMenus = ({\n menuItems,\n isMaximized,\n setIsMaximized,\n toggleAppSettingsDialog,\n isMobileView,\n devCenterRouter,\n setIsFullscreenModalMode,\n}: NonPriorityMenusProps) => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = async () => {\n const nextValue = !isOpen;\n if (nextValue) {\n await setIsFullscreenModalMode(nextValue);\n setIsOpen(nextValue);\n } else {\n setIsOpen(nextValue);\n\n // NOTE: popover closing animation slightly moves down, in order to fix the issue I did it in async manner. It's min time the feature works with\n // As I call setIsFullscreenModalMode in setTimeout then I had to do the same when we open settings modal or fullscreen app\n setIsFullscreenModalMode(nextValue);\n }\n };\n\n const handleMenuItemClick = async (fn?: (value: boolean) => void) => {\n await toggleMenu();\n fn?.(true);\n };\n\n return (\n <>\n <Tooltip title=\"Menu\" disabled={!!isMobileView} placement=\"top\">\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={buttonRef}\n onClick={toggleMenu}\n testId={`${PAGE_NAME}_menu`}\n >\n <HamburgerButtonIcon />\n </ButtonIcon>\n </Tooltip>\n\n <Menu anchorEl={buttonRef.current} open={isOpen} onClose={toggleMenu} placement=\"top-end\">\n {menuItems.map(menuConfig => (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_${menuConfig.title}`}\n key={menuConfig.title}\n onClick={() => {\n handleMenuItemClick(menuConfig.onClick);\n if (menuConfig.to) {\n devCenterRouter.push(menuConfig.to);\n }\n }}\n prefix={\n typeof menuConfig.icon === 'string' ? <Icon>{menuConfig.icon}</Icon> : menuConfig.icon\n }\n >\n {menuConfig.title}\n </Menu.Item>\n ))}\n {!isMaximized && (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_fullScreenMenuItem`}\n onClick={() => handleMenuItemClick(setIsMaximized)}\n prefix={<FullScreenOneIcon />}\n >\n Full Screen\n </Menu.Item>\n )}\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_settings`}\n onClick={() => handleMenuItemClick(toggleAppSettingsDialog)}\n prefix={<SettingTwoIcon />}\n >\n Settings\n </Menu.Item>\n </Menu>\n </>\n );\n};\n"],"names":["PAGE_NAME","NonPriorityMenus","_ref","menuItems","isMaximized","setIsMaximized","toggleAppSettingsDialog","isMobileView","devCenterRouter","setIsFullscreenModalMode","buttonRef","useRef","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleMenu","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","nextValue","wrap","_context","prev","next","stop","apply","this","arguments","handleMenuItemClick","_ref3","fn","_context2","_callee2","_x","_jsxs","_Fragment","children","_jsx","Tooltip","title","disabled","placement","ButtonIcon","size","type","ref","onClick","testId","concat","HamburgerButtonIcon","Menu","anchorEl","current","open","onClose","map","menuConfig","Item","to","push","prefix","icon","Icon","FullScreenOneIcon","SettingTwoIcon"],"mappings":"ihfAMA,IAAMA,EAAY,4BAiBLC,EAAmB,SAQHC,GAAA,IAP3BC,IAAAA,UACAC,IAAAA,YACAC,IAAAA,eACAC,IAAAA,wBACAC,IAAAA,aACAC,IAAAA,gBACAC,IAAAA,yBAEMC,EAAYC,EAA0B,MAChBC,EAAAA,GAAS,GAAMC,EAAAC,EAAAC,EAAA,GAApCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAU,WAAA,IAAGC,EAAAC,EAAAC,EAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAI,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACQ,KAAnBJ,GAAaR,GACN,CAAAU,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EACLnB,EAAyBe,GAAU,KAAA,EACzCP,EAAUO,GAAWE,EAAAE,KAAA,EAAA,MAAA,KAAA,EAErBX,EAAUO,GAIVf,EAAyBe,GAAW,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAG,OAAA,GAAAN,EAEvC,KAAA,OAAA,WAZe,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,EAAA,GAcVC,EAAmB,WAAA,IAAAC,EAAAd,EAAAC,EAAAC,MAAG,WAAOa,GAA6B,OAAAd,EAAAI,MAAA,SAAAW,GAAA,OAAA,OAAAA,EAAAT,KAAAS,EAAAR,MAAA,KAAA,EAAA,OAAAQ,EAAAR,KAAA,EACxDV,IAAY,KAAA,EAClBiB,SAAAA,GAAK,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAC,EAAAP,OAAA,GAAAQ,EACZ,KAAA,OAAA,SAHwBC,GAAA,OAAAJ,EAAAJ,MAAAC,KAAAC,UAAA,EAAA,GAKzB,OACEO,EAAAC,EAAA,CAAAC,SAAA,CACEC,EAACC,EAAO,CAACC,MAAM,OAAOC,WAAYtC,EAAcuC,UAAU,MAAKL,SAC7DC,EAACK,EAAU,CACTC,KAAK,QACLC,KAAK,aACLC,IAAKxC,EACLyC,QAASjC,EACTkC,OAAM,GAAAC,OAAKrD,EAAiB,SAAAyC,SAE5BC,EAACY,EAAmB,QAIxBf,EAACgB,EAAI,CAACC,SAAU9C,EAAU+C,QAASC,KAAM1C,EAAQ2C,QAASzC,EAAY4B,UAAU,UAASL,SAAA,CACtFtC,EAAUyD,KAAI,SAAAC,GAAU,OACvBnB,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,iBAAWpD,EAAS,KAAAqD,OAAIQ,EAAWjB,OAEnCO,QAAS,WACPlB,EAAoB4B,EAAWV,SAC3BU,EAAWE,IACbvD,EAAgBwD,KAAKH,EAAWE,GAElC,EACFE,OAC6B,iBAApBJ,EAAWK,KAAoBxB,EAACyB,EAAI,CAAA1B,SAAEoB,EAAWK,OAAeL,EAAWK,KACnFzB,SAEAoB,EAAWjB,OAXPiB,EAAWjB,MAanB,KACCxC,GACAsC,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,OAAM,GAAAC,OAAKrD,EAA+B,uBAC1CmD,QAAS,WAAA,OAAMlB,EAAoB5B,EAAgB,EACnD4D,OAAQvB,EAAC0B,EAAqB,IAAA3B,SAAA,gBAKlCC,EAACa,EAAKO,KAAI,CACRd,KAAK,QACLI,OAAM,GAAAC,OAAKrD,EAAqB,aAChCmD,QAAS,WAAA,OAAMlB,EAAoB3B,EAAyB,EAC5D2D,OAAQvB,EAAC2B,EAAkB,IAAA5B,SAAA,kBAOrC"}