@webiny/app-headless-cms 6.3.0 → 6.4.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/ContentEntryEditorConfig.js +42 -41
- package/ContentEntryEditorConfig.js.map +1 -1
- package/ContentEntryListConfig.js +6 -5
- package/ContentEntryListConfig.js.map +1 -1
- package/HeadlessCMS.js +24 -35
- package/HeadlessCMS.js.map +1 -1
- package/admin/RoutesConfig.js +44 -51
- package/admin/RoutesConfig.js.map +1 -1
- package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.js +13 -14
- package/admin/components/ContentEntries/BottomInfoBar/BottomInfoBar.js.map +1 -1
- package/admin/components/ContentEntries/BottomInfoBar/ListMeta.js +10 -13
- package/admin/components/ContentEntries/BottomInfoBar/ListMeta.js.map +1 -1
- package/admin/components/ContentEntries/BottomInfoBar/ListStatus.js +13 -16
- package/admin/components/ContentEntries/BottomInfoBar/ListStatus.js.map +1 -1
- package/admin/components/ContentEntries/BottomInfoBar/index.js +0 -2
- package/admin/components/ContentEntries/BulkActions/ActionDelete.js +65 -92
- package/admin/components/ContentEntries/BulkActions/ActionDelete.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionMove.js +85 -103
- package/admin/components/ContentEntries/BulkActions/ActionMove.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionPublish.js +70 -95
- package/admin/components/ContentEntries/BulkActions/ActionPublish.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/ActionUnpublish.js +69 -94
- package/admin/components/ContentEntries/BulkActions/ActionUnpublish.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/BulkActions.js +56 -69
- package/admin/components/ContentEntries/BulkActions/BulkActions.js.map +1 -1
- package/admin/components/ContentEntries/BulkActions/index.js +1 -3
- package/admin/components/ContentEntries/Empty/index.js +40 -53
- package/admin/components/ContentEntries/Empty/index.js.map +1 -1
- package/admin/components/ContentEntries/Empty/styled.js +9 -22
- package/admin/components/ContentEntries/Empty/styled.js.map +1 -1
- package/admin/components/ContentEntries/Filters/FieldsMapper.js +66 -45
- package/admin/components/ContentEntries/Filters/FieldsMapper.js.map +1 -1
- package/admin/components/ContentEntries/Filters/FilterByStatus.js +45 -40
- package/admin/components/ContentEntries/Filters/FilterByStatus.js.map +1 -1
- package/admin/components/ContentEntries/Filters/Filters.js +35 -44
- package/admin/components/ContentEntries/Filters/Filters.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/EntriesGatewayInterface.js +0 -3
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/EntriesGraphQLGateway.js +33 -50
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/EntriesGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/entries.gql.js +6 -5
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/entries.gql.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/entries.types.js +0 -3
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/index.js +0 -2
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/AutoComplete.js +36 -32
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/AutoComplete.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/Ref.js +35 -38
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/Ref.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/RefPresenter.js +40 -51
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/RefPresenter.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/RefPresenter.test.js +134 -146
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/RefPresenter.test.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/index.js +0 -2
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Entry.js +11 -10
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Entry.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryMapper.js +18 -17
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryMapper.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepository.js +38 -40
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepository.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepositoryFactory.js +16 -14
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/EntryRepositoryFactory.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Loading.js +47 -46
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/Loading.js.map +1 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/index.js +0 -2
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/index.js +0 -2
- package/admin/components/ContentEntries/Filters/index.js +0 -2
- package/admin/components/ContentEntries/Header/ButtonFilters/ButtonFilters.js +15 -15
- package/admin/components/ContentEntries/Header/ButtonFilters/ButtonFilters.js.map +1 -1
- package/admin/components/ContentEntries/Header/ButtonFilters/index.js +0 -2
- package/admin/components/ContentEntries/Header/ButtonRefresh/ButtonRefresh.js +14 -13
- package/admin/components/ContentEntries/Header/ButtonRefresh/ButtonRefresh.js.map +1 -1
- package/admin/components/ContentEntries/Header/ButtonRefresh/index.js +0 -2
- package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.js +27 -37
- package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.js.map +1 -1
- package/admin/components/ContentEntries/Header/ButtonsCreate/index.js +0 -2
- package/admin/components/ContentEntries/Header/Header.js +27 -35
- package/admin/components/ContentEntries/Header/Header.js.map +1 -1
- package/admin/components/ContentEntries/Header/Title/Title.js +24 -26
- package/admin/components/ContentEntries/Header/Title/Title.js.map +1 -1
- package/admin/components/ContentEntries/Header/Title/index.js +0 -2
- package/admin/components/ContentEntries/Header/index.js +0 -2
- package/admin/components/ContentEntries/LoadMoreButton/LoadMoreButton.js +11 -18
- package/admin/components/ContentEntries/LoadMoreButton/LoadMoreButton.js.map +1 -1
- package/admin/components/ContentEntries/LoadMoreButton/index.js +0 -2
- package/admin/components/ContentEntries/LoadingContentModel/LoadingContentModel.js +7 -8
- package/admin/components/ContentEntries/LoadingContentModel/LoadingContentModel.js.map +1 -1
- package/admin/components/ContentEntries/LoadingContentModel/index.js +0 -2
- package/admin/components/ContentEntries/SidebarContent/SidebarContent.js +14 -18
- package/admin/components/ContentEntries/SidebarContent/SidebarContent.js.map +1 -1
- package/admin/components/ContentEntries/SidebarContent/index.js +0 -2
- package/admin/components/ContentEntries/SidebarFooter/SidebarFooter.js +5 -8
- package/admin/components/ContentEntries/SidebarFooter/SidebarFooter.js.map +1 -1
- package/admin/components/ContentEntries/SidebarFooter/index.js +0 -2
- package/admin/components/ContentEntries/SidebarHeader/SidebarHeader.js +24 -25
- package/admin/components/ContentEntries/SidebarHeader/SidebarHeader.js.map +1 -1
- package/admin/components/ContentEntries/SidebarHeader/index.js +0 -2
- package/admin/components/ContentEntries/Table/Actions/ChangeEntryStatus.js +25 -38
- package/admin/components/ContentEntries/Table/Actions/ChangeEntryStatus.js.map +1 -1
- package/admin/components/ContentEntries/Table/Actions/DeleteEntry.js +20 -27
- package/admin/components/ContentEntries/Table/Actions/DeleteEntry.js.map +1 -1
- package/admin/components/ContentEntries/Table/Actions/EditEntry.js +15 -24
- package/admin/components/ContentEntries/Table/Actions/EditEntry.js.map +1 -1
- package/admin/components/ContentEntries/Table/Actions/MoveEntry.js +15 -18
- package/admin/components/ContentEntries/Table/Actions/MoveEntry.js.map +1 -1
- package/admin/components/ContentEntries/Table/Actions/index.js +0 -2
- package/admin/components/ContentEntries/Table/Cells/CellActions.js +21 -30
- package/admin/components/ContentEntries/Table/Cells/CellActions.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellAuthor.js +7 -12
- package/admin/components/ContentEntries/Table/Cells/CellAuthor.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellCreated.js +10 -15
- package/admin/components/ContentEntries/Table/Cells/CellCreated.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellLive.js +13 -21
- package/admin/components/ContentEntries/Table/Cells/CellLive.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellModified.js +10 -15
- package/admin/components/ContentEntries/Table/Cells/CellModified.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellName.js +51 -75
- package/admin/components/ContentEntries/Table/Cells/CellName.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/CellStatus.js +23 -27
- package/admin/components/ContentEntries/Table/Cells/CellStatus.js.map +1 -1
- package/admin/components/ContentEntries/Table/Cells/index.js +0 -2
- package/admin/components/ContentEntries/Table/index.js +33 -32
- package/admin/components/ContentEntries/Table/index.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js +16 -24
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinBulkActionsGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinDeleteItemGraphQLGateway.js +17 -25
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinDeleteItemGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinItemMapper.js +16 -15
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinItemMapper.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinListGraphQLGateway.js +31 -31
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinListGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGateway.js +16 -24
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGateway.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGatewayWithCallback.js +14 -13
- package/admin/components/ContentEntries/TrashBin/adapters/TrashBinRestoreItemGraphQLGatewayWithCallback.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/adapters/index.js +0 -2
- package/admin/components/ContentEntries/TrashBin/components/TrashBin.js +50 -57
- package/admin/components/ContentEntries/TrashBin/components/TrashBin.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/components/TrashBin.styled.js +32 -42
- package/admin/components/ContentEntries/TrashBin/components/TrashBin.styled.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/components/TrashBinButton.js +13 -14
- package/admin/components/ContentEntries/TrashBin/components/TrashBinButton.js.map +1 -1
- package/admin/components/ContentEntries/TrashBin/components/index.js +0 -2
- package/admin/components/ContentEntries/TrashBin/index.js +0 -2
- package/admin/components/ContentEntryForm/ContentEntryForm.js +43 -57
- package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +25 -30
- package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js +107 -125
- package/admin/components/ContentEntryForm/ContentEntryFormProvider.js.map +1 -1
- package/admin/components/ContentEntryForm/CustomLayout.js +18 -22
- package/admin/components/ContentEntryForm/CustomLayout.js.map +1 -1
- package/admin/components/ContentEntryForm/DefaultLayout.js +8 -18
- package/admin/components/ContentEntryForm/DefaultLayout.js.map +1 -1
- package/admin/components/ContentEntryForm/FieldElement.js +0 -2
- package/admin/components/ContentEntryForm/Fields.js +0 -2
- package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/ContentFormOptionsMenu.js +8 -9
- package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/DeleteEntry/DeleteEntry.js +21 -34
- package/admin/components/ContentEntryForm/Header/DeleteEntry/DeleteEntry.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/DeleteEntry/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/Header.js +15 -18
- package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.d.ts +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js +45 -50
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/SaveAndPublishContent.js +20 -34
- package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/SaveAndPublishContent.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js +18 -26
- package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/SaveContent/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/ShowRevisionList.js +16 -18
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/ShowRevisionList.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js +0 -2
- package/admin/components/ContentEntryForm/Header/index.js +0 -2
- package/admin/components/ContentEntryForm/Label.js +0 -2
- package/admin/components/ContentEntryForm/ParentValue.js +41 -48
- package/admin/components/ContentEntryForm/ParentValue.js.map +1 -1
- package/admin/components/ContentEntryForm/SingletonHeader/SaveAction.js +11 -18
- package/admin/components/ContentEntryForm/SingletonHeader/SaveAction.js.map +1 -1
- package/admin/components/ContentEntryForm/SingletonHeader/SingletonHeader.js +21 -22
- package/admin/components/ContentEntryForm/SingletonHeader/SingletonHeader.js.map +1 -1
- package/admin/components/ContentEntryForm/SingletonHeader/index.js +0 -2
- package/admin/components/ContentEntryForm/createValidationContainer.js +0 -2
- package/admin/components/ContentEntryForm/functions/getValue.js +7 -15
- package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
- package/admin/components/ContentEntryForm/functions/setValue.js +10 -18
- package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.js +0 -2
- package/admin/components/ContentEntryForm/useContentEntryForm.js +6 -7
- package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
- package/admin/components/ContentEntryForm/useDefaultValues.js +33 -74
- package/admin/components/ContentEntryForm/useDefaultValues.js.map +1 -1
- package/admin/components/ContentEntryForm/useFormRenderer.js +2 -3
- package/admin/components/ContentEntryForm/useFormRenderer.js.map +1 -1
- package/admin/components/ContentEntryForm/useGoToRevision.js +16 -17
- package/admin/components/ContentEntryForm/useGoToRevision.js.map +1 -1
- package/admin/components/ContentEntryForm/useRenderPlugins.js +0 -2
- package/admin/components/ContentModelEditor/ContentModelEditor.js +106 -117
- package/admin/components/ContentModelEditor/ContentModelEditor.js.map +1 -1
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +164 -197
- package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
- package/admin/components/ContentModelEditor/FieldsSidebar.js +76 -97
- package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
- package/admin/components/ContentModelEditor/Header.js +12 -13
- package/admin/components/ContentModelEditor/Header.js.map +1 -1
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/ModelIsBeingDeletedError.js +48 -68
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/ModelIsBeingDeletedError.js.map +1 -1
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/SecureRouteError.js +297 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/SecureRouteError.js.map +1 -0
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/index.js +0 -2
- package/admin/components/ContentModelEditor/PreviewTab.js +9 -12
- package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
- package/admin/components/ContentModelEditor/icons/round-assignment-24px.js +19 -0
- package/admin/components/ContentModelEditor/icons/round-assignment-24px.js.map +1 -0
- package/admin/components/ContentModelEditor/icons/round-drag_indicator-24px.js +19 -0
- package/admin/components/ContentModelEditor/icons/round-drag_indicator-24px.js.map +1 -0
- package/admin/components/ContentModelEditor/index.js +0 -2
- package/admin/components/ContentModelEditor/useModelEditor.js +6 -7
- package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -1
- package/admin/components/ContentModelsWidget.js +19 -20
- package/admin/components/ContentModelsWidget.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnDelete.js +57 -83
- package/admin/components/Decorators/ShowConfirmationOnDelete.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision/EntryRevisionDeletedSnackbarMessage.js +5 -9
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision/EntryRevisionDeletedSnackbarMessage.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js +60 -86
- package/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnPublish.js +90 -90
- package/admin/components/Decorators/ShowConfirmationOnPublish.js.map +1 -1
- package/admin/components/Decorators/ShowConfirmationOnUnpublish.js +61 -90
- package/admin/components/Decorators/ShowConfirmationOnUnpublish.js.map +1 -1
- package/admin/components/Dialog.d.ts +4 -2
- package/admin/components/Dialog.js +4 -17
- package/admin/components/Dialog.js.map +1 -1
- package/admin/components/DragPreview.js +52 -73
- package/admin/components/DragPreview.js.map +1 -1
- package/admin/components/Draggable.js +28 -37
- package/admin/components/Draggable.js.map +1 -1
- package/admin/components/DropZone/Center.js +40 -51
- package/admin/components/DropZone/Center.js.map +1 -1
- package/admin/components/DropZone/Horizontal.js +31 -46
- package/admin/components/DropZone/Horizontal.js.map +1 -1
- package/admin/components/DropZone/Vertical.js +31 -46
- package/admin/components/DropZone/Vertical.js.map +1 -1
- package/admin/components/DropZone/index.js +3 -6
- package/admin/components/Droppable.js +28 -42
- package/admin/components/Droppable.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab/LegacyRichTextInput.js +11 -12
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab/LegacyRichTextInput.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab/RendererOptions.js +16 -23
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab/RendererOptions.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +60 -72
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js +55 -54
- package/admin/components/FieldEditor/EditFieldDialog/FieldSettingsTabs.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +137 -164
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/CannotUsePermissions.js +10 -11
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/CannotUsePermissions.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/FieldPermissionsSelection.js +105 -120
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/FieldPermissionsSelection.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js +60 -57
- package/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +38 -51
- package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js +218 -193
- package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js +0 -2
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidationTab.js +21 -24
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidationTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidationsSection.js +18 -24
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidationsSection.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidatorsList.js +143 -196
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/ValidatorsList.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/index.js +0 -2
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +6 -11
- package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +8 -13
- package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +46 -65
- package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/useRendererPlugins.js +13 -27
- package/admin/components/FieldEditor/EditFieldDialog/useRendererPlugins.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog.js +51 -81
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialogContainer.js +25 -34
- package/admin/components/FieldEditor/EditFieldDialogContainer.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDrawerContainer.js +25 -34
- package/admin/components/FieldEditor/EditFieldDrawerContainer.js.map +1 -1
- package/admin/components/FieldEditor/Field.js +187 -211
- package/admin/components/FieldEditor/Field.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditor.js +193 -227
- package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/FieldEditorContext.js +323 -532
- package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
- package/admin/components/FieldEditor/LayoutCell.js +21 -28
- package/admin/components/FieldEditor/LayoutCell.js.map +1 -1
- package/admin/components/FieldEditor/index.js +0 -2
- package/admin/components/FieldEditor/useModelFieldEditor.js +5 -6
- package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -1
- package/admin/components/FieldEditor/utils/deleteField.js +25 -39
- package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
- package/admin/components/FieldEditor/utils/getFieldPosition.js +17 -23
- package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
- package/admin/components/FieldEditor/utils/index.js +0 -2
- package/admin/components/FieldEditor/utils/moveField.js +36 -47
- package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
- package/admin/components/FieldEditor/utils/moveRow.js +13 -10
- package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
- package/admin/components/IconPicker.js +25 -35
- package/admin/components/IconPicker.js.map +1 -1
- package/admin/components/IsModelPublishable.js +5 -4
- package/admin/components/IsModelPublishable.js.map +1 -1
- package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js +24 -24
- package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js.map +1 -1
- package/admin/components/LexicalCmsEditor/LexicalEditorCmsPlugin.js +81 -85
- package/admin/components/LexicalCmsEditor/LexicalEditorCmsPlugin.js.map +1 -1
- package/admin/components/LexicalCmsEditor/TypographyDropDown.js +55 -73
- package/admin/components/LexicalCmsEditor/TypographyDropDown.js.map +1 -1
- package/admin/components/ModelFieldProvider/index.js +0 -2
- package/admin/components/ModelProvider/index.js +0 -2
- package/admin/config/IsApplicableToCurrentModel.js +6 -12
- package/admin/config/IsApplicableToCurrentModel.js.map +1 -1
- package/admin/config/contentEntries/editor/Actions/BaseAction.js +28 -35
- package/admin/config/contentEntries/editor/Actions/BaseAction.js.map +1 -1
- package/admin/config/contentEntries/editor/Actions/ButtonAction.js +8 -8
- package/admin/config/contentEntries/editor/Actions/ButtonAction.js.map +1 -1
- package/admin/config/contentEntries/editor/Actions/MenuItemAction.js +8 -8
- package/admin/config/contentEntries/editor/Actions/MenuItemAction.js.map +1 -1
- package/admin/config/contentEntries/editor/Actions/index.js +4 -3
- package/admin/config/contentEntries/editor/Actions/index.js.map +1 -1
- package/admin/config/contentEntries/editor/ContentEntryEditorConfig.js +21 -14
- package/admin/config/contentEntries/editor/ContentEntryEditorConfig.js.map +1 -1
- package/admin/config/contentEntries/editor/FieldElement.js +8 -11
- package/admin/config/contentEntries/editor/FieldElement.js.map +1 -1
- package/admin/config/contentEntries/editor/ValidationIndicators.js +11 -13
- package/admin/config/contentEntries/editor/ValidationIndicators.js.map +1 -1
- package/admin/config/contentEntries/editor/Width.js +9 -13
- package/admin/config/contentEntries/editor/Width.js.map +1 -1
- package/admin/config/contentEntries/editor/index.js +0 -2
- package/admin/config/contentEntries/index.js +0 -2
- package/admin/config/contentEntries/list/Browser/AdvancedSearch/FieldRenderer.js +10 -18
- package/admin/config/contentEntries/list/Browser/AdvancedSearch/FieldRenderer.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/AdvancedSearch/index.js +3 -2
- package/admin/config/contentEntries/list/Browser/AdvancedSearch/index.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/BulkAction.js +64 -90
- package/admin/config/contentEntries/list/Browser/BulkAction.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/EntryAction.js +9 -15
- package/admin/config/contentEntries/list/Browser/EntryAction.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/Filter.js +34 -50
- package/admin/config/contentEntries/list/Browser/Filter.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/FiltersToWhere.js +13 -19
- package/admin/config/contentEntries/list/Browser/FiltersToWhere.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/FolderAction.js +9 -17
- package/admin/config/contentEntries/list/Browser/FolderAction.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/FolderDropConfirmation.js +7 -15
- package/admin/config/contentEntries/list/Browser/FolderDropConfirmation.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/FolderFieldDecorator.js +7 -22
- package/admin/config/contentEntries/list/Browser/FolderFieldDecorator.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/Table/Column.js +10 -18
- package/admin/config/contentEntries/list/Browser/Table/Column.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/Table/index.js +3 -2
- package/admin/config/contentEntries/list/Browser/Table/index.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/index.js +19 -18
- package/admin/config/contentEntries/list/Browser/index.js.map +1 -1
- package/admin/config/contentEntries/list/ContentEntryListConfig.js +40 -43
- package/admin/config/contentEntries/list/ContentEntryListConfig.js.map +1 -1
- package/admin/config/contentEntries/list/index.js +0 -2
- package/admin/constants.js +7 -6
- package/admin/constants.js.map +1 -1
- package/admin/contexts/Cms/NetworkError.js +2 -2
- package/admin/contexts/Cms/NetworkError.js.map +1 -1
- package/admin/contexts/Cms/index.d.ts +7 -0
- package/admin/contexts/Cms/index.js +374 -489
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/graphql/contentModels.js +6 -16
- package/admin/graphql/contentModels.js.map +1 -1
- package/admin/hooks/index.js +4 -6
- package/admin/hooks/useApolloClient.js +5 -6
- package/admin/hooks/useApolloClient.js.map +1 -1
- package/admin/hooks/useCms.js +7 -7
- package/admin/hooks/useCms.js.map +1 -1
- package/admin/hooks/useContentModels.js +25 -34
- package/admin/hooks/useContentModels.js.map +1 -1
- package/admin/hooks/useEntry.js +14 -18
- package/admin/hooks/useEntry.js.map +1 -1
- package/admin/hooks/useIsModelPublishable.js +6 -5
- package/admin/hooks/useIsModelPublishable.js.map +1 -1
- package/admin/hooks/useLazyQuery.js +10 -10
- package/admin/hooks/useLazyQuery.js.map +1 -1
- package/admin/hooks/useModelFieldGraphqlContext.js +10 -13
- package/admin/hooks/useModelFieldGraphqlContext.js.map +1 -1
- package/admin/hooks/useMutation.js +10 -10
- package/admin/hooks/useMutation.js.map +1 -1
- package/admin/hooks/usePermission.js +145 -210
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/hooks/usePersistEntry.js +32 -37
- package/admin/hooks/usePersistEntry.js.map +1 -1
- package/admin/hooks/useQuery.js +11 -11
- package/admin/hooks/useQuery.js.map +1 -1
- package/admin/icons/add.js +20 -0
- package/admin/icons/add.js.map +1 -0
- package/admin/icons/arrow_forward-24px.js +19 -0
- package/admin/icons/arrow_forward-24px.js.map +1 -0
- package/admin/icons/baseline-autorenew-24px.js +19 -0
- package/admin/icons/baseline-autorenew-24px.js.map +1 -0
- package/admin/icons/beenhere.js +19 -0
- package/admin/icons/beenhere.js.map +1 -0
- package/admin/icons/call_split-24px.js +20 -0
- package/admin/icons/call_split-24px.js.map +1 -0
- package/admin/icons/clone.js +17 -0
- package/admin/icons/clone.js.map +1 -0
- package/admin/icons/close.js +21 -0
- package/admin/icons/close.js.map +1 -0
- package/admin/icons/delete.js +18 -0
- package/admin/icons/delete.js.map +1 -0
- package/admin/icons/devices_other-black-24px.js +16 -0
- package/admin/icons/devices_other-black-24px.js.map +1 -0
- package/admin/icons/done-24px.js +19 -0
- package/admin/icons/done-24px.js.map +1 -0
- package/admin/icons/draft.js +18 -0
- package/admin/icons/draft.js.map +1 -0
- package/admin/icons/edit.js +20 -0
- package/admin/icons/edit.js.map +1 -0
- package/admin/icons/emoji_people-24px.js +26 -0
- package/admin/icons/emoji_people-24px.js.map +1 -0
- package/admin/icons/gesture.js +19 -0
- package/admin/icons/gesture.js.map +1 -0
- package/admin/icons/help_outline.js +19 -0
- package/admin/icons/help_outline.js.map +1 -0
- package/admin/icons/how_to_vote-24px.js +19 -0
- package/admin/icons/how_to_vote-24px.js.map +1 -0
- package/admin/icons/info.js +19 -0
- package/admin/icons/info.js.map +1 -0
- package/admin/icons/lock.js +23 -0
- package/admin/icons/lock.js.map +1 -0
- package/admin/icons/more_vert.js +20 -0
- package/admin/icons/more_vert.js.map +1 -0
- package/admin/icons/publish.js +19 -0
- package/admin/icons/publish.js.map +1 -0
- package/admin/icons/published.js +18 -0
- package/admin/icons/published.js.map +1 -0
- package/admin/icons/round-arrow_drop_down-24px.js +20 -0
- package/admin/icons/round-arrow_drop_down-24px.js.map +1 -0
- package/admin/icons/round-drag_indicator-24px.js +19 -0
- package/admin/icons/round-drag_indicator-24px.js.map +1 -0
- package/admin/icons/round-translate-24px.js +19 -0
- package/admin/icons/round-translate-24px.js.map +1 -0
- package/admin/icons/rule-24px.js +19 -0
- package/admin/icons/rule-24px.js.map +1 -0
- package/admin/icons/title-24px.js +19 -0
- package/admin/icons/title-24px.js.map +1 -0
- package/admin/icons/unpublish.js +19 -0
- package/admin/icons/unpublish.js.map +1 -0
- package/admin/icons/unpublished.js +18 -0
- package/admin/icons/unpublished.js.map +1 -0
- package/admin/icons/view_list.js +20 -0
- package/admin/icons/view_list.js.map +1 -0
- package/admin/icons/visibility.js +20 -0
- package/admin/icons/visibility.js.map +1 -0
- package/admin/lexicalConfig/LexicalEditorConfig.js +14 -27
- package/admin/lexicalConfig/LexicalEditorConfig.js.map +1 -1
- package/admin/menus/CmsMenuLoader.js +57 -80
- package/admin/menus/CmsMenuLoader.js.map +1 -1
- package/admin/menus/ContentGroupsMenuItems.js +14 -15
- package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
- package/admin/menus/GroupContentModels.js +34 -44
- package/admin/menus/GroupContentModels.js.map +1 -1
- package/admin/menus/GroupMenu.js +17 -24
- package/admin/menus/GroupMenu.js.map +1 -1
- package/admin/menus/HasContentEntryPermissions.js +13 -22
- package/admin/menus/HasContentEntryPermissions.js.map +1 -1
- package/admin/plugins/apiInformation/index.js +46 -53
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js +2 -1
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js.map +1 -1
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js +2 -1
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js.map +1 -1
- package/admin/plugins/apiInformation/placeholder.read.graphql.js +2 -1
- package/admin/plugins/apiInformation/placeholder.read.graphql.js.map +1 -1
- package/admin/plugins/arrayUtils.js +23 -32
- package/admin/plugins/arrayUtils.js.map +1 -1
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +27 -24
- package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +12 -9
- package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
- package/admin/plugins/editor/defaultBar/BackButton.js +12 -13
- package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/CreateContentButton.js +30 -34
- package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +55 -68
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +19 -18
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +31 -48
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/index.js +0 -2
- package/admin/plugins/editor/defaultBar/Name/Name.js +57 -60
- package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
- package/admin/plugins/editor/defaultBar/Name/index.js +0 -2
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +24 -29
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/editor/defaultBar/index.js +39 -32
- package/admin/plugins/editor/defaultBar/index.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js +60 -61
- package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +1 -1
- package/admin/plugins/editor/formSettings/components/GroupSelect.js +19 -23
- package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
- package/admin/plugins/editor/formSettings/icons/round-settings-24px.js +19 -0
- package/admin/plugins/editor/formSettings/icons/round-settings-24px.js.map +1 -0
- package/admin/plugins/editor/formSettings/index.js +13 -12
- package/admin/plugins/editor/formSettings/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/AccordionRenderSettings.js +15 -20
- package/admin/plugins/fieldRenderers/AccordionRenderSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.js +69 -93
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/MultiValueRendererSettings.js +14 -19
- package/admin/plugins/fieldRenderers/MultiValueRendererSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +27 -31
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/index.js +4 -1
- package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js +45 -55
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +28 -35
- package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +84 -107
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +67 -80
- package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js +33 -38
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js +16 -16
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Time.js +28 -33
- package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +40 -46
- package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +56 -68
- package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/index.js +5 -1
- package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.js +49 -65
- package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +28 -29
- package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +128 -158
- package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +74 -86
- package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +23 -37
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +10 -13
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateItem.js +37 -40
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider.js +14 -14
- package/admin/plugins/fieldRenderers/dynamicZone/TemplateProvider.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +66 -93
- package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/dynamicZone/index.js +2 -4
- package/admin/plugins/fieldRenderers/dynamicZone/useTemplateTypename.js +23 -23
- package/admin/plugins/fieldRenderers/dynamicZone/useTemplateTypename.js.map +1 -1
- package/admin/plugins/fieldRenderers/hidden.js +14 -13
- package/admin/plugins/fieldRenderers/hidden.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/index.js +5 -3
- package/admin/plugins/fieldRenderers/lexicalText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +46 -51
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +49 -50
- package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/utils.js +2 -3
- package/admin/plugins/fieldRenderers/lexicalText/utils.js.map +1 -1
- package/admin/plugins/fieldRenderers/lexicalText/withHtml.js +7 -8
- package/admin/plugins/fieldRenderers/lexicalText/withHtml.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/index.js +5 -1
- package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +34 -39
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longTexts.js +48 -53
- package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/index.js +5 -1
- package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +34 -39
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInputs.js +45 -50
- package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/FieldSettings.js +24 -37
- package/admin/plugins/fieldRenderers/object/FieldSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js +93 -105
- package/admin/plugins/fieldRenderers/object/MultiValueContainer.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js +40 -49
- package/admin/plugins/fieldRenderers/object/MultiValueItemContainer.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/StyledComponents.js +39 -65
- package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/index.js +8 -3
- package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +44 -50
- package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +52 -61
- package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/passthrough.js +21 -24
- package/admin/plugins/fieldRenderers/passthrough.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +41 -55
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +177 -194
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceSettings.js +21 -19
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceSettings.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +150 -166
- package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Container.js +5 -10
- package/admin/plugins/fieldRenderers/ref/advanced/components/Container.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +20 -24
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +112 -125
- package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/NoEntries.js +6 -10
- package/admin/plugins/fieldRenderers/ref/advanced/components/NoEntries.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js +53 -60
- package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +103 -141
- package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js +17 -24
- package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/add-circle.js +15 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/add-circle.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/down-arrow.js +15 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/down-arrow.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/link.js +15 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/link.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/search.js +16 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/assets/search.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js +31 -72
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +9 -13
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js +11 -14
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js +16 -21
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js +8 -11
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +12 -16
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js +24 -24
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js +35 -38
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-down.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-down.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-up.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-up.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/remove.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/remove.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/selected.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/selected.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-draft.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-draft.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-published.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-published.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-unpublished.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-unpublished.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/view.js +18 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/view.js.map +1 -0
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +58 -66
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +9 -15
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js +32 -36
- package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +25 -35
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +26 -38
- package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +4 -5
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js +128 -134
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +123 -155
- package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/index.js +5 -3
- package/admin/plugins/fieldRenderers/ref/advanced/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +84 -88
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +96 -106
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +30 -63
- package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +19 -35
- package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.js +13 -28
- package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js +131 -170
- package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +8 -10
- package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/dialog/Dialog.d.ts +2 -2
- package/admin/plugins/fieldRenderers/ref/components/dialog/Dialog.js +20 -27
- package/admin/plugins/fieldRenderers/ref/components/dialog/Dialog.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/graphql.js +5 -26
- package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/helpers.js +30 -36
- package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js +20 -40
- package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/types.js +0 -3
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +132 -180
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js +120 -152
- package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +23 -47
- package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/index.js +7 -1
- package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInput.js +20 -20
- package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/refInputs.js +24 -27
- package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/Loader.js +11 -12
- package/admin/plugins/fieldRenderers/ref/simple/components/Loader.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js +44 -53
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js +44 -52
- package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/useContentModels.js +16 -23
- package/admin/plugins/fieldRenderers/ref/simple/components/useContentModels.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/components/useReferences.js +45 -56
- package/admin/plugins/fieldRenderers/ref/simple/components/useReferences.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/index.js +5 -3
- package/admin/plugins/fieldRenderers/ref/simple/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js +22 -28
- package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js +22 -28
- package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +37 -51
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/index.js +6 -1
- package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/tags.js +29 -35
- package/admin/plugins/fieldRenderers/text/tags.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +34 -40
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInputs.js +45 -50
- package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
- package/admin/plugins/fieldValidators/date/availableValidators.js +14 -8
- package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
- package/admin/plugins/fieldValidators/date/createDateInputField.js +17 -20
- package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
- package/admin/plugins/fieldValidators/dateGte.js +38 -50
- package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
- package/admin/plugins/fieldValidators/dateLte.js +38 -50
- package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
- package/admin/plugins/fieldValidators/dynamicZone.js +53 -62
- package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -1
- package/admin/plugins/fieldValidators/gte.js +29 -33
- package/admin/plugins/fieldValidators/gte.js.map +1 -1
- package/admin/plugins/fieldValidators/in.js +28 -32
- package/admin/plugins/fieldValidators/in.js.map +1 -1
- package/admin/plugins/fieldValidators/lte.js +29 -33
- package/admin/plugins/fieldValidators/lte.js.map +1 -1
- package/admin/plugins/fieldValidators/maxLength.js +38 -44
- package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
- package/admin/plugins/fieldValidators/minLength.js +38 -44
- package/admin/plugins/fieldValidators/minLength.js.map +1 -1
- package/admin/plugins/fieldValidators/pattern.js +83 -99
- package/admin/plugins/fieldValidators/pattern.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/email.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/admin/plugins/fieldValidators/patternPlugins/url.js +12 -11
- package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
- package/admin/plugins/fieldValidators/required.js +11 -12
- package/admin/plugins/fieldValidators/required.js.map +1 -1
- package/admin/plugins/fieldValidators/unique.js +12 -18
- package/admin/plugins/fieldValidators/unique.js.map +1 -1
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +91 -115
- package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
- package/admin/plugins/fields/boolean.js +54 -55
- package/admin/plugins/fields/boolean.js.map +1 -1
- package/admin/plugins/fields/dateTime.js +82 -72
- package/admin/plugins/fields/dateTime.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/AddTemplate.js +65 -74
- package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZone.js +44 -43
- package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +88 -88
- package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js +112 -122
- package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -1
- package/admin/plugins/fields/dynamicZone/commonValidators.js +27 -19
- package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -1
- package/admin/plugins/fields/dynamicZone.js +64 -65
- package/admin/plugins/fields/dynamicZone.js.map +1 -1
- package/admin/plugins/fields/icons/ballot_black_24dp.js +19 -0
- package/admin/plugins/fields/icons/ballot_black_24dp.js.map +1 -0
- package/admin/plugins/fields/icons/dropdown-icon.js +36 -0
- package/admin/plugins/fields/icons/dropdown-icon.js.map +1 -0
- package/admin/plugins/fields/icons/notes-black-24px.js +19 -0
- package/admin/plugins/fields/icons/notes-black-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-check_box-24px.js +19 -0
- package/admin/plugins/fields/icons/round-check_box-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-link-24px.js +19 -0
- package/admin/plugins/fields/icons/round-link-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-looks_3-24px.js +19 -0
- package/admin/plugins/fields/icons/round-looks_3-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-notes.js +19 -0
- package/admin/plugins/fields/icons/round-notes.js.map +1 -0
- package/admin/plugins/fields/icons/round-radio_button_checked-24px.js +24 -0
- package/admin/plugins/fields/icons/round-radio_button_checked-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-short_text.js +19 -0
- package/admin/plugins/fields/icons/round-short_text.js.map +1 -0
- package/admin/plugins/fields/icons/round-subject.js +19 -0
- package/admin/plugins/fields/icons/round-subject.js.map +1 -0
- package/admin/plugins/fields/icons/round-text_fields-24px.js +19 -0
- package/admin/plugins/fields/icons/round-text_fields-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round-visibility_off-24px.js +19 -0
- package/admin/plugins/fields/icons/round-visibility_off-24px.js.map +1 -0
- package/admin/plugins/fields/icons/round_insert_drive_file-24px.js +19 -0
- package/admin/plugins/fields/icons/round_insert_drive_file-24px.js.map +1 -0
- package/admin/plugins/fields/icons/schedule-black-24px.js +19 -0
- package/admin/plugins/fields/icons/schedule-black-24px.js.map +1 -0
- package/admin/plugins/fields/icons/title-black-24px.js +19 -0
- package/admin/plugins/fields/icons/title-black-24px.js.map +1 -0
- package/admin/plugins/fields/icons/toggle_on-black-24px.js +19 -0
- package/admin/plugins/fields/icons/toggle_on-black-24px.js.map +1 -0
- package/admin/plugins/fields/json.js +27 -26
- package/admin/plugins/fields/json.js.map +1 -1
- package/admin/plugins/fields/longText.js +40 -35
- package/admin/plugins/fields/longText.js.map +1 -1
- package/admin/plugins/fields/number.js +54 -47
- package/admin/plugins/fields/number.js.map +1 -1
- package/admin/plugins/fields/object/ObjectFields.js +22 -29
- package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
- package/admin/plugins/fields/object.js +40 -43
- package/admin/plugins/fields/object.js.map +1 -1
- package/admin/plugins/fields/ref/graphql.js +3 -2
- package/admin/plugins/fields/ref/graphql.js.map +1 -1
- package/admin/plugins/fields/ref/renderInfo.js +42 -65
- package/admin/plugins/fields/ref/renderInfo.js.map +1 -1
- package/admin/plugins/fields/ref.js +89 -102
- package/admin/plugins/fields/ref.js.map +1 -1
- package/admin/plugins/fields/richText.js +34 -33
- package/admin/plugins/fields/richText.js.map +1 -1
- package/admin/plugins/fields/searchableJson.js +27 -26
- package/admin/plugins/fields/searchableJson.js.map +1 -1
- package/admin/plugins/fields/text.js +46 -39
- package/admin/plugins/fields/text.js.map +1 -1
- package/admin/plugins/fields/ui/TabsLayoutEditor.js +414 -447
- package/admin/plugins/fields/ui/TabsLayoutEditor.js.map +1 -1
- package/admin/plugins/fields/ui/alert.js +142 -148
- package/admin/plugins/fields/ui/alert.js.map +1 -1
- package/admin/plugins/fields/ui/index.js +0 -2
- package/admin/plugins/fields/ui/separator.js +123 -134
- package/admin/plugins/fields/ui/separator.js.map +1 -1
- package/admin/plugins/fields/ui/tabs.js +53 -77
- package/admin/plugins/fields/ui/tabs.js.map +1 -1
- package/admin/plugins/getObjectId.js +8 -7
- package/admin/plugins/getObjectId.js.map +1 -1
- package/admin/plugins/icons.js +21 -24
- package/admin/plugins/icons.js.map +1 -1
- package/admin/plugins/index.js +9 -2
- package/admin/plugins/index.js.map +1 -1
- package/admin/plugins/permissionRenderer/CmsPermissions.js +205 -256
- package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +89 -80
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +78 -69
- package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelList.js +21 -31
- package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +89 -82
- package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/types.js +0 -3
- package/admin/plugins/permissionRenderer/components/useCmsData.js +13 -23
- package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
- package/admin/plugins/permissionRenderer/index.js +11 -12
- package/admin/plugins/permissionRenderer/index.js.map +1 -1
- package/admin/plugins/transformers/dateTransformer.js +81 -105
- package/admin/plugins/transformers/dateTransformer.js.map +1 -1
- package/admin/plugins/transformers/dynamicZoneTransformer.js +16 -20
- package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
- package/admin/plugins/transformers/index.js +7 -1
- package/admin/plugins/transformers/index.js.map +1 -1
- package/admin/plugins/transformers/numberTransformer.js +13 -17
- package/admin/plugins/transformers/numberTransformer.js.map +1 -1
- package/admin/plugins/transformers/objectTransformer.js +11 -12
- package/admin/plugins/transformers/objectTransformer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntries.js +11 -14
- package/admin/views/contentEntries/ContentEntries.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContainer.js +29 -44
- package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesContext.js +14 -19
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js +106 -112
- package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +2 -0
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +229 -272
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js +31 -45
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js +32 -52
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntry.styled.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.js +36 -44
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/FullScreenContentEntryHeaderLeft.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js +25 -22
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/RevisionListDrawer.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/index.js +0 -2
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js +0 -2
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/useFullScreenContentEntry.js +4 -6
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/useFullScreenContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/PublishEntryRevisionListItem.js +4 -5
- package/admin/views/contentEntries/ContentEntry/RevisionsList/PublishEntryRevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListItem.js +122 -120
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionsList.d.ts +7 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionsList.js +14 -18
- package/admin/views/contentEntries/ContentEntry/RevisionsList/RevisionsList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js +79 -123
- package/admin/views/contentEntries/ContentEntry/RevisionsList/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/SingletonContentEntry.js +27 -39
- package/admin/views/contentEntries/ContentEntry/SingletonContentEntry.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/SingletonContentEntryContext.js +42 -59
- package/admin/views/contentEntries/ContentEntry/SingletonContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useMockRecords.js +2 -3
- package/admin/views/contentEntries/ContentEntry/useMockRecords.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +50 -50
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/SingletonContentEntryModule.js +12 -19
- package/admin/views/contentEntries/SingletonContentEntryModule.js.map +1 -1
- package/admin/views/contentEntries/Table/Main.js +90 -108
- package/admin/views/contentEntries/Table/Main.js.map +1 -1
- package/admin/views/contentEntries/Table/Sidebar.js +5 -6
- package/admin/views/contentEntries/Table/Sidebar.js.map +1 -1
- package/admin/views/contentEntries/Table/index.js +44 -52
- package/admin/views/contentEntries/Table/index.js.map +1 -1
- package/admin/views/contentEntries/ValidationIndicators.js +137 -56
- package/admin/views/contentEntries/ValidationIndicators.js.map +1 -1
- package/admin/views/contentEntries/hooks/index.js +0 -2
- package/admin/views/contentEntries/hooks/useContentEntries.js +5 -6
- package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +3 -3
- package/admin/views/contentEntries/hooks/useContentEntriesList.js +122 -165
- package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntry.js +5 -6
- package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
- package/admin/views/contentEntries/hooks/useMoveContentEntryToFolder.js +24 -31
- package/admin/views/contentEntries/hooks/useMoveContentEntryToFolder.js.map +1 -1
- package/admin/views/contentEntries/hooks/useSingletonContentEntry.js +5 -6
- package/admin/views/contentEntries/hooks/useSingletonContentEntry.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroups.js +25 -30
- package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +155 -175
- package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js +190 -226
- package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
- package/admin/views/contentModelGroups/graphql.js +7 -33
- package/admin/views/contentModelGroups/graphql.js.map +1 -1
- package/admin/views/contentModels/CloneContentModelDialog.d.ts +1 -2
- package/admin/views/contentModels/CloneContentModelDialog.js +168 -174
- package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/ContentModelEditor.js +14 -17
- package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
- package/admin/views/contentModels/ContentModels.js +53 -57
- package/admin/views/contentModels/ContentModels.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +227 -253
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +189 -211
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/admin/views/contentModels/OptionsMenu.js +21 -39
- package/admin/views/contentModels/OptionsMenu.js.map +1 -1
- package/admin/views/contentModels/cache.js +94 -147
- package/admin/views/contentModels/cache.js.map +1 -1
- package/admin/views/contentModels/exporting/download.js +19 -20
- package/admin/views/contentModels/exporting/download.js.map +1 -1
- package/admin/views/contentModels/exporting/graphql.js +3 -2
- package/admin/views/contentModels/exporting/graphql.js.map +1 -1
- package/admin/views/contentModels/exporting/runExport.js +48 -53
- package/admin/views/contentModels/exporting/runExport.js.map +1 -1
- package/admin/views/contentModels/exporting/useModelExport.js +25 -27
- package/admin/views/contentModels/exporting/useModelExport.js.map +1 -1
- package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js +77 -91
- package/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js.map +1 -1
- package/admin/views/contentModels/fullDelete/ModelIsBeingDeleted.js +52 -55
- package/admin/views/contentModels/fullDelete/ModelIsBeingDeleted.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/Confirmation.js +24 -27
- package/admin/views/contentModels/fullDelete/dialog/Confirmation.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/Content.js +17 -26
- package/admin/views/contentModels/fullDelete/dialog/Content.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/Information.js +9 -10
- package/admin/views/contentModels/fullDelete/dialog/Information.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/Processed.js +11 -12
- package/admin/views/contentModels/fullDelete/dialog/Processed.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/process.js +44 -57
- package/admin/views/contentModels/fullDelete/dialog/process.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/state.js +94 -96
- package/admin/views/contentModels/fullDelete/dialog/state.js.map +1 -1
- package/admin/views/contentModels/fullDelete/dialog/validationValue.js +2 -3
- package/admin/views/contentModels/fullDelete/dialog/validationValue.js.map +1 -1
- package/admin/views/contentModels/fullDelete/types.js +8 -7
- package/admin/views/contentModels/fullDelete/types.js.map +1 -1
- package/admin/views/contentModels/fullDelete/useCancelDelete.js +33 -46
- package/admin/views/contentModels/fullDelete/useCancelDelete.js.map +1 -1
- package/admin/views/contentModels/helpers/apiNameValidator.js +36 -60
- package/admin/views/contentModels/helpers/apiNameValidator.js.map +1 -1
- package/admin/views/contentModels/helpers/nameValidator.js +17 -25
- package/admin/views/contentModels/helpers/nameValidator.js.map +1 -1
- package/admin/views/contentModels/importing/ImportContentModelsDialog.js +31 -38
- package/admin/views/contentModels/importing/ImportContentModelsDialog.js.map +1 -1
- package/admin/views/contentModels/importing/ImportContext.js +343 -390
- package/admin/views/contentModels/importing/ImportContext.js.map +1 -1
- package/admin/views/contentModels/importing/components/DataList.js +13 -21
- package/admin/views/contentModels/importing/components/DataList.js.map +1 -1
- package/admin/views/contentModels/importing/components/DataListGroup.js +17 -42
- package/admin/views/contentModels/importing/components/DataListGroup.js.map +1 -1
- package/admin/views/contentModels/importing/components/Errors.d.ts +1 -1
- package/admin/views/contentModels/importing/components/Errors.js +28 -41
- package/admin/views/contentModels/importing/components/Errors.js.map +1 -1
- package/admin/views/contentModels/importing/components/FileUpload.js +28 -40
- package/admin/views/contentModels/importing/components/FileUpload.js.map +1 -1
- package/admin/views/contentModels/importing/components/ImportButton.js +9 -12
- package/admin/views/contentModels/importing/components/ImportButton.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/DataListInstructions.js +9 -20
- package/admin/views/contentModels/importing/components/Model/DataListInstructions.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/DataListModelItem.js +81 -161
- package/admin/views/contentModels/importing/components/Model/DataListModelItem.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/DataListModelItemError.js +40 -71
- package/admin/views/contentModels/importing/components/Model/DataListModelItemError.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/DataListModelItemInfo.js +17 -31
- package/admin/views/contentModels/importing/components/Model/DataListModelItemInfo.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/DataListModels.js +16 -30
- package/admin/views/contentModels/importing/components/Model/DataListModels.js.map +1 -1
- package/admin/views/contentModels/importing/components/Model/index.js +0 -2
- package/admin/views/contentModels/importing/graphql.js +5 -4
- package/admin/views/contentModels/importing/graphql.js.map +1 -1
- package/admin/views/contentModels/importing/types.js +7 -6
- package/admin/views/contentModels/importing/types.js.map +1 -1
- package/admin/views/contentModels/importing/useImport.js +6 -7
- package/admin/views/contentModels/importing/useImport.js.map +1 -1
- package/admin/views/contentModels/types.js +0 -3
- package/admin/views/utils.js +9 -7
- package/admin/views/utils.js.map +1 -1
- package/admin/viewsGraphql.js +12 -46
- package/admin/viewsGraphql.js.map +1 -1
- package/allPlugins.js +86 -38
- package/allPlugins.js.map +1 -1
- package/domain/permissionsSchema.js +51 -30
- package/domain/permissionsSchema.js.map +1 -1
- package/exports/admin/cms/entry/editor.js +0 -3
- package/exports/admin/cms/entry/list.js +0 -2
- package/exports/admin/cms/field-renderers/common.js +1 -4
- package/exports/admin/cms/field-renderers/dynamic-zone.js +1 -9
- package/exports/admin/cms/field-renderers/object.js +0 -2
- package/exports/admin/cms/lexical.js +1 -18
- package/exports/admin/cms/model.js +0 -2
- package/exports/admin/cms.js +1 -5
- package/features/ListCache.d.ts +2 -29
- package/features/ListCache.js +1 -43
- package/features/contentEntry/events/EntryAfterCreateEvent.js +8 -5
- package/features/contentEntry/events/EntryAfterCreateEvent.js.map +1 -1
- package/features/contentEntry/events/EntryAfterDeleteEvent.js +8 -5
- package/features/contentEntry/events/EntryAfterDeleteEvent.js.map +1 -1
- package/features/contentEntry/events/EntryAfterUpdateEvent.js +8 -5
- package/features/contentEntry/events/EntryAfterUpdateEvent.js.map +1 -1
- package/features/contentEntry/events/abstractions.js +4 -3
- package/features/contentEntry/events/abstractions.js.map +1 -1
- package/features/contentEntry/events/index.js +1 -3
- package/features/graphQLClient/CmsGraphQLClient.js +17 -13
- package/features/graphQLClient/CmsGraphQLClient.js.map +1 -1
- package/features/graphQLClient/abstractions.js +2 -1
- package/features/graphQLClient/abstractions.js.map +1 -1
- package/features/graphQLClient/feature.js +11 -10
- package/features/graphQLClient/feature.js.map +1 -1
- package/features/graphQLClient/index.js +0 -2
- package/features/modelGroup/abstractions.d.ts +1 -1
- package/features/modelGroup/abstractions.js +2 -1
- package/features/modelGroup/abstractions.js.map +1 -1
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js +22 -24
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js.map +1 -1
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js +19 -13
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js.map +1 -1
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js +13 -10
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js.map +1 -1
- package/features/modelGroup/createModelGroup/abstractions.js +4 -12
- package/features/modelGroup/createModelGroup/abstractions.js.map +1 -1
- package/features/modelGroup/createModelGroup/feature.js +15 -14
- package/features/modelGroup/createModelGroup/feature.js.map +1 -1
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js +21 -23
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js.map +1 -1
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js +16 -12
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js.map +1 -1
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js +13 -10
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js.map +1 -1
- package/features/modelGroup/deleteModelGroup/abstractions.js +4 -12
- package/features/modelGroup/deleteModelGroup/abstractions.js.map +1 -1
- package/features/modelGroup/deleteModelGroup/feature.js +15 -14
- package/features/modelGroup/deleteModelGroup/feature.js.map +1 -1
- package/features/modelGroup/feature.js +11 -10
- package/features/modelGroup/feature.js.map +1 -1
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js +22 -24
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js.map +1 -1
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js +19 -13
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js.map +1 -1
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js +13 -10
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js.map +1 -1
- package/features/modelGroup/getModelGroup/abstractions.js +4 -12
- package/features/modelGroup/getModelGroup/abstractions.js.map +1 -1
- package/features/modelGroup/getModelGroup/feature.js +15 -14
- package/features/modelGroup/getModelGroup/feature.js.map +1 -1
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js +19 -21
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js.map +1 -1
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js +18 -16
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js.map +1 -1
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js +13 -10
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js.map +1 -1
- package/features/modelGroup/listModelGroups/abstractions.js +4 -12
- package/features/modelGroup/listModelGroups/abstractions.js.map +1 -1
- package/features/modelGroup/listModelGroups/feature.js +15 -14
- package/features/modelGroup/listModelGroups/feature.js.map +1 -1
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js +23 -25
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js.map +1 -1
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js +24 -25
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js.map +1 -1
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js +13 -10
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js.map +1 -1
- package/features/modelGroup/updateModelGroup/abstractions.js +4 -12
- package/features/modelGroup/updateModelGroup/abstractions.js.map +1 -1
- package/features/modelGroup/updateModelGroup/feature.js +15 -14
- package/features/modelGroup/updateModelGroup/feature.js.map +1 -1
- package/features/permissions/abstractions.js +2 -1
- package/features/permissions/abstractions.js.map +1 -1
- package/features/permissions/feature.js +2 -1
- package/features/permissions/feature.js.map +1 -1
- package/index.js +9 -9
- package/index.js.map +1 -1
- package/legacyPluginAdapters/CmsContentFormRenderer.js +11 -10
- package/legacyPluginAdapters/CmsContentFormRenderer.js.map +1 -1
- package/legacyPluginAdapters/CmsModelFieldRenderer.js +10 -9
- package/legacyPluginAdapters/CmsModelFieldRenderer.js.map +1 -1
- package/legacyPluginAdapters/CmsModelFieldType.js +10 -9
- package/legacyPluginAdapters/CmsModelFieldType.js.map +1 -1
- package/legacyPluginAdapters/CmsModelFieldValidator.js +10 -9
- package/legacyPluginAdapters/CmsModelFieldValidator.js.map +1 -1
- package/legacyPluginAdapters/CmsModelLayoutFieldRenderer.js +11 -10
- package/legacyPluginAdapters/CmsModelLayoutFieldRenderer.js.map +1 -1
- package/legacyPluginAdapters/CmsModelLayoutFieldType.js +10 -9
- package/legacyPluginAdapters/CmsModelLayoutFieldType.js.map +1 -1
- package/package.json +26 -30
- package/plugins/CmsContentFormRendererPlugin.js +4 -3
- package/plugins/CmsContentFormRendererPlugin.js.map +1 -1
- package/plugins/index.js +0 -2
- package/presentation/modelGroup/hooks/index.js +0 -2
- package/presentation/modelGroup/hooks/useCreateModelGroup.js +6 -7
- package/presentation/modelGroup/hooks/useCreateModelGroup.js.map +1 -1
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js +6 -7
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js.map +1 -1
- package/presentation/modelGroup/hooks/useGetModelGroup.js +6 -7
- package/presentation/modelGroup/hooks/useGetModelGroup.js.map +1 -1
- package/presentation/modelGroup/hooks/useListModelGroups.js +9 -10
- package/presentation/modelGroup/hooks/useListModelGroups.js.map +1 -1
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js +6 -7
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js.map +1 -1
- package/routes.js +38 -43
- package/routes.js.map +1 -1
- package/static/svg/SecureRouteError.e8b15981.svg +1 -0
- package/static/svg/add-circle.e3d74594.svg +1 -0
- package/static/svg/add.23223716.svg +5 -0
- package/static/svg/arrow_forward-24px.9bc970d4.svg +1 -0
- package/static/svg/ballot_black_24dp.f73e2e82.svg +1 -0
- package/static/svg/baseline-autorenew-24px.b851349f.svg +4 -0
- package/static/svg/beenhere.f0a9cdbb.svg +1 -0
- package/static/svg/call_split-24px.4485022a.svg +4 -0
- package/static/svg/clone.0afc9a4a.svg +14 -0
- package/static/svg/close.187f2c20.svg +13 -0
- package/static/svg/delete.b574109c.svg +12 -0
- package/static/svg/devices_other-black-24px.1c6732ba.svg +1 -0
- package/static/svg/done-24px.35a02c84.svg +1 -0
- package/static/svg/down-arrow.145c8d7d.svg +1 -0
- package/static/svg/draft.2e3c269f.svg +3 -0
- package/static/svg/dropdown-icon.b7d965fb.svg +16 -0
- package/static/svg/edit.1b515b45.svg +17 -0
- package/static/svg/emoji_people-24px.68344715.svg +1 -0
- package/static/svg/gesture.8eca6347.svg +1 -0
- package/static/svg/help_outline.84de19a8.svg +1 -0
- package/static/svg/how_to_vote-24px.3d42fbcf.svg +4 -0
- package/static/svg/info.8d4b78f2.svg +1 -0
- package/static/svg/link.3a8c598d.svg +1 -0
- package/static/svg/lock.e3e5d6b4.svg +1 -0
- package/static/svg/more_vert.68d41b07.svg +12 -0
- package/static/svg/move-down.6844e6c6.svg +3 -0
- package/static/svg/move-up.0c20aff0.svg +3 -0
- package/static/svg/notes-black-24px.6bf6c4e4.svg +1 -0
- package/static/svg/publish.94bff016.svg +1 -0
- package/static/svg/published.3c28c3d9.svg +3 -0
- package/static/svg/remove.51bf2460.svg +3 -0
- package/static/svg/round-arrow_drop_down-24px.53e4d276.svg +12 -0
- package/static/svg/round-assignment-24px.2a87eab8.svg +4 -0
- package/static/svg/round-check_box-24px.83bd31d3.svg +4 -0
- package/static/svg/round-drag_indicator-24px.cab1e300.svg +4 -0
- package/static/svg/round-link-24px.d5303917.svg +1 -0
- package/static/svg/round-looks_3-24px.3758bbb1.svg +4 -0
- package/static/svg/round-notes.6bf6c4e4.svg +1 -0
- package/static/svg/round-radio_button_checked-24px.0711de0a.svg +5 -0
- package/static/svg/round-settings-24px.77b44bea.svg +1 -0
- package/static/svg/round-short_text.26e207b7.svg +1 -0
- package/static/svg/round-subject.ea39f0d9.svg +1 -0
- package/static/svg/round-text_fields-24px.00a40bc7.svg +4 -0
- package/static/svg/round-translate-24px.a2341ad7.svg +4 -0
- package/static/svg/round-visibility_off-24px.954aa025.svg +4 -0
- package/static/svg/round_insert_drive_file-24px.3faa1e29.svg +1 -0
- package/static/svg/rule-24px.490519b3.svg +1 -0
- package/static/svg/schedule-black-24px.f87fab07.svg +1 -0
- package/static/svg/search.e8c000e9.svg +1 -0
- package/static/svg/selected.388fbbbb.svg +3 -0
- package/static/svg/status-draft.067687bc.svg +3 -0
- package/static/svg/status-published.207fdc94.svg +3 -0
- package/static/svg/status-unpublished.9cf24b8c.svg +3 -0
- package/static/svg/title-24px.dc61882c.svg +1 -0
- package/static/svg/title-black-24px.17f27b45.svg +1 -0
- package/static/svg/toggle_on-black-24px.1d1e8da4.svg +1 -0
- package/static/svg/unpublish.67520c5f.svg +4 -0
- package/static/svg/unpublished.54fc3f65.svg +3 -0
- package/static/svg/view.4b2c6624.svg +3 -0
- package/static/svg/view_list.c4c9d31d.svg +1 -0
- package/static/svg/visibility.2b9cb52f.svg +16 -0
- package/types.js +1 -7
- package/utils/CmsModelFieldValidatorConfigAdapter.js +37 -38
- package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -1
- package/utils/createTypeName.js +2 -3
- package/utils/createTypeName.js.map +1 -1
- package/utils/createValidators.js +0 -2
- package/utils/getFetchPolicy.js +4 -7
- package/utils/getFetchPolicy.js.map +1 -1
- package/utils/getModelTitleFieldId.js +4 -5
- package/utils/getModelTitleFieldId.js.map +1 -1
- package/utils/normalizeIcon.js +8 -7
- package/utils/normalizeIcon.js.map +1 -1
- package/admin/components/ContentEntries/BottomInfoBar/index.js.map +0 -1
- package/admin/components/ContentEntries/BulkActions/index.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/EntriesGatewayInterface.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/entries.types.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/adapters/index.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/components/index.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/domain/index.js.map +0 -1
- package/admin/components/ContentEntries/Filters/RefFieldRenderer/index.js.map +0 -1
- package/admin/components/ContentEntries/Filters/index.js.map +0 -1
- package/admin/components/ContentEntries/Header/ButtonFilters/index.js.map +0 -1
- package/admin/components/ContentEntries/Header/ButtonRefresh/index.js.map +0 -1
- package/admin/components/ContentEntries/Header/ButtonsCreate/index.js.map +0 -1
- package/admin/components/ContentEntries/Header/Title/index.js.map +0 -1
- package/admin/components/ContentEntries/Header/index.js.map +0 -1
- package/admin/components/ContentEntries/LoadMoreButton/index.js.map +0 -1
- package/admin/components/ContentEntries/LoadingContentModel/index.js.map +0 -1
- package/admin/components/ContentEntries/SidebarContent/index.js.map +0 -1
- package/admin/components/ContentEntries/SidebarFooter/index.js.map +0 -1
- package/admin/components/ContentEntries/SidebarHeader/index.js.map +0 -1
- package/admin/components/ContentEntries/Table/Actions/index.js.map +0 -1
- package/admin/components/ContentEntries/Table/Cells/index.js.map +0 -1
- package/admin/components/ContentEntries/TrashBin/adapters/index.js.map +0 -1
- package/admin/components/ContentEntries/TrashBin/components/index.js.map +0 -1
- package/admin/components/ContentEntries/TrashBin/index.js.map +0 -1
- package/admin/components/ContentEntryForm/FieldElement.js.map +0 -1
- package/admin/components/ContentEntryForm/Fields.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/DeleteEntry/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/SaveContent/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Header/index.js.map +0 -1
- package/admin/components/ContentEntryForm/Label.js.map +0 -1
- package/admin/components/ContentEntryForm/SingletonHeader/index.js.map +0 -1
- package/admin/components/ContentEntryForm/createValidationContainer.js.map +0 -1
- package/admin/components/ContentEntryForm/useBind.js.map +0 -1
- package/admin/components/ContentEntryForm/useRenderPlugins.js.map +0 -1
- package/admin/components/ContentModelEditor/ModelIsBeingDeletedError/index.js.map +0 -1
- package/admin/components/ContentModelEditor/index.js.map +0 -1
- package/admin/components/DropZone/index.js.map +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/RulesEditor/index.js.map +0 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidationTab/index.js.map +0 -1
- package/admin/components/FieldEditor/index.js.map +0 -1
- package/admin/components/FieldEditor/utils/index.js.map +0 -1
- package/admin/components/ModelFieldProvider/index.js.map +0 -1
- package/admin/components/ModelProvider/index.js.map +0 -1
- package/admin/config/contentEntries/editor/index.js.map +0 -1
- package/admin/config/contentEntries/index.js.map +0 -1
- package/admin/config/contentEntries/list/index.js.map +0 -1
- package/admin/hooks/index.js.map +0 -1
- package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +0 -1
- package/admin/plugins/editor/defaultBar/Name/index.js.map +0 -1
- package/admin/plugins/fieldRenderers/dynamicZone/index.js.map +0 -1
- package/admin/plugins/fieldRenderers/ref/components/types.js.map +0 -1
- package/admin/plugins/fields/ui/index.js.map +0 -1
- package/admin/plugins/permissionRenderer/components/types.js.map +0 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/RevisionListDrawer/index.js.map +0 -1
- package/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js.map +0 -1
- package/admin/views/contentEntries/hooks/index.js.map +0 -1
- package/admin/views/contentModels/importing/components/Model/index.js.map +0 -1
- package/admin/views/contentModels/types.js.map +0 -1
- package/exports/admin/cms/entry/editor.js.map +0 -1
- package/exports/admin/cms/entry/list.js.map +0 -1
- package/exports/admin/cms/field-renderers/common.js.map +0 -1
- package/exports/admin/cms/field-renderers/dynamic-zone.js.map +0 -1
- package/exports/admin/cms/field-renderers/object.js.map +0 -1
- package/exports/admin/cms/lexical.js.map +0 -1
- package/exports/admin/cms/model.js.map +0 -1
- package/exports/admin/cms.js.map +0 -1
- package/features/ListCache.js.map +0 -1
- package/features/contentEntry/events/index.js.map +0 -1
- package/features/graphQLClient/index.js.map +0 -1
- package/plugins/index.js.map +0 -1
- package/presentation/modelGroup/hooks/index.js.map +0 -1
- package/types.js.map +0 -1
- package/utils/createValidators.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useRef","useEffect","Accordion","Tabs","ScrollArea","ReactComponent","EditIcon","DeleteIcon","ArrowUpIcon","ArrowDownIcon","AddIcon","generateAlphaNumericLowerCaseId","useConfirmationDialog","useDialogs","Grid","IconButton","Button","Input","Textarea","Heading","Text","Bind","FieldEditor","IconPicker","useModelFieldEditor","PermissionsEditor","RulesEditor","useModelEditor","TabsSettings","createElement","className","Column","span","name","label","TabsDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","value","content","TabSettingsFields","TabDialogContent","createTabParent","tab","id","fieldId","type","renderer","resolveTabFields","parentFields","fieldIds","Set","row","layout","cell","add","filter","f","has","TabItem","index","totalTabs","field","onUpdate","onInsertField","onRemoveField","onUpdateField","dialogs","showConfirmation","title","message","acceptLabel","isFirst","isLast","tabFields","handleFieldsChange","fields","newFields","newLayout","oldFieldIds","map","newFieldIds","oldFieldMap","Map","get","updatedTabs","moveTabUp","moveTabDown","deleteTab","_","i","editTab","showDialog","description","cancelLabel","formData","icon","rules","onAccept","data","undefined","Item","length","actions","Fragment","Action","onClick","disabled","Separator","parent","onChange","TabsLayoutEditor","onDelete","parentEditor","newTabId","showDeleteConfirmation","current","getAllParentFields","allFieldIds","resolved","getField","push","handleInsertField","existingField","addField","handleRemoveField","removeField","handleUpdateField","updateField","addTab","newTab","handleDeleteTabs","editTabsSettings","help","resolvedParentFields","level","variant","text"],"sources":["TabsLayoutEditor.tsx"],"sourcesContent":["import React, { useCallback, useRef, useEffect } from \"react\";\nimport { Accordion, Tabs, ScrollArea } from \"@webiny/admin-ui\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@webiny/icons/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@webiny/icons/expand_more.svg\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\nimport type {\n CmsTabLayoutField,\n CmsTabLayoutTab,\n CmsLayoutField,\n CmsEditorFieldsLayout\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { useConfirmationDialog, useDialogs } from \"@webiny/app-admin\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport { IconButton } from \"@webiny/admin-ui\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { Input } from \"@webiny/admin-ui\";\nimport { Textarea } from \"@webiny/admin-ui\";\nimport { Heading } from \"@webiny/admin-ui\";\nimport { Text } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\nimport type { CmsModelField } from \"~/types.js\";\nimport { FieldEditor } from \"~/admin/components/FieldEditor/index.js\";\nimport { IconPicker } from \"~/admin/components/IconPicker.js\";\nimport { useModelFieldEditor } from \"~/admin/hooks/index.js\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\ninterface TabsLayoutEditorProps {\n field: CmsTabLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\ninterface TabItemProps {\n tab: CmsTabLayoutTab;\n index: number;\n totalTabs: number;\n field: CmsTabLayoutField;\n parentFields: CmsModelField[];\n onUpdate: (d: CmsLayoutField) => void;\n onInsertField: (field: CmsModelField) => void;\n onRemoveField: (fieldId: string) => void;\n onUpdateField: (field: CmsModelField) => void;\n}\n\nconst TabsSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"description\"}>\n <Input label={\"Description\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"help\"}>\n <Textarea label={\"Help\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst TabsDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"tabs\"}\n trigger={\"Tabs\"}\n value={\"tabs\"}\n content={<TabsSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\nconst TabSettingsFields = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"icon\"}>\n <IconPicker label={\"Icon\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst TabDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"tab\"}\n trigger={\"Tab\"}\n value={\"tab\"}\n content={<TabSettingsFields />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n );\n};\n\n/**\n * Create a synthetic parent field for a tab so that each tab's FieldEditor\n * has a unique identity for cross-parent drag & drop detection.\n */\nfunction createTabParent(tab: CmsTabLayoutTab): CmsModelField {\n return {\n id: tab.id,\n fieldId: `tab:${tab.id}`,\n type: \"tab\",\n label: tab.label,\n renderer: { name: \"\" }\n } as CmsModelField;\n}\n\n/**\n * Resolve fields for a tab by looking up field IDs in the parent's fields array.\n */\nfunction resolveTabFields(tab: CmsTabLayoutTab, parentFields: CmsModelField[]): CmsModelField[] {\n const fieldIds = new Set<string>();\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n fieldIds.add(cell);\n }\n }\n }\n return parentFields.filter(f => fieldIds.has(f.id));\n}\n\nconst TabItem = ({\n tab,\n index,\n totalTabs,\n field,\n parentFields,\n onUpdate,\n onInsertField,\n onRemoveField,\n onUpdateField\n}: TabItemProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const { showConfirmation } = useConfirmationDialog({\n title: \"Delete tab\",\n message: `Are you sure you want to delete the tab \"${tab.label}\"? Fields inside this tab will be removed.`,\n acceptLabel: \"Yes, delete tab\"\n });\n\n const isFirst = index === 0;\n const isLast = index === totalTabs - 1;\n\n const tabFields = resolveTabFields(tab, parentFields);\n\n const handleFieldsChange = useCallback(\n ({\n fields: newFields,\n layout: newLayout\n }: {\n fields: CmsModelField[];\n layout: CmsEditorFieldsLayout;\n }) => {\n const oldFieldIds = new Set(tabFields.map(f => f.id));\n const newFieldIds = new Set(newFields.map(f => f.id));\n\n // Find added fields (in new but not in old) -> hoist to parent\n for (const f of newFields) {\n if (!oldFieldIds.has(f.id)) {\n onInsertField(f);\n }\n }\n\n // Find removed fields (in old but not in new) -> un-hoist from parent\n for (const id of oldFieldIds) {\n if (!newFieldIds.has(id)) {\n onRemoveField(id);\n }\n }\n\n // Propagate field updates (e.g. permissions changes) to the parent\n const oldFieldMap = new Map(tabFields.map(f => [f.id, f]));\n for (const f of newFields) {\n if (oldFieldMap.has(f.id) && oldFieldMap.get(f.id) !== f) {\n onUpdateField(f);\n }\n }\n\n // Update the tab's layout in the field\n const updatedTabs = [...field.tabs];\n updatedTabs[index] = { ...tab, layout: newLayout };\n onUpdate({ ...field, tabs: updatedTabs });\n },\n [tab, index, field, tabFields, onUpdate, onInsertField, onRemoveField, onUpdateField]\n );\n\n const moveTabUp = useCallback(() => {\n if (isFirst) {\n return;\n }\n const tabs = [...field.tabs];\n [tabs[index - 1], tabs[index]] = [tabs[index], tabs[index - 1]];\n onUpdate({ ...field, tabs });\n }, [field, index, isFirst, onUpdate]);\n\n const moveTabDown = useCallback(() => {\n if (isLast) {\n return;\n }\n const tabs = [...field.tabs];\n [tabs[index + 1], tabs[index]] = [tabs[index], tabs[index + 1]];\n onUpdate({ ...field, tabs });\n }, [field, index, isLast, onUpdate]);\n\n const deleteTab = useCallback(() => {\n showConfirmation(() => {\n // Collect field IDs to un-hoist\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n onRemoveField(cell);\n }\n }\n }\n\n const tabs = field.tabs.filter((_, i) => i !== index);\n onUpdate({ ...field, tabs });\n });\n }, [field, index, tab, onUpdate, onRemoveField, showConfirmation]);\n\n const editTab = useCallback(() => {\n dialogs.showDialog({\n title: \"Tab Settings\",\n description: \"Configure the tab and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: tab.label,\n icon: tab.icon ?? \"\",\n rules: tab.rules ?? []\n },\n content: <TabDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n const updatedTabs = [...field.tabs];\n updatedTabs[index] = {\n ...tab,\n label: data.label ?? tab.label,\n icon: data.icon || undefined,\n rules: data.rules ?? []\n };\n onUpdate({ ...field, tabs: updatedTabs });\n }\n });\n }, [dialogs, field, index, tab, onUpdate]);\n\n return (\n <Accordion.Item\n title={tab.label}\n /* This ensures drop zones are not affected by `overflow-hidden` on the accordion content. */\n className={\"[&>[data-state='open']]:!overflow-visible\"}\n description={`${tabFields.length} field${tabFields.length !== 1 ? \"s\" : \"\"}`}\n actions={\n <>\n <Accordion.Item.Action\n icon={<ArrowUpIcon />}\n onClick={moveTabUp}\n disabled={isFirst}\n />\n <Accordion.Item.Action\n icon={<ArrowDownIcon />}\n onClick={moveTabDown}\n disabled={isLast}\n />\n <Accordion.Item.Action.Separator />\n <Accordion.Item.Action icon={<EditIcon />} onClick={editTab} />\n <Accordion.Item.Action\n icon={<DeleteIcon />}\n onClick={deleteTab}\n disabled={totalTabs <= 1}\n />\n </>\n }\n >\n <FieldEditor\n parent={createTabParent(tab)}\n fields={tabFields}\n layout={tab.layout}\n onChange={handleFieldsChange}\n />\n </Accordion.Item>\n );\n};\n\nexport const TabsLayoutEditor = ({ field, onUpdate, onDelete }: TabsLayoutEditorProps) => {\n const parentEditor = useModelFieldEditor();\n const { fieldOptions } = useModelEditor();\n const { showDialog } = useDialogs();\n const newTabId = useRef<string | undefined>(undefined);\n\n const { showConfirmation: showDeleteConfirmation } = useConfirmationDialog({\n title: \"Delete tabs\",\n message:\n \"Are you sure you want to delete this tabs element? All fields inside the tabs will be removed.\",\n acceptLabel: \"Yes, delete\"\n });\n\n useEffect(() => {\n newTabId.current = undefined;\n }, []);\n\n // Resolve all fields that exist in any tab of this field from the parent's fields\n const getAllParentFields = useCallback((): CmsModelField[] => {\n // Collect all field IDs that exist in any tab of this field\n const allFieldIds = new Set<string>();\n for (const tab of field.tabs) {\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n allFieldIds.add(cell);\n }\n }\n }\n }\n\n // Resolve them from the parent editor\n const resolved: CmsModelField[] = [];\n for (const id of allFieldIds) {\n const f = parentEditor.getField({ id });\n if (f) {\n resolved.push(f);\n }\n }\n return resolved;\n }, [field, parentEditor]);\n\n const handleInsertField = useCallback(\n (f: CmsModelField) => {\n // Hoist the field to the parent context's fields (without placing in parent's layout)\n const existingField = parentEditor.getField({ id: f.id });\n if (!existingField) {\n parentEditor.addField(f);\n }\n },\n [parentEditor]\n );\n\n const handleRemoveField = useCallback(\n (fieldId: string) => {\n // Un-hoist the field from the parent context's fields\n parentEditor.removeField(fieldId);\n },\n [parentEditor]\n );\n\n const handleUpdateField = useCallback(\n (f: CmsModelField) => {\n parentEditor.updateField(f);\n },\n [parentEditor]\n );\n\n const addTab = useCallback(() => {\n const id = generateAlphaNumericLowerCaseId(8);\n newTabId.current = id;\n const newTab: CmsTabLayoutTab = {\n id,\n label: `Tab ${field.tabs.length + 1}`,\n layout: []\n };\n onUpdate({ ...field, tabs: [...field.tabs, newTab] });\n }, [field, onUpdate]);\n\n const handleDeleteTabs = useCallback(() => {\n showDeleteConfirmation(() => {\n onDelete();\n });\n }, [onDelete, showDeleteConfirmation]);\n\n const editTabsSettings = useCallback(() => {\n showDialog({\n title: \"Tabs Settings\",\n description: \"Configure the tabs and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label ?? \"\",\n description: field.description ?? \"\",\n help: field.help ?? \"\",\n rules: field.rules ?? []\n },\n content: <TabsDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n description: data.description || null,\n help: data.help || null,\n rules: data.rules ?? []\n });\n }\n });\n }, [field, onUpdate]);\n\n const resolvedParentFields = getAllParentFields();\n\n return (\n <div>\n <div className={\"flex justify-between\"}>\n <div className={\"flex flex-col\"}>\n <div className={\"flex flex-row items-center\"}>\n <Heading level={6} className={\"text-nowrap\"}>\n {field.label || \"No label\"}\n </Heading>\n </div>\n <Text size=\"sm\" className={\"flex w-full text-neutral-strong\"}>\n Tabs\n </Text>\n </div>\n <div className={\"flex items-center gap-xs\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={editTabsSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={handleDeleteTabs}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n {field.tabs.length > 0 && (\n <Accordion>\n {field.tabs.map((tab, index) => (\n <TabItem\n key={tab.id}\n tab={tab}\n index={index}\n totalTabs={field.tabs.length}\n field={field}\n parentFields={resolvedParentFields}\n onUpdate={onUpdate}\n onInsertField={handleInsertField}\n onRemoveField={handleRemoveField}\n onUpdateField={handleUpdateField}\n />\n ))}\n </Accordion>\n )}\n <div className={\"mt-sm flex justify-center\"}>\n <Button onClick={addTab} text={\"Add Tab\"} icon={<AddIcon />} size={\"sm\"} />\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"admin/plugins/fields/ui/TabsLayoutEditor.js","sources":["../../../../../src/admin/plugins/fields/ui/TabsLayoutEditor.tsx"],"sourcesContent":["import React, { useCallback, useRef, useEffect } from \"react\";\nimport { Accordion, Tabs, ScrollArea } from \"@webiny/admin-ui\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as ArrowUpIcon } from \"@webiny/icons/expand_less.svg\";\nimport { ReactComponent as ArrowDownIcon } from \"@webiny/icons/expand_more.svg\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport { generateAlphaNumericLowerCaseId } from \"@webiny/utils\";\nimport type {\n CmsTabLayoutField,\n CmsTabLayoutTab,\n CmsLayoutField,\n CmsEditorFieldsLayout\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { useConfirmationDialog, useDialogs } from \"@webiny/app-admin\";\nimport { Grid } from \"@webiny/admin-ui\";\nimport { IconButton } from \"@webiny/admin-ui\";\nimport { Button } from \"@webiny/admin-ui\";\nimport { Input } from \"@webiny/admin-ui\";\nimport { Textarea } from \"@webiny/admin-ui\";\nimport { Heading } from \"@webiny/admin-ui\";\nimport { Text } from \"@webiny/admin-ui\";\nimport { Bind } from \"@webiny/form\";\nimport type { CmsModelField } from \"~/types.js\";\nimport { FieldEditor } from \"~/admin/components/FieldEditor/index.js\";\nimport { IconPicker } from \"~/admin/components/IconPicker.js\";\nimport { useModelFieldEditor } from \"~/admin/hooks/index.js\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\ninterface TabsLayoutEditorProps {\n field: CmsTabLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\ninterface TabItemProps {\n tab: CmsTabLayoutTab;\n index: number;\n totalTabs: number;\n field: CmsTabLayoutField;\n parentFields: CmsModelField[];\n onUpdate: (d: CmsLayoutField) => void;\n onInsertField: (field: CmsModelField) => void;\n onRemoveField: (fieldId: string) => void;\n onUpdateField: (field: CmsModelField) => void;\n}\n\nconst TabsSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"description\"}>\n <Input label={\"Description\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"help\"}>\n <Textarea label={\"Help\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst TabsDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"tabs\"}\n trigger={\"Tabs\"}\n value={\"tabs\"}\n content={<TabsSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\nconst TabSettingsFields = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Input label={\"Label\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"icon\"}>\n <IconPicker label={\"Icon\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst TabDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"tab\"}\n trigger={\"Tab\"}\n value={\"tab\"}\n content={<TabSettingsFields />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n );\n};\n\n/**\n * Create a synthetic parent field for a tab so that each tab's FieldEditor\n * has a unique identity for cross-parent drag & drop detection.\n */\nfunction createTabParent(tab: CmsTabLayoutTab): CmsModelField {\n return {\n id: tab.id,\n fieldId: `tab:${tab.id}`,\n type: \"tab\",\n label: tab.label,\n renderer: { name: \"\" }\n } as CmsModelField;\n}\n\n/**\n * Resolve fields for a tab by looking up field IDs in the parent's fields array.\n */\nfunction resolveTabFields(tab: CmsTabLayoutTab, parentFields: CmsModelField[]): CmsModelField[] {\n const fieldIds = new Set<string>();\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n fieldIds.add(cell);\n }\n }\n }\n return parentFields.filter(f => fieldIds.has(f.id));\n}\n\nconst TabItem = ({\n tab,\n index,\n totalTabs,\n field,\n parentFields,\n onUpdate,\n onInsertField,\n onRemoveField,\n onUpdateField\n}: TabItemProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const { showConfirmation } = useConfirmationDialog({\n title: \"Delete tab\",\n message: `Are you sure you want to delete the tab \"${tab.label}\"? Fields inside this tab will be removed.`,\n acceptLabel: \"Yes, delete tab\"\n });\n\n const isFirst = index === 0;\n const isLast = index === totalTabs - 1;\n\n const tabFields = resolveTabFields(tab, parentFields);\n\n const handleFieldsChange = useCallback(\n ({\n fields: newFields,\n layout: newLayout\n }: {\n fields: CmsModelField[];\n layout: CmsEditorFieldsLayout;\n }) => {\n const oldFieldIds = new Set(tabFields.map(f => f.id));\n const newFieldIds = new Set(newFields.map(f => f.id));\n\n // Find added fields (in new but not in old) -> hoist to parent\n for (const f of newFields) {\n if (!oldFieldIds.has(f.id)) {\n onInsertField(f);\n }\n }\n\n // Find removed fields (in old but not in new) -> un-hoist from parent\n for (const id of oldFieldIds) {\n if (!newFieldIds.has(id)) {\n onRemoveField(id);\n }\n }\n\n // Propagate field updates (e.g. permissions changes) to the parent\n const oldFieldMap = new Map(tabFields.map(f => [f.id, f]));\n for (const f of newFields) {\n if (oldFieldMap.has(f.id) && oldFieldMap.get(f.id) !== f) {\n onUpdateField(f);\n }\n }\n\n // Update the tab's layout in the field\n const updatedTabs = [...field.tabs];\n updatedTabs[index] = { ...tab, layout: newLayout };\n onUpdate({ ...field, tabs: updatedTabs });\n },\n [tab, index, field, tabFields, onUpdate, onInsertField, onRemoveField, onUpdateField]\n );\n\n const moveTabUp = useCallback(() => {\n if (isFirst) {\n return;\n }\n const tabs = [...field.tabs];\n [tabs[index - 1], tabs[index]] = [tabs[index], tabs[index - 1]];\n onUpdate({ ...field, tabs });\n }, [field, index, isFirst, onUpdate]);\n\n const moveTabDown = useCallback(() => {\n if (isLast) {\n return;\n }\n const tabs = [...field.tabs];\n [tabs[index + 1], tabs[index]] = [tabs[index], tabs[index + 1]];\n onUpdate({ ...field, tabs });\n }, [field, index, isLast, onUpdate]);\n\n const deleteTab = useCallback(() => {\n showConfirmation(() => {\n // Collect field IDs to un-hoist\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n onRemoveField(cell);\n }\n }\n }\n\n const tabs = field.tabs.filter((_, i) => i !== index);\n onUpdate({ ...field, tabs });\n });\n }, [field, index, tab, onUpdate, onRemoveField, showConfirmation]);\n\n const editTab = useCallback(() => {\n dialogs.showDialog({\n title: \"Tab Settings\",\n description: \"Configure the tab and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: tab.label,\n icon: tab.icon ?? \"\",\n rules: tab.rules ?? []\n },\n content: <TabDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n const updatedTabs = [...field.tabs];\n updatedTabs[index] = {\n ...tab,\n label: data.label ?? tab.label,\n icon: data.icon || undefined,\n rules: data.rules ?? []\n };\n onUpdate({ ...field, tabs: updatedTabs });\n }\n });\n }, [dialogs, field, index, tab, onUpdate]);\n\n return (\n <Accordion.Item\n title={tab.label}\n /* This ensures drop zones are not affected by `overflow-hidden` on the accordion content. */\n className={\"[&>[data-state='open']]:!overflow-visible\"}\n description={`${tabFields.length} field${tabFields.length !== 1 ? \"s\" : \"\"}`}\n actions={\n <>\n <Accordion.Item.Action\n icon={<ArrowUpIcon />}\n onClick={moveTabUp}\n disabled={isFirst}\n />\n <Accordion.Item.Action\n icon={<ArrowDownIcon />}\n onClick={moveTabDown}\n disabled={isLast}\n />\n <Accordion.Item.Action.Separator />\n <Accordion.Item.Action icon={<EditIcon />} onClick={editTab} />\n <Accordion.Item.Action\n icon={<DeleteIcon />}\n onClick={deleteTab}\n disabled={totalTabs <= 1}\n />\n </>\n }\n >\n <FieldEditor\n parent={createTabParent(tab)}\n fields={tabFields}\n layout={tab.layout}\n onChange={handleFieldsChange}\n />\n </Accordion.Item>\n );\n};\n\nexport const TabsLayoutEditor = ({ field, onUpdate, onDelete }: TabsLayoutEditorProps) => {\n const parentEditor = useModelFieldEditor();\n const { fieldOptions } = useModelEditor();\n const { showDialog } = useDialogs();\n const newTabId = useRef<string | undefined>(undefined);\n\n const { showConfirmation: showDeleteConfirmation } = useConfirmationDialog({\n title: \"Delete tabs\",\n message:\n \"Are you sure you want to delete this tabs element? All fields inside the tabs will be removed.\",\n acceptLabel: \"Yes, delete\"\n });\n\n useEffect(() => {\n newTabId.current = undefined;\n }, []);\n\n // Resolve all fields that exist in any tab of this field from the parent's fields\n const getAllParentFields = useCallback((): CmsModelField[] => {\n // Collect all field IDs that exist in any tab of this field\n const allFieldIds = new Set<string>();\n for (const tab of field.tabs) {\n for (const row of tab.layout) {\n for (const cell of row) {\n if (typeof cell === \"string\") {\n allFieldIds.add(cell);\n }\n }\n }\n }\n\n // Resolve them from the parent editor\n const resolved: CmsModelField[] = [];\n for (const id of allFieldIds) {\n const f = parentEditor.getField({ id });\n if (f) {\n resolved.push(f);\n }\n }\n return resolved;\n }, [field, parentEditor]);\n\n const handleInsertField = useCallback(\n (f: CmsModelField) => {\n // Hoist the field to the parent context's fields (without placing in parent's layout)\n const existingField = parentEditor.getField({ id: f.id });\n if (!existingField) {\n parentEditor.addField(f);\n }\n },\n [parentEditor]\n );\n\n const handleRemoveField = useCallback(\n (fieldId: string) => {\n // Un-hoist the field from the parent context's fields\n parentEditor.removeField(fieldId);\n },\n [parentEditor]\n );\n\n const handleUpdateField = useCallback(\n (f: CmsModelField) => {\n parentEditor.updateField(f);\n },\n [parentEditor]\n );\n\n const addTab = useCallback(() => {\n const id = generateAlphaNumericLowerCaseId(8);\n newTabId.current = id;\n const newTab: CmsTabLayoutTab = {\n id,\n label: `Tab ${field.tabs.length + 1}`,\n layout: []\n };\n onUpdate({ ...field, tabs: [...field.tabs, newTab] });\n }, [field, onUpdate]);\n\n const handleDeleteTabs = useCallback(() => {\n showDeleteConfirmation(() => {\n onDelete();\n });\n }, [onDelete, showDeleteConfirmation]);\n\n const editTabsSettings = useCallback(() => {\n showDialog({\n title: \"Tabs Settings\",\n description: \"Configure the tabs and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label ?? \"\",\n description: field.description ?? \"\",\n help: field.help ?? \"\",\n rules: field.rules ?? []\n },\n content: <TabsDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n description: data.description || null,\n help: data.help || null,\n rules: data.rules ?? []\n });\n }\n });\n }, [field, onUpdate]);\n\n const resolvedParentFields = getAllParentFields();\n\n return (\n <div>\n <div className={\"flex justify-between\"}>\n <div className={\"flex flex-col\"}>\n <div className={\"flex flex-row items-center\"}>\n <Heading level={6} className={\"text-nowrap\"}>\n {field.label || \"No label\"}\n </Heading>\n </div>\n <Text size=\"sm\" className={\"flex w-full text-neutral-strong\"}>\n Tabs\n </Text>\n </div>\n <div className={\"flex items-center gap-xs\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={editTabsSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={handleDeleteTabs}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n {field.tabs.length > 0 && (\n <Accordion>\n {field.tabs.map((tab, index) => (\n <TabItem\n key={tab.id}\n tab={tab}\n index={index}\n totalTabs={field.tabs.length}\n field={field}\n parentFields={resolvedParentFields}\n onUpdate={onUpdate}\n onInsertField={handleInsertField}\n onRemoveField={handleRemoveField}\n onUpdateField={handleUpdateField}\n />\n ))}\n </Accordion>\n )}\n <div className={\"mt-sm flex justify-center\"}>\n <Button onClick={addTab} text={\"Add Tab\"} icon={<AddIcon />} size={\"sm\"} />\n </div>\n </div>\n );\n};\n"],"names":["TabsSettings","Grid","Bind","Input","Textarea","TabsDialogContent","fieldOptions","ScrollArea","Tabs","PermissionsEditor","RulesEditor","TabSettingsFields","IconPicker","TabDialogContent","createTabParent","tab","resolveTabFields","parentFields","fieldIds","Set","row","cell","f","TabItem","index","totalTabs","field","onUpdate","onInsertField","onRemoveField","onUpdateField","useModelEditor","dialogs","useDialogs","showConfirmation","useConfirmationDialog","isFirst","isLast","tabFields","handleFieldsChange","useCallback","newFields","newLayout","oldFieldIds","newFieldIds","id","oldFieldMap","Map","updatedTabs","moveTabUp","tabs","moveTabDown","deleteTab","_","i","editTab","data","undefined","Accordion","ArrowUpIcon","ArrowDownIcon","EditIcon","DeleteIcon","FieldEditor","TabsLayoutEditor","onDelete","parentEditor","useModelFieldEditor","showDialog","newTabId","useRef","showDeleteConfirmation","useEffect","getAllParentFields","allFieldIds","resolved","handleInsertField","existingField","handleRemoveField","fieldId","handleUpdateField","addTab","generateAlphaNumericLowerCaseId","newTab","handleDeleteTabs","editTabsSettings","resolvedParentFields","Heading","Text","IconButton","Button","AddIcon"],"mappings":"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"}
|
|
@@ -1,163 +1,157 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ReactComponent
|
|
3
|
-
import { ReactComponent as
|
|
4
|
-
import { ReactComponent as
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { ReactComponent } from "@webiny/icons/warning.svg";
|
|
3
|
+
import { ReactComponent as edit_svg_ReactComponent } from "@webiny/icons/edit.svg";
|
|
4
|
+
import { ReactComponent as delete_svg_ReactComponent } from "@webiny/icons/delete.svg";
|
|
5
5
|
import { i18n } from "@webiny/app/i18n/index.js";
|
|
6
|
-
import { Alert, Grid, IconButton,
|
|
6
|
+
import { Alert, Grid, IconButton, ScrollArea, Select, Tabs, Text, Textarea } from "@webiny/admin-ui";
|
|
7
7
|
import { useDialogs } from "@webiny/app-admin";
|
|
8
8
|
import { Bind } from "@webiny/form";
|
|
9
9
|
import { PermissionsEditor } from "../../../components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js";
|
|
10
10
|
import { RulesEditor } from "../../../components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js";
|
|
11
11
|
import { useModelEditor } from "../../../components/ContentModelEditor/useModelEditor.js";
|
|
12
12
|
const t = i18n.ns("app-headless-cms/admin/fields");
|
|
13
|
-
const AlertSettings = ()
|
|
14
|
-
return /*#__PURE__*/React.createElement(Grid, {
|
|
15
|
-
className: "mt-md"
|
|
16
|
-
}, /*#__PURE__*/React.createElement(Grid.Column, {
|
|
17
|
-
span: 12
|
|
18
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
19
|
-
name: "label"
|
|
20
|
-
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
21
|
-
label: "Message"
|
|
22
|
-
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
23
|
-
span: 12
|
|
24
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
25
|
-
name: "alertType",
|
|
26
|
-
defaultValue: "info"
|
|
27
|
-
}, /*#__PURE__*/React.createElement(Select, {
|
|
28
|
-
displayResetAction: false,
|
|
29
|
-
label: "Alert type",
|
|
30
|
-
options: [{
|
|
31
|
-
value: "info",
|
|
32
|
-
label: "Info"
|
|
33
|
-
}, {
|
|
34
|
-
value: "success",
|
|
35
|
-
label: "Success"
|
|
36
|
-
}, {
|
|
37
|
-
value: "warning",
|
|
38
|
-
label: "Warning"
|
|
39
|
-
}, {
|
|
40
|
-
value: "danger",
|
|
41
|
-
label: "Danger"
|
|
42
|
-
}]
|
|
43
|
-
}))));
|
|
44
|
-
};
|
|
45
|
-
const AlertDialogContent = ({
|
|
46
|
-
fieldOptions
|
|
47
|
-
}) => {
|
|
48
|
-
return /*#__PURE__*/React.createElement(ScrollArea, {
|
|
49
|
-
className: "max-h-[70vh] flex flex-col"
|
|
50
|
-
}, /*#__PURE__*/React.createElement(Tabs, {
|
|
51
|
-
size: "md",
|
|
52
|
-
separator: true,
|
|
53
|
-
tabs: [/*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
54
|
-
key: "alert",
|
|
55
|
-
trigger: "Alert",
|
|
56
|
-
value: "alert",
|
|
57
|
-
content: /*#__PURE__*/React.createElement(AlertSettings, null)
|
|
58
|
-
}), /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
59
|
-
key: "permissions",
|
|
60
|
-
trigger: "Permissions",
|
|
61
|
-
value: "permissions",
|
|
62
|
-
content: /*#__PURE__*/React.createElement("div", {
|
|
63
|
-
className: "mt-md"
|
|
64
|
-
}, /*#__PURE__*/React.createElement(PermissionsEditor, null))
|
|
65
|
-
}), /*#__PURE__*/React.createElement(Tabs.Tab, {
|
|
66
|
-
key: "rules",
|
|
67
|
-
trigger: "Rules",
|
|
68
|
-
value: "rules",
|
|
69
|
-
content: /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
const AlertSettings = ()=>/*#__PURE__*/ react.createElement(Grid, {
|
|
70
14
|
className: "mt-md"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
15
|
+
}, /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
16
|
+
span: 12
|
|
17
|
+
}, /*#__PURE__*/ react.createElement(Bind, {
|
|
18
|
+
name: "label"
|
|
19
|
+
}, /*#__PURE__*/ react.createElement(Textarea, {
|
|
20
|
+
label: "Message"
|
|
21
|
+
}))), /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
22
|
+
span: 12
|
|
23
|
+
}, /*#__PURE__*/ react.createElement(Bind, {
|
|
24
|
+
name: "alertType",
|
|
25
|
+
defaultValue: "info"
|
|
26
|
+
}, /*#__PURE__*/ react.createElement(Select, {
|
|
27
|
+
displayResetAction: false,
|
|
28
|
+
label: "Alert type",
|
|
29
|
+
options: [
|
|
30
|
+
{
|
|
31
|
+
value: "info",
|
|
32
|
+
label: "Info"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
value: "success",
|
|
36
|
+
label: "Success"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
value: "warning",
|
|
40
|
+
label: "Warning"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
value: "danger",
|
|
44
|
+
label: "Danger"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}))));
|
|
48
|
+
const AlertDialogContent = ({ fieldOptions })=>/*#__PURE__*/ react.createElement(ScrollArea, {
|
|
49
|
+
className: "max-h-[70vh] flex flex-col"
|
|
50
|
+
}, /*#__PURE__*/ react.createElement(Tabs, {
|
|
51
|
+
size: "md",
|
|
52
|
+
separator: true,
|
|
53
|
+
tabs: [
|
|
54
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
55
|
+
key: "alert",
|
|
56
|
+
trigger: "Alert",
|
|
57
|
+
value: "alert",
|
|
58
|
+
content: /*#__PURE__*/ react.createElement(AlertSettings, null)
|
|
59
|
+
}),
|
|
60
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
61
|
+
key: "permissions",
|
|
62
|
+
trigger: "Permissions",
|
|
63
|
+
value: "permissions",
|
|
64
|
+
content: /*#__PURE__*/ react.createElement("div", {
|
|
65
|
+
className: "mt-md"
|
|
66
|
+
}, /*#__PURE__*/ react.createElement(PermissionsEditor, null))
|
|
67
|
+
}),
|
|
68
|
+
/*#__PURE__*/ react.createElement(Tabs.Tab, {
|
|
69
|
+
key: "rules",
|
|
70
|
+
trigger: "Rules",
|
|
71
|
+
value: "rules",
|
|
72
|
+
content: /*#__PURE__*/ react.createElement("div", {
|
|
73
|
+
className: "mt-md"
|
|
74
|
+
}, /*#__PURE__*/ react.createElement(RulesEditor, {
|
|
75
|
+
fieldOptions: fieldOptions
|
|
76
|
+
}))
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
}));
|
|
80
|
+
const AlertLayoutCell = ({ field, onUpdate, onDelete })=>{
|
|
81
|
+
const { fieldOptions } = useModelEditor();
|
|
82
|
+
const dialogs = useDialogs();
|
|
83
|
+
const openSettings = ()=>{
|
|
84
|
+
dialogs.showDialog({
|
|
85
|
+
title: "Alert Settings",
|
|
86
|
+
description: "Configure the alert and access permissions",
|
|
87
|
+
acceptLabel: "Save",
|
|
88
|
+
cancelLabel: "Cancel",
|
|
89
|
+
formData: {
|
|
90
|
+
label: field.label,
|
|
91
|
+
alertType: field.alertType,
|
|
92
|
+
rules: field.rules ?? []
|
|
93
|
+
},
|
|
94
|
+
content: /*#__PURE__*/ react.createElement(AlertDialogContent, {
|
|
95
|
+
fieldOptions: fieldOptions
|
|
96
|
+
}),
|
|
97
|
+
onAccept: (data)=>{
|
|
98
|
+
onUpdate({
|
|
99
|
+
...field,
|
|
100
|
+
label: data.label ?? "",
|
|
101
|
+
alertType: data.alertType ?? "info",
|
|
102
|
+
rules: data.rules ?? []
|
|
103
|
+
});
|
|
104
|
+
}
|
|
106
105
|
});
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
size: "sm"
|
|
131
|
-
})));
|
|
106
|
+
};
|
|
107
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
108
|
+
className: "flex items-center justify-between"
|
|
109
|
+
}, /*#__PURE__*/ react.createElement("div", {
|
|
110
|
+
className: "flex-1"
|
|
111
|
+
}, field.label ? /*#__PURE__*/ react.createElement(Alert, {
|
|
112
|
+
type: field.alertType
|
|
113
|
+
}, field.label) : /*#__PURE__*/ react.createElement(Text, {
|
|
114
|
+
size: "sm",
|
|
115
|
+
className: "text-neutral-strong italic"
|
|
116
|
+
}, "Alert (no message set)")), /*#__PURE__*/ react.createElement("div", {
|
|
117
|
+
className: "flex items-center gap-xs ml-sm"
|
|
118
|
+
}, /*#__PURE__*/ react.createElement(IconButton, {
|
|
119
|
+
icon: /*#__PURE__*/ react.createElement(edit_svg_ReactComponent, null),
|
|
120
|
+
onClick: openSettings,
|
|
121
|
+
variant: "ghost",
|
|
122
|
+
size: "sm"
|
|
123
|
+
}), /*#__PURE__*/ react.createElement(IconButton, {
|
|
124
|
+
icon: /*#__PURE__*/ react.createElement(delete_svg_ReactComponent, null),
|
|
125
|
+
onClick: onDelete,
|
|
126
|
+
variant: "ghost",
|
|
127
|
+
size: "sm"
|
|
128
|
+
})));
|
|
132
129
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
type: "alert",
|
|
138
|
-
label: t`Alert`,
|
|
139
|
-
description: t`Show an alert message in the form.`,
|
|
140
|
-
icon: /*#__PURE__*/React.createElement(AlertIcon, null),
|
|
141
|
-
canEditSettings: true,
|
|
142
|
-
createField() {
|
|
143
|
-
return {
|
|
130
|
+
const uiAlertField = {
|
|
131
|
+
type: "cms-editor-layout-field-type",
|
|
132
|
+
name: "cms-editor-layout-field-type-alert",
|
|
133
|
+
field: {
|
|
144
134
|
type: "alert",
|
|
145
|
-
label:
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
135
|
+
label: t`Alert`,
|
|
136
|
+
description: t`Show an alert message in the form.`,
|
|
137
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
138
|
+
canEditSettings: true,
|
|
139
|
+
createField () {
|
|
140
|
+
return {
|
|
141
|
+
type: "alert",
|
|
142
|
+
label: "",
|
|
143
|
+
alertType: "info"
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
render ({ field, onUpdate, onDelete }) {
|
|
147
|
+
return /*#__PURE__*/ react.createElement(AlertLayoutCell, {
|
|
148
|
+
field: field,
|
|
149
|
+
onUpdate: onUpdate,
|
|
150
|
+
onDelete: onDelete
|
|
151
|
+
});
|
|
152
|
+
}
|
|
159
153
|
}
|
|
160
|
-
}
|
|
161
154
|
};
|
|
155
|
+
export { uiAlertField };
|
|
162
156
|
|
|
163
157
|
//# sourceMappingURL=alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactComponent","AlertIcon","EditIcon","DeleteIcon","i18n","Alert","Grid","IconButton","Tabs","Textarea","Select","Text","ScrollArea","useDialogs","Bind","PermissionsEditor","RulesEditor","useModelEditor","t","ns","AlertSettings","createElement","className","Column","span","name","label","defaultValue","displayResetAction","options","value","AlertDialogContent","fieldOptions","size","separator","tabs","Tab","key","trigger","content","AlertLayoutCell","field","onUpdate","onDelete","dialogs","openSettings","showDialog","title","description","acceptLabel","cancelLabel","formData","alertType","rules","onAccept","data","type","icon","onClick","variant","uiAlertField","canEditSettings","createField","render"],"sources":["alert.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsModelLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsAlertLayoutField,\n CmsLayoutField\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as AlertIcon } from \"@webiny/icons/warning.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport {\n Alert,\n Grid,\n IconButton,\n Tabs,\n Textarea,\n Select,\n Text,\n ScrollArea\n} from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst AlertSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Textarea label={\"Message\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"alertType\"} defaultValue={\"info\"}>\n <Select\n displayResetAction={false}\n label={\"Alert type\"}\n options={[\n { value: \"info\", label: \"Info\" },\n { value: \"success\", label: \"Success\" },\n { value: \"warning\", label: \"Warning\" },\n { value: \"danger\", label: \"Danger\" }\n ]}\n />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst AlertDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"alert\"}\n trigger={\"Alert\"}\n value={\"alert\"}\n content={<AlertSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\ninterface AlertLayoutCellProps {\n field: CmsAlertLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\nconst AlertLayoutCell = ({ field, onUpdate, onDelete }: AlertLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Alert Settings\",\n description: \"Configure the alert and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label,\n alertType: field.alertType,\n rules: field.rules ?? []\n },\n content: <AlertDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n alertType: (data.alertType as CmsAlertLayoutField[\"alertType\"]) ?? \"info\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center justify-between\"}>\n <div className={\"flex-1\"}>\n {field.label ? (\n <Alert type={field.alertType}>{field.label}</Alert>\n ) : (\n <Text size={\"sm\"} className={\"text-neutral-strong italic\"}>\n Alert (no message set)\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs ml-sm\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiAlertField: CmsModelLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-alert\",\n field: {\n type: \"alert\",\n label: t`Alert`,\n description: t`Show an alert message in the form.`,\n icon: <AlertIcon />,\n canEditSettings: true,\n createField() {\n return { type: \"alert\", label: \"\", alertType: \"info\" };\n },\n render({ field, onUpdate, onDelete }) {\n return (\n <AlertLayoutCell\n field={field as CmsAlertLayoutField}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"admin/plugins/fields/ui/alert.js","sources":["../../../../../src/admin/plugins/fields/ui/alert.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CmsModelLayoutFieldTypePlugin } from \"@webiny/app-headless-cms-common/types/index.js\";\nimport type {\n CmsAlertLayoutField,\n CmsLayoutField\n} from \"@webiny/app-headless-cms-common/types/model.js\";\nimport { ReactComponent as AlertIcon } from \"@webiny/icons/warning.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport {\n Alert,\n Grid,\n IconButton,\n Tabs,\n Textarea,\n Select,\n Text,\n ScrollArea\n} from \"@webiny/admin-ui\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { Bind } from \"@webiny/form\";\nimport { PermissionsEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/PermissionsEditor/PermissionsEditor.js\";\nimport { RulesEditor } from \"~/admin/components/FieldEditor/EditFieldDialog/RulesEditor/RulesEditor.js\";\nimport { useModelEditor } from \"~/admin/components/ContentModelEditor/useModelEditor.js\";\nimport type { FieldOption } from \"@webiny/app-headless-cms-common/Fields/fieldOptions.js\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/fields\");\n\nconst AlertSettings = () => {\n return (\n <Grid className={\"mt-md\"}>\n <Grid.Column span={12}>\n <Bind name={\"label\"}>\n <Textarea label={\"Message\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"alertType\"} defaultValue={\"info\"}>\n <Select\n displayResetAction={false}\n label={\"Alert type\"}\n options={[\n { value: \"info\", label: \"Info\" },\n { value: \"success\", label: \"Success\" },\n { value: \"warning\", label: \"Warning\" },\n { value: \"danger\", label: \"Danger\" }\n ]}\n />\n </Bind>\n </Grid.Column>\n </Grid>\n );\n};\n\nconst AlertDialogContent = ({ fieldOptions }: { fieldOptions: FieldOption[] }) => {\n return (\n <ScrollArea className=\"max-h-[70vh] flex flex-col\">\n <Tabs\n size={\"md\"}\n separator\n tabs={[\n <Tabs.Tab\n key={\"alert\"}\n trigger={\"Alert\"}\n value={\"alert\"}\n content={<AlertSettings />}\n />,\n <Tabs.Tab\n key={\"permissions\"}\n trigger={\"Permissions\"}\n value={\"permissions\"}\n content={\n <div className={\"mt-md\"}>\n <PermissionsEditor />\n </div>\n }\n />,\n <Tabs.Tab\n key={\"rules\"}\n trigger={\"Rules\"}\n value={\"rules\"}\n content={\n <div className={\"mt-md\"}>\n <RulesEditor fieldOptions={fieldOptions} />\n </div>\n }\n />\n ]}\n />\n </ScrollArea>\n );\n};\n\ninterface AlertLayoutCellProps {\n field: CmsAlertLayoutField;\n onUpdate: (d: CmsLayoutField) => void;\n onDelete: () => void;\n}\n\nconst AlertLayoutCell = ({ field, onUpdate, onDelete }: AlertLayoutCellProps) => {\n const { fieldOptions } = useModelEditor();\n const dialogs = useDialogs();\n\n const openSettings = () => {\n dialogs.showDialog({\n title: \"Alert Settings\",\n description: \"Configure the alert and access permissions\",\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n formData: {\n label: field.label,\n alertType: field.alertType,\n rules: field.rules ?? []\n },\n content: <AlertDialogContent fieldOptions={fieldOptions} />,\n onAccept: data => {\n onUpdate({\n ...field,\n label: data.label ?? \"\",\n alertType: (data.alertType as CmsAlertLayoutField[\"alertType\"]) ?? \"info\",\n rules: data.rules ?? []\n });\n }\n });\n };\n\n return (\n <div className={\"flex items-center justify-between\"}>\n <div className={\"flex-1\"}>\n {field.label ? (\n <Alert type={field.alertType}>{field.label}</Alert>\n ) : (\n <Text size={\"sm\"} className={\"text-neutral-strong italic\"}>\n Alert (no message set)\n </Text>\n )}\n </div>\n <div className={\"flex items-center gap-xs ml-sm\"}>\n <IconButton\n icon={<EditIcon />}\n onClick={openSettings}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n <IconButton\n icon={<DeleteIcon />}\n onClick={onDelete}\n variant={\"ghost\"}\n size={\"sm\"}\n />\n </div>\n </div>\n );\n};\n\nexport const uiAlertField: CmsModelLayoutFieldTypePlugin = {\n type: \"cms-editor-layout-field-type\",\n name: \"cms-editor-layout-field-type-alert\",\n field: {\n type: \"alert\",\n label: t`Alert`,\n description: t`Show an alert message in the form.`,\n icon: <AlertIcon />,\n canEditSettings: true,\n createField() {\n return { type: \"alert\", label: \"\", alertType: \"info\" };\n },\n render({ field, onUpdate, onDelete }) {\n return (\n <AlertLayoutCell\n field={field as CmsAlertLayoutField}\n onUpdate={onUpdate}\n onDelete={onDelete}\n />\n );\n }\n }\n};\n"],"names":["t","i18n","AlertSettings","Grid","Bind","Textarea","Select","AlertDialogContent","fieldOptions","ScrollArea","Tabs","PermissionsEditor","RulesEditor","AlertLayoutCell","field","onUpdate","onDelete","useModelEditor","dialogs","useDialogs","openSettings","data","Alert","Text","IconButton","EditIcon","DeleteIcon","uiAlertField","AlertIcon"],"mappings":";;;;;;;;;;;AA2BA,MAAMA,IAAIC,KAAK,EAAE,CAAC;AAElB,MAAMC,gBAAgB,IACX,WAAP,GACI,oBAACC,MAAIA;QAAC,WAAW;qBACb,oBAACA,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACC,MAAIA;QAAC,MAAM;qBACR,oBAACC,UAAQA;QAAC,OAAO;wBAGzB,oBAACF,KAAK,MAAM;QAAC,MAAM;qBACf,oBAACC,MAAIA;QAAC,MAAM;QAAa,cAAc;qBACnC,oBAACE,QAAMA;QACH,oBAAoB;QACpB,OAAO;QACP,SAAS;YACL;gBAAE,OAAO;gBAAQ,OAAO;YAAO;YAC/B;gBAAE,OAAO;gBAAW,OAAO;YAAU;YACrC;gBAAE,OAAO;gBAAW,OAAO;YAAU;YACrC;gBAAE,OAAO;gBAAU,OAAO;YAAS;SACtC;;AAQzB,MAAMC,qBAAqB,CAAC,EAAEC,YAAY,EAAmC,GAClE,WAAP,GACI,oBAACC,YAAUA;QAAC,WAAU;qBAClB,oBAACC,MAAIA;QACD,MAAM;QACN;QACA,MAAM;0BACF,oBAACA,KAAK,GAAG;gBACL,KAAK;gBACL,SAAS;gBACT,OAAO;gBACP,uBAAS,oBAACR,eAAaA;;0BAE3B,oBAACQ,KAAK,GAAG;gBACL,KAAK;gBACL,SAAS;gBACT,OAAO;gBACP,uBACI,oBAAC;oBAAI,WAAW;iCACZ,oBAACC,mBAAiBA;;0BAI9B,oBAACD,KAAK,GAAG;gBACL,KAAK;gBACL,SAAS;gBACT,OAAO;gBACP,uBACI,oBAAC;oBAAI,WAAW;iCACZ,oBAACE,aAAWA;oBAAC,cAAcJ;;;SAI1C;;AAYjB,MAAMK,kBAAkB,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAwB;IACxE,MAAM,EAAER,YAAY,EAAE,GAAGS;IACzB,MAAMC,UAAUC;IAEhB,MAAMC,eAAe;QACjBF,QAAQ,UAAU,CAAC;YACf,OAAO;YACP,aAAa;YACb,aAAa;YACb,aAAa;YACb,UAAU;gBACN,OAAOJ,MAAM,KAAK;gBAClB,WAAWA,MAAM,SAAS;gBAC1B,OAAOA,MAAM,KAAK,IAAI,EAAE;YAC5B;YACA,SAAS,WAAT,GAAS,oBAACP,oBAAkBA;gBAAC,cAAcC;;YAC3C,UAAUa,CAAAA;gBACNN,SAAS;oBACL,GAAGD,KAAK;oBACR,OAAOO,KAAK,KAAK,IAAI;oBACrB,WAAYA,KAAK,SAAS,IAAyC;oBACnE,OAAOA,KAAK,KAAK,IAAI,EAAE;gBAC3B;YACJ;QACJ;IACJ;IAEA,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;qBACZ,oBAAC;QAAI,WAAW;OACXP,MAAM,KAAK,GAAG,WAAH,GACR,oBAACQ,OAAKA;QAAC,MAAMR,MAAM,SAAS;OAAGA,MAAM,KAAK,kBAE1C,oBAACS,MAAIA;QAAC,MAAM;QAAM,WAAW;OAA8B,0CAKnE,oBAAC;QAAI,WAAW;qBACZ,oBAACC,YAAUA;QACP,oBAAM,oBAACC,yBAAQA;QACf,SAASL;QACT,SAAS;QACT,MAAM;sBAEV,oBAACI,YAAUA;QACP,oBAAM,oBAACE,2BAAUA;QACjB,SAASV;QACT,SAAS;QACT,MAAM;;AAK1B;AAEO,MAAMW,eAA8C;IACvD,MAAM;IACN,MAAM;IACN,OAAO;QACH,MAAM;QACN,OAAO3B,CAAC,CAAC,KAAK,CAAC;QACf,aAAaA,CAAC,CAAC,kCAAkC,CAAC;QAClD,MAAM,WAAN,GAAM,oBAAC4B,gBAASA;QAChB,iBAAiB;QACjB;YACI,OAAO;gBAAE,MAAM;gBAAS,OAAO;gBAAI,WAAW;YAAO;QACzD;QACA,QAAO,EAAEd,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAE;YAChC,OAAO,WAAP,GACI,oBAACH,iBAAeA;gBACZ,OAAOC;gBACP,UAAUC;gBACV,UAAUC;;QAGtB;IACJ;AACJ"}
|