@corva/ui 3.79.0-0 → 3.79.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.
- package/cjs-bundle/clients/api/apiCore.js +1 -1
- package/cjs-bundle/clients/api/apiCore.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/socket-client.v2.js +1 -1
- package/cjs-bundle/clients/subscriptions/socket-client.v2.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-auth-recovery.js +2 -0
- package/cjs-bundle/clients/subscriptions/subscriptions-auth-recovery.js.map +1 -0
- package/cjs-bundle/clients/subscriptions/subscriptions-client.dummy.js +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.dummy.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.js +1 -1
- package/cjs-bundle/clients/subscriptions/subscriptions-client.js.map +1 -1
- package/cjs-bundle/components/AddComment/Popover.js +1 -1
- package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
- package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
- package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js +1 -1
- package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
- package/cjs-bundle/components/CommentComposer/CommentReplyInput.js +1 -1
- package/cjs-bundle/components/CommentComposer/CommentReplyInput.js.map +1 -1
- package/cjs-bundle/components/CommentComposer/replyDrafts.js +2 -0
- package/cjs-bundle/components/CommentComposer/replyDrafts.js.map +1 -0
- package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js +1 -1
- package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
- package/cjs-bundle/components/FeedCard/useActivityInteractions.js +1 -1
- package/cjs-bundle/components/FeedCard/useActivityInteractions.js.map +1 -1
- package/cjs-bundle/components/FeedCard/useFeedActivity.js +1 -1
- package/cjs-bundle/components/FeedCard/useFeedActivity.js.map +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
- package/cjs-bundle/components/IconMenu/index.js +1 -1
- package/cjs-bundle/components/IconMenu/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellChips/Chip.js +1 -1
- package/cjs-bundle/components/OffsetWellChips/Chip.js.map +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/cjs-bundle/components/Search/Search.js +1 -1
- package/cjs-bundle/components/Search/Search.js.map +1 -1
- package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
- package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
- package/cjs-bundle/components/Template/TemplatePopover/index.js +1 -1
- package/cjs-bundle/components/Template/TemplatePopover/index.js.map +1 -1
- package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js +1 -1
- package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
- package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
- package/cjs-bundle/permissions/withPermissionsHOC.js +1 -1
- package/cjs-bundle/permissions/withPermissionsHOC.js.map +1 -1
- package/clients/api/apiCore.d.ts +2 -0
- package/clients/api/apiCore.d.ts.map +1 -1
- package/clients/api/apiCore.js +1 -1
- package/clients/api/apiCore.js.map +1 -1
- package/clients/subscriptions/__tests__/subscriptions-auth-recovery.test.d.ts +2 -0
- package/clients/subscriptions/__tests__/subscriptions-auth-recovery.test.d.ts.map +1 -0
- package/clients/subscriptions/socket-client.v2.d.ts +8 -0
- package/clients/subscriptions/socket-client.v2.d.ts.map +1 -1
- package/clients/subscriptions/socket-client.v2.js +1 -1
- package/clients/subscriptions/socket-client.v2.js.map +1 -1
- package/clients/subscriptions/subscriptions-auth-recovery.d.ts +53 -0
- package/clients/subscriptions/subscriptions-auth-recovery.d.ts.map +1 -0
- package/clients/subscriptions/subscriptions-auth-recovery.js +2 -0
- package/clients/subscriptions/subscriptions-auth-recovery.js.map +1 -0
- package/clients/subscriptions/subscriptions-client.d.ts +6 -1
- package/clients/subscriptions/subscriptions-client.d.ts.map +1 -1
- package/clients/subscriptions/subscriptions-client.dummy.d.ts +2 -1
- package/clients/subscriptions/subscriptions-client.dummy.d.ts.map +1 -1
- package/clients/subscriptions/subscriptions-client.dummy.js +1 -1
- package/clients/subscriptions/subscriptions-client.dummy.js.map +1 -1
- package/clients/subscriptions/subscriptions-client.factory.d.ts +8 -0
- package/clients/subscriptions/subscriptions-client.factory.d.ts.map +1 -1
- package/clients/subscriptions/subscriptions-client.factory.js +1 -1
- package/clients/subscriptions/subscriptions-client.factory.js.map +1 -1
- package/clients/subscriptions/subscriptions-client.js +1 -1
- package/clients/subscriptions/subscriptions-client.js.map +1 -1
- package/clients/subscriptions/types.d.ts +5 -0
- package/clients/subscriptions/types.d.ts.map +1 -1
- package/components/AddComment/Popover.js +1 -1
- package/components/AddComment/Popover.js.map +1 -1
- package/components/AddComment/components/Content.js +1 -1
- package/components/AddComment/components/Content.js.map +1 -1
- package/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
- package/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
- package/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
- package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
- package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
- package/components/AssetEditorV2/components/SelectItem.js +1 -1
- package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
- package/components/BICOffsetPickerDialog/index.js +1 -1
- package/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/components/Casing/CasingTable/CasingComponent.js +1 -1
- package/components/Casing/CasingTable/CasingComponent.js.map +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/components/Casing/CasingTableV2/components/EditComponentDialog.d.ts.map +1 -1
- package/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
- package/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
- package/components/CollapsableSidebar.js +1 -1
- package/components/CollapsableSidebar.js.map +1 -1
- package/components/CommentComposer/CommentReplyInput.d.ts +3 -1
- package/components/CommentComposer/CommentReplyInput.d.ts.map +1 -1
- package/components/CommentComposer/CommentReplyInput.js +1 -1
- package/components/CommentComposer/CommentReplyInput.js.map +1 -1
- package/components/CommentComposer/__tests__/CommentReplyInput.draft.test.d.ts +2 -0
- package/components/CommentComposer/__tests__/CommentReplyInput.draft.test.d.ts.map +1 -0
- package/components/CommentComposer/replyDrafts.d.ts +12 -0
- package/components/CommentComposer/replyDrafts.d.ts.map +1 -0
- package/components/CommentComposer/replyDrafts.js +2 -0
- package/components/CommentComposer/replyDrafts.js.map +1 -0
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts +3 -21
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts +22 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts +23 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts +20 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts +27 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts +49 -3
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts +2 -0
- package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts.map +1 -0
- package/components/DevCenter/AppsDataProvider/effects/constants.d.ts +2 -7
- package/components/DevCenter/AppsDataProvider/effects/constants.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts +14 -10
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/index.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts +5 -5
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts +33 -54
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/index.d.ts +1 -0
- package/components/DevCenter/AppsDataProvider/index.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/types.d.ts +216 -0
- package/components/DevCenter/AppsDataProvider/types.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts +2 -0
- package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +5 -3
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.d.ts +0 -2
- package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts +7 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts +12 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/types.d.ts +1 -6
- package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
- package/components/Drillstring/BHATable/BHAComponent.js +1 -1
- package/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
- package/components/FeedCard/useActivityInteractions.d.ts.map +1 -1
- package/components/FeedCard/useActivityInteractions.js +1 -1
- package/components/FeedCard/useActivityInteractions.js.map +1 -1
- package/components/FeedCard/useFeedActivity.d.ts.map +1 -1
- package/components/FeedCard/useFeedActivity.js +1 -1
- package/components/FeedCard/useFeedActivity.js.map +1 -1
- package/components/FeedItem/FeedItem.js +1 -1
- package/components/FeedItem/FeedItem.js.map +1 -1
- package/components/IconMenu/index.js +1 -1
- package/components/IconMenu/index.js.map +1 -1
- package/components/OffsetWellChips/Chip.js +1 -1
- package/components/OffsetWellChips/Chip.js.map +1 -1
- package/components/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
- package/components/OffsetWellPickerV3/index.js +1 -1
- package/components/OffsetWellPickerV3/index.js.map +1 -1
- package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
- package/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
- package/components/PadOffsetsPicker/OffsetAssetsListExpander.d.ts.map +1 -1
- package/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
- package/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
- package/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
- package/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/components/Search/Search.js +1 -1
- package/components/Search/Search.js.map +1 -1
- package/components/StatusBadge/components/DQAccordionDetailsContent.d.ts.map +1 -1
- package/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
- package/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
- package/components/Template/TemplatePopover/index.d.ts.map +1 -1
- package/components/Template/TemplatePopover/index.js +1 -1
- package/components/Template/TemplatePopover/index.js.map +1 -1
- package/components/VirtualizedTable/VirtualizedTable.d.ts.map +1 -1
- package/components/VirtualizedTable/VirtualizedTable.js +1 -1
- package/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
- package/hocs/withAssetEditorLockHOC.js +1 -1
- package/hocs/withAssetEditorLockHOC.js.map +1 -1
- package/mcp-server/server.mjs +39 -20
- package/package.json +1 -2
- package/permissions/__tests__/withPermissionsHOC.test.d.ts.map +1 -1
- package/permissions/withPermissionsHOC.d.ts.map +1 -1
- package/permissions/withPermissionsHOC.js +1 -1
- package/permissions/withPermissionsHOC.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
- package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
- package/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
- package/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/Map.js +0 -2
- package/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
- package/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
- package/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
- package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
- package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyAppActions.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"LegacyAppActions.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport BugReportIcon from '@material-ui/icons/BugReport';\n\nimport { AppActions } from './AppActions/AppActions';\nimport { CommentsSwitchButton } from './CommentsSwitch';\nimport FullscreenButton from './FullscreenButton';\nimport { NonPriorityMenus } from './NonPriorityMenus';\nimport { PriorityMenus } from './PriorityMenus';\nimport { PAGE_NAME, TOOLTIP_TITLES } from '../constants';\nimport type {\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n} from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport AnnotationIcon from '~/components/Icons/AnnotationIcon';\nimport { HelpCenterIcon } from '~/components/HelpCenter';\nimport { ButtonIcon, Tooltip } from '~/componentsV2';\n\ntype Props = {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n isAnnotationsSupported: boolean;\n isCLIApp: boolean;\n isCommentsEnabled: boolean;\n isInsideNewMobileApp: boolean;\n isMaximized: boolean;\n isMobileView: boolean;\n mainMenuItems: DevCenterMenuItem[];\n secondaryMenuItems: DevCenterMenuItem[];\n onReportBugClick?: (() => void) | null;\n setIsFullscreenModalMode: NonNullable<DevCenterAppContainerProps['setIsFullscreenModalMode']>;\n setIsMaximized: (isMaximized: boolean) => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n onHelpCenterClick?: () => void;\n};\n\n/**\n * The action bar the container renders when App Header V3 is not driving the app's chrome.\n * V3 publishes the same affordances through `AppCommonsProvider`, so this only appears for\n * apps whose manifest has not opted in, or while one is still loading.\n */\nexport const LegacyAppActions: FC<Props> = ({\n app,\n currentUser,\n devCenterRouter,\n isAnnotationsSupported,\n isCLIApp,\n isCommentsEnabled,\n isInsideNewMobileApp,\n isMaximized,\n isMobileView,\n mainMenuItems,\n secondaryMenuItems,\n onReportBugClick,\n setIsFullscreenModalMode,\n setIsMaximized,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n onHelpCenterClick,\n}) => {\n const handleReportBugClick = () => onReportBugClick?.();\n\n const handleHelpCenterClick = () => onHelpCenterClick?.();\n\n return (\n <AppActions>\n {isCommentsEnabled && <CommentsSwitchButton currentUser={currentUser} />}\n\n {isAnnotationsSupported && (\n <Tooltip title={TOOLTIP_TITLES.addAnnotation} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n onClick={toggleAnnotationsList}\n testId={`${PAGE_NAME}_addAnnotation`}\n >\n <AnnotationIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {onReportBugClick && !isCLIApp && (\n <Tooltip title={TOOLTIP_TITLES.reportBug} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon size=\"small\" type=\"tertiaryBg\" onClick={handleReportBugClick}>\n <BugReportIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <Tooltip\n placement=\"top\"\n disabled={!!isMobileView || isCLIApp}\n title={TOOLTIP_TITLES.helpCenter}\n >\n <ButtonIcon\n testId={`${PAGE_NAME}_helpContent`}\n onClick={handleHelpCenterClick}\n disabled={isCLIApp}\n size=\"small\"\n type=\"tertiaryBg\"\n >\n <HelpCenterIcon appId={app.app.id} helpContentUpdatedAt={app.help_content_updated_at} />\n </ButtonIcon>\n </Tooltip>\n\n {isMobileView && !isMaximized && !isInsideNewMobileApp ? (\n <FullscreenButton setIsMaximized={setIsMaximized} />\n ) : (\n <>\n <PriorityMenus\n menuItems={mainMenuItems}\n devCenterRouter={devCenterRouter}\n isMobileView={isMobileView}\n />\n <NonPriorityMenus\n devCenterRouter={devCenterRouter}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n menuItems={secondaryMenuItems}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n </>\n )}\n </AppActions>\n );\n};\n"],"names":["LegacyAppActions","_ref","app","currentUser","devCenterRouter","isAnnotationsSupported","isCLIApp","isCommentsEnabled","isInsideNewMobileApp","isMaximized","isMobileView","mainMenuItems","secondaryMenuItems","onReportBugClick","setIsFullscreenModalMode","setIsMaximized","toggleAnnotationsList","toggleAppSettingsDialog","onHelpCenterClick","_jsxs","AppActions","children","_jsx","CommentsSwitchButton","Tooltip","title","TOOLTIP_TITLES","addAnnotation","placement","disabled","ButtonIcon","size","type","onClick","testId","concat","PAGE_NAME","AnnotationIcon","reportBug","BugReportIcon","helpCenter","HelpCenterIcon","appId","id","helpContentUpdatedAt","help_content_updated_at","_Fragment","PriorityMenus","menuItems","NonPriorityMenus","FullscreenButton"],"mappings":"gwfA8CaA,IAAAA,EAA8B,SAkBrCC,GAAA,IAjBJC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,uBACAC,IAAAA,SACAC,IAAAA,kBACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,mBACAC,IAAAA,iBACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,kBAMA,OACEC,EAACC,EAAU,CAAAC,SACRd,CAAAA,GAAqBe,EAACC,EAAoB,CAACpB,YAAaA,IAExDE,GACCiB,EAACE,EAAO,CAACC,MAAOC,EAAeC,cAAeC,UAAU,MAAMC,WAAYnB,EAAaW,SACrFC,EAACQ,EAAU,CACTC,KAAK,QACLC,KAAK,aACLC,QAASjB,EACTkB,OAAM,GAAAC,OAAKC,EAA0B,kBAAAf,SAErCC,EAACe,EAAc,QAKpBxB,IAAqBP,GACpBgB,EAACE,EAAO,CAACC,MAAOC,EAAeY,UAAWV,UAAU,MAAMC,WAAYnB,EAAaW,SACjFC,EAACQ,EAAU,CAACC,KAAK,QAAQC,KAAK,aAAaC,QAvBtB,WAAH,OAASpB,aAAgB,EAAhBA,GAAoB,EAuB0BQ,SACvEC,EAACiB,EAAa,QAKpBjB,EAACE,EAAO,CACNI,UAAU,MACVC,WAAYnB,GAAgBJ,EAC5BmB,MAAOC,EAAec,WAAWnB,SAEjCC,EAACQ,EAAU,CACTI,OAAM,GAAAC,OAAKC,EAAwB,gBACnCH,QAlCsB,WAAH,OAASf,aAAiB,EAAjBA,GAAqB,EAmCjDW,SAAUvB,EACVyB,KAAK,QACLC,KAAK,aAAYX,SAEjBC,EAACmB,EAAc,CAACC,MAAOxC,EAAIA,IAAIyC,GAAIC,qBAAsB1C,EAAI2C,+BAIhEnC,GAAiBD,GAAgBD,EAGhCW,EAAA2B,EAAA,CAAAzB,SAAA,CACEC,EAACyB,EAAa,CACZC,UAAWrC,EACXP,gBAAiBA,EACjBM,aAAcA,IAEhBY,EAAC2B,EAAgB,CACf7C,gBAAiBA,EACjBK,YAAaA,EACbC,aAAcA,EACdsC,UAAWpC,EACXE,yBAA0BA,EAC1BC,eAAgBA,EAChBE,wBAAyBA,OAf7BK,EAAC4B,EAAgB,CAACnC,eAAgBA,MAqB1C"}
|
|
@@ -3,8 +3,6 @@ export declare const PAGE_NAME = "DevCenter_AppContainer";
|
|
|
3
3
|
/** A CLI app on a phone takes the whole 12-column dashboard grid. */
|
|
4
4
|
export declare const MOBILE_CLI_APP_GRID_WIDTH = 12;
|
|
5
5
|
export declare const HOME_PATH_PREFIX = "/home";
|
|
6
|
-
/** The asset records the container forwards from the app-data context to the app bundle. */
|
|
7
|
-
export declare const APP_DATA_ASSET_KEYS: string[];
|
|
8
6
|
export declare const TOOLTIP_TITLES: {
|
|
9
7
|
addAnnotation: string;
|
|
10
8
|
reportBug: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/constants.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,2BAA2B,CAAC;AAElD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/constants.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,SAAS,2BAA2B,CAAC;AAElD,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,cAAc;IACzB,aAAa;IACb,SAAS;IACT,UAAU;CACX,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e="DevCenter_AppContainer",n=12,t="/home",
|
|
1
|
+
var e="DevCenter_AppContainer",n=12,t="/home",o={addAnnotation:"Add Annotation",reportBug:"Report A Bug",helpCenter:"Help Center"};export{t as HOME_PATH_PREFIX,n as MOBILE_CLI_APP_GRID_WIDTH,e as PAGE_NAME,o as TOOLTIP_TITLES};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/constants.ts"],"sourcesContent":["/** Test-id prefix and analytics page name for everything this container renders. */\nexport const PAGE_NAME = 'DevCenter_AppContainer';\n\n/** A CLI app on a phone takes the whole 12-column dashboard grid. */\nexport const MOBILE_CLI_APP_GRID_WIDTH = 12;\n\nexport const HOME_PATH_PREFIX = '/home';\n\
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/constants.ts"],"sourcesContent":["/** Test-id prefix and analytics page name for everything this container renders. */\nexport const PAGE_NAME = 'DevCenter_AppContainer';\n\n/** A CLI app on a phone takes the whole 12-column dashboard grid. */\nexport const MOBILE_CLI_APP_GRID_WIDTH = 12;\n\nexport const HOME_PATH_PREFIX = '/home';\n\nexport const TOOLTIP_TITLES = {\n addAnnotation: 'Add Annotation',\n reportBug: 'Report A Bug',\n helpCenter: 'Help Center',\n};\n"],"names":["PAGE_NAME","MOBILE_CLI_APP_GRID_WIDTH","HOME_PATH_PREFIX","TOOLTIP_TITLES","addAnnotation","reportBug","helpCenter"],"mappings":"AACO,IAAMA,EAAY,yBAGZC,EAA4B,GAE5BC,EAAmB,QAEnBC,EAAiB,CAC5BC,cAAe,iBACfC,UAAW,eACXC,WAAY"}
|
|
@@ -6,7 +6,7 @@ type UseAnnotationsDataParams = {
|
|
|
6
6
|
};
|
|
7
7
|
type UseAnnotationsDataReturn = {
|
|
8
8
|
appLastAnnotation: AppLastAnnotation | null;
|
|
9
|
-
assetCompanyId: number |
|
|
9
|
+
assetCompanyId: number | null;
|
|
10
10
|
assetIdForAnnotation: number | undefined;
|
|
11
11
|
isAppSupportsAnnotations: boolean;
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsData.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAKlB,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,mCAAmC,CAAC,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;CAC3E,CAAC;
|
|
1
|
+
{"version":3,"file":"useAnnotationsData.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAKlB,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,mCAAmC,CAAC,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;CAC3E,CAAC;AASF,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,QAAA,MAAM,kBAAkB,2DAIrB,wBAAwB,KAAG,wBA+C7B,CAAC;eAEa,kBAAkB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as n}from"react";import{DEV_CENTER_CLI_APP_ID as t}from"../../../../constants/devcenter.js";import"../../../../constants/goals.js";import{SEGMENTS as o}from"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"lodash";import"../../../GradientManager/configuration/constants.js";var a=function(
|
|
1
|
+
import{useMemo as n}from"react";import{DEV_CENTER_CLI_APP_ID as t}from"../../../../constants/devcenter.js";import"../../../../constants/goals.js";import{SEGMENTS as o}from"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"lodash";import"../../../GradientManager/configuration/constants.js";var a=function(n){var t=Number(n);return Number.isSafeInteger(t)&&t>0?t:null},s=function(s){var i,r,p,l,e,d=s.app,u=s.appData,c=s.currentDashboardAppsLastAnnotations,m=null==d||null===(i=d.package)||void 0===i||null===(r=i.manifest)||void 0===r||null===(p=r.application)||void 0===p||null===(l=p.ui)||void 0===l?void 0:l.disable_platform_annotations,v=u.well,f=u.rig,j=(null==v?void 0:v.asset_id)||(null==f?void 0:f.asset_id),g=a(null==v?void 0:v.companyId)||a(null==v?void 0:v.company_id)||a(null==f?void 0:f.company_id),_=!(!d.package||m||d.id===t||!j||!g||(null===(e=d.segment)||void 0===e?void 0:e[0])!==o.DRILLING),I=n((function(){var n;if(!c||!_)return null;var t=c.find((function(n){return n.id===d.id}));return null!=t&&null!==(n=t.last_app_annotation)&&void 0!==n&&n.data?t.last_app_annotation:null}),[d.id,c,_]);return{assetIdForAnnotation:j,assetCompanyId:g,isAppSupportsAnnotations:_,appLastAnnotation:I}};export{s as default};
|
|
2
2
|
//# sourceMappingURL=useAnnotationsData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsData.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type {\n AppDataEntry,\n AppLastAnnotation,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n} from '../types';\n\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport { SEGMENTS } from '~/constants/segment';\n\ntype UseAnnotationsDataParams = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n};\n\n
|
|
1
|
+
{"version":3,"file":"useAnnotationsData.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type {\n AppDataEntry,\n AppLastAnnotation,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n} from '../types';\n\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport { SEGMENTS } from '~/constants/segment';\n\ntype UseAnnotationsDataParams = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n};\n\n// Annotation components require numeric company IDs; JSON:API relationship IDs are strings.\nconst getAnnotationCompanyId = (value: string | number | null | undefined) => {\n const companyId = Number(value);\n\n return Number.isSafeInteger(companyId) && companyId > 0 ? companyId : null;\n};\n\ntype UseAnnotationsDataReturn = {\n appLastAnnotation: AppLastAnnotation | null;\n assetCompanyId: number | null;\n assetIdForAnnotation: number | undefined;\n isAppSupportsAnnotations: boolean;\n};\n\nconst useAnnotationsData = ({\n app,\n appData,\n currentDashboardAppsLastAnnotations,\n}: UseAnnotationsDataParams): UseAnnotationsDataReturn => {\n const isPlatformAnnotationsDisabled =\n app?.package?.manifest?.application?.ui?.disable_platform_annotations;\n\n const { well, rig } = appData;\n\n // Legacy external producers use company_id. Preserve fallback per field so a well's asset\n // can still use the rig company when the well has no company relationship.\n const assetIdForAnnotation = well?.asset_id || rig?.asset_id;\n const assetCompanyId =\n getAnnotationCompanyId(well?.companyId) ||\n getAnnotationCompanyId(well?.company_id) ||\n getAnnotationCompanyId(rig?.company_id);\n\n // `assetCompanyId` is part of the predicate, not just `assetIdForAnnotation`: `AnnotationsList`\n // declares both `assetId` and `assetCompanyId` as required and sends the company id on every\n // read and write. Gating on the asset id alone let both headers show the annotations action for\n // an asset that carries an `asset_id` but no `company_id`, and clicking it only toggled state\n // while `DevCenterAppDialogs` rendered nothing.\n const isAppSupportsAnnotations =\n !!app.package &&\n !isPlatformAnnotationsDisabled &&\n app.id !== DEV_CENTER_CLI_APP_ID &&\n !!assetIdForAnnotation &&\n !!assetCompanyId &&\n app.segment?.[0] === SEGMENTS.DRILLING;\n\n const appLastAnnotation = useMemo(() => {\n if (!currentDashboardAppsLastAnnotations || !isAppSupportsAnnotations) {\n return null;\n }\n\n const annotation = currentDashboardAppsLastAnnotations.find(item => item.id === app.id);\n if (!annotation?.last_app_annotation?.data) {\n return null;\n }\n\n // Additional check for broken items on api, required api serializer fixing\n return annotation.last_app_annotation;\n }, [app.id, currentDashboardAppsLastAnnotations, isAppSupportsAnnotations]);\n\n return {\n assetIdForAnnotation,\n assetCompanyId,\n isAppSupportsAnnotations,\n appLastAnnotation,\n };\n};\n\nexport default useAnnotationsData;\n"],"names":["getAnnotationCompanyId","value","companyId","Number","isSafeInteger","useAnnotationsData","_ref","_app$package","_app$package$manifest","_app$package$manifest2","_app$package$manifest3","_app$segment","app","appData","currentDashboardAppsLastAnnotations","isPlatformAnnotationsDisabled","package","manifest","application","ui","disable_platform_annotations","well","rig","assetIdForAnnotation","asset_id","assetCompanyId","company_id","isAppSupportsAnnotations","id","DEV_CENTER_CLI_APP_ID","segment","SEGMENTS","DRILLING","appLastAnnotation","useMemo","_annotation$last_app_","annotation","find","item","last_app_annotation","data"],"mappings":"upBAmBA,IAAMA,EAAyB,SAACC,GAC9B,IAAMC,EAAYC,OAAOF,GAEzB,OAAOE,OAAOC,cAAcF,IAAcA,EAAY,EAAIA,EAAY,IACxE,EASMG,EAAqB,SAI+BC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAHxDC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,oCAEMC,EACJH,SAAY,QAAZA,EAAAA,EAAKI,eAAO,IAAAT,GAAU,QAAVC,EAAZD,EAAcU,gBAAQ,IAAAT,GAAa,QAAbC,EAAtBD,EAAwBU,mBAAW,IAAAT,GAAI,QAAJC,EAAnCD,EAAqCU,UAAE,IAAAT,OAAvCE,EAAAF,EAAyCU,6BAEnCC,EAAcR,EAAdQ,KAAMC,EAAQT,EAARS,IAIRC,GAAuBF,aAAAA,EAAAA,EAAMG,YAAYF,aAAAA,EAAAA,EAAKE,UAC9CC,EACJzB,EAAuBqB,aAAAA,EAAAA,EAAMnB,YAC7BF,EAAuBqB,aAAAA,EAAAA,EAAMK,aAC7B1B,EAAuBsB,aAAG,EAAHA,EAAKI,YAOxBC,KACFf,EAAII,SACLD,GACDH,EAAIgB,KAAOC,IACTN,IACAE,IACS,UAAXb,EAAIkB,eAAO,IAAAnB,OAAA,EAAXA,EAAc,MAAOoB,EAASC,UAE1BC,EAAoBC,GAAQ,WAAM,IAAAC,EACtC,IAAKrB,IAAwCa,EAC3C,OAAO,KAGT,IAAMS,EAAatB,EAAoCuB,MAAK,SAAAC,GAAI,OAAIA,EAAKV,KAAOhB,EAAIgB,MACpF,OAAKQ,SAA+B,QAArBD,EAAVC,EAAYG,2BAAmB,IAAAJ,GAA/BA,EAAiCK,KAK/BJ,EAAWG,oBAJT,IAKV,GAAE,CAAC3B,EAAIgB,GAAId,EAAqCa,IAEjD,MAAO,CACLJ,qBAAAA,EACAE,eAAAA,EACAE,yBAAAA,EACAM,kBAAAA,EAEJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import type { AppDataAssets } from '../../AppsDataProvider/types';
|
|
2
3
|
import type { AppCoordinates, AppLastAnnotation, ChatActions, DevCenterAppResource, DevCenterCurrentUser, DevCenterMenuItem, DevCenterRouter, LayoutEnvironment, RegisterAITools, SetIsFullscreenModalMode, UpdateDashboardAppLastAnnotation } from '../types';
|
|
3
4
|
type UseDevCenterAppPropsParams = {
|
|
4
5
|
app: DevCenterAppResource;
|
|
@@ -9,7 +10,7 @@ type UseDevCenterAppPropsParams = {
|
|
|
9
10
|
coordinates: AppCoordinates | null | undefined;
|
|
10
11
|
currentUser: DevCenterCurrentUser;
|
|
11
12
|
devCenterRouter: DevCenterRouter;
|
|
12
|
-
filteredAppData:
|
|
13
|
+
filteredAppData: AppDataAssets;
|
|
13
14
|
isMaximized: boolean;
|
|
14
15
|
layoutEnvironment: LayoutEnvironment | null | undefined;
|
|
15
16
|
onSettingChange: (key: string, value: unknown) => void;
|
|
@@ -61,6 +62,11 @@ export declare const useDevCenterAppProps: ({ app, appLastAnnotation, appTimesta
|
|
|
61
62
|
onSettingChange: (key: string, value: unknown) => void;
|
|
62
63
|
toggleAnnotationsList: () => void;
|
|
63
64
|
updateCurrentDashboardAppLastAnnotation: UpdateDashboardAppLastAnnotation | undefined;
|
|
65
|
+
fracFleet?: import("../../AppsDataProvider/types").AppDataFracFleet | undefined;
|
|
66
|
+
interventionUnit?: import("../../AppsDataProvider/types").AppDataInterventionUnit | undefined;
|
|
67
|
+
rig?: import("../../AppsDataProvider/types").AppDataRig | undefined;
|
|
68
|
+
well?: import("../../AppsDataProvider/types").AppDataWell | undefined;
|
|
69
|
+
wells?: import("../../AppsDataProvider/types").AppDataCompletionWell[] | undefined;
|
|
64
70
|
};
|
|
65
71
|
isNative: boolean;
|
|
66
72
|
layoutEnvironment: LayoutEnvironment | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevCenterAppProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAIlB,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,6FAA6F;IAC7F,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"useDevCenterAppProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAIlB,KAAK,0BAA0B,GAAG;IAChC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,6FAA6F;IAC7F,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,WAAW,EAAE,oBAAoB,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,aAAa,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAChE,qBAAqB,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACrE,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,uCAAuC,EAAE,gCAAgC,GAAG,SAAS,CAAC;CACvF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gYAsB9B,0BAA0B;;;;2BA1CJ,MAAM,SAAS,OAAO,KAAK,IAAI;8BAC5B,OAAO,KAAK,IAAI;;;;kCAIZ,OAAO,KAAK,IAAI;;;mCAIf,IAAI;;;;;;;;;;;;;;;;qCADN,IAAI;;;;;;;;;;;;;;CA6FhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevCenterAppProps.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport type {\n AppCoordinates,\n AppLastAnnotation,\n ChatActions,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from '../types';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\ntype UseDevCenterAppPropsParams = {\n app: DevCenterAppResource;\n /** The entry `useAnnotationsData` resolved, or `null` when the app has no annotation yet. */\n appLastAnnotation: AppLastAnnotation | null;\n appTimestamp: number | undefined;\n chatActions: ChatActions | null | undefined;\n coordinates: AppCoordinates | null | undefined;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n filteredAppData:
|
|
1
|
+
{"version":3,"file":"useDevCenterAppProps.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport type { AppDataAssets } from '../../AppsDataProvider/types';\n\nimport type {\n AppCoordinates,\n AppLastAnnotation,\n ChatActions,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from '../types';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\ntype UseDevCenterAppPropsParams = {\n app: DevCenterAppResource;\n /** The entry `useAnnotationsData` resolved, or `null` when the app has no annotation yet. */\n appLastAnnotation: AppLastAnnotation | null;\n appTimestamp: number | undefined;\n chatActions: ChatActions | null | undefined;\n coordinates: AppCoordinates | null | undefined;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n filteredAppData: AppDataAssets;\n isMaximized: boolean;\n layoutEnvironment: LayoutEnvironment | null | undefined;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n registerAITools: RegisterAITools | undefined;\n segment: string;\n setIsFullscreenModalMode: SetIsFullscreenModalMode;\n setIsMaximized: (isMaximized: boolean) => void;\n setMainMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n setSecondaryMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n updateCurrentDashboardAppLastAnnotation: UpdateDashboardAppLastAnnotation | undefined;\n};\n\n/**\n * Builds the prop bag handed to the app bundle.\n *\n * Memoised on purpose: the bundle is third-party code that may memoise on prop identity, and\n * the nested `appHeaderProps` object was previously reallocated on every render of the\n * container, so nothing downstream could ever hit a memo.\n */\nexport const useDevCenterAppProps = ({\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n}: UseDevCenterAppPropsParams) =>\n useMemo(\n () => ({\n coordinates,\n currentUser,\n devCenterRouter,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAppSettingsDialog,\n // Only the V1 `AppHeader` reads this nested bag; AppHeader V3 takes the same values from\n // `AppCommonsProvider` instead. It exists for apps whose manifest has not set\n // `use_app_header_v3`, and stops being read once none are left.\n appHeaderProps: {\n app,\n appLastAnnotation,\n appSettings: app.settings,\n coordinates,\n currentUser,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n toggleAnnotationsList,\n updateCurrentDashboardAppLastAnnotation,\n ...filteredAppData,\n },\n isNative: isNativeDetected,\n layoutEnvironment,\n timestamp: appTimestamp,\n chatActions,\n }),\n [\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n ]\n );\n"],"names":["useDevCenterAppProps","_ref","app","appLastAnnotation","appTimestamp","chatActions","coordinates","currentUser","devCenterRouter","filteredAppData","isMaximized","layoutEnvironment","onSettingChange","onSettingsChange","registerAITools","segment","setIsFullscreenModalMode","setIsMaximized","setMainMenuItems","setSecondaryMenuItems","toggleAnnotationsList","toggleAppSettingsDialog","updateCurrentDashboardAppLastAnnotation","useMemo","appHeaderProps","_objectSpread","appSettings","settings","isNative","isNativeDetected","timestamp"],"mappings":"ytBAqDaA,IAAAA,EAAuB,SAAHC,GAAA,IAC/BC,IAAAA,IACAC,IAAAA,kBACAC,IAAAA,aACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,gBACAC,IAAAA,YACAC,IAAAA,kBACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,gBACAC,IAAAA,QACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,iBACAC,IAAAA,sBACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,wCAAuC,OAEvCC,GACE,WAAA,MAAO,CACLjB,YAAAA,EACAC,YAAAA,EACAC,gBAAAA,EACAI,gBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAC,QAAAA,EACAC,yBAAAA,EACAC,eAAAA,EACAC,iBAAAA,EACAC,sBAAAA,EACAE,wBAAAA,EAIAG,eAAcC,EAAA,CACZvB,IAAAA,EACAC,kBAAAA,EACAuB,YAAaxB,EAAIyB,SACjBrB,YAAAA,EACAC,YAAAA,EACAG,YAAAA,EACAC,kBAAAA,EACAC,gBAAAA,EACAQ,sBAAAA,EACAE,wCAAAA,GACGb,GAELmB,SAAUC,EACVlB,kBAAAA,EACAmB,UAAW1B,EACXC,YAAAA,EACA,GACF,CACEH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AppDataDictionary, AppDataEntry } from '../AppsDataProvider/types';
|
|
2
|
+
/** External apps also use the public AppContext to provide one app resource directly. */
|
|
3
|
+
export type LegacySingleAppContext = {
|
|
4
|
+
app: Record<string, unknown>;
|
|
5
|
+
} & Record<string, unknown>;
|
|
6
|
+
export type AppContextValue = AppDataDictionary | LegacySingleAppContext | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* AppsDataProvider and iframe hosts key their dictionaries by numeric dashboard-app IDs. External
|
|
9
|
+
* single-app providers have an `app` root instead, so the public context can keep both modes.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getAppDataEntryFromContext: (contextValue: AppContextValue, appDataKey: number | undefined) => AppDataEntry;
|
|
12
|
+
//# sourceMappingURL=getAppDataEntryFromContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAppDataEntryFromContext.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIjF,yFAAyF;AACzF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,SAAS,CAAC;AAOrF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,iBACvB,eAAe,cACjB,MAAM,GAAG,SAAS,KAC7B,YAMF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAppDataEntryFromContext.js","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.ts"],"sourcesContent":["import type { AppDataDictionary, AppDataEntry } from '../AppsDataProvider/types';\n\nconst LOADING_APP_DATA: AppDataEntry = { isLoading: true };\n\n/** External apps also use the public AppContext to provide one app resource directly. */\nexport type LegacySingleAppContext = {\n app: Record<string, unknown>;\n} & Record<string, unknown>;\n\nexport type AppContextValue = AppDataDictionary | LegacySingleAppContext | undefined;\n\nconst isLegacySingleAppContext = (\n contextValue: AppContextValue\n): contextValue is LegacySingleAppContext =>\n !!contextValue && Object.prototype.hasOwnProperty.call(contextValue, 'app');\n\n/**\n * AppsDataProvider and iframe hosts key their dictionaries by numeric dashboard-app IDs. External\n * single-app providers have an `app` root instead, so the public context can keep both modes.\n */\nexport const getAppDataEntryFromContext = (\n contextValue: AppContextValue,\n appDataKey: number | undefined\n): AppDataEntry => {\n if (!appDataKey || !contextValue || isLegacySingleAppContext(contextValue)) {\n return LOADING_APP_DATA;\n }\n\n return contextValue[appDataKey] ?? LOADING_APP_DATA;\n};\n"],"names":["LOADING_APP_DATA","isLoading","getAppDataEntryFromContext","contextValue","appDataKey","_contextValue$appData","Object","prototype","hasOwnProperty","call","isLegacySingleAppContext"],"mappings":"AAEA,IAAMA,EAAiC,CAAEC,WAAW,GAkBvCC,EAA6B,SACxCC,EACAC,GACiB,IAAAC,EACjB,OAAKD,GAAeD,IAbW,SAC/BA,GAA6B,QAE3BA,GAAgBG,OAAOC,UAAUC,eAAeC,KAAKN,EAAc,MAAM,CAUvCO,CAAyBP,YAI7DE,EAAOF,EAAaC,kBAHXJ,CAIX"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { User } from '../../../types';
|
|
3
|
+
export type { AppDataEntry } from '../AppsDataProvider/types';
|
|
3
4
|
/**
|
|
4
5
|
* The DC platform passes app/settings payloads straight from the API and hands them to app
|
|
5
6
|
* bundles unchanged. Their shapes are owned by the manifest, not by this component, so the
|
|
@@ -80,11 +81,6 @@ export type DevCenterMenuItem = {
|
|
|
80
81
|
icon?: ReactNode;
|
|
81
82
|
to?: string;
|
|
82
83
|
};
|
|
83
|
-
/** One entry of the app-data context, keyed by dashboard-app id. */
|
|
84
|
-
export type AppDataEntry = {
|
|
85
|
-
isLoading?: boolean;
|
|
86
|
-
appHash?: string;
|
|
87
|
-
} & PlatformPayload;
|
|
88
84
|
/**
|
|
89
85
|
* Widened over both consumers: `DcFullscreenElemsCoordinatorProvider` calls it with a second
|
|
90
86
|
* `isModal` argument, `NonPriorityMenus` awaits the result.
|
|
@@ -131,5 +127,4 @@ export type AppLastAnnotation = NonNullable<DashboardAppLastAnnotation['last_app
|
|
|
131
127
|
export type RegisterAITools = (...args: never[]) => unknown;
|
|
132
128
|
/** Owned by `corva-web-frontend`'s chat module; forwarded to the app bundle unread. */
|
|
133
129
|
export type ChatActions = PlatformPayload;
|
|
134
|
-
export {};
|
|
135
130
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;GAKG;AAEH,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3C,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC;IACtC,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE;YACT,WAAW,CAAC,EAAE;gBACZ,EAAE,CAAC,EAAE;oBAAE,eAAe,CAAC,EAAE,OAAO,CAAC;oBAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;iBAAE,GAAG,eAAe,CAAC;aACnF,GAAG,eAAe,CAAC;SACrB,GAAG,eAAe,CAAC;KACrB,GAAG,eAAe,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,GAAG,eAAe,CAAC;AAEpB;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,KAAK,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,eAAe,CAAC;KAC9C,GAAG,eAAe,CAAC;IACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,KAAK,IAAI,CAAC;CAC5D,GAAG,eAAe,CAAC;AAEpB;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG;IACxC,OAAO,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,eAAe,CAAC;CAC5D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import{useMemo as o,useRef as r,useState as i,useEffect as a,useContext as p,useCallback as s}from"react";import{flushSync as
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import{useMemo as o,useRef as r,useState as i,useEffect as a,useContext as p,useCallback as s}from"react";import{flushSync as l}from"react-dom";import c from"classnames";import{withRouter as d}from"react-router-dom";import{noop as u}from"lodash";import m from"query-string";import v from"prop-types";import{APP_IFRAME_ATTRIBUTE as f,IsolatedPage as C}from"./IsolatedPage.js";import{ISOLATED_PAGE_APP_CONTAINER_ID as b}from"./constants.js";import{useFullscreenModes as g}from"./useFullscreenModes.js";import h from"./DevCenterIsolatedApp.module.scss.js";import A from"../AppContext.js";import j from"../../../permissions/PermissionsContext.js";import"../../../permissions/constants/index.js";import"../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../clients/jsonApi/index.js";import"../../../permissions/ProvidePermissions.js";import{getUserUnits as y,subscribeForUserUnitsUpdates as w}from"../../../utils/index.js";import"../AppHeader/AppHeader.js";import"../AppSideBar/AppSideBar.js";import"../AppsDataProvider/effects/utils.js";import"@babel/runtime/helpers/toConsumableArray";import{createDevCenterRouter as x,isCorvaApp as M,isIsolationEnabledInPackageManifest as S,isAppMaximized as I}from"../../../utils/devcenter.js";import{jsx as L}from"react/jsx-runtime";import P from"../DevCenterAppContainer/DevCenterAppContainer.js";import"../NavigationBar/NavigationBar.js";import"../SideBar/SideBar.js";import"../AppSettingsPopover/AppSettingsPopover.js";import"../AppFilterPanelLayout/AppFilterPanelLayout.js";import"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"./DevCenterIsolatedAppPage.js";import{getAppVersion as R}from"../DevCenterAppContainer/utils.js";import{isInsideNewMobileApp as D}from"../../../utils/mobileDetect.js";var F=["isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","apiRateLimiterConfig","trackApiRateLimiterException"];function O(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function E(n){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?O(Object(o),!0).forEach((function(t){e(n,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):O(Object(o)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}))}return n}var T={};function B(e){var d,v,O,B,k,W,z,_=e.isIsolationFeatureEnabled,N=void 0!==_&&_,q=e.onAppFullscreenTransparentMode,U=void 0===q?u:q,H=e.onIsMaximizedChange,V=void 0===H?u:H,G=e.onInnerContainerMouseEnter,J=void 0===G?u:G,K=e.onInnerContainerMouseLeave,Q=void 0===K?u:K,X=e.onAppContainerClick,Y=void 0===X?u:X,Z=e.setInnerContainerRefFn,$=void 0===Z?u:Z,ee=e.onAppRemove,ne=void 0===ee?void 0:ee,te=e.onSettingChange,oe=void 0===te?u:te,re=e.onSettingsChange,ie=void 0===re?u:re,ae=e.updateCurrentDashboardAppLastAnnotation,pe=void 0===ae?u:ae,se=e.apiRateLimiterConfig,le=void 0===se?T:se,ce=e.trackApiRateLimiterException,de=t(e,F),ue=o((function(){return x(de.history)}),[null===(d=de.history)||void 0===d?void 0:d.location]),me=M(null==de||null===(v=de.app)||void 0===v?void 0:v.app)&&!S(null==de||null===(O=de.app)||void 0===O?void 0:O.package)||!N,ve=me?P:C,fe=null===(B=de.app)||void 0===B||null===(k=B.app)||void 0===k?void 0:k.app_key,Ce=R(de.app),be="".concat(fe,"-").concat(Ce),ge=r(),he=r(),Ae=r(),je=r(!1),ye=r(!1),we=I(m.parse(null===(W=de.history)||void 0===W||null===(z=W.location)||void 0===z?void 0:z.search),de.app.id),xe=r(we);xe.current=we;var Me=i(y()),Se=n(Me,2),Ie=Se[0],Le=Se[1];a((function(){var e=w((function(e){return Le(e)}));return function(){return e()}}),[]);var Pe=p(A),Re=j();function De(){U({appId:de.app.id,isModeEnabled:!1}),document.body.classList.remove("dc-isolated-app__body-overflow",h.compensateScroll)}var Fe=s((function(e){var n,t,o,r,i,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!N||me||xe.current&&!je.current||je.current===e){var p;a&&ye.current!==a&&(ye.current=a,null===(p=he.current)||void 0===p||p.classList.add(h.containerMaximizedTransparentModal))}else{var s,c=e?"add":"remove";if(null===(n=he.current)||void 0===n||n.classList[c](h.containerMaximizedTransparent),a||"remove"===c)null===(s=he.current)||void 0===s||s.classList[c](h.containerMaximizedTransparentModal);ge.current=null===(t=he.current)||void 0===t||null===(o=t.querySelector("[".concat(f,"]")))||void 0===o||null===(r=o.contentWindow)||void 0===r?void 0:r.document;var d=null===(i=ge.current)||void 0===i?void 0:i.getElementById(b);if(d){if(e){var u=Ae.current.getBoundingClientRect(),m=u.top,v=u.left,C=u.width,g=u.height,A=window.innerWidth!==document.body.clientWidth;l((function(){U({appId:de.app.id,isModeEnabled:!0})})),d.setAttribute("style","\n top: ".concat(m,"px;\n left: ").concat(v,"px;\n width: ").concat(C,"px;\n height: ").concat(g,"px;\n position: absolute;\n ")),document.body.classList.add("dc-isolated-app__body-overflow",A&&h.compensateScroll)}else l((function(){U({appId:de.app.id,isModeEnabled:!1})})),d.setAttribute("style",""),document.body.classList.remove("dc-isolated-app__body-overflow",h.compensateScroll);je.current=e,ye.current=a}}}),[N,me,xe]);a((function(){return De}),[]),a((function(){we&&je.current&&Fe(!1)}),[we]);var Oe=g({containerRef:Ae,appInstanceId:de.app.id,isMaximized:we}),Ee=Oe.isBrowserFullscreen,Te=Oe.enterBrowserFullscreen,Be=Oe.exitBrowserFullscreen,ke=Oe.isSeparateWindow,We=Oe.openSeparateWindow,ze=Oe.closeSeparateWindow,_e=Oe.setSeparateWindowTitle,Ne=s((function(e){he.current=e,$(e)}),[]);return L("div",{className:c("dc-isolated-app",h.fixedSizeContainer),ref:Ae,children:L("div",{ref:Ne,onMouseEnter:J,onMouseLeave:Q,"data-testid":"".concat("DevCenter_AppContainer","_").concat(de.app.app.name),className:c(h.container,D&&h.newMobileAppContainer,we&&h.containerMaximized),children:L(ve,E(E({},de),{},{isBrowserFullscreen:Ee,enterBrowserFullscreen:Te,exitBrowserFullscreen:Be,isSeparateWindow:ke,openSeparateWindow:We,closeSeparateWindow:ze,setSeparateWindowTitle:_e,isNonIsolatedApp:me,appContextValue:Pe,devCenterRouter:ue,globalNotificationToastsAPI:window[Symbol.for("notificationToasts")],globalMixpanelEventTracker:window[Symbol.for("logToMixpanel")],onAppContainerClick:Y,onAppRemove:ne,onIsMaximizedChange:V,onSettingChange:oe,onSettingsChange:ie,permissionsContextValue:Re,setIsFullscreenModalMode:Fe,userUnits:Ie,trackApiRateLimiterException:ce,updateCurrentDashboardAppLastAnnotation:pe,apiRateLimiterConfig:le}),be)})})}B.propTypes={app:v.shape({id:v.number,app:v.shape({name:v.string})}).isRequired,currentUser:v.shape({}).isRequired,isIsolationFeatureEnabled:v.bool,onAppContainerClick:v.func,onAppFullscreenTransparentMode:v.func,onAppRemove:v.func,onInnerContainerMouseEnter:v.func,onInnerContainerMouseLeave:v.func,onIsMaximizedChange:v.func,onSettingChange:v.func,onSettingsChange:v.func,setInnerContainerRefFn:v.func,updateCurrentDashboardAppLastAnnotation:v.func,apiRateLimiterConfig:v.object};var k=d(B);export{k as DevCenterIsolatedApp};
|
|
2
2
|
//# sourceMappingURL=DevCenterIsolatedApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { noop } from 'lodash';\nimport queryString from 'query-string';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, IsolatedPage } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { useFullscreenModes } from './useFullscreenModes';\n\nimport styles from './DevCenterIsolatedApp.module.scss';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { getAppVersion } from '~/components/DevCenter/DevCenterAppContainer/utils';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\nconst DEFAULT_API_RATE_LIMITER_CONFIG = {};\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled = false,\n onAppFullscreenTransparentMode = noop,\n onIsMaximizedChange = noop,\n onInnerContainerMouseEnter = noop,\n onInnerContainerMouseLeave = noop,\n onAppContainerClick = noop,\n setInnerContainerRefFn = noop,\n onAppRemove = undefined,\n onSettingChange = noop,\n onSettingsChange = noop,\n updateCurrentDashboardAppLastAnnotation = noop,\n apiRateLimiterConfig = DEFAULT_API_RATE_LIMITER_CONFIG,\n trackApiRateLimiterException,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.history),\n [props.history?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n // Key to force iframe recreation when app version changes.\n // This ensures global dependencies are re-initialized for the new version.\n const appKey = props.app?.app?.app_key;\n const appVersion = getAppVersion(props.app);\n const iframeKey = `${appKey}-${appVersion}`;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const fullscreenModeRef = useRef(false);\n const fullscreenModalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(\n queryString.parse(props.history?.location?.search),\n props.app.id\n );\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !fullscreenModeRef.current) ||\n fullscreenModeRef.current === nextIsFullscreenModalModeValue\n ) {\n // Adding modal class if modal is opened when non-modal is already open\n if (isModal && fullscreenModalModeRef.current !== isModal) {\n fullscreenModalModeRef.current = isModal;\n containerRef.current?.classList.add(styles.containerMaximizedTransparentModal);\n }\n\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n // 1. BATCH ALL READS FIRST - prevents layout thrashing\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n\n // 2. Flush React state updates synchronously to prevent deferred renders\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n });\n\n // 3. BATCH ALL DOM WRITES - after reads and React flush\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n // Flush React state updates synchronously before DOM writes\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n });\n\n // DOM writes after React flush\n isolatedPageAppContainer.setAttribute('style', '');\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n fullscreenModeRef.current = nextIsFullscreenModalModeValue;\n fullscreenModalModeRef.current = isModal;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && fullscreenModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n const {\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n } = useFullscreenModes({\n containerRef: fixedSizeContainerRef,\n appInstanceId: props.app.id,\n isMaximized: isAppMaximized,\n });\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n key={iframeKey}\n {...props}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onAppRemove={onAppRemove}\n onIsMaximizedChange={onIsMaximizedChange}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n trackApiRateLimiterException={trackApiRateLimiterException}\n updateCurrentDashboardAppLastAnnotation={updateCurrentDashboardAppLastAnnotation}\n apiRateLimiterConfig={apiRateLimiterConfig}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n apiRateLimiterConfig: PropTypes.object,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DEFAULT_API_RATE_LIMITER_CONFIG","DevCenterIsolatedAppComponent","_ref","_props$history","_props$app","_props$app2","_props$app3","_props$app3$app","_props$history2","_props$history2$locat","_ref$isIsolationFeatu","isIsolationFeatureEnabled","_ref$onAppFullscreenT","onAppFullscreenTransparentMode","noop","_ref$onIsMaximizedCha","onIsMaximizedChange","_ref$onInnerContainer","onInnerContainerMouseEnter","_ref$onInnerContainer2","onInnerContainerMouseLeave","_ref$onAppContainerCl","onAppContainerClick","_ref$setInnerContaine","setInnerContainerRefFn","_ref$onAppRemove","onAppRemove","undefined","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$updateCurrentDas","updateCurrentDashboardAppLastAnnotation","_ref$apiRateLimiterCo","apiRateLimiterConfig","trackApiRateLimiterException","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","history","location","isNonIsolatedApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appKey","app_key","appVersion","getAppVersion","iframeKey","concat","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","fullscreenModeRef","fullscreenModalModeRef","isAppMaximized","queryString","parse","search","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current2","_containerRef$current4","_containerRef$current5","_containerRef$current6","_appIframeDocument$cu","isModal","_containerRef$current","add","containerMaximizedTransparentModal","_containerRef$current3","classesEditMethod","containerMaximizedTransparent","querySelector","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","isBodyScrollVisible","window","innerWidth","clientWidth","flushSync","setAttribute","_useFullscreenModes","useFullscreenModes","appInstanceId","isMaximized","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","object","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { noop } from 'lodash';\nimport queryString from 'query-string';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, IsolatedPage } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { useFullscreenModes } from './useFullscreenModes';\n\nimport styles from './DevCenterIsolatedApp.module.scss';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { getAppVersion } from '~/components/DevCenter/DevCenterAppContainer/utils';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\nconst DEFAULT_API_RATE_LIMITER_CONFIG = {};\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled = false,\n onAppFullscreenTransparentMode = noop,\n onIsMaximizedChange = noop,\n onInnerContainerMouseEnter = noop,\n onInnerContainerMouseLeave = noop,\n onAppContainerClick = noop,\n setInnerContainerRefFn = noop,\n onAppRemove = undefined,\n onSettingChange = noop,\n onSettingsChange = noop,\n updateCurrentDashboardAppLastAnnotation = noop,\n apiRateLimiterConfig = DEFAULT_API_RATE_LIMITER_CONFIG,\n trackApiRateLimiterException,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.history),\n [props.history?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n // Key to force iframe recreation when app version changes.\n // This ensures global dependencies are re-initialized for the new version.\n const appKey = props.app?.app?.app_key;\n const appVersion = getAppVersion(props.app);\n const iframeKey = `${appKey}-${appVersion}`;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const fullscreenModeRef = useRef(false);\n const fullscreenModalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(\n queryString.parse(props.history?.location?.search),\n props.app.id\n );\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !fullscreenModeRef.current) ||\n fullscreenModeRef.current === nextIsFullscreenModalModeValue\n ) {\n // Adding modal class if modal is opened when non-modal is already open\n if (isModal && fullscreenModalModeRef.current !== isModal) {\n fullscreenModalModeRef.current = isModal;\n containerRef.current?.classList.add(styles.containerMaximizedTransparentModal);\n }\n\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n // 1. BATCH ALL READS FIRST - prevents layout thrashing\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n\n // 2. Flush React state updates synchronously to prevent deferred renders\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n });\n\n // 3. BATCH ALL DOM WRITES - after reads and React flush\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n // Flush React state updates synchronously before DOM writes\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n });\n\n // DOM writes after React flush\n isolatedPageAppContainer.setAttribute('style', '');\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n fullscreenModeRef.current = nextIsFullscreenModalModeValue;\n fullscreenModalModeRef.current = isModal;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && fullscreenModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n const {\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n } = useFullscreenModes({\n containerRef: fixedSizeContainerRef,\n appInstanceId: props.app.id,\n isMaximized: isAppMaximized,\n });\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n key={iframeKey}\n {...props}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onAppRemove={onAppRemove}\n onIsMaximizedChange={onIsMaximizedChange}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n trackApiRateLimiterException={trackApiRateLimiterException}\n updateCurrentDashboardAppLastAnnotation={updateCurrentDashboardAppLastAnnotation}\n apiRateLimiterConfig={apiRateLimiterConfig}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n apiRateLimiterConfig: PropTypes.object,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DEFAULT_API_RATE_LIMITER_CONFIG","DevCenterIsolatedAppComponent","_ref","_props$history","_props$app","_props$app2","_props$app3","_props$app3$app","_props$history2","_props$history2$locat","_ref$isIsolationFeatu","isIsolationFeatureEnabled","_ref$onAppFullscreenT","onAppFullscreenTransparentMode","noop","_ref$onIsMaximizedCha","onIsMaximizedChange","_ref$onInnerContainer","onInnerContainerMouseEnter","_ref$onInnerContainer2","onInnerContainerMouseLeave","_ref$onAppContainerCl","onAppContainerClick","_ref$setInnerContaine","setInnerContainerRefFn","_ref$onAppRemove","onAppRemove","undefined","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$updateCurrentDas","updateCurrentDashboardAppLastAnnotation","_ref$apiRateLimiterCo","apiRateLimiterConfig","trackApiRateLimiterException","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","history","location","isNonIsolatedApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appKey","app_key","appVersion","getAppVersion","iframeKey","concat","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","fullscreenModeRef","fullscreenModalModeRef","isAppMaximized","queryString","parse","search","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current2","_containerRef$current4","_containerRef$current5","_containerRef$current6","_appIframeDocument$cu","isModal","_containerRef$current","add","containerMaximizedTransparentModal","_containerRef$current3","classesEditMethod","containerMaximizedTransparent","querySelector","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","isBodyScrollVisible","window","innerWidth","clientWidth","flushSync","setAttribute","_useFullscreenModes","useFullscreenModes","appInstanceId","isMaximized","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","object","DevCenterIsolatedApp","withRouter"],"mappings":"y6FAqBA,IACMA,EAAkC,CAAA,EAExC,SAASC,EAeNC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAR,EAdDS,0BAAAA,cAAiCD,EAAAE,EAAAV,EACjCW,+BAAAA,aAAiCC,EAAIF,EAAAG,EAAAb,EACrCc,oBAAAA,aAAsBF,EAAIC,EAAAE,EAAAf,EAC1BgB,2BAAAA,aAA6BJ,EAAIG,EAAAE,EAAAjB,EACjCkB,2BAAAA,aAA6BN,EAAIK,EAAAE,EAAAnB,EACjCoB,oBAAAA,aAAsBR,EAAIO,EAAAE,EAAArB,EAC1BsB,uBAAAA,aAAyBV,EAAIS,EAAAE,GAAAvB,EAC7BwB,YAAAA,oBAAcC,EAASF,GAAAG,GAAA1B,EACvB2B,gBAAAA,eAAkBf,EAAIc,GAAAE,GAAA5B,EACtB6B,iBAAAA,eAAmBjB,EAAIgB,GAAAE,GAAA9B,EACvB+B,wCAAAA,eAA0CnB,EAAIkB,GAAAE,GAAAhC,EAC9CiC,qBAAAA,eAAuBnC,EAA+BkC,GACtDE,KAAAA,6BACGC,GAAKC,EAAApC,EAAAqC,GAEFC,GAAkBC,GACtB,WAAA,OAAMC,EAAqCL,GAAMM,QACjD,GAAA,SAAAxC,EAACkC,GAAMM,4BAANxC,EAAeyC,WAGZC,GACHH,EAA0BL,UAAA,QAAKjC,EAALiC,GAAOS,WAAP,IAAA1C,OAAK,EAALA,EAAY0C,OACpCJ,EAAmDL,kBAAAA,EAAAA,GAAOS,sBAAPT,EAAAhC,EAAY0C,WACjEpC,EAEGqC,GAAiBH,GAAmBI,EAAwBC,EAI5DC,WAASd,EAAAA,GAAMS,kBAAN,UAAAxC,EAAWwC,WAAX,IAAAvC,SAAAA,EAAgB6C,QACzBC,GAAaC,EAAcjB,GAAMS,KACjCS,GAAS,GAAAC,OAAML,GAAM,KAAAK,OAAIH,IAEzBI,GAAoBC,IACpBC,GAAeD,IACfE,GAAwBF,IACxBG,GAAoBH,GAAO,GAC3BI,GAAyBJ,GAAO,GAEhCK,GAAiBrB,EACrBsB,EAAYC,cAAM5B,EAAAA,GAAMM,sBAAN,UAAAnC,EAAeoC,gBAAf,IAAAnC,SAAAA,EAAyByD,QAC3C7B,GAAMS,IAAIqB,IAINC,GAAoBV,EAAOK,IACjCK,GAAkBC,QAAUN,GAE5B,IAAAO,GAAkCC,EAASC,KAAeC,GAAAC,EAAAJ,GAAA,GAAnDK,GAASF,GAAA,GAAEG,GAAYH,GAAA,GAE9BI,GAAU,WACR,IAAMC,EAAgBC,GAA6B,SAAAC,GAAY,OAAIJ,GAAaI,MAEhF,OAAO,WAAA,OAAMF,GAAe,CAC7B,GAAE,IAEH,IAAMG,GAAkBC,EAAWC,GAC7BC,GAA0BC,IA+BhC,SAASC,KACPzE,EAA+B,CAAE0E,MAAOlD,GAAMS,IAAIqB,GAAIqB,eAAe,IACrEC,SAASC,KAAKC,UAAUC,OAAO,iCAAkCC,EAAOC,iBAC1E,CAEA,IAAMC,GAA2BC,GAC/B,SAAkCC,GAAiD,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAjBC,0DAGhE,IACG5F,GACDkC,IACCuB,GAAkBC,UAAYR,GAAkBQ,SACjDR,GAAkBQ,UAAY4B,EAJhC,CAO6D,IAAAO,EAAvDD,GAAWzC,GAAuBO,UAAYkC,IAChDzC,GAAuBO,QAAUkC,EACb,QAApBC,EAAA7C,GAAaU,eAAO,IAAAmC,GAApBA,EAAsBb,UAAUc,IAAIZ,EAAOa,oCAI/C,KAbA,CAeA,IAI+CC,EAJzCC,EAAoBX,EAAiC,MAAQ,SAInE,GAFoB,QAApBC,EAAAvC,GAAaU,eAAO,IAAA6B,GAApBA,EAAsBP,UAAUiB,GAAmBf,EAAOgB,+BAEtDN,GAAiC,WAAtBK,EACO,QAApBD,EAAAhD,GAAaU,eAAO,IAAAsC,GAApBA,EAAsBhB,UAAUiB,GAC9Bf,EAAOa,oCAIXjD,GAAkBY,QAAU,QAAH8B,EAAGxC,GAAaU,eAAb,IAAA8B,GAE3B,QAF2BC,EAAAD,EAAsBW,cAAa,IAAAtD,OACzDuD,EACL,aAAA,IAAAX,GAAe,QAAfC,EAF2BD,EAEzBY,qBAAa,IAAAX,OAFY,EAAAA,EAEVZ,SAElB,IAAMwB,UAA2BxD,EAAAA,GAAkBY,4BAAlBiC,EAA2BY,eAC1DC,GAGF,GAAKF,EAAL,CAIA,GAAIhB,EAAgC,CAElC,IAAAmB,EAAqCxD,GAAsBS,QAAQgD,wBAA3DC,IAAAA,IAAKC,IAAAA,KAAMC,IAAAA,MAAOC,IAAAA,OACpBC,EAAsBC,OAAOC,aAAenC,SAASC,KAAKmC,YAGhEC,GAAU,WACRjH,EAA+B,CAAE0E,MAAOlD,GAAMS,IAAIqB,GAAIqB,eAAe,GACvE,IAGAyB,EAAyBc,aACvB,QAEKT,kBAAAA,OAAAA,EACCC,uBAAAA,OAAAA,EACCC,wBAAAA,OAAAA,EACCC,yBAAAA,OAAAA,EAGT,6CACDhC,SAASC,KAAKC,UAAUc,IACtB,iCACAiB,GAAuB7B,EAAOC,iBAElC,MAEEgC,GAAU,WACRjH,EAA+B,CAAE0E,MAAOlD,GAAMS,IAAIqB,GAAIqB,eAAe,GACvE,IAGAyB,EAAyBc,aAAa,QAAS,IAC/CtC,SAASC,KAAKC,UAAUC,OAAO,iCAAkCC,EAAOC,kBAE1EjC,GAAkBQ,QAAU4B,EAC5BnC,GAAuBO,QAAUkC,CAtCjC,CAtBA,CA6DD,GACD,CAAC5F,EAA2BkC,GAAkBuB,KAGhDS,GAAU,WACR,OAAOS,EACR,GAAE,IAEHT,GAAU,WACJd,IAAkBF,GAAkBQ,SACtC0B,IAAyB,EAE7B,GAAG,CAAChC,KAEJ,IAAAiE,GAQIC,EAAmB,CACrBtE,aAAcC,GACdsE,cAAe7F,GAAMS,IAAIqB,GACzBgE,YAAapE,KAVbqE,MAAAA,oBACAC,MAAAA,uBACAC,MAAAA,sBACAC,MAAAA,iBACAC,MAAAA,mBACAC,MAAAA,oBACAC,MAAAA,uBAWIC,GAAmB3C,GAAY,SAAA4C,GACnCjF,GAAaU,QAAUuE,EACvBpH,EAAuBoH,EACxB,GAAE,IAEH,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,kBAAmBlD,EAAOmD,oBAChDC,IAAKrF,GAAsBsF,SAE3BL,EAAA,MAAA,CACEI,IAAKN,GACLQ,aAAcjI,EACdkI,aAAchI,EACd,cAAgBiI,GAAAA,OA7NN,qCA6NmBhH,GAAMS,IAAIA,IAAIwG,MAC3CR,UAAWC,EACTlD,EAAO0D,UACPC,GAAwB3D,EAAO4D,sBAC/B1F,IAAkB8B,EAAO6D,oBACzBR,SAEFL,EAAC7F,GAAc2G,EAAAA,EAAA,GAETtH,IAAK,GAAA,CACT+F,oBAAqBA,GACrBC,uBAAwBA,GACxBC,sBAAuBA,GACvBC,iBAAkBA,GAClBC,mBAAoBA,GACpBC,oBAAqBA,GACrBC,uBAAwBA,GACxB7F,iBAAkBA,GAClBoC,gBAAiBA,GACjBzC,gBAAiBA,GACjBoH,4BAA6BjC,OAAOkC,OAAOC,IAAI,uBAC/CC,2BAA4BpC,OAAOkC,OAAOC,IAAI,kBAC9CxI,oBAAqBA,EACrBI,YAAaA,GACbV,oBAAqBA,EACrBa,gBAAiBA,GACjBE,iBAAkBA,GAClBqD,wBAAyBA,GACzBW,yBAA0BA,GAC1BpB,UAAWA,GACXvC,6BAA8BA,GAC9BH,wCAAyCA,GACzCE,qBAAsBA,KAxBjBoB,OA6Bf,CAEAtD,EAA8B+J,UAAY,CACxClH,IAAKmH,EAAUC,MAAM,CACnB/F,GAAI8F,EAAUE,OACdrH,IAAKmH,EAAUC,MAAM,CACnBZ,KAAMW,EAAUG,WAEjBC,WACHC,YAAaL,EAAUC,MAAM,CAAA,GAAIG,WACjC1J,0BAA2BsJ,EAAUM,KACrCjJ,oBAAqB2I,EAAUO,KAC/B3J,+BAAgCoJ,EAAUO,KAC1C9I,YAAauI,EAAUO,KACvBtJ,2BAA4B+I,EAAUO,KACtCpJ,2BAA4B6I,EAAUO,KACtCxJ,oBAAqBiJ,EAAUO,KAC/B3I,gBAAiBoI,EAAUO,KAC3BzI,iBAAkBkI,EAAUO,KAC5BhJ,uBAAwByI,EAAUO,KAClCvI,wCAAyCgI,EAAUO,KACnDrI,qBAAsB8H,EAAUQ,YAGrBC,EAAuBC,EAAW1K"}
|