@corva/ui 3.75.0-0 → 3.75.0-10

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 (663) 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/AttachmentLightbox/AttachmentDocument.js +1 -1
  6. package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  7. package/cjs-bundle/components/AttachmentLightbox/AttachmentPreviewPane.js +1 -1
  8. package/cjs-bundle/components/AttachmentLightbox/AttachmentPreviewPane.js.map +1 -1
  9. package/cjs-bundle/components/AttachmentPreview/AttachmentTile.js +1 -1
  10. package/cjs-bundle/components/AttachmentPreview/AttachmentTile.js.map +1 -1
  11. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  12. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  13. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  14. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  15. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  16. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  17. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  18. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  19. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  20. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  21. package/cjs-bundle/components/CommentCard/CommentCard.js +1 -1
  22. package/cjs-bundle/components/CommentCard/CommentCard.js.map +1 -1
  23. package/cjs-bundle/components/CommentComposer/ChatChannelSelector.js +1 -1
  24. package/cjs-bundle/components/CommentComposer/ChatChannelSelector.js.map +1 -1
  25. package/cjs-bundle/components/CommentComposer/ChatChannelSelector.scss.js +1 -1
  26. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js +1 -1
  27. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  28. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  29. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  30. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js +1 -1
  31. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js.map +1 -1
  32. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  33. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  34. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js +1 -1
  35. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js.map +1 -1
  36. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  37. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.js.map +1 -1
  38. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  39. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  40. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js +1 -1
  41. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js.map +1 -1
  42. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.js +1 -1
  43. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.js.map +1 -1
  44. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  45. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  46. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js.map +1 -1
  47. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js +2 -0
  48. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -0
  49. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js +1 -1
  50. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  51. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.js.map +1 -1
  52. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  53. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  54. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js.map +1 -0
  55. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +2 -0
  56. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -0
  57. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +2 -0
  58. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -0
  59. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +2 -0
  60. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -0
  61. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js +1 -1
  62. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js.map +1 -1
  63. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  64. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  65. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
  66. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
  67. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js +1 -1
  68. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js.map +1 -1
  69. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  70. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  71. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js +1 -1
  72. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js.map +1 -1
  73. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js +2 -0
  74. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -0
  75. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/utils.js +1 -1
  76. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/utils.js.map +1 -1
  77. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
  78. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
  79. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  80. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  81. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  82. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  83. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  84. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  85. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  86. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  87. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  88. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  89. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  90. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  91. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  92. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  93. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  94. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  95. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  96. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  97. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  98. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  99. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  100. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  101. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  102. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  103. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  104. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  105. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  106. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  107. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  108. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  109. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  110. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  111. package/cjs-bundle/components/FeedItem/components/FeedComments.js +1 -1
  112. package/cjs-bundle/components/FeedItem/components/FeedComments.js.map +1 -1
  113. package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
  114. package/cjs-bundle/components/GradientManager/GradientManager.js.map +1 -1
  115. package/cjs-bundle/components/GradientManager/GradientSelect.js +1 -1
  116. package/cjs-bundle/components/GradientManager/GradientSelect.js.map +1 -1
  117. package/cjs-bundle/components/Modal/Modal.js +1 -1
  118. package/cjs-bundle/components/Modal/Modal.js.map +1 -1
  119. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  120. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  121. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  122. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  123. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  124. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  125. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  126. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  127. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  128. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  129. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  130. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  131. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  132. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  133. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  134. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  135. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  136. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  137. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  138. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
  139. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  140. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
  141. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  142. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  143. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  144. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  145. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  146. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  147. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  148. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
  149. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  150. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
  151. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  152. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
  153. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  154. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
  155. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
  156. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
  157. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
  158. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
  159. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  160. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  161. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  162. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
  163. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
  164. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
  165. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
  166. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
  167. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js +2 -0
  168. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js.map +1 -0
  169. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
  170. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
  171. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
  172. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
  173. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
  174. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
  175. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
  176. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
  177. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
  178. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
  179. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js +1 -1
  180. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js.map +1 -1
  181. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  182. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  183. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
  184. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
  185. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
  186. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
  187. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
  188. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
  189. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js +1 -1
  190. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js.map +1 -1
  191. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
  192. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
  193. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js +1 -1
  194. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js.map +1 -1
  195. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  196. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  197. package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  198. package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
  199. package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
  200. package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
  201. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  202. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
  203. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useSortedWells.js +1 -1
  204. package/cjs-bundle/components/OffsetWellPickerV5/hooks/useSortedWells.js.map +1 -1
  205. package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
  206. package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -1
  207. package/cjs-bundle/components/OffsetWellPickerV5/utils/sortWellsBy.js +2 -0
  208. package/cjs-bundle/components/OffsetWellPickerV5/utils/sortWellsBy.js.map +1 -0
  209. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  210. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  211. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  212. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  213. package/cjs-bundle/components/Popover/Popover.js +1 -1
  214. package/cjs-bundle/components/Popover/Popover.js.map +1 -1
  215. package/cjs-bundle/components/Popper/Popper.js +1 -1
  216. package/cjs-bundle/components/Popper/Popper.js.map +1 -1
  217. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  218. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
  219. package/cjs-bundle/components/Tooltip/Tooltip.js +1 -1
  220. package/cjs-bundle/components/Tooltip/Tooltip.js.map +1 -1
  221. package/cjs-bundle/components/index.js +1 -1
  222. package/cjs-bundle/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  223. package/cjs-bundle/componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js +1 -1
  224. package/cjs-bundle/componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js.map +1 -1
  225. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  226. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  227. package/cjs-bundle/componentsV2/ImageViewer/ImageViewer.js +1 -1
  228. package/cjs-bundle/componentsV2/ImageViewer/ImageViewer.js.map +1 -1
  229. package/cjs-bundle/componentsV2/Modal/Modal.js +1 -1
  230. package/cjs-bundle/componentsV2/Modal/Modal.js.map +1 -1
  231. package/cjs-bundle/componentsV2/Popover/Popover.js +1 -1
  232. package/cjs-bundle/componentsV2/Popover/Popover.js.map +1 -1
  233. package/cjs-bundle/componentsV2/Popper/Popper.js +1 -1
  234. package/cjs-bundle/componentsV2/Popper/Popper.js.map +1 -1
  235. package/cjs-bundle/componentsV2/Tooltip/Tooltip.js +1 -1
  236. package/cjs-bundle/componentsV2/Tooltip/Tooltip.js.map +1 -1
  237. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  238. package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  239. package/cjs-bundle/componentsV2/utils.js +1 -1
  240. package/cjs-bundle/componentsV2/utils.js.map +1 -1
  241. package/cjs-bundle/permissions/useProvidePermissions.js +1 -1
  242. package/cjs-bundle/permissions/useProvidePermissions.js.map +1 -1
  243. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  244. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
  245. package/cjs-bundle/utils/links.js +1 -1
  246. package/cjs-bundle/utils/links.js.map +1 -1
  247. package/components/AddComment/Popover.js +1 -1
  248. package/components/AddComment/Popover.js.map +1 -1
  249. package/components/AddComment/components/Content.js +1 -1
  250. package/components/AddComment/components/Content.js.map +1 -1
  251. package/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  252. package/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  253. package/components/AttachmentLightbox/AttachmentPreviewPane.js +1 -1
  254. package/components/AttachmentLightbox/AttachmentPreviewPane.js.map +1 -1
  255. package/components/AttachmentPreview/AttachmentPreview.types.d.ts +2 -0
  256. package/components/AttachmentPreview/AttachmentPreview.types.d.ts.map +1 -1
  257. package/components/AttachmentPreview/AttachmentTile.js +1 -1
  258. package/components/AttachmentPreview/AttachmentTile.js.map +1 -1
  259. package/components/BICOffsetPickerDialog/index.js +1 -1
  260. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  261. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  262. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  263. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  264. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  265. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  266. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  267. package/components/CollapsableSidebar.js +1 -1
  268. package/components/CollapsableSidebar.js.map +1 -1
  269. package/components/CommentCard/CommentCard.d.ts.map +1 -1
  270. package/components/CommentCard/CommentCard.js +1 -1
  271. package/components/CommentCard/CommentCard.js.map +1 -1
  272. package/components/CommentComposer/ChatChannelSelector.d.ts.map +1 -1
  273. package/components/CommentComposer/ChatChannelSelector.js +1 -1
  274. package/components/CommentComposer/ChatChannelSelector.js.map +1 -1
  275. package/components/CommentComposer/ChatChannelSelector.scss.js +1 -1
  276. package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
  277. package/components/CommentComposer/useAttachmentUpload.js +1 -1
  278. package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  279. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts +61 -39
  280. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
  281. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  282. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  283. package/components/DevCenter/DevCenterAppContainer/__tests__/DevCenterAppContainer.registerAITools.test.d.ts.map +1 -1
  284. package/components/DevCenter/DevCenterAppContainer/__tests__/DevCenterAppContainer.test.d.ts.map +1 -1
  285. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.d.ts +6 -4
  286. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.d.ts.map +1 -1
  287. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js +1 -1
  288. package/components/DevCenter/DevCenterAppContainer/components/AppActions/AppActions.js.map +1 -1
  289. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts +34 -35
  290. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  291. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  292. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  293. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/__tests__/AppSettingsDialog.test.d.ts.map +1 -1
  294. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/__tests__/RemoveAppButton.test.d.ts.map +1 -1
  295. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.d.ts +6 -4
  296. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.d.ts.map +1 -1
  297. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js +1 -1
  298. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js.map +1 -1
  299. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.d.ts +10 -7
  300. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.d.ts.map +1 -1
  301. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
  302. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  303. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/index.d.ts +1 -0
  304. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/index.d.ts.map +1 -1
  305. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/index.d.ts +1 -1
  306. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/index.d.ts.map +1 -1
  307. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.d.ts +8 -1
  308. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.d.ts.map +1 -1
  309. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.js.map +1 -1
  310. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.d.ts +4 -3
  311. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.d.ts.map +1 -1
  312. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  313. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
  314. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.d.ts +2 -1
  315. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.d.ts.map +1 -1
  316. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js +1 -1
  317. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js.map +1 -1
  318. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.d.ts +5 -3
  319. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.d.ts.map +1 -1
  320. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.js +1 -1
  321. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchProvider.js.map +1 -1
  322. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts +9 -8
  323. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts.map +1 -1
  324. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  325. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  326. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.d.ts +7 -4
  327. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.d.ts.map +1 -1
  328. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js +1 -1
  329. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js.map +1 -1
  330. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/index.d.ts.map +1 -1
  331. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts +32 -0
  332. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts.map +1 -0
  333. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js +2 -0
  334. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -0
  335. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +16 -16
  336. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
  337. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js +1 -1
  338. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  339. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/__tests__/DevCenterAppView.test.d.ts.map +1 -1
  340. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.d.ts +4 -3
  341. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.d.ts.map +1 -1
  342. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.js.map +1 -1
  343. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.d.ts +5 -9
  344. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.d.ts.map +1 -1
  345. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  346. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  347. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/index.d.ts.map +1 -1
  348. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.d.ts.map +1 -0
  349. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js.map +1 -0
  350. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.d.ts +30 -0
  351. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.d.ts.map +1 -0
  352. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +2 -0
  353. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -0
  354. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.d.ts +15 -0
  355. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.d.ts.map +1 -0
  356. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +2 -0
  357. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -0
  358. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.d.ts +11 -0
  359. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.d.ts.map +1 -0
  360. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +2 -0
  361. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -0
  362. package/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.d.ts +5 -9
  363. package/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.d.ts.map +1 -1
  364. package/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js +1 -1
  365. package/components/DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js.map +1 -1
  366. package/components/DevCenter/DevCenterAppContainer/constants.d.ts +13 -0
  367. package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -0
  368. package/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  369. package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  370. package/components/DevCenter/DevCenterAppContainer/effects/__tests__/useAnnotationsData.test.d.ts.map +1 -1
  371. package/components/DevCenter/DevCenterAppContainer/effects/__tests__/useAppSettings.test.d.ts.map +1 -1
  372. package/components/DevCenter/DevCenterAppContainer/effects/index.d.ts +2 -1
  373. package/components/DevCenter/DevCenterAppContainer/effects/index.d.ts.map +1 -1
  374. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts +12 -9
  375. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts.map +1 -1
  376. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
  377. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
  378. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.d.ts +2 -1
  379. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.d.ts.map +1 -1
  380. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js +1 -1
  381. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsList.js.map +1 -1
  382. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.d.ts +10 -6
  383. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.d.ts.map +1 -1
  384. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
  385. package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
  386. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.d.ts +6 -4
  387. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.d.ts.map +1 -1
  388. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js +1 -1
  389. package/components/DevCenter/DevCenterAppContainer/effects/useAppSettings.js.map +1 -1
  390. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts +73 -0
  391. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts.map +1 -0
  392. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js +2 -0
  393. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -0
  394. package/components/DevCenter/DevCenterAppContainer/index.d.ts +2 -0
  395. package/components/DevCenter/DevCenterAppContainer/index.d.ts.map +1 -1
  396. package/components/DevCenter/DevCenterAppContainer/types.d.ts +135 -0
  397. package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -0
  398. package/components/DevCenter/DevCenterAppContainer/utils.d.ts +12 -7
  399. package/components/DevCenter/DevCenterAppContainer/utils.d.ts.map +1 -1
  400. package/components/DevCenter/DevCenterAppContainer/utils.js +1 -1
  401. package/components/DevCenter/DevCenterAppContainer/utils.js.map +1 -1
  402. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
  403. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
  404. package/components/DocumentViewer/DocumentViewer.js +1 -1
  405. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  406. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  407. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  408. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  409. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  410. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  411. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  412. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  413. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  414. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  415. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  416. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  417. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  418. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  419. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  420. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  421. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  422. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  423. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  424. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  425. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  426. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  427. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  428. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  429. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  430. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  431. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  432. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  433. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  434. package/components/FeedItem/FeedItem.js +1 -1
  435. package/components/FeedItem/FeedItem.js.map +1 -1
  436. package/components/FeedItem/components/FeedComments.js +1 -1
  437. package/components/FeedItem/components/FeedComments.js.map +1 -1
  438. package/components/GradientManager/GradientManager.js +1 -1
  439. package/components/GradientManager/GradientManager.js.map +1 -1
  440. package/components/GradientManager/GradientSelect.js +1 -1
  441. package/components/GradientManager/GradientSelect.js.map +1 -1
  442. package/components/Modal/Modal.js +1 -1
  443. package/components/Modal/Modal.js.map +1 -1
  444. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  445. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  446. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  447. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  448. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  449. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  450. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  451. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  452. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  453. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  454. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  455. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  456. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  457. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  458. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  459. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  460. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  461. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  462. package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
  463. package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
  464. package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
  465. package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
  466. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  467. package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  468. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  469. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  470. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
  471. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  472. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  473. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
  474. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
  475. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
  476. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
  477. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
  478. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
  479. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
  480. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
  481. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
  482. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
  483. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
  484. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  485. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  486. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
  487. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
  488. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
  489. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
  490. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
  491. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
  492. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.d.ts +12 -0
  493. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.d.ts.map +1 -0
  494. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js +2 -0
  495. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js.map +1 -0
  496. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/index.d.ts +2 -0
  497. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/{LastActiveCell → DateCell}/index.d.ts.map +1 -1
  498. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
  499. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
  500. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
  501. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
  502. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
  503. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
  504. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
  505. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
  506. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
  507. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
  508. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/index.d.ts +1 -1
  509. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/index.d.ts.map +1 -1
  510. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.d.ts.map +1 -1
  511. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js +1 -1
  512. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js.map +1 -1
  513. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
  514. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  515. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  516. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
  517. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
  518. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
  519. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
  520. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
  521. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
  522. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.d.ts.map +1 -1
  523. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js +1 -1
  524. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js.map +1 -1
  525. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
  526. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
  527. package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.d.ts.map +1 -1
  528. package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js +1 -1
  529. package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js.map +1 -1
  530. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +2 -1
  531. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
  532. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  533. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  534. package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
  535. package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
  536. package/components/OffsetWellPickerV5/constants.d.ts +10 -3
  537. package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
  538. package/components/OffsetWellPickerV5/constants.js +1 -1
  539. package/components/OffsetWellPickerV5/constants.js.map +1 -1
  540. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.d.ts.map +1 -1
  541. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
  542. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
  543. package/components/OffsetWellPickerV5/hooks/useSortedWells.d.ts +1 -4
  544. package/components/OffsetWellPickerV5/hooks/useSortedWells.d.ts.map +1 -1
  545. package/components/OffsetWellPickerV5/hooks/useSortedWells.js +1 -1
  546. package/components/OffsetWellPickerV5/hooks/useSortedWells.js.map +1 -1
  547. package/components/OffsetWellPickerV5/utils/__tests__/sortWellsBy.test.d.ts +2 -0
  548. package/components/OffsetWellPickerV5/utils/__tests__/sortWellsBy.test.d.ts.map +1 -0
  549. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts +0 -1
  550. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts.map +1 -1
  551. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
  552. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -1
  553. package/components/OffsetWellPickerV5/utils/sortWellsBy.d.ts +22 -0
  554. package/components/OffsetWellPickerV5/utils/sortWellsBy.d.ts.map +1 -0
  555. package/components/OffsetWellPickerV5/utils/sortWellsBy.js +2 -0
  556. package/components/OffsetWellPickerV5/utils/sortWellsBy.js.map +1 -0
  557. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  558. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  559. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  560. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  561. package/components/Popover/Popover.js +1 -1
  562. package/components/Popover/Popover.js.map +1 -1
  563. package/components/Popper/Popper.js +1 -1
  564. package/components/Popper/Popper.js.map +1 -1
  565. package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  566. package/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
  567. package/components/Tooltip/Tooltip.js +1 -1
  568. package/components/Tooltip/Tooltip.js.map +1 -1
  569. package/components/index.js +1 -1
  570. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts +2 -2
  571. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts.map +1 -1
  572. package/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  573. package/componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js +1 -1
  574. package/componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js.map +1 -1
  575. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  576. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  577. package/componentsV2/ImageViewer/ImageViewer.js +1 -1
  578. package/componentsV2/ImageViewer/ImageViewer.js.map +1 -1
  579. package/componentsV2/Modal/Modal.js +1 -1
  580. package/componentsV2/Modal/Modal.js.map +1 -1
  581. package/componentsV2/Popover/Popover.d.ts +4 -1
  582. package/componentsV2/Popover/Popover.d.ts.map +1 -1
  583. package/componentsV2/Popover/Popover.js +1 -1
  584. package/componentsV2/Popover/Popover.js.map +1 -1
  585. package/componentsV2/Popper/Popper.d.ts +3 -2
  586. package/componentsV2/Popper/Popper.d.ts.map +1 -1
  587. package/componentsV2/Popper/Popper.js +1 -1
  588. package/componentsV2/Popper/Popper.js.map +1 -1
  589. package/componentsV2/Tooltip/Tooltip.js +1 -1
  590. package/componentsV2/Tooltip/Tooltip.js.map +1 -1
  591. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
  592. package/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
  593. package/componentsV2/utils.d.ts +15 -0
  594. package/componentsV2/utils.d.ts.map +1 -1
  595. package/componentsV2/utils.js +1 -1
  596. package/componentsV2/utils.js.map +1 -1
  597. package/mcp-server/server.mjs +14 -14
  598. package/package.json +1 -1
  599. package/permissions/useProvidePermissions.d.ts.map +1 -1
  600. package/permissions/useProvidePermissions.js +1 -1
  601. package/permissions/useProvidePermissions.js.map +1 -1
  602. package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  603. package/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
  604. package/tsconfig.tsbuildinfo +1 -1
  605. package/utils/links.d.ts.map +1 -1
  606. package/utils/links.js +1 -1
  607. package/utils/links.js.map +1 -1
  608. package/assets/815107279c4c5fba7639d4e9124e83a5.svg +0 -3
  609. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js +0 -2
  610. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js.map +0 -1
  611. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.css.js +0 -2
  612. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.css.js.map +0 -1
  613. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js +0 -2
  614. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js.map +0 -1
  615. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js.map +0 -1
  616. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +0 -2
  617. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +0 -1
  618. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +0 -2
  619. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +0 -1
  620. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js +0 -2
  621. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js.map +0 -1
  622. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.d.ts +0 -5
  623. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.d.ts.map +0 -1
  624. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js +0 -2
  625. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js.map +0 -1
  626. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/index.d.ts +0 -2
  627. package/components/DevCenter/DevCenterAppContainer/components/AnnotationsButton/index.d.ts.map +0 -1
  628. package/components/DevCenter/DevCenterAppContainer/components/AppActions/index.d.ts +0 -2
  629. package/components/DevCenter/DevCenterAppContainer/components/AppActions/index.d.ts.map +0 -1
  630. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.css.js +0 -2
  631. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.css.js.map +0 -1
  632. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.d.ts +0 -18
  633. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.d.ts.map +0 -1
  634. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js +0 -2
  635. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js.map +0 -1
  636. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/index.d.ts +0 -2
  637. package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/index.d.ts.map +0 -1
  638. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.d.ts.map +0 -1
  639. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js.map +0 -1
  640. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/index.d.ts +0 -2
  641. package/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/index.d.ts.map +0 -1
  642. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts +0 -20
  643. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts.map +0 -1
  644. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +0 -2
  645. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +0 -1
  646. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/index.d.ts +0 -2
  647. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/index.d.ts.map +0 -1
  648. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.d.ts +0 -6
  649. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.d.ts.map +0 -1
  650. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +0 -2
  651. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +0 -1
  652. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/index.d.ts +0 -2
  653. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/index.d.ts.map +0 -1
  654. package/components/DevCenter/DevCenterAppContainer/components/index.d.ts +0 -10
  655. package/components/DevCenter/DevCenterAppContainer/components/index.d.ts.map +0 -1
  656. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.d.ts +0 -10
  657. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.d.ts.map +0 -1
  658. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js +0 -2
  659. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js.map +0 -1
  660. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/index.d.ts +0 -2
  661. /package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/{IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js → IsInsideIsolatedDcAppProvider.js} +0 -0
  662. /package/components/DevCenter/DevCenterAppContainer/components/{IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.d.ts → IsInsideIsolatedDcAppProvider.d.ts} +0 -0
  663. /package/components/DevCenter/DevCenterAppContainer/components/{IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js → IsInsideIsolatedDcAppProvider.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsableSidebar.js","sources":["../../src/components/CollapsableSidebar.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\nimport { withStyles, IconButton, Box } from '@material-ui/core';\nimport ChevronLeftRoundedIcon from '@material-ui/icons/ChevronLeftRounded';\nimport ChevronRightRoundedIcon from '@material-ui/icons/ChevronRightRounded';\n\nimport { SideBar } from './DevCenter';\n\nconst PAGE_NAME = 'CollapsableSidebar';\nconst DEFAULT_CLOSED_WIDTH = 48;\n\nconst muiStyles = theme => ({\n drawer: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n },\n drawerPaper: {\n '&$drawerClosed': {\n cursor: 'pointer',\n '&:hover::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n background: theme.palette.background.b7,\n },\n },\n },\n drawerClosed: {\n width: ({ closedWidth = DEFAULT_CLOSED_WIDTH }) => closedWidth,\n },\n openToggleIcon: {\n fontSize: '1.25rem',\n color: theme.palette.primary.text7,\n },\n openToggleIconClosed: {\n transform: 'rotate(180deg)',\n },\n openToggleIconButton: {\n padding: 6,\n },\n openToggleContainer: {\n display: 'flex',\n position: 'absolute',\n bottom: 0,\n width: '100%',\n flex: '0 0',\n padding: theme.spacing(2, 1, 1.5),\n },\n openToggleContainerCollapsed: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n justifyContent: 'center',\n },\n openToggleContainerOpened: {\n justifyContent: ({ anchor }) => (anchor === 'left' ? 'flex-end' : 'flex-start'),\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflow: 'hidden',\n paddingBottom: 60,\n },\n});\n\nconst CollapsableSidebar = ({\n classes,\n children,\n onStateChange = noop,\n initialState = true,\n drawerPaperClassName = null,\n isToolbarGutterShown,\n openedDrawerWidth,\n anchor,\n}) => {\n const [isOpen, setIsOpen] = useState(initialState);\n\n const toggleIsOpen = () => {\n setIsOpen(!isOpen);\n onStateChange(!isOpen);\n };\n\n const onSidebarClick = () => {\n if (!isOpen) {\n toggleIsOpen();\n }\n };\n\n const ChevroneIcon = anchor === 'left' ? ChevronLeftRoundedIcon : ChevronRightRoundedIcon;\n\n return (\n <SideBar\n isToolbarGutterShown={isToolbarGutterShown}\n drawerWidth={openedDrawerWidth}\n drawerClassName={classnames(classes.drawer, !isOpen && classes.drawerClosed)}\n drawerPaperClassName={classnames(\n classes.drawer,\n classes.drawerPaper,\n drawerPaperClassName,\n !isOpen && classes.drawerClosed\n )}\n anchor={anchor}\n listClassName={classes.list}\n onClick={onSidebarClick}\n >\n {children}\n <Box\n className={classnames(classes.openToggleContainer, {\n [classes.openToggleContainerCollapsed]: !isOpen,\n [classes.openToggleContainerOpened]: isOpen,\n })}\n >\n <IconButton\n data-testid={`${PAGE_NAME}_toggle`}\n aria-label=\"toggle sidebar\"\n className={classes.openToggleIconButton}\n onClick={toggleIsOpen}\n >\n <ChevroneIcon\n className={classnames(classes.openToggleIcon, {\n [classes.openToggleIconClosed]: !isOpen,\n })}\n />\n </IconButton>\n </Box>\n </SideBar>\n );\n};\n\nCollapsableSidebar.propTypes = {\n children: PropTypes.node.isRequired,\n onStateChange: PropTypes.func,\n initialState: PropTypes.bool,\n drawerPaperClassName: PropTypes.string,\n isToolbarGutterShown: PropTypes.bool,\n openedDrawerWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n anchor: PropTypes.oneOf(['left', 'right']),\n // eslint-disable-next-line react/no-unused-prop-types\n closedWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport default withStyles(muiStyles)(CollapsableSidebar);\n"],"names":["CollapsableSidebar","_ref3","_classnames","classes","children","_ref3$onStateChange","onStateChange","noop","_ref3$initialState","initialState","_ref3$drawerPaperClas","drawerPaperClassName","isToolbarGutterShown","openedDrawerWidth","anchor","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleIsOpen","ChevroneIcon","ChevronLeftRoundedIcon","ChevronRightRoundedIcon","_jsxs","SideBar","drawerWidth","drawerClassName","classnames","drawer","drawerClosed","drawerPaper","listClassName","list","onClick","_jsx","Box","className","openToggleContainer","openToggleContainerCollapsed","openToggleContainerOpened","IconButton","concat","openToggleIconButton","openToggleIcon","openToggleIconClosed","propTypes","PropTypes","node","isRequired","func","bool","string","oneOfType","number","oneOf","closedWidth","CollapsableSidebar$1","withStyles","theme","display","flexDirection","height","cursor","content","position","top","right","bottom","left","background","palette","b7","width","_ref","_ref$closedWidth","fontSize","color","primary","text7","transform","padding","flex","spacing","paddingRight","paddingLeft","justifyContent","_ref2","flexGrow","overflow","paddingBottom"],"mappings":"0leAUA,IA6DMA,EAAqB,SASrBC,GAAA,IAAAC,EARJC,IAAAA,QACAC,IAAAA,SAAQC,EAAAJ,EACRK,cAAAA,aAAgBC,EAAIF,EAAAG,EAAAP,EACpBQ,aAAAA,cAAmBD,EAAAE,EAAAT,EACnBU,qBAAAA,aAAuB,KAAID,EAC3BE,IAAAA,qBACAC,IAAAA,kBACAC,IAAAA,OAE4BC,EAAAA,EAASN,GAAaO,EAAAC,EAAAC,EAAA,GAA3CC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAe,WACnBD,GAAWD,GACXb,GAAea,IASXG,EAA0B,SAAXR,EAAoBS,EAAyBC,EAElE,OACEC,EAACC,EAAO,CACNd,qBAAsBA,EACtBe,YAAad,EACbe,gBAAiBC,EAAW1B,EAAQ2B,QAASX,GAAUhB,EAAQ4B,cAC/DpB,qBAAsBkB,EACpB1B,EAAQ2B,OACR3B,EAAQ6B,YACRrB,GACCQ,GAAUhB,EAAQ4B,cAErBjB,OAAQA,EACRmB,cAAe9B,EAAQ+B,KACvBC,QArBmB,WAChBhB,GACHE,KAmBwBjB,SAEvBA,CAAAA,EACDgC,EAACC,EAAG,CACFC,UAAWT,EAAW1B,EAAQoC,8BAC3BpC,EAAQqC,8BAAgCrB,GACxChB,EAAAA,EAAAA,EAAQsC,0BAA4BtB,GACpCjB,IAAAE,SAEHgC,EAACM,EAAU,CACT,cAAA,GAAAC,OA7GQ,qBA6G2B,WACnC,aAAW,iBACXL,UAAWnC,EAAQyC,qBACnBT,QAASd,EAAajB,SAEtBgC,EAACd,EAAY,CACXgB,UAAWT,EAAW1B,EAAQ0C,eAC3B1C,EAAAA,CAAAA,EAAAA,EAAQ2C,sBAAwB3B,YAO/C,EAEAnB,EAAmB+C,UAAY,CAC7B3C,SAAU4C,EAAUC,KAAKC,WACzB5C,cAAe0C,EAAUG,KACzB1C,aAAcuC,EAAUI,KACxBzC,qBAAsBqC,EAAUK,OAChCzC,qBAAsBoC,EAAUI,KAChCvC,kBAAmBmC,EAAUM,UAAU,CAACN,EAAUK,OAAQL,EAAUO,SACpEzC,OAAQkC,EAAUQ,MAAM,CAAC,OAAQ,UAEjCC,YAAaT,EAAUM,UAAU,CAACN,EAAUK,OAAQL,EAAUO,UAGhE,IAAAG,EAAeC,GAtIG,SAAAC,GAAK,MAAK,CAC1B9B,OAAQ,CACN+B,QAAS,OACTC,cAAe,SACfC,OAAQ,QAEV/B,YAAa,CACX,iBAAkB,CAChBgC,OAAQ,UACR,kBAAmB,CACjBC,QAAS,KACTC,SAAU,WACVC,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,EACNC,WAAYX,EAAMY,QAAQD,WAAWE,MAI3C1C,aAAc,CACZ2C,MAAO,SAAAC,GAAA,IAAAC,EAAAD,EAAGlB,YAAkC,kBAvBnB,GAuBmBmB,CAAkB,GAEhE/B,eAAgB,CACdgC,SAAU,UACVC,MAAOlB,EAAMY,QAAQO,QAAQC,OAE/BlC,qBAAsB,CACpBmC,UAAW,kBAEbrC,qBAAsB,CACpBsC,QAAS,GAEX3C,oBAAqB,CACnBsB,QAAS,OACTK,SAAU,WACVG,OAAQ,EACRK,MAAO,OACPS,KAAM,MACND,QAAStB,EAAMwB,QAAQ,EAAG,EAAG,MAE/B5C,6BAA8B,CAC5B6C,aAAczB,EAAMwB,QAAQ,GAC5BE,YAAa1B,EAAMwB,QAAQ,GAC3BG,eAAgB,UAElB9C,0BAA2B,CACzB8C,eAAgB,SAAAC,GAAS,MAAmB,WAAzB1E,OAAkC,WAAa,YAAY,GAEhFoB,KAAM,CACJ2B,QAAS,OACTC,cAAe,SACf2B,SAAU,EACVC,SAAU,SACVC,cAAe,IAElB,GA8EchC,CAAsB3D"}
1
+ {"version":3,"file":"CollapsableSidebar.js","sources":["../../src/components/CollapsableSidebar.js"],"sourcesContent":["import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\nimport { withStyles, IconButton, Box } from '@material-ui/core';\nimport ChevronLeftRoundedIcon from '@material-ui/icons/ChevronLeftRounded';\nimport ChevronRightRoundedIcon from '@material-ui/icons/ChevronRightRounded';\n\nimport { SideBar } from './DevCenter';\n\nconst PAGE_NAME = 'CollapsableSidebar';\nconst DEFAULT_CLOSED_WIDTH = 48;\n\nconst muiStyles = theme => ({\n drawer: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n },\n drawerPaper: {\n '&$drawerClosed': {\n cursor: 'pointer',\n '&:hover::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n background: theme.palette.background.b7,\n },\n },\n },\n drawerClosed: {\n width: ({ closedWidth = DEFAULT_CLOSED_WIDTH }) => closedWidth,\n },\n openToggleIcon: {\n fontSize: '1.25rem',\n color: theme.palette.primary.text7,\n },\n openToggleIconClosed: {\n transform: 'rotate(180deg)',\n },\n openToggleIconButton: {\n padding: 6,\n },\n openToggleContainer: {\n display: 'flex',\n position: 'absolute',\n bottom: 0,\n width: '100%',\n flex: '0 0',\n padding: theme.spacing(2, 1, 1.5),\n },\n openToggleContainerCollapsed: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n justifyContent: 'center',\n },\n openToggleContainerOpened: {\n justifyContent: ({ anchor }) => (anchor === 'left' ? 'flex-end' : 'flex-start'),\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflow: 'hidden',\n paddingBottom: 60,\n },\n});\n\nconst CollapsableSidebar = ({\n classes,\n children,\n onStateChange = noop,\n initialState = true,\n drawerPaperClassName = null,\n isToolbarGutterShown,\n openedDrawerWidth,\n anchor,\n}) => {\n const [isOpen, setIsOpen] = useState(initialState);\n\n const toggleIsOpen = () => {\n setIsOpen(!isOpen);\n onStateChange(!isOpen);\n };\n\n const onSidebarClick = () => {\n if (!isOpen) {\n toggleIsOpen();\n }\n };\n\n const ChevroneIcon = anchor === 'left' ? ChevronLeftRoundedIcon : ChevronRightRoundedIcon;\n\n return (\n <SideBar\n isToolbarGutterShown={isToolbarGutterShown}\n drawerWidth={openedDrawerWidth}\n drawerClassName={classnames(classes.drawer, !isOpen && classes.drawerClosed)}\n drawerPaperClassName={classnames(\n classes.drawer,\n classes.drawerPaper,\n drawerPaperClassName,\n !isOpen && classes.drawerClosed\n )}\n anchor={anchor}\n listClassName={classes.list}\n onClick={onSidebarClick}\n >\n {children}\n <Box\n className={classnames(classes.openToggleContainer, {\n [classes.openToggleContainerCollapsed]: !isOpen,\n [classes.openToggleContainerOpened]: isOpen,\n })}\n >\n <IconButton\n data-testid={`${PAGE_NAME}_toggle`}\n aria-label=\"toggle sidebar\"\n className={classes.openToggleIconButton}\n onClick={toggleIsOpen}\n >\n <ChevroneIcon\n className={classnames(classes.openToggleIcon, {\n [classes.openToggleIconClosed]: !isOpen,\n })}\n />\n </IconButton>\n </Box>\n </SideBar>\n );\n};\n\nCollapsableSidebar.propTypes = {\n children: PropTypes.node.isRequired,\n onStateChange: PropTypes.func,\n initialState: PropTypes.bool,\n drawerPaperClassName: PropTypes.string,\n isToolbarGutterShown: PropTypes.bool,\n openedDrawerWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n anchor: PropTypes.oneOf(['left', 'right']),\n // eslint-disable-next-line react/no-unused-prop-types\n closedWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nexport default withStyles(muiStyles)(CollapsableSidebar);\n"],"names":["CollapsableSidebar","_ref3","_classnames","classes","children","_ref3$onStateChange","onStateChange","noop","_ref3$initialState","initialState","_ref3$drawerPaperClas","drawerPaperClassName","isToolbarGutterShown","openedDrawerWidth","anchor","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleIsOpen","ChevroneIcon","ChevronLeftRoundedIcon","ChevronRightRoundedIcon","_jsxs","SideBar","drawerWidth","drawerClassName","classnames","drawer","drawerClosed","drawerPaper","listClassName","list","onClick","_jsx","Box","className","openToggleContainer","openToggleContainerCollapsed","openToggleContainerOpened","IconButton","concat","openToggleIconButton","openToggleIcon","openToggleIconClosed","propTypes","PropTypes","node","isRequired","func","bool","string","oneOfType","number","oneOf","closedWidth","CollapsableSidebar$1","withStyles","theme","display","flexDirection","height","cursor","content","position","top","right","bottom","left","background","palette","b7","width","_ref","_ref$closedWidth","fontSize","color","primary","text7","transform","padding","flex","spacing","paddingRight","paddingLeft","justifyContent","_ref2","flexGrow","overflow","paddingBottom"],"mappings":"gkfAUA,IA6DMA,EAAqB,SASrBC,GAAA,IAAAC,EARJC,IAAAA,QACAC,IAAAA,SAAQC,EAAAJ,EACRK,cAAAA,aAAgBC,EAAIF,EAAAG,EAAAP,EACpBQ,aAAAA,cAAmBD,EAAAE,EAAAT,EACnBU,qBAAAA,aAAuB,KAAID,EAC3BE,IAAAA,qBACAC,IAAAA,kBACAC,IAAAA,OAE4BC,EAAAA,EAASN,GAAaO,EAAAC,EAAAC,EAAA,GAA3CC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAe,WACnBD,GAAWD,GACXb,GAAea,IASXG,EAA0B,SAAXR,EAAoBS,EAAyBC,EAElE,OACEC,EAACC,EAAO,CACNd,qBAAsBA,EACtBe,YAAad,EACbe,gBAAiBC,EAAW1B,EAAQ2B,QAASX,GAAUhB,EAAQ4B,cAC/DpB,qBAAsBkB,EACpB1B,EAAQ2B,OACR3B,EAAQ6B,YACRrB,GACCQ,GAAUhB,EAAQ4B,cAErBjB,OAAQA,EACRmB,cAAe9B,EAAQ+B,KACvBC,QArBmB,WAChBhB,GACHE,KAmBwBjB,SAEvBA,CAAAA,EACDgC,EAACC,EAAG,CACFC,UAAWT,EAAW1B,EAAQoC,8BAC3BpC,EAAQqC,8BAAgCrB,GACxChB,EAAAA,EAAAA,EAAQsC,0BAA4BtB,GACpCjB,IAAAE,SAEHgC,EAACM,EAAU,CACT,cAAA,GAAAC,OA7GQ,qBA6G2B,WACnC,aAAW,iBACXL,UAAWnC,EAAQyC,qBACnBT,QAASd,EAAajB,SAEtBgC,EAACd,EAAY,CACXgB,UAAWT,EAAW1B,EAAQ0C,eAC3B1C,EAAAA,CAAAA,EAAAA,EAAQ2C,sBAAwB3B,YAO/C,EAEAnB,EAAmB+C,UAAY,CAC7B3C,SAAU4C,EAAUC,KAAKC,WACzB5C,cAAe0C,EAAUG,KACzB1C,aAAcuC,EAAUI,KACxBzC,qBAAsBqC,EAAUK,OAChCzC,qBAAsBoC,EAAUI,KAChCvC,kBAAmBmC,EAAUM,UAAU,CAACN,EAAUK,OAAQL,EAAUO,SACpEzC,OAAQkC,EAAUQ,MAAM,CAAC,OAAQ,UAEjCC,YAAaT,EAAUM,UAAU,CAACN,EAAUK,OAAQL,EAAUO,UAGhE,IAAAG,EAAeC,GAtIG,SAAAC,GAAK,MAAK,CAC1B9B,OAAQ,CACN+B,QAAS,OACTC,cAAe,SACfC,OAAQ,QAEV/B,YAAa,CACX,iBAAkB,CAChBgC,OAAQ,UACR,kBAAmB,CACjBC,QAAS,KACTC,SAAU,WACVC,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,EACNC,WAAYX,EAAMY,QAAQD,WAAWE,MAI3C1C,aAAc,CACZ2C,MAAO,SAAAC,GAAA,IAAAC,EAAAD,EAAGlB,YAAkC,kBAvBnB,GAuBmBmB,CAAkB,GAEhE/B,eAAgB,CACdgC,SAAU,UACVC,MAAOlB,EAAMY,QAAQO,QAAQC,OAE/BlC,qBAAsB,CACpBmC,UAAW,kBAEbrC,qBAAsB,CACpBsC,QAAS,GAEX3C,oBAAqB,CACnBsB,QAAS,OACTK,SAAU,WACVG,OAAQ,EACRK,MAAO,OACPS,KAAM,MACND,QAAStB,EAAMwB,QAAQ,EAAG,EAAG,MAE/B5C,6BAA8B,CAC5B6C,aAAczB,EAAMwB,QAAQ,GAC5BE,YAAa1B,EAAMwB,QAAQ,GAC3BG,eAAgB,UAElB9C,0BAA2B,CACzB8C,eAAgB,SAAAC,GAAS,MAAmB,WAAzB1E,OAAkC,WAAa,YAAY,GAEhFoB,KAAM,CACJ2B,QAAS,OACTC,cAAe,SACf2B,SAAU,EACVC,SAAU,SACVC,cAAe,IAElB,GA8EchC,CAAsB3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommentCard.d.ts","sourceRoot":"","sources":["../../../src/components/CommentCard/CommentCard.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAgB1E,eAAO,MAAM,WAAW,6GAoNtB,CAAC"}
1
+ {"version":3,"file":"CommentCard.d.ts","sourceRoot":"","sources":["../../../src/components/CommentCard/CommentCard.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAgB1E,eAAO,MAAM,WAAW,6GA8NtB,CAAC"}
@@ -1,2 +1,2 @@
1
- import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/toConsumableArray";import{forwardRef as n,useMemo as i}from"react";import{Collapse as c}from"@material-ui/core";import e from"classnames";import{FeedCard as t,FEED_CARD_MAX_HEIGHT_PX as r}from"../FeedCard/FeedCard.js";import{useStoredAttachments as m}from"../AttachmentPreview/useStoredAttachments.js";import{useFeedActivity as a}from"../FeedCard/useFeedActivity.js";import{AttachmentPreview as l}from"../AttachmentPreview/AttachmentPreview.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as p}from"../../componentsV2/Tooltip/Tooltip.js";import{jsx as u,jsxs as d,Fragment as j}from"react/jsx-runtime";import{InfoIcon as h}from"../../icons/iconParkIcons.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"@babel/runtime/helpers/slicedToArray";import"../../componentsV2/Menu/Menu.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../clients/jsonApi/index.js";import"../../utils/main.js";import"../AttachmentPreview/AttachmentImage.js";import"../AttachmentPreview/AttachmentPreview.scss.js";import"file-extension";import"image-extensions";import"video-extensions";import{Avatar as I}from"../../componentsV2/Avatar/Avatar.js";import{LinkedText as v}from"../LinkedText/LinkedText.js";import{CommentCardReactions as C}from"./CommentCardReactions.js";import{CommentCardReplies as f}from"./CommentCardReplies.js";import b from"./CommentCard.scss.js";function y(o,s){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),n.push.apply(n,i)}return n}function O(s){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?y(Object(i),!0).forEach((function(n){o(s,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):y(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var N=function(o){var s=o.rows;return u("div",{className:b.metadataRows,children:s.map((function(o){var s=o.label,n=o.value,i=o.unit;return d("div",{className:b.metadataRow,children:[u("span",{className:b.metadataLabel,children:s}),u("span",{className:b.metadataValue,children:n}),i&&u("span",{className:b.metadataUnit,children:i})]},s)}))})},g=n((function(o,n){var y=o.activity,g=o.variant,A=void 0===g?"expanded":g,w=o.author,R=o.timestamp,F=o.subtitle,P=o.body,k=o.contextRows,M=o.attachment,x=o.storedAttachments,S=o.isLiked,T=o.likesCount,L=o.commentsCount,D=o.replies,B=o.hasMoreReplies,E=o.moreRepliesCount,U=o.attachments,V=o.onAttachmentClick,z=o.onAttachmentShare,G=o.attachmentSlot,H=o.chip,W=o.chipColor,q=o.onLike,K=o.onReplyToggle,Z=o.onForward,J=o.onShowMoreReplies,Q=o.menuItems,X=o.isReplyOpen,Y=o.replyInput,$=o.editForm,_=o.width,oo=o.onMouseEnter,so=o.onMouseLeave,no=o.className,io=o.testId,co=a(y,"comment"),eo=co?[].concat(s(null!=Q?Q:[]),s(co.menuItems)):Q,to=co?co.replyInput:Y,ro=co?co.isReplyOpen:X,mo=co?co.replies:D,ao=!!(co||q||K||Z||null!=eo&&eo.length||null!=k&&k.length),lo=!(null==k||!k.length)&&u(p,{placement:"top",className:b.metadataTooltip,title:u(N,{rows:k}),children:u("span",{className:b.infoButton,"data-testid":"comment-card-info",children:u(h,{size:12,strokeWidth:2})})}),po=u(C,{info:lo,commentsCount:co?co.commentsCount:L,likesCount:co?co.likesCount:T,isLiked:co?co.isLiked:S,menuItems:eo,onLike:co?co.onLike:q,onReplyToggle:co?co.onReplyToggle:K,onForward:Z}),uo=d("div",{className:b.bodyRow,children:[u("div",{className:b.text,children:u(v,{children:P})}),H&&u("span",{className:e(b.chip,!!W&&b.chipAccented),style:W?{borderLeftColor:W}:void 0,children:H})]}),jo=i((function(){return null!=x?x:[M].filter(Boolean)}),[x,M]),ho=m(jo),Io=ho.length?ho:U,vo=null!=Io&&Io.length?u(l,{items:Io,onItemClick:V,onShare:z}):null,Co={ref:n,width:_,radius:12,onMouseEnter:oo,onMouseLeave:so,testId:io,className:no};if(null!=co&&co.isDeleted)return null;var fo=function(o){return d(j,{children:[o,null==co?void 0:co.deleteDialog]})};if("preview"===A)return fo(d(t,O(O({},Co),{},{maxHeight:r,children:[d("div",{className:b.compactBody,children:[d("div",{className:b.compactTop,children:[u(I,{size:24,name:w.name,imageSrc:w.avatarUrl,className:b.avatar}),u("span",{className:b.name,children:w.name}),u("span",{className:b.compactTime,children:R})]}),u("div",{className:b.scrollBody,children:uo})]}),ao&&u("div",{className:b.compactFooter,children:po})]})));var bo=!!$,yo=d("div",{className:b.header,children:[u(I,{size:24,name:w.name,imageSrc:w.avatarUrl,className:b.avatar}),d("div",{className:b.headerText,children:[d("div",{className:b.nameRow,children:[u("span",{className:b.name,children:w.name}),R&&u("span",{className:b.timestamp,children:R})]}),F&&u("span",{className:b.subtitle,children:F})]})]});return fo(d(t,O(O({},Co),{},bo?{children:[u("div",{className:b.editHeader,children:yo}),$]}:{children:[d("div",{className:b.capped,style:{maxHeight:r},children:[d("div",{className:b.bodySurface,children:[yo,d("div",{className:b.scrollBody,children:[uo,(vo||G)&&d("div",{className:b.attachment,children:[vo,G]})]})]}),ao&&u("div",{className:b.footer,children:po})]}),ao&&u(c,{in:ro,timeout:250,unmountOnExit:!0,children:u("div",{className:b.repliesSection,children:u(f,{replies:mo,hasMoreReplies:co?co.hasMoreReplies:B,moreRepliesCount:co?co.moreRepliesCount:E,isReplyOpen:ro,replyInput:to,onShowMoreReplies:co?co.onShowMoreReplies:J})})})]})))}));export{g as CommentCard};
1
+ import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/toConsumableArray";import{forwardRef as n,useMemo as i}from"react";import{Collapse as c}from"@material-ui/core";import e from"classnames";import{FeedCard as t,FEED_CARD_MAX_HEIGHT_PX as r}from"../FeedCard/FeedCard.js";import{useStoredAttachments as m}from"../AttachmentPreview/useStoredAttachments.js";import{useFeedActivity as a}from"../FeedCard/useFeedActivity.js";import{AttachmentPreview as l}from"../AttachmentPreview/AttachmentPreview.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as p}from"../../componentsV2/Tooltip/Tooltip.js";import{jsx as u,jsxs as d,Fragment as j}from"react/jsx-runtime";import{InfoIcon as h}from"../../icons/iconParkIcons.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"@babel/runtime/helpers/slicedToArray";import"../../componentsV2/Menu/Menu.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../clients/jsonApi/index.js";import"../../utils/main.js";import"../AttachmentPreview/AttachmentImage.js";import"../AttachmentPreview/AttachmentPreview.scss.js";import"file-extension";import"image-extensions";import"video-extensions";import{Avatar as I}from"../../componentsV2/Avatar/Avatar.js";import{LinkedText as v}from"../LinkedText/LinkedText.js";import{CommentCardReactions as C}from"./CommentCardReactions.js";import{CommentCardReplies as f}from"./CommentCardReplies.js";import b from"./CommentCard.scss.js";function y(o,s){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),n.push.apply(n,i)}return n}function N(s){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?y(Object(i),!0).forEach((function(n){o(s,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):y(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var O=function(o){var s=o.rows;return u("div",{className:b.metadataRows,children:s.map((function(o){var s=o.label,n=o.value,i=o.unit;return d("div",{className:b.metadataRow,children:[u("span",{className:b.metadataLabel,children:s}),u("span",{className:b.metadataValue,children:n}),i&&u("span",{className:b.metadataUnit,children:i})]},s)}))})},g=n((function(o,n){var y=o.activity,g=o.variant,w=void 0===g?"expanded":g,A=o.author,R=o.timestamp,F=o.subtitle,P=o.body,k=o.contextRows,M=o.attachment,x=o.storedAttachments,S=o.isLiked,T=o.likesCount,L=o.commentsCount,D=o.replies,B=o.hasMoreReplies,E=o.moreRepliesCount,U=o.attachments,V=o.onAttachmentClick,z=o.onAttachmentShare,G=o.attachmentSlot,H=o.chip,W=o.chipColor,q=o.onLike,K=o.onReplyToggle,Z=o.onForward,J=o.onShowMoreReplies,Q=o.menuItems,X=o.isReplyOpen,Y=o.replyInput,$=o.editForm,_=o.width,oo=o.onMouseEnter,so=o.onMouseLeave,no=o.className,io=o.testId,co=a(y,"comment"),eo=co?[].concat(s(null!=Q?Q:[]),s(co.menuItems)):Q,to=co?co.replyInput:Y,ro=co?co.isReplyOpen:X,mo=co?co.replies:D,ao=!(null==k||!k.length),lo=ao&&!H,po=!!(co||q||K||Z||null!=eo&&eo.length||lo),uo=lo&&u(p,{placement:"top",className:b.metadataTooltip,title:u(O,{rows:k}),children:u("span",{className:b.infoButton,"data-testid":"comment-card-info",children:u(h,{size:12,strokeWidth:2})})}),jo=u(C,{info:uo,commentsCount:co?co.commentsCount:L,likesCount:co?co.likesCount:T,isLiked:co?co.isLiked:S,menuItems:eo,onLike:co?co.onLike:q,onReplyToggle:co?co.onReplyToggle:K,onForward:Z}),ho=d("div",{className:b.bodyRow,children:[u("div",{className:b.text,children:u(v,{children:P})}),H&&u(p,{placement:"top",className:b.metadataTooltip,title:ao?u(O,{rows:k}):"",children:u("span",{className:e(b.chip,!!W&&b.chipAccented),style:W?{borderLeftColor:W}:void 0,children:H})})]}),Io=i((function(){return null!=x?x:[M].filter(Boolean)}),[x,M]),vo=m(Io),Co=vo.length?vo:U,fo=null!=Co&&Co.length?u(l,{items:Co,onItemClick:V,onShare:z}):null,bo={ref:n,width:_,radius:12,onMouseEnter:oo,onMouseLeave:so,testId:io,className:no};if(null!=co&&co.isDeleted)return null;var yo=function(o){return d(j,{children:[o,null==co?void 0:co.deleteDialog]})};if("preview"===w)return yo(d(t,N(N({},bo),{},{maxHeight:r,children:[d("div",{className:b.compactBody,children:[d("div",{className:b.compactTop,children:[u(I,{size:24,name:A.name,imageSrc:A.avatarUrl,className:b.avatar}),u("span",{className:b.name,children:A.name}),u("span",{className:b.compactTime,children:R})]}),u("div",{className:b.scrollBody,children:ho})]}),po&&u("div",{className:b.compactFooter,children:jo})]})));var No=!!$,Oo=d("div",{className:b.header,children:[u(I,{size:24,name:A.name,imageSrc:A.avatarUrl,className:b.avatar}),d("div",{className:b.headerText,children:[d("div",{className:b.nameRow,children:[u("span",{className:b.name,children:A.name}),R&&u("span",{className:b.timestamp,children:R})]}),F&&u("span",{className:b.subtitle,children:F})]})]});return yo(d(t,N(N({},bo),{},No?{children:[u("div",{className:b.editHeader,children:Oo}),$]}:{children:[d("div",{className:b.capped,style:{maxHeight:r},children:[d("div",{className:b.bodySurface,children:[Oo,d("div",{className:b.scrollBody,children:[ho,(fo||G)&&d("div",{className:b.attachment,children:[fo,G]})]})]}),po&&u("div",{className:b.footer,children:jo})]}),po&&u(c,{in:ro,timeout:250,unmountOnExit:!0,children:u("div",{className:b.repliesSection,children:u(f,{replies:mo,hasMoreReplies:co?co.hasMoreReplies:B,moreRepliesCount:co?co.moreRepliesCount:E,isReplyOpen:ro,replyInput:to,onShowMoreReplies:co?co.onShowMoreReplies:J})})})]})))}));export{g as CommentCard};
2
2
  //# sourceMappingURL=CommentCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentCard.js","sources":["../../../src/components/CommentCard/CommentCard.tsx"],"sourcesContent":["import { forwardRef, ReactElement, useMemo } from 'react';\nimport { Collapse } from '@material-ui/core';\nimport classNames from 'classnames';\n\nimport { FeedCard, FEED_CARD_MAX_HEIGHT_PX } from '../FeedCard';\nimport { StoredAttachment } from '../AttachmentPreview/useStoredAttachment';\nimport { useStoredAttachments } from '../AttachmentPreview/useStoredAttachments';\nimport { useFeedActivity } from '../FeedCard/useFeedActivity';\nimport { AttachmentPreview } from '../AttachmentPreview';\nimport { Avatar } from '../../componentsV2/Avatar';\nimport { Tooltip } from '../../componentsV2/Tooltip';\nimport { LinkedText } from '../LinkedText';\nimport { InfoIcon } from '../../icons';\n\nimport { CommentCardReactions } from './CommentCardReactions';\nimport { CommentCardReplies } from './CommentCardReplies';\nimport { CommentCardProps, CommentContextRow } from './CommentCard.types';\n\nimport styles from './CommentCard.scss';\n\nconst MetadataTooltip = ({ rows }: { rows: CommentContextRow[] }) => (\n <div className={styles.metadataRows}>\n {rows.map(({ label, value, unit }) => (\n <div key={label} className={styles.metadataRow}>\n <span className={styles.metadataLabel}>{label}</span>\n <span className={styles.metadataValue}>{value}</span>\n {unit && <span className={styles.metadataUnit}>{unit}</span>}\n </div>\n ))}\n </div>\n);\n\nexport const CommentCard = forwardRef<HTMLDivElement, CommentCardProps>((props, ref) => {\n const {\n activity,\n variant = 'expanded',\n author,\n timestamp,\n subtitle,\n body,\n contextRows,\n attachment,\n storedAttachments,\n isLiked,\n likesCount,\n commentsCount,\n replies,\n hasMoreReplies,\n moreRepliesCount,\n attachments,\n onAttachmentClick,\n onAttachmentShare,\n attachmentSlot,\n chip,\n chipColor,\n onLike,\n onReplyToggle,\n onForward,\n onShowMoreReplies,\n menuItems,\n isReplyOpen,\n replyInput,\n editForm,\n width,\n onMouseEnter,\n onMouseLeave,\n className,\n testId,\n } = props;\n\n const activityBinding = useFeedActivity(activity, 'comment');\n const cardMenuItems = activityBinding\n ? [...(menuItems ?? []), ...activityBinding.menuItems]\n : menuItems;\n const cardReplyInput = activityBinding ? activityBinding.replyInput : replyInput;\n const cardIsReplyOpen = activityBinding ? activityBinding.isReplyOpen : isReplyOpen;\n const cardReplies = activityBinding ? activityBinding.replies : replies;\n\n const hasFooter = !!(\n activityBinding ||\n onLike ||\n onReplyToggle ||\n onForward ||\n cardMenuItems?.length ||\n contextRows?.length\n );\n\n const info = !!contextRows?.length && (\n <Tooltip\n placement=\"top\"\n className={styles.metadataTooltip}\n title={<MetadataTooltip rows={contextRows} />}\n >\n <span className={styles.infoButton} data-testid=\"comment-card-info\">\n <InfoIcon size={12} strokeWidth={2} />\n </span>\n </Tooltip>\n );\n\n const reactions = (\n <CommentCardReactions\n info={info}\n commentsCount={activityBinding ? activityBinding.commentsCount : commentsCount}\n likesCount={activityBinding ? activityBinding.likesCount : likesCount}\n isLiked={activityBinding ? activityBinding.isLiked : isLiked}\n menuItems={cardMenuItems}\n onLike={activityBinding ? activityBinding.onLike : onLike}\n onReplyToggle={activityBinding ? activityBinding.onReplyToggle : onReplyToggle}\n onForward={onForward}\n />\n );\n\n const bodyRow = (\n <div className={styles.bodyRow}>\n <div className={styles.text}>\n <LinkedText>{body}</LinkedText>\n </div>\n {chip && (\n <span\n className={classNames(styles.chip, !!chipColor && styles.chipAccented)}\n style={chipColor ? { borderLeftColor: chipColor } : undefined}\n >\n {chip}\n </span>\n )}\n </div>\n );\n\n const storedList = useMemo(\n () => storedAttachments ?? ([attachment].filter(Boolean) as StoredAttachment[]),\n [storedAttachments, attachment]\n );\n const storedItems = useStoredAttachments(storedList);\n const items = storedItems.length ? storedItems : attachments;\n\n // Undefined is the norm, which lets AttachmentPreview run its own lightbox; a caller that\n // passes the prop is taking the click over.\n const attachmentPreview = items?.length ? (\n <AttachmentPreview items={items} onItemClick={onAttachmentClick} onShare={onAttachmentShare} />\n ) : null;\n\n const surfaceProps = {\n ref,\n width,\n radius: 12,\n onMouseEnter,\n onMouseLeave,\n testId,\n className,\n };\n\n if (activityBinding?.isDeleted) return null;\n const withOverlays = (card: ReactElement) => (\n <>\n {card}\n {activityBinding?.deleteDialog}\n </>\n );\n\n if (variant === 'preview') {\n return withOverlays(\n <FeedCard {...surfaceProps} maxHeight={FEED_CARD_MAX_HEIGHT_PX}>\n <div className={styles.compactBody}>\n <div className={styles.compactTop}>\n <Avatar\n size={24}\n name={author.name}\n imageSrc={author.avatarUrl}\n className={styles.avatar}\n />\n <span className={styles.name}>{author.name}</span>\n <span className={styles.compactTime}>{timestamp}</span>\n </div>\n <div className={styles.scrollBody}>{bodyRow}</div>\n </div>\n {hasFooter && <div className={styles.compactFooter}>{reactions}</div>}\n </FeedCard>\n );\n }\n\n const editing = !!editForm;\n\n const headerEl = (\n <div className={styles.header}>\n <Avatar size={24} name={author.name} imageSrc={author.avatarUrl} className={styles.avatar} />\n <div className={styles.headerText}>\n <div className={styles.nameRow}>\n <span className={styles.name}>{author.name}</span>\n {timestamp && <span className={styles.timestamp}>{timestamp}</span>}\n </div>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </div>\n </div>\n );\n\n if (editing) {\n return withOverlays(\n <FeedCard {...surfaceProps}>\n <div className={styles.editHeader}>{headerEl}</div>\n {editForm}\n </FeedCard>\n );\n }\n\n return withOverlays(\n <FeedCard {...surfaceProps}>\n <div className={styles.capped} style={{ maxHeight: FEED_CARD_MAX_HEIGHT_PX }}>\n <div className={styles.bodySurface}>\n {headerEl}\n\n <div className={styles.scrollBody}>\n {bodyRow}\n {(attachmentPreview || attachmentSlot) && (\n <div className={styles.attachment}>\n {attachmentPreview}\n {attachmentSlot}\n </div>\n )}\n </div>\n </div>\n\n {hasFooter && <div className={styles.footer}>{reactions}</div>}\n </div>\n\n {hasFooter && (\n <Collapse in={cardIsReplyOpen} timeout={250} unmountOnExit>\n <div className={styles.repliesSection}>\n <CommentCardReplies\n replies={cardReplies}\n hasMoreReplies={activityBinding ? activityBinding.hasMoreReplies : hasMoreReplies}\n moreRepliesCount={\n activityBinding ? activityBinding.moreRepliesCount : moreRepliesCount\n }\n isReplyOpen={cardIsReplyOpen}\n replyInput={cardReplyInput}\n onShowMoreReplies={\n activityBinding ? activityBinding.onShowMoreReplies : onShowMoreReplies\n }\n />\n </div>\n </Collapse>\n )}\n </FeedCard>\n );\n});\n"],"names":["MetadataTooltip","_ref","rows","_jsx","className","styles","metadataRows","children","map","_ref2","label","value","unit","_jsxs","metadataRow","metadataLabel","metadataValue","metadataUnit","CommentCard","forwardRef","props","ref","activity","_props$variant","variant","author","timestamp","subtitle","body","contextRows","attachment","storedAttachments","isLiked","likesCount","commentsCount","replies","hasMoreReplies","moreRepliesCount","attachments","onAttachmentClick","onAttachmentShare","attachmentSlot","chip","chipColor","onLike","onReplyToggle","onForward","onShowMoreReplies","menuItems","isReplyOpen","replyInput","editForm","width","onMouseEnter","onMouseLeave","testId","activityBinding","useFeedActivity","cardMenuItems","cardReplyInput","cardIsReplyOpen","cardReplies","hasFooter","length","info","Tooltip","placement","metadataTooltip","title","infoButton","InfoIcon","size","strokeWidth","reactions","CommentCardReactions","bodyRow","text","LinkedText","classNames","chipAccented","style","borderLeftColor","undefined","storedList","useMemo","filter","Boolean","storedItems","useStoredAttachments","items","attachmentPreview","AttachmentPreview","onItemClick","onShare","surfaceProps","radius","isDeleted","withOverlays","card","_Fragment","deleteDialog","FeedCard","maxHeight","FEED_CARD_MAX_HEIGHT_PX","compactBody","compactTop","Avatar","name","imageSrc","avatarUrl","avatar","compactTime","scrollBody","compactFooter","editing","headerEl","header","headerText","nameRow","editHeader","capped","bodySurface","footer","Collapse","in","timeout","unmountOnExit","repliesSection","CommentCardReplies"],"mappings":"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"}
1
+ {"version":3,"file":"CommentCard.js","sources":["../../../src/components/CommentCard/CommentCard.tsx"],"sourcesContent":["import { forwardRef, ReactElement, useMemo } from 'react';\nimport { Collapse } from '@material-ui/core';\nimport classNames from 'classnames';\n\nimport { FeedCard, FEED_CARD_MAX_HEIGHT_PX } from '../FeedCard';\nimport { StoredAttachment } from '../AttachmentPreview/useStoredAttachment';\nimport { useStoredAttachments } from '../AttachmentPreview/useStoredAttachments';\nimport { useFeedActivity } from '../FeedCard/useFeedActivity';\nimport { AttachmentPreview } from '../AttachmentPreview';\nimport { Avatar } from '../../componentsV2/Avatar';\nimport { Tooltip } from '../../componentsV2/Tooltip';\nimport { LinkedText } from '../LinkedText';\nimport { InfoIcon } from '../../icons';\n\nimport { CommentCardReactions } from './CommentCardReactions';\nimport { CommentCardReplies } from './CommentCardReplies';\nimport { CommentCardProps, CommentContextRow } from './CommentCard.types';\n\nimport styles from './CommentCard.scss';\n\nconst MetadataTooltip = ({ rows }: { rows: CommentContextRow[] }) => (\n <div className={styles.metadataRows}>\n {rows.map(({ label, value, unit }) => (\n <div key={label} className={styles.metadataRow}>\n <span className={styles.metadataLabel}>{label}</span>\n <span className={styles.metadataValue}>{value}</span>\n {unit && <span className={styles.metadataUnit}>{unit}</span>}\n </div>\n ))}\n </div>\n);\n\nexport const CommentCard = forwardRef<HTMLDivElement, CommentCardProps>((props, ref) => {\n const {\n activity,\n variant = 'expanded',\n author,\n timestamp,\n subtitle,\n body,\n contextRows,\n attachment,\n storedAttachments,\n isLiked,\n likesCount,\n commentsCount,\n replies,\n hasMoreReplies,\n moreRepliesCount,\n attachments,\n onAttachmentClick,\n onAttachmentShare,\n attachmentSlot,\n chip,\n chipColor,\n onLike,\n onReplyToggle,\n onForward,\n onShowMoreReplies,\n menuItems,\n isReplyOpen,\n replyInput,\n editForm,\n width,\n onMouseEnter,\n onMouseLeave,\n className,\n testId,\n } = props;\n\n const activityBinding = useFeedActivity(activity, 'comment');\n const cardMenuItems = activityBinding\n ? [...(menuItems ?? []), ...activityBinding.menuItems]\n : menuItems;\n const cardReplyInput = activityBinding ? activityBinding.replyInput : replyInput;\n const cardIsReplyOpen = activityBinding ? activityBinding.isReplyOpen : isReplyOpen;\n const cardReplies = activityBinding ? activityBinding.replies : replies;\n\n const hasMetadata = !!contextRows?.length;\n // The chip takes over the metadata tooltip when present, so the info icon is redundant.\n const showInfoIcon = hasMetadata && !chip;\n\n const hasFooter = !!(\n activityBinding ||\n onLike ||\n onReplyToggle ||\n onForward ||\n cardMenuItems?.length ||\n showInfoIcon\n );\n\n const info = showInfoIcon && (\n <Tooltip\n placement=\"top\"\n className={styles.metadataTooltip}\n title={<MetadataTooltip rows={contextRows} />}\n >\n <span className={styles.infoButton} data-testid=\"comment-card-info\">\n <InfoIcon size={12} strokeWidth={2} />\n </span>\n </Tooltip>\n );\n\n const reactions = (\n <CommentCardReactions\n info={info}\n commentsCount={activityBinding ? activityBinding.commentsCount : commentsCount}\n likesCount={activityBinding ? activityBinding.likesCount : likesCount}\n isLiked={activityBinding ? activityBinding.isLiked : isLiked}\n menuItems={cardMenuItems}\n onLike={activityBinding ? activityBinding.onLike : onLike}\n onReplyToggle={activityBinding ? activityBinding.onReplyToggle : onReplyToggle}\n onForward={onForward}\n />\n );\n\n const bodyRow = (\n <div className={styles.bodyRow}>\n <div className={styles.text}>\n <LinkedText>{body}</LinkedText>\n </div>\n {chip && (\n <Tooltip\n placement=\"top\"\n className={styles.metadataTooltip}\n title={hasMetadata ? <MetadataTooltip rows={contextRows} /> : ''}\n >\n <span\n className={classNames(styles.chip, !!chipColor && styles.chipAccented)}\n style={chipColor ? { borderLeftColor: chipColor } : undefined}\n >\n {chip}\n </span>\n </Tooltip>\n )}\n </div>\n );\n\n const storedList = useMemo(\n () => storedAttachments ?? ([attachment].filter(Boolean) as StoredAttachment[]),\n [storedAttachments, attachment]\n );\n const storedItems = useStoredAttachments(storedList);\n const items = storedItems.length ? storedItems : attachments;\n\n // Undefined is the norm, which lets AttachmentPreview run its own lightbox; a caller that\n // passes the prop is taking the click over.\n const attachmentPreview = items?.length ? (\n <AttachmentPreview items={items} onItemClick={onAttachmentClick} onShare={onAttachmentShare} />\n ) : null;\n\n const surfaceProps = {\n ref,\n width,\n radius: 12,\n onMouseEnter,\n onMouseLeave,\n testId,\n className,\n };\n\n if (activityBinding?.isDeleted) return null;\n const withOverlays = (card: ReactElement) => (\n <>\n {card}\n {activityBinding?.deleteDialog}\n </>\n );\n\n if (variant === 'preview') {\n return withOverlays(\n <FeedCard {...surfaceProps} maxHeight={FEED_CARD_MAX_HEIGHT_PX}>\n <div className={styles.compactBody}>\n <div className={styles.compactTop}>\n <Avatar\n size={24}\n name={author.name}\n imageSrc={author.avatarUrl}\n className={styles.avatar}\n />\n <span className={styles.name}>{author.name}</span>\n <span className={styles.compactTime}>{timestamp}</span>\n </div>\n <div className={styles.scrollBody}>{bodyRow}</div>\n </div>\n {hasFooter && <div className={styles.compactFooter}>{reactions}</div>}\n </FeedCard>\n );\n }\n\n const editing = !!editForm;\n\n const headerEl = (\n <div className={styles.header}>\n <Avatar size={24} name={author.name} imageSrc={author.avatarUrl} className={styles.avatar} />\n <div className={styles.headerText}>\n <div className={styles.nameRow}>\n <span className={styles.name}>{author.name}</span>\n {timestamp && <span className={styles.timestamp}>{timestamp}</span>}\n </div>\n {subtitle && <span className={styles.subtitle}>{subtitle}</span>}\n </div>\n </div>\n );\n\n if (editing) {\n return withOverlays(\n <FeedCard {...surfaceProps}>\n <div className={styles.editHeader}>{headerEl}</div>\n {editForm}\n </FeedCard>\n );\n }\n\n return withOverlays(\n <FeedCard {...surfaceProps}>\n <div className={styles.capped} style={{ maxHeight: FEED_CARD_MAX_HEIGHT_PX }}>\n <div className={styles.bodySurface}>\n {headerEl}\n\n <div className={styles.scrollBody}>\n {bodyRow}\n {(attachmentPreview || attachmentSlot) && (\n <div className={styles.attachment}>\n {attachmentPreview}\n {attachmentSlot}\n </div>\n )}\n </div>\n </div>\n\n {hasFooter && <div className={styles.footer}>{reactions}</div>}\n </div>\n\n {hasFooter && (\n <Collapse in={cardIsReplyOpen} timeout={250} unmountOnExit>\n <div className={styles.repliesSection}>\n <CommentCardReplies\n replies={cardReplies}\n hasMoreReplies={activityBinding ? activityBinding.hasMoreReplies : hasMoreReplies}\n moreRepliesCount={\n activityBinding ? activityBinding.moreRepliesCount : moreRepliesCount\n }\n isReplyOpen={cardIsReplyOpen}\n replyInput={cardReplyInput}\n onShowMoreReplies={\n activityBinding ? activityBinding.onShowMoreReplies : onShowMoreReplies\n }\n />\n </div>\n </Collapse>\n )}\n </FeedCard>\n );\n});\n"],"names":["MetadataTooltip","_ref","rows","_jsx","className","styles","metadataRows","children","map","_ref2","label","value","unit","_jsxs","metadataRow","metadataLabel","metadataValue","metadataUnit","CommentCard","forwardRef","props","ref","activity","_props$variant","variant","author","timestamp","subtitle","body","contextRows","attachment","storedAttachments","isLiked","likesCount","commentsCount","replies","hasMoreReplies","moreRepliesCount","attachments","onAttachmentClick","onAttachmentShare","attachmentSlot","chip","chipColor","onLike","onReplyToggle","onForward","onShowMoreReplies","menuItems","isReplyOpen","replyInput","editForm","width","onMouseEnter","onMouseLeave","testId","activityBinding","useFeedActivity","cardMenuItems","cardReplyInput","cardIsReplyOpen","cardReplies","hasMetadata","length","showInfoIcon","hasFooter","info","Tooltip","placement","metadataTooltip","title","infoButton","InfoIcon","size","strokeWidth","reactions","CommentCardReactions","bodyRow","text","LinkedText","classNames","chipAccented","style","borderLeftColor","undefined","storedList","useMemo","filter","Boolean","storedItems","useStoredAttachments","items","attachmentPreview","AttachmentPreview","onItemClick","onShare","surfaceProps","radius","isDeleted","withOverlays","card","_Fragment","deleteDialog","FeedCard","maxHeight","FEED_CARD_MAX_HEIGHT_PX","compactBody","compactTop","Avatar","name","imageSrc","avatarUrl","avatar","compactTime","scrollBody","compactFooter","editing","headerEl","header","headerText","nameRow","editHeader","capped","bodySurface","footer","Collapse","in","timeout","unmountOnExit","repliesSection","CommentCardReplies"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatChannelSelector.d.ts","sourceRoot":"","sources":["../../../src/components/CommentComposer/ChatChannelSelector.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAaF,eAAO,MAAM,mBAAmB,kEAO7B,wBAAwB,4CA8E1B,CAAC"}
1
+ {"version":3,"file":"ChatChannelSelector.d.ts","sourceRoot":"","sources":["../../../src/components/CommentComposer/ChatChannelSelector.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA+CF,eAAO,MAAM,mBAAmB,kEAO7B,wBAAwB,4CAmC1B,CAAC"}
@@ -1,2 +1,2 @@
1
- import o from"@babel/runtime/helpers/slicedToArray";import{useRef as s,useState as c,useMemo as n}from"react";import i from"@material-ui/icons/ArrowDropDown";import t from"@material-ui/icons/Search";import{Avatar as r}from"../../componentsV2/Avatar/Avatar.js";import{Chip as e}from"../../componentsV2/Chip/Chip.js";import{Popover as m}from"../../componentsV2/Popover/Popover.js";import{TextInputNext as p}from"../../componentsV2/TextInputNext/TextInputNext.js";import{Tooltip as a}from"../../componentsV2/Tooltip/Tooltip.js";import{FolderClosedIcon as u}from"../../icons/iconParkIcons.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 l from"./ChatChannelSelector.scss.js";import{jsxs as I,Fragment as j,jsx as d}from"react/jsx-runtime";var h=function(h){var C,v,f=h.channels,b=h.value,N=h.onChange,g=h.disabled,F=h.placeholder,A=void 0===F?"Select chat":F,O=h.testId,x=s(null),P=c(!1),y=o(P,2),S=y[0],T=y[1],k=c(""),D=o(k,2),M=D[0],L=D[1],V=n((function(){return function(o,s){var c=s.trim().toLowerCase();return c?o.filter((function(o){var s;return o.name.toLowerCase().includes(c)||(null!==(s=o.subtitle)&&void 0!==s?s:"").toLowerCase().includes(c)})):o.filter((function(o){return!o.isVirtual}))}(f,M)}),[f,M]);return I(j,{children:[d("div",{ref:x,className:l.trigger,"data-testid":O,children:d(a,{title:null!==(C=null==b?void 0:b.name)&&void 0!==C?C:"",children:d(e,{size:"small",shape:"square",onClick:function(){g||(L(""),T(!0))},children:I("span",{className:l.triggerInner,children:[d("span",{className:l.triggerLabel,children:null!==(v=null==b?void 0:b.name)&&void 0!==v?v:A}),d(i,{className:l.caret})]})})})}),I(m,{open:S,type:"menu",placement:"top-start",anchorEl:x.current,onClose:function(){return T(!1)},className:l.paper,children:[d("div",{className:l.search,children:d(p,{autoFocus:!0,inputType:"search",placeholder:"Add by name or channel",prefix:d(t,{className:l.searchIcon}),value:M,onChange:L})}),I("div",{className:l.list,children:[!V.length&&d("div",{className:l.empty,children:"No results found"}),V.map((function(o){return I("button",{type:"button",className:l.option,onClick:function(){return function(o){N(o),T(!1)}(o)},children:["d"===o.type?d(r,{size:24,name:o.name,imageSrc:o.avatarUrl}):d("span",{className:l.channelIcon,children:d(u,{size:24})}),I("div",{className:l.optionText,children:[d("span",{className:l.optionName,children:o.name}),o.subtitle&&d("span",{className:l.optionSubtitle,children:o.subtitle})]})]},o.rid)}))]})]})]})};export{h as ChatChannelSelector};
1
+ import{useMemo as o,useCallback as s}from"react";import{AutocompleteNext as c}from"../../componentsV2/Autocomplete/Autocomplete.js";import{Avatar as n}from"../../componentsV2/Avatar/Avatar.js";import{Text as i}from"../../componentsV2/Text/Text.js";import{TextMiddleTruncated as t}from"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import{FolderClosedIcon as r}from"../../icons/iconParkIcons.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 m from"./ChatChannelSelector.scss.js";import{jsx as e,jsxs as p}from"react/jsx-runtime";var u=function(o){return{id:o.rid,title:o.name,prefix:e("span",{className:m.optionPrefix,children:"d"===o.type?e(n,{size:24,name:o.name,imageSrc:o.avatarUrl}):e(r,{size:24})}),channel:o}},a=function(o,s){var c=s.trim().toLowerCase();return c?o.filter((function(o){var s,n=o.channel;return n.name.toLowerCase().includes(c)||(null!==(s=n.subtitle)&&void 0!==s?s:"").toLowerCase().includes(c)})):o.filter((function(o){return!o.channel.isVirtual}))},l=function(o){var s=o.channel;return p("span",{className:m.optionText,children:[e(t,{children:s.name}),s.subtitle&&e(i,{size:12,color:"T7",children:s.subtitle})]})},j=function(n){var i=n.channels,t=n.value,r=n.onChange,p=n.disabled,j=n.placeholder,I=void 0===j?"Select chat":j,d=n.testId,h=o((function(){return i.map(u)}),[i]),C=o((function(){var o;return t?null!==(o=h.find((function(o){return o.id===t.rid})))&&void 0!==o?o:u(t):void 0}),[h,t]),f=s((function(o){o&&r(o.channel)}),[r]);return e(c,{className:m.root,options:h,value:C,onChange:f,disabled:p,placeholder:I,optionSize:"medium",renderOption:l,filterOptions:a,noOptionsMessage:"No results found",clearable:!1,testId:d})};export{j as ChatChannelSelector};
2
2
  //# sourceMappingURL=ChatChannelSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatChannelSelector.js","sources":["../../../src/components/CommentComposer/ChatChannelSelector.tsx"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport SearchIcon from '@material-ui/icons/Search';\n\nimport { Avatar } from '../../componentsV2/Avatar';\nimport { Chip } from '../../componentsV2/Chip';\nimport { Popover } from '../../componentsV2/Popover';\nimport { TextInputNext } from '../../componentsV2/TextInputNext';\nimport { Tooltip } from '../../componentsV2/Tooltip';\nimport { FolderClosedIcon } from '../../icons';\n\nimport styles from './ChatChannelSelector.scss';\n\nexport type ChatChannel = {\n rid: string;\n name: string;\n subtitle?: string;\n avatarUrl?: string;\n type?: string;\n isVirtual?: boolean;\n};\n\nexport type ChatChannelSelectorProps = {\n channels: ChatChannel[];\n value: ChatChannel | null;\n onChange: (channel: ChatChannel) => void;\n disabled?: boolean;\n placeholder?: string;\n testId?: string;\n};\n\n// Virtual channels are not-yet-created DMs, so hide them until the user searches.\nconst filterChannels = (channels: ChatChannel[], query: string): ChatChannel[] => {\n const q = query.trim().toLowerCase();\n if (!q) return channels.filter(channel => !channel.isVirtual);\n\n return channels.filter(\n channel =>\n channel.name.toLowerCase().includes(q) || (channel.subtitle ?? '').toLowerCase().includes(q)\n );\n};\n\nexport const ChatChannelSelector = ({\n channels,\n value,\n onChange,\n disabled,\n placeholder = 'Select chat',\n testId,\n}: ChatChannelSelectorProps) => {\n const anchorRef = useRef<HTMLDivElement>(null);\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n\n const options = useMemo(() => filterChannels(channels, query), [channels, query]);\n\n const handleOpen = () => {\n if (disabled) return;\n setQuery('');\n setOpen(true);\n };\n\n const handleSelect = (channel: ChatChannel) => {\n onChange(channel);\n setOpen(false);\n };\n\n return (\n <>\n <div ref={anchorRef} className={styles.trigger} data-testid={testId}>\n <Tooltip title={value?.name ?? ''}>\n <Chip size=\"small\" shape=\"square\" onClick={handleOpen}>\n <span className={styles.triggerInner}>\n <span className={styles.triggerLabel}>{value?.name ?? placeholder}</span>\n <ArrowDropDownIcon className={styles.caret} />\n </span>\n </Chip>\n </Tooltip>\n </div>\n\n <Popover\n open={open}\n type=\"menu\"\n placement=\"top-start\"\n anchorEl={anchorRef.current}\n onClose={() => setOpen(false)}\n className={styles.paper}\n >\n <div className={styles.search}>\n <TextInputNext\n autoFocus\n inputType=\"search\"\n placeholder=\"Add by name or channel\"\n prefix={<SearchIcon className={styles.searchIcon} />}\n value={query}\n onChange={setQuery}\n />\n </div>\n\n <div className={styles.list}>\n {!options.length && <div className={styles.empty}>No results found</div>}\n {options.map(channel => (\n <button\n key={channel.rid}\n type=\"button\"\n className={styles.option}\n onClick={() => handleSelect(channel)}\n >\n {channel.type === 'd' ? (\n <Avatar size={24} name={channel.name} imageSrc={channel.avatarUrl} />\n ) : (\n <span className={styles.channelIcon}>\n <FolderClosedIcon size={24} />\n </span>\n )}\n <div className={styles.optionText}>\n <span className={styles.optionName}>{channel.name}</span>\n {channel.subtitle && (\n <span className={styles.optionSubtitle}>{channel.subtitle}</span>\n )}\n </div>\n </button>\n ))}\n </div>\n </Popover>\n </>\n );\n};\n"],"names":["ChatChannelSelector","_ref","_value$name","_value$name2","channels","value","onChange","disabled","_ref$placeholder","placeholder","testId","anchorRef","useRef","useState","_useState2","_slicedToArray","_useState","open","setOpen","_useState4","_useState3","query","setQuery","options","useMemo","q","trim","toLowerCase","filter","channel","_channel$subtitle","name","includes","subtitle","isVirtual","filterChannels","_jsxs","_Fragment","children","_jsx","ref","className","styles","trigger","Tooltip","title","Chip","size","shape","onClick","triggerInner","triggerLabel","ArrowDropDownIcon","caret","Popover","type","placement","anchorEl","current","onClose","paper","search","TextInputNext","autoFocus","inputType","prefix","SearchIcon","searchIcon","list","length","empty","map","option","handleSelect","Avatar","imageSrc","avatarUrl","channelIcon","FolderClosedIcon","optionText","optionName","optionSubtitle","rid"],"mappings":"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"}
1
+ {"version":3,"file":"ChatChannelSelector.js","sources":["../../../src/components/CommentComposer/ChatChannelSelector.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo } from 'react';\n\nimport { AutocompleteChangeHandler, AutocompleteNext } from '../../componentsV2/Autocomplete';\nimport { Avatar } from '../../componentsV2/Avatar';\nimport { Text } from '../../componentsV2/Text';\nimport { TextMiddleTruncated } from '../../componentsV2/TextMiddleTruncated';\nimport { FolderClosedIcon } from '../../icons';\n\nimport styles from './ChatChannelSelector.scss';\n\nexport type ChatChannel = {\n rid: string;\n name: string;\n subtitle?: string;\n avatarUrl?: string;\n type?: string;\n isVirtual?: boolean;\n};\n\nexport type ChatChannelSelectorProps = {\n channels: ChatChannel[];\n value: ChatChannel | null;\n onChange: (channel: ChatChannel) => void;\n disabled?: boolean;\n placeholder?: string;\n testId?: string;\n};\n\ntype ChannelOption = {\n id: string;\n title: string;\n prefix: ReactNode;\n channel: ChatChannel;\n};\n\nconst toOption = (channel: ChatChannel): ChannelOption => ({\n id: channel.rid,\n title: channel.name,\n // The span keeps AutocompleteMenuItem's icon auto-sizing from shrinking the 24px visuals\n prefix: (\n <span className={styles.optionPrefix}>\n {channel.type === 'd' ? (\n <Avatar size={24} name={channel.name} imageSrc={channel.avatarUrl} />\n ) : (\n <FolderClosedIcon size={24} />\n )}\n </span>\n ),\n channel,\n});\n\n// Virtual channels are not-yet-created DMs, so hide them until the user searches.\nconst filterOptions = (options: ChannelOption[], inputValue: string): ChannelOption[] => {\n const q = inputValue.trim().toLowerCase();\n if (!q) return options.filter(({ channel }) => !channel.isVirtual);\n\n return options.filter(\n ({ channel }) =>\n channel.name.toLowerCase().includes(q) || (channel.subtitle ?? '').toLowerCase().includes(q)\n );\n};\n\nconst renderOption = ({ channel }: ChannelOption) => (\n <span className={styles.optionText}>\n <TextMiddleTruncated>{channel.name}</TextMiddleTruncated>\n {channel.subtitle && (\n <Text size={12} color=\"T7\">\n {channel.subtitle}\n </Text>\n )}\n </span>\n);\n\nexport const ChatChannelSelector = ({\n channels,\n value,\n onChange,\n disabled,\n placeholder = 'Select chat',\n testId,\n}: ChatChannelSelectorProps) => {\n const options = useMemo(() => channels.map(toOption), [channels]);\n\n // Keep the value reference stable across renders: a fresh object would make MUI treat\n // every parent re-render as a selection change and reset the in-progress search input\n const selectedOption = useMemo(\n () => (value ? options.find(option => option.id === value.rid) ?? toOption(value) : undefined),\n [options, value]\n );\n\n const handleChange = useCallback<AutocompleteChangeHandler<ChannelOption>>(\n option => {\n if (option) {\n onChange(option.channel);\n }\n },\n [onChange]\n );\n\n return (\n <AutocompleteNext\n className={styles.root}\n options={options}\n value={selectedOption}\n onChange={handleChange}\n disabled={disabled}\n placeholder={placeholder}\n optionSize=\"medium\"\n renderOption={renderOption}\n filterOptions={filterOptions}\n noOptionsMessage=\"No results found\"\n clearable={false}\n testId={testId}\n />\n );\n};\n"],"names":["toOption","channel","id","rid","title","name","prefix","_jsx","className","styles","optionPrefix","children","type","Avatar","size","imageSrc","avatarUrl","FolderClosedIcon","filterOptions","options","inputValue","q","trim","toLowerCase","filter","_ref2","_channel$subtitle","includes","subtitle","_ref","isVirtual","renderOption","_ref3","_jsxs","optionText","TextMiddleTruncated","Text","color","ChatChannelSelector","_ref4","channels","value","onChange","disabled","_ref4$placeholder","placeholder","testId","useMemo","map","selectedOption","_options$find","find","option","undefined","handleChange","useCallback","AutocompleteNext","root","optionSize","noOptionsMessage","clearable"],"mappings":"4pIAmCA,IAAMA,EAAW,SAACC,GAAoB,MAAqB,CACzDC,GAAID,EAAQE,IACZC,MAAOH,EAAQI,KAEfC,OACEC,EAAA,OAAA,CAAMC,UAAWC,EAAOC,aAAaC,SACjB,MAAjBV,EAAQW,KACPL,EAACM,EAAM,CAACC,KAAM,GAAIT,KAAMJ,EAAQI,KAAMU,SAAUd,EAAQe,YAExDT,EAACU,EAAgB,CAACH,KAAM,OAI9Bb,QAAAA,EACD,EAGKiB,EAAgB,SAACC,EAA0BC,GAC/C,IAAMC,EAAID,EAAWE,OAAOC,cAC5B,OAAKF,EAEEF,EAAQK,QACb,SAAAC,GAAA,IAAAC,EAAGzB,IAAAA,QAAO,OACRA,EAAQI,KAAKkB,cAAcI,SAASN,KAAuB,UAAhBpB,EAAQ2B,gBAAQ,IAAAF,EAAAA,EAAI,IAAIH,cAAcI,SAASN,MAJ/EF,EAAQK,QAAO,SAAAK,GAAU,SAAP5B,QAAuB6B,YAM1D,EAEMC,EAAe,SAAHC,GAAA,IAAM/B,IAAAA,QAAO,OAC7BgC,EAAA,OAAA,CAAMzB,UAAWC,EAAOyB,WAAWvB,SAAA,CACjCJ,EAAC4B,EAAmB,CAAAxB,SAAEV,EAAQI,OAC7BJ,EAAQ2B,UACPrB,EAAC6B,EAAI,CAACtB,KAAM,GAAIuB,MAAM,KAAI1B,SACvBV,EAAQ2B,aAGR,EAGIU,EAAsB,SAOHC,GAAA,IAN9BC,IAAAA,SACAC,IAAAA,MACAC,IAAAA,SACAC,IAAAA,SAAQC,EAAAL,EACRM,YAAAA,aAAc,cAAaD,EAC3BE,IAAAA,OAEM3B,EAAU4B,GAAQ,WAAA,OAAMP,EAASQ,IAAIhD,KAAW,CAACwC,IAIjDS,EAAiBF,GACrB,WAAA,IAAAG,EAAA,OAAOT,UAAQtB,EAAAA,EAAQgC,MAAK,SAAAC,GAAM,OAAIA,EAAOlD,KAAOuC,EAAMtC,GAAG,mBAAKH,EAASyC,QAASY,CAAS,GAC7F,CAAClC,EAASsB,IAGNa,EAAeC,GACnB,SAAAH,GACMA,GACFV,EAASU,EAAOnD,QAEpB,GACA,CAACyC,IAGH,OACEnC,EAACiD,EAAgB,CACfhD,UAAWC,EAAOgD,KAClBtC,QAASA,EACTsB,MAAOQ,EACPP,SAAUY,EACVX,SAAUA,EACVE,YAAaA,EACba,WAAW,SACX3B,aAAcA,EACdb,cAAeA,EACfyC,iBAAiB,mBACjBC,WAAW,EACXd,OAAQA,GAGd"}
@@ -1,2 +1,2 @@
1
- import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={spacing:"8",trigger:"ChatChannelSelector_trigger__mvD81",triggerInner:"ChatChannelSelector_triggerInner__9NYA4",triggerLabel:"ChatChannelSelector_triggerLabel__g8LjR",caret:"ChatChannelSelector_caret__uHHpD",paper:"ChatChannelSelector_paper__l6hx2",search:"ChatChannelSelector_search__FEYtN",searchIcon:"ChatChannelSelector_searchIcon__jGuuJ",list:"ChatChannelSelector_list__p2OJ0",empty:"ChatChannelSelector_empty__EHSF-",option:"ChatChannelSelector_option__DwWc9",channelIcon:"ChatChannelSelector_channelIcon__5S8PJ",optionText:"ChatChannelSelector_optionText__ZZQ7Z",optionName:"ChatChannelSelector_optionName__W0EMf",optionSubtitle:"ChatChannelSelector_optionSubtitle__YL-PS"};e(".ChatChannelSelector_trigger__mvD81{display:inline-flex;min-width:0}.ChatChannelSelector_triggerInner__9NYA4{align-items:center;display:inline-flex;gap:2px;min-width:0}.ChatChannelSelector_triggerLabel__g8LjR{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ChatChannelSelector_caret__uHHpD{color:var(--palette-primary-text-6);flex-shrink:0;font-size:16px}.ChatChannelSelector_paper__l6hx2{display:flex;flex-direction:column;max-height:320px;width:280px}.ChatChannelSelector_search__FEYtN{border-bottom:1px solid var(--palette-background-b-4);padding:8px}.ChatChannelSelector_searchIcon__jGuuJ{color:var(--palette-primary-text-7);font-size:18px}.ChatChannelSelector_list__p2OJ0{overflow-y:auto;padding:4px}.ChatChannelSelector_empty__EHSF-{color:var(--palette-primary-text-7);font-size:12px;padding:12px;text-align:center}.ChatChannelSelector_option__DwWc9{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--palette-primary-text-1);cursor:pointer;display:flex;gap:8px;padding:6px 8px;text-align:left;width:100%}.ChatChannelSelector_option__DwWc9:hover{background:rgb(from var(--palette-primary-text-1) r g b/.08)}.ChatChannelSelector_channelIcon__5S8PJ{align-items:center;color:var(--palette-primary-text-6);display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.ChatChannelSelector_optionText__ZZQ7Z{display:flex;flex-direction:column;min-width:0}.ChatChannelSelector_optionName__W0EMf{font-size:16px;line-height:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ChatChannelSelector_optionSubtitle__YL-PS{color:var(--palette-primary-text-7);font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}");export{t as default};
1
+ import e from'./../../ext-esm/style-inject/dist/style-inject.es.js';var t={root:"ChatChannelSelector_root__olCVl",optionPrefix:"ChatChannelSelector_optionPrefix__rEJEV",optionText:"ChatChannelSelector_optionText__ZZQ7Z"};e(".ChatChannelSelector_root__olCVl{flex:1;min-width:0}.ChatChannelSelector_optionPrefix__rEJEV{align-items:center;display:inline-flex;flex-shrink:0}.ChatChannelSelector_optionText__ZZQ7Z{display:flex;flex-direction:column;min-width:0}");export{t as default};
2
2
  //# sourceMappingURL=ChatChannelSelector.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentUpload.d.ts","sourceRoot":"","sources":["../../../src/components/CommentComposer/useAttachmentUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA4C,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAOtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAcF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAkD1C,eAAO,MAAM,mBAAmB,kEAO7B,0BAA0B;;;;8BAwMjB,WAAW,CAAC,gBAAgB,CAAC;sBApD7B,IAAI,EAAE;0BA7BR,MAAM;2BA6FP,qBAAqB,CAAC,IAAI,CAAC;sBAW3B,qBAAqB,CAAC,IAAI,CAAC;qCAcnB,qBAAqB,CAAC,IAAI,CAAC,EAAE;;;;;;;CAkH7C,CAAC"}
1
+ {"version":3,"file":"useAttachmentUpload.d.ts","sourceRoot":"","sources":["../../../src/components/CommentComposer/useAttachmentUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA4C,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,8CAA8C,CAAC;AAOtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACtD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAcF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAkD1C,eAAO,MAAM,mBAAmB,kEAO7B,0BAA0B;;;;8BAwMjB,WAAW,CAAC,gBAAgB,CAAC;sBApD7B,IAAI,EAAE;0BA7BR,MAAM;2BA6FP,qBAAqB,CAAC,IAAI,CAAC;sBAW3B,qBAAqB,CAAC,IAAI,CAAC;qCAcnB,qBAAqB,CAAC,IAAI,CAAC,EAAE;;;;;;;CAmH7C,CAAC"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/toConsumableArray";import e from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import i from"@babel/runtime/regenerator";import{useState as u,useRef as o,useCallback as l,useEffect as c}from"react";import a from"react-s3-uploader/s3upload";import{getAttachmentKind as f}from"../AttachmentPreview/getAttachmentKind.js";import{ACCEPTED_ATTACHMENT_TYPES as s}from"../AttachFileButton/AttachFileButton.js";import{getS3SignedUrl as d,getS3DownloadLink as p}from"../../clients/jsonApi/index.js";import{getUrlFileName as v}from"../../utils/links.js";function m(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.push.apply(n,t)}return n}function h(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?m(Object(t),!0).forEach((function(e){n(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):m(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var g=10,b=function(r){return r.type.startsWith("image/")?"image":r.type.startsWith("video/")?"video":"file"},U=function(r){return(r/1048576).toFixed(1)},w=function(r){return{id:r.url,name:r.name,file:null,previewUrl:"",isUploading:!1,error:null,uploaded:r}},y=0,j=function(){return"attachment-".concat(y+=1)},O=function(n){var m,g,y=n.value,O=n.onChange,k=n.onError,F=n.maxSizeBytes,x=n.maxFiles,L=void 0===x?10:x,P=n.accept,A=void 0===P?s:P,S=u([]),z=t(S,2),E=z[0],R=z[1],B=o(null),C=o(new Map),M=o(new Map),W=o([]),D=o(O),T=o(k);D.current=O,T.current=k;var I=o([]),Y=l((function(r){var e=r(W.current);W.current=e,R(e),I.current=function(r){return r.map((function(r){return r.uploaded})).filter(Boolean)}(e),D.current(I.current)}),[]),_=l((function(r,e){return Y((function(n){return n.map((function(n){return n.id===r?h(h({},n),e):n}))}))}),[Y]),G=l((function(r){var e,n;null===(e=C.current.get(r))||void 0===e||e.abortUpload(),C.current.delete(r),M.current.set(r,(null!==(n=M.current.get(r))&&void 0!==n?n:0)+1)}),[]),K=l((function(r){null!=r&&r.previewUrl&&URL.revokeObjectURL(r.previewUrl)}),[]),q=l((function(){var r,e,n;null===(r=T.current)||void 0===r||r.call(T,null!==(e=null===(n=W.current.find((function(r){return r.error})))||void 0===n?void 0:n.error)&&void 0!==e?e:null)}),[]);c((function(){return function(){C.current.forEach((function(r){return r.abortUpload()})),C.current.clear(),W.current.forEach((function(r){r.previewUrl&&URL.revokeObjectURL(r.previewUrl)}))}}),[]);var H=l((function(r,n){var t,u=(null!==(t=M.current.get(r))&&void 0!==t?t:0)+1;M.current.set(r,u);var o,l,c=function(){return M.current.get(r)===u},f=function(e){var n;c()&&(_(r,{isUploading:!1,error:e}),null===(n=T.current)||void 0===n||n.call(T,e))},s="",v=new a({files:[n],preprocess:function(r,e){return e(r)},onProgress:function(){},getSignedUrl:(l=e(i.mark((function r(e,n){var t;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,d(e.name,e.type);case 3:t=r.sent,s=t.file_name,n(h(h({},t),{},{signedUrl:t.signed_url})),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),f((null===r.t0||void 0===r.t0?void 0:r.t0.message)||"Failed to upload the file");case 11:case"end":return r.stop()}}),r,null,[[0,8]])}))),function(r,e){return l.apply(this,arguments)}),onFinishS3Put:(o=e(i.mark((function e(){var t,u;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,p(s);case 3:if(t=e.sent,u=t.url,c()){e.next=7;break}return e.abrupt("return");case 7:C.current.delete(r),_(r,{isUploading:!1,error:null,uploaded:{url:u,name:s,size:n.size}}),q(),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),f((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"Failed to upload the file");case 15:case"end":return e.stop()}}),e,null,[[0,12]])}))),function(){return o.apply(this,arguments)}),onError:function(r){return f(r||"Failed to upload the file")}});C.current.set(r,v)}),[_,q]),J=l((function(e){var n,t=v(e);t&&(W.current.length>=L?null===(n=T.current)||void 0===n||n.call(T,"You can attach up to ".concat(L," files.")):W.current.some((function(r){var n;return(null===(n=r.uploaded)||void 0===n?void 0:n.url)===e}))||Y((function(n){return[].concat(r(n),[{id:j(),name:t,file:null,previewUrl:e,isUploading:!1,error:null,uploaded:{url:e,name:t}}])})))}),[Y,L]),N=l((function(e){var n,t,i,u,o=e.filter((function(r){return function(r,e){return e.split(",").map((function(r){return r.trim().toLowerCase()})).filter(Boolean).some((function(e){if(e.startsWith("."))return r.name.toLowerCase().endsWith(e);if(e.endsWith("/*")){var n=r.type.toLowerCase();return n?n.startsWith(e.slice(0,-1)):f({name:r.name})===e.slice(0,-1)}return r.type.toLowerCase()===e}))}(r,A)})),l=o.length<e.length?1===e.length?"That file type is not supported.":"Some files were skipped — unsupported file type.":null,c="You can attach up to ".concat(L," files."),a=L-W.current.length;if(!o.length||a<=0){var s;null===(s=T.current)||void 0===s||s.call(T,o.length?c:l)}else{var d=o.slice(0,a),p=d.map((function(r){var e=b(r),n=!!F&&r.size>F;return{id:j(),name:r.name,file:r,previewUrl:"file"===e?"":URL.createObjectURL(r),isUploading:!n,error:n?"File is too large (".concat(U(r.size)," MB). Maximum size is ").concat(U(F)," MB."):null,uploaded:null}}));Y((function(e){return[].concat(r(e),r(p))}));var v=o.length>d.length?c:null;null===(n=T.current)||void 0===n||n.call(T,null!==(t=null!==(i=null===(u=W.current.find((function(r){return r.error})))||void 0===u?void 0:u.error)&&void 0!==i?i:l)&&void 0!==t?t:v),p.filter((function(r){return!r.error})).forEach((function(r){return H(r.id,r.file)}))}}),[Y,L,F,H,A]),Q=l((function(r){var e,n=Array.from(null!==(e=r.target.files)&&void 0!==e?e:[]);B.current&&(B.current.value=""),n.length&&N(n)}),[N]),V=l((function(){var r;return null===(r=B.current)||void 0===r?void 0:r.click()}),[]),X=l((function(r){var e=String(r);G(e),K(W.current.find((function(r){return r.id===e}))),Y((function(r){return r.filter((function(r){return r.id!==e}))})),q()}),[G,K,Y,q]),Z=l((function(r){var e=String(r),n=W.current.find((function(r){return r.id===e}));null!=n&&n.file&&(G(e),_(e,{isUploading:!0,error:null}),q(),H(e,n.file))}),[G,_,H,q]),$=l((function(e){return Y((function(n){var t=new Map(n.map((function(r){return[r.id,r]}))),i=e.map((function(r){return t.get(String(r))})).filter(Boolean),u=n.filter((function(r){return!e.some((function(e){return String(e)===r.id}))}));return[].concat(r(i),r(u))}))}),[Y]),rr=l((function(){var r;W.current.forEach((function(r){G(r.id),K(r)})),Y((function(){return[]})),null===(r=T.current)||void 0===r||r.call(T,null)}),[G,Y,K]);c((function(){var r,e,n;(e=I.current,n=y,e.length===n.length&&e.every((function(r,e){return r.url===n[e].url})))||(W.current.forEach((function(r){G(r.id),r.previewUrl&&URL.revokeObjectURL(r.previewUrl)})),W.current=y.map(w),I.current=y,R(W.current),null===(r=T.current)||void 0===r||r.call(T,null))}),[y,G]);var er=u({}),nr=t(er,2),tr=nr[0],ir=nr[1],ur=o(tr);ur.current=tr;var or=E.filter((function(r){return!r.file&&!r.previewUrl&&r.uploaded})).map((function(r){return r.uploaded.name})).join("|");return c((function(){var r=or.split("|").filter((function(r){return r&&!(r in ur.current)}));if(r.length){var e=!0;return Promise.all(r.map((function(r){return p(r,"inline").then((function(e){var n=e.url;return[r,n]})).catch((function(e){return console.error('Failed to sign stored attachment "'.concat(r,'"'),e),[r,""]}))}))).then((function(r){e&&ir((function(e){return h(h({},e),Object.fromEntries(r))}))})),function(){e=!1}}}),[or]),{items:E.reduce((function(r,e){var n;if(e.file)return r.push({id:e.id,name:e.name,src:e.previewUrl,kind:b(e.file),size:e.file.size,isUploading:e.isUploading,error:null!==(n=e.error)&&void 0!==n?n:void 0}),r;var t=e.uploaded,i=f(t),u=e.previewUrl||tr[t.name];return"file"===i||u?(r.push({id:e.id,name:t.name,src:u,kind:i,size:t.size}),r):r}),[]),fileInputRef:B,openFileDialog:V,handleFileSelect:Q,addFiles:N,addLinkedImage:J,removeAttachment:X,handleRetry:Z,reorderAttachments:$,clearAttachments:rr,isUploading:E.some((function(r){return r.isUploading})),error:null!==(m=null===(g=E.find((function(r){return r.error})))||void 0===g?void 0:g.error)&&void 0!==m?m:null,count:E.length,isFull:E.length>=L,maxFiles:L}};export{g as DEFAULT_MAX_ATTACHMENTS,O as useAttachmentUpload};
1
+ import r from"@babel/runtime/helpers/toConsumableArray";import e from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import i from"@babel/runtime/regenerator";import{useState as o,useRef as u,useCallback as l,useEffect as c}from"react";import a from"react-s3-uploader/s3upload";import{getAttachmentKind as f}from"../AttachmentPreview/getAttachmentKind.js";import{ACCEPTED_ATTACHMENT_TYPES as s}from"../AttachFileButton/AttachFileButton.js";import{getS3SignedUrl as d,getS3DownloadLink as p}from"../../clients/jsonApi/index.js";import{getUrlFileName as v}from"../../utils/links.js";function m(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e&&(t=t.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.push.apply(n,t)}return n}function h(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?m(Object(t),!0).forEach((function(e){n(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):m(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var g=10,b=function(r){return r.type.startsWith("image/")?"image":r.type.startsWith("video/")?"video":"file"},w=function(r){return(r/1048576).toFixed(1)},U=function(r){return{id:r.url,name:r.name,file:null,previewUrl:"",isUploading:!1,error:null,uploaded:r}},y=0,j=function(){return"attachment-".concat(y+=1)},O=function(n){var m,g,y=n.value,O=n.onChange,k=n.onError,F=n.maxSizeBytes,x=n.maxFiles,L=void 0===x?10:x,P=n.accept,A=void 0===P?s:P,S=o([]),z=t(S,2),E=z[0],R=z[1],B=u(null),D=u(new Map),C=u(new Map),M=u([]),W=u(O),T=u(k);W.current=O,T.current=k;var I=u([]),Y=l((function(r){var e=r(M.current);M.current=e,R(e),I.current=function(r){return r.map((function(r){return r.uploaded})).filter(Boolean)}(e),W.current(I.current)}),[]),_=l((function(r,e){return Y((function(n){return n.map((function(n){return n.id===r?h(h({},n),e):n}))}))}),[Y]),G=l((function(r){var e,n;null===(e=D.current.get(r))||void 0===e||e.abortUpload(),D.current.delete(r),C.current.set(r,(null!==(n=C.current.get(r))&&void 0!==n?n:0)+1)}),[]),K=l((function(r){null!=r&&r.previewUrl&&URL.revokeObjectURL(r.previewUrl)}),[]),q=l((function(){var r,e,n;null===(r=T.current)||void 0===r||r.call(T,null!==(e=null===(n=M.current.find((function(r){return r.error})))||void 0===n?void 0:n.error)&&void 0!==e?e:null)}),[]);c((function(){return function(){D.current.forEach((function(r){return r.abortUpload()})),D.current.clear(),M.current.forEach((function(r){r.previewUrl&&URL.revokeObjectURL(r.previewUrl)}))}}),[]);var H=l((function(r,n){var t,o=(null!==(t=C.current.get(r))&&void 0!==t?t:0)+1;C.current.set(r,o);var u,l,c=function(){return C.current.get(r)===o},f=function(e){var n;c()&&(_(r,{isUploading:!1,error:e}),null===(n=T.current)||void 0===n||n.call(T,e))},s="",v=new a({files:[n],preprocess:function(r,e){return e(r)},onProgress:function(){},getSignedUrl:(l=e(i.mark((function r(e,n){var t;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,d(e.name,e.type);case 3:t=r.sent,s=t.file_name,n(h(h({},t),{},{signedUrl:t.signed_url})),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),f((null===r.t0||void 0===r.t0?void 0:r.t0.message)||"Failed to upload the file");case 11:case"end":return r.stop()}}),r,null,[[0,8]])}))),function(r,e){return l.apply(this,arguments)}),onFinishS3Put:(u=e(i.mark((function e(){var t,o;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,p(s);case 3:if(t=e.sent,o=t.url,c()){e.next=7;break}return e.abrupt("return");case 7:D.current.delete(r),_(r,{isUploading:!1,error:null,uploaded:{url:o,name:s,size:n.size}}),q(),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),f((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"Failed to upload the file");case 15:case"end":return e.stop()}}),e,null,[[0,12]])}))),function(){return u.apply(this,arguments)}),onError:function(r){return f(r||"Failed to upload the file")}});D.current.set(r,v)}),[_,q]),J=l((function(e){var n,t=v(e);t&&(M.current.length>=L?null===(n=T.current)||void 0===n||n.call(T,"You can attach up to ".concat(L," files.")):M.current.some((function(r){var n;return(null===(n=r.uploaded)||void 0===n?void 0:n.url)===e}))||Y((function(n){return[].concat(r(n),[{id:j(),name:t,file:null,previewUrl:e,isUploading:!1,error:null,uploaded:{url:e,name:t}}])})))}),[Y,L]),N=l((function(e){var n,t,i,o,u=e.filter((function(r){return function(r,e){return e.split(",").map((function(r){return r.trim().toLowerCase()})).filter(Boolean).some((function(e){if(e.startsWith("."))return r.name.toLowerCase().endsWith(e);if(e.endsWith("/*")){var n=r.type.toLowerCase();return n?n.startsWith(e.slice(0,-1)):f({name:r.name})===e.slice(0,-1)}return r.type.toLowerCase()===e}))}(r,A)})),l=u.length<e.length?1===e.length?"That file type is not supported.":"Some files were skipped — unsupported file type.":null,c="You can attach up to ".concat(L," files."),a=L-M.current.length;if(!u.length||a<=0){var s;null===(s=T.current)||void 0===s||s.call(T,u.length?c:l)}else{var d=u.slice(0,a),p=d.map((function(r){var e=b(r),n=!!F&&r.size>F;return{id:j(),name:r.name,file:r,previewUrl:"file"===e?"":URL.createObjectURL(r),isUploading:!n,error:n?"File is too large (".concat(w(r.size)," MB). Maximum size is ").concat(w(F)," MB."):null,uploaded:null}}));Y((function(e){return[].concat(r(e),r(p))}));var v=u.length>d.length?c:null;null===(n=T.current)||void 0===n||n.call(T,null!==(t=null!==(i=null===(o=M.current.find((function(r){return r.error})))||void 0===o?void 0:o.error)&&void 0!==i?i:l)&&void 0!==t?t:v),p.filter((function(r){return!r.error})).forEach((function(r){return H(r.id,r.file)}))}}),[Y,L,F,H,A]),Q=l((function(r){var e,n=Array.from(null!==(e=r.target.files)&&void 0!==e?e:[]);B.current&&(B.current.value=""),n.length&&N(n)}),[N]),V=l((function(){var r;return null===(r=B.current)||void 0===r?void 0:r.click()}),[]),X=l((function(r){var e=String(r);G(e),K(M.current.find((function(r){return r.id===e}))),Y((function(r){return r.filter((function(r){return r.id!==e}))})),q()}),[G,K,Y,q]),Z=l((function(r){var e=String(r),n=M.current.find((function(r){return r.id===e}));null!=n&&n.file&&(G(e),_(e,{isUploading:!0,error:null}),q(),H(e,n.file))}),[G,_,H,q]),$=l((function(e){return Y((function(n){var t=new Map(n.map((function(r){return[r.id,r]}))),i=e.map((function(r){return t.get(String(r))})).filter(Boolean),o=n.filter((function(r){return!e.some((function(e){return String(e)===r.id}))}));return[].concat(r(i),r(o))}))}),[Y]),rr=l((function(){var r;M.current.forEach((function(r){G(r.id),K(r)})),Y((function(){return[]})),null===(r=T.current)||void 0===r||r.call(T,null)}),[G,Y,K]);c((function(){var r,e,n;(e=I.current,n=y,e.length===n.length&&e.every((function(r,e){return r.url===n[e].url})))||(M.current.forEach((function(r){G(r.id),r.previewUrl&&URL.revokeObjectURL(r.previewUrl)})),M.current=y.map(U),I.current=y,R(M.current),null===(r=T.current)||void 0===r||r.call(T,null))}),[y,G]);var er=o({}),nr=t(er,2),tr=nr[0],ir=nr[1],or=u(tr);or.current=tr;var ur=E.filter((function(r){return!r.file&&!r.previewUrl&&r.uploaded})).map((function(r){return r.uploaded.name})).join("|");return c((function(){var r=ur.split("|").filter((function(r){return r&&!(r in or.current)}));if(r.length){var e=!0;return Promise.all(r.map((function(r){return p(r,"inline").then((function(e){var n=e.url;return[r,n]})).catch((function(e){return console.error('Failed to sign stored attachment "'.concat(r,'"'),e),[r,""]}))}))).then((function(r){e&&ir((function(e){return h(h({},e),Object.fromEntries(r))}))})),function(){e=!1}}}),[ur]),{items:E.reduce((function(r,e){var n;if(e.file)return r.push({id:e.id,name:e.name,src:e.previewUrl,kind:b(e.file),size:e.file.size,isUploading:e.isUploading,hideDownload:!0,error:null!==(n=e.error)&&void 0!==n?n:void 0}),r;var t=e.uploaded,i=f(t),o=e.previewUrl||tr[t.name];return"file"===i||o?(r.push({id:e.id,name:t.name,src:o,kind:i,size:t.size,hideDownload:!0}),r):r}),[]),fileInputRef:B,openFileDialog:V,handleFileSelect:Q,addFiles:N,addLinkedImage:J,removeAttachment:X,handleRetry:Z,reorderAttachments:$,clearAttachments:rr,isUploading:E.some((function(r){return r.isUploading})),error:null!==(m=null===(g=E.find((function(r){return r.error})))||void 0===g?void 0:g.error)&&void 0!==m?m:null,count:E.length,isFull:E.length>=L,maxFiles:L}};export{g as DEFAULT_MAX_ATTACHMENTS,O as useAttachmentUpload};
2
2
  //# sourceMappingURL=useAttachmentUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentUpload.js","sources":["../../../src/components/CommentComposer/useAttachmentUpload.ts"],"sourcesContent":["import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport S3Upload from 'react-s3-uploader/s3upload';\n\nimport type {\n AttachmentKind,\n AttachmentPreviewItem,\n} from '../AttachmentPreview/AttachmentPreview.types';\nimport { getAttachmentKind } from '../AttachmentPreview/getAttachmentKind';\nimport { ACCEPTED_ATTACHMENT_TYPES } from '../AttachFileButton';\n\nimport { getS3SignedUrl, getS3DownloadLink } from '~/clients/jsonApi';\nimport { getUrlFileName } from '~/utils/links';\n\nexport type UploadedAttachment = {\n url: string;\n name: string;\n size?: number;\n};\n\ntype UseAttachmentUploadOptions = {\n value: UploadedAttachment[];\n onChange: (attachments: UploadedAttachment[]) => void;\n onError?: (message: string | null) => void;\n maxSizeBytes?: number;\n maxFiles?: number;\n /** Mirrors the file input's `accept`; also gates drag-and-drop. */\n accept?: string;\n};\n\n/** A picked or already-stored file, in the order the user arranged it. */\ntype Entry = {\n id: string;\n name: string;\n /** Set while the file is local; cleared entries come from `value`. */\n file: File | null;\n previewUrl: string;\n isUploading: boolean;\n error: string | null;\n uploaded: UploadedAttachment | null;\n};\n\nexport const DEFAULT_MAX_ATTACHMENTS = 10;\n\n/** Same rules the file input enforces via `accept`, so drag-and-drop can't smuggle a type past it. */\nconst isAcceptedType = (file: File, accept: string) =>\n accept\n .split(',')\n .map(rule => rule.trim().toLowerCase())\n .filter(Boolean)\n .some(rule => {\n if (rule.startsWith('.')) return file.name.toLowerCase().endsWith(rule);\n if (rule.endsWith('/*')) {\n const type = file.type.toLowerCase();\n if (type) return type.startsWith(rule.slice(0, -1));\n\n return getAttachmentKind({ name: file.name }) === rule.slice(0, -1);\n }\n\n return file.type.toLowerCase() === rule;\n });\n\nconst getFileKind = (file: File): AttachmentKind => {\n if (file.type.startsWith('image/')) return 'image';\n if (file.type.startsWith('video/')) return 'video';\n return 'file';\n};\n\nconst formatMb = (bytes: number) => (bytes / (1024 * 1024)).toFixed(1);\n\nconst getUploaded = (entries: Entry[]) =>\n entries.map(entry => entry.uploaded).filter(Boolean) as UploadedAttachment[];\n\nconst isSameList = (a: UploadedAttachment[], b: UploadedAttachment[]) =>\n a.length === b.length && a.every((item, index) => item.url === b[index].url);\n\nconst toStoredEntry = (attachment: UploadedAttachment): Entry => ({\n id: attachment.url,\n name: attachment.name,\n file: null,\n previewUrl: '',\n isUploading: false,\n error: null,\n uploaded: attachment,\n});\n\nlet entrySeq = 0;\nconst nextEntryId = () => {\n entrySeq += 1;\n return `attachment-${entrySeq}`;\n};\n\nexport const useAttachmentUpload = ({\n value,\n onChange,\n onError,\n maxSizeBytes,\n maxFiles = DEFAULT_MAX_ATTACHMENTS,\n accept = ACCEPTED_ATTACHMENT_TYPES,\n}: UseAttachmentUploadOptions) => {\n const [entries, setEntries] = useState<Entry[]>([]);\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n const uploadersRef = useRef(new Map<string, S3Upload>());\n // Bumped per attempt so a superseded upload can't write state for a restarted entry.\n const sessionsRef = useRef(new Map<string, number>());\n // Mutations are driven from async upload callbacks, so the latest list lives in a ref.\n const entriesRef = useRef<Entry[]>([]);\n const onChangeRef = useRef(onChange);\n const onErrorRef = useRef(onError);\n\n onChangeRef.current = onChange;\n onErrorRef.current = onError;\n\n // What we last handed the parent. A `value` that still matches it is our own change echoing\n // back; anything else is a parent-driven reset we must adopt.\n const emittedRef = useRef<UploadedAttachment[]>([]);\n\n const commit = useCallback((updater: (prev: Entry[]) => Entry[]) => {\n const next = updater(entriesRef.current);\n entriesRef.current = next;\n setEntries(next);\n emittedRef.current = getUploaded(next);\n onChangeRef.current(emittedRef.current);\n }, []);\n\n const patchEntry = useCallback(\n (id: string, patch: Partial<Entry>) =>\n commit(prev => prev.map(entry => (entry.id === id ? { ...entry, ...patch } : entry))),\n [commit]\n );\n\n const abortUpload = useCallback((id: string) => {\n uploadersRef.current.get(id)?.abortUpload();\n uploadersRef.current.delete(id);\n // Bump, never delete: deleting would let the next attempt reuse session 1, so a callback\n // still in flight from the aborted attempt would pass `isCurrent` and clobber it.\n sessionsRef.current.set(id, (sessionsRef.current.get(id) ?? 0) + 1);\n }, []);\n\n const releasePreview = useCallback((entry?: Entry) => {\n if (entry?.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n }, []);\n\n // The banner is shared by every tile, so recompute it rather than clear it — one file\n // succeeding must not hide a sibling that is still failing.\n const syncError = useCallback(() => {\n onErrorRef.current?.(entriesRef.current.find(entry => entry.error)?.error ?? null);\n }, []);\n\n useEffect(\n () => () => {\n uploadersRef.current.forEach(uploader => uploader.abortUpload());\n uploadersRef.current.clear();\n entriesRef.current.forEach(entry => {\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n },\n []\n );\n\n const startUpload = useCallback(\n (id: string, file: File) => {\n const session = (sessionsRef.current.get(id) ?? 0) + 1;\n sessionsRef.current.set(id, session);\n // A superseded upload must not write state for an entry that is gone or restarted.\n const isCurrent = () => sessionsRef.current.get(id) === session;\n\n const fail = (message: string) => {\n if (!isCurrent()) return;\n patchEntry(id, { isUploading: false, error: message });\n onErrorRef.current?.(message);\n };\n\n let storedKey = '';\n\n const uploader = new S3Upload({\n files: [file],\n preprocess: (target: File, next: (file: File) => void) => next(target),\n onProgress: () => {},\n getSignedUrl: async (\n target: File,\n callback: (data: { signedUrl: string; [key: string]: unknown }) => void\n ) => {\n try {\n const data = await getS3SignedUrl(target.name, target.type);\n storedKey = data.file_name;\n callback({ ...data, signedUrl: data.signed_url });\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onFinishS3Put: async () => {\n try {\n const { url } = await getS3DownloadLink(storedKey);\n if (!isCurrent()) return;\n\n uploadersRef.current.delete(id);\n patchEntry(id, {\n isUploading: false,\n error: null,\n uploaded: { url, name: storedKey, size: file.size },\n });\n syncError();\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onError: (message: string) => fail(message || 'Failed to upload the file'),\n });\n\n uploadersRef.current.set(id, uploader);\n },\n [patchEntry, syncError]\n );\n\n /** Nothing is uploaded: a comment attachment is a url, so the link itself is the attachment. */\n const addLinkedImage = useCallback(\n (url: string) => {\n const name = getUrlFileName(url);\n\n if (!name) return;\n if (entriesRef.current.length >= maxFiles) {\n onErrorRef.current?.(`You can attach up to ${maxFiles} files.`);\n\n return;\n }\n\n if (entriesRef.current.some(entry => entry.uploaded?.url === url)) return;\n\n commit(prev => [\n ...prev,\n {\n id: nextEntryId(),\n name,\n file: null,\n previewUrl: url,\n isUploading: false,\n error: null,\n uploaded: { url, name },\n },\n ]);\n },\n [commit, maxFiles]\n );\n\n const addFiles = useCallback(\n (files: File[]) => {\n const supported = files.filter(file => isAcceptedType(file, accept));\n const skipped = supported.length < files.length;\n // One banner, one message: report the most actionable reason once, at the end. Reporting\n // as we go would let a later call overwrite an earlier warning on a mixed drop.\n const unsupported = skipped\n ? (files.length === 1 && 'That file type is not supported.') ||\n 'Some files were skipped — unsupported file type.'\n : null;\n const tooMany = `You can attach up to ${maxFiles} files.`;\n\n const room = maxFiles - entriesRef.current.length;\n if (!supported.length || room <= 0) {\n onErrorRef.current?.(supported.length ? tooMany : unsupported);\n return;\n }\n\n const accepted = supported.slice(0, room);\n const added: Entry[] = accepted.map(file => {\n const kind = getFileKind(file);\n const isTooLarge = !!maxSizeBytes && file.size > maxSizeBytes;\n\n return {\n id: nextEntryId(),\n name: file.name,\n file,\n previewUrl: kind === 'file' ? '' : URL.createObjectURL(file),\n isUploading: !isTooLarge,\n error: isTooLarge\n ? `File is too large (${formatMb(file.size)} MB). Maximum size is ${formatMb(\n maxSizeBytes as number\n )} MB.`\n : null,\n uploaded: null,\n };\n });\n\n commit(prev => [...prev, ...added]);\n\n const overflow = supported.length > accepted.length ? tooMany : null;\n onErrorRef.current?.(\n entriesRef.current.find(entry => entry.error)?.error ?? unsupported ?? overflow\n );\n\n added\n .filter(entry => !entry.error)\n .forEach(entry => startUpload(entry.id, entry.file as File));\n },\n [commit, maxFiles, maxSizeBytes, startUpload, accept]\n );\n\n const handleFileSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(event.target.files ?? []);\n // Reset the input so re-picking the same file still fires a change event.\n if (fileInputRef.current) fileInputRef.current.value = '';\n if (files.length) addFiles(files);\n },\n [addFiles]\n );\n\n const openFileDialog = useCallback(() => fileInputRef.current?.click(), []);\n\n const removeAttachment = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n abortUpload(key);\n releasePreview(entriesRef.current.find(entry => entry.id === key));\n commit(prev => prev.filter(entry => entry.id !== key));\n syncError();\n },\n [abortUpload, releasePreview, commit, syncError]\n );\n\n const handleRetry = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n const entry = entriesRef.current.find(item => item.id === key);\n if (!entry?.file) return;\n\n abortUpload(key);\n patchEntry(key, { isUploading: true, error: null });\n syncError();\n startUpload(key, entry.file);\n },\n [abortUpload, patchEntry, startUpload, syncError]\n );\n\n const reorderAttachments = useCallback(\n (orderedIds: AttachmentPreviewItem['id'][]) =>\n commit(prev => {\n const byId = new Map(prev.map(entry => [entry.id, entry]));\n const reordered = orderedIds.map(id => byId.get(String(id))).filter(Boolean) as Entry[];\n // Unlisted ids (a race with a removal) keep their place at the end.\n const missing = prev.filter(entry => !orderedIds.some(id => String(id) === entry.id));\n return [...reordered, ...missing];\n }),\n [commit]\n );\n\n const clearAttachments = useCallback(() => {\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n releasePreview(entry);\n });\n commit(() => []);\n onErrorRef.current?.(null);\n }, [abortUpload, commit, releasePreview]);\n\n // Adopt a value we didn't produce — an edit form's initial attachments, or a parent-side reset.\n // Compared against what we emitted, not against the current entries: a failed-only or\n // mid-upload list emits `[]` too, and treating that as \"in sync\" would strand those tiles\n // on screen and let a late upload write itself back into freshly reset parent state.\n useEffect(() => {\n if (isSameList(emittedRef.current, value)) return;\n\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n entriesRef.current = value.map(toStoredEntry);\n emittedRef.current = value;\n setEntries(entriesRef.current);\n onErrorRef.current?.(null);\n }, [value, abortUpload]);\n\n // A stored url has expired by now, so re-sign it for the preview.\n const [storedSrcs, setStoredSrcs] = useState<Record<string, string>>({});\n const storedSrcsRef = useRef(storedSrcs);\n storedSrcsRef.current = storedSrcs;\n\n const storedNames = entries\n // A linked image carries its own url, so there is no key of ours to sign.\n .filter(entry => !entry.file && !entry.previewUrl && entry.uploaded)\n .map(entry => (entry.uploaded as UploadedAttachment).name)\n .join('|');\n\n useEffect(() => {\n const pending = storedNames.split('|').filter(name => name && !(name in storedSrcsRef.current));\n if (!pending.length) return undefined;\n\n let isActive = true;\n Promise.all(\n pending.map(name =>\n getS3DownloadLink(name, 'inline')\n .then(({ url }: { url: string }) => [name, url] as const)\n .catch(error => {\n console.error(`Failed to sign stored attachment \"${name}\"`, error);\n\n return [name, ''] as const;\n })\n )\n ).then(resolved => {\n if (isActive) setStoredSrcs(prev => ({ ...prev, ...Object.fromEntries(resolved) }));\n });\n\n return () => {\n isActive = false;\n };\n }, [storedNames]);\n\n const items = entries.reduce<AttachmentPreviewItem[]>((acc, entry) => {\n if (entry.file) {\n acc.push({\n id: entry.id,\n name: entry.name,\n src: entry.previewUrl,\n kind: getFileKind(entry.file),\n size: entry.file.size,\n isUploading: entry.isUploading,\n error: entry.error ?? undefined,\n });\n return acc;\n }\n\n const stored = entry.uploaded as UploadedAttachment;\n const kind = getAttachmentKind(stored);\n // A linked image is already a url; only one of ours has an S3 key worth signing.\n const src = entry.previewUrl || storedSrcs[stored.name];\n // A thumbnail without its signed url would paint as a broken image, so hold it back.\n if (kind !== 'file' && !src) return acc;\n\n acc.push({ id: entry.id, name: stored.name, src, kind, size: stored.size });\n return acc;\n }, []);\n\n return {\n items,\n fileInputRef,\n openFileDialog,\n handleFileSelect,\n addFiles,\n addLinkedImage,\n removeAttachment,\n handleRetry,\n reorderAttachments,\n clearAttachments,\n isUploading: entries.some(entry => entry.isUploading),\n error: entries.find(entry => entry.error)?.error ?? null,\n count: entries.length,\n isFull: entries.length >= maxFiles,\n maxFiles,\n };\n};\n"],"names":["DEFAULT_MAX_ATTACHMENTS","getFileKind","file","type","startsWith","formatMb","bytes","toFixed","toStoredEntry","attachment","id","url","name","previewUrl","isUploading","error","uploaded","entrySeq","nextEntryId","concat","useAttachmentUpload","_ref","_entries$find$error","_entries$find","value","onChange","onError","maxSizeBytes","_ref$maxFiles","maxFiles","_ref$accept","accept","ACCEPTED_ATTACHMENT_TYPES","useState","_useState2","_slicedToArray","_useState","entries","setEntries","fileInputRef","useRef","uploadersRef","Map","sessionsRef","entriesRef","onChangeRef","onErrorRef","current","emittedRef","commit","useCallback","updater","next","map","entry","filter","Boolean","getUploaded","patchEntry","patch","prev","abortUpload","_uploadersRef$current","_sessionsRef$current$","get","delete","set","releasePreview","URL","revokeObjectURL","syncError","_onErrorRef$current","_entriesRef$current$f","_entriesRef$current$f2","find","useEffect","forEach","uploader","clear","startUpload","_sessionsRef$current$2","session","_onFinishS3Put","_getSignedUrl","isCurrent","fail","message","_onErrorRef$current2","storedKey","S3Upload","files","preprocess","target","onProgress","getSignedUrl","_asyncToGenerator","_regeneratorRuntime","mark","_callee","callback","_data","wrap","_context","getS3SignedUrl","data","sent","file_name","signedUrl","signed_url","t0","stop","_x","_x2","apply","this","arguments","onFinishS3Put","_callee2","_yield$getS3DownloadL","_context2","getS3DownloadLink","abrupt","size","addLinkedImage","_onErrorRef$current3","getUrlFileName","length","some","_entry$uploaded","_toConsumableArray","addFiles","_onErrorRef$current5","_ref2","_entriesRef$current$f3","_entriesRef$current$f4","supported","split","rule","trim","toLowerCase","endsWith","slice","getAttachmentKind","isAcceptedType","unsupported","tooMany","room","_onErrorRef$current4","accepted","added","kind","isTooLarge","createObjectURL","overflow","handleFileSelect","event","_event$target$files","Array","from","openFileDialog","_fileInputRef$current","click","removeAttachment","key","String","handleRetry","item","reorderAttachments","orderedIds","byId","reordered","missing","clearAttachments","_onErrorRef$current6","_onErrorRef$current7","a","b","every","index","_useState3","_useState4","storedSrcs","setStoredSrcs","storedSrcsRef","storedNames","join","pending","isActive","Promise","all","then","_ref3","catch","console","resolved","_objectSpread","Object","fromEntries","items","reduce","acc","_entry$error","push","src","undefined","stored","count","isFull"],"mappings":"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"}
1
+ {"version":3,"file":"useAttachmentUpload.js","sources":["../../../src/components/CommentComposer/useAttachmentUpload.ts"],"sourcesContent":["import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport S3Upload from 'react-s3-uploader/s3upload';\n\nimport type {\n AttachmentKind,\n AttachmentPreviewItem,\n} from '../AttachmentPreview/AttachmentPreview.types';\nimport { getAttachmentKind } from '../AttachmentPreview/getAttachmentKind';\nimport { ACCEPTED_ATTACHMENT_TYPES } from '../AttachFileButton';\n\nimport { getS3SignedUrl, getS3DownloadLink } from '~/clients/jsonApi';\nimport { getUrlFileName } from '~/utils/links';\n\nexport type UploadedAttachment = {\n url: string;\n name: string;\n size?: number;\n};\n\ntype UseAttachmentUploadOptions = {\n value: UploadedAttachment[];\n onChange: (attachments: UploadedAttachment[]) => void;\n onError?: (message: string | null) => void;\n maxSizeBytes?: number;\n maxFiles?: number;\n /** Mirrors the file input's `accept`; also gates drag-and-drop. */\n accept?: string;\n};\n\n/** A picked or already-stored file, in the order the user arranged it. */\ntype Entry = {\n id: string;\n name: string;\n /** Set while the file is local; cleared entries come from `value`. */\n file: File | null;\n previewUrl: string;\n isUploading: boolean;\n error: string | null;\n uploaded: UploadedAttachment | null;\n};\n\nexport const DEFAULT_MAX_ATTACHMENTS = 10;\n\n/** Same rules the file input enforces via `accept`, so drag-and-drop can't smuggle a type past it. */\nconst isAcceptedType = (file: File, accept: string) =>\n accept\n .split(',')\n .map(rule => rule.trim().toLowerCase())\n .filter(Boolean)\n .some(rule => {\n if (rule.startsWith('.')) return file.name.toLowerCase().endsWith(rule);\n if (rule.endsWith('/*')) {\n const type = file.type.toLowerCase();\n if (type) return type.startsWith(rule.slice(0, -1));\n\n return getAttachmentKind({ name: file.name }) === rule.slice(0, -1);\n }\n\n return file.type.toLowerCase() === rule;\n });\n\nconst getFileKind = (file: File): AttachmentKind => {\n if (file.type.startsWith('image/')) return 'image';\n if (file.type.startsWith('video/')) return 'video';\n return 'file';\n};\n\nconst formatMb = (bytes: number) => (bytes / (1024 * 1024)).toFixed(1);\n\nconst getUploaded = (entries: Entry[]) =>\n entries.map(entry => entry.uploaded).filter(Boolean) as UploadedAttachment[];\n\nconst isSameList = (a: UploadedAttachment[], b: UploadedAttachment[]) =>\n a.length === b.length && a.every((item, index) => item.url === b[index].url);\n\nconst toStoredEntry = (attachment: UploadedAttachment): Entry => ({\n id: attachment.url,\n name: attachment.name,\n file: null,\n previewUrl: '',\n isUploading: false,\n error: null,\n uploaded: attachment,\n});\n\nlet entrySeq = 0;\nconst nextEntryId = () => {\n entrySeq += 1;\n return `attachment-${entrySeq}`;\n};\n\nexport const useAttachmentUpload = ({\n value,\n onChange,\n onError,\n maxSizeBytes,\n maxFiles = DEFAULT_MAX_ATTACHMENTS,\n accept = ACCEPTED_ATTACHMENT_TYPES,\n}: UseAttachmentUploadOptions) => {\n const [entries, setEntries] = useState<Entry[]>([]);\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n const uploadersRef = useRef(new Map<string, S3Upload>());\n // Bumped per attempt so a superseded upload can't write state for a restarted entry.\n const sessionsRef = useRef(new Map<string, number>());\n // Mutations are driven from async upload callbacks, so the latest list lives in a ref.\n const entriesRef = useRef<Entry[]>([]);\n const onChangeRef = useRef(onChange);\n const onErrorRef = useRef(onError);\n\n onChangeRef.current = onChange;\n onErrorRef.current = onError;\n\n // What we last handed the parent. A `value` that still matches it is our own change echoing\n // back; anything else is a parent-driven reset we must adopt.\n const emittedRef = useRef<UploadedAttachment[]>([]);\n\n const commit = useCallback((updater: (prev: Entry[]) => Entry[]) => {\n const next = updater(entriesRef.current);\n entriesRef.current = next;\n setEntries(next);\n emittedRef.current = getUploaded(next);\n onChangeRef.current(emittedRef.current);\n }, []);\n\n const patchEntry = useCallback(\n (id: string, patch: Partial<Entry>) =>\n commit(prev => prev.map(entry => (entry.id === id ? { ...entry, ...patch } : entry))),\n [commit]\n );\n\n const abortUpload = useCallback((id: string) => {\n uploadersRef.current.get(id)?.abortUpload();\n uploadersRef.current.delete(id);\n // Bump, never delete: deleting would let the next attempt reuse session 1, so a callback\n // still in flight from the aborted attempt would pass `isCurrent` and clobber it.\n sessionsRef.current.set(id, (sessionsRef.current.get(id) ?? 0) + 1);\n }, []);\n\n const releasePreview = useCallback((entry?: Entry) => {\n if (entry?.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n }, []);\n\n // The banner is shared by every tile, so recompute it rather than clear it — one file\n // succeeding must not hide a sibling that is still failing.\n const syncError = useCallback(() => {\n onErrorRef.current?.(entriesRef.current.find(entry => entry.error)?.error ?? null);\n }, []);\n\n useEffect(\n () => () => {\n uploadersRef.current.forEach(uploader => uploader.abortUpload());\n uploadersRef.current.clear();\n entriesRef.current.forEach(entry => {\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n },\n []\n );\n\n const startUpload = useCallback(\n (id: string, file: File) => {\n const session = (sessionsRef.current.get(id) ?? 0) + 1;\n sessionsRef.current.set(id, session);\n // A superseded upload must not write state for an entry that is gone or restarted.\n const isCurrent = () => sessionsRef.current.get(id) === session;\n\n const fail = (message: string) => {\n if (!isCurrent()) return;\n patchEntry(id, { isUploading: false, error: message });\n onErrorRef.current?.(message);\n };\n\n let storedKey = '';\n\n const uploader = new S3Upload({\n files: [file],\n preprocess: (target: File, next: (file: File) => void) => next(target),\n onProgress: () => {},\n getSignedUrl: async (\n target: File,\n callback: (data: { signedUrl: string; [key: string]: unknown }) => void\n ) => {\n try {\n const data = await getS3SignedUrl(target.name, target.type);\n storedKey = data.file_name;\n callback({ ...data, signedUrl: data.signed_url });\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onFinishS3Put: async () => {\n try {\n const { url } = await getS3DownloadLink(storedKey);\n if (!isCurrent()) return;\n\n uploadersRef.current.delete(id);\n patchEntry(id, {\n isUploading: false,\n error: null,\n uploaded: { url, name: storedKey, size: file.size },\n });\n syncError();\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onError: (message: string) => fail(message || 'Failed to upload the file'),\n });\n\n uploadersRef.current.set(id, uploader);\n },\n [patchEntry, syncError]\n );\n\n /** Nothing is uploaded: a comment attachment is a url, so the link itself is the attachment. */\n const addLinkedImage = useCallback(\n (url: string) => {\n const name = getUrlFileName(url);\n\n if (!name) return;\n if (entriesRef.current.length >= maxFiles) {\n onErrorRef.current?.(`You can attach up to ${maxFiles} files.`);\n\n return;\n }\n\n if (entriesRef.current.some(entry => entry.uploaded?.url === url)) return;\n\n commit(prev => [\n ...prev,\n {\n id: nextEntryId(),\n name,\n file: null,\n previewUrl: url,\n isUploading: false,\n error: null,\n uploaded: { url, name },\n },\n ]);\n },\n [commit, maxFiles]\n );\n\n const addFiles = useCallback(\n (files: File[]) => {\n const supported = files.filter(file => isAcceptedType(file, accept));\n const skipped = supported.length < files.length;\n // One banner, one message: report the most actionable reason once, at the end. Reporting\n // as we go would let a later call overwrite an earlier warning on a mixed drop.\n const unsupported = skipped\n ? (files.length === 1 && 'That file type is not supported.') ||\n 'Some files were skipped — unsupported file type.'\n : null;\n const tooMany = `You can attach up to ${maxFiles} files.`;\n\n const room = maxFiles - entriesRef.current.length;\n if (!supported.length || room <= 0) {\n onErrorRef.current?.(supported.length ? tooMany : unsupported);\n return;\n }\n\n const accepted = supported.slice(0, room);\n const added: Entry[] = accepted.map(file => {\n const kind = getFileKind(file);\n const isTooLarge = !!maxSizeBytes && file.size > maxSizeBytes;\n\n return {\n id: nextEntryId(),\n name: file.name,\n file,\n previewUrl: kind === 'file' ? '' : URL.createObjectURL(file),\n isUploading: !isTooLarge,\n error: isTooLarge\n ? `File is too large (${formatMb(file.size)} MB). Maximum size is ${formatMb(\n maxSizeBytes as number\n )} MB.`\n : null,\n uploaded: null,\n };\n });\n\n commit(prev => [...prev, ...added]);\n\n const overflow = supported.length > accepted.length ? tooMany : null;\n onErrorRef.current?.(\n entriesRef.current.find(entry => entry.error)?.error ?? unsupported ?? overflow\n );\n\n added\n .filter(entry => !entry.error)\n .forEach(entry => startUpload(entry.id, entry.file as File));\n },\n [commit, maxFiles, maxSizeBytes, startUpload, accept]\n );\n\n const handleFileSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(event.target.files ?? []);\n // Reset the input so re-picking the same file still fires a change event.\n if (fileInputRef.current) fileInputRef.current.value = '';\n if (files.length) addFiles(files);\n },\n [addFiles]\n );\n\n const openFileDialog = useCallback(() => fileInputRef.current?.click(), []);\n\n const removeAttachment = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n abortUpload(key);\n releasePreview(entriesRef.current.find(entry => entry.id === key));\n commit(prev => prev.filter(entry => entry.id !== key));\n syncError();\n },\n [abortUpload, releasePreview, commit, syncError]\n );\n\n const handleRetry = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n const entry = entriesRef.current.find(item => item.id === key);\n if (!entry?.file) return;\n\n abortUpload(key);\n patchEntry(key, { isUploading: true, error: null });\n syncError();\n startUpload(key, entry.file);\n },\n [abortUpload, patchEntry, startUpload, syncError]\n );\n\n const reorderAttachments = useCallback(\n (orderedIds: AttachmentPreviewItem['id'][]) =>\n commit(prev => {\n const byId = new Map(prev.map(entry => [entry.id, entry]));\n const reordered = orderedIds.map(id => byId.get(String(id))).filter(Boolean) as Entry[];\n // Unlisted ids (a race with a removal) keep their place at the end.\n const missing = prev.filter(entry => !orderedIds.some(id => String(id) === entry.id));\n return [...reordered, ...missing];\n }),\n [commit]\n );\n\n const clearAttachments = useCallback(() => {\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n releasePreview(entry);\n });\n commit(() => []);\n onErrorRef.current?.(null);\n }, [abortUpload, commit, releasePreview]);\n\n // Adopt a value we didn't produce — an edit form's initial attachments, or a parent-side reset.\n // Compared against what we emitted, not against the current entries: a failed-only or\n // mid-upload list emits `[]` too, and treating that as \"in sync\" would strand those tiles\n // on screen and let a late upload write itself back into freshly reset parent state.\n useEffect(() => {\n if (isSameList(emittedRef.current, value)) return;\n\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n entriesRef.current = value.map(toStoredEntry);\n emittedRef.current = value;\n setEntries(entriesRef.current);\n onErrorRef.current?.(null);\n }, [value, abortUpload]);\n\n // A stored url has expired by now, so re-sign it for the preview.\n const [storedSrcs, setStoredSrcs] = useState<Record<string, string>>({});\n const storedSrcsRef = useRef(storedSrcs);\n storedSrcsRef.current = storedSrcs;\n\n const storedNames = entries\n // A linked image carries its own url, so there is no key of ours to sign.\n .filter(entry => !entry.file && !entry.previewUrl && entry.uploaded)\n .map(entry => (entry.uploaded as UploadedAttachment).name)\n .join('|');\n\n useEffect(() => {\n const pending = storedNames.split('|').filter(name => name && !(name in storedSrcsRef.current));\n if (!pending.length) return undefined;\n\n let isActive = true;\n Promise.all(\n pending.map(name =>\n getS3DownloadLink(name, 'inline')\n .then(({ url }: { url: string }) => [name, url] as const)\n .catch(error => {\n console.error(`Failed to sign stored attachment \"${name}\"`, error);\n\n return [name, ''] as const;\n })\n )\n ).then(resolved => {\n if (isActive) setStoredSrcs(prev => ({ ...prev, ...Object.fromEntries(resolved) }));\n });\n\n return () => {\n isActive = false;\n };\n }, [storedNames]);\n\n const items = entries.reduce<AttachmentPreviewItem[]>((acc, entry) => {\n if (entry.file) {\n acc.push({\n id: entry.id,\n name: entry.name,\n src: entry.previewUrl,\n kind: getFileKind(entry.file),\n size: entry.file.size,\n isUploading: entry.isUploading,\n hideDownload: true,\n error: entry.error ?? undefined,\n });\n return acc;\n }\n\n const stored = entry.uploaded as UploadedAttachment;\n const kind = getAttachmentKind(stored);\n // A linked image is already a url; only one of ours has an S3 key worth signing.\n const src = entry.previewUrl || storedSrcs[stored.name];\n // A thumbnail without its signed url would paint as a broken image, so hold it back.\n if (kind !== 'file' && !src) return acc;\n\n acc.push({ id: entry.id, name: stored.name, src, kind, size: stored.size, hideDownload: true });\n return acc;\n }, []);\n\n return {\n items,\n fileInputRef,\n openFileDialog,\n handleFileSelect,\n addFiles,\n addLinkedImage,\n removeAttachment,\n handleRetry,\n reorderAttachments,\n clearAttachments,\n isUploading: entries.some(entry => entry.isUploading),\n error: entries.find(entry => entry.error)?.error ?? null,\n count: entries.length,\n isFull: entries.length >= maxFiles,\n maxFiles,\n };\n};\n"],"names":["DEFAULT_MAX_ATTACHMENTS","getFileKind","file","type","startsWith","formatMb","bytes","toFixed","toStoredEntry","attachment","id","url","name","previewUrl","isUploading","error","uploaded","entrySeq","nextEntryId","concat","useAttachmentUpload","_ref","_entries$find$error","_entries$find","value","onChange","onError","maxSizeBytes","_ref$maxFiles","maxFiles","_ref$accept","accept","ACCEPTED_ATTACHMENT_TYPES","useState","_useState2","_slicedToArray","_useState","entries","setEntries","fileInputRef","useRef","uploadersRef","Map","sessionsRef","entriesRef","onChangeRef","onErrorRef","current","emittedRef","commit","useCallback","updater","next","map","entry","filter","Boolean","getUploaded","patchEntry","patch","prev","abortUpload","_uploadersRef$current","_sessionsRef$current$","get","delete","set","releasePreview","URL","revokeObjectURL","syncError","_onErrorRef$current","_entriesRef$current$f","_entriesRef$current$f2","find","useEffect","forEach","uploader","clear","startUpload","_sessionsRef$current$2","session","_onFinishS3Put","_getSignedUrl","isCurrent","fail","message","_onErrorRef$current2","storedKey","S3Upload","files","preprocess","target","onProgress","getSignedUrl","_asyncToGenerator","_regeneratorRuntime","mark","_callee","callback","_data","wrap","_context","getS3SignedUrl","data","sent","file_name","signedUrl","signed_url","t0","stop","_x","_x2","apply","this","arguments","onFinishS3Put","_callee2","_yield$getS3DownloadL","_context2","getS3DownloadLink","abrupt","size","addLinkedImage","_onErrorRef$current3","getUrlFileName","length","some","_entry$uploaded","_toConsumableArray","addFiles","_onErrorRef$current5","_ref2","_entriesRef$current$f3","_entriesRef$current$f4","supported","split","rule","trim","toLowerCase","endsWith","slice","getAttachmentKind","isAcceptedType","unsupported","tooMany","room","_onErrorRef$current4","accepted","added","kind","isTooLarge","createObjectURL","overflow","handleFileSelect","event","_event$target$files","Array","from","openFileDialog","_fileInputRef$current","click","removeAttachment","key","String","handleRetry","item","reorderAttachments","orderedIds","byId","reordered","missing","clearAttachments","_onErrorRef$current6","_onErrorRef$current7","a","b","every","index","_useState3","_useState4","storedSrcs","setStoredSrcs","storedSrcsRef","storedNames","join","pending","isActive","Promise","all","then","_ref3","catch","console","resolved","_objectSpread","Object","fromEntries","items","reduce","acc","_entry$error","push","src","hideDownload","undefined","stored","count","isFull"],"mappings":"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"}