@comet/cms-admin 8.20.2 → 9.0.0-beta.1
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/lib/blocks/AnchorBlock.js +18 -23
- package/lib/blocks/DamVideoBlock.generated.js +1 -7
- package/lib/blocks/DamVideoBlock.js +38 -44
- package/lib/blocks/EmailLinkBlock.js +19 -25
- package/lib/blocks/ExternalLinkBlock.js +22 -28
- package/lib/blocks/InternalLinkBlock.generated.js +1 -7
- package/lib/blocks/InternalLinkBlock.js +31 -38
- package/lib/blocks/PhoneLinkBlock.js +19 -25
- package/lib/blocks/PixelImageBlock.generated.js +1 -7
- package/lib/blocks/PixelImageBlock.js +37 -43
- package/lib/blocks/SpaceBlock.js +16 -22
- package/lib/blocks/SvgImageBlock.generated.js +1 -7
- package/lib/blocks/SvgImageBlock.js +25 -31
- package/lib/blocks/VimeoVideoBlock.js +34 -40
- package/lib/blocks/YouTubeVideoBlock.js +34 -40
- package/lib/blocks/clipboard/CannotPasteBlockDialog.js +18 -19
- package/lib/blocks/clipboard/useBlockClipboard.js +14 -19
- package/lib/blocks/common/AddBlockDrawer.js +41 -47
- package/lib/blocks/common/AdminComponentStickyFooter.d.ts +1 -1
- package/lib/blocks/common/AdminComponentStickyFooter.d.ts.map +1 -1
- package/lib/blocks/common/AdminComponentStickyFooter.js +2 -8
- package/lib/blocks/common/AdminComponentStickyHeader.d.ts +1 -1
- package/lib/blocks/common/AdminComponentStickyHeader.d.ts.map +1 -1
- package/lib/blocks/common/AdminComponentStickyHeader.js +2 -8
- package/lib/blocks/common/AdminTabsTabContent.js +9 -15
- package/lib/blocks/common/BlockAdminComponentButton.js +8 -13
- package/lib/blocks/common/BlockAdminComponentNestedButton.js +17 -23
- package/lib/blocks/common/BlockAdminComponentPaper.js +12 -19
- package/lib/blocks/common/BlockAdminComponentRoot.js +11 -16
- package/lib/blocks/common/BlockAdminComponentSection.js +12 -18
- package/lib/blocks/common/BlockAdminComponentSectionGroup.js +9 -15
- package/lib/blocks/common/BlockAdminTabLabel.js +9 -15
- package/lib/blocks/common/BlockAdminTabs.d.ts +1 -0
- package/lib/blocks/common/BlockAdminTabs.d.ts.map +1 -1
- package/lib/blocks/common/BlockAdminTabs.js +24 -30
- package/lib/blocks/common/Collapsible.js +7 -13
- package/lib/blocks/common/CollapsibleSwitchButtonHeader.js +8 -14
- package/lib/blocks/common/HiddenInSubroute.js +5 -11
- package/lib/blocks/common/blockRow/BlockPreviewContent.d.ts +1 -1
- package/lib/blocks/common/blockRow/BlockPreviewContent.d.ts.map +1 -1
- package/lib/blocks/common/blockRow/BlockPreviewContent.js +18 -26
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.d.ts +5 -5
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.d.ts.map +1 -1
- package/lib/blocks/common/blockRow/BlockPreviewContent.sc.js +6 -12
- package/lib/blocks/common/blockRow/BlockRow.d.ts +1 -1
- package/lib/blocks/common/blockRow/BlockRow.d.ts.map +1 -1
- package/lib/blocks/common/blockRow/BlockRow.js +51 -58
- package/lib/blocks/common/blockRow/BlockRow.sc.js +16 -22
- package/lib/blocks/common/blockRow/image/StackedImages.d.ts +1 -0
- package/lib/blocks/common/blockRow/image/StackedImages.d.ts.map +1 -1
- package/lib/blocks/common/blockRow/image/StackedImages.js +18 -26
- package/lib/blocks/common/blockRow/image/StackedImages.sc.d.ts +8 -8
- package/lib/blocks/common/blockRow/image/StackedImages.sc.d.ts.map +1 -1
- package/lib/blocks/common/blockRow/image/StackedImages.sc.js +11 -17
- package/lib/blocks/common/usePromise.js +6 -10
- package/lib/blocks/common/useScrollRestoration.d.ts +2 -2
- package/lib/blocks/common/useScrollRestoration.d.ts.map +1 -1
- package/lib/blocks/common/useScrollRestoration.js +8 -14
- package/lib/blocks/config/BlocksConfigContext.js +7 -14
- package/lib/blocks/context/BlockContext.js +2 -8
- package/lib/blocks/context/BlockContextProvider.js +4 -10
- package/lib/blocks/context/useBlockContext.js +12 -18
- package/lib/blocks/createImageLinkBlock.js +10 -16
- package/lib/blocks/createLinkBlock.js +25 -30
- package/lib/blocks/createRichTextBlock.js +29 -38
- package/lib/blocks/createSeoBlock.js +114 -121
- package/lib/blocks/createTableBlock.js +30 -36
- package/lib/blocks/createTextImageBlock.js +43 -48
- package/lib/blocks/createTextLinkBlock.js +24 -30
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.d.ts +1 -0
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.d.ts.map +1 -1
- package/lib/blocks/factories/columnsBlock/ColumnsIcon.js +6 -12
- package/lib/blocks/factories/columnsBlock/ColumnsLayoutPreview.js +13 -21
- package/lib/blocks/factories/columnsBlock/FinalFormColumnsSelect.js +7 -13
- package/lib/blocks/factories/columnsBlock/FinalFormLayoutSelect.js +21 -27
- package/lib/blocks/factories/createBlocksBlock.js +113 -117
- package/lib/blocks/factories/createColumnsBlock.js +85 -91
- package/lib/blocks/factories/createCompositeBlock.js +54 -60
- package/lib/blocks/factories/createListBlock.js +80 -84
- package/lib/blocks/factories/createOneOfBlock.js +54 -61
- package/lib/blocks/factories/createOptionalBlock.js +24 -29
- package/lib/blocks/factories/listBlock/createUseAdminComponent.js +24 -30
- package/lib/blocks/factories/spaceBlock/createSpaceBlock.js +16 -22
- package/lib/blocks/form/AutosaveFinalForm.d.ts +1 -0
- package/lib/blocks/form/AutosaveFinalForm.d.ts.map +1 -1
- package/lib/blocks/form/AutosaveFinalForm.js +7 -13
- package/lib/blocks/form/BlocksFinalForm.d.ts +1 -0
- package/lib/blocks/form/BlocksFinalForm.d.ts.map +1 -1
- package/lib/blocks/form/BlocksFinalForm.js +12 -18
- package/lib/blocks/form/createFinalFormBlock.js +7 -12
- package/lib/blocks/helpers/VideoOptionsFields.js +15 -21
- package/lib/blocks/helpers/composeBlocks/composeBlocks.js +40 -40
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockField.js +3 -9
- package/lib/blocks/helpers/composeBlocks/createCompositeBlockFields.js +3 -9
- package/lib/blocks/helpers/composeBlocks/createSettingsBlock.js +3 -9
- package/lib/blocks/helpers/composeBlocks/types.js +1 -5
- package/lib/blocks/helpers/composeBlocks/utility-types.js +1 -5
- package/lib/blocks/helpers/composeBlocks/utils.js +5 -14
- package/lib/blocks/helpers/createBlockSkeleton.js +14 -16
- package/lib/blocks/helpers/createCompositeBlockSelectField.js +8 -14
- package/lib/blocks/helpers/createCompositeBlockSwitchField.js +8 -14
- package/lib/blocks/helpers/createCompositeBlockTextField.js +8 -14
- package/lib/blocks/helpers/decomposeUpdateStateAction.js +3 -9
- package/lib/blocks/helpers/deduplicateBlockDependencies.js +3 -10
- package/lib/blocks/helpers/isBlockInterface.js +1 -7
- package/lib/blocks/helpers/withAdditionalBlockAttributes.js +1 -7
- package/lib/blocks/iframebridge/HoverPreviewComponent.js +15 -24
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.d.ts +1 -3
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.d.ts.map +1 -1
- package/lib/blocks/iframebridge/HoverPreviewComponent.sc.js +6 -12
- package/lib/blocks/iframebridge/IFrameBridge.js +26 -32
- package/lib/blocks/iframebridge/IFrameMessage.js +16 -8
- package/lib/blocks/iframebridge/SelectPreviewComponent.js +9 -15
- package/lib/blocks/iframebridge/useIFrameBridge.js +4 -10
- package/lib/blocks/image/EditImageDialog.js +66 -69
- package/lib/blocks/rte/extension/CmsLink/Decorator.js +4 -10
- package/lib/blocks/rte/extension/CmsLink/EditorComponent.js +3 -9
- package/lib/blocks/rte/extension/CmsLink/createCmsLinkToolbarButton.js +46 -52
- package/lib/blocks/seo/useSeoTagGeneration.generated.js +1 -7
- package/lib/blocks/seo/useSeoTagGeneration.js +24 -30
- package/lib/blocks/seo/useSitemapChangeFrequencyFormOptions.js +3 -9
- package/lib/blocks/seo/useSitemapPagePriorityFormOptions.js +3 -9
- package/lib/blocks/table/CellValue.js +12 -18
- package/lib/blocks/table/ColumnHeader.js +74 -80
- package/lib/blocks/table/EditCell.js +23 -29
- package/lib/blocks/table/FailedToPasteSnackbar.js +8 -14
- package/lib/blocks/table/RowActionsCell.js +58 -64
- package/lib/blocks/table/TableBlockContext.js +7 -13
- package/lib/blocks/table/TableBlockGrid.js +31 -35
- package/lib/blocks/table/__mocks__/TableBlockData.mocks.js +23 -29
- package/lib/blocks/table/dataGridStyles.js +1 -7
- package/lib/blocks/table/utils/column.js +19 -25
- package/lib/blocks/table/utils/ensureMinimumTableState.js +4 -10
- package/lib/blocks/table/utils/getClipboardValueForSchema.js +3 -9
- package/lib/blocks/table/utils/row.js +15 -21
- package/lib/blocks/table/utils/rteSchema.js +3 -9
- package/lib/blocks/table/utils/useRecentlyPastedIds.js +6 -12
- package/lib/blocks/types.js +19 -22
- package/lib/blocks/utils/parallelAsyncEvery.js +1 -7
- package/lib/blocks/utils.js +1 -7
- package/lib/blocks/validators/isValidUrl.js +1 -7
- package/lib/blocks.generated.js +1 -5
- package/lib/builds/BuildEntry.generated.js +1 -7
- package/lib/builds/BuildEntry.js +44 -50
- package/lib/builds/PublishButton.js +13 -19
- package/lib/builds/PublisherPage.generated.js +1 -7
- package/lib/builds/PublisherPage.js +33 -39
- package/lib/builds/StartBuildsDialog.generated.js +1 -7
- package/lib/builds/StartBuildsDialog.js +29 -33
- package/lib/common/DropdownMenuItem.js +22 -29
- package/lib/common/DropdownMenuItem.sc.d.ts +3 -9
- package/lib/common/DropdownMenuItem.sc.d.ts.map +1 -1
- package/lib/common/DropdownMenuItem.sc.js +10 -16
- package/lib/common/InsertInBetweenAction.js +9 -15
- package/lib/common/InsertInBetweenActionButton.js +8 -14
- package/lib/common/MarkedMatches.js +16 -23
- package/lib/common/MasterMenu.js +20 -27
- package/lib/common/MasterMenuRoutes.js +11 -18
- package/lib/common/PageList.d.ts +1 -0
- package/lib/common/PageList.d.ts.map +1 -1
- package/lib/common/PageList.js +22 -28
- package/lib/common/PageName.d.ts +1 -0
- package/lib/common/PageName.d.ts.map +1 -1
- package/lib/common/PageName.generated.js +1 -7
- package/lib/common/PageName.js +15 -21
- package/lib/common/SearchInput.js +24 -30
- package/lib/common/apollo/links/includeInvisibleContentContext.js +3 -8
- package/lib/common/errors/errorMessages.js +9 -15
- package/lib/common/header/Header.js +13 -18
- package/lib/common/header/ImpersonationInlay.js +22 -28
- package/lib/common/header/UserHeaderItem.js +58 -64
- package/lib/common/header/about/AboutModal.js +41 -46
- package/lib/common/header/about/build-information/buildInformation.js +1 -5
- package/lib/common/header/about/build-information/useBuildInformation.js +3 -9
- package/lib/common/image/ChooseFocalPoint.js +19 -25
- package/lib/common/image/ImageCrop.js +15 -23
- package/lib/common/image/ImageCrop.sc.js +10 -16
- package/lib/common/impersonation/commonImpersonationMessages.js +6 -12
- package/lib/common/signOutButton/SignOutButton.gql.d.ts +1 -1
- package/lib/common/signOutButton/SignOutButton.gql.d.ts.map +1 -1
- package/lib/common/signOutButton/SignOutButton.gql.generated.js +1 -7
- package/lib/common/signOutButton/SignOutButton.gql.js +2 -8
- package/lib/common/signOutButton/SignOutButton.js +13 -18
- package/lib/common/useEditState.js +10 -17
- package/lib/common/useSaveState.d.ts +1 -1
- package/lib/common/useSaveState.d.ts.map +1 -1
- package/lib/common/useSaveState.js +11 -17
- package/lib/config/CometConfigContext.js +11 -18
- package/lib/contentLanguage/contentLanguageConfig.js +3 -9
- package/lib/contentLanguage/useContentLanguage.js +3 -9
- package/lib/contentScope/ContentScopeIndicator.js +21 -27
- package/lib/contentScope/ContentScopeSelect.js +40 -47
- package/lib/contentScope/Controls.d.ts +1 -1
- package/lib/contentScope/Controls.d.ts.map +1 -1
- package/lib/contentScope/Controls.js +6 -12
- package/lib/contentScope/Provider.d.ts +1 -1
- package/lib/contentScope/Provider.d.ts.map +1 -1
- package/lib/contentScope/Provider.js +29 -37
- package/lib/contentScope/noContentScopeFallback/NoContentScopeFallback.js +30 -36
- package/lib/contentScope/useContentScopeConfig.js +5 -11
- package/lib/contentScope/utils/createPathFromDimensionValues.js +1 -7
- package/lib/contentScope/utils/defaultCreatePath.js +5 -10
- package/lib/contentScope/utils/groupObjectsIntoArrays.js +1 -7
- package/lib/cronJobs/CronJobsGrid.generated.js +1 -7
- package/lib/cronJobs/CronJobsGrid.js +51 -55
- package/lib/cronJobs/CronJobsPage.js +27 -33
- package/lib/cronJobs/JobLogs.generated.js +1 -7
- package/lib/cronJobs/JobLogs.js +19 -25
- package/lib/cronJobs/JobRuntime.js +11 -17
- package/lib/cronJobs/JobStatus.d.ts +1 -1
- package/lib/cronJobs/JobStatus.js +2 -8
- package/lib/cronJobs/JobsGrid.generated.js +1 -7
- package/lib/cronJobs/JobsGrid.js +35 -41
- package/lib/dam/CurrentDamFolderProvider.js +7 -14
- package/lib/dam/DamPage.js +21 -26
- package/lib/dam/DamTable.js +36 -44
- package/lib/dam/DataGrid/DamContextMenu.d.ts.map +1 -1
- package/lib/dam/DataGrid/DamContextMenu.generated.js +1 -7
- package/lib/dam/DataGrid/DamContextMenu.gql.d.ts +3 -3
- package/lib/dam/DataGrid/DamContextMenu.gql.d.ts.map +1 -1
- package/lib/dam/DataGrid/DamContextMenu.gql.generated.js +1 -7
- package/lib/dam/DataGrid/DamContextMenu.gql.js +4 -10
- package/lib/dam/DataGrid/DamContextMenu.js +70 -77
- package/lib/dam/DataGrid/FolderDataGrid.gql.d.ts +5 -5
- package/lib/dam/DataGrid/FolderDataGrid.gql.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.gql.generated.js +1 -7
- package/lib/dam/DataGrid/FolderDataGrid.gql.js +9 -15
- package/lib/dam/DataGrid/FolderDataGrid.js +101 -125
- package/lib/dam/DataGrid/FolderDataGrid.sc.js +8 -14
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.d.ts +1 -1
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.d.ts.map +1 -1
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.generated.js +1 -7
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.gql.js +2 -8
- package/lib/dam/DataGrid/duplicatedFilenames/ManualDuplicatedFilenamesHandler.js +20 -26
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.d.ts +2 -2
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.d.ts.map +1 -1
- package/lib/dam/DataGrid/duplicatedFilenames/ManuallyHandleDuplicatedFilenamesDialog.js +49 -53
- package/lib/dam/DataGrid/fileUpload/FileUploadContext.js +10 -16
- package/lib/dam/DataGrid/fileUpload/FileUploadErrorDialog.js +35 -39
- package/lib/dam/DataGrid/fileUpload/ProgressDialog.js +21 -25
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.js +18 -24
- package/lib/dam/DataGrid/fileUpload/fileUpload.utils.js +2 -10
- package/lib/dam/DataGrid/fileUpload/fileUploadErrorMessages.js +26 -32
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.d.ts +2 -2
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.d.ts.map +1 -1
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.generated.js +1 -7
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.gql.js +3 -9
- package/lib/dam/DataGrid/fileUpload/useDamFileUpload.js +58 -64
- package/lib/dam/DataGrid/filter/DamSortPopover.js +28 -36
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts +2 -4
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts.map +1 -1
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.js +8 -14
- package/lib/dam/DataGrid/filter/DamTableFilter.d.ts.map +1 -1
- package/lib/dam/DataGrid/filter/DamTableFilter.js +15 -22
- package/lib/dam/DataGrid/footer/DamFooter.js +6 -12
- package/lib/dam/DataGrid/footer/UploadFooter.js +13 -19
- package/lib/dam/DataGrid/label/DamItemLabel.js +19 -25
- package/lib/dam/DataGrid/label/DamItemLabelColumn.js +25 -32
- package/lib/dam/DataGrid/selection/DamMoreActions.js +38 -44
- package/lib/dam/DataGrid/selection/DamSelectionContext.generated.js +1 -7
- package/lib/dam/DataGrid/selection/DamSelectionContext.js +42 -48
- package/lib/dam/DataGrid/tags/ArchivedTag.js +8 -14
- package/lib/dam/DataGrid/tags/LicenseValidityTags.js +16 -22
- package/lib/dam/DataGrid/tags/Tag.d.ts +1 -1
- package/lib/dam/DataGrid/tags/Tag.js +2 -8
- package/lib/dam/DataGrid/thumbnail/AudioThumbnail.js +8 -14
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.d.ts +1 -1
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.d.ts.map +1 -1
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.generated.js +1 -7
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.gql.js +2 -8
- package/lib/dam/DataGrid/thumbnail/DamThumbnail.js +28 -41
- package/lib/dam/DataGrid/thumbnail/VideoThumbnail.js +8 -14
- package/lib/dam/DataGrid/useDamSearchHighlighting.js +5 -12
- package/lib/dam/FileActions/ConfirmDeleteDialog.js +28 -33
- package/lib/dam/FileActions/ConfirmDeleteDialog.sc.js +9 -15
- package/lib/dam/FileForm/CropSettingsFields.d.ts +1 -0
- package/lib/dam/FileForm/CropSettingsFields.d.ts.map +1 -1
- package/lib/dam/FileForm/CropSettingsFields.js +34 -40
- package/lib/dam/FileForm/Duplicates.generated.js +1 -7
- package/lib/dam/FileForm/Duplicates.js +37 -43
- package/lib/dam/FileForm/EditFile.gql.d.ts +3 -3
- package/lib/dam/FileForm/EditFile.gql.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.gql.generated.d.ts +3 -0
- package/lib/dam/FileForm/EditFile.gql.generated.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.gql.generated.js +1 -7
- package/lib/dam/FileForm/EditFile.gql.js +5 -11
- package/lib/dam/FileForm/EditFile.js +79 -86
- package/lib/dam/FileForm/FilePreview.d.ts.map +1 -1
- package/lib/dam/FileForm/FilePreview.gql.d.ts +3 -3
- package/lib/dam/FileForm/FilePreview.gql.d.ts.map +1 -1
- package/lib/dam/FileForm/FilePreview.gql.generated.js +1 -7
- package/lib/dam/FileForm/FilePreview.gql.js +4 -10
- package/lib/dam/FileForm/FilePreview.js +56 -64
- package/lib/dam/FileForm/FileSettingsFields.generated.js +1 -7
- package/lib/dam/FileForm/FileSettingsFields.gql.d.ts +2 -2
- package/lib/dam/FileForm/FileSettingsFields.gql.d.ts.map +1 -1
- package/lib/dam/FileForm/FileSettingsFields.gql.generated.js +1 -7
- package/lib/dam/FileForm/FileSettingsFields.gql.js +3 -9
- package/lib/dam/FileForm/FileSettingsFields.js +78 -84
- package/lib/dam/FileForm/ImageInfos.js +24 -30
- package/lib/dam/FileForm/ReplaceFileButton.js +30 -36
- package/lib/dam/FileForm/licenseType.js +6 -12
- package/lib/dam/FileForm/previews/AudioPreview.js +15 -21
- package/lib/dam/FileForm/previews/DefaultFilePreview.js +11 -17
- package/lib/dam/FileForm/previews/ImagePreview.d.ts +1 -0
- package/lib/dam/FileForm/previews/ImagePreview.d.ts.map +1 -1
- package/lib/dam/FileForm/previews/ImagePreview.js +4 -10
- package/lib/dam/FileForm/previews/PdfPreview.js +7 -13
- package/lib/dam/FileForm/previews/VideoPreview.generated.js +1 -7
- package/lib/dam/FileForm/previews/VideoPreview.js +15 -21
- package/lib/dam/FolderForm/AddFolder.gql.d.ts +1 -1
- package/lib/dam/FolderForm/AddFolder.gql.d.ts.map +1 -1
- package/lib/dam/FolderForm/AddFolder.gql.generated.js +1 -7
- package/lib/dam/FolderForm/AddFolder.gql.js +2 -8
- package/lib/dam/FolderForm/AddFolder.js +13 -19
- package/lib/dam/FolderForm/EditFolder.gql.d.ts +2 -2
- package/lib/dam/FolderForm/EditFolder.gql.d.ts.map +1 -1
- package/lib/dam/FolderForm/EditFolder.gql.generated.js +1 -7
- package/lib/dam/FolderForm/EditFolder.gql.js +3 -9
- package/lib/dam/FolderForm/EditFolder.js +11 -17
- package/lib/dam/FolderForm/FolderFormFields.js +7 -13
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.d.ts +1 -1
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.d.ts.map +1 -1
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.generated.js +1 -7
- package/lib/dam/MoveDamItemDialog/ChooseFolder.gql.js +2 -8
- package/lib/dam/MoveDamItemDialog/ChooseFolder.js +30 -43
- package/lib/dam/MoveDamItemDialog/MoveDamItemDialog.js +44 -48
- package/lib/dam/MoveDamItemDialog/useFolderTree.js +11 -17
- package/lib/dam/MoveDamItemDialog/useFolderTreeSearch.js +14 -21
- package/lib/dam/blocks/DamFileDownloadLinkBlock.generated.js +1 -7
- package/lib/dam/blocks/DamFileDownloadLinkBlock.js +27 -33
- package/lib/dam/blocks/DamImageBlock.d.ts +1 -1
- package/lib/dam/blocks/DamImageBlock.d.ts.map +1 -1
- package/lib/dam/blocks/DamImageBlock.js +26 -31
- package/lib/dam/config/DamScopeContext.js +2 -8
- package/lib/dam/config/DamScopeProvider.js +8 -14
- package/lib/dam/config/damConfig.js +4 -11
- package/lib/dam/config/damDefaultAcceptedMimeTypes.js +1 -7
- package/lib/dam/config/useDamAcceptedMimeTypes.js +5 -11
- package/lib/dam/config/useDamScope.js +5 -10
- package/lib/dam/dependencies/createDamFileDependency.generated.js +1 -7
- package/lib/dam/dependencies/createDamFileDependency.js +8 -13
- package/lib/dam/helpers/clearDamItemCache.js +1 -7
- package/lib/dam/helpers/isFile.js +1 -7
- package/lib/dam/helpers/isFolder.js +1 -7
- package/lib/dam/helpers/slugifyFilename.js +3 -10
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +1 -7
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +25 -31
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +1 -1
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -1
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +1 -7
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +44 -51
- package/lib/dashboard/DashboardHeader.js +12 -18
- package/lib/dashboard/DateTime.js +15 -21
- package/lib/dashboard/DefaultGreeting.js +6 -12
- package/lib/dashboard/widgets/DashboardWidgetRoot.js +8 -14
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.generated.js +1 -7
- package/lib/dashboard/widgets/LatestBuildsDashboardWidget.js +19 -25
- package/lib/dashboard/widgets/LatestContentUpdatesDashboardWidget.js +16 -22
- package/lib/dependencies/DependenciesList.d.ts +30 -0
- package/lib/dependencies/DependenciesList.d.ts.map +1 -0
- package/lib/dependencies/DependenciesList.js +282 -0
- package/lib/dependencies/DependentsList.d.ts +30 -0
- package/lib/dependencies/DependentsList.d.ts.map +1 -0
- package/lib/dependencies/{DependencyList.js → DependentsList.js} +190 -167
- package/lib/dependencies/createDependencyMethods.js +3 -9
- package/lib/dependencies/createDocumentDependencyMethods.js +3 -9
- package/lib/dependencies/dependenciesConfig.js +3 -9
- package/lib/dependencies/getDisplayNameString.d.ts +4 -0
- package/lib/dependencies/getDisplayNameString.d.ts.map +1 -0
- package/lib/dependencies/getDisplayNameString.js +12 -0
- package/lib/dependencies/types.js +1 -5
- package/lib/documents/ContentGenerationConfigContext.js +7 -13
- package/lib/documents/createDocumentRootBlocksMethods.js +1 -7
- package/lib/documents/types.js +1 -5
- package/lib/form/SyncFields.js +7 -13
- package/lib/form/file/DamPathLazy.generated.js +1 -7
- package/lib/form/file/DamPathLazy.js +7 -13
- package/lib/form/file/FileField.gql.d.ts +1 -1
- package/lib/form/file/FileField.gql.d.ts.map +1 -1
- package/lib/form/file/FileField.gql.generated.js +1 -7
- package/lib/form/file/FileField.gql.js +3 -9
- package/lib/form/file/FileField.js +53 -58
- package/lib/form/file/FileUploadField.js +6 -12
- package/lib/form/file/FinalFormFileUpload.d.ts +2 -2
- package/lib/form/file/FinalFormFileUpload.d.ts.map +1 -1
- package/lib/form/file/FinalFormFileUpload.generated.js +1 -7
- package/lib/form/file/FinalFormFileUpload.js +20 -26
- package/lib/form/file/chooseFile/ChooseFileDialog.js +28 -35
- package/lib/form/file/chooseFile/RedirectToPersistedDamLocation.js +12 -18
- package/lib/form/file/upload.js +3 -11
- package/lib/form/queryUpdatedAt.js +3 -9
- package/lib/form/serializeInitialValues.js +1 -7
- package/lib/form/useFormSaveConflict.d.ts +2 -2
- package/lib/form/useFormSaveConflict.d.ts.map +1 -1
- package/lib/form/useFormSaveConflict.js +3 -9
- package/lib/graphql.generated.d.ts +27 -3
- package/lib/graphql.generated.d.ts.map +1 -1
- package/lib/graphql.generated.js +1 -5
- package/lib/index.d.ts +3 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +144 -1128
- package/lib/pages/LocalPageTreeNodeDocumentAnchors.js +7 -13
- package/lib/pages/SaveConflictDialog.js +54 -57
- package/lib/pages/config/usePageTreeScope.js +5 -11
- package/lib/pages/createEditPageNode.d.ts +1 -1
- package/lib/pages/createEditPageNode.d.ts.map +1 -1
- package/lib/pages/createEditPageNode.generated.js +1 -7
- package/lib/pages/createEditPageNode.js +83 -90
- package/lib/pages/createUsePage.d.ts +1 -1
- package/lib/pages/createUsePage.d.ts.map +1 -1
- package/lib/pages/createUsePage.generated.js +1 -7
- package/lib/pages/createUsePage.js +46 -45
- package/lib/pages/pageSearch/PageSearch.js +4 -10
- package/lib/pages/pageSearch/usePageSearch.d.ts +1 -1
- package/lib/pages/pageSearch/usePageSearch.d.ts.map +1 -1
- package/lib/pages/pageSearch/usePageSearch.generated.js +1 -7
- package/lib/pages/pageSearch/usePageSearch.js +16 -22
- package/lib/pages/pageTree/CopyPasteMenuItem.js +19 -25
- package/lib/pages/pageTree/MovePageMenuItem.generated.js +1 -7
- package/lib/pages/pageTree/MovePageMenuItem.js +17 -23
- package/lib/pages/pageTree/Page.d.ts +1 -1
- package/lib/pages/pageTree/Page.d.ts.map +1 -1
- package/lib/pages/pageTree/Page.generated.js +1 -7
- package/lib/pages/pageTree/Page.js +2 -8
- package/lib/pages/pageTree/PageActions.js +54 -60
- package/lib/pages/pageTree/PageDeleteDialog.js +56 -58
- package/lib/pages/pageTree/PageDeleteDialog.sc.d.ts +1 -3
- package/lib/pages/pageTree/PageDeleteDialog.sc.d.ts.map +1 -1
- package/lib/pages/pageTree/PageDeleteDialog.sc.js +8 -14
- package/lib/pages/pageTree/PageInfo.js +13 -19
- package/lib/pages/pageTree/PageLabel.js +25 -31
- package/lib/pages/pageTree/PageTree.generated.js +1 -7
- package/lib/pages/pageTree/PageTree.js +52 -58
- package/lib/pages/pageTree/PageTreeContext.js +2 -8
- package/lib/pages/pageTree/PageTreeDragLayer.js +13 -22
- package/lib/pages/pageTree/PageTreeDragLayer.sc.d.ts +2 -2
- package/lib/pages/pageTree/PageTreeDragLayer.sc.d.ts.map +1 -1
- package/lib/pages/pageTree/PageTreeDragLayer.sc.js +3 -9
- package/lib/pages/pageTree/PageTreeRow.js +54 -63
- package/lib/pages/pageTree/PageTreeRow.sc.js +9 -15
- package/lib/pages/pageTree/PageTreeRowDivider.js +12 -18
- package/lib/pages/pageTree/PageTreeService.js +2 -7
- package/lib/pages/pageTree/PageTypeIcon.d.ts +1 -0
- package/lib/pages/pageTree/PageTypeIcon.d.ts.map +1 -1
- package/lib/pages/pageTree/PageTypeIcon.js +8 -14
- package/lib/pages/pageTree/PageVisibility.d.ts +1 -1
- package/lib/pages/pageTree/PageVisibility.d.ts.map +1 -1
- package/lib/pages/pageTree/PageVisibility.generated.js +1 -7
- package/lib/pages/pageTree/PageVisibility.js +37 -43
- package/lib/pages/pageTree/PageVisibilityIcon.d.ts +1 -0
- package/lib/pages/pageTree/PageVisibilityIcon.d.ts.map +1 -1
- package/lib/pages/pageTree/PageVisibilityIcon.js +6 -12
- package/lib/pages/pageTree/common/PageTreeTableRow.d.ts +1 -1
- package/lib/pages/pageTree/common/PageTreeTableRow.d.ts.map +1 -1
- package/lib/pages/pageTree/common/PageTreeTableRow.js +18 -24
- package/lib/pages/pageTree/treemap/TreeMapUtils.js +9 -14
- package/lib/pages/pageTree/useButtonHoverStates.js +4 -10
- package/lib/pages/pageTree/useCopyPastePages/ProgressDialog.js +26 -30
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.generated.js +1 -7
- package/lib/pages/pageTree/useCopyPastePages/createInboxFolder.js +7 -13
- package/lib/pages/pageTree/useCopyPastePages/sendPages.generated.js +1 -7
- package/lib/pages/pageTree/useCopyPastePages/sendPages.js +33 -39
- package/lib/pages/pageTree/useCopyPastePages.js +38 -43
- package/lib/pages/pageTree/useDndWindowScroll/ScrollManager.js +3 -8
- package/lib/pages/pageTree/useDndWindowScroll/useAnimationFrame.js +6 -11
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.d.ts +1 -1
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.d.ts.map +1 -1
- package/lib/pages/pageTree/useDndWindowScroll/useDndWindowScroll.js +12 -19
- package/lib/pages/pageTree/usePageTree.d.ts +1 -1
- package/lib/pages/pageTree/usePageTree.d.ts.map +1 -1
- package/lib/pages/pageTree/usePageTree.generated.js +1 -7
- package/lib/pages/pageTree/usePageTree.js +17 -24
- package/lib/pages/pageTree/usePageTreeContext.js +4 -10
- package/lib/pages/pageTreeConfig.js +3 -9
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.d.ts +1 -0
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/FinalFormPageTreeSelect.js +4 -11
- package/lib/pages/pageTreeSelect/PageTreeSelect.generated.js +1 -7
- package/lib/pages/pageTreeSelect/PageTreeSelect.js +20 -27
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts +2 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.generated.js +1 -7
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +88 -96
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.sc.js +6 -12
- package/lib/pages/pagesPage/ConfirmPageActionDialog.js +23 -27
- package/lib/pages/pagesPage/PageCanNotDeleteDialog.js +15 -19
- package/lib/pages/pagesPage/PagesPage.js +80 -86
- package/lib/pages/pagesPage/PagesPageActionToolbar.js +97 -103
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts +4 -8
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.d.ts.map +1 -1
- package/lib/pages/pagesPage/PagesPageActionToolbar.sc.js +6 -12
- package/lib/pages/pagesPage/PagesPageActionToolbarBatchUpdateHelper.js +5 -11
- package/lib/pages/pagesPage/areAllSubTreesFullSelected.js +4 -10
- package/lib/pages/pagesPage/createPagesQuery.generated.js +1 -7
- package/lib/pages/pagesPage/createPagesQuery.js +6 -12
- package/lib/pages/resolveHasSaveConflict.js +5 -11
- package/lib/pages/usePageTreeDocumentAnchors.generated.js +1 -7
- package/lib/pages/usePageTreeDocumentAnchors.js +10 -14
- package/lib/pages/useSaveConflict.js +20 -26
- package/lib/pages/useSaveConflictQuery.js +7 -13
- package/lib/preview/block/BlockPreview.generated.js +1 -7
- package/lib/preview/block/BlockPreview.js +33 -38
- package/lib/preview/block/BlockPreviewWithTabs.js +10 -15
- package/lib/preview/block/SplitPreview.js +22 -27
- package/lib/preview/block/SplitPreview.sc.js +12 -19
- package/lib/preview/block/useBlockPreview.js +7 -12
- package/lib/preview/common/Device.js +3 -8
- package/lib/preview/common/DeviceToggle.js +22 -27
- package/lib/preview/common/IFrameViewer.js +24 -30
- package/lib/preview/common/ToggleButton.d.ts +1 -3
- package/lib/preview/common/ToggleButton.d.ts.map +1 -1
- package/lib/preview/common/ToggleButton.js +5 -10
- package/lib/preview/common/VisibilityToggle.js +9 -14
- package/lib/preview/openSitePreviewWindow.js +2 -8
- package/lib/preview/site/OpenLinkDialog.js +31 -33
- package/lib/preview/site/SitePreview.generated.js +1 -7
- package/lib/preview/site/SitePreview.js +58 -61
- package/lib/preview/site/SitePreview.sc.d.ts +1 -3
- package/lib/preview/site/SitePreview.sc.d.ts.map +1 -1
- package/lib/preview/site/SitePreview.sc.js +8 -14
- package/lib/preview/site/iframebridge/SitePreviewIFrameMessage.js +3 -7
- package/lib/preview/site/iframebridge/useSitePreviewIFrameBridge.js +5 -11
- package/lib/redirects/RedirectActiveness.d.ts +2 -1
- package/lib/redirects/RedirectActiveness.d.ts.map +1 -1
- package/lib/redirects/RedirectActiveness.generated.js +1 -7
- package/lib/redirects/RedirectActiveness.js +26 -32
- package/lib/redirects/RedirectForm.d.ts +1 -0
- package/lib/redirects/RedirectForm.d.ts.map +1 -1
- package/lib/redirects/RedirectForm.generated.js +1 -7
- package/lib/redirects/RedirectForm.gql.d.ts +3 -3
- package/lib/redirects/RedirectForm.gql.d.ts.map +1 -1
- package/lib/redirects/RedirectForm.gql.generated.js +1 -7
- package/lib/redirects/RedirectForm.gql.js +5 -11
- package/lib/redirects/RedirectForm.js +64 -65
- package/lib/redirects/RedirectsGrid.d.ts +1 -0
- package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.d.ts +2 -2
- package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.generated.js +1 -7
- package/lib/redirects/RedirectsGrid.gql.js +6 -11
- package/lib/redirects/RedirectsGrid.js +48 -55
- package/lib/redirects/createRedirectsPage.d.ts +1 -1
- package/lib/redirects/createRedirectsPage.d.ts.map +1 -1
- package/lib/redirects/createRedirectsPage.js +37 -43
- package/lib/redirects/redirectsConfig.js +5 -11
- package/lib/redirects/submitMutation.js +5 -11
- package/lib/siteConfigs/siteConfigsConfig.js +1 -5
- package/lib/siteConfigs/useSiteConfig.js +3 -9
- package/lib/siteConfigs/useSiteConfigs.js +3 -9
- package/lib/testing/test-utils.js +15 -32
- package/lib/translation/AzureAiTranslatorProvider.generated.js +1 -7
- package/lib/translation/AzureAiTranslatorProvider.js +11 -17
- package/lib/userPermissions/ImpersonateMenuItem.generated.js +1 -7
- package/lib/userPermissions/ImpersonateMenuItem.js +27 -33
- package/lib/userPermissions/UserGrid.generated.js +1 -7
- package/lib/userPermissions/UserGrid.js +45 -51
- package/lib/userPermissions/UserPermissionsPage.js +42 -48
- package/lib/userPermissions/hooks/currentUser.generated.js +1 -7
- package/lib/userPermissions/hooks/currentUser.js +21 -27
- package/lib/userPermissions/user/ImpersonationButtons.js +18 -24
- package/lib/userPermissions/user/UserPageToolbar.generated.js +1 -7
- package/lib/userPermissions/user/UserPageToolbar.js +29 -35
- package/lib/userPermissions/user/basicData/UserBasicData.generated.js +1 -7
- package/lib/userPermissions/user/basicData/UserBasicData.js +23 -29
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.js +1 -7
- package/lib/userPermissions/user/permissions/ContentScopeGrid.js +38 -44
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.js +1 -7
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +34 -38
- package/lib/userPermissions/user/permissions/PermissionDialog.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/PermissionDialog.generated.js +1 -7
- package/lib/userPermissions/user/permissions/PermissionDialog.js +50 -54
- package/lib/userPermissions/user/permissions/PermissionGrid.generated.js +1 -7
- package/lib/userPermissions/user/permissions/PermissionGrid.js +48 -54
- package/lib/userPermissions/user/permissions/PermissionsPanel.js +9 -15
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.js +1 -7
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +19 -26
- package/lib/userPermissions/utils/camelCaseToHumanReadable.js +1 -7
- package/lib/userPermissions/utils/handleImpersonation.js +5 -12
- package/lib/validation/isLinkTarget.js +6 -12
- package/lib/validation/isPhoneNumber.js +1 -7
- package/lib/validation/validateLinkTarget.js +6 -12
- package/lib/validation/validatePhoneNumber.js +6 -12
- package/lib/validation/validateUrl.js +6 -12
- package/lib/vendors.d.js +1 -5
- package/lib/warnings/LatestWarningsDashboardWidget.generated.js +1 -7
- package/lib/warnings/LatestWarningsDashboardWidget.js +27 -33
- package/lib/warnings/WarningActions.js +25 -31
- package/lib/warnings/WarningMessage.d.ts +1 -1
- package/lib/warnings/WarningMessage.d.ts.map +1 -1
- package/lib/warnings/WarningMessage.js +1 -7
- package/lib/warnings/WarningSeverity.js +9 -15
- package/lib/warnings/WarningsGrid.generated.js +1 -7
- package/lib/warnings/WarningsGrid.js +45 -52
- package/lib/warnings/WarningsPage.js +11 -17
- package/lib/warnings/warningMessages.js +10 -16
- package/lib/warnings/warningsConfig.js +5 -11
- package/package.json +25 -26
- package/lib/dependencies/DependencyList.d.ts +0 -29
- package/lib/dependencies/DependencyList.d.ts.map +0 -1
- package/lib/dependencies/DependencyList.sc.d.ts +0 -11
- package/lib/dependencies/DependencyList.sc.d.ts.map +0 -1
- package/lib/dependencies/DependencyList.sc.js +0 -79
- package/lib/http/createHttpClient.d.ts +0 -3
- package/lib/http/createHttpClient.d.ts.map +0 -1
- package/lib/http/createHttpClient.js +0 -43
|
@@ -1,33 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createOneOfBlock = void 0;
|
|
8
|
-
var _admin = require("@comet/admin");
|
|
9
|
-
var _material = require("@mui/material");
|
|
10
|
-
var _styles = require("@mui/material/styles");
|
|
11
|
-
var _lodash = _interopRequireDefault(require("lodash.isequal"));
|
|
12
|
-
var _react = require("react");
|
|
13
|
-
var _reactIntl = require("react-intl");
|
|
14
|
-
var _Provider = require("../../contentScope/Provider");
|
|
15
|
-
var _BlockAdminComponentPaper = require("../common/BlockAdminComponentPaper");
|
|
16
|
-
var _HiddenInSubroute = require("../common/HiddenInSubroute");
|
|
17
|
-
var _BlocksConfigContext = require("../config/BlocksConfigContext");
|
|
18
|
-
var _BlocksFinalForm = require("../form/BlocksFinalForm");
|
|
19
|
-
var _createBlockSkeleton = require("../helpers/createBlockSkeleton");
|
|
20
|
-
var _HoverPreviewComponent = require("../iframebridge/HoverPreviewComponent");
|
|
21
|
-
var _SelectPreviewComponent = require("../iframebridge/SelectPreviewComponent");
|
|
22
|
-
var _types = require("../types");
|
|
23
|
-
var _utils = require("../utils");
|
|
24
|
-
var _parallelAsyncEvery = require("../utils/parallelAsyncEvery");
|
|
25
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
2
|
var _excluded = ["attachedBlocks", "activeType", "block"],
|
|
27
3
|
_excluded2 = ["attachedBlocks", "activeType"],
|
|
28
4
|
_excluded3 = ["attachedBlocks", "activeType"],
|
|
29
5
|
_excluded4 = ["attachedBlocks", "activeType"];
|
|
30
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
31
6
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
32
7
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
33
8
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
@@ -51,13 +26,31 @@ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Sym
|
|
|
51
26
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
52
27
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
53
28
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
54
|
-
|
|
29
|
+
import { Field, RadioGroupField, SelectField } from "@comet/admin";
|
|
30
|
+
import { Box, Divider, ToggleButton as MuiToggleButton, ToggleButtonGroup as MuiToggleButtonGroup } from "@mui/material";
|
|
31
|
+
import { styled } from "@mui/material/styles";
|
|
32
|
+
import isEqual from "lodash.isequal";
|
|
33
|
+
import { useCallback, useMemo } from "react";
|
|
34
|
+
import { FormattedMessage } from "react-intl";
|
|
35
|
+
import { useContentScope } from "../../contentScope/Provider";
|
|
36
|
+
import { useBlockAdminComponentPaper } from "../common/BlockAdminComponentPaper";
|
|
37
|
+
import { HiddenInSubroute } from "../common/HiddenInSubroute";
|
|
38
|
+
import { useBlocksConfig } from "../config/BlocksConfigContext";
|
|
39
|
+
import { BlocksFinalForm } from "../form/BlocksFinalForm";
|
|
40
|
+
import { createBlockSkeleton } from "../helpers/createBlockSkeleton";
|
|
41
|
+
import { HoverPreviewComponent } from "../iframebridge/HoverPreviewComponent";
|
|
42
|
+
import { SelectPreviewComponent } from "../iframebridge/SelectPreviewComponent";
|
|
43
|
+
import { BlockCategory } from "../types";
|
|
44
|
+
import { resolveNewState } from "../utils";
|
|
45
|
+
import { parallelAsyncEvery } from "../utils/parallelAsyncEvery";
|
|
46
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
47
|
+
export var createOneOfBlock = function createOneOfBlock(_ref, override) {
|
|
55
48
|
var supportedBlocks = _ref.supportedBlocks,
|
|
56
49
|
name = _ref.name,
|
|
57
50
|
_ref$displayName = _ref.displayName,
|
|
58
51
|
displayName = _ref$displayName === void 0 ? "Switch" : _ref$displayName,
|
|
59
52
|
_ref$category = _ref.category,
|
|
60
|
-
category = _ref$category === void 0 ?
|
|
53
|
+
category = _ref$category === void 0 ? BlockCategory.Other : _ref$category,
|
|
61
54
|
_ref$variant = _ref.variant,
|
|
62
55
|
variant = _ref$variant === void 0 ? "select" : _ref$variant,
|
|
63
56
|
passedAllowEmpty = _ref.allowEmpty,
|
|
@@ -100,7 +93,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
100
93
|
}
|
|
101
94
|
return acc;
|
|
102
95
|
}, []);
|
|
103
|
-
var OneOfBlock = _objectSpread(_objectSpread({},
|
|
96
|
+
var OneOfBlock = _objectSpread(_objectSpread({}, createBlockSkeleton()), {}, {
|
|
104
97
|
name: name,
|
|
105
98
|
displayName: displayName,
|
|
106
99
|
tags: tags ? tags : childTags,
|
|
@@ -257,7 +250,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
257
250
|
return _regenerator().w(function (_context3) {
|
|
258
251
|
while (1) switch (_context3.n) {
|
|
259
252
|
case 0:
|
|
260
|
-
return _context3.a(2,
|
|
253
|
+
return _context3.a(2, parallelAsyncEvery(state.attachedBlocks, /*#__PURE__*/function () {
|
|
261
254
|
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(c) {
|
|
262
255
|
var block;
|
|
263
256
|
return _regenerator().w(function (_context2) {
|
|
@@ -334,12 +327,12 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
334
327
|
AdminComponent: function AdminComponent(_ref6) {
|
|
335
328
|
var state = _ref6.state,
|
|
336
329
|
updateState = _ref6.updateState;
|
|
337
|
-
var isInPaper =
|
|
338
|
-
var _useContentScope =
|
|
330
|
+
var isInPaper = useBlockAdminComponentPaper();
|
|
331
|
+
var _useContentScope = useContentScope(),
|
|
339
332
|
scope = _useContentScope.scope;
|
|
340
|
-
var _useBlocksConfig =
|
|
333
|
+
var _useBlocksConfig = useBlocksConfig(),
|
|
341
334
|
isBlockSupported = _useBlocksConfig.isBlockSupported;
|
|
342
|
-
var options =
|
|
335
|
+
var options = useMemo(function () {
|
|
343
336
|
var filteredSupportedBlocks;
|
|
344
337
|
if (isBlockSupported) {
|
|
345
338
|
filteredSupportedBlocks = Object.fromEntries(Object.entries(supportedBlocks).filter(function (_ref7) {
|
|
@@ -352,7 +345,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
352
345
|
}
|
|
353
346
|
var options = allowEmpty ? [{
|
|
354
347
|
value: "none",
|
|
355
|
-
label: /*#__PURE__*/(
|
|
348
|
+
label: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
356
349
|
id: "comet.blocks.oneOfBlock.empty",
|
|
357
350
|
defaultMessage: "None"
|
|
358
351
|
})
|
|
@@ -368,7 +361,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
368
361
|
});
|
|
369
362
|
return options;
|
|
370
363
|
}, [scope, isBlockSupported]);
|
|
371
|
-
var handleBlockSelect =
|
|
364
|
+
var handleBlockSelect = useCallback(function (blockType) {
|
|
372
365
|
updateState(function (prevState) {
|
|
373
366
|
var newState = prevState;
|
|
374
367
|
if (blockType === "none") {
|
|
@@ -409,7 +402,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
409
402
|
var previousSelectedBlock = getActiveBlock(prevState);
|
|
410
403
|
var newSelectedBlock = getActiveBlock(newState);
|
|
411
404
|
if (previousSelectedBlock.block && previousSelectedBlock.state && newSelectedBlock.type !== previousSelectedBlock.type) {
|
|
412
|
-
if ((
|
|
405
|
+
if (isEqual(previousSelectedBlock.block.defaultValues(), previousSelectedBlock.state.props)) {
|
|
413
406
|
newState = _objectSpread(_objectSpread({}, newState), {}, {
|
|
414
407
|
attachedBlocks: newState.attachedBlocks.filter(function (c) {
|
|
415
408
|
return c.type !== previousSelectedBlock.state.type;
|
|
@@ -420,14 +413,14 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
420
413
|
return newState;
|
|
421
414
|
});
|
|
422
415
|
}, [updateState]);
|
|
423
|
-
var createUpdateSubBlocksFn =
|
|
416
|
+
var createUpdateSubBlocksFn = useCallback(function (blockType) {
|
|
424
417
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
425
418
|
var updateSubBlocksFn = function updateSubBlocksFn(setStateAction) {
|
|
426
419
|
updateState(function (prevState) {
|
|
427
420
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
428
421
|
attachedBlocks: prevState.attachedBlocks.map(function (c) {
|
|
429
422
|
return c.type === blockType ? _objectSpread(_objectSpread({}, c), {}, {
|
|
430
|
-
props:
|
|
423
|
+
props: resolveNewState({
|
|
431
424
|
prevState: c.props,
|
|
432
425
|
setStateAction: setStateAction
|
|
433
426
|
})
|
|
@@ -440,11 +433,11 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
440
433
|
}, [updateState]);
|
|
441
434
|
var activeBlock = getActiveBlock(state);
|
|
442
435
|
var selectedBlockType = activeBlock.block ? activeBlock.state.type : "none";
|
|
443
|
-
return /*#__PURE__*/(
|
|
444
|
-
children: [/*#__PURE__*/(
|
|
445
|
-
children: /*#__PURE__*/(
|
|
436
|
+
return /*#__PURE__*/_jsxs(SelectPreviewComponent, {
|
|
437
|
+
children: [/*#__PURE__*/_jsx(HiddenInSubroute, {
|
|
438
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
446
439
|
paddingBottom: isInPaper ? 0 : 3,
|
|
447
|
-
children: /*#__PURE__*/(
|
|
440
|
+
children: /*#__PURE__*/_jsxs(BlocksFinalForm, {
|
|
448
441
|
onSubmit: function onSubmit(_ref1) {
|
|
449
442
|
var blockType = _ref1.blockType;
|
|
450
443
|
handleBlockSelect(blockType);
|
|
@@ -452,38 +445,38 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
452
445
|
initialValues: {
|
|
453
446
|
blockType: selectedBlockType
|
|
454
447
|
},
|
|
455
|
-
children: [variant === "select" && /*#__PURE__*/(
|
|
456
|
-
children: [/*#__PURE__*/(
|
|
448
|
+
children: [variant === "select" && /*#__PURE__*/_jsxs(_Fragment, {
|
|
449
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
457
450
|
padding: isInPaper ? 3 : 0,
|
|
458
|
-
children: /*#__PURE__*/(
|
|
451
|
+
children: /*#__PURE__*/_jsx(SelectField, {
|
|
459
452
|
name: "blockType",
|
|
460
453
|
options: options,
|
|
461
454
|
fullWidth: true,
|
|
462
455
|
required: true
|
|
463
456
|
})
|
|
464
|
-
}), isInPaper && activeBlock.block && /*#__PURE__*/(
|
|
465
|
-
}), variant === "radio" && /*#__PURE__*/(
|
|
466
|
-
children: [/*#__PURE__*/(
|
|
457
|
+
}), isInPaper && activeBlock.block && /*#__PURE__*/_jsx(Divider, {})]
|
|
458
|
+
}), variant === "radio" && /*#__PURE__*/_jsxs(_Fragment, {
|
|
459
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
467
460
|
display: "flex",
|
|
468
461
|
flexDirection: "column",
|
|
469
462
|
padding: 3,
|
|
470
|
-
children: /*#__PURE__*/(
|
|
463
|
+
children: /*#__PURE__*/_jsx(RadioGroupField, {
|
|
471
464
|
name: "blockType",
|
|
472
465
|
fullWidth: true,
|
|
473
466
|
options: options
|
|
474
467
|
})
|
|
475
|
-
}), activeBlock.block && /*#__PURE__*/(
|
|
476
|
-
}), variant === "toggle" && /*#__PURE__*/(
|
|
477
|
-
children: [/*#__PURE__*/(
|
|
468
|
+
}), activeBlock.block && /*#__PURE__*/_jsx(Divider, {})]
|
|
469
|
+
}), variant === "toggle" && /*#__PURE__*/_jsxs(_Fragment, {
|
|
470
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
478
471
|
padding: isInPaper ? 3 : 0,
|
|
479
|
-
children: /*#__PURE__*/(
|
|
472
|
+
children: /*#__PURE__*/_jsx(Field, {
|
|
480
473
|
name: "blockType",
|
|
481
474
|
fullWidth: true,
|
|
482
475
|
children: function children(_ref10) {
|
|
483
476
|
var _ref10$input = _ref10.input,
|
|
484
477
|
value = _ref10$input.value,
|
|
485
478
|
_onChange = _ref10$input.onChange;
|
|
486
|
-
return /*#__PURE__*/(
|
|
479
|
+
return /*#__PURE__*/_jsx(ToggleButtonGroup, {
|
|
487
480
|
value: value,
|
|
488
481
|
onChange: function onChange(event, blockType) {
|
|
489
482
|
if (blockType) {
|
|
@@ -492,7 +485,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
492
485
|
},
|
|
493
486
|
exclusive: true,
|
|
494
487
|
children: options.map(function (option) {
|
|
495
|
-
return /*#__PURE__*/(
|
|
488
|
+
return /*#__PURE__*/_jsx(ToggleButton, {
|
|
496
489
|
value: option.value,
|
|
497
490
|
children: option.label
|
|
498
491
|
}, option.value);
|
|
@@ -500,15 +493,15 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
500
493
|
});
|
|
501
494
|
}
|
|
502
495
|
})
|
|
503
|
-
}), isInPaper && activeBlock.block && /*#__PURE__*/(
|
|
496
|
+
}), isInPaper && activeBlock.block && /*#__PURE__*/_jsx(Divider, {})]
|
|
504
497
|
})]
|
|
505
498
|
})
|
|
506
499
|
})
|
|
507
|
-
}), activeBlock.block && activeBlock.state ? /*#__PURE__*/(
|
|
500
|
+
}), activeBlock.block && activeBlock.state ? /*#__PURE__*/_jsx(Box, {
|
|
508
501
|
padding: isInPaper && !activeBlock.block.definesOwnPadding ? 3 : 0,
|
|
509
|
-
children: /*#__PURE__*/(
|
|
502
|
+
children: /*#__PURE__*/_jsx(HoverPreviewComponent, {
|
|
510
503
|
componentSlug: "#".concat(activeBlock.type),
|
|
511
|
-
children: /*#__PURE__*/(
|
|
504
|
+
children: /*#__PURE__*/_jsx(activeBlock.block.AdminComponent, {
|
|
512
505
|
state: activeBlock.state.props,
|
|
513
506
|
updateState: createUpdateSubBlocksFn(activeBlock.state.type)
|
|
514
507
|
})
|
|
@@ -570,7 +563,7 @@ var createOneOfBlock = exports.createOneOfBlock = function createOneOfBlock(_ref
|
|
|
570
563
|
}
|
|
571
564
|
return OneOfBlock;
|
|
572
565
|
};
|
|
573
|
-
var ToggleButtonGroup = /*#__PURE__*/
|
|
566
|
+
var ToggleButtonGroup = /*#__PURE__*/styled(MuiToggleButtonGroup, process.env.NODE_ENV === "production" ? {
|
|
574
567
|
target: "en4ucky1"
|
|
575
568
|
} : {
|
|
576
569
|
target: "en4ucky1",
|
|
@@ -583,7 +576,7 @@ var ToggleButtonGroup = /*#__PURE__*/(0, _styles.styled)(_material.ToggleButtonG
|
|
|
583
576
|
styles: "display:flex/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3MvZmFjdG9yaWVzL2NyZWF0ZU9uZU9mQmxvY2sudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStmc0QiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2Jsb2Nrcy9mYWN0b3JpZXMvY3JlYXRlT25lT2ZCbG9jay50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZCwgUmFkaW9Hcm91cEZpZWxkLCBTZWxlY3RGaWVsZCB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IEJveCwgRGl2aWRlciwgVG9nZ2xlQnV0dG9uIGFzIE11aVRvZ2dsZUJ1dHRvbiwgVG9nZ2xlQnV0dG9uR3JvdXAgYXMgTXVpVG9nZ2xlQnV0dG9uR3JvdXAgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoLmlzZXF1YWxcIjtcbmltcG9ydCB7IHR5cGUgRGlzcGF0Y2gsIHR5cGUgUmVhY3ROb2RlLCB0eXBlIFNldFN0YXRlQWN0aW9uLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSwgdHlwZSBNZXNzYWdlRGVzY3JpcHRvciB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5cbmltcG9ydCB7IHVzZUNvbnRlbnRTY29wZSB9IGZyb20gXCIuLi8uLi9jb250ZW50U2NvcGUvUHJvdmlkZXJcIjtcbmltcG9ydCB7IHVzZUJsb2NrQWRtaW5Db21wb25lbnRQYXBlciB9IGZyb20gXCIuLi9jb21tb24vQmxvY2tBZG1pbkNvbXBvbmVudFBhcGVyXCI7XG5pbXBvcnQgeyBIaWRkZW5JblN1YnJvdXRlIH0gZnJvbSBcIi4uL2NvbW1vbi9IaWRkZW5JblN1YnJvdXRlXCI7XG5pbXBvcnQgeyB1c2VCbG9ja3NDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL0Jsb2Nrc0NvbmZpZ0NvbnRleHRcIjtcbmltcG9ydCB7IEJsb2Nrc0ZpbmFsRm9ybSB9IGZyb20gXCIuLi9mb3JtL0Jsb2Nrc0ZpbmFsRm9ybVwiO1xuaW1wb3J0IHsgY3JlYXRlQmxvY2tTa2VsZXRvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2NyZWF0ZUJsb2NrU2tlbGV0b25cIjtcbmltcG9ydCB7IEhvdmVyUHJldmlld0NvbXBvbmVudCB9IGZyb20gXCIuLi9pZnJhbWVicmlkZ2UvSG92ZXJQcmV2aWV3Q29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWxlY3RQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSBcIi4uL2lmcmFtZWJyaWRnZS9TZWxlY3RQcmV2aWV3Q29tcG9uZW50XCI7XG5pbXBvcnQgeyBCbG9ja0NhdGVnb3J5LCB0eXBlIEJsb2NrSW50ZXJmYWNlLCB0eXBlIEJsb2NrUHJldmlld1N0YXRlSW50ZXJmYWNlLCB0eXBlIEJsb2NrU3RhdGUsIHR5cGUgQ3VzdG9tQmxvY2tDYXRlZ29yeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZU5ld1N0YXRlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBwYXJhbGxlbEFzeW5jRXZlcnkgfSBmcm9tIFwiLi4vdXRpbHMvcGFyYWxsZWxBc3luY0V2ZXJ5XCI7XG5cbmludGVyZmFjZSBPbmVPZkJsb2NrSXRlbTxUIGV4dGVuZHMgQmxvY2tJbnRlcmZhY2UgPSBCbG9ja0ludGVyZmFjZT4ge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBwcm9wczogQmxvY2tTdGF0ZTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmVPZkJsb2NrU3RhdGUge1xuICAgIGF0dGFjaGVkQmxvY2tzOiBPbmVPZkJsb2NrSXRlbVtdO1xuICAgIGFjdGl2ZVR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lT2ZCbG9ja0ZyYWdtZW50IHtcbiAgICBhdHRhY2hlZEJsb2Nrczoge1xuICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHByb3BzOiBhbnk7XG4gICAgfVtdO1xuICAgIGFjdGl2ZVR5cGU/OiBzdHJpbmc7XG4gICAgYmxvY2s/OiB7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcHJvcHM6IGFueTtcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uZU9mQmxvY2tQcmV2aWV3U3RhdGUgZXh0ZW5kcyBCbG9ja1ByZXZpZXdTdGF0ZUludGVyZmFjZSB7XG4gICAgYmxvY2s/OiB7XG4gICAgICAgIHR5cGU6IHN0cmluZztcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgcHJvcHM6IGFueTtcbiAgICB9O1xufVxuXG50eXBlIEFjdGl2ZVR5cGU8Q29uZmlnIGV4dGVuZHMgYm9vbGVhbj4gPSBDb25maWcgZXh0ZW5kcyBmYWxzZSA/IHsgYWN0aXZlVHlwZTogc3RyaW5nIH0gOiB7IGFjdGl2ZVR5cGU/OiBzdHJpbmcgfTtcblxuZXhwb3J0IHR5cGUgT25lT2ZCbG9ja091dHB1dDxDb25maWcgZXh0ZW5kcyBib29sZWFuPiA9IHtcbiAgICBhdHRhY2hlZEJsb2Nrczoge1xuICAgICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIHByb3BzOiBhbnk7XG4gICAgfVtdO1xufSAmIEFjdGl2ZVR5cGU8Q29uZmlnPjtcblxudHlwZSBCbG9ja1R5cGUgPSBzdHJpbmc7XG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9uZU9mQmxvY2tPcHRpb25zPFQgZXh0ZW5kcyBib29sZWFuPiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lPzogUmVhY3ROb2RlO1xuICAgIHN1cHBvcnRlZEJsb2NrczogUmVjb3JkPEJsb2NrVHlwZSwgQmxvY2tJbnRlcmZhY2U+O1xuICAgIGNhdGVnb3J5PzogQmxvY2tDYXRlZ29yeSB8IEN1c3RvbUJsb2NrQ2F0ZWdvcnk7XG4gICAgdmFyaWFudD86IFwic2VsZWN0XCIgfCBcInJhZGlvXCIgfCBcInRvZ2dsZVwiO1xuICAgIGFsbG93RW1wdHk/OiBUO1xuICAgIHRhZ3M/OiBBcnJheTxNZXNzYWdlRGVzY3JpcHRvciB8IHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPbmVPZkJsb2NrID0gPFQgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbj4oXG4gICAge1xuICAgICAgICBzdXBwb3J0ZWRCbG9ja3MsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGRpc3BsYXlOYW1lID0gXCJTd2l0Y2hcIixcbiAgICAgICAgY2F0ZWdvcnkgPSBCbG9ja0NhdGVnb3J5Lk90aGVyLFxuICAgICAgICB2YXJpYW50ID0gXCJzZWxlY3RcIixcbiAgICAgICAgYWxsb3dFbXB0eTogcGFzc2VkQWxsb3dFbXB0eSxcbiAgICAgICAgdGFncyxcbiAgICB9OiBDcmVhdGVPbmVPZkJsb2NrT3B0aW9uczxUPixcbiAgICBvdmVycmlkZT86IChcbiAgICAgICAgYmxvY2s6IEJsb2NrSW50ZXJmYWNlPE9uZU9mQmxvY2tGcmFnbWVudCwgT25lT2ZCbG9ja1N0YXRlLCBPbmVPZkJsb2NrT3V0cHV0PFQ+LCBPbmVPZkJsb2NrUHJldmlld1N0YXRlPixcbiAgICApID0+IEJsb2NrSW50ZXJmYWNlPE9uZU9mQmxvY2tGcmFnbWVudCwgT25lT2ZCbG9ja1N0YXRlLCBPbmVPZkJsb2NrT3V0cHV0PFQ+LCBPbmVPZkJsb2NrUHJldmlld1N0YXRlPixcbik6IEJsb2NrSW50ZXJmYWNlPE9uZU9mQmxvY2tGcmFnbWVudCwgT25lT2ZCbG9ja1N0YXRlLCBPbmVPZkJsb2NrT3V0cHV0PFQ+LCBPbmVPZkJsb2NrUHJldmlld1N0YXRlPiA9PiB7XG4gICAgLy8gYWxsb3dFbXB0eSBjYW4ndCBoYXZlIGEgZGVmYXVsdCB0eXBlIGJlY2F1c2UgaXQncyB0eXBlZCBieSBhIGdlbmVyaWNcbiAgICBjb25zdCBhbGxvd0VtcHR5ID0gKHBhc3NlZEFsbG93RW1wdHkgPz8gdHJ1ZSkgc2F0aXNmaWVzIGJvb2xlYW47XG5cbiAgICBmdW5jdGlvbiBibG9ja0ZvclR5cGUodHlwZTogc3RyaW5nKTogQmxvY2tJbnRlcmZhY2UgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRlZEJsb2Nrc1t0eXBlXSA/PyBudWxsO1xuICAgIH1cbiAgICAvLyBoZWxwZXIgdG8gZ2V0IGNvbW1vbiB2YWx1ZXMgb2YgdGhlIHNlbGVjdGVkIGJsb2NrIGJ5IFN0YXRlXG4gICAgZnVuY3Rpb24gZ2V0QWN0aXZlQmxvY2soczogT25lT2ZCbG9ja1N0YXRlKSB7XG4gICAgICAgIGlmICghcy5hY3RpdmVUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHN0YXRlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgYmxvY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB0eXBlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGl2ZUJsb2NrU3RhdGUgPSBzLmF0dGFjaGVkQmxvY2tzLmZpbmQoKGMpID0+IGMudHlwZSA9PT0gcy5hY3RpdmVUeXBlKTtcbiAgICAgICAgaWYgKCFhY3RpdmVCbG9ja1N0YXRlKSB7XG4gICAgICAgICAgICBsZXQgbWVzc2FnZSA9IGBDYW4ndCBmaW5kIHJlZmVyZW5jZSB0byBhY3RpdmUgYmxvY2sgb2YgdHlwZSBcIiR7cy5hY3RpdmVUeXBlfVwiLmA7XG5cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZSArPSBgIFRoaXMgaXMgcHJvYmFibHkgZHVlIHRvIGEgbWlzc2luZyBcIngtaW5jbHVkZS1pbnZpc2libGUtY29udGVudFwiIEhUVFAgaGVhZGVyLiBQbGVhc2UgbWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhlIGhlYWRlciB3aGVuIGZldGNoaW5nIHRoZSBibG9jay5gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYmxvY2sgPSBhY3RpdmVCbG9ja1N0YXRlID8gYmxvY2tGb3JUeXBlKGFjdGl2ZUJsb2NrU3RhdGUudHlwZSkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXRlOiBhY3RpdmVCbG9ja1N0YXRlLFxuICAgICAgICAgICAgYmxvY2ssXG4gICAgICAgICAgICB0eXBlOiBhY3RpdmVCbG9ja1N0YXRlLnR5cGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRUYWdzID0gT2JqZWN0LnZhbHVlcyhzdXBwb3J0ZWRCbG9ja3MpLnJlZHVjZTxBcnJheTxNZXNzYWdlRGVzY3JpcHRvciB8IHN0cmluZz4+KChhY2MsIGJsb2NrKSA9PiB7XG4gICAgICAgIGlmIChibG9jay50YWdzKSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmFjYywgLi4uYmxvY2sudGFnc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBPbmVPZkJsb2NrOiBCbG9ja0ludGVyZmFjZTxPbmVPZkJsb2NrRnJhZ21lbnQsIE9uZU9mQmxvY2tTdGF0ZSwgT25lT2ZCbG9ja091dHB1dDxUPiwgT25lT2ZCbG9ja1ByZXZpZXdTdGF0ZT4gPSB7XG4gICAgICAgIC4uLmNyZWF0ZUJsb2NrU2tlbGV0b24oKSxcblxuICAgICAgICBuYW1lLFxuXG4gICAgICAgIGRpc3BsYXlOYW1lLFxuXG4gICAgICAgIHRhZ3M6IHRhZ3MgPyB0YWdzIDogY2hpbGRUYWdzLFxuXG4gICAgICAgIGNhdGVnb3J5LFxuXG4gICAgICAgIGRlZmF1bHRWYWx1ZXM6ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhbGxvd0VtcHR5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgYXR0YWNoZWRCbG9ja3M6IFtdLFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVUeXBlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW2Jsb2NrVHlwZSwgYmxvY2tdID0gT2JqZWN0LmVudHJpZXMoc3VwcG9ydGVkQmxvY2tzKVswXTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGF0dGFjaGVkQmxvY2tzOiBbeyB0eXBlOiBibG9ja1R5cGUsIHByb3BzOiBibG9jay5kZWZhdWx0VmFsdWVzKCkgfV0sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVR5cGU6IGJsb2NrVHlwZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGlucHV0MlN0YXRlOiAoeyBhdHRhY2hlZEJsb2NrcywgYWN0aXZlVHlwZSwgYmxvY2ssIC4uLmFkZGl0aW9uYWxGaWVsZHMgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IE9uZU9mQmxvY2tTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICAuLi5hZGRpdGlvbmFsRmllbGRzLFxuICAgICAgICAgICAgICAgIGF0dGFjaGVkQmxvY2tzOiBbXSxcbiAgICAgICAgICAgICAgICBhY3RpdmVUeXBlOiBhY3RpdmVUeXBlICYmIHN1cHBvcnRlZEJsb2Nrc1thY3RpdmVUeXBlXSA/IGFjdGl2ZVR5cGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXR0YWNoZWRCbG9ja3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGJsb2NrRm9yVHlwZShpdGVtLnR5cGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFibG9jaykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gYmxvY2sgdHlwZSBcIiR7aXRlbS50eXBlfVwiYCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN0YXRlLmF0dGFjaGVkQmxvY2tzLnB1c2goeyAuLi5pdGVtLCBwcm9wczogYmxvY2suaW5wdXQyU3RhdGUoaXRlbS5wcm9wcykgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdGUyT3V0cHV0OiAoeyBhdHRhY2hlZEJsb2NrcywgYWN0aXZlVHlwZSwgLi4uYWRkaXRpb25hbEZpZWxkcyB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxGaWVsZHMsXG4gICAgICAgICAgICAgICAgYXR0YWNoZWRCbG9ja3M6IGF0dGFjaGVkQmxvY2tzLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGJsb2NrRm9yVHlwZShjLnR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIEJsb2NrIGZvdW5kIGZvciB0eXBlICR7Yy50eXBlfWApOyAvLyBmb3IgVFNcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYy50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IGJsb2NrLnN0YXRlMk91dHB1dChjLnByb3BzKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhY3RpdmVUeXBlLFxuICAgICAgICAgICAgfSBhcyBPbmVPZkJsb2NrT3V0cHV0PFQ+O1xuICAgICAgICB9LFxuXG4gICAgICAgIG91dHB1dDJTdGF0ZTogYXN5bmMgKHsgYXR0YWNoZWRCbG9ja3MsIGFjdGl2ZVR5cGUsIC4uLmFkZGl0aW9uYWxGaWVsZHMgfSwgY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGU6IE9uZU9mQmxvY2tTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBhdHRhY2hlZEJsb2NrczogW10sXG4gICAgICAgICAgICAgICAgYWN0aXZlVHlwZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBhdHRhY2hlZEJsb2Nrcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYmxvY2tGb3JUeXBlKGl0ZW0udHlwZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gQmxvY2sgZm91bmQgZm9yIHR5cGUgJHtpdGVtLnR5cGV9YCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3RhdGUuYXR0YWNoZWRCbG9ja3MucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBhd2FpdCBibG9jay5vdXRwdXQyU3RhdGUoaXRlbS5wcm9wcywgY29udGV4dCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfSxcblxuICAgICAgICBjcmVhdGVQcmV2aWV3U3RhdGU6IChzdGF0ZSwgcHJldmlld0N0eCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBzdGF0ZTogYmxvY2tTdGF0ZSwgYmxvY2sgfSA9IGdldEFjdGl2ZUJsb2NrKHN0YXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYXR0YWNoZWRCbG9ja3MsIGFjdGl2ZVR5cGUsIC4uLmFkZGl0aW9uYWxGaWVsZHMgfSA9IHN0YXRlO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFkZGl0aW9uYWxGaWVsZHMsXG4gICAgICAgICAgICAgICAgYmxvY2s6IGJsb2NrU3RhdGVcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJsb2NrU3RhdGUudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmJsb2NrPy5jcmVhdGVQcmV2aWV3U3RhdGUoYmxvY2tTdGF0ZS5wcm9wcywgcHJldmlld0N0eCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZG1pbk1ldGE6IHsgcm91dGU6IGAke3ByZXZpZXdDdHgucGFyZW50VXJsfSMke2Jsb2NrU3RhdGUudHlwZX1gIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sXG5cbiAgICAgICAgaXNWYWxpZDogYXN5bmMgKHN0YXRlKSA9PlxuICAgICAgICAgICAgcGFyYWxsZWxBc3luY0V2ZXJ5KHN0YXRlLmF0dGFjaGVkQmxvY2tzLCBhc3luYyAoYykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gYmxvY2tGb3JUeXBlKGMudHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFibG9jaykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIEJsb2NrIGZvdW5kIGZvciB0eXBlICR7Yy50eXBlfWApOyAvLyBmb3IgVFNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrLmlzVmFsaWQoYy5wcm9wcyk7XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICBhbmNob3JzOiAoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgc3RhdGU6IGJsb2NrU3RhdGUsIGJsb2NrIH0gPSBnZXRBY3RpdmVCbG9jayhzdGF0ZSk7XG5cbiAgICAgICAgICAgIGlmIChibG9ja1N0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBibG9jaz8uYW5jaG9ycz8uKGJsb2NrU3RhdGUucHJvcHMpID8/IFtdO1xuICAgICAgICB9LFxuXG4gICAgICAgIGRlcGVuZGVuY2llczogKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHN0YXRlOiBibG9ja1N0YXRlLCBibG9jayB9ID0gZ2V0QWN0aXZlQmxvY2soc3RhdGUpO1xuXG4gICAgICAgICAgICBpZiAoYmxvY2tTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYmxvY2s/LmRlcGVuZGVuY2llcz8uKGJsb2NrU3RhdGUucHJvcHMpID8/IFtdO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlcGxhY2VEZXBlbmRlbmNpZXNJbk91dHB1dDogKG91dHB1dCwgcmVwbGFjZW1lbnRzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdPdXRwdXQ6IE9uZU9mQmxvY2tPdXRwdXQ8VD4gPSB7IC4uLm91dHB1dCwgYXR0YWNoZWRCbG9ja3M6IFtdIH07XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgYyBvZiBvdXRwdXQuYXR0YWNoZWRCbG9ja3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGJsb2NrRm9yVHlwZShjLnR5cGUpO1xuICAgICAgICAgICAgICAgIGlmICghYmxvY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBCbG9jayBmb3VuZCBmb3IgdHlwZSAke2MudHlwZX1gKTsgLy8gZm9yIFRTXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3T3V0cHV0LmF0dGFjaGVkQmxvY2tzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgICAgICAgICBwcm9wczogYmxvY2sucmVwbGFjZURlcGVuZGVuY2llc0luT3V0cHV0KGMucHJvcHMsIHJlcGxhY2VtZW50cyksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBuZXdPdXRwdXQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVmaW5lc093blBhZGRpbmc6IHRydWUsXG5cbiAgICAgICAgQWRtaW5Db21wb25lbnQ6ICh7IHN0YXRlLCB1cGRhdGVTdGF0ZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0luUGFwZXIgPSB1c2VCbG9ja0FkbWluQ29tcG9uZW50UGFwZXIoKTtcblxuICAgICAgICAgICAgY29uc3QgeyBzY29wZSB9ID0gdXNlQ29udGVudFNjb3BlKCk7XG4gICAgICAgICAgICBjb25zdCB7IGlzQmxvY2tTdXBwb3J0ZWQgfSA9IHVzZUJsb2Nrc0NvbmZpZygpO1xuXG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGZpbHRlcmVkU3VwcG9ydGVkQmxvY2tzO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzQmxvY2tTdXBwb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyZWRTdXBwb3J0ZWRCbG9ja3MgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhzdXBwb3J0ZWRCbG9ja3MpLmZpbHRlcigoWywgYmxvY2tdKSA9PiBpc0Jsb2NrU3VwcG9ydGVkKGJsb2NrLCBzY29wZSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkU3VwcG9ydGVkQmxvY2tzID0gc3VwcG9ydGVkQmxvY2tzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnM6IEFycmF5PHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IFJlYWN0Tm9kZSB9PiA9IGFsbG93RW1wdHlcbiAgICAgICAgICAgICAgICAgICAgPyBbeyB2YWx1ZTogXCJub25lXCIsIGxhYmVsOiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0LmJsb2Nrcy5vbmVPZkJsb2NrLmVtcHR5XCIgZGVmYXVsdE1lc3NhZ2U9XCJOb25lXCIgLz4gfV1cbiAgICAgICAgICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZpbHRlcmVkU3VwcG9ydGVkQmxvY2tzKS5mb3JFYWNoKChbYmxvY2tUeXBlLCBibG9ja10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYmxvY2suZGlzcGxheU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgICAgICAgICB9LCBbc2NvcGUsIGlzQmxvY2tTdXBwb3J0ZWRdKTtcblxuICAgICAgICAgICAgY29uc3QgaGFuZGxlQmxvY2tTZWxlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgICAgICAgICAoYmxvY2tUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1N0YXRlOiBPbmVPZkJsb2NrU3RhdGUgPSBwcmV2U3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2tUeXBlID09PSBcIm5vbmVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVuc2VsZWN0LCBubyBibG9jayBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0YXRlID0geyAuLi5wcmV2U3RhdGUsIGFjdGl2ZVR5cGU6IHVuZGVmaW5lZCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiB3ZSBoYXZlIGEgYmxvY2sgb2YgdGhlIHNhbWUgdHlwZSBhbHJlYWR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBwcmV2U3RhdGUuYXR0YWNoZWRCbG9ja3MuZmluZCgoYykgPT4gYy50eXBlID09PSBibG9ja1R5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIGFuIGV4aXN0aW5nIGJsb2NrIHdpdGggc2FtZSB0eXBlLCBzbyBzZWxlY3QgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVUeXBlOiBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2UgaGF2ZSBubyBleGlzdGluZyBibG9jaywgd2UgbmVlZCB0byBjcmVhdGUgYW5kIHNlbGVjdCBhIG5ldyBibG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGJsb2NrRm9yVHlwZShibG9ja1R5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIEJsb2NrIGZvdW5kIGZvciB0eXBlICR7YmxvY2tUeXBlfWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3SXRlbTogT25lT2ZCbG9ja0l0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBibG9ja1R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wczogYmxvY2suZGVmYXVsdFZhbHVlcygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNoZWRCbG9ja3M6IFsuLi5wcmV2U3RhdGUuYXR0YWNoZWRCbG9ja3MsIG5ld0l0ZW1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlVHlwZTogYmxvY2tUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsZWFuIHVwIHRoZSBwcmV2aW91cyBzZWxlY3RlZCBibG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBwcmV2aW91cyBibG9jayBoYXMgbm8gdmFsdWVzICh2YWx1ZXMgYXJlIGVxdWFsIHRvIGRlZmF1bHQgdmFsdWVzKVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB3ZSByZW1vdmUgdGhlIGJsb2NrXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHByZXZlbnRzIGZyb20gc2F2aW5nIHBvc3NpYmx5IGludmFsaWQgYmxvY2tzIGZvciBpcnJlbGV2YW50IChub3Qgc2VsZWN0ZWQpIGJsb2Nrc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNTZWxlY3RlZEJsb2NrID0gZ2V0QWN0aXZlQmxvY2socHJldlN0YXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGVkQmxvY2sgPSBnZXRBY3RpdmVCbG9jayhuZXdTdGF0ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NlbGVjdGVkQmxvY2suYmxvY2sgJiYgcHJldmlvdXNTZWxlY3RlZEJsb2NrLnN0YXRlICYmIG5ld1NlbGVjdGVkQmxvY2sudHlwZSAhPT0gcHJldmlvdXNTZWxlY3RlZEJsb2NrLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNFcXVhbChwcmV2aW91c1NlbGVjdGVkQmxvY2suYmxvY2suZGVmYXVsdFZhbHVlcygpLCBwcmV2aW91c1NlbGVjdGVkQmxvY2suc3RhdGUucHJvcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubmV3U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2hlZEJsb2NrczogbmV3U3RhdGUuYXR0YWNoZWRCbG9ja3MuZmlsdGVyKChjKSA9PiBjLnR5cGUgIT09IHByZXZpb3VzU2VsZWN0ZWRCbG9jay5zdGF0ZS50eXBlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBbdXBkYXRlU3RhdGVdLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgY3JlYXRlVXBkYXRlU3ViQmxvY2tzRm4gPSB1c2VDYWxsYmFjayhcbiAgICAgICAgICAgICAgICAoYmxvY2tUeXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlU3ViQmxvY2tzRm46IERpc3BhdGNoPFNldFN0YXRlQWN0aW9uPGFueT4+ID0gKHNldFN0YXRlQWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZSgocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2hlZEJsb2NrczogcHJldlN0YXRlLmF0dGFjaGVkQmxvY2tzLm1hcCgoYykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy50eXBlID09PSBibG9ja1R5cGUgPyB7IC4uLmMsIHByb3BzOiByZXNvbHZlTmV3U3RhdGUoeyBwcmV2U3RhdGU6IGMucHJvcHMsIHNldFN0YXRlQWN0aW9uIH0pIH0gOiBjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdWJCbG9ja3NGbjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFt1cGRhdGVTdGF0ZV0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmVCbG9jayA9IGdldEFjdGl2ZUJsb2NrKHN0YXRlKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQmxvY2tUeXBlID0gYWN0aXZlQmxvY2suYmxvY2sgPyBhY3RpdmVCbG9jay5zdGF0ZS50eXBlIDogXCJub25lXCI7XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFByZXZpZXdDb21wb25lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxIaWRkZW5JblN1YnJvdXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBwYWRkaW5nQm90dG9tPXtpc0luUGFwZXIgPyAwIDogM30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJsb2Nrc0ZpbmFsRm9ybTx7IGJsb2NrVHlwZTogc3RyaW5nIH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VibWl0PXsoeyBibG9ja1R5cGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmxvY2tTZWxlY3QoYmxvY2tUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiBzZWxlY3RlZEJsb2NrVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYW50ID09PSBcInNlbGVjdFwiICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBwYWRkaW5nPXtpc0luUGFwZXIgPyAzIDogMH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RGaWVsZCBuYW1lPVwiYmxvY2tUeXBlXCIgb3B0aW9ucz17b3B0aW9uc30gZnVsbFdpZHRoIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzSW5QYXBlciAmJiBhY3RpdmVCbG9jay5ibG9jayAmJiA8RGl2aWRlciAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmFyaWFudCA9PT0gXCJyYWRpb1wiICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBkaXNwbGF5PVwiZmxleFwiIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBwYWRkaW5nPXszfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJhZGlvR3JvdXBGaWVsZCBuYW1lPVwiYmxvY2tUeXBlXCIgZnVsbFdpZHRoIG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FjdGl2ZUJsb2NrLmJsb2NrICYmIDxEaXZpZGVyIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYW50ID09PSBcInRvZ2dsZVwiICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBwYWRkaW5nPXtpc0luUGFwZXIgPyAzIDogMH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZCBuYW1lPVwiYmxvY2tUeXBlXCIgZnVsbFdpZHRoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGlucHV0OiB7IHZhbHVlLCBvbkNoYW5nZSB9IH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9nZ2xlQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50LCBibG9ja1R5cGU6IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChibG9ja1R5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZShibG9ja1R5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNsdXNpdmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VG9nZ2xlQnV0dG9uIHZhbHVlPXtvcHRpb24udmFsdWV9IGtleT17b3B0aW9uLnZhbHVlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7b3B0aW9uLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub2dnbGVCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9nZ2xlQnV0dG9uR3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0luUGFwZXIgJiYgYWN0aXZlQmxvY2suYmxvY2sgJiYgPERpdmlkZXIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Jsb2Nrc0ZpbmFsRm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICA8L0hpZGRlbkluU3Vicm91dGU+XG4gICAgICAgICAgICAgICAgICAgIHthY3RpdmVCbG9jay5ibG9jayAmJiBhY3RpdmVCbG9jay5zdGF0ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggcGFkZGluZz17aXNJblBhcGVyICYmICFhY3RpdmVCbG9jay5ibG9jay5kZWZpbmVzT3duUGFkZGluZyA/IDMgOiAwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SG92ZXJQcmV2aWV3Q29tcG9uZW50IGtleT17YWN0aXZlQmxvY2sudHlwZX0gY29tcG9uZW50U2x1Zz17YCMke2FjdGl2ZUJsb2NrLnR5cGV9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhY3RpdmVCbG9jay5ibG9jay5BZG1pbkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU9e2FjdGl2ZUJsb2NrLnN0YXRlLnByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlU3RhdGU9e2NyZWF0ZVVwZGF0ZVN1YkJsb2Nrc0ZuKGFjdGl2ZUJsb2NrLnN0YXRlLnR5cGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSG92ZXJQcmV2aWV3Q29tcG9uZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvU2VsZWN0UHJldmlld0NvbXBvbmVudD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIHByZXZpZXdDb250ZW50OiAoc3RhdGUsIGN0eCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBibG9jaywgc3RhdGU6IGFjdGl2ZUJsb2NrU3RhdGUgfSA9IGdldEFjdGl2ZUJsb2NrKHN0YXRlKTtcblxuICAgICAgICAgICAgaWYgKGJsb2NrICYmIGFjdGl2ZUJsb2NrU3RhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2sucHJldmlld0NvbnRlbnQoYWN0aXZlQmxvY2tTdGF0ZS5wcm9wcywgY3R4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGR5bmFtaWNEaXNwbGF5TmFtZTogKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGJsb2NrLCBzdGF0ZTogYmxvY2tTdGF0ZSB9ID0gZ2V0QWN0aXZlQmxvY2soc3RhdGUpO1xuXG4gICAgICAgICAgICBpZiAoYmxvY2sgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBibG9jay5keW5hbWljRGlzcGxheU5hbWU/LihibG9ja1N0YXRlLnByb3BzKSA/PyBibG9jay5kaXNwbGF5TmFtZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGljb246IChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBibG9jaywgc3RhdGU6IGJsb2NrU3RhdGUgfSA9IGdldEFjdGl2ZUJsb2NrKHN0YXRlKTtcblxuICAgICAgICAgICAgaWYgKGJsb2NrICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2suaWNvbj8uKGJsb2NrU3RhdGUucHJvcHMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGV4dHJhY3RUZXh0Q29udGVudHM6IChzdGF0ZSwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5jbHVkZUludmlzaWJsZUNvbnRlbnQgPSBvcHRpb25zPy5pbmNsdWRlSW52aXNpYmxlQ29udGVudCA/PyBmYWxzZTtcblxuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHN0YXRlLmF0dGFjaGVkQmxvY2tzLnJlZHVjZTxzdHJpbmdbXT4oKGNvbnRlbnQsIGNoaWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBibG9ja0ZvclR5cGUoY2hpbGQudHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFibG9jaykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIEJsb2NrIGZvdW5kIGZvciB0eXBlICR7Y2hpbGQudHlwZX1gKTsgLy8gZm9yIFRTXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkLnR5cGUgIT09IHN0YXRlLmFjdGl2ZVR5cGUgJiYgIWluY2x1ZGVJbnZpc2libGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBbLi4uY29udGVudCwgLi4uKGJsb2NrLmV4dHJhY3RUZXh0Q29udGVudHM/LihjaGlsZC5wcm9wcywgb3B0aW9ucykgPz8gW10pXTtcbiAgICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICB9LFxuICAgIH07XG4gICAgaWYgKG92ZXJyaWRlKSB7XG4gICAgICAgIHJldHVybiBvdmVycmlkZShPbmVPZkJsb2NrKTtcbiAgICB9XG4gICAgcmV0dXJuIE9uZU9mQmxvY2s7XG59O1xuXG5jb25zdCBUb2dnbGVCdXR0b25Hcm91cCA9IHN0eWxlZChNdWlUb2dnbGVCdXR0b25Hcm91cClgXG4gICAgZGlzcGxheTogZmxleDtcbmA7XG5cbmNvbnN0IFRvZ2dsZUJ1dHRvbiA9IHN0eWxlZChNdWlUb2dnbGVCdXR0b24pYFxuICAgIGZsZXg6IDE7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucGFsZXR0ZS50ZXh0LnByaW1hcnl9O1xuYDtcbiJdfQ== */",
|
|
584
577
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
585
578
|
});
|
|
586
|
-
var ToggleButton = /*#__PURE__*/
|
|
579
|
+
var ToggleButton = /*#__PURE__*/styled(MuiToggleButton, process.env.NODE_ENV === "production" ? {
|
|
587
580
|
target: "en4ucky0"
|
|
588
581
|
} : {
|
|
589
582
|
target: "en4ucky0",
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createOptionalBlock = createOptionalBlock;
|
|
7
|
-
var _material = require("@mui/material");
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash.isequal"));
|
|
9
|
-
var _reactRouter = require("react-router");
|
|
10
|
-
var _BlockAdminComponentPaper = require("../common/BlockAdminComponentPaper");
|
|
11
|
-
var _Collapsible = require("../common/Collapsible");
|
|
12
|
-
var _CollapsibleSwitchButtonHeader = require("../common/CollapsibleSwitchButtonHeader");
|
|
13
|
-
var _createBlockSkeleton = require("../helpers/createBlockSkeleton");
|
|
14
|
-
var _utils = require("../utils");
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
18
2
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
19
3
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -23,11 +7,22 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
23
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
8
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
25
9
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
26
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
|
+
import { Box, Divider } from "@mui/material";
|
|
12
|
+
import isEqual from "lodash.isequal";
|
|
13
|
+
import { Route, useRouteMatch } from "react-router";
|
|
14
|
+
import { BlockAdminComponentPaper } from "../common/BlockAdminComponentPaper";
|
|
15
|
+
import { Collapsible } from "../common/Collapsible";
|
|
16
|
+
import { CollapsibleSwitchButtonHeader } from "../common/CollapsibleSwitchButtonHeader";
|
|
17
|
+
import { createBlockSkeleton } from "../helpers/createBlockSkeleton";
|
|
18
|
+
import { resolveNewState } from "../utils";
|
|
19
|
+
|
|
20
|
+
// @TODO: move to general types
|
|
27
21
|
// type BlockDecorator = <T extends BlockInterface>(block: T) => BlockInterface;
|
|
28
|
-
|
|
22
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
+
export function createOptionalBlock(decoratedBlock, options, override) {
|
|
29
24
|
var _options$name;
|
|
30
|
-
var OptionalBlock = _objectSpread(_objectSpread({},
|
|
25
|
+
var OptionalBlock = _objectSpread(_objectSpread({}, createBlockSkeleton()), {}, {
|
|
31
26
|
name: (_options$name = options === null || options === void 0 ? void 0 : options.name) !== null && _options$name !== void 0 ? _options$name : "Optional".concat(decoratedBlock.name),
|
|
32
27
|
displayName: decoratedBlock.displayName,
|
|
33
28
|
tags: decoratedBlock.tags,
|
|
@@ -126,28 +121,28 @@ function createOptionalBlock(decoratedBlock, options, override) {
|
|
|
126
121
|
AdminComponent: function AdminComponent(_ref) {
|
|
127
122
|
var state = _ref.state,
|
|
128
123
|
updateState = _ref.updateState;
|
|
129
|
-
var match =
|
|
124
|
+
var match = useRouteMatch();
|
|
130
125
|
|
|
131
126
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
132
127
|
var updateSubBlocksFn = function updateSubBlocksFn(setStateAction) {
|
|
133
128
|
updateState(function (prevState) {
|
|
134
129
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
135
|
-
block:
|
|
130
|
+
block: resolveNewState({
|
|
136
131
|
prevState: prevState.block ? prevState.block : decoratedBlock.defaultValues(),
|
|
137
132
|
setStateAction: setStateAction
|
|
138
133
|
})
|
|
139
134
|
});
|
|
140
135
|
});
|
|
141
136
|
};
|
|
142
|
-
return /*#__PURE__*/(
|
|
137
|
+
return /*#__PURE__*/_jsx(Route, {
|
|
143
138
|
path: match.url,
|
|
144
139
|
children: function children(_ref2) {
|
|
145
140
|
var match = _ref2.match;
|
|
146
|
-
return match !== null && match !== void 0 && match.isExact ? /*#__PURE__*/(
|
|
141
|
+
return match !== null && match !== void 0 && match.isExact ? /*#__PURE__*/_jsx(BlockAdminComponentPaper, {
|
|
147
142
|
disablePadding: true,
|
|
148
|
-
children: /*#__PURE__*/(
|
|
143
|
+
children: /*#__PURE__*/_jsxs(Collapsible, {
|
|
149
144
|
open: state.visible,
|
|
150
|
-
header: /*#__PURE__*/(
|
|
145
|
+
header: /*#__PURE__*/_jsx(CollapsibleSwitchButtonHeader, {
|
|
151
146
|
checked: state.visible,
|
|
152
147
|
title: options === null || options === void 0 ? void 0 : options.title
|
|
153
148
|
}),
|
|
@@ -168,7 +163,7 @@ function createOptionalBlock(decoratedBlock, options, override) {
|
|
|
168
163
|
} else {
|
|
169
164
|
// decorated block is turned off, clean up the state of decorated block
|
|
170
165
|
// we do not save the default state
|
|
171
|
-
if ((
|
|
166
|
+
if (isEqual(decoratedBlock.defaultValues(), prevState.block)) {
|
|
172
167
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
173
168
|
block: undefined,
|
|
174
169
|
visible: open
|
|
@@ -181,15 +176,15 @@ function createOptionalBlock(decoratedBlock, options, override) {
|
|
|
181
176
|
}
|
|
182
177
|
});
|
|
183
178
|
},
|
|
184
|
-
children: [/*#__PURE__*/(
|
|
179
|
+
children: [/*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(Box, {
|
|
185
180
|
padding: decoratedBlock.definesOwnPadding ? 0 : 3,
|
|
186
|
-
children: /*#__PURE__*/(
|
|
181
|
+
children: /*#__PURE__*/_jsx(decoratedBlock.AdminComponent, {
|
|
187
182
|
updateState: updateSubBlocksFn,
|
|
188
183
|
state: state.block ? state.block : decoratedBlock.defaultValues()
|
|
189
184
|
})
|
|
190
185
|
})]
|
|
191
186
|
})
|
|
192
|
-
}) : /*#__PURE__*/(
|
|
187
|
+
}) : /*#__PURE__*/_jsx(decoratedBlock.AdminComponent, {
|
|
193
188
|
updateState: updateSubBlocksFn,
|
|
194
189
|
state: state.block ? state.block : decoratedBlock.defaultValues()
|
|
195
190
|
});
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createUseAdminComponent = createUseAdminComponent;
|
|
8
|
-
var _admin = require("@comet/admin");
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _reactIntl = require("react-intl");
|
|
11
|
-
var _uuid = require("uuid");
|
|
12
|
-
var _CannotPasteBlockDialog = require("../../clipboard/CannotPasteBlockDialog");
|
|
13
|
-
var _useBlockClipboard2 = require("../../clipboard/useBlockClipboard");
|
|
14
|
-
var _utils = require("../../utils");
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
2
|
var _excluded = ["removedAt"];
|
|
17
3
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
18
4
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -35,7 +21,15 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
35
21
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
36
22
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
37
23
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
38
|
-
|
|
24
|
+
import { UndoSnackbar, useSnackbarApi } from "@comet/admin";
|
|
25
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
26
|
+
import { FormattedMessage } from "react-intl";
|
|
27
|
+
import { v4 as uuid } from "uuid";
|
|
28
|
+
import { CannotPasteBlockDialog } from "../../clipboard/CannotPasteBlockDialog";
|
|
29
|
+
import { useBlockClipboard } from "../../clipboard/useBlockClipboard";
|
|
30
|
+
import { resolveNewState } from "../../utils";
|
|
31
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
32
|
+
export function createUseAdminComponent(_ref) {
|
|
39
33
|
var block = _ref.block,
|
|
40
34
|
maxVisibleBlocks = _ref.maxVisibleBlocks,
|
|
41
35
|
_ref$additionalItemFi = _ref.additionalItemFields,
|
|
@@ -43,11 +37,11 @@ function createUseAdminComponent(_ref) {
|
|
|
43
37
|
var useListBlockAdminComponent = function useListBlockAdminComponent(_ref2) {
|
|
44
38
|
var state = _ref2.state,
|
|
45
39
|
updateState = _ref2.updateState;
|
|
46
|
-
var _useState =
|
|
40
|
+
var _useState = useState(),
|
|
47
41
|
_useState2 = _slicedToArray(_useState, 2),
|
|
48
42
|
cannotPasteBlockError = _useState2[0],
|
|
49
43
|
setCannotPasteBlockError = _useState2[1];
|
|
50
|
-
|
|
44
|
+
useEffect(function () {
|
|
51
45
|
if (state.blocks.some(function (block) {
|
|
52
46
|
return block.slideIn;
|
|
53
47
|
})) {
|
|
@@ -67,7 +61,7 @@ function createUseAdminComponent(_ref) {
|
|
|
67
61
|
};
|
|
68
62
|
}
|
|
69
63
|
}, [state.blocks, updateState]);
|
|
70
|
-
var toggleVisible =
|
|
64
|
+
var toggleVisible = useCallback(function (blockKey) {
|
|
71
65
|
updateState(function (prevState) {
|
|
72
66
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
73
67
|
blocks: prevState.blocks.map(function (c) {
|
|
@@ -78,8 +72,8 @@ function createUseAdminComponent(_ref) {
|
|
|
78
72
|
});
|
|
79
73
|
});
|
|
80
74
|
}, [updateState]);
|
|
81
|
-
var snackbarApi =
|
|
82
|
-
var handleUndoClick =
|
|
75
|
+
var snackbarApi = useSnackbarApi();
|
|
76
|
+
var handleUndoClick = useCallback(function (removedBlocks) {
|
|
83
77
|
if (!removedBlocks) {
|
|
84
78
|
return;
|
|
85
79
|
}
|
|
@@ -95,7 +89,7 @@ function createUseAdminComponent(_ref) {
|
|
|
95
89
|
});
|
|
96
90
|
});
|
|
97
91
|
}, [updateState]);
|
|
98
|
-
var deleteBlocks =
|
|
92
|
+
var deleteBlocks = useCallback(function (blockKeys) {
|
|
99
93
|
updateState(function (prevState) {
|
|
100
94
|
var blocksToRemove = prevState.blocks.map(function (block, index) {
|
|
101
95
|
return _objectSpread(_objectSpread({}, block), {}, {
|
|
@@ -104,8 +98,8 @@ function createUseAdminComponent(_ref) {
|
|
|
104
98
|
}).filter(function (block) {
|
|
105
99
|
return blockKeys.includes(block.key);
|
|
106
100
|
});
|
|
107
|
-
snackbarApi.showSnackbar(/*#__PURE__*/(
|
|
108
|
-
message: /*#__PURE__*/(
|
|
101
|
+
snackbarApi.showSnackbar(/*#__PURE__*/_jsx(UndoSnackbar, {
|
|
102
|
+
message: /*#__PURE__*/_jsx(FormattedMessage, {
|
|
109
103
|
id: "comet.blocks.list.blockDeleted",
|
|
110
104
|
defaultMessage: "{count, plural, one {block} other {# blocks}} deleted",
|
|
111
105
|
values: {
|
|
@@ -133,7 +127,7 @@ function createUseAdminComponent(_ref) {
|
|
|
133
127
|
}));
|
|
134
128
|
};
|
|
135
129
|
var addNewBlock = function addNewBlock(beforeIndex) {
|
|
136
|
-
var key = (
|
|
130
|
+
var key = uuid();
|
|
137
131
|
var newBlock = _objectSpread({
|
|
138
132
|
key: key,
|
|
139
133
|
visible: maxVisibleBlocks ? totalVisibleBlocks < maxVisibleBlocks : true,
|
|
@@ -159,13 +153,13 @@ function createUseAdminComponent(_ref) {
|
|
|
159
153
|
});
|
|
160
154
|
return key;
|
|
161
155
|
};
|
|
162
|
-
var createUpdateSubBlocksFn =
|
|
156
|
+
var createUpdateSubBlocksFn = useCallback(function (blockKey) {
|
|
163
157
|
var updateSubBlocksFn = function updateSubBlocksFn(setStateAction) {
|
|
164
158
|
updateState(function (prevState) {
|
|
165
159
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
|
166
160
|
blocks: prevState.blocks.map(function (c) {
|
|
167
161
|
return c.key === blockKey ? _objectSpread(_objectSpread({}, c), {}, {
|
|
168
|
-
props:
|
|
162
|
+
props: resolveNewState({
|
|
169
163
|
prevState: c.props,
|
|
170
164
|
setStateAction: setStateAction
|
|
171
165
|
})
|
|
@@ -179,13 +173,13 @@ function createUseAdminComponent(_ref) {
|
|
|
179
173
|
var totalVisibleBlocks = state.blocks.filter(function (block) {
|
|
180
174
|
return block.visible;
|
|
181
175
|
}).length;
|
|
182
|
-
var _useBlockClipboard =
|
|
176
|
+
var _useBlockClipboard = useBlockClipboard({
|
|
183
177
|
supports: block
|
|
184
178
|
}),
|
|
185
179
|
updateClipboardContent = _useBlockClipboard.updateClipboardContent,
|
|
186
180
|
getClipboardContent = _useBlockClipboard.getClipboardContent;
|
|
187
|
-
var cannotPasteBlockErrorDialog =
|
|
188
|
-
return cannotPasteBlockError !== undefined && /*#__PURE__*/(
|
|
181
|
+
var cannotPasteBlockErrorDialog = useMemo(function () {
|
|
182
|
+
return cannotPasteBlockError !== undefined && /*#__PURE__*/_jsx(CannotPasteBlockDialog, {
|
|
189
183
|
open: true,
|
|
190
184
|
onClose: function onClose() {
|
|
191
185
|
return setCannotPasteBlockError(undefined);
|
|
@@ -218,7 +212,7 @@ function createUseAdminComponent(_ref) {
|
|
|
218
212
|
var canAddVisibleBlock = maxVisibleBlocks ? totalVisibleBlocks + clipboardVisibleBlocks <= maxVisibleBlocks : true;
|
|
219
213
|
var newBlocks = content.map(function (block) {
|
|
220
214
|
return _objectSpread({
|
|
221
|
-
key: (
|
|
215
|
+
key: uuid(),
|
|
222
216
|
visible: canAddVisibleBlock ? block.visible : false,
|
|
223
217
|
props: block.state,
|
|
224
218
|
selected: false,
|